{
  "artifact_version": "an01-f01",
  "test_only": true,
  "compiler": "0.8.30+commit.73712a01.Emscripten.clang",
  "evm_target": "paris",
  "source_sha256": "c5639b015096b51c962d926c7cef57061354277cc3cff357a6eaaabbdd343458",
  "compiler_input_sha256": "9e30015a1a10d60c7feb6fccaaae6b7b0d4b114883f4d1577ee1662fd3c9b22c",
  "creation_code_template": "0x61012060405234801561001157600080fd5b506040516108f23803806108f2833981016040819052610030916100e5565b84158061003b575083155b80610044575082155b8061005657506001600160a01b038216155b8061006857506001600160a01b038116155b806100845750806001600160a01b0316826001600160a01b0316145b156100a257604051636033c4fd60e11b815260040160405180910390fd5b60809490945260a09290925260c0526001600160a01b0390811660e0521661010052610136565b80516001600160a01b03811681146100e057600080fd5b919050565b600080600080600060a086880312156100fd57600080fd5b8551602087015160408801519196509450925061011c606087016100c9565b915061012a608087016100c9565b90509295509295909350565b60805160a05160c05160e051610100516107396101b9600039600081816101380152818161026201526102c40152600081816101bb015281816103180152610618015260008181610235015281816104fd015261064701526000818161017701526104d70152600081816101030152818161052301526105e201526107396000f3fe608060405234801561001057600080fd5b506004361061009e5760003560e01c80637494b1af116100665780637494b1af146101a35780638c72c54e146101b65780638f7dcfa3146101dd578063b9b8af0b14610213578063f29fbab11461023057600080fd5b80630a3e2d95146100a3578063328bcc5c146100fe578063452a93201461013357806348b91460146101725780635ed7ca5b14610199575b600080fd5b6100de6100b13660046106b8565b6001600160401b031660009081526001602081905260409091208054918101546002909101549192909190565b604080519384526020840192909252908201526060015b60405180910390f35b6101257f000000000000000000000000000000000000000000000000000000000000000081565b6040519081526020016100f5565b61015a7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016100f5565b6101257f000000000000000000000000000000000000000000000000000000000000000081565b6101a1610257565b005b6101256101b13660046106d3565b61030b565b61015a7f000000000000000000000000000000000000000000000000000000000000000081565b6101f46002546003546001600160401b0390911691565b604080516001600160401b0390931683526020830191909152016100f5565b6000546102209060ff1681565b60405190151581526020016100f5565b6101257f000000000000000000000000000000000000000000000000000000000000000081565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146102a05760405163089866cd60e01b815260040160405180910390fd5b60005460ff16610309576000805460ff191660011781556040516001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016917f7d092137839beb7121e7250fa80ac4f86cde5acc720b9c6488eb8d9632f6026e91a25b565b6000336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146103565760405163988033d960e01b815260040160405180910390fd5b60005460ff161561037a57604051631ee9080f60e01b815260040160405180910390fd5b6001600160401b038416158061039f5750661fffffffffffff846001600160401b0316115b156103bd576040516328e2aa3760e01b815260040160405180910390fd5b826103db57604051636033c4fd60e11b815260040160405180910390fd5b6002546001600160401b0390811690851611610446576001600160401b038416600090815260016020526040902080548414158061041d575082816001015414155b1561043b576040516308bcd5f760e01b815260040160405180910390fd5b600201549050610695565b60025461045d906001600160401b03166001610706565b6001600160401b0316846001600160401b031614158061047f57506003548214155b1561049d576040516328e2aa3760e01b815260040160405180910390fd5b604080517f8b36d93e1c586c328c8662df30e3d5acb2d94ddffc7f39f5785bfe0acab4516b602082015246918101919091523060608201527f000000000000000000000000000000000000000000000000000000000000000060808201527f000000000000000000000000000000000000000000000000000000000000000060a08201527f000000000000000000000000000000000000000000000000000000000000000060c08201526001600160401b03851660e0820152610100810184905261012081018390526101400160408051808303601f190181528282528051602091820120606080850184528785528285018781528585018381526001600160401b038b1660008181526001808852908890209851895592519288019290925551600296870155855467ffffffffffffffff19168117909555600388905583518781527f0000000000000000000000000000000000000000000000000000000000000000938101939093529282018190526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016928201929092529092508491907f0000000000000000000000000000000000000000000000000000000000000000907f781317f01d40e5b5bc97b7e2edf1994630a28b2f982fb8942c7a3401af6b1f3b9060800160405180910390a45b9392505050565b80356001600160401b03811681146106b357600080fd5b919050565b6000602082840312156106ca57600080fd5b6106958261069c565b6000806000606084860312156106e857600080fd5b6106f18461069c565b95602085013595506040909401359392505050565b6001600160401b03818116838216019081111561073357634e487b7160e01b600052601160045260246000fd5b9291505056",
  "runtime_code_template": "0x608060405234801561001057600080fd5b506004361061009e5760003560e01c80637494b1af116100665780637494b1af146101a35780638c72c54e146101b65780638f7dcfa3146101dd578063b9b8af0b14610213578063f29fbab11461023057600080fd5b80630a3e2d95146100a3578063328bcc5c146100fe578063452a93201461013357806348b91460146101725780635ed7ca5b14610199575b600080fd5b6100de6100b13660046106b8565b6001600160401b031660009081526001602081905260409091208054918101546002909101549192909190565b604080519384526020840192909252908201526060015b60405180910390f35b6101257f000000000000000000000000000000000000000000000000000000000000000081565b6040519081526020016100f5565b61015a7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016100f5565b6101257f000000000000000000000000000000000000000000000000000000000000000081565b6101a1610257565b005b6101256101b13660046106d3565b61030b565b61015a7f000000000000000000000000000000000000000000000000000000000000000081565b6101f46002546003546001600160401b0390911691565b604080516001600160401b0390931683526020830191909152016100f5565b6000546102209060ff1681565b60405190151581526020016100f5565b6101257f000000000000000000000000000000000000000000000000000000000000000081565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146102a05760405163089866cd60e01b815260040160405180910390fd5b60005460ff16610309576000805460ff191660011781556040516001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016917f7d092137839beb7121e7250fa80ac4f86cde5acc720b9c6488eb8d9632f6026e91a25b565b6000336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146103565760405163988033d960e01b815260040160405180910390fd5b60005460ff161561037a57604051631ee9080f60e01b815260040160405180910390fd5b6001600160401b038416158061039f5750661fffffffffffff846001600160401b0316115b156103bd576040516328e2aa3760e01b815260040160405180910390fd5b826103db57604051636033c4fd60e11b815260040160405180910390fd5b6002546001600160401b0390811690851611610446576001600160401b038416600090815260016020526040902080548414158061041d575082816001015414155b1561043b576040516308bcd5f760e01b815260040160405180910390fd5b600201549050610695565b60025461045d906001600160401b03166001610706565b6001600160401b0316846001600160401b031614158061047f57506003548214155b1561049d576040516328e2aa3760e01b815260040160405180910390fd5b604080517f8b36d93e1c586c328c8662df30e3d5acb2d94ddffc7f39f5785bfe0acab4516b602082015246918101919091523060608201527f000000000000000000000000000000000000000000000000000000000000000060808201527f000000000000000000000000000000000000000000000000000000000000000060a08201527f000000000000000000000000000000000000000000000000000000000000000060c08201526001600160401b03851660e0820152610100810184905261012081018390526101400160408051808303601f190181528282528051602091820120606080850184528785528285018781528585018381526001600160401b038b1660008181526001808852908890209851895592519288019290925551600296870155855467ffffffffffffffff19168117909555600388905583518781527f0000000000000000000000000000000000000000000000000000000000000000938101939093529282018190526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016928201929092529092508491907f0000000000000000000000000000000000000000000000000000000000000000907f781317f01d40e5b5bc97b7e2edf1994630a28b2f982fb8942c7a3401af6b1f3b9060800160405180910390a45b9392505050565b80356001600160401b03811681146106b357600080fd5b919050565b6000602082840312156106ca57600080fd5b6106958261069c565b6000806000606084860312156106e857600080fd5b6106f18461069c565b95602085013595506040909401359392505050565b6001600160401b03818116838216019081111561073357634e487b7160e01b600052601160045260246000fd5b9291505056",
  "immutable_references": {
    "36": [
      {
        "length": 32,
        "start": 259
      },
      {
        "length": 32,
        "start": 1315
      },
      {
        "length": 32,
        "start": 1506
      }
    ],
    "38": [
      {
        "length": 32,
        "start": 375
      },
      {
        "length": 32,
        "start": 1239
      }
    ],
    "40": [
      {
        "length": 32,
        "start": 565
      },
      {
        "length": 32,
        "start": 1277
      },
      {
        "length": 32,
        "start": 1607
      }
    ],
    "42": [
      {
        "length": 32,
        "start": 443
      },
      {
        "length": 32,
        "start": 792
      },
      {
        "length": 32,
        "start": 1560
      }
    ],
    "44": [
      {
        "length": 32,
        "start": 312
      },
      {
        "length": 32,
        "start": 610
      },
      {
        "length": 32,
        "start": 708
      }
    ]
  },
  "immutable_bindings": {
    "asGenesisCommitment": [
      {
        "length": 32,
        "start": 259
      },
      {
        "length": 32,
        "start": 1315
      },
      {
        "length": 32,
        "start": 1506
      }
    ],
    "anchorIntentCommitment": [
      {
        "length": 32,
        "start": 375
      },
      {
        "length": 32,
        "start": 1239
      }
    ],
    "identityCommitment": [
      {
        "length": 32,
        "start": 565
      },
      {
        "length": 32,
        "start": 1277
      },
      {
        "length": 32,
        "start": 1607
      }
    ],
    "publisher": [
      {
        "length": 32,
        "start": 443
      },
      {
        "length": 32,
        "start": 792
      },
      {
        "length": 32,
        "start": 1560
      }
    ],
    "guardian": [
      {
        "length": 32,
        "start": 312
      },
      {
        "length": 32,
        "start": 610
      },
      {
        "length": 32,
        "start": 708
      }
    ]
  },
  "abi": [
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "asGenesisCommitment_",
          "type": "bytes32"
        },
        {
          "internalType": "bytes32",
          "name": "anchorIntentCommitment_",
          "type": "bytes32"
        },
        {
          "internalType": "bytes32",
          "name": "identityCommitment_",
          "type": "bytes32"
        },
        {
          "internalType": "address",
          "name": "publisher_",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "guardian_",
          "type": "address"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "constructor"
    },
    {
      "inputs": [],
      "name": "ConflictingCheckpoint",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "Halted",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "InvalidCommitment",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "InvalidSequence",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "UnauthorizedGuardian",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "UnauthorizedPublisher",
      "type": "error"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "bytes32",
          "name": "identityCommitment",
          "type": "bytes32"
        },
        {
          "indexed": true,
          "internalType": "uint64",
          "name": "sequence",
          "type": "uint64"
        },
        {
          "indexed": true,
          "internalType": "bytes32",
          "name": "checkpointCommitment",
          "type": "bytes32"
        },
        {
          "indexed": false,
          "internalType": "bytes32",
          "name": "previousCheckpointCommitment",
          "type": "bytes32"
        },
        {
          "indexed": false,
          "internalType": "bytes32",
          "name": "asGenesisCommitment",
          "type": "bytes32"
        },
        {
          "indexed": false,
          "internalType": "bytes32",
          "name": "anchorId",
          "type": "bytes32"
        },
        {
          "indexed": false,
          "internalType": "address",
          "name": "publisher",
          "type": "address"
        }
      ],
      "name": "ASCheckpointAnchored",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "guardian",
          "type": "address"
        }
      ],
      "name": "ASHalted",
      "type": "event"
    },
    {
      "inputs": [
        {
          "internalType": "uint64",
          "name": "sequence",
          "type": "uint64"
        },
        {
          "internalType": "bytes32",
          "name": "checkpointCommitment",
          "type": "bytes32"
        },
        {
          "internalType": "bytes32",
          "name": "previousCheckpointCommitment",
          "type": "bytes32"
        }
      ],
      "name": "anchor",
      "outputs": [
        {
          "internalType": "bytes32",
          "name": "anchorId",
          "type": "bytes32"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "anchorIntentCommitment",
      "outputs": [
        {
          "internalType": "bytes32",
          "name": "",
          "type": "bytes32"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "asGenesisCommitment",
      "outputs": [
        {
          "internalType": "bytes32",
          "name": "",
          "type": "bytes32"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint64",
          "name": "sequence",
          "type": "uint64"
        }
      ],
      "name": "checkpointAt",
      "outputs": [
        {
          "internalType": "bytes32",
          "name": "checkpointCommitment",
          "type": "bytes32"
        },
        {
          "internalType": "bytes32",
          "name": "previousCheckpointCommitment",
          "type": "bytes32"
        },
        {
          "internalType": "bytes32",
          "name": "anchorId",
          "type": "bytes32"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "guardian",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "halt",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "halted",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "head",
      "outputs": [
        {
          "internalType": "uint64",
          "name": "sequence",
          "type": "uint64"
        },
        {
          "internalType": "bytes32",
          "name": "checkpointCommitment",
          "type": "bytes32"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "identityCommitment",
      "outputs": [
        {
          "internalType": "bytes32",
          "name": "",
          "type": "bytes32"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "publisher",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    }
  ],
  "contract_deployed_publicly": false,
  "can_assert_xcim_pass": false
}
