[{"type":"constructor","inputs":[{"name":"coordinator_","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"BURN_RECEIPT_DOMAIN","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"INITIAL_RECEIPT_DOMAIN","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"REVISION_RECEIPT_DOMAIN","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"activeVisualStateToken","inputs":[{"name":"digest","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"tokenIdPlusOne","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"canonicalRevision","inputs":[{"name":"tokenId","type":"uint256","internalType":"uint256"},{"name":"revision","type":"uint64","internalType":"uint64"}],"outputs":[{"name":"receipt","type":"tuple","internalType":"struct KeelVisualStateLedger.RevisionReceipt","components":[{"name":"previousDigest","type":"bytes32","internalType":"bytes32"},{"name":"nextDigest","type":"bytes32","internalType":"bytes32"},{"name":"contextDigest","type":"bytes32","internalType":"bytes32"},{"name":"receiptDigest","type":"bytes32","internalType":"bytes32"}]},{"name":"record","type":"tuple","internalType":"struct KeelVisualStateLedger.CanonicalRevisionRecord","components":[{"name":"canonicalStateDigest","type":"bytes32","internalType":"bytes32"},{"name":"reconstructionContextDigest","type":"bytes32","internalType":"bytes32"},{"name":"exists","type":"bool","internalType":"bool"}]},{"name":"canonicalState","type":"bytes","internalType":"bytes"},{"name":"reconstructionContext","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"claimInitial","inputs":[{"name":"tokenId","type":"uint256","internalType":"uint256"},{"name":"digest","type":"bytes32","internalType":"bytes32"},{"name":"contextDigest","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"receiptDigest","type":"bytes32","internalType":"bytes32"}],"stateMutability":"nonpayable"},{"type":"function","name":"claimInitialCanonical","inputs":[{"name":"tokenId","type":"uint256","internalType":"uint256"},{"name":"digest","type":"bytes32","internalType":"bytes32"},{"name":"contextDigest","type":"bytes32","internalType":"bytes32"},{"name":"canonicalState","type":"bytes","internalType":"bytes"},{"name":"reconstructionContext","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"receiptDigest","type":"bytes32","internalType":"bytes32"}],"stateMutability":"nonpayable"},{"type":"function","name":"clearActiveOnBurn","inputs":[{"name":"tokenId","type":"uint256","internalType":"uint256"},{"name":"contextDigest","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"receiptDigest","type":"bytes32","internalType":"bytes32"}],"stateMutability":"nonpayable"},{"type":"function","name":"coordinator","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"currentDigest","inputs":[{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"digest","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"currentRevision","inputs":[{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"revision","type":"uint64","internalType":"uint64"}],"stateMutability":"view"},{"type":"function","name":"everUsedVisualState","inputs":[{"name":"digest","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"firstTokenIdPlusOne","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"replace","inputs":[{"name":"tokenId","type":"uint256","internalType":"uint256"},{"name":"expectedRevision","type":"uint64","internalType":"uint64"},{"name":"nextDigest","type":"bytes32","internalType":"bytes32"},{"name":"contextDigest","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"revision","type":"uint64","internalType":"uint64"},{"name":"receiptDigest","type":"bytes32","internalType":"bytes32"}],"stateMutability":"nonpayable"},{"type":"function","name":"replaceCanonical","inputs":[{"name":"tokenId","type":"uint256","internalType":"uint256"},{"name":"expectedRevision","type":"uint64","internalType":"uint64"},{"name":"nextDigest","type":"bytes32","internalType":"bytes32"},{"name":"contextDigest","type":"bytes32","internalType":"bytes32"},{"name":"canonicalState","type":"bytes","internalType":"bytes"},{"name":"reconstructionContext","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"revision","type":"uint64","internalType":"uint64"},{"name":"receiptDigest","type":"bytes32","internalType":"bytes32"}],"stateMutability":"nonpayable"},{"type":"function","name":"revisionReceipt","inputs":[{"name":"tokenId","type":"uint256","internalType":"uint256"},{"name":"revision","type":"uint64","internalType":"uint64"}],"outputs":[{"name":"","type":"tuple","internalType":"struct KeelVisualStateLedger.RevisionReceipt","components":[{"name":"previousDigest","type":"bytes32","internalType":"bytes32"},{"name":"nextDigest","type":"bytes32","internalType":"bytes32"},{"name":"contextDigest","type":"bytes32","internalType":"bytes32"},{"name":"receiptDigest","type":"bytes32","internalType":"bytes32"}]}],"stateMutability":"view"},{"type":"event","name":"ActiveVisualStateCleared","inputs":[{"name":"tokenId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"previousDigest","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"receiptDigest","type":"bytes32","indexed":true,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"CanonicalVisualRevisionStored","inputs":[{"name":"tokenId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"revision","type":"uint64","indexed":true,"internalType":"uint64"},{"name":"visualStateDigest","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"canonicalStateDigest","type":"bytes32","indexed":false,"internalType":"bytes32"},{"name":"reconstructionContextDigest","type":"bytes32","indexed":false,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"InitialVisualStateClaimed","inputs":[{"name":"tokenId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"visualStateDigest","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"receiptDigest","type":"bytes32","indexed":true,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"VisualStateReplaced","inputs":[{"name":"tokenId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"revision","type":"uint64","indexed":true,"internalType":"uint64"},{"name":"nextDigest","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"previousDigest","type":"bytes32","indexed":false,"internalType":"bytes32"},{"name":"receiptDigest","type":"bytes32","indexed":false,"internalType":"bytes32"}],"anonymous":false},{"type":"error","name":"ActiveIndexMismatch","inputs":[]},{"type":"error","name":"InvalidCanonicalRevision","inputs":[]},{"type":"error","name":"InvalidDigest","inputs":[]},{"type":"error","name":"OnlyCoordinator","inputs":[]},{"type":"error","name":"StaleRevision","inputs":[]},{"type":"error","name":"TokenAlreadyInitialized","inputs":[]},{"type":"error","name":"TokenMissing","inputs":[]},{"type":"error","name":"VisualStateAlreadyUsed","inputs":[{"name":"digest","type":"bytes32","internalType":"bytes32"},{"name":"firstTokenIdPlusOne","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"ZeroAddress","inputs":[]}]
