Technical reference
Presentation state (keel-presentation)
Presentation/visual state ledgers that record what a token currently renders as.
Module boundary
Presentation/visual state ledgers that record what a token currently renders as.
keel-presentation
Presentation/visual state ledgers that record what a token currently renders as.
- Version
- 0.3.0
- Dependencies
- None
- Source revision
- ace3fed7aff1765c7d2ee9bba4d0232246f86ffb
KeelPresentationStateRegistry
ABI reference at contracts revision ace3fed7aff1. Tuple fields are listed in declaration order. Overloads remain separate.
KeelPresentationStateRegistry
view / pure calls read state; nonpayable / payable calls require a transaction. Source ABI is a versioned interface reference; deployed addresses can be older versions. Compare the target’s implementation and ABI before a write.
| Signature / parameters | Returns | Mutability |
|---|---|---|
POLICY_ID_DOMAIN() | bytes32 | view |
appendInlineRevision(bytes32 policyId, uint64 expectedParent, bytes canonicalValue, string mediaType, bytes32 sourceManifestDigest, uint64 sourceSequence) | uint64 revision | nonpayable |
appendResourceRevision(bytes32 policyId, uint64 expectedParent, bytes32 valueDigest, uint64 byteLength, string mediaType) | uint64 revision | nonpayable |
configureStakingRule(bytes32 policyId, address adapter, uint8 mode) | — | nonpayable |
createPolicy(bytes32 salt, (address,uint256) binding, uint8 authority, uint8 updateKind, uint8 valueKind, bool executable, string mediaType, uint64 maxBytes, address oracle) | bytes32 policyId | nonpayable |
currentPresentation(bytes32 policyId) | (bytes32,bytes32,bytes32,uint64,uint64,uint64,uint64,address,bool,bool) revision, bytes inlineValue | view |
policyIsImmutable(bytes32 policyId) | bool | view |
policyMaterialization(bytes32 policyId) | (address,address,bytes32,bytes32,uint64,uint64,uint64,bool) | view |
predictPolicyId(address creator, bytes32 salt) | bytes32 | pure |
presentationMatches(bytes32 policyId, uint64 revision, bytes32 valueDigest, uint64 byteLength, bytes32 sourceManifestDigest, uint64 sourceSequence) | bool | view |
presentationPolicy(bytes32 policyId) | (address,address,(address,uint256),bytes32,uint64,uint64,uint8,uint8,uint8,bool,bool) | view |
presentationRevision(bytes32 policyId, uint64 revision) | (bytes32,bytes32,bytes32,uint64,uint64,uint64,uint64,address,bool,bool) | view |
sealPolicyToOnchainObject(bytes32 policyId, uint64 expectedPolicyRevision, address artifactRegistry, bytes32 objectId, uint64 artifactRevision) | — | nonpayable |
stakingStatus(bytes32 policyId) | bool configured, bool staked, address controller, uint8 mode | view |
Events · 4 entries
| Signature / parameters |
|---|
PolicyCreated(bytes32 indexed policyId, address indexed creator, address indexed collection, uint256 tokenId, uint8 authority, uint8 updateKind, uint8 valueKind, bool executable) |
PolicyMaterializedAndSealed(bytes32 indexed policyId, uint64 indexed policyRevision, bytes32 indexed objectId, uint64 artifactRevision, address artifactRegistry, address keelHold, bytes32 contentObjectId) |
PresentationRevisionAppended(bytes32 indexed policyId, uint64 indexed revision, uint64 indexed parentRevision, bytes32 valueDigest, uint64 byteLength, bytes32 mediaTypeDigest, bytes32 sourceManifestDigest, uint64 sourceSequence, address publisher, bool hasInlineValue) |
StakingRuleConfigured(bytes32 indexed policyId, address indexed adapter, uint8 mode) |
Custom errors · 22 entries
| Signature / parameters |
|---|
ApiManifestMissing() |
ApiSequenceStale() |
InvalidContract() |
InvalidMediaType() |
InvalidParent() |
InvalidPolicy() |
InvalidStakingRule() |
InvalidValue() |
MaterializationMismatch() |
MaterializationMissing() |
ObjectNotFrozen() |
PolicyExists() |
PolicyMissing() |
PolicySealed() |
RevisionMissing() |
StakingAdapterFailed() |
StakingRuleExists() |
Unauthorized() |
UpdatesLockedWhileStaked() |
ValueTooLarge() |
WrongUpdateKind() |
ZeroAddress() |
KeelVisualStateLedger
ABI reference at contracts revision ace3fed7aff1. Tuple fields are listed in declaration order. Overloads remain separate.
KeelVisualStateLedger
view / pure calls read state; nonpayable / payable calls require a transaction. Source ABI is a versioned interface reference; deployed addresses can be older versions. Compare the target’s implementation and ABI before a write.
| Signature / parameters | Returns | Mutability |
|---|---|---|
BURN_RECEIPT_DOMAIN() | bytes32 | view |
INITIAL_RECEIPT_DOMAIN() | bytes32 | view |
REVISION_RECEIPT_DOMAIN() | bytes32 | view |
activeVisualStateToken(bytes32 digest) | uint256 tokenIdPlusOne | view |
canonicalRevision(uint256 tokenId, uint64 revision) | (bytes32,bytes32,bytes32,bytes32) receipt, (bytes32,bytes32,bool) record, bytes canonicalState, bytes reconstructionContext | view |
claimInitial(uint256 tokenId, bytes32 digest, bytes32 contextDigest) | bytes32 receiptDigest | nonpayable |
claimInitialCanonical(uint256 tokenId, bytes32 digest, bytes32 contextDigest, bytes canonicalState, bytes reconstructionContext) | bytes32 receiptDigest | nonpayable |
clearActiveOnBurn(uint256 tokenId, bytes32 contextDigest) | bytes32 receiptDigest | nonpayable |
coordinator() | address | view |
currentDigest(uint256 tokenId) | bytes32 digest | view |
currentRevision(uint256 tokenId) | uint64 revision | view |
everUsedVisualState(bytes32 digest) | uint256 firstTokenIdPlusOne | view |
replace(uint256 tokenId, uint64 expectedRevision, bytes32 nextDigest, bytes32 contextDigest) | uint64 revision, bytes32 receiptDigest | nonpayable |
replaceCanonical(uint256 tokenId, uint64 expectedRevision, bytes32 nextDigest, bytes32 contextDigest, bytes canonicalState, bytes reconstructionContext) | uint64 revision, bytes32 receiptDigest | nonpayable |
revisionReceipt(uint256 tokenId, uint64 revision) | (bytes32,bytes32,bytes32,bytes32) | view |
Events · 4 entries
| Signature / parameters |
|---|
ActiveVisualStateCleared(uint256 indexed tokenId, bytes32 indexed previousDigest, bytes32 indexed receiptDigest) |
CanonicalVisualRevisionStored(uint256 indexed tokenId, uint64 indexed revision, bytes32 indexed visualStateDigest, bytes32 canonicalStateDigest, bytes32 reconstructionContextDigest) |
InitialVisualStateClaimed(uint256 indexed tokenId, bytes32 indexed visualStateDigest, bytes32 indexed receiptDigest) |
VisualStateReplaced(uint256 indexed tokenId, uint64 indexed revision, bytes32 indexed nextDigest, bytes32 previousDigest, bytes32 receiptDigest) |
Custom errors · 9 entries
| Signature / parameters |
|---|
ActiveIndexMismatch() |
InvalidCanonicalRevision() |
InvalidDigest() |
OnlyCoordinator() |
StaleRevision() |
TokenAlreadyInitialized() |
TokenMissing() |
VisualStateAlreadyUsed(bytes32 digest, uint256 firstTokenIdPlusOne) |
ZeroAddress() |
| Signature / parameters | Mutability |
|---|---|
constructor(address coordinator_) | nonpayable |
Native Tezos implementation
SmartPy entrypoints and views come from native source, not an EVM ABI translation. This source inventory does not assert deployment or EVM behavioral parity.
SmartPy contracts
KeelPresentationStateRegistry
Entrypoints and views
For exact parameter and storage types follow the SmartPy source; an originated target’s /entrypoints RPC is the authoritative deployed parameter schema.
| Name | Kind | Source file |
|---|---|---|
create_policy | entrypoint | keel_presentation_state.py |
configure_staking_rule | entrypoint | keel_presentation_state.py |
append_inline_revision | entrypoint | keel_presentation_state.py |
append_resource_revision | entrypoint | keel_presentation_state.py |
seal_policy_to_onchain_object | entrypoint | keel_presentation_state.py |
current_presentation | onchain_view | keel_presentation_state.py |
current_inline_value | onchain_view | keel_presentation_state.py |
presentation_matches | onchain_view | keel_presentation_state.py |
staking_status | onchain_view | keel_presentation_state.py |
policy_is_immutable | onchain_view | keel_presentation_state.py |
policy_materialization | onchain_view | keel_presentation_state.py |

