Background. NEP-616 lets a contract instance be deployed to an account ID derived from its init code + state, enabling sharded contract designs. It adds the DeterministicStateInit action; the receiver ID is computed, not supplied by the signer.
Current behavior. DeterministicStateInit is rejected by the action parser. The derived 0s… account IDs render as opaque strings, with no type awareness.
Work.
Acceptance. V1 parses and displays (deposit + contract + state summary); unknown versions are rejected; ID derivation is either implemented or explicitly deferred with rationale.
Depends on: the global-contracts issue (shares the global-contract identifier parsing).
Background. NEP-616 lets a contract instance be deployed to an account ID derived from its init code + state, enabling sharded contract designs. It adds the
DeterministicStateInitaction; the receiver ID is computed, not supplied by the signer.Current behavior.
DeterministicStateInitis rejected by the action parser. The derived0s…account IDs render as opaque strings, with no type awareness.Work.
DeterministicStateInit: parse the action'sstate_initanddeposit.state_initis versioned (currentlyV1, carrying a global-contract reference plus a key/value state map). Reject unknown version tags.0s…account ID so the signer sees the target account. Note: this needs keccak256 on-device — confirm the Ledger SDK exposes it before committing.Acceptance.
V1parses and displays (deposit + contract + state summary); unknown versions are rejected; ID derivation is either implemented or explicitly deferred with rationale.Depends on: the global-contracts issue (shares the global-contract identifier parsing).