@arbitrum/sdk
Version:
Typescript library client-side interactions with Arbitrum
753 lines (752 loc) • 49.3 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.SingleExecutionChallenge__factory = void 0;
/* Autogenerated file. Do not edit manually. */
/* tslint:disable */
/* eslint-disable */
const ethers_1 = require("ethers");
const _abi = [
{
inputs: [
{
internalType: "contract IOneStepProofEntry",
name: "osp_",
type: "address",
},
{
internalType: "contract IChallengeResultReceiver",
name: "resultReceiver_",
type: "address",
},
{
internalType: "uint64",
name: "maxInboxMessagesRead_",
type: "uint64",
},
{
internalType: "bytes32[2]",
name: "startAndEndHashes",
type: "bytes32[2]",
},
{
internalType: "uint256",
name: "numSteps_",
type: "uint256",
},
{
internalType: "address",
name: "asserter_",
type: "address",
},
{
internalType: "address",
name: "challenger_",
type: "address",
},
{
internalType: "uint256",
name: "asserterTimeLeft_",
type: "uint256",
},
{
internalType: "uint256",
name: "challengerTimeLeft_",
type: "uint256",
},
],
stateMutability: "nonpayable",
type: "constructor",
},
{
anonymous: false,
inputs: [
{
indexed: true,
internalType: "uint64",
name: "challengeIndex",
type: "uint64",
},
{
indexed: true,
internalType: "bytes32",
name: "challengeRoot",
type: "bytes32",
},
{
indexed: false,
internalType: "uint256",
name: "challengedSegmentStart",
type: "uint256",
},
{
indexed: false,
internalType: "uint256",
name: "challengedSegmentLength",
type: "uint256",
},
{
indexed: false,
internalType: "bytes32[]",
name: "chainHashes",
type: "bytes32[]",
},
],
name: "Bisected",
type: "event",
},
{
anonymous: false,
inputs: [
{
indexed: true,
internalType: "uint64",
name: "challengeIndex",
type: "uint64",
},
{
indexed: false,
internalType: "enum IChallengeManager.ChallengeTerminationType",
name: "kind",
type: "uint8",
},
],
name: "ChallengeEnded",
type: "event",
},
{
anonymous: false,
inputs: [
{
indexed: true,
internalType: "uint64",
name: "challengeIndex",
type: "uint64",
},
{
indexed: false,
internalType: "uint256",
name: "blockSteps",
type: "uint256",
},
],
name: "ExecutionChallengeBegun",
type: "event",
},
{
anonymous: false,
inputs: [
{
indexed: true,
internalType: "uint64",
name: "challengeIndex",
type: "uint64",
},
{
components: [
{
internalType: "bytes32[2]",
name: "bytes32Vals",
type: "bytes32[2]",
},
{
internalType: "uint64[2]",
name: "u64Vals",
type: "uint64[2]",
},
],
indexed: false,
internalType: "struct GlobalState",
name: "startState",
type: "tuple",
},
{
components: [
{
internalType: "bytes32[2]",
name: "bytes32Vals",
type: "bytes32[2]",
},
{
internalType: "uint64[2]",
name: "u64Vals",
type: "uint64[2]",
},
],
indexed: false,
internalType: "struct GlobalState",
name: "endState",
type: "tuple",
},
],
name: "InitiatedChallenge",
type: "event",
},
{
anonymous: false,
inputs: [
{
indexed: true,
internalType: "uint64",
name: "challengeIndex",
type: "uint64",
},
],
name: "OneStepProofCompleted",
type: "event",
},
{
inputs: [
{
internalType: "uint64",
name: "challengeIndex",
type: "uint64",
},
{
components: [
{
internalType: "uint256",
name: "oldSegmentsStart",
type: "uint256",
},
{
internalType: "uint256",
name: "oldSegmentsLength",
type: "uint256",
},
{
internalType: "bytes32[]",
name: "oldSegments",
type: "bytes32[]",
},
{
internalType: "uint256",
name: "challengePosition",
type: "uint256",
},
],
internalType: "struct ChallengeLib.SegmentSelection",
name: "selection",
type: "tuple",
},
{
internalType: "bytes32[]",
name: "newSegments",
type: "bytes32[]",
},
],
name: "bisectExecution",
outputs: [],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [],
name: "bridge",
outputs: [
{
internalType: "contract IBridge",
name: "",
type: "address",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [
{
internalType: "uint64",
name: "challengeIndex",
type: "uint64",
},
{
components: [
{
internalType: "uint256",
name: "oldSegmentsStart",
type: "uint256",
},
{
internalType: "uint256",
name: "oldSegmentsLength",
type: "uint256",
},
{
internalType: "bytes32[]",
name: "oldSegments",
type: "bytes32[]",
},
{
internalType: "uint256",
name: "challengePosition",
type: "uint256",
},
],
internalType: "struct ChallengeLib.SegmentSelection",
name: "selection",
type: "tuple",
},
{
internalType: "enum MachineStatus[2]",
name: "machineStatuses",
type: "uint8[2]",
},
{
internalType: "bytes32[2]",
name: "globalStateHashes",
type: "bytes32[2]",
},
{
internalType: "uint256",
name: "numSteps",
type: "uint256",
},
],
name: "challengeExecution",
outputs: [],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [
{
internalType: "uint64",
name: "challengeIndex",
type: "uint64",
},
],
name: "challengeInfo",
outputs: [
{
components: [
{
components: [
{
internalType: "address",
name: "addr",
type: "address",
},
{
internalType: "uint256",
name: "timeLeft",
type: "uint256",
},
],
internalType: "struct ChallengeLib.Participant",
name: "current",
type: "tuple",
},
{
components: [
{
internalType: "address",
name: "addr",
type: "address",
},
{
internalType: "uint256",
name: "timeLeft",
type: "uint256",
},
],
internalType: "struct ChallengeLib.Participant",
name: "next",
type: "tuple",
},
{
internalType: "uint256",
name: "lastMoveTimestamp",
type: "uint256",
},
{
internalType: "bytes32",
name: "wasmModuleRoot",
type: "bytes32",
},
{
internalType: "bytes32",
name: "challengeStateHash",
type: "bytes32",
},
{
internalType: "uint64",
name: "maxInboxMessages",
type: "uint64",
},
{
internalType: "enum ChallengeLib.ChallengeMode",
name: "mode",
type: "uint8",
},
],
internalType: "struct ChallengeLib.Challenge",
name: "",
type: "tuple",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [
{
internalType: "uint256",
name: "",
type: "uint256",
},
],
name: "challenges",
outputs: [
{
components: [
{
internalType: "address",
name: "addr",
type: "address",
},
{
internalType: "uint256",
name: "timeLeft",
type: "uint256",
},
],
internalType: "struct ChallengeLib.Participant",
name: "current",
type: "tuple",
},
{
components: [
{
internalType: "address",
name: "addr",
type: "address",
},
{
internalType: "uint256",
name: "timeLeft",
type: "uint256",
},
],
internalType: "struct ChallengeLib.Participant",
name: "next",
type: "tuple",
},
{
internalType: "uint256",
name: "lastMoveTimestamp",
type: "uint256",
},
{
internalType: "bytes32",
name: "wasmModuleRoot",
type: "bytes32",
},
{
internalType: "bytes32",
name: "challengeStateHash",
type: "bytes32",
},
{
internalType: "uint64",
name: "maxInboxMessages",
type: "uint64",
},
{
internalType: "enum ChallengeLib.ChallengeMode",
name: "mode",
type: "uint8",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [
{
internalType: "uint64",
name: "challengeIndex",
type: "uint64",
},
],
name: "clearChallenge",
outputs: [],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [
{
internalType: "bytes32",
name: "wasmModuleRoot_",
type: "bytes32",
},
{
internalType: "enum MachineStatus[2]",
name: "startAndEndMachineStatuses_",
type: "uint8[2]",
},
{
components: [
{
internalType: "bytes32[2]",
name: "bytes32Vals",
type: "bytes32[2]",
},
{
internalType: "uint64[2]",
name: "u64Vals",
type: "uint64[2]",
},
],
internalType: "struct GlobalState[2]",
name: "startAndEndGlobalStates_",
type: "tuple[2]",
},
{
internalType: "uint64",
name: "numBlocks",
type: "uint64",
},
{
internalType: "address",
name: "asserter_",
type: "address",
},
{
internalType: "address",
name: "challenger_",
type: "address",
},
{
internalType: "uint256",
name: "asserterTimeLeft_",
type: "uint256",
},
{
internalType: "uint256",
name: "challengerTimeLeft_",
type: "uint256",
},
],
name: "createChallenge",
outputs: [
{
internalType: "uint64",
name: "",
type: "uint64",
},
],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [
{
internalType: "uint64",
name: "challengeIndex",
type: "uint64",
},
],
name: "currentResponder",
outputs: [
{
internalType: "address",
name: "",
type: "address",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [
{
internalType: "contract IChallengeResultReceiver",
name: "resultReceiver_",
type: "address",
},
{
internalType: "contract ISequencerInbox",
name: "sequencerInbox_",
type: "address",
},
{
internalType: "contract IBridge",
name: "bridge_",
type: "address",
},
{
internalType: "contract IOneStepProofEntry",
name: "osp_",
type: "address",
},
],
name: "initialize",
outputs: [],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [
{
internalType: "uint64",
name: "challengeIndex",
type: "uint64",
},
],
name: "isTimedOut",
outputs: [
{
internalType: "bool",
name: "",
type: "bool",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [
{
internalType: "uint64",
name: "challengeIndex",
type: "uint64",
},
{
components: [
{
internalType: "uint256",
name: "oldSegmentsStart",
type: "uint256",
},
{
internalType: "uint256",
name: "oldSegmentsLength",
type: "uint256",
},
{
internalType: "bytes32[]",
name: "oldSegments",
type: "bytes32[]",
},
{
internalType: "uint256",
name: "challengePosition",
type: "uint256",
},
],
internalType: "struct ChallengeLib.SegmentSelection",
name: "selection",
type: "tuple",
},
{
internalType: "bytes",
name: "proof",
type: "bytes",
},
],
name: "oneStepProveExecution",
outputs: [],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [],
name: "osp",
outputs: [
{
internalType: "contract IOneStepProofEntry",
name: "",
type: "address",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [],
name: "resultReceiver",
outputs: [
{
internalType: "contract IChallengeResultReceiver",
name: "",
type: "address",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [],
name: "sequencerInbox",
outputs: [
{
internalType: "contract ISequencerInbox",
name: "",
type: "address",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [
{
internalType: "uint64",
name: "challengeIndex",
type: "uint64",
},
],
name: "timeout",
outputs: [],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [],
name: "totalChallengesCreated",
outputs: [
{
internalType: "uint64",
name: "",
type: "uint64",
},
],
stateMutability: "view",
type: "function",
},
];
const _bytecode = "0x60a0604052306080523480156200001557600080fd5b50604051620034f3380380620034f38339810160408190526200003891620002bc565b600580546001600160a01b03808c166001600160a01b03199283161790925560028054928b1692909116919091179055600080548190819062000084906001600160401b0316620003cd565b82546101009290920a6001600160401b03818102199093168284169182021790935560009283526001602090815260408085206007810180546001600160401b031916958f16959095179094558051600280825260608201835293965093949392918301908036833750508a518251929350918391506000906200010c576200010c62000403565b602090810291909101015288600160200201518160018151811062000135576200013562000403565b60200260200101818152505060006200015c60008a846200024360201b620019fb1760201c565b600684018190556040805180820182526001600160a01b038b811680835260209283018b90526002880180546001600160a01b03199081169092179055600388018b905583518085018552918c168083529190920189905286549091161785556001850187905542600486015560078501805460ff60401b1916680200000000000000001790555190915081906001600160401b038616907f86b34e9455464834eca718f62d4481437603bb929d8a78ccde5d1bc79fa06d689062000228906000908e90889062000419565b60405180910390a350505050505050505050505050620004b4565b60008383836040516020016200025c9392919062000470565b6040516020818303038152906040528051906020012090509392505050565b6001600160a01b03811681146200029157600080fd5b50565b634e487b7160e01b600052604160045260246000fd5b8051620002b7816200027b565b919050565b60008060008060008060008060006101408a8c031215620002dc57600080fd5b8951620002e9816200027b565b809950506020808b0151620002fe816200027b565b60408c01519099506001600160401b0380821682146200031d57600080fd5b8199508d607f8e01126200033057600080fd5b604051915060408201828110828211171562000350576200035062000294565b604052508060a08d018e8111156200036757600080fd5b60608e015b818110156200038557805183529184019184016200036c565b50519198509096506200039e91505060c08b01620002aa565b9350620003ae60e08b01620002aa565b92506101008a015191506101208a015190509295985092959850929598565b60006001600160401b0382811680821415620003f957634e487b7160e01b600052601160045260246000fd5b6001019392505050565b634e487b7160e01b600052603260045260246000fd5b6000606082018583526020858185015260606040850152818551808452608086019150828701935060005b81811015620004625784518352938301939183019160010162000444565b509098975050505050505050565b83815260006020848184015260408301845182860160005b82811015620004a65781518452928401929084019060010162000488565b509198975050505050505050565b608051613023620004d0600039600061122501526130236000f3fe608060405234801561001057600080fd5b50600436106100e05760003560e01c80639ede42b9116100875780639ede42b914610251578063a521b03214610274578063d248d12414610287578063e78cea921461029a578063ee35f327146102ad578063f26a62c6146102c0578063f8c8765e146102d3578063fb7be0a1146102e657600080fd5b806314eab5e7146100e55780631b45c86a1461011557806323a9ef231461012a5780633504f1d71461015557806356e9df97146101685780635ef489e61461017b5780637fd07a9c1461018e5780638f1d3776146101ae575b600080fd5b6100f86100f33660046125f8565b6102f9565b6040516001600160401b0390911681526020015b60405180910390f35b61012861012336600461268b565b610601565b005b61013d61013836600461268b565b6106d1565b6040516001600160a01b03909116815260200161010c565b60025461013d906001600160a01b031681565b61012861017636600461268b565b6106f5565b6000546100f8906001600160401b031681565b6101a161019c36600461268b565b610863565b60405161010c91906126e8565b61023e6101bc36600461275a565b6001602081815260009283526040928390208351808501855281546001600160a01b0390811682529382015481840152845180860190955260028201549093168452600381015491840191909152600481015460058201546006830154600790930154939493919290916001600160401b03811690600160401b900460ff1687565b60405161010c9796959493929190612773565b61026461025f36600461268b565b61093c565b604051901515815260200161010c565b6101286102823660046127d0565b610963565b610128610295366004612874565b610dd9565b60045461013d906001600160a01b031681565b60035461013d906001600160a01b031681565b60055461013d906001600160a01b031681565b6101286102e1366004612906565b61121a565b6101286102f4366004612962565b61138b565b6002546000906001600160a01b0316331461034e5760405162461bcd60e51b815260206004820152601060248201526f13d3931657d493d313155417d0d2105360821b60448201526064015b60405180910390fd5b6040805160028082526060820183526000926020830190803683370190505090506103a461037f60208b018b612a06565b61039f8a60005b6080020180360381019061039a9190612ac5565b611a32565b611ab3565b816000815181106103b7576103b76129f0565b60209081029190910101526103e68960016020020160208101906103db9190612a06565b61039f8a6001610386565b816001815181106103f9576103f96129f0565b6020908102919091010152600080548190819061041e906001600160401b0316612b73565b91906101000a8154816001600160401b0302191690836001600160401b031602179055905060006001600160401b0316816001600160401b0316141561046657610466612b9a565b6001600160401b0381166000908152600160205260408120600581018d9055906104a061049b368d90038d0160808e01612ac5565b611bd7565b905060026104b460408e0160208f01612a06565b60038111156104c5576104c56126be565b14806104f3575060006104e86104e3368e90038e0160808f01612ac5565b611bec565b6001600160401b0316115b15610506578061050281612b73565b9150505b6007820180546040805180820182526001600160a01b038d811680835260209283018d90526002880180546001600160a01b03199081169092179055600388018d905583518085018552918e16808352919092018b90528654909116178555600185018990554260048601556001600160401b0384811668ffffffffffffffffff1990931692909217600160401b179092559051908416907f76604fe17af46c9b5f53ffe99ff23e0f655dab91886b07ac1fc0254319f7145a906105d0908e906080820190612bfa565b60405180910390a26105ee8360008c6001600160401b031687611bfb565b5090925050505b98975050505050505050565b60006001600160401b038216600090815260016020526040902060070154600160401b900460ff16600281111561063a5761063a6126be565b1415604051806040016040528060078152602001661393d7d0d2105360ca1b8152509061067a5760405162461bcd60e51b81526004016103459190612c16565b506106848161093c565b6106c35760405162461bcd60e51b815260206004820152601060248201526f54494d454f55545f444541444c494e4560801b6044820152606401610345565b6106ce816000611c91565b50565b6001600160401b03166000908152600160205260409020546001600160a01b031690565b6002546001600160a01b031633146107425760405162461bcd60e51b815260206004820152601060248201526f2727aa2fa922a9afa922a1a2a4ab22a960811b6044820152606401610345565b60006001600160401b038216600090815260016020526040902060070154600160401b900460ff16600281111561077b5761077b6126be565b1415604051806040016040528060078152602001661393d7d0d2105360ca1b815250906107bb5760405162461bcd60e51b81526004016103459190612c16565b506001600160401b038116600081815260016020819052604080832080546001600160a01b031990811682559281018490556002810180549093169092556003808301849055600483018490556005830184905560068301939093556007909101805468ffffffffffffffffff19169055517ffdaece6c274a4b56af16761f83fd6b1062823192630ea08e019fdf9b2d747f409161085891612c6b565b60405180910390a250565b61086b612553565b6001600160401b0382811660009081526001602081815260409283902083516101208101855281546001600160a01b0390811660e0830190815294830154610100830152938152845180860186526002808401549095168152600383015481850152928101929092526004810154938201939093526005830154606082015260068301546080820152600783015493841660a08201529260c0840191600160401b90910460ff1690811115610922576109226126be565b6002811115610933576109336126be565b90525092915050565b6001600160401b038116600090815260016020526040812061095d90611dbf565b92915050565b6001600160401b038416600090815260016020526040812085918591610988846106d1565b6001600160a01b0316336001600160a01b0316146109b85760405162461bcd60e51b815260040161034590612c85565b6109c18461093c565b156109de5760405162461bcd60e51b815260040161034590612caa565b60008260028111156109f2576109f26126be565b1415610a605760006007820154600160401b900460ff166002811115610a1a57610a1a6126be565b1415604051806040016040528060078152602001661393d7d0d2105360ca1b81525090610a5a5760405162461bcd60e51b81526004016103459190612c16565b50610b1f565b6001826002811115610a7457610a746126be565b1415610abe5760016007820154600160401b900460ff166002811115610a9c57610a9c6126be565b14610ab95760405162461bcd60e51b815260040161034590612cd1565b610b1f565b6002826002811115610ad257610ad26126be565b1415610b175760026007820154600160401b900460ff166002811115610afa57610afa6126be565b14610ab95760405162461bcd60e51b815260040161034590612cf9565b610b1f612b9a565b610b6d83356020850135610b366040870187612d25565b808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152506119fb92505050565b816006015414610b8f5760405162461bcd60e51b815260040161034590612d75565b6002610b9e6040850185612d25565b90501080610bc957506001610bb66040850185612d25565b610bc1929150612d98565b836060013510155b15610be65760405162461bcd60e51b815260040161034590612daf565b600080610bf289611dd7565b9150915060018111610c325760405162461bcd60e51b81526020600482015260096024820152681513d3d7d4d213d49560ba1b6044820152606401610345565b806028811115610c40575060285b610c4b816001612dda565b8814610c885760405162461bcd60e51b815260206004820152600c60248201526b57524f4e475f44454752454560a01b6044820152606401610345565b50610cd28989896000818110610ca057610ca06129f0565b602002919091013590508a8a610cb7600182612d98565b818110610cc657610cc66129f0565b90506020020135611e68565b610d118a83838b8b80806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250611bfb92505050565b50600090505b6007820154600160401b900460ff166002811115610d3757610d376126be565b1415610d435750610dd0565b6040805180820190915281546001600160a01b03168152600182015460208201526004820154610d739042612d98565b81602001818151610d849190612d98565b90525060028201805483546001600160a01b038083166001600160a01b031992831617865560038601805460018801558551929093169116179091556020909101519055426004909101555b50505050505050565b6001600160401b038416600090815260016020526040902084908490600290610e01846106d1565b6001600160a01b0316336001600160a01b031614610e315760405162461bcd60e51b815260040161034590612c85565b610e3a8461093c565b15610e575760405162461bcd60e51b815260040161034590612caa565b6000826002811115610e6b57610e6b6126be565b1415610ed95760006007820154600160401b900460ff166002811115610e9357610e936126be565b1415604051806040016040528060078152602001661393d7d0d2105360ca1b81525090610ed35760405162461bcd60e51b81526004016103459190612c16565b50610f98565b6001826002811115610eed57610eed6126be565b1415610f375760016007820154600160401b900460ff166002811115610f1557610f156126be565b14610f325760405162461bcd60e51b815260040161034590612cd1565b610f98565b6002826002811115610f4b57610f4b6126be565b1415610f905760026007820154600160401b900460ff166002811115610f7357610f736126be565b14610f325760405162461bcd60e51b815260040161034590612cf9565b610f98612b9a565b610faf83356020850135610b366040870187612d25565b816006015414610fd15760405162461bcd60e51b815260040161034590612d75565b6002610fe06040850185612d25565b9050108061100b57506001610ff86040850185612d25565b611003929150612d98565b836060013510155b156110285760405162461bcd60e51b815260040161034590612daf565b6001600160401b0388166000908152600160205260408120908061104b8a611dd7565b9092509050600181146110705760405162461bcd60e51b815260040161034590612df2565b5060055460408051808201825260078501546001600160401b031681526004546001600160a01b0390811660208301526000931691635d3adcfb919085906110ba908f018f612d25565b8f606001358181106110ce576110ce6129f0565b905060200201358d8d6040518663ffffffff1660e01b81526004016110f7959493929190612e14565b60206040518083038186803b15801561110f57600080fd5b505afa158015611123573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111479190612e6b565b905061115660408b018b612d25565b61116560608d01356001612dda565b818110611174576111746129f0565b905060200201358114156111b95760405162461bcd60e51b815260206004820152600c60248201526b14d0535157d3d4d417d1539160a21b6044820152606401610345565b6040516001600160401b038c16907fc2cc42e04ff8c36de71c6a2937ea9f161dd0dd9e175f00caa26e5200643c781e90600090a261120e8b6001600160401b0316600090815260016020526040812060060155565b5060009150610d179050565b306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614156112a85760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b19195b1959d85d1958d85b1b60a21b6064820152608401610345565b6002546001600160a01b0316156112f05760405162461bcd60e51b815260206004820152600c60248201526b1053149150511657d253925560a21b6044820152606401610345565b6001600160a01b03841661133b5760405162461bcd60e51b81526020600482015260126024820152712727afa922a9aaa62a2fa922a1a2a4ab22a960711b6044820152606401610345565b600280546001600160a01b039586166001600160a01b0319918216179091556003805494861694821694909417909355600480549285169284169290921790915560058054919093169116179055565b6001600160401b0385166000908152600160208190526040909120869186916113b3846106d1565b6001600160a01b0316336001600160a01b0316146113e35760405162461bcd60e51b815260040161034590612c85565b6113ec8461093c565b156114095760405162461bcd60e51b815260040161034590612caa565b600082600281111561141d5761141d6126be565b141561148b5760006007820154600160401b900460ff166002811115611445576114456126be565b1415604051806040016040528060078152602001661393d7d0d2105360ca1b815250906114855760405162461bcd60e51b81526004016103459190612c16565b5061154a565b600182600281111561149f5761149f6126be565b14156114e95760016007820154600160401b900460ff1660028111156114c7576114c76126be565b146114e45760405162461bcd60e51b815260040161034590612cd1565b61154a565b60028260028111156114fd576114fd6126be565b14156115425760026007820154600160401b900460ff166002811115611525576115256126be565b146114e45760405162461bcd60e51b815260040161034590612cf9565b61154a612b9a565b61156183356020850135610b366040870187612d25565b8160060154146115835760405162461bcd60e51b815260040161034590612d75565b60026115926040850185612d25565b905010806115bd575060016115aa6040850185612d25565b6115b5929150612d98565b836060013510155b156115da5760405162461bcd60e51b815260040161034590612daf565b60018510156116215760405162461bcd60e51b815260206004820152601360248201527210d2105313115391d157d513d3d7d4d213d495606a1b6044820152606401610345565b6508000000000085111561166c5760405162461bcd60e51b81526020600482015260126024820152714348414c4c454e47455f544f4f5f4c4f4e4760701b6044820152606401610345565b6116ae8861168e61168060208b018b612a06565b8960005b6020020135611ab3565b6116a96116a160408c0160208d01612a06565b8a6001611684565b611e68565b6001600160401b038916600090815260016020526040812090806116d18b611dd7565b91509150806001146116f55760405162461bcd60e51b815260040161034590612df2565b600161170460208c018c612a06565b6003811115611715576117156126be565b146117cf5761172a60408b0160208c01612a06565b600381111561173b5761173b6126be565b61174860208c018c612a06565b6003811115611759576117596126be565b14801561176a5750883560208a0135145b6117a65760405162461bcd60e51b815260206004820152600d60248201526c48414c5445445f4348414e474560981b6044820152606401610345565b6117c78c6001600160401b0316600090815260016020526040812060060155565b505050611936565b60026117e160408c0160208d01612a06565b60038111156117f2576117f26126be565b141561183b57883560208a01351461183b5760405162461bcd60e51b815260206004820152600c60248201526b4552524f525f4348414e474560a01b6044820152606401610345565b604080516002808252606082018352600092602083019080368337505050600585015490915061186d908b3590611f3d565b81600081518110611880576118806129f0565b60209081029190910101526118ae8b60016020020160208101906118a49190612a06565b60208c01356120c9565b816001815181106118c1576118c16129f0565b602090810291909101015260078401805460ff60401b1916600160411b1790556118ee8d60008b84611bfb565b8c6001600160401b03167f24e032e170243bbea97e140174b22dc7e54fb85925afbf52c70e001cd6af16db8460405161192991815260200190565b60405180910390a2505050505b60006007820154600160401b900460ff166002811115611958576119586126be565b141561196457506119f1565b6040805180820190915281546001600160a01b031681526001820154602082015260048201546119949042612d98565b816020018181516119a59190612d98565b90525060028201805483546001600160a01b038083166001600160a01b031992831617865560038601805460018801558551929093169116179091556020909101519055426004909101555b5050505050505050565b6000838383604051602001611a1293929190612e84565b6040516020818303038152906040528051906020012090505b9392505050565b80518051602091820151828401518051908401516040516c23b637b130b61039ba30ba329d60991b95810195909552602d850193909352604d8401919091526001600160c01b031960c091821b8116606d85015291901b166075820152600090607d015b604051602081830303815290604052805190602001209050919050565b60006001836003811115611ac957611ac96126be565b1415611b0f576040516b213637b1b59039ba30ba329d60a11b6020820152602c8101839052604c015b60405160208183030381529060405280519060200120905061095d565b6002836003811115611b2357611b236126be565b1415611b595760405174213637b1b59039ba30ba32961032b93937b932b21d60591b602082015260358101839052605501611af2565b6003836003811115611b6d57611b6d6126be565b1415611b9c5760405174213637b1b59039ba30ba3296103a37b7903330b91d60591b6020820152603501611af2565b60405162461bcd60e51b815260206004820152601060248201526f4241445f424c4f434b5f53544154555360801b6044820152606401610345565b6020810151600090815b602002015192915050565b60208101516000906001611be1565b6001821015611c0c57611c0c612b9a565b600281511015611c1e57611c1e612b9a565b6000611c2b8484846119fb565b6001600160401b038616600081815260016020526040908190206006018390555191925082917f86b34e9455464834eca718f62d4481437603bb929d8a78ccde5d1bc79fa06d6890611c8290889088908890612ec6565b60405180910390a35050505050565b6001600160401b03821660008181526001602081905260408083206002808201805483546001600160a01b0319808216865596850188905595811690915560038301869055600480840187905560058401879055600684019690965560078301805468ffffffffffffffffff1916905590549251630357aa4960e01b8152948501959095526001600160a01b03948516602485018190529285166044850181905290949293909290911690630357aa4990606401600060405180830381600087803b158015611d5f57600080fd5b505af1158015611d73573d6000803e3d6000fd5b50505050846001600160401b03167ffdaece6c274a4b56af16761f83fd6b1062823192630ea08e019fdf9b2d747f4085604051611db09190612c6b565b60405180910390a25050505050565b6001810154600090611dd083612172565b1192915050565b600080806001611dea6040860186612d25565b611df5929150612d98565b9050611e05816020860135612f31565b9150611e15606085013583612f45565b611e20908535612dda565b92506002611e316040860186612d25565b611e3c929150612d98565b84606001351415611e6257611e55816020860135612f64565b611e5f9083612dda565b91505b50915091565b81611e766040850185612d25565b8560600135818110611e8a57611e8a6129f0565b9050602002013514611ecc5760405162461bcd60e51b815260206004820152600b60248201526a15d493d391d7d4d510549560aa1b6044820152606401610345565b80611eda6040850185612d25565b611ee960608701356001612dda565b818110611ef857611ef86129f0565b905060200201351415611f385760405162461bcd60e51b815260206004820152600860248201526714d0535157d1539160c21b6044820152606401610345565b505050565b60408051600380825260808201909252600091829190816020015b6040805180820190915260008082526020820152815260200190600190039081611f58575050604080518082018252600080825260209182018190528251808401909352600483529082015290915081600081518110611fba57611fba6129f0565b6020026020010181905250611fcf6000612184565b81600181518110611fe257611fe26129f0565b6020026020010181905250611ff76000612184565b8160028151811061200a5761200a6129f0565b602090810291909101810191909152604080518083018252838152815180830190925280825260009282019290925261205a60408051606080820183529181019182529081526000602082015290565b604080518082018252606080825260006020808401829052845161012081018652828152908101879052938401859052908301829052608083018a905260a0830181905260c0830181905260e08301526101008201889052906120bc816121b7565b9998505050505050505050565b600060018360038111156120df576120df6126be565b14156120f65781604051602001611af29190612f78565b600283600381111561210a5761210a6126be565b1415612134576040516f26b0b1b434b7329032b93937b932b21d60811b6020820152603001611af2565b6003836003811115612148576121486126be565b1415611b9c576040516f26b0b1b434b732903a37b7903330b91d60811b6020820152603001611af2565b600081600401544261095d9190612d98565b604080518082019091526000808252602082015250604080518082019091526000815263ffffffff909116602082015290565b600080825160038111156121cd576121cd6126be565b1415612283576121e08260200151612370565b6121ed8360400151612370565b6121fa84606001516123f5565b608085015160a086015160c087015160e0808901516101008a01516040516f26b0b1b434b73290393ab73734b7339d60811b602082015260308101999099526050890197909752607088019590955260908701939093526001600160e01b031991831b821660b0870152821b811660b486015291901b1660b883015260bc82015260dc01611a96565b600182516003811115612298576122986126be565b14156122b3578160800151604051602001611a969190612f78565b6002825160038111156122c8576122c86126be565b14156122f2576040516f26b0b1b434b7329032b93937b932b21d60811b6020820152603001611a96565b600382516003811115612307576123076126be565b1415612331576040516f26b0b1b434b732903a37b7903330b91d60811b6020820152603001611a96565b60405162461bcd60e51b815260206004820152600f60248201526e4241445f4d4143485f53544154555360881b6044820152606401610345565b919050565b60208101518151515160005b818110156123ee57835161239990612394908361248e565b6124c6565b6040516b2b30b63ab29039ba30b1b59d60a11b6020820152602c810191909152604c8101849052606c0160405160208183030381529060405280519060200120925080806123e690612f9d565b91505061237c565b5050919050565b602081015160005b8251518110156124885761242d83600001518281518110612420576124206129f0565b60200260200101516124e3565b6040517129ba30b1b590333930b6b29039ba30b1b59d60711b6020820152603281019190915260528101839052607201604051602081830303815290604052805190602001209150808061248090612f9d565b9150506123fd565b50919050565b604080518082019091526000808252602082015282518051839081106124b6576124b66129f0565b6020026020010151905092915050565b600081600001518260200151604051602001611a96929190612fb8565b60006124f282600001516124c6565b602080840151604080860151606087015191516b29ba30b1b590333930b6b29d60a11b94810194909452602c840194909452604c8301919091526001600160e01b031960e093841b8116606c840152921b9091166070820152607401611a96565b604080516101208101909152600060e0820181815261010083019190915281908152602001612592604080518082019091526000808252602082015290565b815260006020820181905260408201819052606082018190526080820181905260a09091015290565b806040810183101561095d57600080fd5b80356001600160401b038116811461236b57600080fd5b6001600160a01b03811681146106ce57600080fd5b600080600080600080600080610200898b03121561261557600080fd5b883597506126268a60208b016125bb565b965061016089018a81111561263a57600080fd5b60608a019650612649816125cc565b95505061018089013561265b816125e3565b93506101a089013561266c816125e3565b979a96995094979396929592945050506101c0820135916101e0013590565b60006020828403121561269d57600080fd5b611a2b826125cc565b80516001600160a01b03168252602090810151910152565b634e487b7160e01b600052602160045260246000fd5b600381106126e4576126e46126be565b9052565b6000610120820190506126fc8284516126a6565b602083015161270e60408401826126a6565b5060408301516080830152606083015160a0830152608083015160c08301526001600160401b0360a08401511660e083015260c08301516127536101008401826126d4565b5092915050565b60006020828403121561276c57600080fd5b5035919050565b6101208101612782828a6126a6565b61278f60408301896126a6565b8660808301528560a08301528460c08301526001600160401b03841660e08301526105f56101008301846126d4565b60006080828403121561248857600080fd5b600080600080606085870312156127e657600080fd5b6127ef856125cc565b935060208501356001600160401b038082111561280b57600080fd5b612817888389016127be565b9450604087013591508082111561282d57600080fd5b818701915087601f83011261284157600080fd5b81358181111561285057600080fd5b8860208260051b850101111561286557600080fd5b95989497505060200194505050565b6000806000806060858703121561288a57600080fd5b612893856125cc565b935060208501356001600160401b03808211156128af57600080fd5b6128bb888389016127be565b945060408701359150808211156128d157600080fd5b818701915087601f8301126128e557600080fd5b8135818111156128f457600080fd5b88602082850101111561286557600080fd5b6000806000806080858703121561291c57600080fd5b8435612927816125e3565b93506020850135612937816125e3565b92506040850135612947816125e3565b91506060850135612957816125e3565b939692955090935050565b600080600080600060e0868803121561297a57600080fd5b612983866125cc565b945060208601356001600160401b0381111561299e57600080fd5b6129aa888289016127be565b9450506129ba87604088016125bb565b92506129c987608088016125bb565b9497939650919460c0013592915050565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b600060208284031215612a1857600080fd5b813560048110611a2b57600080fd5b604080519081016001600160401b0381118282101715612a4957612a496129da565b60405290565b600082601f830112612a6057600080fd5b604051604081018181106001600160401b0382111715612a8257612a826129da565b8060405250806040840185811115612a9957600080fd5b845b81811015612aba57612aac816125cc565b835260209283019201612a9b565b509195945050505050565b600060808284031215612ad757600080fd5b604051604081018181106001600160401b0382111715612af957612af96129da565b604052601f83018413612b0b57600080fd5b612b13612a27565b806040850186811115612b2557600080fd5b855b81811015612b3f578035845260209384019301612b27565b50818452612b4d8782612a4f565b6020850152509195945050505050565b634e487b7160e01b600052601160045260246000fd5b60006001600160401b0380831681811415612b9057612b90612b5d565b6001019392505050565b634e487b7160e01b600052600160045260246000fd5b604081833760006040838101828152908301915b6002811015612bf3576001600160401b03612bde846125cc565b16825260209283019290910190600101612bc4565b5050505050565b6101008101612c098285612bb0565b611a2b6080830184612bb0565b600060208083528351808285015260005b81811015612c4357858101830151858201604001528201612c27565b81811115612c55576000604083870101525b50601f01601f1916929092016040019392505050565b6020810160048310612c7f57612c7f6126be565b91905290565b6020808252600b908201526a21a420a62fa9a2a72222a960a91b604082015260600190565b6020808252600d908201526c4348414c5f444541444c494e4560981b604082015260600190565b6020808252600e908201526d4348414c5f4e4f545f424c4f434b60901b604082015260600190565b60208082526012908201527121a420a62fa727aa2fa2ac22a1aaaa24a7a760711b604082015260600190565b6000808335601e19843603018112612d3c57600080fd5b8301803591506001600160401b03821115612d5657600080fd5b6020019150600581901b3603821315612d6e57600080fd5b9250929050565b6020808252600990820152684249535f535441544560b81b604082015260600190565b600082821015612daa57612daa612b5d565b500390565b6020808252601190820152704241445f4348414c4c454e47455f504f5360781b604082015260600190565b60008219821115612ded57612ded612b5d565b500190565b602080825260089082015267544f4f5f4c4f4e4760c01b604082015260600190565b8551815260018060a01b03602087015116602082015284604082015283606082015260a060808201528160a0820152818360c0830137600081830160c090810191909152601f909201601f19160101949350505050565b600060208284031215612e7d57600080fd5b5051919050565b83815260006020848184015260408301845182860160005b82811015612eb857815184529284019290840190600101612e9c565b509198975050505050505050565b6000606082018583526020858185015260606040850152818551808452608086019150828701935060005b81811015612f0d57845183529383019391830191600101612ef1565b509098975050505050505050565b634e487b7160e01b600052601260045260246000fd5b600082612f4057612f40612f1b565b500490565b6000816000190483118215151615612f5f57612f5f612b5d565b500290565b600082612f7357612f73612f1b565b500690565b7026b0b1b434b732903334b734b9b432b21d60791b8152601181019190915260310190565b6000600019821415612fb157612fb1612b5d565b5060010190565b652b30b63ab29d60d11b8152600060078410612fd657612fd66126be565b5060f89290921b600683015260078201526027019056fea26469706673582212200ce7fb2c3c921364c675586c353475a5451984f7abd96a2f3884a64bea095b6964736f6c63430008090033";
const isSuperArgs = (xs) => xs.length > 1;
class SingleExecutionChallenge__factory extends ethers_1.ContractFactory {
constructor(...args) {
if (isSuperArgs(args)) {
super(...args);
}
else {
super(_abi, _bytecode, args[0]);
}
this.contractName = "SingleExecutionChallenge";
}
deploy(osp_, resultReceiver_, maxInboxMessagesRead_, startAndEndHashes, numSteps_, asserter_, challenger_, asserterTimeLeft_, challengerTimeLeft_, overrides) {
return super.deploy(osp_, resultReceiver_, maxInboxMessagesRead_, startAndEndHashes, numSteps_, asserter_, challenger_, asserterTimeLeft_, challengerTimeLeft_, overrides || {});
}
getDeployTransaction(osp_, resultReceiver_, maxInboxMessagesRead_, startAndEndHashes, numSteps_, asserter_, challenger_, asserterTimeLeft_, challengerTimeLeft_, overrides) {
return super.getDeployTransaction(osp_, resultReceiver_, maxInboxMessagesRead_, startAndEndHashes, numSteps_, asserter_, challenger_, asserterTimeLeft_, challengerTimeLeft_, overrides || {});
}
attach(address) {
return super.attach(address);
}
connect(signer) {
return super.connect(signer);
}
static createInterface() {
return new ethers_1.utils.Interface(_abi);
}
static connect(address, signerOrProvider) {
return new ethers_1.Contract(address, _abi, signerOrProvider);
}
}
exports.SingleExecutionChallenge__factory = SingleExecutionChallenge__factory;
SingleExecutionChallenge__factory.bytecode = _bytecode;
SingleExecutionChallenge__factory.abi = _abi;