Skip to content

Fix: NFT vesting locks, per-owner mint fulfillments, and network root in .dockerignore - #941

Merged
dzikowski merged 3 commits into
mainfrom
fix/hardening-followups-3
Oct 30, 2026
Merged

dzikowski merged 3 commits into
mainfrom
fix/hardening-followups-3

Conversation

@dzikowski

Copy link
Copy Markdown
Collaborator
  • NFT vesting lock. A lock with a vesting start releases the locked tokens when that time arrives. Fungible locks already did this. An NFT stayed locked, because the instance lock check ignored the vesting start. The check now treats a vesting hold as released from its vesting start.
  • Mint fulfillment key. owner is now part of the TokenMintFulfillment key. Mints to different owners in one transaction write separate records, each readable by its own key, and the raw putState workaround is gone. Two mints to the same owner still add up into one record. No code reads fulfillments other than this write path. For a second owner, the new key matches the key the workaround used.
  • Network root and .dockerignore. network-up rejects a network root inside a chaincode directory unless that directory's .dockerignore lists it, so network crypto material does not reach the chaincode image build. The template already lists test-network. The fabloRoot flag description and the README now state the actual rule.

dzikowski and others added 3 commits October 30, 2026 11:55
A fungible vesting hold already released its quantity at the vesting start. An NFT with the same
hold stayed locked, because the instance lock check ignored the vesting start.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
Mints to different owners in one transaction now write separate fulfillment records under their own
keys, so each record can be read back by its key.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
…ckerignore

The network root holds network crypto material. When it sits inside a chaincode directory, it must be
listed in that directory's .dockerignore, so the material does not reach the chaincode image build.
The fabloRoot flag description now states the actual rule.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
@dzikowski
dzikowski merged commit 5eaf4b6 into main Oct 30, 2026
13 checks passed
@dzikowski
dzikowski deleted the fix/hardening-followups-3 branch October 30, 2026 11:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant