-
Notifications
You must be signed in to change notification settings - Fork 0
Release 2026 02 03 ocp v31 major upgrade
Cursor Agent edited this page Jun 22, 2026
·
3 revisions
Historical — current source: OpenCapTable-v35; see Releases
Date: 2026-02-03 Author: NC Networks: devnet, mainnet
Major upgrade of the Open Cap Table Protocol from v30 to v31. This release adds issuer to batch operations:
-
Issuer edits via batch - Issuer can now be edited via
OcfEditIssuerin theUpdateCapTablechoice, consistent with other OCF entity types -
Removed EditIssuer choice - The separate
EditIssuerchoice has been removed in favor of batch operations
| Package | Version | Description |
|---|---|---|
| OpenCapTable-v31 | 0.0.1 | Issuer batch edit operations |
Before (v30):
choice EditIssuer : EditIssuerResult
with
actor : Party
issuer_data : OcfIssuerData
controller actor
do
-- Direct issuer edit
After (v31):
Issuer edits are handled via the UpdateCapTable choice using OcfEditIssuer:
data OcfEditData =
OcfEditIssuer OcfIssuerData -- NEW in v31
| OcfEditStakeholder OcfStakeholderData
| OcfEditStockClass OcfStockClassData
-- ... other entity types
- Cannot be created via batch - Issuer is created with CapTable deployment
- Cannot be deleted - Issuer must always exist
- Can be edited via batch - Now consistent with other entities (NEW in v31)
- At most one issuer edit per batch - Enforced by validation
-
npm install- Dependencies installed -
npm run build- All DAML packages built successfully -
npm run test- All tests passing - Upload OCP v31 DAR to devnet
- Upload OCP v31 DAR to mainnet
- Create new OCP Factory (v31) on devnet
- Create new OCP Factory (v31) on mainnet
- Verify factory contract IDs saved
- Update dependent services with new template IDs
npm run build
npm run test
npm run upload-dar -- --package ocp --network devnet
npm run upload-dar -- --package ocp --network mainnet
npx tsx scripts/create-ocp-factory.ts --network devnet
npx tsx scripts/create-ocp-factory.ts --network mainnet
npm run verify-darsUpdate code that edits issuers to use batch operations:
// Before (v30) - Direct EditIssuer choice
await ocpClient.OpenCapTable.issuer.editIssuer({
issuerContractId,
issuerData: { ... }
});
// After (v31) - Via UpdateCapTable batch
await ocpClient.OpenCapTable.capTable.updateCapTable({
capTableContractId,
edits: [{ tag: 'OcfEditIssuer', value: issuerData }],
creates: [],
deletes: []
});- PR #163: feat!: add issuer to batch UpdateCapTable operations (BREAKING - v31)
Generated: 2026-02-03
Develop
Decisions
Releases
- Releases (index)
- Package tag release process
- 2026-06-22 — OCP v35 conversion mechanism validation
- 2026-06-22 — OCP v35 SDK scaffold
- 2026-05-04 — OCP v34 major upgrade
- 2026-05-04 — DAML extraction / fairmint-daml
- 2026-03-05 — OCP v32 PPS-based conversion rename
- 2026-02-17 — OCP v31 ArchiveCapTable
- 2026-02-12 — OCP v31 vesting zero portion
Other Fairmint DAML
Documentation for CantonPayments, NFT, Reports, CouponMinter, equity certificate, proof-of-ownership, and related deployment playbooks lives with fairmint/daml and @fairmint/daml-js — not in this wiki.