[{"type":"constructor","inputs":[{"name":"artifactRegistry_","type":"address","internalType":"address"},{"name":"keelIndex_","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"HARNESS_ID_DOMAIN","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"MAX_SLOTS","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"TREE_DOMAIN","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"activateFork","inputs":[{"name":"harnessId","type":"bytes32","internalType":"bytes32"},{"name":"tokenId","type":"uint256","internalType":"uint256"},{"name":"forkRevision","type":"uint64","internalType":"uint64"},{"name":"keelIndexRevision","type":"uint64","internalType":"uint64"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"appendHarnessRevision","inputs":[{"name":"harnessId","type":"bytes32","internalType":"bytes32"},{"name":"expectedParent","type":"uint64","internalType":"uint64"},{"name":"slotObjectIds","type":"bytes32[]","internalType":"bytes32[]"},{"name":"slotObjectRevisions","type":"uint64[]","internalType":"uint64[]"},{"name":"manifestDigest","type":"bytes32","internalType":"bytes32"},{"name":"seedSetDigest","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"revision","type":"uint64","internalType":"uint64"}],"stateMutability":"nonpayable"},{"type":"function","name":"appendHarnessSelections","inputs":[{"name":"harnessId","type":"bytes32","internalType":"bytes32"},{"name":"expectedParent","type":"uint64","internalType":"uint64"},{"name":"selectedObjectRevisions","type":"uint64[]","internalType":"uint64[]"},{"name":"manifestDigest","type":"bytes32","internalType":"bytes32"},{"name":"seedSetDigest","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"revision","type":"uint64","internalType":"uint64"}],"stateMutability":"nonpayable"},{"type":"function","name":"appendHarnessTree","inputs":[{"name":"harnessId","type":"bytes32","internalType":"bytes32"},{"name":"expectedParent","type":"uint64","internalType":"uint64"},{"name":"childCount","type":"uint8","internalType":"uint8"},{"name":"children","type":"uint256[]","internalType":"uint256[]"},{"name":"manifestDigest","type":"bytes32","internalType":"bytes32"},{"name":"seedSetDigest","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"revision","type":"uint64","internalType":"uint64"}],"stateMutability":"nonpayable"},{"type":"function","name":"artifactRegistry","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IKeelArtifactRegistry"}],"stateMutability":"view"},{"type":"function","name":"cancelPendingFork","inputs":[{"name":"harnessId","type":"bytes32","internalType":"bytes32"},{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"effectiveHarness","inputs":[{"name":"harnessId","type":"bytes32","internalType":"bytes32"},{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"result","type":"tuple","internalType":"struct KeelHarnessRegistry.EffectiveHarness","components":[{"name":"forkRevision","type":"uint64","internalType":"uint64"},{"name":"harnessRevision","type":"uint64","internalType":"uint64"},{"name":"keelIndexRevision","type":"uint64","internalType":"uint64"},{"name":"manifestDigest","type":"bytes32","internalType":"bytes32"},{"name":"selectionDigest","type":"bytes32","internalType":"bytes32"},{"name":"selectedObjectRevisions","type":"uint64[]","internalType":"uint64[]"},{"name":"slotObjectIds","type":"bytes32[]","internalType":"bytes32[]"}]}],"stateMutability":"view"},{"type":"function","name":"forgeHarness","inputs":[{"name":"salt","type":"bytes32","internalType":"bytes32"},{"name":"collection","type":"address","internalType":"address"},{"name":"editPolicy","type":"uint8","internalType":"enum KeelHarnessRegistry.HarnessEditPolicy"},{"name":"forkPolicy","type":"uint8","internalType":"enum KeelHarnessRegistry.ForkPolicy"},{"name":"slotObjectIds","type":"bytes32[]","internalType":"bytes32[]"},{"name":"slotObjectRevisions","type":"uint64[]","internalType":"uint64[]"},{"name":"manifestDigest","type":"bytes32","internalType":"bytes32"},{"name":"seedSetDigest","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"harnessId","type":"bytes32","internalType":"bytes32"}],"stateMutability":"nonpayable"},{"type":"function","name":"forgeHarnessFor","inputs":[{"name":"creator","type":"address","internalType":"address"},{"name":"salt","type":"bytes32","internalType":"bytes32"},{"name":"collection","type":"address","internalType":"address"},{"name":"editPolicy","type":"uint8","internalType":"enum KeelHarnessRegistry.HarnessEditPolicy"},{"name":"forkPolicy","type":"uint8","internalType":"enum KeelHarnessRegistry.ForkPolicy"},{"name":"slotObjectIds","type":"bytes32[]","internalType":"bytes32[]"},{"name":"slotObjectRevisions","type":"uint64[]","internalType":"uint64[]"},{"name":"manifestDigest","type":"bytes32","internalType":"bytes32"},{"name":"seedSetDigest","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"harnessId","type":"bytes32","internalType":"bytes32"}],"stateMutability":"nonpayable"},{"type":"function","name":"forgeHarnessTree","inputs":[{"name":"salt","type":"bytes32","internalType":"bytes32"},{"name":"collection","type":"address","internalType":"address"},{"name":"editPolicy","type":"uint8","internalType":"enum KeelHarnessRegistry.HarnessEditPolicy"},{"name":"forkPolicy","type":"uint8","internalType":"enum KeelHarnessRegistry.ForkPolicy"},{"name":"childCount","type":"uint8","internalType":"uint8"},{"name":"children","type":"uint256[]","internalType":"uint256[]"},{"name":"manifestDigest","type":"bytes32","internalType":"bytes32"},{"name":"seedSetDigest","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"nonpayable"},{"type":"function","name":"forgeHarnessTreeFor","inputs":[{"name":"creator","type":"address","internalType":"address"},{"name":"salt","type":"bytes32","internalType":"bytes32"},{"name":"collection","type":"address","internalType":"address"},{"name":"editPolicy","type":"uint8","internalType":"enum KeelHarnessRegistry.HarnessEditPolicy"},{"name":"forkPolicy","type":"uint8","internalType":"enum KeelHarnessRegistry.ForkPolicy"},{"name":"childCount","type":"uint8","internalType":"uint8"},{"name":"children","type":"uint256[]","internalType":"uint256[]"},{"name":"manifestDigest","type":"bytes32","internalType":"bytes32"},{"name":"seedSetDigest","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"nonpayable"},{"type":"function","name":"forkHarnessForToken","inputs":[{"name":"harnessId","type":"bytes32","internalType":"bytes32"},{"name":"tokenId","type":"uint256","internalType":"uint256"},{"name":"baseHarnessRevision","type":"uint64","internalType":"uint64"},{"name":"expectedForkParent","type":"uint64","internalType":"uint64"},{"name":"selectedObjectRevisions","type":"uint64[]","internalType":"uint64[]"},{"name":"manifestDigest","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"forkRevision","type":"uint64","internalType":"uint64"}],"stateMutability":"nonpayable"},{"type":"function","name":"forkHarnessTreeForToken","inputs":[{"name":"harnessId","type":"bytes32","internalType":"bytes32"},{"name":"tokenId","type":"uint256","internalType":"uint256"},{"name":"baseHarnessRevision","type":"uint64","internalType":"uint64"},{"name":"expectedForkParent","type":"uint64","internalType":"uint64"},{"name":"children","type":"uint256[]","internalType":"uint256[]"},{"name":"manifestDigest","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"forkRevision","type":"uint64","internalType":"uint64"}],"stateMutability":"nonpayable"},{"type":"function","name":"freezeHarness","inputs":[{"name":"harnessId","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"freezeTokenFork","inputs":[{"name":"harnessId","type":"bytes32","internalType":"bytes32"},{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"harnessCollection","inputs":[{"name":"harnessId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"harnessCreator","inputs":[{"name":"harnessId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"harnessIds","inputs":[{"name":"key","type":"uint32","internalType":"uint32"}],"outputs":[{"name":"harnessId","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"harnessKeys","inputs":[{"name":"harnessId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"key","type":"uint32","internalType":"uint32"}],"stateMutability":"view"},{"type":"function","name":"harnessLineage","inputs":[{"name":"harnessId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"tuple","internalType":"struct KeelHarnessRegistry.HarnessLineage","components":[{"name":"frozen","type":"bool","internalType":"bool"},{"name":"exists","type":"bool","internalType":"bool"},{"name":"latestRevision","type":"uint64","internalType":"uint64"},{"name":"creator","type":"address","internalType":"address"},{"name":"collection","type":"address","internalType":"address"},{"name":"forkPolicy","type":"uint8","internalType":"enum KeelHarnessRegistry.ForkPolicy"},{"name":"editPolicy","type":"uint8","internalType":"enum KeelHarnessRegistry.HarnessEditPolicy"}]}],"stateMutability":"view"},{"type":"function","name":"harnessNode","inputs":[{"name":"key","type":"uint32","internalType":"uint32"},{"name":"revision","type":"uint32","internalType":"uint32"}],"outputs":[{"name":"metadata","type":"uint256","internalType":"uint256"},{"name":"children","type":"uint256[]","internalType":"uint256[]"},{"name":"objectIds","type":"bytes32[]","internalType":"bytes32[]"},{"name":"revisions","type":"uint64[]","internalType":"uint64[]"}],"stateMutability":"view"},{"type":"function","name":"harnessRevision","inputs":[{"name":"harnessId","type":"bytes32","internalType":"bytes32"},{"name":"revision","type":"uint64","internalType":"uint64"}],"outputs":[{"name":"","type":"tuple","internalType":"struct KeelHarnessRegistry.HarnessRevision","components":[{"name":"exists","type":"bool","internalType":"bool"},{"name":"createdAt","type":"uint64","internalType":"uint64"},{"name":"parentRevision","type":"uint64","internalType":"uint64"},{"name":"treeMetadata","type":"uint80","internalType":"uint80"},{"name":"slotSourceRevision","type":"uint40","internalType":"uint40"},{"name":"slotsDigest","type":"bytes32","internalType":"bytes32"},{"name":"seedSetDigest","type":"bytes32","internalType":"bytes32"},{"name":"manifestDigest","type":"bytes32","internalType":"bytes32"},{"name":"publisher","type":"address","internalType":"address"}]}],"stateMutability":"view"},{"type":"function","name":"harnessRevisionCommitment","inputs":[{"name":"harnessId","type":"bytes32","internalType":"bytes32"},{"name":"revision","type":"uint64","internalType":"uint64"}],"outputs":[{"name":"manifestDigest","type":"bytes32","internalType":"bytes32"},{"name":"slotsDigest","type":"bytes32","internalType":"bytes32"},{"name":"seedSetDigest","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"harnessRevisionExists","inputs":[{"name":"harnessId","type":"bytes32","internalType":"bytes32"},{"name":"revision","type":"uint64","internalType":"uint64"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"harnessRevisionPublisher","inputs":[{"name":"harnessId","type":"bytes32","internalType":"bytes32"},{"name":"revision","type":"uint64","internalType":"uint64"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"harnessSeedContext","inputs":[{"name":"harnessId","type":"bytes32","internalType":"bytes32"},{"name":"revision","type":"uint64","internalType":"uint64"}],"outputs":[{"name":"exists","type":"bool","internalType":"bool"},{"name":"collection","type":"address","internalType":"address"},{"name":"publisher","type":"address","internalType":"address"},{"name":"manifestDigest","type":"bytes32","internalType":"bytes32"},{"name":"seedSetDigest","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"harnessSlots","inputs":[{"name":"harnessId","type":"bytes32","internalType":"bytes32"},{"name":"revision","type":"uint64","internalType":"uint64"}],"outputs":[{"name":"objectIds","type":"bytes32[]","internalType":"bytes32[]"},{"name":"artifactRevisions","type":"uint64[]","internalType":"uint64[]"}],"stateMutability":"view"},{"type":"function","name":"harnessTree","inputs":[{"name":"harnessId","type":"bytes32","internalType":"bytes32"},{"name":"revision","type":"uint64","internalType":"uint64"}],"outputs":[{"name":"metadata","type":"uint256","internalType":"uint256"},{"name":"children","type":"uint256[]","internalType":"uint256[]"}],"stateMutability":"view"},{"type":"function","name":"keelIndex","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IKeelIndex"}],"stateMutability":"view"},{"type":"function","name":"latestHarnessRevision","inputs":[{"name":"harnessId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"uint64","internalType":"uint64"}],"stateMutability":"view"},{"type":"function","name":"predictHarnessId","inputs":[{"name":"creator","type":"address","internalType":"address"},{"name":"salt","type":"bytes32","internalType":"bytes32"},{"name":"collection","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"pure"},{"type":"function","name":"publicationJob","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"registerHarnessKey","inputs":[{"name":"harnessId","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"key","type":"uint32","internalType":"uint32"}],"stateMutability":"nonpayable"},{"type":"function","name":"registerHarnessKeys","inputs":[{"name":"ids","type":"bytes32[]","internalType":"bytes32[]"}],"outputs":[{"name":"keys","type":"uint32[]","internalType":"uint32[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"setPublicationJob","inputs":[{"name":"nextPublicationJob","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setTreeLimits","inputs":[{"name":"maxDepth","type":"uint8","internalType":"uint8"},{"name":"maxObjects","type":"uint64","internalType":"uint64"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"tokenForkLineage","inputs":[{"name":"harnessId","type":"bytes32","internalType":"bytes32"},{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"tuple","internalType":"struct KeelHarnessRegistry.ForkLineage","components":[{"name":"frozen","type":"bool","internalType":"bool"},{"name":"latestRevision","type":"uint64","internalType":"uint64"},{"name":"activeRevision","type":"uint64","internalType":"uint64"},{"name":"pendingRevision","type":"uint64","internalType":"uint64"}]}],"stateMutability":"view"},{"type":"function","name":"tokenForkRevision","inputs":[{"name":"harnessId","type":"bytes32","internalType":"bytes32"},{"name":"tokenId","type":"uint256","internalType":"uint256"},{"name":"revision","type":"uint64","internalType":"uint64"}],"outputs":[{"name":"","type":"tuple","internalType":"struct KeelHarnessRegistry.ForkRevision","components":[{"name":"exists","type":"bool","internalType":"bool"},{"name":"cancelled","type":"bool","internalType":"bool"},{"name":"parentRevision","type":"uint64","internalType":"uint64"},{"name":"keelIndexRevision","type":"uint64","internalType":"uint64"},{"name":"baseHarnessRevision","type":"uint64","internalType":"uint64"},{"name":"manifestDigest","type":"bytes32","internalType":"bytes32"},{"name":"selectionDigest","type":"bytes32","internalType":"bytes32"},{"name":"publisher","type":"address","internalType":"address"},{"name":"treeMetadata","type":"uint80","internalType":"uint80"}]}],"stateMutability":"view"},{"type":"function","name":"tokenForkSelections","inputs":[{"name":"harnessId","type":"bytes32","internalType":"bytes32"},{"name":"tokenId","type":"uint256","internalType":"uint256"},{"name":"revision","type":"uint64","internalType":"uint64"}],"outputs":[{"name":"","type":"uint64[]","internalType":"uint64[]"}],"stateMutability":"view"},{"type":"function","name":"tokenForkTree","inputs":[{"name":"harnessId","type":"bytes32","internalType":"bytes32"},{"name":"tokenId","type":"uint256","internalType":"uint256"},{"name":"revision","type":"uint64","internalType":"uint64"}],"outputs":[{"name":"metadata","type":"uint256","internalType":"uint256"},{"name":"children","type":"uint256[]","internalType":"uint256[]"}],"stateMutability":"view"},{"type":"function","name":"treeControl","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"event","name":"HarnessForged","inputs":[{"name":"editPolicy","type":"uint8","indexed":false,"internalType":"uint8"},{"name":"forkPolicy","type":"uint8","indexed":false,"internalType":"uint8"},{"name":"harnessId","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"creator","type":"address","indexed":true,"internalType":"address"},{"name":"collection","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"HarnessKeyRegistered","inputs":[{"name":"key","type":"uint32","indexed":true,"internalType":"uint32"},{"name":"harnessId","type":"bytes32","indexed":true,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"HarnessPermanentlyFrozen","inputs":[{"name":"revision","type":"uint64","indexed":true,"internalType":"uint64"},{"name":"harnessId","type":"bytes32","indexed":true,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"HarnessRevisionAppended","inputs":[{"name":"revision","type":"uint64","indexed":true,"internalType":"uint64"},{"name":"parentRevision","type":"uint64","indexed":true,"internalType":"uint64"},{"name":"harnessId","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"slotsDigest","type":"bytes32","indexed":false,"internalType":"bytes32"},{"name":"seedSetDigest","type":"bytes32","indexed":false,"internalType":"bytes32"},{"name":"manifestDigest","type":"bytes32","indexed":false,"internalType":"bytes32"},{"name":"publisher","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"TokenForkActivated","inputs":[{"name":"forkRevision","type":"uint64","indexed":true,"internalType":"uint64"},{"name":"keelIndexRevision","type":"uint64","indexed":false,"internalType":"uint64"},{"name":"harnessId","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"tokenId","type":"uint256","indexed":true,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"TokenForkCancelled","inputs":[{"name":"forkRevision","type":"uint64","indexed":true,"internalType":"uint64"},{"name":"harnessId","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"tokenId","type":"uint256","indexed":true,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"TokenForkPermanentlyFrozen","inputs":[{"name":"forkRevision","type":"uint64","indexed":true,"internalType":"uint64"},{"name":"harnessId","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"tokenId","type":"uint256","indexed":true,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"TokenForkPublished","inputs":[{"name":"forkRevision","type":"uint64","indexed":true,"internalType":"uint64"},{"name":"parentRevision","type":"uint64","indexed":false,"internalType":"uint64"},{"name":"baseHarnessRevision","type":"uint64","indexed":false,"internalType":"uint64"},{"name":"harnessId","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"manifestDigest","type":"bytes32","indexed":false,"internalType":"bytes32"},{"name":"selectionDigest","type":"bytes32","indexed":false,"internalType":"bytes32"},{"name":"tokenId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"publisher","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"TreeLimitsSet","inputs":[{"name":"control","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"error","name":"ArtifactRevisionMissing","inputs":[]},{"type":"error","name":"ForkFrozen","inputs":[]},{"type":"error","name":"ForkMissing","inputs":[]},{"type":"error","name":"ForksDisabled","inputs":[]},{"type":"error","name":"HarnessAlreadyExists","inputs":[]},{"type":"error","name":"HarnessFrozen","inputs":[]},{"type":"error","name":"HarnessKeyOverflow","inputs":[]},{"type":"error","name":"HarnessMissing","inputs":[]},{"type":"error","name":"HarnessRevisionMissing","inputs":[]},{"type":"error","name":"InvalidContract","inputs":[]},{"type":"error","name":"InvalidManifestDigest","inputs":[]},{"type":"error","name":"InvalidParent","inputs":[]},{"type":"error","name":"InvalidSlots","inputs":[]},{"type":"error","name":"InvalidTree","inputs":[]},{"type":"error","name":"NoPendingFork","inputs":[]},{"type":"error","name":"PendingForkExists","inputs":[]},{"type":"error","name":"RegistryCommitmentMismatch","inputs":[]},{"type":"error","name":"SlotSourceTooLarge","inputs":[]},{"type":"error","name":"TreeLimitExceeded","inputs":[]},{"type":"error","name":"Unauthorized","inputs":[]},{"type":"error","name":"UnauthorizedGovernance","inputs":[]},{"type":"error","name":"UnauthorizedPublicationJob","inputs":[]},{"type":"error","name":"ZeroAddress","inputs":[]}]
