@noosphere/contracts 0.1.0-alpha.4 → 0.2.0-alpha.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs +336 -30
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.mts +209 -43
- package/dist/index.d.ts +209 -43
- package/dist/index.js +337 -32
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- package/src/abis/Coordinator.abi.json +96 -6
- package/src/abis/Router.abi.json +42 -6
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/typechain/factories/index.ts","../src/typechain/factories/CoordinatorAbi__factory.ts","../src/typechain/factories/RouterAbi__factory.ts","../src/typechain/factories/SubscriptionBatchReaderAbi__factory.ts","../src/typechain/factories/WalletAbi__factory.ts","../src/typechain/factories/WalletFactoryAbi__factory.ts","../src/Router.ts","../src/abis/Router.abi.json","../src/Coordinator.ts","../src/abis/Coordinator.abi.json","../src/SubscriptionBatchReader.ts","../src/abis/SubscriptionBatchReader.abi.json","../src/types/index.ts","../src/abis/WalletFactory.abi.json","../src/abis/Wallet.abi.json","../src/index.ts"],"sourcesContent":["/* Autogenerated file. Do not edit manually. */\n/* tslint:disable */\n/* eslint-disable */\nexport { CoordinatorAbi__factory } from \"./CoordinatorAbi__factory\";\nexport { RouterAbi__factory } from \"./RouterAbi__factory\";\nexport { SubscriptionBatchReaderAbi__factory } from \"./SubscriptionBatchReaderAbi__factory\";\nexport { WalletAbi__factory } from \"./WalletAbi__factory\";\nexport { WalletFactoryAbi__factory } from \"./WalletFactoryAbi__factory\";\n","/* Autogenerated file. Do not edit manually. */\n/* tslint:disable */\n/* eslint-disable */\n\nimport { Contract, Interface, type ContractRunner } from \"ethers\";\nimport type {\n CoordinatorAbi,\n CoordinatorAbiInterface,\n} from \"../CoordinatorAbi\";\n\nconst _abi = [\n {\n type: \"constructor\",\n inputs: [\n {\n name: \"_routerAddress\",\n type: \"address\",\n internalType: \"address\",\n },\n {\n name: \"_initialOwner\",\n type: \"address\",\n internalType: \"address\",\n },\n ],\n stateMutability: \"nonpayable\",\n },\n {\n type: \"function\",\n name: \"acceptOwnership\",\n inputs: [],\n outputs: [],\n stateMutability: \"nonpayable\",\n },\n {\n type: \"function\",\n name: \"cancelRequest\",\n inputs: [\n {\n name: \"requestId\",\n type: \"bytes32\",\n internalType: \"bytes32\",\n },\n ],\n outputs: [],\n stateMutability: \"nonpayable\",\n },\n {\n type: \"function\",\n name: \"client\",\n inputs: [],\n outputs: [\n {\n name: \"\",\n type: \"address\",\n internalType: \"address\",\n },\n ],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"getCommitment\",\n inputs: [\n {\n name: \"subscriptionId\",\n type: \"uint64\",\n internalType: \"uint64\",\n },\n {\n name: \"interval\",\n type: \"uint32\",\n internalType: \"uint32\",\n },\n ],\n outputs: [\n {\n name: \"\",\n type: \"tuple\",\n internalType: \"struct Commitment\",\n components: [\n {\n name: \"requestId\",\n type: \"bytes32\",\n internalType: \"bytes32\",\n },\n {\n name: \"subscriptionId\",\n type: \"uint64\",\n internalType: \"uint64\",\n },\n {\n name: \"containerId\",\n type: \"bytes32\",\n internalType: \"bytes32\",\n },\n {\n name: \"interval\",\n type: \"uint32\",\n internalType: \"uint32\",\n },\n {\n name: \"useDeliveryInbox\",\n type: \"bool\",\n internalType: \"bool\",\n },\n {\n name: \"redundancy\",\n type: \"uint16\",\n internalType: \"uint16\",\n },\n {\n name: \"walletAddress\",\n type: \"address\",\n internalType: \"address\",\n },\n {\n name: \"feeAmount\",\n type: \"uint256\",\n internalType: \"uint256\",\n },\n {\n name: \"feeToken\",\n type: \"address\",\n internalType: \"address\",\n },\n {\n name: \"verifier\",\n type: \"address\",\n internalType: \"address\",\n },\n {\n name: \"coordinator\",\n type: \"address\",\n internalType: \"address\",\n },\n ],\n },\n ],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"getConfig\",\n inputs: [],\n outputs: [\n {\n name: \"\",\n type: \"tuple\",\n internalType: \"struct BillingConfig\",\n components: [\n {\n name: \"verificationTimeout\",\n type: \"uint32\",\n internalType: \"uint32\",\n },\n {\n name: \"protocolFeeRecipient\",\n type: \"address\",\n internalType: \"address\",\n },\n {\n name: \"protocolFee\",\n type: \"uint16\",\n internalType: \"uint16\",\n },\n {\n name: \"tickNodeFee\",\n type: \"uint256\",\n internalType: \"uint256\",\n },\n {\n name: \"tickNodeFeeToken\",\n type: \"address\",\n internalType: \"address\",\n },\n ],\n },\n ],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"getProtocolFee\",\n inputs: [],\n outputs: [\n {\n name: \"\",\n type: \"uint72\",\n internalType: \"uint72\",\n },\n ],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"getSubscriptionBatchReader\",\n inputs: [],\n outputs: [\n {\n name: \"\",\n type: \"address\",\n internalType: \"address\",\n },\n ],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"initialize\",\n inputs: [\n {\n name: \"_config\",\n type: \"tuple\",\n internalType: \"struct BillingConfig\",\n components: [\n {\n name: \"verificationTimeout\",\n type: \"uint32\",\n internalType: \"uint32\",\n },\n {\n name: \"protocolFeeRecipient\",\n type: \"address\",\n internalType: \"address\",\n },\n {\n name: \"protocolFee\",\n type: \"uint16\",\n internalType: \"uint16\",\n },\n {\n name: \"tickNodeFee\",\n type: \"uint256\",\n internalType: \"uint256\",\n },\n {\n name: \"tickNodeFeeToken\",\n type: \"address\",\n internalType: \"address\",\n },\n ],\n },\n ],\n outputs: [],\n stateMutability: \"nonpayable\",\n },\n {\n type: \"function\",\n name: \"nodeResponded\",\n inputs: [\n {\n name: \"\",\n type: \"bytes32\",\n internalType: \"bytes32\",\n },\n ],\n outputs: [\n {\n name: \"\",\n type: \"bool\",\n internalType: \"bool\",\n },\n ],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"prepareNextInterval\",\n inputs: [\n {\n name: \"subscriptionId\",\n type: \"uint64\",\n internalType: \"uint64\",\n },\n {\n name: \"nextInterval\",\n type: \"uint32\",\n internalType: \"uint32\",\n },\n {\n name: \"nodeWallet\",\n type: \"address\",\n internalType: \"address\",\n },\n ],\n outputs: [],\n stateMutability: \"nonpayable\",\n },\n {\n type: \"function\",\n name: \"redundancyCount\",\n inputs: [\n {\n name: \"\",\n type: \"bytes32\",\n internalType: \"bytes32\",\n },\n ],\n outputs: [\n {\n name: \"\",\n type: \"uint16\",\n internalType: \"uint16\",\n },\n ],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"reportComputeResult\",\n inputs: [\n {\n name: \"deliveryInterval\",\n type: \"uint32\",\n internalType: \"uint32\",\n },\n {\n name: \"input\",\n type: \"bytes\",\n internalType: \"bytes\",\n },\n {\n name: \"output\",\n type: \"bytes\",\n internalType: \"bytes\",\n },\n {\n name: \"proof\",\n type: \"bytes\",\n internalType: \"bytes\",\n },\n {\n name: \"commitmentData\",\n type: \"bytes\",\n internalType: \"bytes\",\n },\n {\n name: \"nodeWallet\",\n type: \"address\",\n internalType: \"address\",\n },\n ],\n outputs: [],\n stateMutability: \"nonpayable\",\n },\n {\n type: \"function\",\n name: \"reportVerificationResult\",\n inputs: [\n {\n name: \"request\",\n type: \"tuple\",\n internalType: \"struct ProofVerificationRequest\",\n components: [\n {\n name: \"subscriptionId\",\n type: \"uint64\",\n internalType: \"uint64\",\n },\n {\n name: \"interval\",\n type: \"uint32\",\n internalType: \"uint32\",\n },\n {\n name: \"submitterAddress\",\n type: \"address\",\n internalType: \"address\",\n },\n {\n name: \"submitterWallet\",\n type: \"address\",\n internalType: \"address\",\n },\n {\n name: \"escrowedAmount\",\n type: \"uint256\",\n internalType: \"uint256\",\n },\n {\n name: \"escrowToken\",\n type: \"address\",\n internalType: \"address\",\n },\n {\n name: \"slashAmount\",\n type: \"uint256\",\n internalType: \"uint256\",\n },\n {\n name: \"expiry\",\n type: \"uint32\",\n internalType: \"uint32\",\n },\n ],\n },\n {\n name: \"valid\",\n type: \"bool\",\n internalType: \"bool\",\n },\n ],\n outputs: [],\n stateMutability: \"nonpayable\",\n },\n {\n type: \"function\",\n name: \"requestCommitments\",\n inputs: [\n {\n name: \"requestId\",\n type: \"bytes32\",\n internalType: \"bytes32\",\n },\n ],\n outputs: [\n {\n name: \"\",\n type: \"bytes32\",\n internalType: \"bytes32\",\n },\n ],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"setSubscriptionBatchReader\",\n inputs: [\n {\n name: \"_reader\",\n type: \"address\",\n internalType: \"address\",\n },\n ],\n outputs: [],\n stateMutability: \"nonpayable\",\n },\n {\n type: \"function\",\n name: \"startRequest\",\n inputs: [\n {\n name: \"requestId\",\n type: \"bytes32\",\n internalType: \"bytes32\",\n },\n {\n name: \"subscriptionId\",\n type: \"uint64\",\n internalType: \"uint64\",\n },\n {\n name: \"containerId\",\n type: \"bytes32\",\n internalType: \"bytes32\",\n },\n {\n name: \"interval\",\n type: \"uint32\",\n internalType: \"uint32\",\n },\n {\n name: \"redundancy\",\n type: \"uint16\",\n internalType: \"uint16\",\n },\n {\n name: \"useDeliveryInbox\",\n type: \"bool\",\n internalType: \"bool\",\n },\n {\n name: \"feeToken\",\n type: \"address\",\n internalType: \"address\",\n },\n {\n name: \"feeAmount\",\n type: \"uint256\",\n internalType: \"uint256\",\n },\n {\n name: \"wallet\",\n type: \"address\",\n internalType: \"address\",\n },\n {\n name: \"verifier\",\n type: \"address\",\n internalType: \"address\",\n },\n ],\n outputs: [\n {\n name: \"\",\n type: \"tuple\",\n internalType: \"struct Commitment\",\n components: [\n {\n name: \"requestId\",\n type: \"bytes32\",\n internalType: \"bytes32\",\n },\n {\n name: \"subscriptionId\",\n type: \"uint64\",\n internalType: \"uint64\",\n },\n {\n name: \"containerId\",\n type: \"bytes32\",\n internalType: \"bytes32\",\n },\n {\n name: \"interval\",\n type: \"uint32\",\n internalType: \"uint32\",\n },\n {\n name: \"useDeliveryInbox\",\n type: \"bool\",\n internalType: \"bool\",\n },\n {\n name: \"redundancy\",\n type: \"uint16\",\n internalType: \"uint16\",\n },\n {\n name: \"walletAddress\",\n type: \"address\",\n internalType: \"address\",\n },\n {\n name: \"feeAmount\",\n type: \"uint256\",\n internalType: \"uint256\",\n },\n {\n name: \"feeToken\",\n type: \"address\",\n internalType: \"address\",\n },\n {\n name: \"verifier\",\n type: \"address\",\n internalType: \"address\",\n },\n {\n name: \"coordinator\",\n type: \"address\",\n internalType: \"address\",\n },\n ],\n },\n ],\n stateMutability: \"nonpayable\",\n },\n {\n type: \"function\",\n name: \"transferOwnership\",\n inputs: [\n {\n name: \"to\",\n type: \"address\",\n internalType: \"address\",\n },\n ],\n outputs: [],\n stateMutability: \"nonpayable\",\n },\n {\n type: \"function\",\n name: \"typeAndVersion\",\n inputs: [],\n outputs: [\n {\n name: \"\",\n type: \"string\",\n internalType: \"string\",\n },\n ],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"updateConfig\",\n inputs: [\n {\n name: \"config\",\n type: \"tuple\",\n internalType: \"struct BillingConfig\",\n components: [\n {\n name: \"verificationTimeout\",\n type: \"uint32\",\n internalType: \"uint32\",\n },\n {\n name: \"protocolFeeRecipient\",\n type: \"address\",\n internalType: \"address\",\n },\n {\n name: \"protocolFee\",\n type: \"uint16\",\n internalType: \"uint16\",\n },\n {\n name: \"tickNodeFee\",\n type: \"uint256\",\n internalType: \"uint256\",\n },\n {\n name: \"tickNodeFeeToken\",\n type: \"address\",\n internalType: \"address\",\n },\n ],\n },\n ],\n outputs: [],\n stateMutability: \"nonpayable\",\n },\n {\n type: \"event\",\n name: \"ComputeDelivered\",\n inputs: [\n {\n name: \"requestId\",\n type: \"bytes32\",\n indexed: true,\n internalType: \"bytes32\",\n },\n {\n name: \"nodeWallet\",\n type: \"address\",\n indexed: true,\n internalType: \"address\",\n },\n {\n name: \"numRedundantDeliveries\",\n type: \"uint16\",\n indexed: false,\n internalType: \"uint16\",\n },\n ],\n anonymous: false,\n },\n {\n type: \"event\",\n name: \"OwnershipTransferRequested\",\n inputs: [\n {\n name: \"from\",\n type: \"address\",\n indexed: true,\n internalType: \"address\",\n },\n {\n name: \"to\",\n type: \"address\",\n indexed: true,\n internalType: \"address\",\n },\n ],\n anonymous: false,\n },\n {\n type: \"event\",\n name: \"OwnershipTransferred\",\n inputs: [\n {\n name: \"from\",\n type: \"address\",\n indexed: true,\n internalType: \"address\",\n },\n {\n name: \"to\",\n type: \"address\",\n indexed: true,\n internalType: \"address\",\n },\n ],\n anonymous: false,\n },\n {\n type: \"event\",\n name: \"ProofVerified\",\n inputs: [\n {\n name: \"subscriptionId\",\n type: \"uint64\",\n indexed: true,\n internalType: \"uint64\",\n },\n {\n name: \"interval\",\n type: \"uint32\",\n indexed: true,\n internalType: \"uint32\",\n },\n {\n name: \"node\",\n type: \"address\",\n indexed: true,\n internalType: \"address\",\n },\n {\n name: \"valid\",\n type: \"bool\",\n indexed: false,\n internalType: \"bool\",\n },\n {\n name: \"verifier\",\n type: \"address\",\n indexed: false,\n internalType: \"address\",\n },\n ],\n anonymous: false,\n },\n {\n type: \"event\",\n name: \"RequestCancelled\",\n inputs: [\n {\n name: \"requestId\",\n type: \"bytes32\",\n indexed: true,\n internalType: \"bytes32\",\n },\n ],\n anonymous: false,\n },\n {\n type: \"event\",\n name: \"RequestStarted\",\n inputs: [\n {\n name: \"requestId\",\n type: \"bytes32\",\n indexed: true,\n internalType: \"bytes32\",\n },\n {\n name: \"subscriptionId\",\n type: \"uint64\",\n indexed: true,\n internalType: \"uint64\",\n },\n {\n name: \"containerId\",\n type: \"bytes32\",\n indexed: true,\n internalType: \"bytes32\",\n },\n {\n name: \"commitment\",\n type: \"tuple\",\n indexed: false,\n internalType: \"struct Commitment\",\n components: [\n {\n name: \"requestId\",\n type: \"bytes32\",\n internalType: \"bytes32\",\n },\n {\n name: \"subscriptionId\",\n type: \"uint64\",\n internalType: \"uint64\",\n },\n {\n name: \"containerId\",\n type: \"bytes32\",\n internalType: \"bytes32\",\n },\n {\n name: \"interval\",\n type: \"uint32\",\n internalType: \"uint32\",\n },\n {\n name: \"useDeliveryInbox\",\n type: \"bool\",\n internalType: \"bool\",\n },\n {\n name: \"redundancy\",\n type: \"uint16\",\n internalType: \"uint16\",\n },\n {\n name: \"walletAddress\",\n type: \"address\",\n internalType: \"address\",\n },\n {\n name: \"feeAmount\",\n type: \"uint256\",\n internalType: \"uint256\",\n },\n {\n name: \"feeToken\",\n type: \"address\",\n internalType: \"address\",\n },\n {\n name: \"verifier\",\n type: \"address\",\n internalType: \"address\",\n },\n {\n name: \"coordinator\",\n type: \"address\",\n internalType: \"address\",\n },\n ],\n },\n ],\n anonymous: false,\n },\n {\n type: \"error\",\n name: \"InsufficientForVerifierFee\",\n inputs: [],\n },\n {\n type: \"error\",\n name: \"IntervalCompleted\",\n inputs: [],\n },\n {\n type: \"error\",\n name: \"IntervalMismatch\",\n inputs: [\n {\n name: \"deliveryInterval\",\n type: \"uint32\",\n internalType: \"uint32\",\n },\n ],\n },\n {\n type: \"error\",\n name: \"InvalidCommitment\",\n inputs: [],\n },\n {\n type: \"error\",\n name: \"InvalidRequestCommitment\",\n inputs: [\n {\n name: \"requestId\",\n type: \"bytes32\",\n internalType: \"bytes32\",\n },\n ],\n },\n {\n type: \"error\",\n name: \"InvalidWallet\",\n inputs: [],\n },\n {\n type: \"error\",\n name: \"NoNextInterval\",\n inputs: [],\n },\n {\n type: \"error\",\n name: \"NodeRespondedAlready\",\n inputs: [],\n },\n {\n type: \"error\",\n name: \"NotReadyForNextInterval\",\n inputs: [],\n },\n {\n type: \"error\",\n name: \"OnlyCallableByRouter\",\n inputs: [],\n },\n {\n type: \"error\",\n name: \"OnlyCallableByRouterOwner\",\n inputs: [],\n },\n {\n type: \"error\",\n name: \"ProofVerificationRequestNotFound\",\n inputs: [],\n },\n {\n type: \"error\",\n name: \"ProtocolFeeExceeds\",\n inputs: [],\n },\n {\n type: \"error\",\n name: \"ReentrancyGuardReentrantCall\",\n inputs: [],\n },\n {\n type: \"error\",\n name: \"RouterMustBeSet\",\n inputs: [],\n },\n {\n type: \"error\",\n name: \"UnauthorizedVerifier\",\n inputs: [],\n },\n {\n type: \"error\",\n name: \"UnsupportedVerifierToken\",\n inputs: [\n {\n name: \"token\",\n type: \"address\",\n internalType: \"address\",\n },\n ],\n },\n] as const;\n\nexport class CoordinatorAbi__factory {\n static readonly abi = _abi;\n static createInterface(): CoordinatorAbiInterface {\n return new Interface(_abi) as CoordinatorAbiInterface;\n }\n static connect(\n address: string,\n runner?: ContractRunner | null\n ): CoordinatorAbi {\n return new Contract(address, _abi, runner) as unknown as CoordinatorAbi;\n }\n}\n","/* Autogenerated file. Do not edit manually. */\n/* tslint:disable */\n/* eslint-disable */\n\nimport { Contract, Interface, type ContractRunner } from \"ethers\";\nimport type { RouterAbi, RouterAbiInterface } from \"../RouterAbi\";\n\nconst _abi = [\n {\n type: \"constructor\",\n inputs: [\n {\n name: \"_initialOwner\",\n type: \"address\",\n internalType: \"address\",\n },\n ],\n stateMutability: \"nonpayable\",\n },\n {\n type: \"function\",\n name: \"EIP712_NAME\",\n inputs: [],\n outputs: [\n {\n name: \"\",\n type: \"string\",\n internalType: \"string\",\n },\n ],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"EIP712_VERSION\",\n inputs: [],\n outputs: [\n {\n name: \"\",\n type: \"string\",\n internalType: \"string\",\n },\n ],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"acceptOwnership\",\n inputs: [],\n outputs: [],\n stateMutability: \"nonpayable\",\n },\n {\n type: \"function\",\n name: \"cancelComputeSubscription\",\n inputs: [\n {\n name: \"subscriptionId\",\n type: \"uint64\",\n internalType: \"uint64\",\n },\n ],\n outputs: [],\n stateMutability: \"nonpayable\",\n },\n {\n type: \"function\",\n name: \"client\",\n inputs: [],\n outputs: [\n {\n name: \"\",\n type: \"address\",\n internalType: \"address\",\n },\n ],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"createComputeSubscription\",\n inputs: [\n {\n name: \"containerId\",\n type: \"string\",\n internalType: \"string\",\n },\n {\n name: \"maxExecutions\",\n type: \"uint32\",\n internalType: \"uint32\",\n },\n {\n name: \"intervalSeconds\",\n type: \"uint32\",\n internalType: \"uint32\",\n },\n {\n name: \"redundancy\",\n type: \"uint16\",\n internalType: \"uint16\",\n },\n {\n name: \"useDeliveryInbox\",\n type: \"bool\",\n internalType: \"bool\",\n },\n {\n name: \"feeToken\",\n type: \"address\",\n internalType: \"address\",\n },\n {\n name: \"feeAmount\",\n type: \"uint256\",\n internalType: \"uint256\",\n },\n {\n name: \"wallet\",\n type: \"address\",\n internalType: \"address\",\n },\n {\n name: \"verifier\",\n type: \"address\",\n internalType: \"address\",\n },\n {\n name: \"routeId\",\n type: \"bytes32\",\n internalType: \"bytes32\",\n },\n ],\n outputs: [\n {\n name: \"\",\n type: \"uint64\",\n internalType: \"uint64\",\n },\n ],\n stateMutability: \"nonpayable\",\n },\n {\n type: \"function\",\n name: \"createSubscriptionDelegatee\",\n inputs: [\n {\n name: \"nonce\",\n type: \"uint32\",\n internalType: \"uint32\",\n },\n {\n name: \"expiry\",\n type: \"uint32\",\n internalType: \"uint32\",\n },\n {\n name: \"sub\",\n type: \"tuple\",\n internalType: \"struct ComputeSubscription\",\n components: [\n {\n name: \"routeId\",\n type: \"bytes32\",\n internalType: \"bytes32\",\n },\n {\n name: \"containerId\",\n type: \"bytes32\",\n internalType: \"bytes32\",\n },\n {\n name: \"feeAmount\",\n type: \"uint256\",\n internalType: \"uint256\",\n },\n {\n name: \"client\",\n type: \"address\",\n internalType: \"address\",\n },\n {\n name: \"activeAt\",\n type: \"uint32\",\n internalType: \"uint32\",\n },\n {\n name: \"intervalSeconds\",\n type: \"uint32\",\n internalType: \"uint32\",\n },\n {\n name: \"maxExecutions\",\n type: \"uint32\",\n internalType: \"uint32\",\n },\n {\n name: \"wallet\",\n type: \"address\",\n internalType: \"address payable\",\n },\n {\n name: \"feeToken\",\n type: \"address\",\n internalType: \"address\",\n },\n {\n name: \"verifier\",\n type: \"address\",\n internalType: \"address payable\",\n },\n {\n name: \"redundancy\",\n type: \"uint16\",\n internalType: \"uint16\",\n },\n {\n name: \"useDeliveryInbox\",\n type: \"bool\",\n internalType: \"bool\",\n },\n ],\n },\n {\n name: \"signature\",\n type: \"bytes\",\n internalType: \"bytes\",\n },\n ],\n outputs: [\n {\n name: \"\",\n type: \"uint64\",\n internalType: \"uint64\",\n },\n ],\n stateMutability: \"nonpayable\",\n },\n {\n type: \"function\",\n name: \"createSubscriptionFor\",\n inputs: [\n {\n name: \"sub\",\n type: \"tuple\",\n internalType: \"struct ComputeSubscription\",\n components: [\n {\n name: \"routeId\",\n type: \"bytes32\",\n internalType: \"bytes32\",\n },\n {\n name: \"containerId\",\n type: \"bytes32\",\n internalType: \"bytes32\",\n },\n {\n name: \"feeAmount\",\n type: \"uint256\",\n internalType: \"uint256\",\n },\n {\n name: \"client\",\n type: \"address\",\n internalType: \"address\",\n },\n {\n name: \"activeAt\",\n type: \"uint32\",\n internalType: \"uint32\",\n },\n {\n name: \"intervalSeconds\",\n type: \"uint32\",\n internalType: \"uint32\",\n },\n {\n name: \"maxExecutions\",\n type: \"uint32\",\n internalType: \"uint32\",\n },\n {\n name: \"wallet\",\n type: \"address\",\n internalType: \"address payable\",\n },\n {\n name: \"feeToken\",\n type: \"address\",\n internalType: \"address\",\n },\n {\n name: \"verifier\",\n type: \"address\",\n internalType: \"address payable\",\n },\n {\n name: \"redundancy\",\n type: \"uint16\",\n internalType: \"uint16\",\n },\n {\n name: \"useDeliveryInbox\",\n type: \"bool\",\n internalType: \"bool\",\n },\n ],\n },\n ],\n outputs: [\n {\n name: \"\",\n type: \"uint64\",\n internalType: \"uint64\",\n },\n ],\n stateMutability: \"nonpayable\",\n },\n {\n type: \"function\",\n name: \"delegateCreatedIds\",\n inputs: [\n {\n name: \"\",\n type: \"bytes32\",\n internalType: \"bytes32\",\n },\n ],\n outputs: [\n {\n name: \"\",\n type: \"uint64\",\n internalType: \"uint64\",\n },\n ],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"eip712Domain\",\n inputs: [],\n outputs: [\n {\n name: \"fields\",\n type: \"bytes1\",\n internalType: \"bytes1\",\n },\n {\n name: \"name\",\n type: \"string\",\n internalType: \"string\",\n },\n {\n name: \"version\",\n type: \"string\",\n internalType: \"string\",\n },\n {\n name: \"chainId\",\n type: \"uint256\",\n internalType: \"uint256\",\n },\n {\n name: \"verifyingContract\",\n type: \"address\",\n internalType: \"address\",\n },\n {\n name: \"salt\",\n type: \"bytes32\",\n internalType: \"bytes32\",\n },\n {\n name: \"extensions\",\n type: \"uint256[]\",\n internalType: \"uint256[]\",\n },\n ],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"fulfill\",\n inputs: [\n {\n name: \"input\",\n type: \"bytes\",\n internalType: \"bytes\",\n },\n {\n name: \"output\",\n type: \"bytes\",\n internalType: \"bytes\",\n },\n {\n name: \"proof\",\n type: \"bytes\",\n internalType: \"bytes\",\n },\n {\n name: \"numRedundantDeliveries\",\n type: \"uint16\",\n internalType: \"uint16\",\n },\n {\n name: \"nodeWallet\",\n type: \"address\",\n internalType: \"address\",\n },\n {\n name: \"payments\",\n type: \"tuple[]\",\n internalType: \"struct Payment[]\",\n components: [\n {\n name: \"recipient\",\n type: \"address\",\n internalType: \"address\",\n },\n {\n name: \"feeToken\",\n type: \"address\",\n internalType: \"address\",\n },\n {\n name: \"feeAmount\",\n type: \"uint256\",\n internalType: \"uint256\",\n },\n ],\n },\n {\n name: \"commitment\",\n type: \"tuple\",\n internalType: \"struct Commitment\",\n components: [\n {\n name: \"requestId\",\n type: \"bytes32\",\n internalType: \"bytes32\",\n },\n {\n name: \"subscriptionId\",\n type: \"uint64\",\n internalType: \"uint64\",\n },\n {\n name: \"containerId\",\n type: \"bytes32\",\n internalType: \"bytes32\",\n },\n {\n name: \"interval\",\n type: \"uint32\",\n internalType: \"uint32\",\n },\n {\n name: \"useDeliveryInbox\",\n type: \"bool\",\n internalType: \"bool\",\n },\n {\n name: \"redundancy\",\n type: \"uint16\",\n internalType: \"uint16\",\n },\n {\n name: \"walletAddress\",\n type: \"address\",\n internalType: \"address\",\n },\n {\n name: \"feeAmount\",\n type: \"uint256\",\n internalType: \"uint256\",\n },\n {\n name: \"feeToken\",\n type: \"address\",\n internalType: \"address\",\n },\n {\n name: \"verifier\",\n type: \"address\",\n internalType: \"address\",\n },\n {\n name: \"coordinator\",\n type: \"address\",\n internalType: \"address\",\n },\n ],\n },\n ],\n outputs: [\n {\n name: \"resultCode\",\n type: \"uint8\",\n internalType: \"enum FulfillResult\",\n },\n ],\n stateMutability: \"nonpayable\",\n },\n {\n type: \"function\",\n name: \"getComputeSubscription\",\n inputs: [\n {\n name: \"subscriptionId\",\n type: \"uint64\",\n internalType: \"uint64\",\n },\n ],\n outputs: [\n {\n name: \"\",\n type: \"tuple\",\n internalType: \"struct ComputeSubscription\",\n components: [\n {\n name: \"routeId\",\n type: \"bytes32\",\n internalType: \"bytes32\",\n },\n {\n name: \"containerId\",\n type: \"bytes32\",\n internalType: \"bytes32\",\n },\n {\n name: \"feeAmount\",\n type: \"uint256\",\n internalType: \"uint256\",\n },\n {\n name: \"client\",\n type: \"address\",\n internalType: \"address\",\n },\n {\n name: \"activeAt\",\n type: \"uint32\",\n internalType: \"uint32\",\n },\n {\n name: \"intervalSeconds\",\n type: \"uint32\",\n internalType: \"uint32\",\n },\n {\n name: \"maxExecutions\",\n type: \"uint32\",\n internalType: \"uint32\",\n },\n {\n name: \"wallet\",\n type: \"address\",\n internalType: \"address payable\",\n },\n {\n name: \"feeToken\",\n type: \"address\",\n internalType: \"address\",\n },\n {\n name: \"verifier\",\n type: \"address\",\n internalType: \"address payable\",\n },\n {\n name: \"redundancy\",\n type: \"uint16\",\n internalType: \"uint16\",\n },\n {\n name: \"useDeliveryInbox\",\n type: \"bool\",\n internalType: \"bool\",\n },\n ],\n },\n ],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"getComputeSubscriptionInterval\",\n inputs: [\n {\n name: \"subscriptionId\",\n type: \"uint64\",\n internalType: \"uint64\",\n },\n ],\n outputs: [\n {\n name: \"\",\n type: \"uint32\",\n internalType: \"uint32\",\n },\n ],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"getContractById\",\n inputs: [\n {\n name: \"id\",\n type: \"bytes32\",\n internalType: \"bytes32\",\n },\n ],\n outputs: [\n {\n name: \"\",\n type: \"address\",\n internalType: \"address\",\n },\n ],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"getLastSubscriptionId\",\n inputs: [],\n outputs: [\n {\n name: \"\",\n type: \"uint64\",\n internalType: \"uint64\",\n },\n ],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"getProposedContractById\",\n inputs: [\n {\n name: \"id\",\n type: \"bytes32\",\n internalType: \"bytes32\",\n },\n ],\n outputs: [\n {\n name: \"\",\n type: \"address\",\n internalType: \"address\",\n },\n ],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"getWalletFactory\",\n inputs: [],\n outputs: [\n {\n name: \"\",\n type: \"address\",\n internalType: \"address\",\n },\n ],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"hasSubscriptionNextInterval\",\n inputs: [\n {\n name: \"subscriptionId\",\n type: \"uint64\",\n internalType: \"uint64\",\n },\n {\n name: \"currentInterval\",\n type: \"uint32\",\n internalType: \"uint32\",\n },\n ],\n outputs: [\n {\n name: \"\",\n type: \"bool\",\n internalType: \"bool\",\n },\n ],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"isValidWallet\",\n inputs: [\n {\n name: \"walletAddr\",\n type: \"address\",\n internalType: \"address\",\n },\n ],\n outputs: [\n {\n name: \"\",\n type: \"bool\",\n internalType: \"bool\",\n },\n ],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"lockForVerification\",\n inputs: [\n {\n name: \"proofRequest\",\n type: \"tuple\",\n internalType: \"struct ProofVerificationRequest\",\n components: [\n {\n name: \"subscriptionId\",\n type: \"uint64\",\n internalType: \"uint64\",\n },\n {\n name: \"interval\",\n type: \"uint32\",\n internalType: \"uint32\",\n },\n {\n name: \"submitterAddress\",\n type: \"address\",\n internalType: \"address\",\n },\n {\n name: \"submitterWallet\",\n type: \"address\",\n internalType: \"address\",\n },\n {\n name: \"escrowedAmount\",\n type: \"uint256\",\n internalType: \"uint256\",\n },\n {\n name: \"escrowToken\",\n type: \"address\",\n internalType: \"address\",\n },\n {\n name: \"slashAmount\",\n type: \"uint256\",\n internalType: \"uint256\",\n },\n {\n name: \"expiry\",\n type: \"uint32\",\n internalType: \"uint32\",\n },\n ],\n },\n {\n name: \"commitmentHash\",\n type: \"bytes32\",\n internalType: \"bytes32\",\n },\n ],\n outputs: [],\n stateMutability: \"nonpayable\",\n },\n {\n type: \"function\",\n name: \"maxSubscriberNonce\",\n inputs: [\n {\n name: \"\",\n type: \"address\",\n internalType: \"address\",\n },\n ],\n outputs: [\n {\n name: \"\",\n type: \"uint32\",\n internalType: \"uint32\",\n },\n ],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"minRepeatInterval\",\n inputs: [],\n outputs: [\n {\n name: \"\",\n type: \"uint32\",\n internalType: \"uint32\",\n },\n ],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"ownerCancelSubscription\",\n inputs: [\n {\n name: \"subscriptionId\",\n type: \"uint64\",\n internalType: \"uint64\",\n },\n ],\n outputs: [],\n stateMutability: \"nonpayable\",\n },\n {\n type: \"function\",\n name: \"pause\",\n inputs: [],\n outputs: [],\n stateMutability: \"nonpayable\",\n },\n {\n type: \"function\",\n name: \"paused\",\n inputs: [],\n outputs: [\n {\n name: \"\",\n type: \"bool\",\n internalType: \"bool\",\n },\n ],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"payFromCoordinator\",\n inputs: [\n {\n name: \"subscriptionId\",\n type: \"uint64\",\n internalType: \"uint64\",\n },\n {\n name: \"spenderWallet\",\n type: \"address\",\n internalType: \"address\",\n },\n {\n name: \"spenderAddress\",\n type: \"address\",\n internalType: \"address\",\n },\n {\n name: \"payments\",\n type: \"tuple[]\",\n internalType: \"struct Payment[]\",\n components: [\n {\n name: \"recipient\",\n type: \"address\",\n internalType: \"address\",\n },\n {\n name: \"feeToken\",\n type: \"address\",\n internalType: \"address\",\n },\n {\n name: \"feeAmount\",\n type: \"uint256\",\n internalType: \"uint256\",\n },\n ],\n },\n ],\n outputs: [],\n stateMutability: \"nonpayable\",\n },\n {\n type: \"function\",\n name: \"pendingRequestExists\",\n inputs: [\n {\n name: \"subscriptionId\",\n type: \"uint64\",\n internalType: \"uint64\",\n },\n ],\n outputs: [\n {\n name: \"\",\n type: \"bool\",\n internalType: \"bool\",\n },\n ],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"prepareNodeVerification\",\n inputs: [\n {\n name: \"subscriptionId\",\n type: \"uint64\",\n internalType: \"uint64\",\n },\n {\n name: \"nextInterval\",\n type: \"uint32\",\n internalType: \"uint32\",\n },\n {\n name: \"nodeWallet\",\n type: \"address\",\n internalType: \"address\",\n },\n {\n name: \"token\",\n type: \"address\",\n internalType: \"address\",\n },\n {\n name: \"amount\",\n type: \"uint256\",\n internalType: \"uint256\",\n },\n ],\n outputs: [],\n stateMutability: \"nonpayable\",\n },\n {\n type: \"function\",\n name: \"proposeContractsUpdate\",\n inputs: [\n {\n name: \"proposalSetIds\",\n type: \"bytes32[]\",\n internalType: \"bytes32[]\",\n },\n {\n name: \"proposalSetAddresses\",\n type: \"address[]\",\n internalType: \"address[]\",\n },\n ],\n outputs: [],\n stateMutability: \"nonpayable\",\n },\n {\n type: \"function\",\n name: \"sendRequest\",\n inputs: [\n {\n name: \"subscriptionId\",\n type: \"uint64\",\n internalType: \"uint64\",\n },\n {\n name: \"interval\",\n type: \"uint32\",\n internalType: \"uint32\",\n },\n ],\n outputs: [\n {\n name: \"\",\n type: \"bytes32\",\n internalType: \"bytes32\",\n },\n {\n name: \"\",\n type: \"tuple\",\n internalType: \"struct Commitment\",\n components: [\n {\n name: \"requestId\",\n type: \"bytes32\",\n internalType: \"bytes32\",\n },\n {\n name: \"subscriptionId\",\n type: \"uint64\",\n internalType: \"uint64\",\n },\n {\n name: \"containerId\",\n type: \"bytes32\",\n internalType: \"bytes32\",\n },\n {\n name: \"interval\",\n type: \"uint32\",\n internalType: \"uint32\",\n },\n {\n name: \"useDeliveryInbox\",\n type: \"bool\",\n internalType: \"bool\",\n },\n {\n name: \"redundancy\",\n type: \"uint16\",\n internalType: \"uint16\",\n },\n {\n name: \"walletAddress\",\n type: \"address\",\n internalType: \"address\",\n },\n {\n name: \"feeAmount\",\n type: \"uint256\",\n internalType: \"uint256\",\n },\n {\n name: \"feeToken\",\n type: \"address\",\n internalType: \"address\",\n },\n {\n name: \"verifier\",\n type: \"address\",\n internalType: \"address\",\n },\n {\n name: \"coordinator\",\n type: \"address\",\n internalType: \"address\",\n },\n ],\n },\n ],\n stateMutability: \"nonpayable\",\n },\n {\n type: \"function\",\n name: \"setMinRepeatInterval\",\n inputs: [\n {\n name: \"_minRepeatInterval\",\n type: \"uint32\",\n internalType: \"uint32\",\n },\n ],\n outputs: [],\n stateMutability: \"nonpayable\",\n },\n {\n type: \"function\",\n name: \"setWalletFactory\",\n inputs: [\n {\n name: \"_walletFactory\",\n type: \"address\",\n internalType: \"address\",\n },\n ],\n outputs: [],\n stateMutability: \"nonpayable\",\n },\n {\n type: \"function\",\n name: \"timeoutRequest\",\n inputs: [\n {\n name: \"requestId\",\n type: \"bytes32\",\n internalType: \"bytes32\",\n },\n {\n name: \"subscriptionId\",\n type: \"uint64\",\n internalType: \"uint64\",\n },\n {\n name: \"interval\",\n type: \"uint32\",\n internalType: \"uint32\",\n },\n ],\n outputs: [],\n stateMutability: \"nonpayable\",\n },\n {\n type: \"function\",\n name: \"timeoutSubscriptionIntervalsUpTo\",\n inputs: [\n {\n name: \"subscriptionId\",\n type: \"uint64\",\n internalType: \"uint64\",\n },\n {\n name: \"uptoInterval\",\n type: \"uint32\",\n internalType: \"uint32\",\n },\n {\n name: \"maxIter\",\n type: \"uint32\",\n internalType: \"uint32\",\n },\n ],\n outputs: [],\n stateMutability: \"nonpayable\",\n },\n {\n type: \"function\",\n name: \"transferOwnership\",\n inputs: [\n {\n name: \"to\",\n type: \"address\",\n internalType: \"address\",\n },\n ],\n outputs: [],\n stateMutability: \"nonpayable\",\n },\n {\n type: \"function\",\n name: \"typeAndVersion\",\n inputs: [],\n outputs: [\n {\n name: \"\",\n type: \"string\",\n internalType: \"string\",\n },\n ],\n stateMutability: \"pure\",\n },\n {\n type: \"function\",\n name: \"unlockForVerification\",\n inputs: [\n {\n name: \"proofRequest\",\n type: \"tuple\",\n internalType: \"struct ProofVerificationRequest\",\n components: [\n {\n name: \"subscriptionId\",\n type: \"uint64\",\n internalType: \"uint64\",\n },\n {\n name: \"interval\",\n type: \"uint32\",\n internalType: \"uint32\",\n },\n {\n name: \"submitterAddress\",\n type: \"address\",\n internalType: \"address\",\n },\n {\n name: \"submitterWallet\",\n type: \"address\",\n internalType: \"address\",\n },\n {\n name: \"escrowedAmount\",\n type: \"uint256\",\n internalType: \"uint256\",\n },\n {\n name: \"escrowToken\",\n type: \"address\",\n internalType: \"address\",\n },\n {\n name: \"slashAmount\",\n type: \"uint256\",\n internalType: \"uint256\",\n },\n {\n name: \"expiry\",\n type: \"uint32\",\n internalType: \"uint32\",\n },\n ],\n },\n ],\n outputs: [],\n stateMutability: \"nonpayable\",\n },\n {\n type: \"function\",\n name: \"unpause\",\n inputs: [],\n outputs: [],\n stateMutability: \"nonpayable\",\n },\n {\n type: \"function\",\n name: \"updateContracts\",\n inputs: [],\n outputs: [],\n stateMutability: \"nonpayable\",\n },\n {\n type: \"event\",\n name: \"CommitmentTimedOut\",\n inputs: [\n {\n name: \"requestId\",\n type: \"bytes32\",\n indexed: true,\n internalType: \"bytes32\",\n },\n {\n name: \"subscriptionId\",\n type: \"uint64\",\n indexed: true,\n internalType: \"uint64\",\n },\n {\n name: \"interval\",\n type: \"uint32\",\n indexed: true,\n internalType: \"uint32\",\n },\n ],\n anonymous: false,\n },\n {\n type: \"event\",\n name: \"ContractsUpdateProposed\",\n inputs: [\n {\n name: \"ids\",\n type: \"bytes32[]\",\n indexed: false,\n internalType: \"bytes32[]\",\n },\n {\n name: \"addresses\",\n type: \"address[]\",\n indexed: false,\n internalType: \"address[]\",\n },\n ],\n anonymous: false,\n },\n {\n type: \"event\",\n name: \"ContractsUpdated\",\n inputs: [\n {\n name: \"id\",\n type: \"bytes32\",\n indexed: false,\n internalType: \"bytes32\",\n },\n {\n name: \"contractAddress\",\n type: \"address\",\n indexed: false,\n internalType: \"address\",\n },\n ],\n anonymous: false,\n },\n {\n type: \"event\",\n name: \"EIP712DomainChanged\",\n inputs: [],\n anonymous: false,\n },\n {\n type: \"event\",\n name: \"MinRepeatIntervalSet\",\n inputs: [\n {\n name: \"newMinRepeatInterval\",\n type: \"uint32\",\n indexed: false,\n internalType: \"uint32\",\n },\n ],\n anonymous: false,\n },\n {\n type: \"event\",\n name: \"OwnershipTransferRequested\",\n inputs: [\n {\n name: \"from\",\n type: \"address\",\n indexed: true,\n internalType: \"address\",\n },\n {\n name: \"to\",\n type: \"address\",\n indexed: true,\n internalType: \"address\",\n },\n ],\n anonymous: false,\n },\n {\n type: \"event\",\n name: \"OwnershipTransferred\",\n inputs: [\n {\n name: \"from\",\n type: \"address\",\n indexed: true,\n internalType: \"address\",\n },\n {\n name: \"to\",\n type: \"address\",\n indexed: true,\n internalType: \"address\",\n },\n ],\n anonymous: false,\n },\n {\n type: \"event\",\n name: \"Paused\",\n inputs: [\n {\n name: \"account\",\n type: \"address\",\n indexed: false,\n internalType: \"address\",\n },\n ],\n anonymous: false,\n },\n {\n type: \"event\",\n name: \"PaymentMade\",\n inputs: [\n {\n name: \"subscriptionId\",\n type: \"uint64\",\n indexed: true,\n internalType: \"uint64\",\n },\n {\n name: \"spenderWallet\",\n type: \"address\",\n indexed: true,\n internalType: \"address\",\n },\n {\n name: \"recipient\",\n type: \"address\",\n indexed: true,\n internalType: \"address\",\n },\n {\n name: \"token\",\n type: \"address\",\n indexed: false,\n internalType: \"address\",\n },\n {\n name: \"amount\",\n type: \"uint256\",\n indexed: false,\n internalType: \"uint256\",\n },\n ],\n anonymous: false,\n },\n {\n type: \"event\",\n name: \"RequestProcessed\",\n inputs: [\n {\n name: \"requestId\",\n type: \"bytes32\",\n indexed: true,\n internalType: \"bytes32\",\n },\n {\n name: \"subscriptionId\",\n type: \"uint64\",\n indexed: true,\n internalType: \"uint64\",\n },\n {\n name: \"containerId\",\n type: \"bytes32\",\n indexed: true,\n internalType: \"bytes32\",\n },\n {\n name: \"interval\",\n type: \"uint32\",\n indexed: false,\n internalType: \"uint32\",\n },\n {\n name: \"useDeliveryInbox\",\n type: \"bool\",\n indexed: false,\n internalType: \"bool\",\n },\n {\n name: \"feeAmount\",\n type: \"uint256\",\n indexed: false,\n internalType: \"uint256\",\n },\n {\n name: \"feeToken\",\n type: \"address\",\n indexed: false,\n internalType: \"address\",\n },\n {\n name: \"verifier\",\n type: \"address\",\n indexed: false,\n internalType: \"address\",\n },\n {\n name: \"coordinator\",\n type: \"address\",\n indexed: false,\n internalType: \"address\",\n },\n {\n name: \"nodeWallet\",\n type: \"address\",\n indexed: false,\n internalType: \"address\",\n },\n {\n name: \"result\",\n type: \"uint8\",\n indexed: false,\n internalType: \"enum FulfillResult\",\n },\n ],\n anonymous: false,\n },\n {\n type: \"event\",\n name: \"RequestStart\",\n inputs: [\n {\n name: \"requestId\",\n type: \"bytes32\",\n indexed: true,\n internalType: \"bytes32\",\n },\n {\n name: \"subscriptionId\",\n type: \"uint64\",\n indexed: true,\n internalType: \"uint64\",\n },\n {\n name: \"containerId\",\n type: \"bytes32\",\n indexed: true,\n internalType: \"bytes32\",\n },\n {\n name: \"interval\",\n type: \"uint32\",\n indexed: false,\n internalType: \"uint32\",\n },\n {\n name: \"redundancy\",\n type: \"uint16\",\n indexed: false,\n internalType: \"uint16\",\n },\n {\n name: \"useDeliveryInbox\",\n type: \"bool\",\n indexed: false,\n internalType: \"bool\",\n },\n {\n name: \"feeAmount\",\n type: \"uint256\",\n indexed: false,\n internalType: \"uint256\",\n },\n {\n name: \"feeToken\",\n type: \"address\",\n indexed: false,\n internalType: \"address\",\n },\n {\n name: \"verifier\",\n type: \"address\",\n indexed: false,\n internalType: \"address\",\n },\n {\n name: \"coordinator\",\n type: \"address\",\n indexed: false,\n internalType: \"address\",\n },\n ],\n anonymous: false,\n },\n {\n type: \"event\",\n name: \"SubscriptionCancelled\",\n inputs: [\n {\n name: \"subscriptionId\",\n type: \"uint64\",\n indexed: true,\n internalType: \"uint64\",\n },\n ],\n anonymous: false,\n },\n {\n type: \"event\",\n name: \"SubscriptionCreated\",\n inputs: [\n {\n name: \"subscriptionId\",\n type: \"uint64\",\n indexed: true,\n internalType: \"uint64\",\n },\n ],\n anonymous: false,\n },\n {\n type: \"event\",\n name: \"SubscriptionFulfilled\",\n inputs: [\n {\n name: \"id\",\n type: \"uint64\",\n indexed: true,\n internalType: \"uint64\",\n },\n {\n name: \"node\",\n type: \"address\",\n indexed: true,\n internalType: \"address\",\n },\n ],\n anonymous: false,\n },\n {\n type: \"event\",\n name: \"Unpaused\",\n inputs: [\n {\n name: \"account\",\n type: \"address\",\n indexed: false,\n internalType: \"address\",\n },\n ],\n anonymous: false,\n },\n {\n type: \"event\",\n name: \"VerificationFundsLocked\",\n inputs: [\n {\n name: \"subscriptionId\",\n type: \"uint64\",\n indexed: true,\n internalType: \"uint64\",\n },\n {\n name: \"interval\",\n type: \"uint32\",\n indexed: true,\n internalType: \"uint32\",\n },\n {\n name: \"spender\",\n type: \"address\",\n indexed: true,\n internalType: \"address\",\n },\n {\n name: \"amount\",\n type: \"uint256\",\n indexed: false,\n internalType: \"uint256\",\n },\n ],\n anonymous: false,\n },\n {\n type: \"event\",\n name: \"VerificationFundsUnlocked\",\n inputs: [\n {\n name: \"subscriptionId\",\n type: \"uint64\",\n indexed: true,\n internalType: \"uint64\",\n },\n {\n name: \"interval\",\n type: \"uint32\",\n indexed: true,\n internalType: \"uint32\",\n },\n {\n name: \"spender\",\n type: \"address\",\n indexed: true,\n internalType: \"address\",\n },\n {\n name: \"amount\",\n type: \"uint256\",\n indexed: false,\n internalType: \"uint256\",\n },\n ],\n anonymous: false,\n },\n {\n type: \"error\",\n name: \"CannotRemoveWithPendingRequests\",\n inputs: [],\n },\n {\n type: \"error\",\n name: \"CommitmentNotTimeoutable\",\n inputs: [],\n },\n {\n type: \"error\",\n name: \"DuplicateRequestId\",\n inputs: [\n {\n name: \"requestId\",\n type: \"bytes32\",\n internalType: \"bytes32\",\n },\n ],\n },\n {\n type: \"error\",\n name: \"ECDSAInvalidSignature\",\n inputs: [],\n },\n {\n type: \"error\",\n name: \"ECDSAInvalidSignatureLength\",\n inputs: [\n {\n name: \"length\",\n type: \"uint256\",\n internalType: \"uint256\",\n },\n ],\n },\n {\n type: \"error\",\n name: \"ECDSAInvalidSignatureS\",\n inputs: [\n {\n name: \"s\",\n type: \"bytes32\",\n internalType: \"bytes32\",\n },\n ],\n },\n {\n type: \"error\",\n name: \"EmptyRequestData\",\n inputs: [],\n },\n {\n type: \"error\",\n name: \"EnforcedPause\",\n inputs: [],\n },\n {\n type: \"error\",\n name: \"ExpectedPause\",\n inputs: [],\n },\n {\n type: \"error\",\n name: \"InvalidProposedUpdate\",\n inputs: [],\n },\n {\n type: \"error\",\n name: \"InvalidRequestCommitment\",\n inputs: [\n {\n name: \"requestId\",\n type: \"bytes32\",\n internalType: \"bytes32\",\n },\n ],\n },\n {\n type: \"error\",\n name: \"InvalidShortString\",\n inputs: [],\n },\n {\n type: \"error\",\n name: \"InvalidSubscription\",\n inputs: [],\n },\n {\n type: \"error\",\n name: \"InvalidWallet\",\n inputs: [],\n },\n {\n type: \"error\",\n name: \"MismatchedRequestId\",\n inputs: [],\n },\n {\n type: \"error\",\n name: \"MismatchedSubscriptionId\",\n inputs: [],\n },\n {\n type: \"error\",\n name: \"NoSuchCommitment\",\n inputs: [],\n },\n {\n type: \"error\",\n name: \"NotPendingOwner\",\n inputs: [],\n },\n {\n type: \"error\",\n name: \"NotSubscriptionOwner\",\n inputs: [],\n },\n {\n type: \"error\",\n name: \"OnlyCallableByOwner\",\n inputs: [],\n },\n {\n type: \"error\",\n name: \"OnlyCallableFromCoordinator\",\n inputs: [],\n },\n {\n type: \"error\",\n name: \"ReentrancyGuardReentrantCall\",\n inputs: [],\n },\n {\n type: \"error\",\n name: \"RouteNotFound\",\n inputs: [\n {\n name: \"id\",\n type: \"bytes32\",\n internalType: \"bytes32\",\n },\n ],\n },\n {\n type: \"error\",\n name: \"SignatureExpired\",\n inputs: [],\n },\n {\n type: \"error\",\n name: \"SignerMismatch\",\n inputs: [],\n },\n {\n type: \"error\",\n name: \"StringTooLong\",\n inputs: [\n {\n name: \"str\",\n type: \"string\",\n internalType: \"string\",\n },\n ],\n },\n {\n type: \"error\",\n name: \"SubscriptionCompleted\",\n inputs: [],\n },\n {\n type: \"error\",\n name: \"SubscriptionIntervalTooShort\",\n inputs: [\n {\n name: \"interval\",\n type: \"uint32\",\n internalType: \"uint32\",\n },\n {\n name: \"minInterval\",\n type: \"uint32\",\n internalType: \"uint32\",\n },\n ],\n },\n {\n type: \"error\",\n name: \"SubscriptionNotActive\",\n inputs: [],\n },\n {\n type: \"error\",\n name: \"SubscriptionNotFound\",\n inputs: [],\n },\n {\n type: \"error\",\n name: \"TokenMismatch\",\n inputs: [],\n },\n] as const;\n\nexport class RouterAbi__factory {\n static readonly abi = _abi;\n static createInterface(): RouterAbiInterface {\n return new Interface(_abi) as RouterAbiInterface;\n }\n static connect(address: string, runner?: ContractRunner | null): RouterAbi {\n return new Contract(address, _abi, runner) as unknown as RouterAbi;\n }\n}\n","/* Autogenerated file. Do not edit manually. */\n/* tslint:disable */\n/* eslint-disable */\n\nimport { Contract, Interface, type ContractRunner } from \"ethers\";\nimport type {\n SubscriptionBatchReaderAbi,\n SubscriptionBatchReaderAbiInterface,\n} from \"../SubscriptionBatchReaderAbi\";\n\nconst _abi = [\n {\n type: \"constructor\",\n inputs: [\n {\n name: \"_router\",\n type: \"address\",\n internalType: \"address\",\n },\n {\n name: \"_coordinator\",\n type: \"address\",\n internalType: \"address\",\n },\n ],\n stateMutability: \"nonpayable\",\n },\n {\n type: \"function\",\n name: \"getIntervalStatuses\",\n inputs: [\n {\n name: \"ids\",\n type: \"uint64[]\",\n internalType: \"uint64[]\",\n },\n {\n name: \"intervals\",\n type: \"uint32[]\",\n internalType: \"uint32[]\",\n },\n ],\n outputs: [\n {\n name: \"statuses\",\n type: \"tuple[]\",\n internalType: \"struct SubscriptionBatchReader.IntervalStatus[]\",\n components: [\n {\n name: \"redundancyCount\",\n type: \"uint16\",\n internalType: \"uint16\",\n },\n {\n name: \"commitmentExists\",\n type: \"bool\",\n internalType: \"bool\",\n },\n ],\n },\n ],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"getSubscriptions\",\n inputs: [\n {\n name: \"startId\",\n type: \"uint64\",\n internalType: \"uint64\",\n },\n {\n name: \"endId\",\n type: \"uint64\",\n internalType: \"uint64\",\n },\n ],\n outputs: [\n {\n name: \"subscriptions\",\n type: \"tuple[]\",\n internalType: \"struct ComputeSubscription[]\",\n components: [\n {\n name: \"routeId\",\n type: \"bytes32\",\n internalType: \"bytes32\",\n },\n {\n name: \"containerId\",\n type: \"bytes32\",\n internalType: \"bytes32\",\n },\n {\n name: \"feeAmount\",\n type: \"uint256\",\n internalType: \"uint256\",\n },\n {\n name: \"client\",\n type: \"address\",\n internalType: \"address\",\n },\n {\n name: \"activeAt\",\n type: \"uint32\",\n internalType: \"uint32\",\n },\n {\n name: \"intervalSeconds\",\n type: \"uint32\",\n internalType: \"uint32\",\n },\n {\n name: \"maxExecutions\",\n type: \"uint32\",\n internalType: \"uint32\",\n },\n {\n name: \"wallet\",\n type: \"address\",\n internalType: \"address payable\",\n },\n {\n name: \"feeToken\",\n type: \"address\",\n internalType: \"address\",\n },\n {\n name: \"verifier\",\n type: \"address\",\n internalType: \"address payable\",\n },\n {\n name: \"redundancy\",\n type: \"uint16\",\n internalType: \"uint16\",\n },\n {\n name: \"useDeliveryInbox\",\n type: \"bool\",\n internalType: \"bool\",\n },\n ],\n },\n ],\n stateMutability: \"view\",\n },\n] as const;\n\nexport class SubscriptionBatchReaderAbi__factory {\n static readonly abi = _abi;\n static createInterface(): SubscriptionBatchReaderAbiInterface {\n return new Interface(_abi) as SubscriptionBatchReaderAbiInterface;\n }\n static connect(\n address: string,\n runner?: ContractRunner | null\n ): SubscriptionBatchReaderAbi {\n return new Contract(\n address,\n _abi,\n runner\n ) as unknown as SubscriptionBatchReaderAbi;\n }\n}\n","/* Autogenerated file. Do not edit manually. */\n/* tslint:disable */\n/* eslint-disable */\n\nimport { Contract, Interface, type ContractRunner } from \"ethers\";\nimport type { WalletAbi, WalletAbiInterface } from \"../WalletAbi\";\n\nconst _abi = [\n {\n type: \"constructor\",\n inputs: [\n {\n name: \"router\",\n type: \"address\",\n internalType: \"address\",\n },\n {\n name: \"initialOwner\",\n type: \"address\",\n internalType: \"address\",\n },\n ],\n stateMutability: \"nonpayable\",\n },\n {\n type: \"receive\",\n stateMutability: \"payable\",\n },\n {\n type: \"function\",\n name: \"allowance\",\n inputs: [\n {\n name: \"\",\n type: \"address\",\n internalType: \"address\",\n },\n {\n name: \"\",\n type: \"address\",\n internalType: \"address\",\n },\n ],\n outputs: [\n {\n name: \"\",\n type: \"uint256\",\n internalType: \"uint256\",\n },\n ],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"approve\",\n inputs: [\n {\n name: \"spender\",\n type: \"address\",\n internalType: \"address\",\n },\n {\n name: \"token\",\n type: \"address\",\n internalType: \"address\",\n },\n {\n name: \"amount\",\n type: \"uint256\",\n internalType: \"uint256\",\n },\n ],\n outputs: [],\n stateMutability: \"nonpayable\",\n },\n {\n type: \"function\",\n name: \"disburseForFulfillment\",\n inputs: [\n {\n name: \"requestId\",\n type: \"bytes32\",\n internalType: \"bytes32\",\n },\n {\n name: \"payments\",\n type: \"tuple[]\",\n internalType: \"struct Payment[]\",\n components: [\n {\n name: \"recipient\",\n type: \"address\",\n internalType: \"address\",\n },\n {\n name: \"feeToken\",\n type: \"address\",\n internalType: \"address\",\n },\n {\n name: \"feeAmount\",\n type: \"uint256\",\n internalType: \"uint256\",\n },\n ],\n },\n ],\n outputs: [],\n stateMutability: \"nonpayable\",\n },\n {\n type: \"function\",\n name: \"disburseForRequest\",\n inputs: [\n {\n name: \"requestId\",\n type: \"bytes32\",\n internalType: \"bytes32\",\n },\n {\n name: \"to\",\n type: \"address\",\n internalType: \"address\",\n },\n {\n name: \"amount\",\n type: \"uint256\",\n internalType: \"uint256\",\n },\n ],\n outputs: [],\n stateMutability: \"nonpayable\",\n },\n {\n type: \"function\",\n name: \"isLocked\",\n inputs: [\n {\n name: \"spender\",\n type: \"address\",\n internalType: \"address\",\n },\n {\n name: \"token\",\n type: \"address\",\n internalType: \"address\",\n },\n ],\n outputs: [\n {\n name: \"\",\n type: \"bool\",\n internalType: \"bool\",\n },\n ],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"isValidSignature\",\n inputs: [\n {\n name: \"hash_\",\n type: \"bytes32\",\n internalType: \"bytes32\",\n },\n {\n name: \"signature_\",\n type: \"bytes\",\n internalType: \"bytes\",\n },\n ],\n outputs: [\n {\n name: \"\",\n type: \"bytes4\",\n internalType: \"bytes4\",\n },\n ],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"lockEscrow\",\n inputs: [\n {\n name: \"spender\",\n type: \"address\",\n internalType: \"address\",\n },\n {\n name: \"token\",\n type: \"address\",\n internalType: \"address\",\n },\n {\n name: \"amount\",\n type: \"uint256\",\n internalType: \"uint256\",\n },\n ],\n outputs: [],\n stateMutability: \"nonpayable\",\n },\n {\n type: \"function\",\n name: \"lockForRequest\",\n inputs: [\n {\n name: \"spender\",\n type: \"address\",\n internalType: \"address\",\n },\n {\n name: \"token\",\n type: \"address\",\n internalType: \"address\",\n },\n {\n name: \"totalAmount\",\n type: \"uint256\",\n internalType: \"uint256\",\n },\n {\n name: \"requestId\",\n type: \"bytes32\",\n internalType: \"bytes32\",\n },\n {\n name: \"redundancy\",\n type: \"uint16\",\n internalType: \"uint16\",\n },\n ],\n outputs: [],\n stateMutability: \"nonpayable\",\n },\n {\n type: \"function\",\n name: \"lockedOf\",\n inputs: [\n {\n name: \"spender\",\n type: \"address\",\n internalType: \"address\",\n },\n {\n name: \"token\",\n type: \"address\",\n internalType: \"address\",\n },\n ],\n outputs: [\n {\n name: \"\",\n type: \"uint256\",\n internalType: \"uint256\",\n },\n ],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"lockedOfRequest\",\n inputs: [\n {\n name: \"requestId\",\n type: \"bytes32\",\n internalType: \"bytes32\",\n },\n ],\n outputs: [\n {\n name: \"\",\n type: \"uint256\",\n internalType: \"uint256\",\n },\n ],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"owner\",\n inputs: [],\n outputs: [\n {\n name: \"\",\n type: \"address\",\n internalType: \"address\",\n },\n ],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"paidCountOfRequest\",\n inputs: [\n {\n name: \"requestId\",\n type: \"bytes32\",\n internalType: \"bytes32\",\n },\n ],\n outputs: [\n {\n name: \"\",\n type: \"uint16\",\n internalType: \"uint16\",\n },\n ],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"releaseEscrow\",\n inputs: [\n {\n name: \"spender\",\n type: \"address\",\n internalType: \"address\",\n },\n {\n name: \"token\",\n type: \"address\",\n internalType: \"address\",\n },\n {\n name: \"amount\",\n type: \"uint256\",\n internalType: \"uint256\",\n },\n ],\n outputs: [],\n stateMutability: \"nonpayable\",\n },\n {\n type: \"function\",\n name: \"releaseForRequest\",\n inputs: [\n {\n name: \"requestId\",\n type: \"bytes32\",\n internalType: \"bytes32\",\n },\n ],\n outputs: [],\n stateMutability: \"nonpayable\",\n },\n {\n type: \"function\",\n name: \"renounceOwnership\",\n inputs: [],\n outputs: [],\n stateMutability: \"nonpayable\",\n },\n {\n type: \"function\",\n name: \"totalLockedFor\",\n inputs: [\n {\n name: \"token\",\n type: \"address\",\n internalType: \"address\",\n },\n ],\n outputs: [\n {\n name: \"\",\n type: \"uint256\",\n internalType: \"uint256\",\n },\n ],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"transferByRouter\",\n inputs: [\n {\n name: \"spender\",\n type: \"address\",\n internalType: \"address\",\n },\n {\n name: \"payments\",\n type: \"tuple[]\",\n internalType: \"struct Payment[]\",\n components: [\n {\n name: \"recipient\",\n type: \"address\",\n internalType: \"address\",\n },\n {\n name: \"feeToken\",\n type: \"address\",\n internalType: \"address\",\n },\n {\n name: \"feeAmount\",\n type: \"uint256\",\n internalType: \"uint256\",\n },\n ],\n },\n ],\n outputs: [],\n stateMutability: \"nonpayable\",\n },\n {\n type: \"function\",\n name: \"transferOwnership\",\n inputs: [\n {\n name: \"newOwner\",\n type: \"address\",\n internalType: \"address\",\n },\n ],\n outputs: [],\n stateMutability: \"nonpayable\",\n },\n {\n type: \"function\",\n name: \"typeAndVersion\",\n inputs: [],\n outputs: [\n {\n name: \"\",\n type: \"string\",\n internalType: \"string\",\n },\n ],\n stateMutability: \"pure\",\n },\n {\n type: \"function\",\n name: \"withdraw\",\n inputs: [\n {\n name: \"token\",\n type: \"address\",\n internalType: \"address\",\n },\n {\n name: \"amount\",\n type: \"uint256\",\n internalType: \"uint256\",\n },\n ],\n outputs: [],\n stateMutability: \"nonpayable\",\n },\n {\n type: \"event\",\n name: \"Approval\",\n inputs: [\n {\n name: \"spender\",\n type: \"address\",\n indexed: true,\n internalType: \"address\",\n },\n {\n name: \"token\",\n type: \"address\",\n indexed: true,\n internalType: \"address\",\n },\n {\n name: \"amount\",\n type: \"uint256\",\n indexed: false,\n internalType: \"uint256\",\n },\n ],\n anonymous: false,\n },\n {\n type: \"event\",\n name: \"Deposit\",\n inputs: [\n {\n name: \"token\",\n type: \"address\",\n indexed: true,\n internalType: \"address\",\n },\n {\n name: \"amount\",\n type: \"uint256\",\n indexed: false,\n internalType: \"uint256\",\n },\n ],\n anonymous: false,\n },\n {\n type: \"event\",\n name: \"Escrow\",\n inputs: [\n {\n name: \"spender\",\n type: \"address\",\n indexed: true,\n internalType: \"address\",\n },\n {\n name: \"token\",\n type: \"address\",\n indexed: true,\n internalType: \"address\",\n },\n {\n name: \"amount\",\n type: \"uint256\",\n indexed: false,\n internalType: \"uint256\",\n },\n {\n name: \"locked\",\n type: \"bool\",\n indexed: false,\n internalType: \"bool\",\n },\n ],\n anonymous: false,\n },\n {\n type: \"event\",\n name: \"OwnershipTransferred\",\n inputs: [\n {\n name: \"previousOwner\",\n type: \"address\",\n indexed: true,\n internalType: \"address\",\n },\n {\n name: \"newOwner\",\n type: \"address\",\n indexed: true,\n internalType: \"address\",\n },\n ],\n anonymous: false,\n },\n {\n type: \"event\",\n name: \"RequestDisbursed\",\n inputs: [\n {\n name: \"requestId\",\n type: \"bytes32\",\n indexed: true,\n internalType: \"bytes32\",\n },\n {\n name: \"to\",\n type: \"address\",\n indexed: true,\n internalType: \"address\",\n },\n {\n name: \"token\",\n type: \"address\",\n indexed: true,\n internalType: \"address\",\n },\n {\n name: \"amount\",\n type: \"uint256\",\n indexed: false,\n internalType: \"uint256\",\n },\n {\n name: \"paidCount\",\n type: \"uint16\",\n indexed: false,\n internalType: \"uint16\",\n },\n ],\n anonymous: false,\n },\n {\n type: \"event\",\n name: \"RequestLocked\",\n inputs: [\n {\n name: \"requestId\",\n type: \"bytes32\",\n indexed: true,\n internalType: \"bytes32\",\n },\n {\n name: \"spender\",\n type: \"address\",\n indexed: true,\n internalType: \"address\",\n },\n {\n name: \"token\",\n type: \"address\",\n indexed: true,\n internalType: \"address\",\n },\n {\n name: \"totalAmount\",\n type: \"uint256\",\n indexed: false,\n internalType: \"uint256\",\n },\n {\n name: \"redundancy\",\n type: \"uint16\",\n indexed: false,\n internalType: \"uint16\",\n },\n ],\n anonymous: false,\n },\n {\n type: \"event\",\n name: \"RequestReleased\",\n inputs: [\n {\n name: \"requestId\",\n type: \"bytes32\",\n indexed: true,\n internalType: \"bytes32\",\n },\n {\n name: \"spender\",\n type: \"address\",\n indexed: true,\n internalType: \"address\",\n },\n {\n name: \"token\",\n type: \"address\",\n indexed: true,\n internalType: \"address\",\n },\n {\n name: \"amountRefunded\",\n type: \"uint256\",\n indexed: false,\n internalType: \"uint256\",\n },\n ],\n anonymous: false,\n },\n {\n type: \"event\",\n name: \"Transfer\",\n inputs: [\n {\n name: \"spender\",\n type: \"address\",\n indexed: true,\n internalType: \"address\",\n },\n {\n name: \"token\",\n type: \"address\",\n indexed: false,\n internalType: \"address\",\n },\n {\n name: \"to\",\n type: \"address\",\n indexed: true,\n internalType: \"address\",\n },\n {\n name: \"amount\",\n type: \"uint256\",\n indexed: false,\n internalType: \"uint256\",\n },\n ],\n anonymous: false,\n },\n {\n type: \"event\",\n name: \"Withdraw\",\n inputs: [\n {\n name: \"token\",\n type: \"address\",\n indexed: true,\n internalType: \"address\",\n },\n {\n name: \"amount\",\n type: \"uint256\",\n indexed: false,\n internalType: \"uint256\",\n },\n ],\n anonymous: false,\n },\n {\n type: \"error\",\n name: \"ECDSAInvalidSignature\",\n inputs: [],\n },\n {\n type: \"error\",\n name: \"ECDSAInvalidSignatureLength\",\n inputs: [\n {\n name: \"length\",\n type: \"uint256\",\n internalType: \"uint256\",\n },\n ],\n },\n {\n type: \"error\",\n name: \"ECDSAInvalidSignatureS\",\n inputs: [\n {\n name: \"s\",\n type: \"bytes32\",\n internalType: \"bytes32\",\n },\n ],\n },\n {\n type: \"error\",\n name: \"ExceedsRemaining\",\n inputs: [],\n },\n {\n type: \"error\",\n name: \"FailedCall\",\n inputs: [],\n },\n {\n type: \"error\",\n name: \"InconsistentLockedBalance\",\n inputs: [],\n },\n {\n type: \"error\",\n name: \"InsufficientAllowance\",\n inputs: [],\n },\n {\n type: \"error\",\n name: \"InsufficientBalance\",\n inputs: [\n {\n name: \"balance\",\n type: \"uint256\",\n internalType: \"uint256\",\n },\n {\n name: \"needed\",\n type: \"uint256\",\n internalType: \"uint256\",\n },\n ],\n },\n {\n type: \"error\",\n name: \"InsufficientFunds\",\n inputs: [],\n },\n {\n type: \"error\",\n name: \"MismatchPaymentToken\",\n inputs: [],\n },\n {\n type: \"error\",\n name: \"NoSuchRequestLock\",\n inputs: [],\n },\n {\n type: \"error\",\n name: \"OnlyCallableByRouter\",\n inputs: [],\n },\n {\n type: \"error\",\n name: \"OnlyCallableByRouterOwner\",\n inputs: [],\n },\n {\n type: \"error\",\n name: \"OwnableInvalidOwner\",\n inputs: [\n {\n name: \"owner\",\n type: \"address\",\n internalType: \"address\",\n },\n ],\n },\n {\n type: \"error\",\n name: \"OwnableUnauthorizedAccount\",\n inputs: [\n {\n name: \"account\",\n type: \"address\",\n internalType: \"address\",\n },\n ],\n },\n {\n type: \"error\",\n name: \"RedundancyExhausted\",\n inputs: [],\n },\n {\n type: \"error\",\n name: \"ReentrancyGuardReentrantCall\",\n inputs: [],\n },\n {\n type: \"error\",\n name: \"RequestAlreadyLocked\",\n inputs: [],\n },\n {\n type: \"error\",\n name: \"RouterMustBeSet\",\n inputs: [],\n },\n {\n type: \"error\",\n name: \"SafeERC20FailedOperation\",\n inputs: [\n {\n name: \"token\",\n type: \"address\",\n internalType: \"address\",\n },\n ],\n },\n {\n type: \"error\",\n name: \"ZeroAmount\",\n inputs: [],\n },\n] as const;\n\nexport class WalletAbi__factory {\n static readonly abi = _abi;\n static createInterface(): WalletAbiInterface {\n return new Interface(_abi) as WalletAbiInterface;\n }\n static connect(address: string, runner?: ContractRunner | null): WalletAbi {\n return new Contract(address, _abi, runner) as unknown as WalletAbi;\n }\n}\n","/* Autogenerated file. Do not edit manually. */\n/* tslint:disable */\n/* eslint-disable */\n\nimport { Contract, Interface, type ContractRunner } from \"ethers\";\nimport type {\n WalletFactoryAbi,\n WalletFactoryAbiInterface,\n} from \"../WalletFactoryAbi\";\n\nconst _abi = [\n {\n type: \"constructor\",\n inputs: [\n {\n name: \"router\",\n type: \"address\",\n internalType: \"address\",\n },\n ],\n stateMutability: \"nonpayable\",\n },\n {\n type: \"function\",\n name: \"createWallet\",\n inputs: [\n {\n name: \"initialOwner\",\n type: \"address\",\n internalType: \"address\",\n },\n ],\n outputs: [\n {\n name: \"walletAddr\",\n type: \"address\",\n internalType: \"address\",\n },\n ],\n stateMutability: \"nonpayable\",\n },\n {\n type: \"function\",\n name: \"isValidWallet\",\n inputs: [\n {\n name: \"walletAddr\",\n type: \"address\",\n internalType: \"address\",\n },\n ],\n outputs: [\n {\n name: \"isCreated\",\n type: \"bool\",\n internalType: \"bool\",\n },\n ],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"typeAndVersion\",\n inputs: [],\n outputs: [\n {\n name: \"\",\n type: \"string\",\n internalType: \"string\",\n },\n ],\n stateMutability: \"pure\",\n },\n {\n type: \"event\",\n name: \"WalletCreated\",\n inputs: [\n {\n name: \"operator\",\n type: \"address\",\n indexed: true,\n internalType: \"address\",\n },\n {\n name: \"owner\",\n type: \"address\",\n indexed: true,\n internalType: \"address\",\n },\n {\n name: \"walletAddress\",\n type: \"address\",\n indexed: false,\n internalType: \"address\",\n },\n ],\n anonymous: false,\n },\n {\n type: \"error\",\n name: \"OnlyCallableByRouter\",\n inputs: [],\n },\n {\n type: \"error\",\n name: \"OnlyCallableByRouterOwner\",\n inputs: [],\n },\n {\n type: \"error\",\n name: \"RouterMustBeSet\",\n inputs: [],\n },\n] as const;\n\nexport class WalletFactoryAbi__factory {\n static readonly abi = _abi;\n static createInterface(): WalletFactoryAbiInterface {\n return new Interface(_abi) as WalletFactoryAbiInterface;\n }\n static connect(\n address: string,\n runner?: ContractRunner | null\n ): WalletFactoryAbi {\n return new Contract(address, _abi, runner) as unknown as WalletFactoryAbi;\n }\n}\n","import { Contract, Provider, Signer, EventLog, ContractTransactionResponse } from 'ethers';\nimport RouterABI from './abis/Router.abi.json';\nimport type {\n ComputeSubscription,\n Commitment,\n Payment,\n ProofVerificationRequest,\n FulfillResult,\n} from './types';\n\n/**\n * RouterContract\n * TypeScript wrapper for the Noosphere Router contract\n * Based on IRouter interface from noosphere-evm\n */\nexport class RouterContract {\n private contract: Contract;\n\n constructor(address: string, providerOrSigner: Provider | Signer) {\n this.contract = new Contract(address, RouterABI, providerOrSigner);\n }\n\n /*//////////////////////////////////////////////////////////////////////////\n REQUEST LIFECYCLE - READ / SEND\n //////////////////////////////////////////////////////////////////////////*/\n\n /**\n * Create and announce a new request for a given subscription interval\n */\n async sendRequest(\n subscriptionId: bigint,\n interval: number\n ): Promise<{ requestId: string; commitment: Commitment }> {\n const result = await this.contract.sendRequest(subscriptionId, interval);\n return {\n requestId: result.requestId,\n commitment: this.parseCommitment(result.commitment),\n };\n }\n\n /**\n * Query whether the given subscription has a next interval\n */\n async hasSubscriptionNextInterval(\n subscriptionId: bigint,\n currentInterval: number\n ): Promise<boolean> {\n return this.contract.hasSubscriptionNextInterval(subscriptionId, currentInterval);\n }\n\n /**\n * Get a ComputeSubscription by ID\n */\n async getComputeSubscription(subscriptionId: bigint): Promise<ComputeSubscription> {\n const sub = await this.contract.getComputeSubscription(subscriptionId);\n return this.parseComputeSubscription(sub);\n }\n\n /*//////////////////////////////////////////////////////////////////////////\n FULFILLMENT & PAYMENT HANDLERS\n //////////////////////////////////////////////////////////////////////////*/\n\n /**\n * Accept fulfillment results and attempt on-chain settlement\n */\n async fulfill(\n input: Uint8Array,\n output: Uint8Array,\n proof: Uint8Array,\n numRedundantDeliveries: number,\n nodeWallet: string,\n payments: Payment[],\n commitment: Commitment\n ): Promise<FulfillResult> {\n const result = await this.contract.fulfill(\n input,\n output,\n proof,\n numRedundantDeliveries,\n nodeWallet,\n payments,\n commitment\n );\n return result as FulfillResult;\n }\n\n /**\n * Execute coordinator-driven payouts\n */\n async payFromCoordinator(\n subscriptionId: bigint,\n spenderWallet: string,\n spenderAddress: string,\n payments: Payment[]\n ): Promise<ContractTransactionResponse> {\n return this.contract.payFromCoordinator(\n subscriptionId,\n spenderWallet,\n spenderAddress,\n payments\n );\n }\n\n /*//////////////////////////////////////////////////////////////////////////\n VERIFICATION ESCROW (LOCK / UNLOCK)\n //////////////////////////////////////////////////////////////////////////*/\n\n /**\n * Lock consumer funds for proof verification\n */\n async lockForVerification(\n proofRequest: ProofVerificationRequest,\n commitmentHash: string\n ): Promise<ContractTransactionResponse> {\n return this.contract.lockForVerification(proofRequest, commitmentHash);\n }\n\n /**\n * Release previously locked funds\n */\n async unlockForVerification(\n proofRequest: ProofVerificationRequest\n ): Promise<ContractTransactionResponse> {\n return this.contract.unlockForVerification(proofRequest);\n }\n\n /**\n * Prepare node-side verification parameters\n */\n async prepareNodeVerification(\n subscriptionId: bigint,\n nextInterval: number,\n nodeWallet: string,\n token: string,\n amount: bigint\n ): Promise<ContractTransactionResponse> {\n return this.contract.prepareNodeVerification(\n subscriptionId,\n nextInterval,\n nodeWallet,\n token,\n amount\n );\n }\n\n /*//////////////////////////////////////////////////////////////////////////\n SUBSCRIPTION MANAGEMENT\n //////////////////////////////////////////////////////////////////////////*/\n\n /**\n * Get the last subscription ID issued by the Router\n */\n async getLastSubscriptionId(): Promise<bigint> {\n return this.contract.getLastSubscriptionId();\n }\n\n /*//////////////////////////////////////////////////////////////////////////\n CONTRACT REGISTRY & GOVERNANCE\n //////////////////////////////////////////////////////////////////////////*/\n\n /**\n * Resolve a registered contract address by its canonical ID\n */\n async getContractById(id: string): Promise<string> {\n return this.contract.getContractById(id);\n }\n\n /**\n * Resolve a proposed contract address by its canonical ID\n */\n async getProposedContractById(id: string): Promise<string> {\n return this.contract.getProposedContractById(id);\n }\n\n /*//////////////////////////////////////////////////////////////////////////\n WALLET FACTORY / VALIDATION\n //////////////////////////////////////////////////////////////////////////*/\n\n /**\n * Get the WalletFactory contract address\n */\n async getWalletFactory(): Promise<string> {\n return this.contract.getWalletFactory();\n }\n\n /**\n * Validate whether the given address is a valid Wallet\n */\n async isValidWallet(walletAddr: string): Promise<boolean> {\n return this.contract.isValidWallet(walletAddr);\n }\n\n /*//////////////////////////////////////////////////////////////////////////\n ADMIN\n //////////////////////////////////////////////////////////////////////////*/\n\n /**\n * Pause router operations\n */\n async pause(): Promise<ContractTransactionResponse> {\n return this.contract.pause();\n }\n\n /**\n * Resume router operations\n */\n async unpause(): Promise<ContractTransactionResponse> {\n return this.contract.unpause();\n }\n\n /*//////////////////////////////////////////////////////////////////////////\n TIMEOUTS\n //////////////////////////////////////////////////////////////////////////*/\n\n /**\n * Mark a request as timed out\n */\n async timeoutRequest(\n requestId: string,\n subscriptionId: bigint,\n interval: number\n ): Promise<ContractTransactionResponse> {\n return this.contract.timeoutRequest(requestId, subscriptionId, interval);\n }\n\n /*//////////////////////////////////////////////////////////////////////////\n EVENT FILTERS & LISTENERS\n //////////////////////////////////////////////////////////////////////////*/\n\n /**\n * Event filters\n */\n get filters() {\n return {\n RequestStarted: () => this.contract.filters.RequestStarted(),\n SubscriptionCreated: () => this.contract.filters.SubscriptionCreated(),\n SubscriptionCancelled: () => this.contract.filters.SubscriptionCancelled(),\n };\n }\n\n /**\n * Listen for events\n */\n on(event: string, listener: (...args: any[]) => void): void {\n this.contract.on(event, listener);\n }\n\n /**\n * Remove all listeners\n */\n removeAllListeners(event?: string): void {\n this.contract.removeAllListeners(event);\n }\n\n /**\n * Query past events\n */\n async queryFilter(\n filter: any,\n fromBlock?: number,\n toBlock?: number | string\n ): Promise<EventLog[]> {\n return this.contract.queryFilter(filter, fromBlock, toBlock) as Promise<EventLog[]>;\n }\n\n /*//////////////////////////////////////////////////////////////////////////\n HELPERS\n //////////////////////////////////////////////////////////////////////////*/\n\n /**\n * Get the contract address\n */\n get address(): string {\n return this.contract.target as string;\n }\n\n /**\n * Get the underlying ethers Contract\n */\n get raw(): Contract {\n return this.contract;\n }\n\n /*//////////////////////////////////////////////////////////////////////////\n PRIVATE PARSERS\n //////////////////////////////////////////////////////////////////////////*/\n\n private parseComputeSubscription(sub: any): ComputeSubscription {\n return {\n routeId: sub.routeId,\n containerId: sub.containerId,\n feeAmount: BigInt(sub.feeAmount),\n client: sub.client,\n activeAt: Number(sub.activeAt),\n intervalSeconds: Number(sub.intervalSeconds),\n maxExecutions: Number(sub.maxExecutions),\n wallet: sub.wallet,\n feeToken: sub.feeToken,\n verifier: sub.verifier,\n redundancy: Number(sub.redundancy),\n useDeliveryInbox: sub.useDeliveryInbox,\n };\n }\n\n private parseCommitment(commitment: any): Commitment {\n return {\n requestId: commitment.requestId,\n subscriptionId: BigInt(commitment.subscriptionId),\n interval: Number(commitment.interval),\n redundancy: Number(commitment.redundancy),\n containerId: commitment.containerId,\n client: commitment.client,\n wallet: commitment.wallet,\n feeToken: commitment.feeToken,\n feeAmount: BigInt(commitment.feeAmount),\n verifier: commitment.verifier,\n useDeliveryInbox: commitment.useDeliveryInbox,\n };\n }\n}\n","[\n {\n \"type\": \"constructor\",\n \"inputs\": [\n {\n \"name\": \"_initialOwner\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n }\n ],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"EIP712_NAME\",\n \"inputs\": [],\n \"outputs\": [\n {\n \"name\": \"\",\n \"type\": \"string\",\n \"internalType\": \"string\"\n }\n ],\n \"stateMutability\": \"view\"\n },\n {\n \"type\": \"function\",\n \"name\": \"EIP712_VERSION\",\n \"inputs\": [],\n \"outputs\": [\n {\n \"name\": \"\",\n \"type\": \"string\",\n \"internalType\": \"string\"\n }\n ],\n \"stateMutability\": \"view\"\n },\n {\n \"type\": \"function\",\n \"name\": \"acceptOwnership\",\n \"inputs\": [],\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"cancelComputeSubscription\",\n \"inputs\": [\n {\n \"name\": \"subscriptionId\",\n \"type\": \"uint64\",\n \"internalType\": \"uint64\"\n }\n ],\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"client\",\n \"inputs\": [],\n \"outputs\": [\n {\n \"name\": \"\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n }\n ],\n \"stateMutability\": \"view\"\n },\n {\n \"type\": \"function\",\n \"name\": \"createComputeSubscription\",\n \"inputs\": [\n {\n \"name\": \"containerId\",\n \"type\": \"string\",\n \"internalType\": \"string\"\n },\n {\n \"name\": \"maxExecutions\",\n \"type\": \"uint32\",\n \"internalType\": \"uint32\"\n },\n {\n \"name\": \"intervalSeconds\",\n \"type\": \"uint32\",\n \"internalType\": \"uint32\"\n },\n {\n \"name\": \"redundancy\",\n \"type\": \"uint16\",\n \"internalType\": \"uint16\"\n },\n {\n \"name\": \"useDeliveryInbox\",\n \"type\": \"bool\",\n \"internalType\": \"bool\"\n },\n {\n \"name\": \"feeToken\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n },\n {\n \"name\": \"feeAmount\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"wallet\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n },\n {\n \"name\": \"verifier\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n },\n {\n \"name\": \"routeId\",\n \"type\": \"bytes32\",\n \"internalType\": \"bytes32\"\n }\n ],\n \"outputs\": [\n {\n \"name\": \"\",\n \"type\": \"uint64\",\n \"internalType\": \"uint64\"\n }\n ],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"createSubscriptionDelegatee\",\n \"inputs\": [\n {\n \"name\": \"nonce\",\n \"type\": \"uint32\",\n \"internalType\": \"uint32\"\n },\n {\n \"name\": \"expiry\",\n \"type\": \"uint32\",\n \"internalType\": \"uint32\"\n },\n {\n \"name\": \"sub\",\n \"type\": \"tuple\",\n \"internalType\": \"struct ComputeSubscription\",\n \"components\": [\n {\n \"name\": \"routeId\",\n \"type\": \"bytes32\",\n \"internalType\": \"bytes32\"\n },\n {\n \"name\": \"containerId\",\n \"type\": \"bytes32\",\n \"internalType\": \"bytes32\"\n },\n {\n \"name\": \"feeAmount\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"client\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n },\n {\n \"name\": \"activeAt\",\n \"type\": \"uint32\",\n \"internalType\": \"uint32\"\n },\n {\n \"name\": \"intervalSeconds\",\n \"type\": \"uint32\",\n \"internalType\": \"uint32\"\n },\n {\n \"name\": \"maxExecutions\",\n \"type\": \"uint32\",\n \"internalType\": \"uint32\"\n },\n {\n \"name\": \"wallet\",\n \"type\": \"address\",\n \"internalType\": \"address payable\"\n },\n {\n \"name\": \"feeToken\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n },\n {\n \"name\": \"verifier\",\n \"type\": \"address\",\n \"internalType\": \"address payable\"\n },\n {\n \"name\": \"redundancy\",\n \"type\": \"uint16\",\n \"internalType\": \"uint16\"\n },\n {\n \"name\": \"useDeliveryInbox\",\n \"type\": \"bool\",\n \"internalType\": \"bool\"\n }\n ]\n },\n {\n \"name\": \"signature\",\n \"type\": \"bytes\",\n \"internalType\": \"bytes\"\n }\n ],\n \"outputs\": [\n {\n \"name\": \"\",\n \"type\": \"uint64\",\n \"internalType\": \"uint64\"\n }\n ],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"createSubscriptionFor\",\n \"inputs\": [\n {\n \"name\": \"sub\",\n \"type\": \"tuple\",\n \"internalType\": \"struct ComputeSubscription\",\n \"components\": [\n {\n \"name\": \"routeId\",\n \"type\": \"bytes32\",\n \"internalType\": \"bytes32\"\n },\n {\n \"name\": \"containerId\",\n \"type\": \"bytes32\",\n \"internalType\": \"bytes32\"\n },\n {\n \"name\": \"feeAmount\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"client\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n },\n {\n \"name\": \"activeAt\",\n \"type\": \"uint32\",\n \"internalType\": \"uint32\"\n },\n {\n \"name\": \"intervalSeconds\",\n \"type\": \"uint32\",\n \"internalType\": \"uint32\"\n },\n {\n \"name\": \"maxExecutions\",\n \"type\": \"uint32\",\n \"internalType\": \"uint32\"\n },\n {\n \"name\": \"wallet\",\n \"type\": \"address\",\n \"internalType\": \"address payable\"\n },\n {\n \"name\": \"feeToken\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n },\n {\n \"name\": \"verifier\",\n \"type\": \"address\",\n \"internalType\": \"address payable\"\n },\n {\n \"name\": \"redundancy\",\n \"type\": \"uint16\",\n \"internalType\": \"uint16\"\n },\n {\n \"name\": \"useDeliveryInbox\",\n \"type\": \"bool\",\n \"internalType\": \"bool\"\n }\n ]\n }\n ],\n \"outputs\": [\n {\n \"name\": \"\",\n \"type\": \"uint64\",\n \"internalType\": \"uint64\"\n }\n ],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"delegateCreatedIds\",\n \"inputs\": [\n {\n \"name\": \"\",\n \"type\": \"bytes32\",\n \"internalType\": \"bytes32\"\n }\n ],\n \"outputs\": [\n {\n \"name\": \"\",\n \"type\": \"uint64\",\n \"internalType\": \"uint64\"\n }\n ],\n \"stateMutability\": \"view\"\n },\n {\n \"type\": \"function\",\n \"name\": \"eip712Domain\",\n \"inputs\": [],\n \"outputs\": [\n {\n \"name\": \"fields\",\n \"type\": \"bytes1\",\n \"internalType\": \"bytes1\"\n },\n {\n \"name\": \"name\",\n \"type\": \"string\",\n \"internalType\": \"string\"\n },\n {\n \"name\": \"version\",\n \"type\": \"string\",\n \"internalType\": \"string\"\n },\n {\n \"name\": \"chainId\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"verifyingContract\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n },\n {\n \"name\": \"salt\",\n \"type\": \"bytes32\",\n \"internalType\": \"bytes32\"\n },\n {\n \"name\": \"extensions\",\n \"type\": \"uint256[]\",\n \"internalType\": \"uint256[]\"\n }\n ],\n \"stateMutability\": \"view\"\n },\n {\n \"type\": \"function\",\n \"name\": \"fulfill\",\n \"inputs\": [\n {\n \"name\": \"input\",\n \"type\": \"bytes\",\n \"internalType\": \"bytes\"\n },\n {\n \"name\": \"output\",\n \"type\": \"bytes\",\n \"internalType\": \"bytes\"\n },\n {\n \"name\": \"proof\",\n \"type\": \"bytes\",\n \"internalType\": \"bytes\"\n },\n {\n \"name\": \"numRedundantDeliveries\",\n \"type\": \"uint16\",\n \"internalType\": \"uint16\"\n },\n {\n \"name\": \"nodeWallet\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n },\n {\n \"name\": \"payments\",\n \"type\": \"tuple[]\",\n \"internalType\": \"struct Payment[]\",\n \"components\": [\n {\n \"name\": \"recipient\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n },\n {\n \"name\": \"feeToken\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n },\n {\n \"name\": \"feeAmount\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n }\n ]\n },\n {\n \"name\": \"commitment\",\n \"type\": \"tuple\",\n \"internalType\": \"struct Commitment\",\n \"components\": [\n {\n \"name\": \"requestId\",\n \"type\": \"bytes32\",\n \"internalType\": \"bytes32\"\n },\n {\n \"name\": \"subscriptionId\",\n \"type\": \"uint64\",\n \"internalType\": \"uint64\"\n },\n {\n \"name\": \"containerId\",\n \"type\": \"bytes32\",\n \"internalType\": \"bytes32\"\n },\n {\n \"name\": \"interval\",\n \"type\": \"uint32\",\n \"internalType\": \"uint32\"\n },\n {\n \"name\": \"useDeliveryInbox\",\n \"type\": \"bool\",\n \"internalType\": \"bool\"\n },\n {\n \"name\": \"redundancy\",\n \"type\": \"uint16\",\n \"internalType\": \"uint16\"\n },\n {\n \"name\": \"walletAddress\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n },\n {\n \"name\": \"feeAmount\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"feeToken\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n },\n {\n \"name\": \"verifier\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n },\n {\n \"name\": \"coordinator\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n }\n ]\n }\n ],\n \"outputs\": [\n {\n \"name\": \"resultCode\",\n \"type\": \"uint8\",\n \"internalType\": \"enum FulfillResult\"\n }\n ],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"getComputeSubscription\",\n \"inputs\": [\n {\n \"name\": \"subscriptionId\",\n \"type\": \"uint64\",\n \"internalType\": \"uint64\"\n }\n ],\n \"outputs\": [\n {\n \"name\": \"\",\n \"type\": \"tuple\",\n \"internalType\": \"struct ComputeSubscription\",\n \"components\": [\n {\n \"name\": \"routeId\",\n \"type\": \"bytes32\",\n \"internalType\": \"bytes32\"\n },\n {\n \"name\": \"containerId\",\n \"type\": \"bytes32\",\n \"internalType\": \"bytes32\"\n },\n {\n \"name\": \"feeAmount\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"client\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n },\n {\n \"name\": \"activeAt\",\n \"type\": \"uint32\",\n \"internalType\": \"uint32\"\n },\n {\n \"name\": \"intervalSeconds\",\n \"type\": \"uint32\",\n \"internalType\": \"uint32\"\n },\n {\n \"name\": \"maxExecutions\",\n \"type\": \"uint32\",\n \"internalType\": \"uint32\"\n },\n {\n \"name\": \"wallet\",\n \"type\": \"address\",\n \"internalType\": \"address payable\"\n },\n {\n \"name\": \"feeToken\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n },\n {\n \"name\": \"verifier\",\n \"type\": \"address\",\n \"internalType\": \"address payable\"\n },\n {\n \"name\": \"redundancy\",\n \"type\": \"uint16\",\n \"internalType\": \"uint16\"\n },\n {\n \"name\": \"useDeliveryInbox\",\n \"type\": \"bool\",\n \"internalType\": \"bool\"\n }\n ]\n }\n ],\n \"stateMutability\": \"view\"\n },\n {\n \"type\": \"function\",\n \"name\": \"getComputeSubscriptionInterval\",\n \"inputs\": [\n {\n \"name\": \"subscriptionId\",\n \"type\": \"uint64\",\n \"internalType\": \"uint64\"\n }\n ],\n \"outputs\": [\n {\n \"name\": \"\",\n \"type\": \"uint32\",\n \"internalType\": \"uint32\"\n }\n ],\n \"stateMutability\": \"view\"\n },\n {\n \"type\": \"function\",\n \"name\": \"getContractById\",\n \"inputs\": [\n {\n \"name\": \"id\",\n \"type\": \"bytes32\",\n \"internalType\": \"bytes32\"\n }\n ],\n \"outputs\": [\n {\n \"name\": \"\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n }\n ],\n \"stateMutability\": \"view\"\n },\n {\n \"type\": \"function\",\n \"name\": \"getLastSubscriptionId\",\n \"inputs\": [],\n \"outputs\": [\n {\n \"name\": \"\",\n \"type\": \"uint64\",\n \"internalType\": \"uint64\"\n }\n ],\n \"stateMutability\": \"view\"\n },\n {\n \"type\": \"function\",\n \"name\": \"getProposedContractById\",\n \"inputs\": [\n {\n \"name\": \"id\",\n \"type\": \"bytes32\",\n \"internalType\": \"bytes32\"\n }\n ],\n \"outputs\": [\n {\n \"name\": \"\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n }\n ],\n \"stateMutability\": \"view\"\n },\n {\n \"type\": \"function\",\n \"name\": \"getWalletFactory\",\n \"inputs\": [],\n \"outputs\": [\n {\n \"name\": \"\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n }\n ],\n \"stateMutability\": \"view\"\n },\n {\n \"type\": \"function\",\n \"name\": \"hasSubscriptionNextInterval\",\n \"inputs\": [\n {\n \"name\": \"subscriptionId\",\n \"type\": \"uint64\",\n \"internalType\": \"uint64\"\n },\n {\n \"name\": \"currentInterval\",\n \"type\": \"uint32\",\n \"internalType\": \"uint32\"\n }\n ],\n \"outputs\": [\n {\n \"name\": \"\",\n \"type\": \"bool\",\n \"internalType\": \"bool\"\n }\n ],\n \"stateMutability\": \"view\"\n },\n {\n \"type\": \"function\",\n \"name\": \"isValidWallet\",\n \"inputs\": [\n {\n \"name\": \"walletAddr\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n }\n ],\n \"outputs\": [\n {\n \"name\": \"\",\n \"type\": \"bool\",\n \"internalType\": \"bool\"\n }\n ],\n \"stateMutability\": \"view\"\n },\n {\n \"type\": \"function\",\n \"name\": \"lockForVerification\",\n \"inputs\": [\n {\n \"name\": \"proofRequest\",\n \"type\": \"tuple\",\n \"internalType\": \"struct ProofVerificationRequest\",\n \"components\": [\n {\n \"name\": \"subscriptionId\",\n \"type\": \"uint64\",\n \"internalType\": \"uint64\"\n },\n {\n \"name\": \"interval\",\n \"type\": \"uint32\",\n \"internalType\": \"uint32\"\n },\n {\n \"name\": \"submitterAddress\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n },\n {\n \"name\": \"submitterWallet\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n },\n {\n \"name\": \"escrowedAmount\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"escrowToken\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n },\n {\n \"name\": \"slashAmount\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"expiry\",\n \"type\": \"uint32\",\n \"internalType\": \"uint32\"\n }\n ]\n },\n {\n \"name\": \"commitmentHash\",\n \"type\": \"bytes32\",\n \"internalType\": \"bytes32\"\n }\n ],\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"maxSubscriberNonce\",\n \"inputs\": [\n {\n \"name\": \"\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n }\n ],\n \"outputs\": [\n {\n \"name\": \"\",\n \"type\": \"uint32\",\n \"internalType\": \"uint32\"\n }\n ],\n \"stateMutability\": \"view\"\n },\n {\n \"type\": \"function\",\n \"name\": \"minRepeatInterval\",\n \"inputs\": [],\n \"outputs\": [\n {\n \"name\": \"\",\n \"type\": \"uint32\",\n \"internalType\": \"uint32\"\n }\n ],\n \"stateMutability\": \"view\"\n },\n {\n \"type\": \"function\",\n \"name\": \"ownerCancelSubscription\",\n \"inputs\": [\n {\n \"name\": \"subscriptionId\",\n \"type\": \"uint64\",\n \"internalType\": \"uint64\"\n }\n ],\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"pause\",\n \"inputs\": [],\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"paused\",\n \"inputs\": [],\n \"outputs\": [\n {\n \"name\": \"\",\n \"type\": \"bool\",\n \"internalType\": \"bool\"\n }\n ],\n \"stateMutability\": \"view\"\n },\n {\n \"type\": \"function\",\n \"name\": \"payFromCoordinator\",\n \"inputs\": [\n {\n \"name\": \"subscriptionId\",\n \"type\": \"uint64\",\n \"internalType\": \"uint64\"\n },\n {\n \"name\": \"spenderWallet\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n },\n {\n \"name\": \"spenderAddress\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n },\n {\n \"name\": \"payments\",\n \"type\": \"tuple[]\",\n \"internalType\": \"struct Payment[]\",\n \"components\": [\n {\n \"name\": \"recipient\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n },\n {\n \"name\": \"feeToken\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n },\n {\n \"name\": \"feeAmount\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n }\n ]\n }\n ],\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"pendingRequestExists\",\n \"inputs\": [\n {\n \"name\": \"subscriptionId\",\n \"type\": \"uint64\",\n \"internalType\": \"uint64\"\n }\n ],\n \"outputs\": [\n {\n \"name\": \"\",\n \"type\": \"bool\",\n \"internalType\": \"bool\"\n }\n ],\n \"stateMutability\": \"view\"\n },\n {\n \"type\": \"function\",\n \"name\": \"prepareNodeVerification\",\n \"inputs\": [\n {\n \"name\": \"subscriptionId\",\n \"type\": \"uint64\",\n \"internalType\": \"uint64\"\n },\n {\n \"name\": \"nextInterval\",\n \"type\": \"uint32\",\n \"internalType\": \"uint32\"\n },\n {\n \"name\": \"nodeWallet\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n },\n {\n \"name\": \"token\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n },\n {\n \"name\": \"amount\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n }\n ],\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"proposeContractsUpdate\",\n \"inputs\": [\n {\n \"name\": \"proposalSetIds\",\n \"type\": \"bytes32[]\",\n \"internalType\": \"bytes32[]\"\n },\n {\n \"name\": \"proposalSetAddresses\",\n \"type\": \"address[]\",\n \"internalType\": \"address[]\"\n }\n ],\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"sendRequest\",\n \"inputs\": [\n {\n \"name\": \"subscriptionId\",\n \"type\": \"uint64\",\n \"internalType\": \"uint64\"\n },\n {\n \"name\": \"interval\",\n \"type\": \"uint32\",\n \"internalType\": \"uint32\"\n }\n ],\n \"outputs\": [\n {\n \"name\": \"\",\n \"type\": \"bytes32\",\n \"internalType\": \"bytes32\"\n },\n {\n \"name\": \"\",\n \"type\": \"tuple\",\n \"internalType\": \"struct Commitment\",\n \"components\": [\n {\n \"name\": \"requestId\",\n \"type\": \"bytes32\",\n \"internalType\": \"bytes32\"\n },\n {\n \"name\": \"subscriptionId\",\n \"type\": \"uint64\",\n \"internalType\": \"uint64\"\n },\n {\n \"name\": \"containerId\",\n \"type\": \"bytes32\",\n \"internalType\": \"bytes32\"\n },\n {\n \"name\": \"interval\",\n \"type\": \"uint32\",\n \"internalType\": \"uint32\"\n },\n {\n \"name\": \"useDeliveryInbox\",\n \"type\": \"bool\",\n \"internalType\": \"bool\"\n },\n {\n \"name\": \"redundancy\",\n \"type\": \"uint16\",\n \"internalType\": \"uint16\"\n },\n {\n \"name\": \"walletAddress\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n },\n {\n \"name\": \"feeAmount\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"feeToken\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n },\n {\n \"name\": \"verifier\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n },\n {\n \"name\": \"coordinator\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n }\n ]\n }\n ],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"setMinRepeatInterval\",\n \"inputs\": [\n {\n \"name\": \"_minRepeatInterval\",\n \"type\": \"uint32\",\n \"internalType\": \"uint32\"\n }\n ],\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"setWalletFactory\",\n \"inputs\": [\n {\n \"name\": \"_walletFactory\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n }\n ],\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"timeoutRequest\",\n \"inputs\": [\n {\n \"name\": \"requestId\",\n \"type\": \"bytes32\",\n \"internalType\": \"bytes32\"\n },\n {\n \"name\": \"subscriptionId\",\n \"type\": \"uint64\",\n \"internalType\": \"uint64\"\n },\n {\n \"name\": \"interval\",\n \"type\": \"uint32\",\n \"internalType\": \"uint32\"\n }\n ],\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"timeoutSubscriptionIntervalsUpTo\",\n \"inputs\": [\n {\n \"name\": \"subscriptionId\",\n \"type\": \"uint64\",\n \"internalType\": \"uint64\"\n },\n {\n \"name\": \"uptoInterval\",\n \"type\": \"uint32\",\n \"internalType\": \"uint32\"\n },\n {\n \"name\": \"maxIter\",\n \"type\": \"uint32\",\n \"internalType\": \"uint32\"\n }\n ],\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"transferOwnership\",\n \"inputs\": [\n {\n \"name\": \"to\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n }\n ],\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"typeAndVersion\",\n \"inputs\": [],\n \"outputs\": [\n {\n \"name\": \"\",\n \"type\": \"string\",\n \"internalType\": \"string\"\n }\n ],\n \"stateMutability\": \"pure\"\n },\n {\n \"type\": \"function\",\n \"name\": \"unlockForVerification\",\n \"inputs\": [\n {\n \"name\": \"proofRequest\",\n \"type\": \"tuple\",\n \"internalType\": \"struct ProofVerificationRequest\",\n \"components\": [\n {\n \"name\": \"subscriptionId\",\n \"type\": \"uint64\",\n \"internalType\": \"uint64\"\n },\n {\n \"name\": \"interval\",\n \"type\": \"uint32\",\n \"internalType\": \"uint32\"\n },\n {\n \"name\": \"submitterAddress\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n },\n {\n \"name\": \"submitterWallet\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n },\n {\n \"name\": \"escrowedAmount\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"escrowToken\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n },\n {\n \"name\": \"slashAmount\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"expiry\",\n \"type\": \"uint32\",\n \"internalType\": \"uint32\"\n }\n ]\n }\n ],\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"unpause\",\n \"inputs\": [],\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"updateContracts\",\n \"inputs\": [],\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"event\",\n \"name\": \"CommitmentTimedOut\",\n \"inputs\": [\n {\n \"name\": \"requestId\",\n \"type\": \"bytes32\",\n \"indexed\": true,\n \"internalType\": \"bytes32\"\n },\n {\n \"name\": \"subscriptionId\",\n \"type\": \"uint64\",\n \"indexed\": true,\n \"internalType\": \"uint64\"\n },\n {\n \"name\": \"interval\",\n \"type\": \"uint32\",\n \"indexed\": true,\n \"internalType\": \"uint32\"\n }\n ],\n \"anonymous\": false\n },\n {\n \"type\": \"event\",\n \"name\": \"ContractsUpdateProposed\",\n \"inputs\": [\n {\n \"name\": \"ids\",\n \"type\": \"bytes32[]\",\n \"indexed\": false,\n \"internalType\": \"bytes32[]\"\n },\n {\n \"name\": \"addresses\",\n \"type\": \"address[]\",\n \"indexed\": false,\n \"internalType\": \"address[]\"\n }\n ],\n \"anonymous\": false\n },\n {\n \"type\": \"event\",\n \"name\": \"ContractsUpdated\",\n \"inputs\": [\n {\n \"name\": \"id\",\n \"type\": \"bytes32\",\n \"indexed\": false,\n \"internalType\": \"bytes32\"\n },\n {\n \"name\": \"contractAddress\",\n \"type\": \"address\",\n \"indexed\": false,\n \"internalType\": \"address\"\n }\n ],\n \"anonymous\": false\n },\n {\n \"type\": \"event\",\n \"name\": \"EIP712DomainChanged\",\n \"inputs\": [],\n \"anonymous\": false\n },\n {\n \"type\": \"event\",\n \"name\": \"MinRepeatIntervalSet\",\n \"inputs\": [\n {\n \"name\": \"newMinRepeatInterval\",\n \"type\": \"uint32\",\n \"indexed\": false,\n \"internalType\": \"uint32\"\n }\n ],\n \"anonymous\": false\n },\n {\n \"type\": \"event\",\n \"name\": \"OwnershipTransferRequested\",\n \"inputs\": [\n {\n \"name\": \"from\",\n \"type\": \"address\",\n \"indexed\": true,\n \"internalType\": \"address\"\n },\n {\n \"name\": \"to\",\n \"type\": \"address\",\n \"indexed\": true,\n \"internalType\": \"address\"\n }\n ],\n \"anonymous\": false\n },\n {\n \"type\": \"event\",\n \"name\": \"OwnershipTransferred\",\n \"inputs\": [\n {\n \"name\": \"from\",\n \"type\": \"address\",\n \"indexed\": true,\n \"internalType\": \"address\"\n },\n {\n \"name\": \"to\",\n \"type\": \"address\",\n \"indexed\": true,\n \"internalType\": \"address\"\n }\n ],\n \"anonymous\": false\n },\n {\n \"type\": \"event\",\n \"name\": \"Paused\",\n \"inputs\": [\n {\n \"name\": \"account\",\n \"type\": \"address\",\n \"indexed\": false,\n \"internalType\": \"address\"\n }\n ],\n \"anonymous\": false\n },\n {\n \"type\": \"event\",\n \"name\": \"PaymentMade\",\n \"inputs\": [\n {\n \"name\": \"subscriptionId\",\n \"type\": \"uint64\",\n \"indexed\": true,\n \"internalType\": \"uint64\"\n },\n {\n \"name\": \"spenderWallet\",\n \"type\": \"address\",\n \"indexed\": true,\n \"internalType\": \"address\"\n },\n {\n \"name\": \"recipient\",\n \"type\": \"address\",\n \"indexed\": true,\n \"internalType\": \"address\"\n },\n {\n \"name\": \"token\",\n \"type\": \"address\",\n \"indexed\": false,\n \"internalType\": \"address\"\n },\n {\n \"name\": \"amount\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n }\n ],\n \"anonymous\": false\n },\n {\n \"type\": \"event\",\n \"name\": \"RequestProcessed\",\n \"inputs\": [\n {\n \"name\": \"requestId\",\n \"type\": \"bytes32\",\n \"indexed\": true,\n \"internalType\": \"bytes32\"\n },\n {\n \"name\": \"subscriptionId\",\n \"type\": \"uint64\",\n \"indexed\": true,\n \"internalType\": \"uint64\"\n },\n {\n \"name\": \"containerId\",\n \"type\": \"bytes32\",\n \"indexed\": true,\n \"internalType\": \"bytes32\"\n },\n {\n \"name\": \"interval\",\n \"type\": \"uint32\",\n \"indexed\": false,\n \"internalType\": \"uint32\"\n },\n {\n \"name\": \"useDeliveryInbox\",\n \"type\": \"bool\",\n \"indexed\": false,\n \"internalType\": \"bool\"\n },\n {\n \"name\": \"feeAmount\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"feeToken\",\n \"type\": \"address\",\n \"indexed\": false,\n \"internalType\": \"address\"\n },\n {\n \"name\": \"verifier\",\n \"type\": \"address\",\n \"indexed\": false,\n \"internalType\": \"address\"\n },\n {\n \"name\": \"coordinator\",\n \"type\": \"address\",\n \"indexed\": false,\n \"internalType\": \"address\"\n },\n {\n \"name\": \"nodeWallet\",\n \"type\": \"address\",\n \"indexed\": false,\n \"internalType\": \"address\"\n },\n {\n \"name\": \"result\",\n \"type\": \"uint8\",\n \"indexed\": false,\n \"internalType\": \"enum FulfillResult\"\n }\n ],\n \"anonymous\": false\n },\n {\n \"type\": \"event\",\n \"name\": \"RequestStart\",\n \"inputs\": [\n {\n \"name\": \"requestId\",\n \"type\": \"bytes32\",\n \"indexed\": true,\n \"internalType\": \"bytes32\"\n },\n {\n \"name\": \"subscriptionId\",\n \"type\": \"uint64\",\n \"indexed\": true,\n \"internalType\": \"uint64\"\n },\n {\n \"name\": \"containerId\",\n \"type\": \"bytes32\",\n \"indexed\": true,\n \"internalType\": \"bytes32\"\n },\n {\n \"name\": \"interval\",\n \"type\": \"uint32\",\n \"indexed\": false,\n \"internalType\": \"uint32\"\n },\n {\n \"name\": \"redundancy\",\n \"type\": \"uint16\",\n \"indexed\": false,\n \"internalType\": \"uint16\"\n },\n {\n \"name\": \"useDeliveryInbox\",\n \"type\": \"bool\",\n \"indexed\": false,\n \"internalType\": \"bool\"\n },\n {\n \"name\": \"feeAmount\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"feeToken\",\n \"type\": \"address\",\n \"indexed\": false,\n \"internalType\": \"address\"\n },\n {\n \"name\": \"verifier\",\n \"type\": \"address\",\n \"indexed\": false,\n \"internalType\": \"address\"\n },\n {\n \"name\": \"coordinator\",\n \"type\": \"address\",\n \"indexed\": false,\n \"internalType\": \"address\"\n }\n ],\n \"anonymous\": false\n },\n {\n \"type\": \"event\",\n \"name\": \"SubscriptionCancelled\",\n \"inputs\": [\n {\n \"name\": \"subscriptionId\",\n \"type\": \"uint64\",\n \"indexed\": true,\n \"internalType\": \"uint64\"\n }\n ],\n \"anonymous\": false\n },\n {\n \"type\": \"event\",\n \"name\": \"SubscriptionCreated\",\n \"inputs\": [\n {\n \"name\": \"subscriptionId\",\n \"type\": \"uint64\",\n \"indexed\": true,\n \"internalType\": \"uint64\"\n }\n ],\n \"anonymous\": false\n },\n {\n \"type\": \"event\",\n \"name\": \"SubscriptionFulfilled\",\n \"inputs\": [\n {\n \"name\": \"id\",\n \"type\": \"uint64\",\n \"indexed\": true,\n \"internalType\": \"uint64\"\n },\n {\n \"name\": \"node\",\n \"type\": \"address\",\n \"indexed\": true,\n \"internalType\": \"address\"\n }\n ],\n \"anonymous\": false\n },\n {\n \"type\": \"event\",\n \"name\": \"Unpaused\",\n \"inputs\": [\n {\n \"name\": \"account\",\n \"type\": \"address\",\n \"indexed\": false,\n \"internalType\": \"address\"\n }\n ],\n \"anonymous\": false\n },\n {\n \"type\": \"event\",\n \"name\": \"VerificationFundsLocked\",\n \"inputs\": [\n {\n \"name\": \"subscriptionId\",\n \"type\": \"uint64\",\n \"indexed\": true,\n \"internalType\": \"uint64\"\n },\n {\n \"name\": \"interval\",\n \"type\": \"uint32\",\n \"indexed\": true,\n \"internalType\": \"uint32\"\n },\n {\n \"name\": \"spender\",\n \"type\": \"address\",\n \"indexed\": true,\n \"internalType\": \"address\"\n },\n {\n \"name\": \"amount\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n }\n ],\n \"anonymous\": false\n },\n {\n \"type\": \"event\",\n \"name\": \"VerificationFundsUnlocked\",\n \"inputs\": [\n {\n \"name\": \"subscriptionId\",\n \"type\": \"uint64\",\n \"indexed\": true,\n \"internalType\": \"uint64\"\n },\n {\n \"name\": \"interval\",\n \"type\": \"uint32\",\n \"indexed\": true,\n \"internalType\": \"uint32\"\n },\n {\n \"name\": \"spender\",\n \"type\": \"address\",\n \"indexed\": true,\n \"internalType\": \"address\"\n },\n {\n \"name\": \"amount\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n }\n ],\n \"anonymous\": false\n },\n {\n \"type\": \"error\",\n \"name\": \"CannotRemoveWithPendingRequests\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"CommitmentNotTimeoutable\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"DuplicateRequestId\",\n \"inputs\": [\n {\n \"name\": \"requestId\",\n \"type\": \"bytes32\",\n \"internalType\": \"bytes32\"\n }\n ]\n },\n {\n \"type\": \"error\",\n \"name\": \"ECDSAInvalidSignature\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"ECDSAInvalidSignatureLength\",\n \"inputs\": [\n {\n \"name\": \"length\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n }\n ]\n },\n {\n \"type\": \"error\",\n \"name\": \"ECDSAInvalidSignatureS\",\n \"inputs\": [\n {\n \"name\": \"s\",\n \"type\": \"bytes32\",\n \"internalType\": \"bytes32\"\n }\n ]\n },\n {\n \"type\": \"error\",\n \"name\": \"EmptyRequestData\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"EnforcedPause\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"ExpectedPause\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"InvalidProposedUpdate\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"InvalidRequestCommitment\",\n \"inputs\": [\n {\n \"name\": \"requestId\",\n \"type\": \"bytes32\",\n \"internalType\": \"bytes32\"\n }\n ]\n },\n {\n \"type\": \"error\",\n \"name\": \"InvalidShortString\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"InvalidSubscription\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"InvalidWallet\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"MismatchedRequestId\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"MismatchedSubscriptionId\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"NoSuchCommitment\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"NotPendingOwner\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"NotSubscriptionOwner\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"OnlyCallableByOwner\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"OnlyCallableFromCoordinator\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"ReentrancyGuardReentrantCall\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"RouteNotFound\",\n \"inputs\": [\n {\n \"name\": \"id\",\n \"type\": \"bytes32\",\n \"internalType\": \"bytes32\"\n }\n ]\n },\n {\n \"type\": \"error\",\n \"name\": \"SignatureExpired\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"SignerMismatch\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"StringTooLong\",\n \"inputs\": [\n {\n \"name\": \"str\",\n \"type\": \"string\",\n \"internalType\": \"string\"\n }\n ]\n },\n {\n \"type\": \"error\",\n \"name\": \"SubscriptionCompleted\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"SubscriptionIntervalTooShort\",\n \"inputs\": [\n {\n \"name\": \"interval\",\n \"type\": \"uint32\",\n \"internalType\": \"uint32\"\n },\n {\n \"name\": \"minInterval\",\n \"type\": \"uint32\",\n \"internalType\": \"uint32\"\n }\n ]\n },\n {\n \"type\": \"error\",\n \"name\": \"SubscriptionNotActive\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"SubscriptionNotFound\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"TokenMismatch\",\n \"inputs\": []\n }\n]","import { Contract, Provider, Signer, EventLog, ContractTransactionResponse } from 'ethers';\nimport CoordinatorABI from './abis/Coordinator.abi.json';\nimport type { Commitment, ProofVerificationRequest } from './types';\n\n/**\n * CoordinatorContract\n * TypeScript wrapper for the Noosphere Coordinator contract\n * Based on ICoordinator interface from noosphere-evm\n */\nexport class CoordinatorContract {\n private contract: Contract;\n\n constructor(address: string, providerOrSigner: Provider | Signer) {\n this.contract = new Contract(address, CoordinatorABI, providerOrSigner);\n }\n\n /*//////////////////////////////////////////////////////////////////////////\n REQUEST LIFECYCLE (CREATION/CANCELLATION)\n //////////////////////////////////////////////////////////////////////////*/\n\n /**\n * Start a new request for a subscription interval\n */\n async startRequest(\n requestId: string,\n subscriptionId: bigint,\n containerId: string,\n interval: number,\n redundancy: number,\n useDeliveryInbox: boolean,\n feeToken: string,\n feeAmount: bigint,\n wallet: string,\n verifier: string\n ): Promise<Commitment> {\n const commitment = await this.contract.startRequest(\n requestId,\n subscriptionId,\n containerId,\n interval,\n redundancy,\n useDeliveryInbox,\n feeToken,\n feeAmount,\n wallet,\n verifier\n );\n return this.parseCommitment(commitment);\n }\n\n /**\n * Cancel a pending request\n */\n async cancelRequest(requestId: string): Promise<ContractTransactionResponse> {\n return this.contract.cancelRequest(requestId);\n }\n\n /*//////////////////////////////////////////////////////////////////////////\n DELIVERY & FULFILLMENT HANDLERS\n //////////////////////////////////////////////////////////////////////////*/\n\n /**\n * Report compute result for an interval\n */\n async reportComputeResult(\n deliveryInterval: number,\n input: Uint8Array,\n output: Uint8Array,\n proof: Uint8Array,\n commitmentData: Uint8Array,\n nodeWallet: string\n ): Promise<ContractTransactionResponse> {\n return this.contract.reportComputeResult(\n deliveryInterval,\n input,\n output,\n proof,\n commitmentData,\n nodeWallet\n );\n }\n\n /*//////////////////////////////////////////////////////////////////////////\n VERIFICATION\n //////////////////////////////////////////////////////////////////////////*/\n\n /**\n * Report verification result\n */\n async reportVerificationResult(\n request: ProofVerificationRequest,\n valid: boolean\n ): Promise<ContractTransactionResponse> {\n return this.contract.reportVerificationResult(request, valid);\n }\n\n /*//////////////////////////////////////////////////////////////////////////\n INTERVAL / SCHEDULING HELPERS\n //////////////////////////////////////////////////////////////////////////*/\n\n /**\n * Prepare internal state for the next interval\n */\n async prepareNextInterval(\n subscriptionId: bigint,\n nextInterval: number,\n nodeWallet: string\n ): Promise<ContractTransactionResponse> {\n return this.contract.prepareNextInterval(subscriptionId, nextInterval, nodeWallet);\n }\n\n /**\n * Get commitment for a specific subscription and interval\n */\n async getCommitment(subscriptionId: bigint, interval: number): Promise<Commitment> {\n const commitment = await this.contract.getCommitment(subscriptionId, interval);\n return this.parseCommitment(commitment);\n }\n\n /**\n * Get request ID for a commitment\n */\n async requestCommitments(requestId: string): Promise<string> {\n return this.contract.requestCommitments(requestId);\n }\n\n /**\n * Get redundancy count for a request\n */\n async redundancyCount(requestId: string): Promise<number> {\n const count = await this.contract.redundancyCount(requestId);\n return Number(count);\n }\n\n /*//////////////////////////////////////////////////////////////////////////\n EVENT FILTERS & LISTENERS\n //////////////////////////////////////////////////////////////////////////*/\n\n /**\n * Event filters\n */\n get filters() {\n return {\n RequestStarted: () => this.contract.filters.RequestStarted(),\n RequestCancelled: () => this.contract.filters.RequestCancelled(),\n ComputeDelivered: () => this.contract.filters.ComputeDelivered(),\n ProofVerified: () => this.contract.filters.ProofVerified(),\n };\n }\n\n /**\n * Listen for events\n */\n on(event: string, listener: (...args: any[]) => void): void {\n this.contract.on(event, listener);\n }\n\n /**\n * Remove all listeners\n */\n removeAllListeners(event?: string): void {\n this.contract.removeAllListeners(event);\n }\n\n /**\n * Query past events\n */\n async queryFilter(\n filter: any,\n fromBlock?: number,\n toBlock?: number | string\n ): Promise<EventLog[]> {\n return this.contract.queryFilter(filter, fromBlock, toBlock) as Promise<EventLog[]>;\n }\n\n /*//////////////////////////////////////////////////////////////////////////\n HELPERS\n //////////////////////////////////////////////////////////////////////////*/\n\n /**\n * Get the contract address\n */\n get address(): string {\n return this.contract.target as string;\n }\n\n /**\n * Get the underlying ethers Contract\n */\n get raw(): Contract {\n return this.contract;\n }\n\n /*//////////////////////////////////////////////////////////////////////////\n PRIVATE PARSERS\n //////////////////////////////////////////////////////////////////////////*/\n\n private parseCommitment(commitment: any): Commitment {\n return {\n requestId: commitment.requestId,\n subscriptionId: BigInt(commitment.subscriptionId),\n interval: Number(commitment.interval),\n redundancy: Number(commitment.redundancy),\n containerId: commitment.containerId,\n client: commitment.client,\n wallet: commitment.wallet,\n feeToken: commitment.feeToken,\n feeAmount: BigInt(commitment.feeAmount),\n verifier: commitment.verifier,\n useDeliveryInbox: commitment.useDeliveryInbox,\n };\n }\n}\n","[\n {\n \"type\": \"constructor\",\n \"inputs\": [\n {\n \"name\": \"_routerAddress\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n },\n {\n \"name\": \"_initialOwner\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n }\n ],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"acceptOwnership\",\n \"inputs\": [],\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"cancelRequest\",\n \"inputs\": [\n {\n \"name\": \"requestId\",\n \"type\": \"bytes32\",\n \"internalType\": \"bytes32\"\n }\n ],\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"client\",\n \"inputs\": [],\n \"outputs\": [\n {\n \"name\": \"\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n }\n ],\n \"stateMutability\": \"view\"\n },\n {\n \"type\": \"function\",\n \"name\": \"getCommitment\",\n \"inputs\": [\n {\n \"name\": \"subscriptionId\",\n \"type\": \"uint64\",\n \"internalType\": \"uint64\"\n },\n {\n \"name\": \"interval\",\n \"type\": \"uint32\",\n \"internalType\": \"uint32\"\n }\n ],\n \"outputs\": [\n {\n \"name\": \"\",\n \"type\": \"tuple\",\n \"internalType\": \"struct Commitment\",\n \"components\": [\n {\n \"name\": \"requestId\",\n \"type\": \"bytes32\",\n \"internalType\": \"bytes32\"\n },\n {\n \"name\": \"subscriptionId\",\n \"type\": \"uint64\",\n \"internalType\": \"uint64\"\n },\n {\n \"name\": \"containerId\",\n \"type\": \"bytes32\",\n \"internalType\": \"bytes32\"\n },\n {\n \"name\": \"interval\",\n \"type\": \"uint32\",\n \"internalType\": \"uint32\"\n },\n {\n \"name\": \"useDeliveryInbox\",\n \"type\": \"bool\",\n \"internalType\": \"bool\"\n },\n {\n \"name\": \"redundancy\",\n \"type\": \"uint16\",\n \"internalType\": \"uint16\"\n },\n {\n \"name\": \"walletAddress\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n },\n {\n \"name\": \"feeAmount\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"feeToken\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n },\n {\n \"name\": \"verifier\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n },\n {\n \"name\": \"coordinator\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n }\n ]\n }\n ],\n \"stateMutability\": \"view\"\n },\n {\n \"type\": \"function\",\n \"name\": \"getConfig\",\n \"inputs\": [],\n \"outputs\": [\n {\n \"name\": \"\",\n \"type\": \"tuple\",\n \"internalType\": \"struct BillingConfig\",\n \"components\": [\n {\n \"name\": \"verificationTimeout\",\n \"type\": \"uint32\",\n \"internalType\": \"uint32\"\n },\n {\n \"name\": \"protocolFeeRecipient\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n },\n {\n \"name\": \"protocolFee\",\n \"type\": \"uint16\",\n \"internalType\": \"uint16\"\n },\n {\n \"name\": \"tickNodeFee\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"tickNodeFeeToken\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n }\n ]\n }\n ],\n \"stateMutability\": \"view\"\n },\n {\n \"type\": \"function\",\n \"name\": \"getProtocolFee\",\n \"inputs\": [],\n \"outputs\": [\n {\n \"name\": \"\",\n \"type\": \"uint72\",\n \"internalType\": \"uint72\"\n }\n ],\n \"stateMutability\": \"view\"\n },\n {\n \"type\": \"function\",\n \"name\": \"getSubscriptionBatchReader\",\n \"inputs\": [],\n \"outputs\": [\n {\n \"name\": \"\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n }\n ],\n \"stateMutability\": \"view\"\n },\n {\n \"type\": \"function\",\n \"name\": \"initialize\",\n \"inputs\": [\n {\n \"name\": \"_config\",\n \"type\": \"tuple\",\n \"internalType\": \"struct BillingConfig\",\n \"components\": [\n {\n \"name\": \"verificationTimeout\",\n \"type\": \"uint32\",\n \"internalType\": \"uint32\"\n },\n {\n \"name\": \"protocolFeeRecipient\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n },\n {\n \"name\": \"protocolFee\",\n \"type\": \"uint16\",\n \"internalType\": \"uint16\"\n },\n {\n \"name\": \"tickNodeFee\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"tickNodeFeeToken\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n }\n ]\n }\n ],\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"nodeResponded\",\n \"inputs\": [\n {\n \"name\": \"\",\n \"type\": \"bytes32\",\n \"internalType\": \"bytes32\"\n }\n ],\n \"outputs\": [\n {\n \"name\": \"\",\n \"type\": \"bool\",\n \"internalType\": \"bool\"\n }\n ],\n \"stateMutability\": \"view\"\n },\n {\n \"type\": \"function\",\n \"name\": \"prepareNextInterval\",\n \"inputs\": [\n {\n \"name\": \"subscriptionId\",\n \"type\": \"uint64\",\n \"internalType\": \"uint64\"\n },\n {\n \"name\": \"nextInterval\",\n \"type\": \"uint32\",\n \"internalType\": \"uint32\"\n },\n {\n \"name\": \"nodeWallet\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n }\n ],\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"redundancyCount\",\n \"inputs\": [\n {\n \"name\": \"\",\n \"type\": \"bytes32\",\n \"internalType\": \"bytes32\"\n }\n ],\n \"outputs\": [\n {\n \"name\": \"\",\n \"type\": \"uint16\",\n \"internalType\": \"uint16\"\n }\n ],\n \"stateMutability\": \"view\"\n },\n {\n \"type\": \"function\",\n \"name\": \"reportComputeResult\",\n \"inputs\": [\n {\n \"name\": \"deliveryInterval\",\n \"type\": \"uint32\",\n \"internalType\": \"uint32\"\n },\n {\n \"name\": \"input\",\n \"type\": \"bytes\",\n \"internalType\": \"bytes\"\n },\n {\n \"name\": \"output\",\n \"type\": \"bytes\",\n \"internalType\": \"bytes\"\n },\n {\n \"name\": \"proof\",\n \"type\": \"bytes\",\n \"internalType\": \"bytes\"\n },\n {\n \"name\": \"commitmentData\",\n \"type\": \"bytes\",\n \"internalType\": \"bytes\"\n },\n {\n \"name\": \"nodeWallet\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n }\n ],\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"reportVerificationResult\",\n \"inputs\": [\n {\n \"name\": \"request\",\n \"type\": \"tuple\",\n \"internalType\": \"struct ProofVerificationRequest\",\n \"components\": [\n {\n \"name\": \"subscriptionId\",\n \"type\": \"uint64\",\n \"internalType\": \"uint64\"\n },\n {\n \"name\": \"interval\",\n \"type\": \"uint32\",\n \"internalType\": \"uint32\"\n },\n {\n \"name\": \"submitterAddress\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n },\n {\n \"name\": \"submitterWallet\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n },\n {\n \"name\": \"escrowedAmount\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"escrowToken\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n },\n {\n \"name\": \"slashAmount\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"expiry\",\n \"type\": \"uint32\",\n \"internalType\": \"uint32\"\n }\n ]\n },\n {\n \"name\": \"valid\",\n \"type\": \"bool\",\n \"internalType\": \"bool\"\n }\n ],\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"requestCommitments\",\n \"inputs\": [\n {\n \"name\": \"requestId\",\n \"type\": \"bytes32\",\n \"internalType\": \"bytes32\"\n }\n ],\n \"outputs\": [\n {\n \"name\": \"\",\n \"type\": \"bytes32\",\n \"internalType\": \"bytes32\"\n }\n ],\n \"stateMutability\": \"view\"\n },\n {\n \"type\": \"function\",\n \"name\": \"setSubscriptionBatchReader\",\n \"inputs\": [\n {\n \"name\": \"_reader\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n }\n ],\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"startRequest\",\n \"inputs\": [\n {\n \"name\": \"requestId\",\n \"type\": \"bytes32\",\n \"internalType\": \"bytes32\"\n },\n {\n \"name\": \"subscriptionId\",\n \"type\": \"uint64\",\n \"internalType\": \"uint64\"\n },\n {\n \"name\": \"containerId\",\n \"type\": \"bytes32\",\n \"internalType\": \"bytes32\"\n },\n {\n \"name\": \"interval\",\n \"type\": \"uint32\",\n \"internalType\": \"uint32\"\n },\n {\n \"name\": \"redundancy\",\n \"type\": \"uint16\",\n \"internalType\": \"uint16\"\n },\n {\n \"name\": \"useDeliveryInbox\",\n \"type\": \"bool\",\n \"internalType\": \"bool\"\n },\n {\n \"name\": \"feeToken\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n },\n {\n \"name\": \"feeAmount\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"wallet\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n },\n {\n \"name\": \"verifier\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n }\n ],\n \"outputs\": [\n {\n \"name\": \"\",\n \"type\": \"tuple\",\n \"internalType\": \"struct Commitment\",\n \"components\": [\n {\n \"name\": \"requestId\",\n \"type\": \"bytes32\",\n \"internalType\": \"bytes32\"\n },\n {\n \"name\": \"subscriptionId\",\n \"type\": \"uint64\",\n \"internalType\": \"uint64\"\n },\n {\n \"name\": \"containerId\",\n \"type\": \"bytes32\",\n \"internalType\": \"bytes32\"\n },\n {\n \"name\": \"interval\",\n \"type\": \"uint32\",\n \"internalType\": \"uint32\"\n },\n {\n \"name\": \"useDeliveryInbox\",\n \"type\": \"bool\",\n \"internalType\": \"bool\"\n },\n {\n \"name\": \"redundancy\",\n \"type\": \"uint16\",\n \"internalType\": \"uint16\"\n },\n {\n \"name\": \"walletAddress\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n },\n {\n \"name\": \"feeAmount\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"feeToken\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n },\n {\n \"name\": \"verifier\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n },\n {\n \"name\": \"coordinator\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n }\n ]\n }\n ],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"transferOwnership\",\n \"inputs\": [\n {\n \"name\": \"to\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n }\n ],\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"typeAndVersion\",\n \"inputs\": [],\n \"outputs\": [\n {\n \"name\": \"\",\n \"type\": \"string\",\n \"internalType\": \"string\"\n }\n ],\n \"stateMutability\": \"view\"\n },\n {\n \"type\": \"function\",\n \"name\": \"updateConfig\",\n \"inputs\": [\n {\n \"name\": \"config\",\n \"type\": \"tuple\",\n \"internalType\": \"struct BillingConfig\",\n \"components\": [\n {\n \"name\": \"verificationTimeout\",\n \"type\": \"uint32\",\n \"internalType\": \"uint32\"\n },\n {\n \"name\": \"protocolFeeRecipient\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n },\n {\n \"name\": \"protocolFee\",\n \"type\": \"uint16\",\n \"internalType\": \"uint16\"\n },\n {\n \"name\": \"tickNodeFee\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"tickNodeFeeToken\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n }\n ]\n }\n ],\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"event\",\n \"name\": \"ComputeDelivered\",\n \"inputs\": [\n {\n \"name\": \"requestId\",\n \"type\": \"bytes32\",\n \"indexed\": true,\n \"internalType\": \"bytes32\"\n },\n {\n \"name\": \"nodeWallet\",\n \"type\": \"address\",\n \"indexed\": true,\n \"internalType\": \"address\"\n },\n {\n \"name\": \"numRedundantDeliveries\",\n \"type\": \"uint16\",\n \"indexed\": false,\n \"internalType\": \"uint16\"\n }\n ],\n \"anonymous\": false\n },\n {\n \"type\": \"event\",\n \"name\": \"OwnershipTransferRequested\",\n \"inputs\": [\n {\n \"name\": \"from\",\n \"type\": \"address\",\n \"indexed\": true,\n \"internalType\": \"address\"\n },\n {\n \"name\": \"to\",\n \"type\": \"address\",\n \"indexed\": true,\n \"internalType\": \"address\"\n }\n ],\n \"anonymous\": false\n },\n {\n \"type\": \"event\",\n \"name\": \"OwnershipTransferred\",\n \"inputs\": [\n {\n \"name\": \"from\",\n \"type\": \"address\",\n \"indexed\": true,\n \"internalType\": \"address\"\n },\n {\n \"name\": \"to\",\n \"type\": \"address\",\n \"indexed\": true,\n \"internalType\": \"address\"\n }\n ],\n \"anonymous\": false\n },\n {\n \"type\": \"event\",\n \"name\": \"ProofVerified\",\n \"inputs\": [\n {\n \"name\": \"subscriptionId\",\n \"type\": \"uint64\",\n \"indexed\": true,\n \"internalType\": \"uint64\"\n },\n {\n \"name\": \"interval\",\n \"type\": \"uint32\",\n \"indexed\": true,\n \"internalType\": \"uint32\"\n },\n {\n \"name\": \"node\",\n \"type\": \"address\",\n \"indexed\": true,\n \"internalType\": \"address\"\n },\n {\n \"name\": \"valid\",\n \"type\": \"bool\",\n \"indexed\": false,\n \"internalType\": \"bool\"\n },\n {\n \"name\": \"verifier\",\n \"type\": \"address\",\n \"indexed\": false,\n \"internalType\": \"address\"\n }\n ],\n \"anonymous\": false\n },\n {\n \"type\": \"event\",\n \"name\": \"RequestCancelled\",\n \"inputs\": [\n {\n \"name\": \"requestId\",\n \"type\": \"bytes32\",\n \"indexed\": true,\n \"internalType\": \"bytes32\"\n }\n ],\n \"anonymous\": false\n },\n {\n \"type\": \"event\",\n \"name\": \"RequestStarted\",\n \"inputs\": [\n {\n \"name\": \"requestId\",\n \"type\": \"bytes32\",\n \"indexed\": true,\n \"internalType\": \"bytes32\"\n },\n {\n \"name\": \"subscriptionId\",\n \"type\": \"uint64\",\n \"indexed\": true,\n \"internalType\": \"uint64\"\n },\n {\n \"name\": \"containerId\",\n \"type\": \"bytes32\",\n \"indexed\": true,\n \"internalType\": \"bytes32\"\n },\n {\n \"name\": \"commitment\",\n \"type\": \"tuple\",\n \"indexed\": false,\n \"internalType\": \"struct Commitment\",\n \"components\": [\n {\n \"name\": \"requestId\",\n \"type\": \"bytes32\",\n \"internalType\": \"bytes32\"\n },\n {\n \"name\": \"subscriptionId\",\n \"type\": \"uint64\",\n \"internalType\": \"uint64\"\n },\n {\n \"name\": \"containerId\",\n \"type\": \"bytes32\",\n \"internalType\": \"bytes32\"\n },\n {\n \"name\": \"interval\",\n \"type\": \"uint32\",\n \"internalType\": \"uint32\"\n },\n {\n \"name\": \"useDeliveryInbox\",\n \"type\": \"bool\",\n \"internalType\": \"bool\"\n },\n {\n \"name\": \"redundancy\",\n \"type\": \"uint16\",\n \"internalType\": \"uint16\"\n },\n {\n \"name\": \"walletAddress\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n },\n {\n \"name\": \"feeAmount\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"feeToken\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n },\n {\n \"name\": \"verifier\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n },\n {\n \"name\": \"coordinator\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n }\n ]\n }\n ],\n \"anonymous\": false\n },\n {\n \"type\": \"error\",\n \"name\": \"InsufficientForVerifierFee\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"IntervalCompleted\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"IntervalMismatch\",\n \"inputs\": [\n {\n \"name\": \"deliveryInterval\",\n \"type\": \"uint32\",\n \"internalType\": \"uint32\"\n }\n ]\n },\n {\n \"type\": \"error\",\n \"name\": \"InvalidCommitment\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"InvalidRequestCommitment\",\n \"inputs\": [\n {\n \"name\": \"requestId\",\n \"type\": \"bytes32\",\n \"internalType\": \"bytes32\"\n }\n ]\n },\n {\n \"type\": \"error\",\n \"name\": \"InvalidWallet\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"NoNextInterval\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"NodeRespondedAlready\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"NotReadyForNextInterval\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"OnlyCallableByRouter\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"OnlyCallableByRouterOwner\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"ProofVerificationRequestNotFound\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"ProtocolFeeExceeds\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"ReentrancyGuardReentrantCall\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"RouterMustBeSet\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"UnauthorizedVerifier\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"UnsupportedVerifierToken\",\n \"inputs\": [\n {\n \"name\": \"token\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n }\n ]\n }\n]","import { Contract, Provider } from 'ethers';\nimport SubscriptionBatchReaderABI from './abis/SubscriptionBatchReader.abi.json';\nimport type { ComputeSubscription, IntervalStatus } from './types';\n\n/**\n * SubscriptionBatchReaderContract\n * TypeScript wrapper for the Noosphere SubscriptionBatchReader contract\n * Based on SubscriptionBatchReader from noosphere-evm\n */\nexport class SubscriptionBatchReaderContract {\n private contract: Contract;\n\n constructor(address: string, provider: Provider) {\n this.contract = new Contract(address, SubscriptionBatchReaderABI, provider);\n }\n\n /*//////////////////////////////////////////////////////////////////////////\n READ HELPERS\n //////////////////////////////////////////////////////////////////////////*/\n\n /**\n * Get a batch of subscriptions from the blockchain\n * @param startId Inclusive start subscription ID\n * @param endId Inclusive end subscription ID\n * @param blockNumber Optional block number to query at\n * @returns Array of ComputeSubscription structs\n */\n async getSubscriptions(\n startId: bigint,\n endId: bigint,\n blockNumber?: number\n ): Promise<ComputeSubscription[]> {\n const options = blockNumber ? { blockTag: blockNumber } : {};\n\n const subscriptions = await this.contract.getSubscriptions(startId, endId, options);\n\n return subscriptions.map((sub: any) => this.parseComputeSubscription(sub));\n }\n\n /**\n * Get interval statuses for multiple subscription-interval pairs\n * @param ids Array of subscription IDs\n * @param intervals Array of interval indices (matched element-wise with ids)\n * @returns Array of IntervalStatus for each pair\n */\n async getIntervalStatuses(ids: bigint[], intervals: number[]): Promise<IntervalStatus[]> {\n if (ids.length !== intervals.length) {\n throw new Error('ids and intervals arrays must have the same length');\n }\n\n const statuses = await this.contract.getIntervalStatuses(ids, intervals);\n\n return statuses.map((status: any) => ({\n redundancyCount: Number(status.redundancyCount),\n commitmentExists: status.commitmentExists,\n }));\n }\n\n /*//////////////////////////////////////////////////////////////////////////\n HELPERS\n //////////////////////////////////////////////////////////////////////////*/\n\n /**\n * Get the contract address\n */\n get address(): string {\n return this.contract.target as string;\n }\n\n /**\n * Get the underlying ethers Contract\n */\n get raw(): Contract {\n return this.contract;\n }\n\n /*//////////////////////////////////////////////////////////////////////////\n PRIVATE PARSERS\n //////////////////////////////////////////////////////////////////////////*/\n\n private parseComputeSubscription(sub: any): ComputeSubscription {\n return {\n routeId: sub.routeId,\n containerId: sub.containerId,\n feeAmount: BigInt(sub.feeAmount),\n client: sub.client,\n activeAt: Number(sub.activeAt),\n intervalSeconds: Number(sub.intervalSeconds),\n maxExecutions: Number(sub.maxExecutions),\n wallet: sub.wallet,\n feeToken: sub.feeToken,\n verifier: sub.verifier,\n redundancy: Number(sub.redundancy),\n useDeliveryInbox: sub.useDeliveryInbox,\n };\n }\n}\n","[\n {\n \"type\": \"constructor\",\n \"inputs\": [\n {\n \"name\": \"_router\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n },\n {\n \"name\": \"_coordinator\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n }\n ],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"getIntervalStatuses\",\n \"inputs\": [\n {\n \"name\": \"ids\",\n \"type\": \"uint64[]\",\n \"internalType\": \"uint64[]\"\n },\n {\n \"name\": \"intervals\",\n \"type\": \"uint32[]\",\n \"internalType\": \"uint32[]\"\n }\n ],\n \"outputs\": [\n {\n \"name\": \"statuses\",\n \"type\": \"tuple[]\",\n \"internalType\": \"struct SubscriptionBatchReader.IntervalStatus[]\",\n \"components\": [\n {\n \"name\": \"redundancyCount\",\n \"type\": \"uint16\",\n \"internalType\": \"uint16\"\n },\n {\n \"name\": \"commitmentExists\",\n \"type\": \"bool\",\n \"internalType\": \"bool\"\n }\n ]\n }\n ],\n \"stateMutability\": \"view\"\n },\n {\n \"type\": \"function\",\n \"name\": \"getSubscriptions\",\n \"inputs\": [\n {\n \"name\": \"startId\",\n \"type\": \"uint64\",\n \"internalType\": \"uint64\"\n },\n {\n \"name\": \"endId\",\n \"type\": \"uint64\",\n \"internalType\": \"uint64\"\n }\n ],\n \"outputs\": [\n {\n \"name\": \"subscriptions\",\n \"type\": \"tuple[]\",\n \"internalType\": \"struct ComputeSubscription[]\",\n \"components\": [\n {\n \"name\": \"routeId\",\n \"type\": \"bytes32\",\n \"internalType\": \"bytes32\"\n },\n {\n \"name\": \"containerId\",\n \"type\": \"bytes32\",\n \"internalType\": \"bytes32\"\n },\n {\n \"name\": \"feeAmount\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"client\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n },\n {\n \"name\": \"activeAt\",\n \"type\": \"uint32\",\n \"internalType\": \"uint32\"\n },\n {\n \"name\": \"intervalSeconds\",\n \"type\": \"uint32\",\n \"internalType\": \"uint32\"\n },\n {\n \"name\": \"maxExecutions\",\n \"type\": \"uint32\",\n \"internalType\": \"uint32\"\n },\n {\n \"name\": \"wallet\",\n \"type\": \"address\",\n \"internalType\": \"address payable\"\n },\n {\n \"name\": \"feeToken\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n },\n {\n \"name\": \"verifier\",\n \"type\": \"address\",\n \"internalType\": \"address payable\"\n },\n {\n \"name\": \"redundancy\",\n \"type\": \"uint16\",\n \"internalType\": \"uint16\"\n },\n {\n \"name\": \"useDeliveryInbox\",\n \"type\": \"bool\",\n \"internalType\": \"bool\"\n }\n ]\n }\n ],\n \"stateMutability\": \"view\"\n }\n]","/**\n * Noosphere Contract Types\n * Based on noosphere-evm Solidity types\n */\n\nexport interface ComputeSubscription {\n routeId: string; // bytes32\n containerId: string; // bytes32\n feeAmount: bigint; // uint256\n client: string; // address\n activeAt: number; // uint32\n intervalSeconds: number; // uint32\n maxExecutions: number; // uint32\n wallet: string; // address payable\n feeToken: string; // address\n verifier: string; // address payable\n redundancy: number; // uint16\n useDeliveryInbox: boolean; // bool\n}\n\nexport interface Commitment {\n requestId: string; // bytes32\n subscriptionId: bigint; // uint64\n interval: number; // uint32\n redundancy: number; // uint16\n containerId: string; // bytes32\n client: string; // address\n wallet: string; // address\n feeToken: string; // address\n feeAmount: bigint; // uint256\n verifier: string; // address\n useDeliveryInbox: boolean; // bool\n}\n\nexport interface Payment {\n recipient: string; // address\n token: string; // address\n amount: bigint; // uint256\n}\n\nexport interface ProofVerificationRequest {\n subscriptionId: bigint; // uint64\n interval: number; // uint32\n verifier: string; // address\n token: string; // address\n amount: bigint; // uint256\n}\n\nexport interface IntervalStatus {\n redundancyCount: number; // uint16\n commitmentExists: boolean; // bool\n}\n\nexport enum FulfillResult {\n FULFILLED = 0,\n INVALID_REQUEST_ID = 1,\n INVALID_COMMITMENT = 2,\n REDUNDANCY_NOT_MET = 3,\n INSUFFICIENT_PAYMENT = 4,\n VERIFICATION_REQUIRED = 5,\n VERIFICATION_FAILED = 6,\n}\n\n/**\n * Event types\n */\n\nexport interface RequestStartedEvent {\n requestId: string;\n subscriptionId: bigint;\n containerId: string;\n commitment: Commitment;\n}\n\nexport interface RequestCancelledEvent {\n requestId: string;\n}\n\nexport interface ComputeDeliveredEvent {\n requestId: string;\n nodeWallet: string;\n numRedundantDeliveries: number;\n}\n\nexport interface ProofVerifiedEvent {\n subscriptionId: bigint;\n interval: number;\n node: string;\n valid: boolean;\n verifier: string;\n}\n\nexport interface SubscriptionCreatedEvent {\n subscriptionId: bigint;\n client: string;\n routeId: string;\n containerId: string;\n}\n","[\n {\n \"type\": \"constructor\",\n \"inputs\": [\n {\n \"name\": \"router\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n }\n ],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"createWallet\",\n \"inputs\": [\n {\n \"name\": \"initialOwner\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n }\n ],\n \"outputs\": [\n {\n \"name\": \"walletAddr\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n }\n ],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"isValidWallet\",\n \"inputs\": [\n {\n \"name\": \"walletAddr\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n }\n ],\n \"outputs\": [\n {\n \"name\": \"isCreated\",\n \"type\": \"bool\",\n \"internalType\": \"bool\"\n }\n ],\n \"stateMutability\": \"view\"\n },\n {\n \"type\": \"function\",\n \"name\": \"typeAndVersion\",\n \"inputs\": [],\n \"outputs\": [\n {\n \"name\": \"\",\n \"type\": \"string\",\n \"internalType\": \"string\"\n }\n ],\n \"stateMutability\": \"pure\"\n },\n {\n \"type\": \"event\",\n \"name\": \"WalletCreated\",\n \"inputs\": [\n {\n \"name\": \"operator\",\n \"type\": \"address\",\n \"indexed\": true,\n \"internalType\": \"address\"\n },\n {\n \"name\": \"owner\",\n \"type\": \"address\",\n \"indexed\": true,\n \"internalType\": \"address\"\n },\n {\n \"name\": \"walletAddress\",\n \"type\": \"address\",\n \"indexed\": false,\n \"internalType\": \"address\"\n }\n ],\n \"anonymous\": false\n },\n {\n \"type\": \"error\",\n \"name\": \"OnlyCallableByRouter\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"OnlyCallableByRouterOwner\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"RouterMustBeSet\",\n \"inputs\": []\n }\n]","[\n {\n \"type\": \"constructor\",\n \"inputs\": [\n {\n \"name\": \"router\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n },\n {\n \"name\": \"initialOwner\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n }\n ],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"receive\",\n \"stateMutability\": \"payable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"allowance\",\n \"inputs\": [\n {\n \"name\": \"\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n },\n {\n \"name\": \"\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n }\n ],\n \"outputs\": [\n {\n \"name\": \"\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n }\n ],\n \"stateMutability\": \"view\"\n },\n {\n \"type\": \"function\",\n \"name\": \"approve\",\n \"inputs\": [\n {\n \"name\": \"spender\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n },\n {\n \"name\": \"token\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n },\n {\n \"name\": \"amount\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n }\n ],\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"disburseForFulfillment\",\n \"inputs\": [\n {\n \"name\": \"requestId\",\n \"type\": \"bytes32\",\n \"internalType\": \"bytes32\"\n },\n {\n \"name\": \"payments\",\n \"type\": \"tuple[]\",\n \"internalType\": \"struct Payment[]\",\n \"components\": [\n {\n \"name\": \"recipient\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n },\n {\n \"name\": \"feeToken\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n },\n {\n \"name\": \"feeAmount\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n }\n ]\n }\n ],\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"disburseForRequest\",\n \"inputs\": [\n {\n \"name\": \"requestId\",\n \"type\": \"bytes32\",\n \"internalType\": \"bytes32\"\n },\n {\n \"name\": \"to\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n },\n {\n \"name\": \"amount\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n }\n ],\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"isLocked\",\n \"inputs\": [\n {\n \"name\": \"spender\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n },\n {\n \"name\": \"token\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n }\n ],\n \"outputs\": [\n {\n \"name\": \"\",\n \"type\": \"bool\",\n \"internalType\": \"bool\"\n }\n ],\n \"stateMutability\": \"view\"\n },\n {\n \"type\": \"function\",\n \"name\": \"isValidSignature\",\n \"inputs\": [\n {\n \"name\": \"hash_\",\n \"type\": \"bytes32\",\n \"internalType\": \"bytes32\"\n },\n {\n \"name\": \"signature_\",\n \"type\": \"bytes\",\n \"internalType\": \"bytes\"\n }\n ],\n \"outputs\": [\n {\n \"name\": \"\",\n \"type\": \"bytes4\",\n \"internalType\": \"bytes4\"\n }\n ],\n \"stateMutability\": \"view\"\n },\n {\n \"type\": \"function\",\n \"name\": \"lockEscrow\",\n \"inputs\": [\n {\n \"name\": \"spender\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n },\n {\n \"name\": \"token\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n },\n {\n \"name\": \"amount\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n }\n ],\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"lockForRequest\",\n \"inputs\": [\n {\n \"name\": \"spender\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n },\n {\n \"name\": \"token\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n },\n {\n \"name\": \"totalAmount\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"requestId\",\n \"type\": \"bytes32\",\n \"internalType\": \"bytes32\"\n },\n {\n \"name\": \"redundancy\",\n \"type\": \"uint16\",\n \"internalType\": \"uint16\"\n }\n ],\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"lockedOf\",\n \"inputs\": [\n {\n \"name\": \"spender\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n },\n {\n \"name\": \"token\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n }\n ],\n \"outputs\": [\n {\n \"name\": \"\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n }\n ],\n \"stateMutability\": \"view\"\n },\n {\n \"type\": \"function\",\n \"name\": \"lockedOfRequest\",\n \"inputs\": [\n {\n \"name\": \"requestId\",\n \"type\": \"bytes32\",\n \"internalType\": \"bytes32\"\n }\n ],\n \"outputs\": [\n {\n \"name\": \"\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n }\n ],\n \"stateMutability\": \"view\"\n },\n {\n \"type\": \"function\",\n \"name\": \"owner\",\n \"inputs\": [],\n \"outputs\": [\n {\n \"name\": \"\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n }\n ],\n \"stateMutability\": \"view\"\n },\n {\n \"type\": \"function\",\n \"name\": \"paidCountOfRequest\",\n \"inputs\": [\n {\n \"name\": \"requestId\",\n \"type\": \"bytes32\",\n \"internalType\": \"bytes32\"\n }\n ],\n \"outputs\": [\n {\n \"name\": \"\",\n \"type\": \"uint16\",\n \"internalType\": \"uint16\"\n }\n ],\n \"stateMutability\": \"view\"\n },\n {\n \"type\": \"function\",\n \"name\": \"releaseEscrow\",\n \"inputs\": [\n {\n \"name\": \"spender\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n },\n {\n \"name\": \"token\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n },\n {\n \"name\": \"amount\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n }\n ],\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"releaseForRequest\",\n \"inputs\": [\n {\n \"name\": \"requestId\",\n \"type\": \"bytes32\",\n \"internalType\": \"bytes32\"\n }\n ],\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"renounceOwnership\",\n \"inputs\": [],\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"totalLockedFor\",\n \"inputs\": [\n {\n \"name\": \"token\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n }\n ],\n \"outputs\": [\n {\n \"name\": \"\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n }\n ],\n \"stateMutability\": \"view\"\n },\n {\n \"type\": \"function\",\n \"name\": \"transferByRouter\",\n \"inputs\": [\n {\n \"name\": \"spender\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n },\n {\n \"name\": \"payments\",\n \"type\": \"tuple[]\",\n \"internalType\": \"struct Payment[]\",\n \"components\": [\n {\n \"name\": \"recipient\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n },\n {\n \"name\": \"feeToken\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n },\n {\n \"name\": \"feeAmount\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n }\n ]\n }\n ],\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"transferOwnership\",\n \"inputs\": [\n {\n \"name\": \"newOwner\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n }\n ],\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"typeAndVersion\",\n \"inputs\": [],\n \"outputs\": [\n {\n \"name\": \"\",\n \"type\": \"string\",\n \"internalType\": \"string\"\n }\n ],\n \"stateMutability\": \"pure\"\n },\n {\n \"type\": \"function\",\n \"name\": \"withdraw\",\n \"inputs\": [\n {\n \"name\": \"token\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n },\n {\n \"name\": \"amount\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n }\n ],\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"event\",\n \"name\": \"Approval\",\n \"inputs\": [\n {\n \"name\": \"spender\",\n \"type\": \"address\",\n \"indexed\": true,\n \"internalType\": \"address\"\n },\n {\n \"name\": \"token\",\n \"type\": \"address\",\n \"indexed\": true,\n \"internalType\": \"address\"\n },\n {\n \"name\": \"amount\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n }\n ],\n \"anonymous\": false\n },\n {\n \"type\": \"event\",\n \"name\": \"Deposit\",\n \"inputs\": [\n {\n \"name\": \"token\",\n \"type\": \"address\",\n \"indexed\": true,\n \"internalType\": \"address\"\n },\n {\n \"name\": \"amount\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n }\n ],\n \"anonymous\": false\n },\n {\n \"type\": \"event\",\n \"name\": \"Escrow\",\n \"inputs\": [\n {\n \"name\": \"spender\",\n \"type\": \"address\",\n \"indexed\": true,\n \"internalType\": \"address\"\n },\n {\n \"name\": \"token\",\n \"type\": \"address\",\n \"indexed\": true,\n \"internalType\": \"address\"\n },\n {\n \"name\": \"amount\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"locked\",\n \"type\": \"bool\",\n \"indexed\": false,\n \"internalType\": \"bool\"\n }\n ],\n \"anonymous\": false\n },\n {\n \"type\": \"event\",\n \"name\": \"OwnershipTransferred\",\n \"inputs\": [\n {\n \"name\": \"previousOwner\",\n \"type\": \"address\",\n \"indexed\": true,\n \"internalType\": \"address\"\n },\n {\n \"name\": \"newOwner\",\n \"type\": \"address\",\n \"indexed\": true,\n \"internalType\": \"address\"\n }\n ],\n \"anonymous\": false\n },\n {\n \"type\": \"event\",\n \"name\": \"RequestDisbursed\",\n \"inputs\": [\n {\n \"name\": \"requestId\",\n \"type\": \"bytes32\",\n \"indexed\": true,\n \"internalType\": \"bytes32\"\n },\n {\n \"name\": \"to\",\n \"type\": \"address\",\n \"indexed\": true,\n \"internalType\": \"address\"\n },\n {\n \"name\": \"token\",\n \"type\": \"address\",\n \"indexed\": true,\n \"internalType\": \"address\"\n },\n {\n \"name\": \"amount\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"paidCount\",\n \"type\": \"uint16\",\n \"indexed\": false,\n \"internalType\": \"uint16\"\n }\n ],\n \"anonymous\": false\n },\n {\n \"type\": \"event\",\n \"name\": \"RequestLocked\",\n \"inputs\": [\n {\n \"name\": \"requestId\",\n \"type\": \"bytes32\",\n \"indexed\": true,\n \"internalType\": \"bytes32\"\n },\n {\n \"name\": \"spender\",\n \"type\": \"address\",\n \"indexed\": true,\n \"internalType\": \"address\"\n },\n {\n \"name\": \"token\",\n \"type\": \"address\",\n \"indexed\": true,\n \"internalType\": \"address\"\n },\n {\n \"name\": \"totalAmount\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"redundancy\",\n \"type\": \"uint16\",\n \"indexed\": false,\n \"internalType\": \"uint16\"\n }\n ],\n \"anonymous\": false\n },\n {\n \"type\": \"event\",\n \"name\": \"RequestReleased\",\n \"inputs\": [\n {\n \"name\": \"requestId\",\n \"type\": \"bytes32\",\n \"indexed\": true,\n \"internalType\": \"bytes32\"\n },\n {\n \"name\": \"spender\",\n \"type\": \"address\",\n \"indexed\": true,\n \"internalType\": \"address\"\n },\n {\n \"name\": \"token\",\n \"type\": \"address\",\n \"indexed\": true,\n \"internalType\": \"address\"\n },\n {\n \"name\": \"amountRefunded\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n }\n ],\n \"anonymous\": false\n },\n {\n \"type\": \"event\",\n \"name\": \"Transfer\",\n \"inputs\": [\n {\n \"name\": \"spender\",\n \"type\": \"address\",\n \"indexed\": true,\n \"internalType\": \"address\"\n },\n {\n \"name\": \"token\",\n \"type\": \"address\",\n \"indexed\": false,\n \"internalType\": \"address\"\n },\n {\n \"name\": \"to\",\n \"type\": \"address\",\n \"indexed\": true,\n \"internalType\": \"address\"\n },\n {\n \"name\": \"amount\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n }\n ],\n \"anonymous\": false\n },\n {\n \"type\": \"event\",\n \"name\": \"Withdraw\",\n \"inputs\": [\n {\n \"name\": \"token\",\n \"type\": \"address\",\n \"indexed\": true,\n \"internalType\": \"address\"\n },\n {\n \"name\": \"amount\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n }\n ],\n \"anonymous\": false\n },\n {\n \"type\": \"error\",\n \"name\": \"ECDSAInvalidSignature\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"ECDSAInvalidSignatureLength\",\n \"inputs\": [\n {\n \"name\": \"length\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n }\n ]\n },\n {\n \"type\": \"error\",\n \"name\": \"ECDSAInvalidSignatureS\",\n \"inputs\": [\n {\n \"name\": \"s\",\n \"type\": \"bytes32\",\n \"internalType\": \"bytes32\"\n }\n ]\n },\n {\n \"type\": \"error\",\n \"name\": \"ExceedsRemaining\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"FailedCall\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"InconsistentLockedBalance\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"InsufficientAllowance\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"InsufficientBalance\",\n \"inputs\": [\n {\n \"name\": \"balance\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"needed\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n }\n ]\n },\n {\n \"type\": \"error\",\n \"name\": \"InsufficientFunds\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"MismatchPaymentToken\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"NoSuchRequestLock\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"OnlyCallableByRouter\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"OnlyCallableByRouterOwner\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"OwnableInvalidOwner\",\n \"inputs\": [\n {\n \"name\": \"owner\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n }\n ]\n },\n {\n \"type\": \"error\",\n \"name\": \"OwnableUnauthorizedAccount\",\n \"inputs\": [\n {\n \"name\": \"account\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n }\n ]\n },\n {\n \"type\": \"error\",\n \"name\": \"RedundancyExhausted\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"ReentrancyGuardReentrantCall\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"RequestAlreadyLocked\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"RouterMustBeSet\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"SafeERC20FailedOperation\",\n \"inputs\": [\n {\n \"name\": \"token\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n }\n ]\n },\n {\n \"type\": \"error\",\n \"name\": \"ZeroAmount\",\n \"inputs\": []\n }\n]","/**\n * @noosphere/contracts\n * TypeScript wrappers for Noosphere smart contracts\n */\n\n// TypeChain-generated types (auto-generated, fully type-safe)\nexport * from './typechain';\n\n// Custom contract wrappers (convenience methods and data transformation)\nexport { RouterContract } from './Router';\nexport { CoordinatorContract } from './Coordinator';\nexport { SubscriptionBatchReaderContract } from './SubscriptionBatchReader';\n\n// Custom types\nexport * from './types';\n\n// ABIs\nimport RouterABI from './abis/Router.abi.json';\nimport CoordinatorABI from './abis/Coordinator.abi.json';\nimport SubscriptionBatchReaderABI from './abis/SubscriptionBatchReader.abi.json';\nimport WalletFactoryABI from './abis/WalletFactory.abi.json';\nimport WalletABI from './abis/Wallet.abi.json';\n\nexport const ABIs = {\n Router: RouterABI,\n Coordinator: CoordinatorABI,\n SubscriptionBatchReader: SubscriptionBatchReaderABI,\n WalletFactory: WalletFactoryABI,\n Wallet: WalletABI,\n};\n"],"mappings":"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","names":["Contract","Interface","_abi","Contract","Interface","_abi","Contract","Interface","_abi","Contract","Interface","_abi","Contract","Contract","Contract","Contract","Contract","Contract","FulfillResult"]}
|
|
1
|
+
{"version":3,"sources":["../src/typechain/factories/index.ts","../src/typechain/factories/CoordinatorAbi__factory.ts","../src/typechain/factories/RouterAbi__factory.ts","../src/typechain/factories/SubscriptionBatchReaderAbi__factory.ts","../src/typechain/factories/WalletAbi__factory.ts","../src/typechain/factories/WalletFactoryAbi__factory.ts","../src/Router.ts","../src/abis/Router.abi.json","../src/Coordinator.ts","../src/abis/Coordinator.abi.json","../src/SubscriptionBatchReader.ts","../src/abis/SubscriptionBatchReader.abi.json","../src/types/index.ts","../src/abis/WalletFactory.abi.json","../src/abis/Wallet.abi.json","../src/index.ts"],"sourcesContent":["/* Autogenerated file. Do not edit manually. */\n/* tslint:disable */\n/* eslint-disable */\nexport { CoordinatorAbi__factory } from \"./CoordinatorAbi__factory\";\nexport { RouterAbi__factory } from \"./RouterAbi__factory\";\nexport { SubscriptionBatchReaderAbi__factory } from \"./SubscriptionBatchReaderAbi__factory\";\nexport { WalletAbi__factory } from \"./WalletAbi__factory\";\nexport { WalletFactoryAbi__factory } from \"./WalletFactoryAbi__factory\";\n","/* Autogenerated file. Do not edit manually. */\n/* tslint:disable */\n/* eslint-disable */\n\nimport { Contract, Interface, type ContractRunner } from \"ethers\";\nimport type {\n CoordinatorAbi,\n CoordinatorAbiInterface,\n} from \"../CoordinatorAbi\";\n\nconst _abi = [\n {\n type: \"constructor\",\n inputs: [\n {\n name: \"_routerAddress\",\n type: \"address\",\n internalType: \"address\",\n },\n {\n name: \"_initialOwner\",\n type: \"address\",\n internalType: \"address\",\n },\n ],\n stateMutability: \"nonpayable\",\n },\n {\n type: \"function\",\n name: \"acceptOwnership\",\n inputs: [],\n outputs: [],\n stateMutability: \"nonpayable\",\n },\n {\n type: \"function\",\n name: \"cancelRequest\",\n inputs: [\n {\n name: \"requestId\",\n type: \"bytes32\",\n internalType: \"bytes32\",\n },\n ],\n outputs: [],\n stateMutability: \"nonpayable\",\n },\n {\n type: \"function\",\n name: \"client\",\n inputs: [],\n outputs: [\n {\n name: \"\",\n type: \"address\",\n internalType: \"address\",\n },\n ],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"getCommitment\",\n inputs: [\n {\n name: \"subscriptionId\",\n type: \"uint64\",\n internalType: \"uint64\",\n },\n {\n name: \"interval\",\n type: \"uint32\",\n internalType: \"uint32\",\n },\n ],\n outputs: [\n {\n name: \"\",\n type: \"tuple\",\n internalType: \"struct Commitment\",\n components: [\n {\n name: \"requestId\",\n type: \"bytes32\",\n internalType: \"bytes32\",\n },\n {\n name: \"subscriptionId\",\n type: \"uint64\",\n internalType: \"uint64\",\n },\n {\n name: \"containerId\",\n type: \"bytes32\",\n internalType: \"bytes32\",\n },\n {\n name: \"interval\",\n type: \"uint32\",\n internalType: \"uint32\",\n },\n {\n name: \"useDeliveryInbox\",\n type: \"bool\",\n internalType: \"bool\",\n },\n {\n name: \"redundancy\",\n type: \"uint16\",\n internalType: \"uint16\",\n },\n {\n name: \"walletAddress\",\n type: \"address\",\n internalType: \"address\",\n },\n {\n name: \"feeAmount\",\n type: \"uint256\",\n internalType: \"uint256\",\n },\n {\n name: \"feeToken\",\n type: \"address\",\n internalType: \"address\",\n },\n {\n name: \"verifier\",\n type: \"address\",\n internalType: \"address\",\n },\n {\n name: \"coordinator\",\n type: \"address\",\n internalType: \"address\",\n },\n ],\n },\n ],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"getConfig\",\n inputs: [],\n outputs: [\n {\n name: \"\",\n type: \"tuple\",\n internalType: \"struct BillingConfig\",\n components: [\n {\n name: \"verificationTimeout\",\n type: \"uint32\",\n internalType: \"uint32\",\n },\n {\n name: \"protocolFeeRecipient\",\n type: \"address\",\n internalType: \"address\",\n },\n {\n name: \"protocolFee\",\n type: \"uint16\",\n internalType: \"uint16\",\n },\n {\n name: \"tickNodeFee\",\n type: \"uint256\",\n internalType: \"uint256\",\n },\n {\n name: \"tickNodeFeeToken\",\n type: \"address\",\n internalType: \"address\",\n },\n ],\n },\n ],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"getProtocolFee\",\n inputs: [],\n outputs: [\n {\n name: \"\",\n type: \"uint72\",\n internalType: \"uint72\",\n },\n ],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"getSubscriptionBatchReader\",\n inputs: [],\n outputs: [\n {\n name: \"\",\n type: \"address\",\n internalType: \"address\",\n },\n ],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"initialize\",\n inputs: [\n {\n name: \"_config\",\n type: \"tuple\",\n internalType: \"struct BillingConfig\",\n components: [\n {\n name: \"verificationTimeout\",\n type: \"uint32\",\n internalType: \"uint32\",\n },\n {\n name: \"protocolFeeRecipient\",\n type: \"address\",\n internalType: \"address\",\n },\n {\n name: \"protocolFee\",\n type: \"uint16\",\n internalType: \"uint16\",\n },\n {\n name: \"tickNodeFee\",\n type: \"uint256\",\n internalType: \"uint256\",\n },\n {\n name: \"tickNodeFeeToken\",\n type: \"address\",\n internalType: \"address\",\n },\n ],\n },\n ],\n outputs: [],\n stateMutability: \"nonpayable\",\n },\n {\n type: \"function\",\n name: \"nodeResponded\",\n inputs: [\n {\n name: \"\",\n type: \"bytes32\",\n internalType: \"bytes32\",\n },\n ],\n outputs: [\n {\n name: \"\",\n type: \"bool\",\n internalType: \"bool\",\n },\n ],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"prepareNextInterval\",\n inputs: [\n {\n name: \"subscriptionId\",\n type: \"uint64\",\n internalType: \"uint64\",\n },\n {\n name: \"nextInterval\",\n type: \"uint32\",\n internalType: \"uint32\",\n },\n {\n name: \"nodeWallet\",\n type: \"address\",\n internalType: \"address\",\n },\n ],\n outputs: [],\n stateMutability: \"nonpayable\",\n },\n {\n type: \"function\",\n name: \"redundancyCount\",\n inputs: [\n {\n name: \"\",\n type: \"bytes32\",\n internalType: \"bytes32\",\n },\n ],\n outputs: [\n {\n name: \"\",\n type: \"uint16\",\n internalType: \"uint16\",\n },\n ],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"reportComputeResult\",\n inputs: [\n {\n name: \"deliveryInterval\",\n type: \"uint32\",\n internalType: \"uint32\",\n },\n {\n name: \"input\",\n type: \"tuple\",\n internalType: \"struct PayloadData\",\n components: [\n {\n name: \"contentHash\",\n type: \"bytes32\",\n internalType: \"bytes32\",\n },\n {\n name: \"uri\",\n type: \"bytes\",\n internalType: \"bytes\",\n },\n ],\n },\n {\n name: \"output\",\n type: \"tuple\",\n internalType: \"struct PayloadData\",\n components: [\n {\n name: \"contentHash\",\n type: \"bytes32\",\n internalType: \"bytes32\",\n },\n {\n name: \"uri\",\n type: \"bytes\",\n internalType: \"bytes\",\n },\n ],\n },\n {\n name: \"proof\",\n type: \"tuple\",\n internalType: \"struct PayloadData\",\n components: [\n {\n name: \"contentHash\",\n type: \"bytes32\",\n internalType: \"bytes32\",\n },\n {\n name: \"uri\",\n type: \"bytes\",\n internalType: \"bytes\",\n },\n ],\n },\n {\n name: \"commitmentData\",\n type: \"bytes\",\n internalType: \"bytes\",\n },\n {\n name: \"nodeWallet\",\n type: \"address\",\n internalType: \"address\",\n },\n ],\n outputs: [],\n stateMutability: \"nonpayable\",\n },\n {\n type: \"function\",\n name: \"reportVerificationResult\",\n inputs: [\n {\n name: \"request\",\n type: \"tuple\",\n internalType: \"struct ProofVerificationRequest\",\n components: [\n {\n name: \"subscriptionId\",\n type: \"uint64\",\n internalType: \"uint64\",\n },\n {\n name: \"interval\",\n type: \"uint32\",\n internalType: \"uint32\",\n },\n {\n name: \"submitterAddress\",\n type: \"address\",\n internalType: \"address\",\n },\n {\n name: \"submitterWallet\",\n type: \"address\",\n internalType: \"address\",\n },\n {\n name: \"escrowedAmount\",\n type: \"uint256\",\n internalType: \"uint256\",\n },\n {\n name: \"escrowToken\",\n type: \"address\",\n internalType: \"address\",\n },\n {\n name: \"slashAmount\",\n type: \"uint256\",\n internalType: \"uint256\",\n },\n {\n name: \"expiry\",\n type: \"uint32\",\n internalType: \"uint32\",\n },\n ],\n },\n {\n name: \"valid\",\n type: \"bool\",\n internalType: \"bool\",\n },\n ],\n outputs: [],\n stateMutability: \"nonpayable\",\n },\n {\n type: \"function\",\n name: \"requestCommitments\",\n inputs: [\n {\n name: \"requestId\",\n type: \"bytes32\",\n internalType: \"bytes32\",\n },\n ],\n outputs: [\n {\n name: \"\",\n type: \"bytes32\",\n internalType: \"bytes32\",\n },\n ],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"setSubscriptionBatchReader\",\n inputs: [\n {\n name: \"_reader\",\n type: \"address\",\n internalType: \"address\",\n },\n ],\n outputs: [],\n stateMutability: \"nonpayable\",\n },\n {\n type: \"function\",\n name: \"startRequest\",\n inputs: [\n {\n name: \"requestId\",\n type: \"bytes32\",\n internalType: \"bytes32\",\n },\n {\n name: \"subscriptionId\",\n type: \"uint64\",\n internalType: \"uint64\",\n },\n {\n name: \"containerId\",\n type: \"bytes32\",\n internalType: \"bytes32\",\n },\n {\n name: \"interval\",\n type: \"uint32\",\n internalType: \"uint32\",\n },\n {\n name: \"redundancy\",\n type: \"uint16\",\n internalType: \"uint16\",\n },\n {\n name: \"useDeliveryInbox\",\n type: \"bool\",\n internalType: \"bool\",\n },\n {\n name: \"feeToken\",\n type: \"address\",\n internalType: \"address\",\n },\n {\n name: \"feeAmount\",\n type: \"uint256\",\n internalType: \"uint256\",\n },\n {\n name: \"wallet\",\n type: \"address\",\n internalType: \"address\",\n },\n {\n name: \"verifier\",\n type: \"address\",\n internalType: \"address\",\n },\n ],\n outputs: [\n {\n name: \"\",\n type: \"tuple\",\n internalType: \"struct Commitment\",\n components: [\n {\n name: \"requestId\",\n type: \"bytes32\",\n internalType: \"bytes32\",\n },\n {\n name: \"subscriptionId\",\n type: \"uint64\",\n internalType: \"uint64\",\n },\n {\n name: \"containerId\",\n type: \"bytes32\",\n internalType: \"bytes32\",\n },\n {\n name: \"interval\",\n type: \"uint32\",\n internalType: \"uint32\",\n },\n {\n name: \"useDeliveryInbox\",\n type: \"bool\",\n internalType: \"bool\",\n },\n {\n name: \"redundancy\",\n type: \"uint16\",\n internalType: \"uint16\",\n },\n {\n name: \"walletAddress\",\n type: \"address\",\n internalType: \"address\",\n },\n {\n name: \"feeAmount\",\n type: \"uint256\",\n internalType: \"uint256\",\n },\n {\n name: \"feeToken\",\n type: \"address\",\n internalType: \"address\",\n },\n {\n name: \"verifier\",\n type: \"address\",\n internalType: \"address\",\n },\n {\n name: \"coordinator\",\n type: \"address\",\n internalType: \"address\",\n },\n ],\n },\n ],\n stateMutability: \"nonpayable\",\n },\n {\n type: \"function\",\n name: \"transferOwnership\",\n inputs: [\n {\n name: \"to\",\n type: \"address\",\n internalType: \"address\",\n },\n ],\n outputs: [],\n stateMutability: \"nonpayable\",\n },\n {\n type: \"function\",\n name: \"typeAndVersion\",\n inputs: [],\n outputs: [\n {\n name: \"\",\n type: \"string\",\n internalType: \"string\",\n },\n ],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"updateConfig\",\n inputs: [\n {\n name: \"config\",\n type: \"tuple\",\n internalType: \"struct BillingConfig\",\n components: [\n {\n name: \"verificationTimeout\",\n type: \"uint32\",\n internalType: \"uint32\",\n },\n {\n name: \"protocolFeeRecipient\",\n type: \"address\",\n internalType: \"address\",\n },\n {\n name: \"protocolFee\",\n type: \"uint16\",\n internalType: \"uint16\",\n },\n {\n name: \"tickNodeFee\",\n type: \"uint256\",\n internalType: \"uint256\",\n },\n {\n name: \"tickNodeFeeToken\",\n type: \"address\",\n internalType: \"address\",\n },\n ],\n },\n ],\n outputs: [],\n stateMutability: \"nonpayable\",\n },\n {\n type: \"event\",\n name: \"ComputeDelivered\",\n inputs: [\n {\n name: \"requestId\",\n type: \"bytes32\",\n indexed: true,\n internalType: \"bytes32\",\n },\n {\n name: \"nodeWallet\",\n type: \"address\",\n indexed: true,\n internalType: \"address\",\n },\n {\n name: \"numRedundantDeliveries\",\n type: \"uint16\",\n indexed: false,\n internalType: \"uint16\",\n },\n {\n name: \"input\",\n type: \"tuple\",\n indexed: false,\n internalType: \"struct PayloadData\",\n components: [\n {\n name: \"contentHash\",\n type: \"bytes32\",\n internalType: \"bytes32\",\n },\n {\n name: \"uri\",\n type: \"bytes\",\n internalType: \"bytes\",\n },\n ],\n },\n {\n name: \"output\",\n type: \"tuple\",\n indexed: false,\n internalType: \"struct PayloadData\",\n components: [\n {\n name: \"contentHash\",\n type: \"bytes32\",\n internalType: \"bytes32\",\n },\n {\n name: \"uri\",\n type: \"bytes\",\n internalType: \"bytes\",\n },\n ],\n },\n {\n name: \"proof\",\n type: \"tuple\",\n indexed: false,\n internalType: \"struct PayloadData\",\n components: [\n {\n name: \"contentHash\",\n type: \"bytes32\",\n internalType: \"bytes32\",\n },\n {\n name: \"uri\",\n type: \"bytes\",\n internalType: \"bytes\",\n },\n ],\n },\n ],\n anonymous: false,\n },\n {\n type: \"event\",\n name: \"OwnershipTransferRequested\",\n inputs: [\n {\n name: \"from\",\n type: \"address\",\n indexed: true,\n internalType: \"address\",\n },\n {\n name: \"to\",\n type: \"address\",\n indexed: true,\n internalType: \"address\",\n },\n ],\n anonymous: false,\n },\n {\n type: \"event\",\n name: \"OwnershipTransferred\",\n inputs: [\n {\n name: \"from\",\n type: \"address\",\n indexed: true,\n internalType: \"address\",\n },\n {\n name: \"to\",\n type: \"address\",\n indexed: true,\n internalType: \"address\",\n },\n ],\n anonymous: false,\n },\n {\n type: \"event\",\n name: \"ProofVerified\",\n inputs: [\n {\n name: \"subscriptionId\",\n type: \"uint64\",\n indexed: true,\n internalType: \"uint64\",\n },\n {\n name: \"interval\",\n type: \"uint32\",\n indexed: true,\n internalType: \"uint32\",\n },\n {\n name: \"node\",\n type: \"address\",\n indexed: true,\n internalType: \"address\",\n },\n {\n name: \"valid\",\n type: \"bool\",\n indexed: false,\n internalType: \"bool\",\n },\n {\n name: \"verifier\",\n type: \"address\",\n indexed: false,\n internalType: \"address\",\n },\n ],\n anonymous: false,\n },\n {\n type: \"event\",\n name: \"RequestCancelled\",\n inputs: [\n {\n name: \"requestId\",\n type: \"bytes32\",\n indexed: true,\n internalType: \"bytes32\",\n },\n ],\n anonymous: false,\n },\n {\n type: \"event\",\n name: \"RequestStarted\",\n inputs: [\n {\n name: \"requestId\",\n type: \"bytes32\",\n indexed: true,\n internalType: \"bytes32\",\n },\n {\n name: \"subscriptionId\",\n type: \"uint64\",\n indexed: true,\n internalType: \"uint64\",\n },\n {\n name: \"containerId\",\n type: \"bytes32\",\n indexed: true,\n internalType: \"bytes32\",\n },\n {\n name: \"commitment\",\n type: \"tuple\",\n indexed: false,\n internalType: \"struct Commitment\",\n components: [\n {\n name: \"requestId\",\n type: \"bytes32\",\n internalType: \"bytes32\",\n },\n {\n name: \"subscriptionId\",\n type: \"uint64\",\n internalType: \"uint64\",\n },\n {\n name: \"containerId\",\n type: \"bytes32\",\n internalType: \"bytes32\",\n },\n {\n name: \"interval\",\n type: \"uint32\",\n internalType: \"uint32\",\n },\n {\n name: \"useDeliveryInbox\",\n type: \"bool\",\n internalType: \"bool\",\n },\n {\n name: \"redundancy\",\n type: \"uint16\",\n internalType: \"uint16\",\n },\n {\n name: \"walletAddress\",\n type: \"address\",\n internalType: \"address\",\n },\n {\n name: \"feeAmount\",\n type: \"uint256\",\n internalType: \"uint256\",\n },\n {\n name: \"feeToken\",\n type: \"address\",\n internalType: \"address\",\n },\n {\n name: \"verifier\",\n type: \"address\",\n internalType: \"address\",\n },\n {\n name: \"coordinator\",\n type: \"address\",\n internalType: \"address\",\n },\n ],\n },\n ],\n anonymous: false,\n },\n {\n type: \"error\",\n name: \"InsufficientForVerifierFee\",\n inputs: [],\n },\n {\n type: \"error\",\n name: \"IntervalCompleted\",\n inputs: [],\n },\n {\n type: \"error\",\n name: \"IntervalMismatch\",\n inputs: [\n {\n name: \"deliveryInterval\",\n type: \"uint32\",\n internalType: \"uint32\",\n },\n ],\n },\n {\n type: \"error\",\n name: \"InvalidCommitment\",\n inputs: [],\n },\n {\n type: \"error\",\n name: \"InvalidRequestCommitment\",\n inputs: [\n {\n name: \"requestId\",\n type: \"bytes32\",\n internalType: \"bytes32\",\n },\n ],\n },\n {\n type: \"error\",\n name: \"InvalidWallet\",\n inputs: [],\n },\n {\n type: \"error\",\n name: \"NoNextInterval\",\n inputs: [],\n },\n {\n type: \"error\",\n name: \"NodeRespondedAlready\",\n inputs: [],\n },\n {\n type: \"error\",\n name: \"NotReadyForNextInterval\",\n inputs: [],\n },\n {\n type: \"error\",\n name: \"OnlyCallableByRouter\",\n inputs: [],\n },\n {\n type: \"error\",\n name: \"OnlyCallableByRouterOwner\",\n inputs: [],\n },\n {\n type: \"error\",\n name: \"ProofVerificationRequestNotFound\",\n inputs: [],\n },\n {\n type: \"error\",\n name: \"ProtocolFeeExceeds\",\n inputs: [],\n },\n {\n type: \"error\",\n name: \"ReentrancyGuardReentrantCall\",\n inputs: [],\n },\n {\n type: \"error\",\n name: \"RouterMustBeSet\",\n inputs: [],\n },\n {\n type: \"error\",\n name: \"UnauthorizedVerifier\",\n inputs: [],\n },\n {\n type: \"error\",\n name: \"UnsupportedVerifierToken\",\n inputs: [\n {\n name: \"token\",\n type: \"address\",\n internalType: \"address\",\n },\n ],\n },\n] as const;\n\nexport class CoordinatorAbi__factory {\n static readonly abi = _abi;\n static createInterface(): CoordinatorAbiInterface {\n return new Interface(_abi) as CoordinatorAbiInterface;\n }\n static connect(\n address: string,\n runner?: ContractRunner | null\n ): CoordinatorAbi {\n return new Contract(address, _abi, runner) as unknown as CoordinatorAbi;\n }\n}\n","/* Autogenerated file. Do not edit manually. */\n/* tslint:disable */\n/* eslint-disable */\n\nimport { Contract, Interface, type ContractRunner } from \"ethers\";\nimport type { RouterAbi, RouterAbiInterface } from \"../RouterAbi\";\n\nconst _abi = [\n {\n type: \"constructor\",\n inputs: [\n {\n name: \"_initialOwner\",\n type: \"address\",\n internalType: \"address\",\n },\n ],\n stateMutability: \"nonpayable\",\n },\n {\n type: \"function\",\n name: \"EIP712_NAME\",\n inputs: [],\n outputs: [\n {\n name: \"\",\n type: \"string\",\n internalType: \"string\",\n },\n ],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"EIP712_VERSION\",\n inputs: [],\n outputs: [\n {\n name: \"\",\n type: \"string\",\n internalType: \"string\",\n },\n ],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"acceptOwnership\",\n inputs: [],\n outputs: [],\n stateMutability: \"nonpayable\",\n },\n {\n type: \"function\",\n name: \"cancelComputeSubscription\",\n inputs: [\n {\n name: \"subscriptionId\",\n type: \"uint64\",\n internalType: \"uint64\",\n },\n ],\n outputs: [],\n stateMutability: \"nonpayable\",\n },\n {\n type: \"function\",\n name: \"client\",\n inputs: [],\n outputs: [\n {\n name: \"\",\n type: \"address\",\n internalType: \"address\",\n },\n ],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"createComputeSubscription\",\n inputs: [\n {\n name: \"containerId\",\n type: \"string\",\n internalType: \"string\",\n },\n {\n name: \"maxExecutions\",\n type: \"uint32\",\n internalType: \"uint32\",\n },\n {\n name: \"intervalSeconds\",\n type: \"uint32\",\n internalType: \"uint32\",\n },\n {\n name: \"redundancy\",\n type: \"uint16\",\n internalType: \"uint16\",\n },\n {\n name: \"useDeliveryInbox\",\n type: \"bool\",\n internalType: \"bool\",\n },\n {\n name: \"feeToken\",\n type: \"address\",\n internalType: \"address\",\n },\n {\n name: \"feeAmount\",\n type: \"uint256\",\n internalType: \"uint256\",\n },\n {\n name: \"wallet\",\n type: \"address\",\n internalType: \"address\",\n },\n {\n name: \"verifier\",\n type: \"address\",\n internalType: \"address\",\n },\n {\n name: \"routeId\",\n type: \"bytes32\",\n internalType: \"bytes32\",\n },\n ],\n outputs: [\n {\n name: \"\",\n type: \"uint64\",\n internalType: \"uint64\",\n },\n ],\n stateMutability: \"nonpayable\",\n },\n {\n type: \"function\",\n name: \"createSubscriptionDelegatee\",\n inputs: [\n {\n name: \"nonce\",\n type: \"uint32\",\n internalType: \"uint32\",\n },\n {\n name: \"expiry\",\n type: \"uint32\",\n internalType: \"uint32\",\n },\n {\n name: \"sub\",\n type: \"tuple\",\n internalType: \"struct ComputeSubscription\",\n components: [\n {\n name: \"routeId\",\n type: \"bytes32\",\n internalType: \"bytes32\",\n },\n {\n name: \"containerId\",\n type: \"bytes32\",\n internalType: \"bytes32\",\n },\n {\n name: \"feeAmount\",\n type: \"uint256\",\n internalType: \"uint256\",\n },\n {\n name: \"client\",\n type: \"address\",\n internalType: \"address\",\n },\n {\n name: \"activeAt\",\n type: \"uint32\",\n internalType: \"uint32\",\n },\n {\n name: \"intervalSeconds\",\n type: \"uint32\",\n internalType: \"uint32\",\n },\n {\n name: \"maxExecutions\",\n type: \"uint32\",\n internalType: \"uint32\",\n },\n {\n name: \"wallet\",\n type: \"address\",\n internalType: \"address payable\",\n },\n {\n name: \"feeToken\",\n type: \"address\",\n internalType: \"address\",\n },\n {\n name: \"verifier\",\n type: \"address\",\n internalType: \"address payable\",\n },\n {\n name: \"redundancy\",\n type: \"uint16\",\n internalType: \"uint16\",\n },\n {\n name: \"useDeliveryInbox\",\n type: \"bool\",\n internalType: \"bool\",\n },\n ],\n },\n {\n name: \"signature\",\n type: \"bytes\",\n internalType: \"bytes\",\n },\n ],\n outputs: [\n {\n name: \"\",\n type: \"uint64\",\n internalType: \"uint64\",\n },\n ],\n stateMutability: \"nonpayable\",\n },\n {\n type: \"function\",\n name: \"createSubscriptionFor\",\n inputs: [\n {\n name: \"sub\",\n type: \"tuple\",\n internalType: \"struct ComputeSubscription\",\n components: [\n {\n name: \"routeId\",\n type: \"bytes32\",\n internalType: \"bytes32\",\n },\n {\n name: \"containerId\",\n type: \"bytes32\",\n internalType: \"bytes32\",\n },\n {\n name: \"feeAmount\",\n type: \"uint256\",\n internalType: \"uint256\",\n },\n {\n name: \"client\",\n type: \"address\",\n internalType: \"address\",\n },\n {\n name: \"activeAt\",\n type: \"uint32\",\n internalType: \"uint32\",\n },\n {\n name: \"intervalSeconds\",\n type: \"uint32\",\n internalType: \"uint32\",\n },\n {\n name: \"maxExecutions\",\n type: \"uint32\",\n internalType: \"uint32\",\n },\n {\n name: \"wallet\",\n type: \"address\",\n internalType: \"address payable\",\n },\n {\n name: \"feeToken\",\n type: \"address\",\n internalType: \"address\",\n },\n {\n name: \"verifier\",\n type: \"address\",\n internalType: \"address payable\",\n },\n {\n name: \"redundancy\",\n type: \"uint16\",\n internalType: \"uint16\",\n },\n {\n name: \"useDeliveryInbox\",\n type: \"bool\",\n internalType: \"bool\",\n },\n ],\n },\n ],\n outputs: [\n {\n name: \"\",\n type: \"uint64\",\n internalType: \"uint64\",\n },\n ],\n stateMutability: \"nonpayable\",\n },\n {\n type: \"function\",\n name: \"delegateCreatedIds\",\n inputs: [\n {\n name: \"\",\n type: \"bytes32\",\n internalType: \"bytes32\",\n },\n ],\n outputs: [\n {\n name: \"\",\n type: \"uint64\",\n internalType: \"uint64\",\n },\n ],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"eip712Domain\",\n inputs: [],\n outputs: [\n {\n name: \"fields\",\n type: \"bytes1\",\n internalType: \"bytes1\",\n },\n {\n name: \"name\",\n type: \"string\",\n internalType: \"string\",\n },\n {\n name: \"version\",\n type: \"string\",\n internalType: \"string\",\n },\n {\n name: \"chainId\",\n type: \"uint256\",\n internalType: \"uint256\",\n },\n {\n name: \"verifyingContract\",\n type: \"address\",\n internalType: \"address\",\n },\n {\n name: \"salt\",\n type: \"bytes32\",\n internalType: \"bytes32\",\n },\n {\n name: \"extensions\",\n type: \"uint256[]\",\n internalType: \"uint256[]\",\n },\n ],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"fulfill\",\n inputs: [\n {\n name: \"input\",\n type: \"tuple\",\n internalType: \"struct PayloadData\",\n components: [\n {\n name: \"contentHash\",\n type: \"bytes32\",\n internalType: \"bytes32\",\n },\n {\n name: \"uri\",\n type: \"bytes\",\n internalType: \"bytes\",\n },\n ],\n },\n {\n name: \"output\",\n type: \"tuple\",\n internalType: \"struct PayloadData\",\n components: [\n {\n name: \"contentHash\",\n type: \"bytes32\",\n internalType: \"bytes32\",\n },\n {\n name: \"uri\",\n type: \"bytes\",\n internalType: \"bytes\",\n },\n ],\n },\n {\n name: \"proof\",\n type: \"tuple\",\n internalType: \"struct PayloadData\",\n components: [\n {\n name: \"contentHash\",\n type: \"bytes32\",\n internalType: \"bytes32\",\n },\n {\n name: \"uri\",\n type: \"bytes\",\n internalType: \"bytes\",\n },\n ],\n },\n {\n name: \"numRedundantDeliveries\",\n type: \"uint16\",\n internalType: \"uint16\",\n },\n {\n name: \"nodeWallet\",\n type: \"address\",\n internalType: \"address\",\n },\n {\n name: \"payments\",\n type: \"tuple[]\",\n internalType: \"struct Payment[]\",\n components: [\n {\n name: \"recipient\",\n type: \"address\",\n internalType: \"address\",\n },\n {\n name: \"feeToken\",\n type: \"address\",\n internalType: \"address\",\n },\n {\n name: \"feeAmount\",\n type: \"uint256\",\n internalType: \"uint256\",\n },\n ],\n },\n {\n name: \"commitment\",\n type: \"tuple\",\n internalType: \"struct Commitment\",\n components: [\n {\n name: \"requestId\",\n type: \"bytes32\",\n internalType: \"bytes32\",\n },\n {\n name: \"subscriptionId\",\n type: \"uint64\",\n internalType: \"uint64\",\n },\n {\n name: \"containerId\",\n type: \"bytes32\",\n internalType: \"bytes32\",\n },\n {\n name: \"interval\",\n type: \"uint32\",\n internalType: \"uint32\",\n },\n {\n name: \"useDeliveryInbox\",\n type: \"bool\",\n internalType: \"bool\",\n },\n {\n name: \"redundancy\",\n type: \"uint16\",\n internalType: \"uint16\",\n },\n {\n name: \"walletAddress\",\n type: \"address\",\n internalType: \"address\",\n },\n {\n name: \"feeAmount\",\n type: \"uint256\",\n internalType: \"uint256\",\n },\n {\n name: \"feeToken\",\n type: \"address\",\n internalType: \"address\",\n },\n {\n name: \"verifier\",\n type: \"address\",\n internalType: \"address\",\n },\n {\n name: \"coordinator\",\n type: \"address\",\n internalType: \"address\",\n },\n ],\n },\n ],\n outputs: [\n {\n name: \"resultCode\",\n type: \"uint8\",\n internalType: \"enum FulfillResult\",\n },\n ],\n stateMutability: \"nonpayable\",\n },\n {\n type: \"function\",\n name: \"getComputeSubscription\",\n inputs: [\n {\n name: \"subscriptionId\",\n type: \"uint64\",\n internalType: \"uint64\",\n },\n ],\n outputs: [\n {\n name: \"\",\n type: \"tuple\",\n internalType: \"struct ComputeSubscription\",\n components: [\n {\n name: \"routeId\",\n type: \"bytes32\",\n internalType: \"bytes32\",\n },\n {\n name: \"containerId\",\n type: \"bytes32\",\n internalType: \"bytes32\",\n },\n {\n name: \"feeAmount\",\n type: \"uint256\",\n internalType: \"uint256\",\n },\n {\n name: \"client\",\n type: \"address\",\n internalType: \"address\",\n },\n {\n name: \"activeAt\",\n type: \"uint32\",\n internalType: \"uint32\",\n },\n {\n name: \"intervalSeconds\",\n type: \"uint32\",\n internalType: \"uint32\",\n },\n {\n name: \"maxExecutions\",\n type: \"uint32\",\n internalType: \"uint32\",\n },\n {\n name: \"wallet\",\n type: \"address\",\n internalType: \"address payable\",\n },\n {\n name: \"feeToken\",\n type: \"address\",\n internalType: \"address\",\n },\n {\n name: \"verifier\",\n type: \"address\",\n internalType: \"address payable\",\n },\n {\n name: \"redundancy\",\n type: \"uint16\",\n internalType: \"uint16\",\n },\n {\n name: \"useDeliveryInbox\",\n type: \"bool\",\n internalType: \"bool\",\n },\n ],\n },\n ],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"getComputeSubscriptionInterval\",\n inputs: [\n {\n name: \"subscriptionId\",\n type: \"uint64\",\n internalType: \"uint64\",\n },\n ],\n outputs: [\n {\n name: \"\",\n type: \"uint32\",\n internalType: \"uint32\",\n },\n ],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"getContractById\",\n inputs: [\n {\n name: \"id\",\n type: \"bytes32\",\n internalType: \"bytes32\",\n },\n ],\n outputs: [\n {\n name: \"\",\n type: \"address\",\n internalType: \"address\",\n },\n ],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"getLastSubscriptionId\",\n inputs: [],\n outputs: [\n {\n name: \"\",\n type: \"uint64\",\n internalType: \"uint64\",\n },\n ],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"getProposedContractById\",\n inputs: [\n {\n name: \"id\",\n type: \"bytes32\",\n internalType: \"bytes32\",\n },\n ],\n outputs: [\n {\n name: \"\",\n type: \"address\",\n internalType: \"address\",\n },\n ],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"getWalletFactory\",\n inputs: [],\n outputs: [\n {\n name: \"\",\n type: \"address\",\n internalType: \"address\",\n },\n ],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"hasSubscriptionNextInterval\",\n inputs: [\n {\n name: \"subscriptionId\",\n type: \"uint64\",\n internalType: \"uint64\",\n },\n {\n name: \"currentInterval\",\n type: \"uint32\",\n internalType: \"uint32\",\n },\n ],\n outputs: [\n {\n name: \"\",\n type: \"bool\",\n internalType: \"bool\",\n },\n ],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"isValidWallet\",\n inputs: [\n {\n name: \"walletAddr\",\n type: \"address\",\n internalType: \"address\",\n },\n ],\n outputs: [\n {\n name: \"\",\n type: \"bool\",\n internalType: \"bool\",\n },\n ],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"lockForVerification\",\n inputs: [\n {\n name: \"proofRequest\",\n type: \"tuple\",\n internalType: \"struct ProofVerificationRequest\",\n components: [\n {\n name: \"subscriptionId\",\n type: \"uint64\",\n internalType: \"uint64\",\n },\n {\n name: \"interval\",\n type: \"uint32\",\n internalType: \"uint32\",\n },\n {\n name: \"submitterAddress\",\n type: \"address\",\n internalType: \"address\",\n },\n {\n name: \"submitterWallet\",\n type: \"address\",\n internalType: \"address\",\n },\n {\n name: \"escrowedAmount\",\n type: \"uint256\",\n internalType: \"uint256\",\n },\n {\n name: \"escrowToken\",\n type: \"address\",\n internalType: \"address\",\n },\n {\n name: \"slashAmount\",\n type: \"uint256\",\n internalType: \"uint256\",\n },\n {\n name: \"expiry\",\n type: \"uint32\",\n internalType: \"uint32\",\n },\n ],\n },\n {\n name: \"commitmentHash\",\n type: \"bytes32\",\n internalType: \"bytes32\",\n },\n ],\n outputs: [],\n stateMutability: \"nonpayable\",\n },\n {\n type: \"function\",\n name: \"maxSubscriberNonce\",\n inputs: [\n {\n name: \"\",\n type: \"address\",\n internalType: \"address\",\n },\n ],\n outputs: [\n {\n name: \"\",\n type: \"uint32\",\n internalType: \"uint32\",\n },\n ],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"minRepeatInterval\",\n inputs: [],\n outputs: [\n {\n name: \"\",\n type: \"uint32\",\n internalType: \"uint32\",\n },\n ],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"ownerCancelSubscription\",\n inputs: [\n {\n name: \"subscriptionId\",\n type: \"uint64\",\n internalType: \"uint64\",\n },\n ],\n outputs: [],\n stateMutability: \"nonpayable\",\n },\n {\n type: \"function\",\n name: \"pause\",\n inputs: [],\n outputs: [],\n stateMutability: \"nonpayable\",\n },\n {\n type: \"function\",\n name: \"paused\",\n inputs: [],\n outputs: [\n {\n name: \"\",\n type: \"bool\",\n internalType: \"bool\",\n },\n ],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"payFromCoordinator\",\n inputs: [\n {\n name: \"subscriptionId\",\n type: \"uint64\",\n internalType: \"uint64\",\n },\n {\n name: \"spenderWallet\",\n type: \"address\",\n internalType: \"address\",\n },\n {\n name: \"spenderAddress\",\n type: \"address\",\n internalType: \"address\",\n },\n {\n name: \"payments\",\n type: \"tuple[]\",\n internalType: \"struct Payment[]\",\n components: [\n {\n name: \"recipient\",\n type: \"address\",\n internalType: \"address\",\n },\n {\n name: \"feeToken\",\n type: \"address\",\n internalType: \"address\",\n },\n {\n name: \"feeAmount\",\n type: \"uint256\",\n internalType: \"uint256\",\n },\n ],\n },\n ],\n outputs: [],\n stateMutability: \"nonpayable\",\n },\n {\n type: \"function\",\n name: \"pendingRequestExists\",\n inputs: [\n {\n name: \"subscriptionId\",\n type: \"uint64\",\n internalType: \"uint64\",\n },\n ],\n outputs: [\n {\n name: \"\",\n type: \"bool\",\n internalType: \"bool\",\n },\n ],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"prepareNodeVerification\",\n inputs: [\n {\n name: \"subscriptionId\",\n type: \"uint64\",\n internalType: \"uint64\",\n },\n {\n name: \"nextInterval\",\n type: \"uint32\",\n internalType: \"uint32\",\n },\n {\n name: \"nodeWallet\",\n type: \"address\",\n internalType: \"address\",\n },\n {\n name: \"token\",\n type: \"address\",\n internalType: \"address\",\n },\n {\n name: \"amount\",\n type: \"uint256\",\n internalType: \"uint256\",\n },\n ],\n outputs: [],\n stateMutability: \"nonpayable\",\n },\n {\n type: \"function\",\n name: \"proposeContractsUpdate\",\n inputs: [\n {\n name: \"proposalSetIds\",\n type: \"bytes32[]\",\n internalType: \"bytes32[]\",\n },\n {\n name: \"proposalSetAddresses\",\n type: \"address[]\",\n internalType: \"address[]\",\n },\n ],\n outputs: [],\n stateMutability: \"nonpayable\",\n },\n {\n type: \"function\",\n name: \"sendRequest\",\n inputs: [\n {\n name: \"subscriptionId\",\n type: \"uint64\",\n internalType: \"uint64\",\n },\n {\n name: \"interval\",\n type: \"uint32\",\n internalType: \"uint32\",\n },\n ],\n outputs: [\n {\n name: \"\",\n type: \"bytes32\",\n internalType: \"bytes32\",\n },\n {\n name: \"\",\n type: \"tuple\",\n internalType: \"struct Commitment\",\n components: [\n {\n name: \"requestId\",\n type: \"bytes32\",\n internalType: \"bytes32\",\n },\n {\n name: \"subscriptionId\",\n type: \"uint64\",\n internalType: \"uint64\",\n },\n {\n name: \"containerId\",\n type: \"bytes32\",\n internalType: \"bytes32\",\n },\n {\n name: \"interval\",\n type: \"uint32\",\n internalType: \"uint32\",\n },\n {\n name: \"useDeliveryInbox\",\n type: \"bool\",\n internalType: \"bool\",\n },\n {\n name: \"redundancy\",\n type: \"uint16\",\n internalType: \"uint16\",\n },\n {\n name: \"walletAddress\",\n type: \"address\",\n internalType: \"address\",\n },\n {\n name: \"feeAmount\",\n type: \"uint256\",\n internalType: \"uint256\",\n },\n {\n name: \"feeToken\",\n type: \"address\",\n internalType: \"address\",\n },\n {\n name: \"verifier\",\n type: \"address\",\n internalType: \"address\",\n },\n {\n name: \"coordinator\",\n type: \"address\",\n internalType: \"address\",\n },\n ],\n },\n ],\n stateMutability: \"nonpayable\",\n },\n {\n type: \"function\",\n name: \"setMinRepeatInterval\",\n inputs: [\n {\n name: \"_minRepeatInterval\",\n type: \"uint32\",\n internalType: \"uint32\",\n },\n ],\n outputs: [],\n stateMutability: \"nonpayable\",\n },\n {\n type: \"function\",\n name: \"setWalletFactory\",\n inputs: [\n {\n name: \"_walletFactory\",\n type: \"address\",\n internalType: \"address\",\n },\n ],\n outputs: [],\n stateMutability: \"nonpayable\",\n },\n {\n type: \"function\",\n name: \"timeoutRequest\",\n inputs: [\n {\n name: \"requestId\",\n type: \"bytes32\",\n internalType: \"bytes32\",\n },\n {\n name: \"subscriptionId\",\n type: \"uint64\",\n internalType: \"uint64\",\n },\n {\n name: \"interval\",\n type: \"uint32\",\n internalType: \"uint32\",\n },\n ],\n outputs: [],\n stateMutability: \"nonpayable\",\n },\n {\n type: \"function\",\n name: \"timeoutSubscriptionIntervalsUpTo\",\n inputs: [\n {\n name: \"subscriptionId\",\n type: \"uint64\",\n internalType: \"uint64\",\n },\n {\n name: \"uptoInterval\",\n type: \"uint32\",\n internalType: \"uint32\",\n },\n {\n name: \"maxIter\",\n type: \"uint32\",\n internalType: \"uint32\",\n },\n ],\n outputs: [],\n stateMutability: \"nonpayable\",\n },\n {\n type: \"function\",\n name: \"transferOwnership\",\n inputs: [\n {\n name: \"to\",\n type: \"address\",\n internalType: \"address\",\n },\n ],\n outputs: [],\n stateMutability: \"nonpayable\",\n },\n {\n type: \"function\",\n name: \"typeAndVersion\",\n inputs: [],\n outputs: [\n {\n name: \"\",\n type: \"string\",\n internalType: \"string\",\n },\n ],\n stateMutability: \"pure\",\n },\n {\n type: \"function\",\n name: \"unlockForVerification\",\n inputs: [\n {\n name: \"proofRequest\",\n type: \"tuple\",\n internalType: \"struct ProofVerificationRequest\",\n components: [\n {\n name: \"subscriptionId\",\n type: \"uint64\",\n internalType: \"uint64\",\n },\n {\n name: \"interval\",\n type: \"uint32\",\n internalType: \"uint32\",\n },\n {\n name: \"submitterAddress\",\n type: \"address\",\n internalType: \"address\",\n },\n {\n name: \"submitterWallet\",\n type: \"address\",\n internalType: \"address\",\n },\n {\n name: \"escrowedAmount\",\n type: \"uint256\",\n internalType: \"uint256\",\n },\n {\n name: \"escrowToken\",\n type: \"address\",\n internalType: \"address\",\n },\n {\n name: \"slashAmount\",\n type: \"uint256\",\n internalType: \"uint256\",\n },\n {\n name: \"expiry\",\n type: \"uint32\",\n internalType: \"uint32\",\n },\n ],\n },\n ],\n outputs: [],\n stateMutability: \"nonpayable\",\n },\n {\n type: \"function\",\n name: \"unpause\",\n inputs: [],\n outputs: [],\n stateMutability: \"nonpayable\",\n },\n {\n type: \"function\",\n name: \"updateContracts\",\n inputs: [],\n outputs: [],\n stateMutability: \"nonpayable\",\n },\n {\n type: \"event\",\n name: \"CommitmentTimedOut\",\n inputs: [\n {\n name: \"requestId\",\n type: \"bytes32\",\n indexed: true,\n internalType: \"bytes32\",\n },\n {\n name: \"subscriptionId\",\n type: \"uint64\",\n indexed: true,\n internalType: \"uint64\",\n },\n {\n name: \"interval\",\n type: \"uint32\",\n indexed: true,\n internalType: \"uint32\",\n },\n ],\n anonymous: false,\n },\n {\n type: \"event\",\n name: \"ContractsUpdateProposed\",\n inputs: [\n {\n name: \"ids\",\n type: \"bytes32[]\",\n indexed: false,\n internalType: \"bytes32[]\",\n },\n {\n name: \"addresses\",\n type: \"address[]\",\n indexed: false,\n internalType: \"address[]\",\n },\n ],\n anonymous: false,\n },\n {\n type: \"event\",\n name: \"ContractsUpdated\",\n inputs: [\n {\n name: \"id\",\n type: \"bytes32\",\n indexed: false,\n internalType: \"bytes32\",\n },\n {\n name: \"contractAddress\",\n type: \"address\",\n indexed: false,\n internalType: \"address\",\n },\n ],\n anonymous: false,\n },\n {\n type: \"event\",\n name: \"EIP712DomainChanged\",\n inputs: [],\n anonymous: false,\n },\n {\n type: \"event\",\n name: \"MinRepeatIntervalSet\",\n inputs: [\n {\n name: \"newMinRepeatInterval\",\n type: \"uint32\",\n indexed: false,\n internalType: \"uint32\",\n },\n ],\n anonymous: false,\n },\n {\n type: \"event\",\n name: \"OwnershipTransferRequested\",\n inputs: [\n {\n name: \"from\",\n type: \"address\",\n indexed: true,\n internalType: \"address\",\n },\n {\n name: \"to\",\n type: \"address\",\n indexed: true,\n internalType: \"address\",\n },\n ],\n anonymous: false,\n },\n {\n type: \"event\",\n name: \"OwnershipTransferred\",\n inputs: [\n {\n name: \"from\",\n type: \"address\",\n indexed: true,\n internalType: \"address\",\n },\n {\n name: \"to\",\n type: \"address\",\n indexed: true,\n internalType: \"address\",\n },\n ],\n anonymous: false,\n },\n {\n type: \"event\",\n name: \"Paused\",\n inputs: [\n {\n name: \"account\",\n type: \"address\",\n indexed: false,\n internalType: \"address\",\n },\n ],\n anonymous: false,\n },\n {\n type: \"event\",\n name: \"PaymentMade\",\n inputs: [\n {\n name: \"subscriptionId\",\n type: \"uint64\",\n indexed: true,\n internalType: \"uint64\",\n },\n {\n name: \"spenderWallet\",\n type: \"address\",\n indexed: true,\n internalType: \"address\",\n },\n {\n name: \"recipient\",\n type: \"address\",\n indexed: true,\n internalType: \"address\",\n },\n {\n name: \"token\",\n type: \"address\",\n indexed: false,\n internalType: \"address\",\n },\n {\n name: \"amount\",\n type: \"uint256\",\n indexed: false,\n internalType: \"uint256\",\n },\n ],\n anonymous: false,\n },\n {\n type: \"event\",\n name: \"RequestProcessed\",\n inputs: [\n {\n name: \"requestId\",\n type: \"bytes32\",\n indexed: true,\n internalType: \"bytes32\",\n },\n {\n name: \"subscriptionId\",\n type: \"uint64\",\n indexed: true,\n internalType: \"uint64\",\n },\n {\n name: \"containerId\",\n type: \"bytes32\",\n indexed: true,\n internalType: \"bytes32\",\n },\n {\n name: \"interval\",\n type: \"uint32\",\n indexed: false,\n internalType: \"uint32\",\n },\n {\n name: \"useDeliveryInbox\",\n type: \"bool\",\n indexed: false,\n internalType: \"bool\",\n },\n {\n name: \"feeAmount\",\n type: \"uint256\",\n indexed: false,\n internalType: \"uint256\",\n },\n {\n name: \"feeToken\",\n type: \"address\",\n indexed: false,\n internalType: \"address\",\n },\n {\n name: \"verifier\",\n type: \"address\",\n indexed: false,\n internalType: \"address\",\n },\n {\n name: \"coordinator\",\n type: \"address\",\n indexed: false,\n internalType: \"address\",\n },\n {\n name: \"nodeWallet\",\n type: \"address\",\n indexed: false,\n internalType: \"address\",\n },\n {\n name: \"result\",\n type: \"uint8\",\n indexed: false,\n internalType: \"enum FulfillResult\",\n },\n ],\n anonymous: false,\n },\n {\n type: \"event\",\n name: \"RequestStart\",\n inputs: [\n {\n name: \"requestId\",\n type: \"bytes32\",\n indexed: true,\n internalType: \"bytes32\",\n },\n {\n name: \"subscriptionId\",\n type: \"uint64\",\n indexed: true,\n internalType: \"uint64\",\n },\n {\n name: \"containerId\",\n type: \"bytes32\",\n indexed: true,\n internalType: \"bytes32\",\n },\n {\n name: \"interval\",\n type: \"uint32\",\n indexed: false,\n internalType: \"uint32\",\n },\n {\n name: \"redundancy\",\n type: \"uint16\",\n indexed: false,\n internalType: \"uint16\",\n },\n {\n name: \"useDeliveryInbox\",\n type: \"bool\",\n indexed: false,\n internalType: \"bool\",\n },\n {\n name: \"feeAmount\",\n type: \"uint256\",\n indexed: false,\n internalType: \"uint256\",\n },\n {\n name: \"feeToken\",\n type: \"address\",\n indexed: false,\n internalType: \"address\",\n },\n {\n name: \"verifier\",\n type: \"address\",\n indexed: false,\n internalType: \"address\",\n },\n {\n name: \"coordinator\",\n type: \"address\",\n indexed: false,\n internalType: \"address\",\n },\n ],\n anonymous: false,\n },\n {\n type: \"event\",\n name: \"SubscriptionCancelled\",\n inputs: [\n {\n name: \"subscriptionId\",\n type: \"uint64\",\n indexed: true,\n internalType: \"uint64\",\n },\n ],\n anonymous: false,\n },\n {\n type: \"event\",\n name: \"SubscriptionCreated\",\n inputs: [\n {\n name: \"subscriptionId\",\n type: \"uint64\",\n indexed: true,\n internalType: \"uint64\",\n },\n ],\n anonymous: false,\n },\n {\n type: \"event\",\n name: \"SubscriptionFulfilled\",\n inputs: [\n {\n name: \"id\",\n type: \"uint64\",\n indexed: true,\n internalType: \"uint64\",\n },\n {\n name: \"node\",\n type: \"address\",\n indexed: true,\n internalType: \"address\",\n },\n ],\n anonymous: false,\n },\n {\n type: \"event\",\n name: \"Unpaused\",\n inputs: [\n {\n name: \"account\",\n type: \"address\",\n indexed: false,\n internalType: \"address\",\n },\n ],\n anonymous: false,\n },\n {\n type: \"event\",\n name: \"VerificationFundsLocked\",\n inputs: [\n {\n name: \"subscriptionId\",\n type: \"uint64\",\n indexed: true,\n internalType: \"uint64\",\n },\n {\n name: \"interval\",\n type: \"uint32\",\n indexed: true,\n internalType: \"uint32\",\n },\n {\n name: \"spender\",\n type: \"address\",\n indexed: true,\n internalType: \"address\",\n },\n {\n name: \"amount\",\n type: \"uint256\",\n indexed: false,\n internalType: \"uint256\",\n },\n ],\n anonymous: false,\n },\n {\n type: \"event\",\n name: \"VerificationFundsUnlocked\",\n inputs: [\n {\n name: \"subscriptionId\",\n type: \"uint64\",\n indexed: true,\n internalType: \"uint64\",\n },\n {\n name: \"interval\",\n type: \"uint32\",\n indexed: true,\n internalType: \"uint32\",\n },\n {\n name: \"spender\",\n type: \"address\",\n indexed: true,\n internalType: \"address\",\n },\n {\n name: \"amount\",\n type: \"uint256\",\n indexed: false,\n internalType: \"uint256\",\n },\n ],\n anonymous: false,\n },\n {\n type: \"error\",\n name: \"CannotRemoveWithPendingRequests\",\n inputs: [],\n },\n {\n type: \"error\",\n name: \"CommitmentNotTimeoutable\",\n inputs: [],\n },\n {\n type: \"error\",\n name: \"DuplicateRequestId\",\n inputs: [\n {\n name: \"requestId\",\n type: \"bytes32\",\n internalType: \"bytes32\",\n },\n ],\n },\n {\n type: \"error\",\n name: \"ECDSAInvalidSignature\",\n inputs: [],\n },\n {\n type: \"error\",\n name: \"ECDSAInvalidSignatureLength\",\n inputs: [\n {\n name: \"length\",\n type: \"uint256\",\n internalType: \"uint256\",\n },\n ],\n },\n {\n type: \"error\",\n name: \"ECDSAInvalidSignatureS\",\n inputs: [\n {\n name: \"s\",\n type: \"bytes32\",\n internalType: \"bytes32\",\n },\n ],\n },\n {\n type: \"error\",\n name: \"EmptyRequestData\",\n inputs: [],\n },\n {\n type: \"error\",\n name: \"EnforcedPause\",\n inputs: [],\n },\n {\n type: \"error\",\n name: \"ExpectedPause\",\n inputs: [],\n },\n {\n type: \"error\",\n name: \"InvalidProposedUpdate\",\n inputs: [],\n },\n {\n type: \"error\",\n name: \"InvalidRequestCommitment\",\n inputs: [\n {\n name: \"requestId\",\n type: \"bytes32\",\n internalType: \"bytes32\",\n },\n ],\n },\n {\n type: \"error\",\n name: \"InvalidShortString\",\n inputs: [],\n },\n {\n type: \"error\",\n name: \"InvalidSubscription\",\n inputs: [],\n },\n {\n type: \"error\",\n name: \"InvalidWallet\",\n inputs: [],\n },\n {\n type: \"error\",\n name: \"MismatchedRequestId\",\n inputs: [],\n },\n {\n type: \"error\",\n name: \"MismatchedSubscriptionId\",\n inputs: [],\n },\n {\n type: \"error\",\n name: \"NoSuchCommitment\",\n inputs: [],\n },\n {\n type: \"error\",\n name: \"NotPendingOwner\",\n inputs: [],\n },\n {\n type: \"error\",\n name: \"NotSubscriptionOwner\",\n inputs: [],\n },\n {\n type: \"error\",\n name: \"OnlyCallableByOwner\",\n inputs: [],\n },\n {\n type: \"error\",\n name: \"OnlyCallableFromCoordinator\",\n inputs: [],\n },\n {\n type: \"error\",\n name: \"ReentrancyGuardReentrantCall\",\n inputs: [],\n },\n {\n type: \"error\",\n name: \"RouteNotFound\",\n inputs: [\n {\n name: \"id\",\n type: \"bytes32\",\n internalType: \"bytes32\",\n },\n ],\n },\n {\n type: \"error\",\n name: \"SignatureExpired\",\n inputs: [],\n },\n {\n type: \"error\",\n name: \"SignerMismatch\",\n inputs: [],\n },\n {\n type: \"error\",\n name: \"StringTooLong\",\n inputs: [\n {\n name: \"str\",\n type: \"string\",\n internalType: \"string\",\n },\n ],\n },\n {\n type: \"error\",\n name: \"SubscriptionCompleted\",\n inputs: [],\n },\n {\n type: \"error\",\n name: \"SubscriptionIntervalTooShort\",\n inputs: [\n {\n name: \"interval\",\n type: \"uint32\",\n internalType: \"uint32\",\n },\n {\n name: \"minInterval\",\n type: \"uint32\",\n internalType: \"uint32\",\n },\n ],\n },\n {\n type: \"error\",\n name: \"SubscriptionNotActive\",\n inputs: [],\n },\n {\n type: \"error\",\n name: \"SubscriptionNotFound\",\n inputs: [],\n },\n {\n type: \"error\",\n name: \"TokenMismatch\",\n inputs: [],\n },\n] as const;\n\nexport class RouterAbi__factory {\n static readonly abi = _abi;\n static createInterface(): RouterAbiInterface {\n return new Interface(_abi) as RouterAbiInterface;\n }\n static connect(address: string, runner?: ContractRunner | null): RouterAbi {\n return new Contract(address, _abi, runner) as unknown as RouterAbi;\n }\n}\n","/* Autogenerated file. Do not edit manually. */\n/* tslint:disable */\n/* eslint-disable */\n\nimport { Contract, Interface, type ContractRunner } from \"ethers\";\nimport type {\n SubscriptionBatchReaderAbi,\n SubscriptionBatchReaderAbiInterface,\n} from \"../SubscriptionBatchReaderAbi\";\n\nconst _abi = [\n {\n type: \"constructor\",\n inputs: [\n {\n name: \"_router\",\n type: \"address\",\n internalType: \"address\",\n },\n {\n name: \"_coordinator\",\n type: \"address\",\n internalType: \"address\",\n },\n ],\n stateMutability: \"nonpayable\",\n },\n {\n type: \"function\",\n name: \"getIntervalStatuses\",\n inputs: [\n {\n name: \"ids\",\n type: \"uint64[]\",\n internalType: \"uint64[]\",\n },\n {\n name: \"intervals\",\n type: \"uint32[]\",\n internalType: \"uint32[]\",\n },\n ],\n outputs: [\n {\n name: \"statuses\",\n type: \"tuple[]\",\n internalType: \"struct SubscriptionBatchReader.IntervalStatus[]\",\n components: [\n {\n name: \"redundancyCount\",\n type: \"uint16\",\n internalType: \"uint16\",\n },\n {\n name: \"commitmentExists\",\n type: \"bool\",\n internalType: \"bool\",\n },\n ],\n },\n ],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"getSubscriptions\",\n inputs: [\n {\n name: \"startId\",\n type: \"uint64\",\n internalType: \"uint64\",\n },\n {\n name: \"endId\",\n type: \"uint64\",\n internalType: \"uint64\",\n },\n ],\n outputs: [\n {\n name: \"subscriptions\",\n type: \"tuple[]\",\n internalType: \"struct ComputeSubscription[]\",\n components: [\n {\n name: \"routeId\",\n type: \"bytes32\",\n internalType: \"bytes32\",\n },\n {\n name: \"containerId\",\n type: \"bytes32\",\n internalType: \"bytes32\",\n },\n {\n name: \"feeAmount\",\n type: \"uint256\",\n internalType: \"uint256\",\n },\n {\n name: \"client\",\n type: \"address\",\n internalType: \"address\",\n },\n {\n name: \"activeAt\",\n type: \"uint32\",\n internalType: \"uint32\",\n },\n {\n name: \"intervalSeconds\",\n type: \"uint32\",\n internalType: \"uint32\",\n },\n {\n name: \"maxExecutions\",\n type: \"uint32\",\n internalType: \"uint32\",\n },\n {\n name: \"wallet\",\n type: \"address\",\n internalType: \"address payable\",\n },\n {\n name: \"feeToken\",\n type: \"address\",\n internalType: \"address\",\n },\n {\n name: \"verifier\",\n type: \"address\",\n internalType: \"address payable\",\n },\n {\n name: \"redundancy\",\n type: \"uint16\",\n internalType: \"uint16\",\n },\n {\n name: \"useDeliveryInbox\",\n type: \"bool\",\n internalType: \"bool\",\n },\n ],\n },\n ],\n stateMutability: \"view\",\n },\n] as const;\n\nexport class SubscriptionBatchReaderAbi__factory {\n static readonly abi = _abi;\n static createInterface(): SubscriptionBatchReaderAbiInterface {\n return new Interface(_abi) as SubscriptionBatchReaderAbiInterface;\n }\n static connect(\n address: string,\n runner?: ContractRunner | null\n ): SubscriptionBatchReaderAbi {\n return new Contract(\n address,\n _abi,\n runner\n ) as unknown as SubscriptionBatchReaderAbi;\n }\n}\n","/* Autogenerated file. Do not edit manually. */\n/* tslint:disable */\n/* eslint-disable */\n\nimport { Contract, Interface, type ContractRunner } from \"ethers\";\nimport type { WalletAbi, WalletAbiInterface } from \"../WalletAbi\";\n\nconst _abi = [\n {\n type: \"constructor\",\n inputs: [\n {\n name: \"router\",\n type: \"address\",\n internalType: \"address\",\n },\n {\n name: \"initialOwner\",\n type: \"address\",\n internalType: \"address\",\n },\n ],\n stateMutability: \"nonpayable\",\n },\n {\n type: \"receive\",\n stateMutability: \"payable\",\n },\n {\n type: \"function\",\n name: \"allowance\",\n inputs: [\n {\n name: \"\",\n type: \"address\",\n internalType: \"address\",\n },\n {\n name: \"\",\n type: \"address\",\n internalType: \"address\",\n },\n ],\n outputs: [\n {\n name: \"\",\n type: \"uint256\",\n internalType: \"uint256\",\n },\n ],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"approve\",\n inputs: [\n {\n name: \"spender\",\n type: \"address\",\n internalType: \"address\",\n },\n {\n name: \"token\",\n type: \"address\",\n internalType: \"address\",\n },\n {\n name: \"amount\",\n type: \"uint256\",\n internalType: \"uint256\",\n },\n ],\n outputs: [],\n stateMutability: \"nonpayable\",\n },\n {\n type: \"function\",\n name: \"disburseForFulfillment\",\n inputs: [\n {\n name: \"requestId\",\n type: \"bytes32\",\n internalType: \"bytes32\",\n },\n {\n name: \"payments\",\n type: \"tuple[]\",\n internalType: \"struct Payment[]\",\n components: [\n {\n name: \"recipient\",\n type: \"address\",\n internalType: \"address\",\n },\n {\n name: \"feeToken\",\n type: \"address\",\n internalType: \"address\",\n },\n {\n name: \"feeAmount\",\n type: \"uint256\",\n internalType: \"uint256\",\n },\n ],\n },\n ],\n outputs: [],\n stateMutability: \"nonpayable\",\n },\n {\n type: \"function\",\n name: \"disburseForRequest\",\n inputs: [\n {\n name: \"requestId\",\n type: \"bytes32\",\n internalType: \"bytes32\",\n },\n {\n name: \"to\",\n type: \"address\",\n internalType: \"address\",\n },\n {\n name: \"amount\",\n type: \"uint256\",\n internalType: \"uint256\",\n },\n ],\n outputs: [],\n stateMutability: \"nonpayable\",\n },\n {\n type: \"function\",\n name: \"isLocked\",\n inputs: [\n {\n name: \"spender\",\n type: \"address\",\n internalType: \"address\",\n },\n {\n name: \"token\",\n type: \"address\",\n internalType: \"address\",\n },\n ],\n outputs: [\n {\n name: \"\",\n type: \"bool\",\n internalType: \"bool\",\n },\n ],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"isValidSignature\",\n inputs: [\n {\n name: \"hash_\",\n type: \"bytes32\",\n internalType: \"bytes32\",\n },\n {\n name: \"signature_\",\n type: \"bytes\",\n internalType: \"bytes\",\n },\n ],\n outputs: [\n {\n name: \"\",\n type: \"bytes4\",\n internalType: \"bytes4\",\n },\n ],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"lockEscrow\",\n inputs: [\n {\n name: \"spender\",\n type: \"address\",\n internalType: \"address\",\n },\n {\n name: \"token\",\n type: \"address\",\n internalType: \"address\",\n },\n {\n name: \"amount\",\n type: \"uint256\",\n internalType: \"uint256\",\n },\n ],\n outputs: [],\n stateMutability: \"nonpayable\",\n },\n {\n type: \"function\",\n name: \"lockForRequest\",\n inputs: [\n {\n name: \"spender\",\n type: \"address\",\n internalType: \"address\",\n },\n {\n name: \"token\",\n type: \"address\",\n internalType: \"address\",\n },\n {\n name: \"totalAmount\",\n type: \"uint256\",\n internalType: \"uint256\",\n },\n {\n name: \"requestId\",\n type: \"bytes32\",\n internalType: \"bytes32\",\n },\n {\n name: \"redundancy\",\n type: \"uint16\",\n internalType: \"uint16\",\n },\n ],\n outputs: [],\n stateMutability: \"nonpayable\",\n },\n {\n type: \"function\",\n name: \"lockedOf\",\n inputs: [\n {\n name: \"spender\",\n type: \"address\",\n internalType: \"address\",\n },\n {\n name: \"token\",\n type: \"address\",\n internalType: \"address\",\n },\n ],\n outputs: [\n {\n name: \"\",\n type: \"uint256\",\n internalType: \"uint256\",\n },\n ],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"lockedOfRequest\",\n inputs: [\n {\n name: \"requestId\",\n type: \"bytes32\",\n internalType: \"bytes32\",\n },\n ],\n outputs: [\n {\n name: \"\",\n type: \"uint256\",\n internalType: \"uint256\",\n },\n ],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"owner\",\n inputs: [],\n outputs: [\n {\n name: \"\",\n type: \"address\",\n internalType: \"address\",\n },\n ],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"paidCountOfRequest\",\n inputs: [\n {\n name: \"requestId\",\n type: \"bytes32\",\n internalType: \"bytes32\",\n },\n ],\n outputs: [\n {\n name: \"\",\n type: \"uint16\",\n internalType: \"uint16\",\n },\n ],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"releaseEscrow\",\n inputs: [\n {\n name: \"spender\",\n type: \"address\",\n internalType: \"address\",\n },\n {\n name: \"token\",\n type: \"address\",\n internalType: \"address\",\n },\n {\n name: \"amount\",\n type: \"uint256\",\n internalType: \"uint256\",\n },\n ],\n outputs: [],\n stateMutability: \"nonpayable\",\n },\n {\n type: \"function\",\n name: \"releaseForRequest\",\n inputs: [\n {\n name: \"requestId\",\n type: \"bytes32\",\n internalType: \"bytes32\",\n },\n ],\n outputs: [],\n stateMutability: \"nonpayable\",\n },\n {\n type: \"function\",\n name: \"renounceOwnership\",\n inputs: [],\n outputs: [],\n stateMutability: \"nonpayable\",\n },\n {\n type: \"function\",\n name: \"totalLockedFor\",\n inputs: [\n {\n name: \"token\",\n type: \"address\",\n internalType: \"address\",\n },\n ],\n outputs: [\n {\n name: \"\",\n type: \"uint256\",\n internalType: \"uint256\",\n },\n ],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"transferByRouter\",\n inputs: [\n {\n name: \"spender\",\n type: \"address\",\n internalType: \"address\",\n },\n {\n name: \"payments\",\n type: \"tuple[]\",\n internalType: \"struct Payment[]\",\n components: [\n {\n name: \"recipient\",\n type: \"address\",\n internalType: \"address\",\n },\n {\n name: \"feeToken\",\n type: \"address\",\n internalType: \"address\",\n },\n {\n name: \"feeAmount\",\n type: \"uint256\",\n internalType: \"uint256\",\n },\n ],\n },\n ],\n outputs: [],\n stateMutability: \"nonpayable\",\n },\n {\n type: \"function\",\n name: \"transferOwnership\",\n inputs: [\n {\n name: \"newOwner\",\n type: \"address\",\n internalType: \"address\",\n },\n ],\n outputs: [],\n stateMutability: \"nonpayable\",\n },\n {\n type: \"function\",\n name: \"typeAndVersion\",\n inputs: [],\n outputs: [\n {\n name: \"\",\n type: \"string\",\n internalType: \"string\",\n },\n ],\n stateMutability: \"pure\",\n },\n {\n type: \"function\",\n name: \"withdraw\",\n inputs: [\n {\n name: \"token\",\n type: \"address\",\n internalType: \"address\",\n },\n {\n name: \"amount\",\n type: \"uint256\",\n internalType: \"uint256\",\n },\n ],\n outputs: [],\n stateMutability: \"nonpayable\",\n },\n {\n type: \"event\",\n name: \"Approval\",\n inputs: [\n {\n name: \"spender\",\n type: \"address\",\n indexed: true,\n internalType: \"address\",\n },\n {\n name: \"token\",\n type: \"address\",\n indexed: true,\n internalType: \"address\",\n },\n {\n name: \"amount\",\n type: \"uint256\",\n indexed: false,\n internalType: \"uint256\",\n },\n ],\n anonymous: false,\n },\n {\n type: \"event\",\n name: \"Deposit\",\n inputs: [\n {\n name: \"token\",\n type: \"address\",\n indexed: true,\n internalType: \"address\",\n },\n {\n name: \"amount\",\n type: \"uint256\",\n indexed: false,\n internalType: \"uint256\",\n },\n ],\n anonymous: false,\n },\n {\n type: \"event\",\n name: \"Escrow\",\n inputs: [\n {\n name: \"spender\",\n type: \"address\",\n indexed: true,\n internalType: \"address\",\n },\n {\n name: \"token\",\n type: \"address\",\n indexed: true,\n internalType: \"address\",\n },\n {\n name: \"amount\",\n type: \"uint256\",\n indexed: false,\n internalType: \"uint256\",\n },\n {\n name: \"locked\",\n type: \"bool\",\n indexed: false,\n internalType: \"bool\",\n },\n ],\n anonymous: false,\n },\n {\n type: \"event\",\n name: \"OwnershipTransferred\",\n inputs: [\n {\n name: \"previousOwner\",\n type: \"address\",\n indexed: true,\n internalType: \"address\",\n },\n {\n name: \"newOwner\",\n type: \"address\",\n indexed: true,\n internalType: \"address\",\n },\n ],\n anonymous: false,\n },\n {\n type: \"event\",\n name: \"RequestDisbursed\",\n inputs: [\n {\n name: \"requestId\",\n type: \"bytes32\",\n indexed: true,\n internalType: \"bytes32\",\n },\n {\n name: \"to\",\n type: \"address\",\n indexed: true,\n internalType: \"address\",\n },\n {\n name: \"token\",\n type: \"address\",\n indexed: true,\n internalType: \"address\",\n },\n {\n name: \"amount\",\n type: \"uint256\",\n indexed: false,\n internalType: \"uint256\",\n },\n {\n name: \"paidCount\",\n type: \"uint16\",\n indexed: false,\n internalType: \"uint16\",\n },\n ],\n anonymous: false,\n },\n {\n type: \"event\",\n name: \"RequestLocked\",\n inputs: [\n {\n name: \"requestId\",\n type: \"bytes32\",\n indexed: true,\n internalType: \"bytes32\",\n },\n {\n name: \"spender\",\n type: \"address\",\n indexed: true,\n internalType: \"address\",\n },\n {\n name: \"token\",\n type: \"address\",\n indexed: true,\n internalType: \"address\",\n },\n {\n name: \"totalAmount\",\n type: \"uint256\",\n indexed: false,\n internalType: \"uint256\",\n },\n {\n name: \"redundancy\",\n type: \"uint16\",\n indexed: false,\n internalType: \"uint16\",\n },\n ],\n anonymous: false,\n },\n {\n type: \"event\",\n name: \"RequestReleased\",\n inputs: [\n {\n name: \"requestId\",\n type: \"bytes32\",\n indexed: true,\n internalType: \"bytes32\",\n },\n {\n name: \"spender\",\n type: \"address\",\n indexed: true,\n internalType: \"address\",\n },\n {\n name: \"token\",\n type: \"address\",\n indexed: true,\n internalType: \"address\",\n },\n {\n name: \"amountRefunded\",\n type: \"uint256\",\n indexed: false,\n internalType: \"uint256\",\n },\n ],\n anonymous: false,\n },\n {\n type: \"event\",\n name: \"Transfer\",\n inputs: [\n {\n name: \"spender\",\n type: \"address\",\n indexed: true,\n internalType: \"address\",\n },\n {\n name: \"token\",\n type: \"address\",\n indexed: false,\n internalType: \"address\",\n },\n {\n name: \"to\",\n type: \"address\",\n indexed: true,\n internalType: \"address\",\n },\n {\n name: \"amount\",\n type: \"uint256\",\n indexed: false,\n internalType: \"uint256\",\n },\n ],\n anonymous: false,\n },\n {\n type: \"event\",\n name: \"Withdraw\",\n inputs: [\n {\n name: \"token\",\n type: \"address\",\n indexed: true,\n internalType: \"address\",\n },\n {\n name: \"amount\",\n type: \"uint256\",\n indexed: false,\n internalType: \"uint256\",\n },\n ],\n anonymous: false,\n },\n {\n type: \"error\",\n name: \"ECDSAInvalidSignature\",\n inputs: [],\n },\n {\n type: \"error\",\n name: \"ECDSAInvalidSignatureLength\",\n inputs: [\n {\n name: \"length\",\n type: \"uint256\",\n internalType: \"uint256\",\n },\n ],\n },\n {\n type: \"error\",\n name: \"ECDSAInvalidSignatureS\",\n inputs: [\n {\n name: \"s\",\n type: \"bytes32\",\n internalType: \"bytes32\",\n },\n ],\n },\n {\n type: \"error\",\n name: \"ExceedsRemaining\",\n inputs: [],\n },\n {\n type: \"error\",\n name: \"FailedCall\",\n inputs: [],\n },\n {\n type: \"error\",\n name: \"InconsistentLockedBalance\",\n inputs: [],\n },\n {\n type: \"error\",\n name: \"InsufficientAllowance\",\n inputs: [],\n },\n {\n type: \"error\",\n name: \"InsufficientBalance\",\n inputs: [\n {\n name: \"balance\",\n type: \"uint256\",\n internalType: \"uint256\",\n },\n {\n name: \"needed\",\n type: \"uint256\",\n internalType: \"uint256\",\n },\n ],\n },\n {\n type: \"error\",\n name: \"InsufficientFunds\",\n inputs: [],\n },\n {\n type: \"error\",\n name: \"MismatchPaymentToken\",\n inputs: [],\n },\n {\n type: \"error\",\n name: \"NoSuchRequestLock\",\n inputs: [],\n },\n {\n type: \"error\",\n name: \"OnlyCallableByRouter\",\n inputs: [],\n },\n {\n type: \"error\",\n name: \"OnlyCallableByRouterOwner\",\n inputs: [],\n },\n {\n type: \"error\",\n name: \"OwnableInvalidOwner\",\n inputs: [\n {\n name: \"owner\",\n type: \"address\",\n internalType: \"address\",\n },\n ],\n },\n {\n type: \"error\",\n name: \"OwnableUnauthorizedAccount\",\n inputs: [\n {\n name: \"account\",\n type: \"address\",\n internalType: \"address\",\n },\n ],\n },\n {\n type: \"error\",\n name: \"RedundancyExhausted\",\n inputs: [],\n },\n {\n type: \"error\",\n name: \"ReentrancyGuardReentrantCall\",\n inputs: [],\n },\n {\n type: \"error\",\n name: \"RequestAlreadyLocked\",\n inputs: [],\n },\n {\n type: \"error\",\n name: \"RouterMustBeSet\",\n inputs: [],\n },\n {\n type: \"error\",\n name: \"SafeERC20FailedOperation\",\n inputs: [\n {\n name: \"token\",\n type: \"address\",\n internalType: \"address\",\n },\n ],\n },\n {\n type: \"error\",\n name: \"ZeroAmount\",\n inputs: [],\n },\n] as const;\n\nexport class WalletAbi__factory {\n static readonly abi = _abi;\n static createInterface(): WalletAbiInterface {\n return new Interface(_abi) as WalletAbiInterface;\n }\n static connect(address: string, runner?: ContractRunner | null): WalletAbi {\n return new Contract(address, _abi, runner) as unknown as WalletAbi;\n }\n}\n","/* Autogenerated file. Do not edit manually. */\n/* tslint:disable */\n/* eslint-disable */\n\nimport { Contract, Interface, type ContractRunner } from \"ethers\";\nimport type {\n WalletFactoryAbi,\n WalletFactoryAbiInterface,\n} from \"../WalletFactoryAbi\";\n\nconst _abi = [\n {\n type: \"constructor\",\n inputs: [\n {\n name: \"router\",\n type: \"address\",\n internalType: \"address\",\n },\n ],\n stateMutability: \"nonpayable\",\n },\n {\n type: \"function\",\n name: \"createWallet\",\n inputs: [\n {\n name: \"initialOwner\",\n type: \"address\",\n internalType: \"address\",\n },\n ],\n outputs: [\n {\n name: \"walletAddr\",\n type: \"address\",\n internalType: \"address\",\n },\n ],\n stateMutability: \"nonpayable\",\n },\n {\n type: \"function\",\n name: \"isValidWallet\",\n inputs: [\n {\n name: \"walletAddr\",\n type: \"address\",\n internalType: \"address\",\n },\n ],\n outputs: [\n {\n name: \"isCreated\",\n type: \"bool\",\n internalType: \"bool\",\n },\n ],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"typeAndVersion\",\n inputs: [],\n outputs: [\n {\n name: \"\",\n type: \"string\",\n internalType: \"string\",\n },\n ],\n stateMutability: \"pure\",\n },\n {\n type: \"event\",\n name: \"WalletCreated\",\n inputs: [\n {\n name: \"operator\",\n type: \"address\",\n indexed: true,\n internalType: \"address\",\n },\n {\n name: \"owner\",\n type: \"address\",\n indexed: true,\n internalType: \"address\",\n },\n {\n name: \"walletAddress\",\n type: \"address\",\n indexed: false,\n internalType: \"address\",\n },\n ],\n anonymous: false,\n },\n {\n type: \"error\",\n name: \"OnlyCallableByRouter\",\n inputs: [],\n },\n {\n type: \"error\",\n name: \"OnlyCallableByRouterOwner\",\n inputs: [],\n },\n {\n type: \"error\",\n name: \"RouterMustBeSet\",\n inputs: [],\n },\n] as const;\n\nexport class WalletFactoryAbi__factory {\n static readonly abi = _abi;\n static createInterface(): WalletFactoryAbiInterface {\n return new Interface(_abi) as WalletFactoryAbiInterface;\n }\n static connect(\n address: string,\n runner?: ContractRunner | null\n ): WalletFactoryAbi {\n return new Contract(address, _abi, runner) as unknown as WalletFactoryAbi;\n }\n}\n","import { Contract, Provider, Signer, EventLog, ContractTransactionResponse, ethers } from 'ethers';\nimport RouterABI from './abis/Router.abi.json';\nimport type {\n ComputeSubscription,\n Commitment,\n Payment,\n ProofVerificationRequest,\n FulfillResult,\n PayloadData,\n} from './types';\n\n/**\n * RouterContract\n * TypeScript wrapper for the Noosphere Router contract\n * Based on IRouter interface from noosphere-evm\n */\nexport class RouterContract {\n private contract: Contract;\n\n constructor(address: string, providerOrSigner: Provider | Signer) {\n this.contract = new Contract(address, RouterABI, providerOrSigner);\n }\n\n /*//////////////////////////////////////////////////////////////////////////\n REQUEST LIFECYCLE - READ / SEND\n //////////////////////////////////////////////////////////////////////////*/\n\n /**\n * Create and announce a new request for a given subscription interval\n */\n async sendRequest(\n subscriptionId: bigint,\n interval: number\n ): Promise<{ requestId: string; commitment: Commitment }> {\n const result = await this.contract.sendRequest(subscriptionId, interval);\n return {\n requestId: result.requestId,\n commitment: this.parseCommitment(result.commitment),\n };\n }\n\n /**\n * Query whether the given subscription has a next interval\n */\n async hasSubscriptionNextInterval(\n subscriptionId: bigint,\n currentInterval: number\n ): Promise<boolean> {\n return this.contract.hasSubscriptionNextInterval(subscriptionId, currentInterval);\n }\n\n /**\n * Get a ComputeSubscription by ID\n */\n async getComputeSubscription(subscriptionId: bigint): Promise<ComputeSubscription> {\n const sub = await this.contract.getComputeSubscription(subscriptionId);\n return this.parseComputeSubscription(sub);\n }\n\n /*//////////////////////////////////////////////////////////////////////////\n FULFILLMENT & PAYMENT HANDLERS\n //////////////////////////////////////////////////////////////////////////*/\n\n /**\n * Accept fulfillment results and attempt on-chain settlement\n * @param input - PayloadData containing contentHash and uri for input\n * @param output - PayloadData containing contentHash and uri for output\n * @param proof - PayloadData containing contentHash and uri for proof\n * @param numRedundantDeliveries - Number of redundant deliveries\n * @param nodeWallet - Address of the node's payment wallet\n * @param payments - Array of payment instructions\n * @param commitment - The commitment data\n */\n async fulfill(\n input: PayloadData,\n output: PayloadData,\n proof: PayloadData,\n numRedundantDeliveries: number,\n nodeWallet: string,\n payments: Payment[],\n commitment: Commitment\n ): Promise<FulfillResult> {\n const result = await this.contract.fulfill(\n this.encodePayloadData(input),\n this.encodePayloadData(output),\n this.encodePayloadData(proof),\n numRedundantDeliveries,\n nodeWallet,\n payments,\n commitment\n );\n return result as FulfillResult;\n }\n\n /**\n * Encode PayloadData for contract call\n * @param payload - PayloadData to encode\n * @returns Tuple format expected by contract\n */\n private encodePayloadData(payload: PayloadData): [string, Uint8Array] {\n return [\n payload.contentHash,\n ethers.toUtf8Bytes(payload.uri),\n ];\n }\n\n /**\n * Execute coordinator-driven payouts\n */\n async payFromCoordinator(\n subscriptionId: bigint,\n spenderWallet: string,\n spenderAddress: string,\n payments: Payment[]\n ): Promise<ContractTransactionResponse> {\n return this.contract.payFromCoordinator(\n subscriptionId,\n spenderWallet,\n spenderAddress,\n payments\n );\n }\n\n /*//////////////////////////////////////////////////////////////////////////\n VERIFICATION ESCROW (LOCK / UNLOCK)\n //////////////////////////////////////////////////////////////////////////*/\n\n /**\n * Lock consumer funds for proof verification\n */\n async lockForVerification(\n proofRequest: ProofVerificationRequest,\n commitmentHash: string\n ): Promise<ContractTransactionResponse> {\n return this.contract.lockForVerification(proofRequest, commitmentHash);\n }\n\n /**\n * Release previously locked funds\n */\n async unlockForVerification(\n proofRequest: ProofVerificationRequest\n ): Promise<ContractTransactionResponse> {\n return this.contract.unlockForVerification(proofRequest);\n }\n\n /**\n * Prepare node-side verification parameters\n */\n async prepareNodeVerification(\n subscriptionId: bigint,\n nextInterval: number,\n nodeWallet: string,\n token: string,\n amount: bigint\n ): Promise<ContractTransactionResponse> {\n return this.contract.prepareNodeVerification(\n subscriptionId,\n nextInterval,\n nodeWallet,\n token,\n amount\n );\n }\n\n /*//////////////////////////////////////////////////////////////////////////\n SUBSCRIPTION MANAGEMENT\n //////////////////////////////////////////////////////////////////////////*/\n\n /**\n * Get the last subscription ID issued by the Router\n */\n async getLastSubscriptionId(): Promise<bigint> {\n return this.contract.getLastSubscriptionId();\n }\n\n /*//////////////////////////////////////////////////////////////////////////\n CONTRACT REGISTRY & GOVERNANCE\n //////////////////////////////////////////////////////////////////////////*/\n\n /**\n * Resolve a registered contract address by its canonical ID\n */\n async getContractById(id: string): Promise<string> {\n return this.contract.getContractById(id);\n }\n\n /**\n * Resolve a proposed contract address by its canonical ID\n */\n async getProposedContractById(id: string): Promise<string> {\n return this.contract.getProposedContractById(id);\n }\n\n /*//////////////////////////////////////////////////////////////////////////\n WALLET FACTORY / VALIDATION\n //////////////////////////////////////////////////////////////////////////*/\n\n /**\n * Get the WalletFactory contract address\n */\n async getWalletFactory(): Promise<string> {\n return this.contract.getWalletFactory();\n }\n\n /**\n * Validate whether the given address is a valid Wallet\n */\n async isValidWallet(walletAddr: string): Promise<boolean> {\n return this.contract.isValidWallet(walletAddr);\n }\n\n /*//////////////////////////////////////////////////////////////////////////\n ADMIN\n //////////////////////////////////////////////////////////////////////////*/\n\n /**\n * Pause router operations\n */\n async pause(): Promise<ContractTransactionResponse> {\n return this.contract.pause();\n }\n\n /**\n * Resume router operations\n */\n async unpause(): Promise<ContractTransactionResponse> {\n return this.contract.unpause();\n }\n\n /*//////////////////////////////////////////////////////////////////////////\n TIMEOUTS\n //////////////////////////////////////////////////////////////////////////*/\n\n /**\n * Mark a request as timed out\n */\n async timeoutRequest(\n requestId: string,\n subscriptionId: bigint,\n interval: number\n ): Promise<ContractTransactionResponse> {\n return this.contract.timeoutRequest(requestId, subscriptionId, interval);\n }\n\n /*//////////////////////////////////////////////////////////////////////////\n EVENT FILTERS & LISTENERS\n //////////////////////////////////////////////////////////////////////////*/\n\n /**\n * Event filters\n */\n get filters() {\n return {\n RequestStarted: () => this.contract.filters.RequestStarted(),\n SubscriptionCreated: () => this.contract.filters.SubscriptionCreated(),\n SubscriptionCancelled: () => this.contract.filters.SubscriptionCancelled(),\n };\n }\n\n /**\n * Listen for events\n */\n on(event: string, listener: (...args: any[]) => void): void {\n this.contract.on(event, listener);\n }\n\n /**\n * Remove all listeners\n */\n removeAllListeners(event?: string): void {\n this.contract.removeAllListeners(event);\n }\n\n /**\n * Query past events\n */\n async queryFilter(\n filter: any,\n fromBlock?: number,\n toBlock?: number | string\n ): Promise<EventLog[]> {\n return this.contract.queryFilter(filter, fromBlock, toBlock) as Promise<EventLog[]>;\n }\n\n /*//////////////////////////////////////////////////////////////////////////\n HELPERS\n //////////////////////////////////////////////////////////////////////////*/\n\n /**\n * Get the contract address\n */\n get address(): string {\n return this.contract.target as string;\n }\n\n /**\n * Get the underlying ethers Contract\n */\n get raw(): Contract {\n return this.contract;\n }\n\n /*//////////////////////////////////////////////////////////////////////////\n PRIVATE PARSERS\n //////////////////////////////////////////////////////////////////////////*/\n\n private parseComputeSubscription(sub: any): ComputeSubscription {\n return {\n routeId: sub.routeId,\n containerId: sub.containerId,\n feeAmount: BigInt(sub.feeAmount),\n client: sub.client,\n activeAt: Number(sub.activeAt),\n intervalSeconds: Number(sub.intervalSeconds),\n maxExecutions: Number(sub.maxExecutions),\n wallet: sub.wallet,\n feeToken: sub.feeToken,\n verifier: sub.verifier,\n redundancy: Number(sub.redundancy),\n useDeliveryInbox: sub.useDeliveryInbox,\n };\n }\n\n private parseCommitment(commitment: any): Commitment {\n return {\n requestId: commitment.requestId,\n subscriptionId: BigInt(commitment.subscriptionId),\n interval: Number(commitment.interval),\n redundancy: Number(commitment.redundancy),\n containerId: commitment.containerId,\n client: commitment.client,\n wallet: commitment.wallet,\n feeToken: commitment.feeToken,\n feeAmount: BigInt(commitment.feeAmount),\n verifier: commitment.verifier,\n useDeliveryInbox: commitment.useDeliveryInbox,\n };\n }\n}\n","[\n {\n \"type\": \"constructor\",\n \"inputs\": [\n {\n \"name\": \"_initialOwner\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n }\n ],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"EIP712_NAME\",\n \"inputs\": [],\n \"outputs\": [\n {\n \"name\": \"\",\n \"type\": \"string\",\n \"internalType\": \"string\"\n }\n ],\n \"stateMutability\": \"view\"\n },\n {\n \"type\": \"function\",\n \"name\": \"EIP712_VERSION\",\n \"inputs\": [],\n \"outputs\": [\n {\n \"name\": \"\",\n \"type\": \"string\",\n \"internalType\": \"string\"\n }\n ],\n \"stateMutability\": \"view\"\n },\n {\n \"type\": \"function\",\n \"name\": \"acceptOwnership\",\n \"inputs\": [],\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"cancelComputeSubscription\",\n \"inputs\": [\n {\n \"name\": \"subscriptionId\",\n \"type\": \"uint64\",\n \"internalType\": \"uint64\"\n }\n ],\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"client\",\n \"inputs\": [],\n \"outputs\": [\n {\n \"name\": \"\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n }\n ],\n \"stateMutability\": \"view\"\n },\n {\n \"type\": \"function\",\n \"name\": \"createComputeSubscription\",\n \"inputs\": [\n {\n \"name\": \"containerId\",\n \"type\": \"string\",\n \"internalType\": \"string\"\n },\n {\n \"name\": \"maxExecutions\",\n \"type\": \"uint32\",\n \"internalType\": \"uint32\"\n },\n {\n \"name\": \"intervalSeconds\",\n \"type\": \"uint32\",\n \"internalType\": \"uint32\"\n },\n {\n \"name\": \"redundancy\",\n \"type\": \"uint16\",\n \"internalType\": \"uint16\"\n },\n {\n \"name\": \"useDeliveryInbox\",\n \"type\": \"bool\",\n \"internalType\": \"bool\"\n },\n {\n \"name\": \"feeToken\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n },\n {\n \"name\": \"feeAmount\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"wallet\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n },\n {\n \"name\": \"verifier\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n },\n {\n \"name\": \"routeId\",\n \"type\": \"bytes32\",\n \"internalType\": \"bytes32\"\n }\n ],\n \"outputs\": [\n {\n \"name\": \"\",\n \"type\": \"uint64\",\n \"internalType\": \"uint64\"\n }\n ],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"createSubscriptionDelegatee\",\n \"inputs\": [\n {\n \"name\": \"nonce\",\n \"type\": \"uint32\",\n \"internalType\": \"uint32\"\n },\n {\n \"name\": \"expiry\",\n \"type\": \"uint32\",\n \"internalType\": \"uint32\"\n },\n {\n \"name\": \"sub\",\n \"type\": \"tuple\",\n \"internalType\": \"struct ComputeSubscription\",\n \"components\": [\n {\n \"name\": \"routeId\",\n \"type\": \"bytes32\",\n \"internalType\": \"bytes32\"\n },\n {\n \"name\": \"containerId\",\n \"type\": \"bytes32\",\n \"internalType\": \"bytes32\"\n },\n {\n \"name\": \"feeAmount\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"client\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n },\n {\n \"name\": \"activeAt\",\n \"type\": \"uint32\",\n \"internalType\": \"uint32\"\n },\n {\n \"name\": \"intervalSeconds\",\n \"type\": \"uint32\",\n \"internalType\": \"uint32\"\n },\n {\n \"name\": \"maxExecutions\",\n \"type\": \"uint32\",\n \"internalType\": \"uint32\"\n },\n {\n \"name\": \"wallet\",\n \"type\": \"address\",\n \"internalType\": \"address payable\"\n },\n {\n \"name\": \"feeToken\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n },\n {\n \"name\": \"verifier\",\n \"type\": \"address\",\n \"internalType\": \"address payable\"\n },\n {\n \"name\": \"redundancy\",\n \"type\": \"uint16\",\n \"internalType\": \"uint16\"\n },\n {\n \"name\": \"useDeliveryInbox\",\n \"type\": \"bool\",\n \"internalType\": \"bool\"\n }\n ]\n },\n {\n \"name\": \"signature\",\n \"type\": \"bytes\",\n \"internalType\": \"bytes\"\n }\n ],\n \"outputs\": [\n {\n \"name\": \"\",\n \"type\": \"uint64\",\n \"internalType\": \"uint64\"\n }\n ],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"createSubscriptionFor\",\n \"inputs\": [\n {\n \"name\": \"sub\",\n \"type\": \"tuple\",\n \"internalType\": \"struct ComputeSubscription\",\n \"components\": [\n {\n \"name\": \"routeId\",\n \"type\": \"bytes32\",\n \"internalType\": \"bytes32\"\n },\n {\n \"name\": \"containerId\",\n \"type\": \"bytes32\",\n \"internalType\": \"bytes32\"\n },\n {\n \"name\": \"feeAmount\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"client\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n },\n {\n \"name\": \"activeAt\",\n \"type\": \"uint32\",\n \"internalType\": \"uint32\"\n },\n {\n \"name\": \"intervalSeconds\",\n \"type\": \"uint32\",\n \"internalType\": \"uint32\"\n },\n {\n \"name\": \"maxExecutions\",\n \"type\": \"uint32\",\n \"internalType\": \"uint32\"\n },\n {\n \"name\": \"wallet\",\n \"type\": \"address\",\n \"internalType\": \"address payable\"\n },\n {\n \"name\": \"feeToken\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n },\n {\n \"name\": \"verifier\",\n \"type\": \"address\",\n \"internalType\": \"address payable\"\n },\n {\n \"name\": \"redundancy\",\n \"type\": \"uint16\",\n \"internalType\": \"uint16\"\n },\n {\n \"name\": \"useDeliveryInbox\",\n \"type\": \"bool\",\n \"internalType\": \"bool\"\n }\n ]\n }\n ],\n \"outputs\": [\n {\n \"name\": \"\",\n \"type\": \"uint64\",\n \"internalType\": \"uint64\"\n }\n ],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"delegateCreatedIds\",\n \"inputs\": [\n {\n \"name\": \"\",\n \"type\": \"bytes32\",\n \"internalType\": \"bytes32\"\n }\n ],\n \"outputs\": [\n {\n \"name\": \"\",\n \"type\": \"uint64\",\n \"internalType\": \"uint64\"\n }\n ],\n \"stateMutability\": \"view\"\n },\n {\n \"type\": \"function\",\n \"name\": \"eip712Domain\",\n \"inputs\": [],\n \"outputs\": [\n {\n \"name\": \"fields\",\n \"type\": \"bytes1\",\n \"internalType\": \"bytes1\"\n },\n {\n \"name\": \"name\",\n \"type\": \"string\",\n \"internalType\": \"string\"\n },\n {\n \"name\": \"version\",\n \"type\": \"string\",\n \"internalType\": \"string\"\n },\n {\n \"name\": \"chainId\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"verifyingContract\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n },\n {\n \"name\": \"salt\",\n \"type\": \"bytes32\",\n \"internalType\": \"bytes32\"\n },\n {\n \"name\": \"extensions\",\n \"type\": \"uint256[]\",\n \"internalType\": \"uint256[]\"\n }\n ],\n \"stateMutability\": \"view\"\n },\n {\n \"type\": \"function\",\n \"name\": \"fulfill\",\n \"inputs\": [\n {\n \"name\": \"input\",\n \"type\": \"tuple\",\n \"internalType\": \"struct PayloadData\",\n \"components\": [\n {\n \"name\": \"contentHash\",\n \"type\": \"bytes32\",\n \"internalType\": \"bytes32\"\n },\n {\n \"name\": \"uri\",\n \"type\": \"bytes\",\n \"internalType\": \"bytes\"\n }\n ]\n },\n {\n \"name\": \"output\",\n \"type\": \"tuple\",\n \"internalType\": \"struct PayloadData\",\n \"components\": [\n {\n \"name\": \"contentHash\",\n \"type\": \"bytes32\",\n \"internalType\": \"bytes32\"\n },\n {\n \"name\": \"uri\",\n \"type\": \"bytes\",\n \"internalType\": \"bytes\"\n }\n ]\n },\n {\n \"name\": \"proof\",\n \"type\": \"tuple\",\n \"internalType\": \"struct PayloadData\",\n \"components\": [\n {\n \"name\": \"contentHash\",\n \"type\": \"bytes32\",\n \"internalType\": \"bytes32\"\n },\n {\n \"name\": \"uri\",\n \"type\": \"bytes\",\n \"internalType\": \"bytes\"\n }\n ]\n },\n {\n \"name\": \"numRedundantDeliveries\",\n \"type\": \"uint16\",\n \"internalType\": \"uint16\"\n },\n {\n \"name\": \"nodeWallet\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n },\n {\n \"name\": \"payments\",\n \"type\": \"tuple[]\",\n \"internalType\": \"struct Payment[]\",\n \"components\": [\n {\n \"name\": \"recipient\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n },\n {\n \"name\": \"feeToken\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n },\n {\n \"name\": \"feeAmount\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n }\n ]\n },\n {\n \"name\": \"commitment\",\n \"type\": \"tuple\",\n \"internalType\": \"struct Commitment\",\n \"components\": [\n {\n \"name\": \"requestId\",\n \"type\": \"bytes32\",\n \"internalType\": \"bytes32\"\n },\n {\n \"name\": \"subscriptionId\",\n \"type\": \"uint64\",\n \"internalType\": \"uint64\"\n },\n {\n \"name\": \"containerId\",\n \"type\": \"bytes32\",\n \"internalType\": \"bytes32\"\n },\n {\n \"name\": \"interval\",\n \"type\": \"uint32\",\n \"internalType\": \"uint32\"\n },\n {\n \"name\": \"useDeliveryInbox\",\n \"type\": \"bool\",\n \"internalType\": \"bool\"\n },\n {\n \"name\": \"redundancy\",\n \"type\": \"uint16\",\n \"internalType\": \"uint16\"\n },\n {\n \"name\": \"walletAddress\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n },\n {\n \"name\": \"feeAmount\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"feeToken\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n },\n {\n \"name\": \"verifier\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n },\n {\n \"name\": \"coordinator\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n }\n ]\n }\n ],\n \"outputs\": [\n {\n \"name\": \"resultCode\",\n \"type\": \"uint8\",\n \"internalType\": \"enum FulfillResult\"\n }\n ],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"getComputeSubscription\",\n \"inputs\": [\n {\n \"name\": \"subscriptionId\",\n \"type\": \"uint64\",\n \"internalType\": \"uint64\"\n }\n ],\n \"outputs\": [\n {\n \"name\": \"\",\n \"type\": \"tuple\",\n \"internalType\": \"struct ComputeSubscription\",\n \"components\": [\n {\n \"name\": \"routeId\",\n \"type\": \"bytes32\",\n \"internalType\": \"bytes32\"\n },\n {\n \"name\": \"containerId\",\n \"type\": \"bytes32\",\n \"internalType\": \"bytes32\"\n },\n {\n \"name\": \"feeAmount\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"client\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n },\n {\n \"name\": \"activeAt\",\n \"type\": \"uint32\",\n \"internalType\": \"uint32\"\n },\n {\n \"name\": \"intervalSeconds\",\n \"type\": \"uint32\",\n \"internalType\": \"uint32\"\n },\n {\n \"name\": \"maxExecutions\",\n \"type\": \"uint32\",\n \"internalType\": \"uint32\"\n },\n {\n \"name\": \"wallet\",\n \"type\": \"address\",\n \"internalType\": \"address payable\"\n },\n {\n \"name\": \"feeToken\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n },\n {\n \"name\": \"verifier\",\n \"type\": \"address\",\n \"internalType\": \"address payable\"\n },\n {\n \"name\": \"redundancy\",\n \"type\": \"uint16\",\n \"internalType\": \"uint16\"\n },\n {\n \"name\": \"useDeliveryInbox\",\n \"type\": \"bool\",\n \"internalType\": \"bool\"\n }\n ]\n }\n ],\n \"stateMutability\": \"view\"\n },\n {\n \"type\": \"function\",\n \"name\": \"getComputeSubscriptionInterval\",\n \"inputs\": [\n {\n \"name\": \"subscriptionId\",\n \"type\": \"uint64\",\n \"internalType\": \"uint64\"\n }\n ],\n \"outputs\": [\n {\n \"name\": \"\",\n \"type\": \"uint32\",\n \"internalType\": \"uint32\"\n }\n ],\n \"stateMutability\": \"view\"\n },\n {\n \"type\": \"function\",\n \"name\": \"getContractById\",\n \"inputs\": [\n {\n \"name\": \"id\",\n \"type\": \"bytes32\",\n \"internalType\": \"bytes32\"\n }\n ],\n \"outputs\": [\n {\n \"name\": \"\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n }\n ],\n \"stateMutability\": \"view\"\n },\n {\n \"type\": \"function\",\n \"name\": \"getLastSubscriptionId\",\n \"inputs\": [],\n \"outputs\": [\n {\n \"name\": \"\",\n \"type\": \"uint64\",\n \"internalType\": \"uint64\"\n }\n ],\n \"stateMutability\": \"view\"\n },\n {\n \"type\": \"function\",\n \"name\": \"getProposedContractById\",\n \"inputs\": [\n {\n \"name\": \"id\",\n \"type\": \"bytes32\",\n \"internalType\": \"bytes32\"\n }\n ],\n \"outputs\": [\n {\n \"name\": \"\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n }\n ],\n \"stateMutability\": \"view\"\n },\n {\n \"type\": \"function\",\n \"name\": \"getWalletFactory\",\n \"inputs\": [],\n \"outputs\": [\n {\n \"name\": \"\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n }\n ],\n \"stateMutability\": \"view\"\n },\n {\n \"type\": \"function\",\n \"name\": \"hasSubscriptionNextInterval\",\n \"inputs\": [\n {\n \"name\": \"subscriptionId\",\n \"type\": \"uint64\",\n \"internalType\": \"uint64\"\n },\n {\n \"name\": \"currentInterval\",\n \"type\": \"uint32\",\n \"internalType\": \"uint32\"\n }\n ],\n \"outputs\": [\n {\n \"name\": \"\",\n \"type\": \"bool\",\n \"internalType\": \"bool\"\n }\n ],\n \"stateMutability\": \"view\"\n },\n {\n \"type\": \"function\",\n \"name\": \"isValidWallet\",\n \"inputs\": [\n {\n \"name\": \"walletAddr\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n }\n ],\n \"outputs\": [\n {\n \"name\": \"\",\n \"type\": \"bool\",\n \"internalType\": \"bool\"\n }\n ],\n \"stateMutability\": \"view\"\n },\n {\n \"type\": \"function\",\n \"name\": \"lockForVerification\",\n \"inputs\": [\n {\n \"name\": \"proofRequest\",\n \"type\": \"tuple\",\n \"internalType\": \"struct ProofVerificationRequest\",\n \"components\": [\n {\n \"name\": \"subscriptionId\",\n \"type\": \"uint64\",\n \"internalType\": \"uint64\"\n },\n {\n \"name\": \"interval\",\n \"type\": \"uint32\",\n \"internalType\": \"uint32\"\n },\n {\n \"name\": \"submitterAddress\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n },\n {\n \"name\": \"submitterWallet\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n },\n {\n \"name\": \"escrowedAmount\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"escrowToken\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n },\n {\n \"name\": \"slashAmount\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"expiry\",\n \"type\": \"uint32\",\n \"internalType\": \"uint32\"\n }\n ]\n },\n {\n \"name\": \"commitmentHash\",\n \"type\": \"bytes32\",\n \"internalType\": \"bytes32\"\n }\n ],\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"maxSubscriberNonce\",\n \"inputs\": [\n {\n \"name\": \"\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n }\n ],\n \"outputs\": [\n {\n \"name\": \"\",\n \"type\": \"uint32\",\n \"internalType\": \"uint32\"\n }\n ],\n \"stateMutability\": \"view\"\n },\n {\n \"type\": \"function\",\n \"name\": \"minRepeatInterval\",\n \"inputs\": [],\n \"outputs\": [\n {\n \"name\": \"\",\n \"type\": \"uint32\",\n \"internalType\": \"uint32\"\n }\n ],\n \"stateMutability\": \"view\"\n },\n {\n \"type\": \"function\",\n \"name\": \"ownerCancelSubscription\",\n \"inputs\": [\n {\n \"name\": \"subscriptionId\",\n \"type\": \"uint64\",\n \"internalType\": \"uint64\"\n }\n ],\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"pause\",\n \"inputs\": [],\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"paused\",\n \"inputs\": [],\n \"outputs\": [\n {\n \"name\": \"\",\n \"type\": \"bool\",\n \"internalType\": \"bool\"\n }\n ],\n \"stateMutability\": \"view\"\n },\n {\n \"type\": \"function\",\n \"name\": \"payFromCoordinator\",\n \"inputs\": [\n {\n \"name\": \"subscriptionId\",\n \"type\": \"uint64\",\n \"internalType\": \"uint64\"\n },\n {\n \"name\": \"spenderWallet\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n },\n {\n \"name\": \"spenderAddress\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n },\n {\n \"name\": \"payments\",\n \"type\": \"tuple[]\",\n \"internalType\": \"struct Payment[]\",\n \"components\": [\n {\n \"name\": \"recipient\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n },\n {\n \"name\": \"feeToken\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n },\n {\n \"name\": \"feeAmount\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n }\n ]\n }\n ],\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"pendingRequestExists\",\n \"inputs\": [\n {\n \"name\": \"subscriptionId\",\n \"type\": \"uint64\",\n \"internalType\": \"uint64\"\n }\n ],\n \"outputs\": [\n {\n \"name\": \"\",\n \"type\": \"bool\",\n \"internalType\": \"bool\"\n }\n ],\n \"stateMutability\": \"view\"\n },\n {\n \"type\": \"function\",\n \"name\": \"prepareNodeVerification\",\n \"inputs\": [\n {\n \"name\": \"subscriptionId\",\n \"type\": \"uint64\",\n \"internalType\": \"uint64\"\n },\n {\n \"name\": \"nextInterval\",\n \"type\": \"uint32\",\n \"internalType\": \"uint32\"\n },\n {\n \"name\": \"nodeWallet\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n },\n {\n \"name\": \"token\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n },\n {\n \"name\": \"amount\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n }\n ],\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"proposeContractsUpdate\",\n \"inputs\": [\n {\n \"name\": \"proposalSetIds\",\n \"type\": \"bytes32[]\",\n \"internalType\": \"bytes32[]\"\n },\n {\n \"name\": \"proposalSetAddresses\",\n \"type\": \"address[]\",\n \"internalType\": \"address[]\"\n }\n ],\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"sendRequest\",\n \"inputs\": [\n {\n \"name\": \"subscriptionId\",\n \"type\": \"uint64\",\n \"internalType\": \"uint64\"\n },\n {\n \"name\": \"interval\",\n \"type\": \"uint32\",\n \"internalType\": \"uint32\"\n }\n ],\n \"outputs\": [\n {\n \"name\": \"\",\n \"type\": \"bytes32\",\n \"internalType\": \"bytes32\"\n },\n {\n \"name\": \"\",\n \"type\": \"tuple\",\n \"internalType\": \"struct Commitment\",\n \"components\": [\n {\n \"name\": \"requestId\",\n \"type\": \"bytes32\",\n \"internalType\": \"bytes32\"\n },\n {\n \"name\": \"subscriptionId\",\n \"type\": \"uint64\",\n \"internalType\": \"uint64\"\n },\n {\n \"name\": \"containerId\",\n \"type\": \"bytes32\",\n \"internalType\": \"bytes32\"\n },\n {\n \"name\": \"interval\",\n \"type\": \"uint32\",\n \"internalType\": \"uint32\"\n },\n {\n \"name\": \"useDeliveryInbox\",\n \"type\": \"bool\",\n \"internalType\": \"bool\"\n },\n {\n \"name\": \"redundancy\",\n \"type\": \"uint16\",\n \"internalType\": \"uint16\"\n },\n {\n \"name\": \"walletAddress\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n },\n {\n \"name\": \"feeAmount\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"feeToken\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n },\n {\n \"name\": \"verifier\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n },\n {\n \"name\": \"coordinator\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n }\n ]\n }\n ],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"setMinRepeatInterval\",\n \"inputs\": [\n {\n \"name\": \"_minRepeatInterval\",\n \"type\": \"uint32\",\n \"internalType\": \"uint32\"\n }\n ],\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"setWalletFactory\",\n \"inputs\": [\n {\n \"name\": \"_walletFactory\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n }\n ],\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"timeoutRequest\",\n \"inputs\": [\n {\n \"name\": \"requestId\",\n \"type\": \"bytes32\",\n \"internalType\": \"bytes32\"\n },\n {\n \"name\": \"subscriptionId\",\n \"type\": \"uint64\",\n \"internalType\": \"uint64\"\n },\n {\n \"name\": \"interval\",\n \"type\": \"uint32\",\n \"internalType\": \"uint32\"\n }\n ],\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"timeoutSubscriptionIntervalsUpTo\",\n \"inputs\": [\n {\n \"name\": \"subscriptionId\",\n \"type\": \"uint64\",\n \"internalType\": \"uint64\"\n },\n {\n \"name\": \"uptoInterval\",\n \"type\": \"uint32\",\n \"internalType\": \"uint32\"\n },\n {\n \"name\": \"maxIter\",\n \"type\": \"uint32\",\n \"internalType\": \"uint32\"\n }\n ],\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"transferOwnership\",\n \"inputs\": [\n {\n \"name\": \"to\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n }\n ],\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"typeAndVersion\",\n \"inputs\": [],\n \"outputs\": [\n {\n \"name\": \"\",\n \"type\": \"string\",\n \"internalType\": \"string\"\n }\n ],\n \"stateMutability\": \"pure\"\n },\n {\n \"type\": \"function\",\n \"name\": \"unlockForVerification\",\n \"inputs\": [\n {\n \"name\": \"proofRequest\",\n \"type\": \"tuple\",\n \"internalType\": \"struct ProofVerificationRequest\",\n \"components\": [\n {\n \"name\": \"subscriptionId\",\n \"type\": \"uint64\",\n \"internalType\": \"uint64\"\n },\n {\n \"name\": \"interval\",\n \"type\": \"uint32\",\n \"internalType\": \"uint32\"\n },\n {\n \"name\": \"submitterAddress\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n },\n {\n \"name\": \"submitterWallet\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n },\n {\n \"name\": \"escrowedAmount\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"escrowToken\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n },\n {\n \"name\": \"slashAmount\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"expiry\",\n \"type\": \"uint32\",\n \"internalType\": \"uint32\"\n }\n ]\n }\n ],\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"unpause\",\n \"inputs\": [],\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"updateContracts\",\n \"inputs\": [],\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"event\",\n \"name\": \"CommitmentTimedOut\",\n \"inputs\": [\n {\n \"name\": \"requestId\",\n \"type\": \"bytes32\",\n \"indexed\": true,\n \"internalType\": \"bytes32\"\n },\n {\n \"name\": \"subscriptionId\",\n \"type\": \"uint64\",\n \"indexed\": true,\n \"internalType\": \"uint64\"\n },\n {\n \"name\": \"interval\",\n \"type\": \"uint32\",\n \"indexed\": true,\n \"internalType\": \"uint32\"\n }\n ],\n \"anonymous\": false\n },\n {\n \"type\": \"event\",\n \"name\": \"ContractsUpdateProposed\",\n \"inputs\": [\n {\n \"name\": \"ids\",\n \"type\": \"bytes32[]\",\n \"indexed\": false,\n \"internalType\": \"bytes32[]\"\n },\n {\n \"name\": \"addresses\",\n \"type\": \"address[]\",\n \"indexed\": false,\n \"internalType\": \"address[]\"\n }\n ],\n \"anonymous\": false\n },\n {\n \"type\": \"event\",\n \"name\": \"ContractsUpdated\",\n \"inputs\": [\n {\n \"name\": \"id\",\n \"type\": \"bytes32\",\n \"indexed\": false,\n \"internalType\": \"bytes32\"\n },\n {\n \"name\": \"contractAddress\",\n \"type\": \"address\",\n \"indexed\": false,\n \"internalType\": \"address\"\n }\n ],\n \"anonymous\": false\n },\n {\n \"type\": \"event\",\n \"name\": \"EIP712DomainChanged\",\n \"inputs\": [],\n \"anonymous\": false\n },\n {\n \"type\": \"event\",\n \"name\": \"MinRepeatIntervalSet\",\n \"inputs\": [\n {\n \"name\": \"newMinRepeatInterval\",\n \"type\": \"uint32\",\n \"indexed\": false,\n \"internalType\": \"uint32\"\n }\n ],\n \"anonymous\": false\n },\n {\n \"type\": \"event\",\n \"name\": \"OwnershipTransferRequested\",\n \"inputs\": [\n {\n \"name\": \"from\",\n \"type\": \"address\",\n \"indexed\": true,\n \"internalType\": \"address\"\n },\n {\n \"name\": \"to\",\n \"type\": \"address\",\n \"indexed\": true,\n \"internalType\": \"address\"\n }\n ],\n \"anonymous\": false\n },\n {\n \"type\": \"event\",\n \"name\": \"OwnershipTransferred\",\n \"inputs\": [\n {\n \"name\": \"from\",\n \"type\": \"address\",\n \"indexed\": true,\n \"internalType\": \"address\"\n },\n {\n \"name\": \"to\",\n \"type\": \"address\",\n \"indexed\": true,\n \"internalType\": \"address\"\n }\n ],\n \"anonymous\": false\n },\n {\n \"type\": \"event\",\n \"name\": \"Paused\",\n \"inputs\": [\n {\n \"name\": \"account\",\n \"type\": \"address\",\n \"indexed\": false,\n \"internalType\": \"address\"\n }\n ],\n \"anonymous\": false\n },\n {\n \"type\": \"event\",\n \"name\": \"PaymentMade\",\n \"inputs\": [\n {\n \"name\": \"subscriptionId\",\n \"type\": \"uint64\",\n \"indexed\": true,\n \"internalType\": \"uint64\"\n },\n {\n \"name\": \"spenderWallet\",\n \"type\": \"address\",\n \"indexed\": true,\n \"internalType\": \"address\"\n },\n {\n \"name\": \"recipient\",\n \"type\": \"address\",\n \"indexed\": true,\n \"internalType\": \"address\"\n },\n {\n \"name\": \"token\",\n \"type\": \"address\",\n \"indexed\": false,\n \"internalType\": \"address\"\n },\n {\n \"name\": \"amount\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n }\n ],\n \"anonymous\": false\n },\n {\n \"type\": \"event\",\n \"name\": \"RequestProcessed\",\n \"inputs\": [\n {\n \"name\": \"requestId\",\n \"type\": \"bytes32\",\n \"indexed\": true,\n \"internalType\": \"bytes32\"\n },\n {\n \"name\": \"subscriptionId\",\n \"type\": \"uint64\",\n \"indexed\": true,\n \"internalType\": \"uint64\"\n },\n {\n \"name\": \"containerId\",\n \"type\": \"bytes32\",\n \"indexed\": true,\n \"internalType\": \"bytes32\"\n },\n {\n \"name\": \"interval\",\n \"type\": \"uint32\",\n \"indexed\": false,\n \"internalType\": \"uint32\"\n },\n {\n \"name\": \"useDeliveryInbox\",\n \"type\": \"bool\",\n \"indexed\": false,\n \"internalType\": \"bool\"\n },\n {\n \"name\": \"feeAmount\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"feeToken\",\n \"type\": \"address\",\n \"indexed\": false,\n \"internalType\": \"address\"\n },\n {\n \"name\": \"verifier\",\n \"type\": \"address\",\n \"indexed\": false,\n \"internalType\": \"address\"\n },\n {\n \"name\": \"coordinator\",\n \"type\": \"address\",\n \"indexed\": false,\n \"internalType\": \"address\"\n },\n {\n \"name\": \"nodeWallet\",\n \"type\": \"address\",\n \"indexed\": false,\n \"internalType\": \"address\"\n },\n {\n \"name\": \"result\",\n \"type\": \"uint8\",\n \"indexed\": false,\n \"internalType\": \"enum FulfillResult\"\n }\n ],\n \"anonymous\": false\n },\n {\n \"type\": \"event\",\n \"name\": \"RequestStart\",\n \"inputs\": [\n {\n \"name\": \"requestId\",\n \"type\": \"bytes32\",\n \"indexed\": true,\n \"internalType\": \"bytes32\"\n },\n {\n \"name\": \"subscriptionId\",\n \"type\": \"uint64\",\n \"indexed\": true,\n \"internalType\": \"uint64\"\n },\n {\n \"name\": \"containerId\",\n \"type\": \"bytes32\",\n \"indexed\": true,\n \"internalType\": \"bytes32\"\n },\n {\n \"name\": \"interval\",\n \"type\": \"uint32\",\n \"indexed\": false,\n \"internalType\": \"uint32\"\n },\n {\n \"name\": \"redundancy\",\n \"type\": \"uint16\",\n \"indexed\": false,\n \"internalType\": \"uint16\"\n },\n {\n \"name\": \"useDeliveryInbox\",\n \"type\": \"bool\",\n \"indexed\": false,\n \"internalType\": \"bool\"\n },\n {\n \"name\": \"feeAmount\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"feeToken\",\n \"type\": \"address\",\n \"indexed\": false,\n \"internalType\": \"address\"\n },\n {\n \"name\": \"verifier\",\n \"type\": \"address\",\n \"indexed\": false,\n \"internalType\": \"address\"\n },\n {\n \"name\": \"coordinator\",\n \"type\": \"address\",\n \"indexed\": false,\n \"internalType\": \"address\"\n }\n ],\n \"anonymous\": false\n },\n {\n \"type\": \"event\",\n \"name\": \"SubscriptionCancelled\",\n \"inputs\": [\n {\n \"name\": \"subscriptionId\",\n \"type\": \"uint64\",\n \"indexed\": true,\n \"internalType\": \"uint64\"\n }\n ],\n \"anonymous\": false\n },\n {\n \"type\": \"event\",\n \"name\": \"SubscriptionCreated\",\n \"inputs\": [\n {\n \"name\": \"subscriptionId\",\n \"type\": \"uint64\",\n \"indexed\": true,\n \"internalType\": \"uint64\"\n }\n ],\n \"anonymous\": false\n },\n {\n \"type\": \"event\",\n \"name\": \"SubscriptionFulfilled\",\n \"inputs\": [\n {\n \"name\": \"id\",\n \"type\": \"uint64\",\n \"indexed\": true,\n \"internalType\": \"uint64\"\n },\n {\n \"name\": \"node\",\n \"type\": \"address\",\n \"indexed\": true,\n \"internalType\": \"address\"\n }\n ],\n \"anonymous\": false\n },\n {\n \"type\": \"event\",\n \"name\": \"Unpaused\",\n \"inputs\": [\n {\n \"name\": \"account\",\n \"type\": \"address\",\n \"indexed\": false,\n \"internalType\": \"address\"\n }\n ],\n \"anonymous\": false\n },\n {\n \"type\": \"event\",\n \"name\": \"VerificationFundsLocked\",\n \"inputs\": [\n {\n \"name\": \"subscriptionId\",\n \"type\": \"uint64\",\n \"indexed\": true,\n \"internalType\": \"uint64\"\n },\n {\n \"name\": \"interval\",\n \"type\": \"uint32\",\n \"indexed\": true,\n \"internalType\": \"uint32\"\n },\n {\n \"name\": \"spender\",\n \"type\": \"address\",\n \"indexed\": true,\n \"internalType\": \"address\"\n },\n {\n \"name\": \"amount\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n }\n ],\n \"anonymous\": false\n },\n {\n \"type\": \"event\",\n \"name\": \"VerificationFundsUnlocked\",\n \"inputs\": [\n {\n \"name\": \"subscriptionId\",\n \"type\": \"uint64\",\n \"indexed\": true,\n \"internalType\": \"uint64\"\n },\n {\n \"name\": \"interval\",\n \"type\": \"uint32\",\n \"indexed\": true,\n \"internalType\": \"uint32\"\n },\n {\n \"name\": \"spender\",\n \"type\": \"address\",\n \"indexed\": true,\n \"internalType\": \"address\"\n },\n {\n \"name\": \"amount\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n }\n ],\n \"anonymous\": false\n },\n {\n \"type\": \"error\",\n \"name\": \"CannotRemoveWithPendingRequests\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"CommitmentNotTimeoutable\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"DuplicateRequestId\",\n \"inputs\": [\n {\n \"name\": \"requestId\",\n \"type\": \"bytes32\",\n \"internalType\": \"bytes32\"\n }\n ]\n },\n {\n \"type\": \"error\",\n \"name\": \"ECDSAInvalidSignature\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"ECDSAInvalidSignatureLength\",\n \"inputs\": [\n {\n \"name\": \"length\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n }\n ]\n },\n {\n \"type\": \"error\",\n \"name\": \"ECDSAInvalidSignatureS\",\n \"inputs\": [\n {\n \"name\": \"s\",\n \"type\": \"bytes32\",\n \"internalType\": \"bytes32\"\n }\n ]\n },\n {\n \"type\": \"error\",\n \"name\": \"EmptyRequestData\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"EnforcedPause\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"ExpectedPause\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"InvalidProposedUpdate\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"InvalidRequestCommitment\",\n \"inputs\": [\n {\n \"name\": \"requestId\",\n \"type\": \"bytes32\",\n \"internalType\": \"bytes32\"\n }\n ]\n },\n {\n \"type\": \"error\",\n \"name\": \"InvalidShortString\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"InvalidSubscription\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"InvalidWallet\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"MismatchedRequestId\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"MismatchedSubscriptionId\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"NoSuchCommitment\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"NotPendingOwner\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"NotSubscriptionOwner\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"OnlyCallableByOwner\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"OnlyCallableFromCoordinator\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"ReentrancyGuardReentrantCall\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"RouteNotFound\",\n \"inputs\": [\n {\n \"name\": \"id\",\n \"type\": \"bytes32\",\n \"internalType\": \"bytes32\"\n }\n ]\n },\n {\n \"type\": \"error\",\n \"name\": \"SignatureExpired\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"SignerMismatch\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"StringTooLong\",\n \"inputs\": [\n {\n \"name\": \"str\",\n \"type\": \"string\",\n \"internalType\": \"string\"\n }\n ]\n },\n {\n \"type\": \"error\",\n \"name\": \"SubscriptionCompleted\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"SubscriptionIntervalTooShort\",\n \"inputs\": [\n {\n \"name\": \"interval\",\n \"type\": \"uint32\",\n \"internalType\": \"uint32\"\n },\n {\n \"name\": \"minInterval\",\n \"type\": \"uint32\",\n \"internalType\": \"uint32\"\n }\n ]\n },\n {\n \"type\": \"error\",\n \"name\": \"SubscriptionNotActive\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"SubscriptionNotFound\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"TokenMismatch\",\n \"inputs\": []\n }\n]","import { Contract, Provider, Signer, EventLog, ContractTransactionResponse, ethers } from 'ethers';\nimport CoordinatorABI from './abis/Coordinator.abi.json';\nimport type { Commitment, ProofVerificationRequest, PayloadData } from './types';\n\n/**\n * CoordinatorContract\n * TypeScript wrapper for the Noosphere Coordinator contract\n * Based on ICoordinator interface from noosphere-evm\n */\nexport class CoordinatorContract {\n private contract: Contract;\n\n constructor(address: string, providerOrSigner: Provider | Signer) {\n this.contract = new Contract(address, CoordinatorABI, providerOrSigner);\n }\n\n /*//////////////////////////////////////////////////////////////////////////\n REQUEST LIFECYCLE (CREATION/CANCELLATION)\n //////////////////////////////////////////////////////////////////////////*/\n\n /**\n * Start a new request for a subscription interval\n */\n async startRequest(\n requestId: string,\n subscriptionId: bigint,\n containerId: string,\n interval: number,\n redundancy: number,\n useDeliveryInbox: boolean,\n feeToken: string,\n feeAmount: bigint,\n wallet: string,\n verifier: string\n ): Promise<Commitment> {\n const commitment = await this.contract.startRequest(\n requestId,\n subscriptionId,\n containerId,\n interval,\n redundancy,\n useDeliveryInbox,\n feeToken,\n feeAmount,\n wallet,\n verifier\n );\n return this.parseCommitment(commitment);\n }\n\n /**\n * Cancel a pending request\n */\n async cancelRequest(requestId: string): Promise<ContractTransactionResponse> {\n return this.contract.cancelRequest(requestId);\n }\n\n /*//////////////////////////////////////////////////////////////////////////\n DELIVERY & FULFILLMENT HANDLERS\n //////////////////////////////////////////////////////////////////////////*/\n\n /**\n * Report compute result for an interval\n * @param deliveryInterval - The interval number for this delivery\n * @param input - PayloadData containing contentHash and uri for input\n * @param output - PayloadData containing contentHash and uri for output\n * @param proof - PayloadData containing contentHash and uri for proof\n * @param commitmentData - ABI-encoded commitment data\n * @param nodeWallet - Address of the node's payment wallet\n */\n async reportComputeResult(\n deliveryInterval: number,\n input: PayloadData,\n output: PayloadData,\n proof: PayloadData,\n commitmentData: Uint8Array,\n nodeWallet: string\n ): Promise<ContractTransactionResponse> {\n return this.contract.reportComputeResult(\n deliveryInterval,\n this.encodePayloadData(input),\n this.encodePayloadData(output),\n this.encodePayloadData(proof),\n commitmentData,\n nodeWallet\n );\n }\n\n /**\n * Encode PayloadData for contract call\n * @param payload - PayloadData to encode\n * @returns Tuple format expected by contract\n */\n private encodePayloadData(payload: PayloadData): [string, Uint8Array] {\n return [\n payload.contentHash,\n ethers.toUtf8Bytes(payload.uri),\n ];\n }\n\n /**\n * Parse PayloadData from contract response\n * @param data - Raw tuple from contract\n * @returns Parsed PayloadData\n */\n private parsePayloadData(data: any): PayloadData {\n return {\n contentHash: data.contentHash || data[0],\n uri: ethers.toUtf8String(data.uri || data[1]),\n };\n }\n\n /*//////////////////////////////////////////////////////////////////////////\n VERIFICATION\n //////////////////////////////////////////////////////////////////////////*/\n\n /**\n * Report verification result\n */\n async reportVerificationResult(\n request: ProofVerificationRequest,\n valid: boolean\n ): Promise<ContractTransactionResponse> {\n return this.contract.reportVerificationResult(request, valid);\n }\n\n /*//////////////////////////////////////////////////////////////////////////\n INTERVAL / SCHEDULING HELPERS\n //////////////////////////////////////////////////////////////////////////*/\n\n /**\n * Prepare internal state for the next interval\n */\n async prepareNextInterval(\n subscriptionId: bigint,\n nextInterval: number,\n nodeWallet: string\n ): Promise<ContractTransactionResponse> {\n return this.contract.prepareNextInterval(subscriptionId, nextInterval, nodeWallet);\n }\n\n /**\n * Get commitment for a specific subscription and interval\n */\n async getCommitment(subscriptionId: bigint, interval: number): Promise<Commitment> {\n const commitment = await this.contract.getCommitment(subscriptionId, interval);\n return this.parseCommitment(commitment);\n }\n\n /**\n * Get request ID for a commitment\n */\n async requestCommitments(requestId: string): Promise<string> {\n return this.contract.requestCommitments(requestId);\n }\n\n /**\n * Get redundancy count for a request\n */\n async redundancyCount(requestId: string): Promise<number> {\n const count = await this.contract.redundancyCount(requestId);\n return Number(count);\n }\n\n /*//////////////////////////////////////////////////////////////////////////\n EVENT FILTERS & LISTENERS\n //////////////////////////////////////////////////////////////////////////*/\n\n /**\n * Event filters\n */\n get filters() {\n return {\n RequestStarted: () => this.contract.filters.RequestStarted(),\n RequestCancelled: () => this.contract.filters.RequestCancelled(),\n ComputeDelivered: () => this.contract.filters.ComputeDelivered(),\n ProofVerified: () => this.contract.filters.ProofVerified(),\n };\n }\n\n /**\n * Listen for events\n */\n on(event: string, listener: (...args: any[]) => void): void {\n this.contract.on(event, listener);\n }\n\n /**\n * Remove all listeners\n */\n removeAllListeners(event?: string): void {\n this.contract.removeAllListeners(event);\n }\n\n /**\n * Query past events\n */\n async queryFilter(\n filter: any,\n fromBlock?: number,\n toBlock?: number | string\n ): Promise<EventLog[]> {\n return this.contract.queryFilter(filter, fromBlock, toBlock) as Promise<EventLog[]>;\n }\n\n /*//////////////////////////////////////////////////////////////////////////\n HELPERS\n //////////////////////////////////////////////////////////////////////////*/\n\n /**\n * Get the contract address\n */\n get address(): string {\n return this.contract.target as string;\n }\n\n /**\n * Get the underlying ethers Contract\n */\n get raw(): Contract {\n return this.contract;\n }\n\n /*//////////////////////////////////////////////////////////////////////////\n PRIVATE PARSERS\n //////////////////////////////////////////////////////////////////////////*/\n\n private parseCommitment(commitment: any): Commitment {\n return {\n requestId: commitment.requestId,\n subscriptionId: BigInt(commitment.subscriptionId),\n interval: Number(commitment.interval),\n redundancy: Number(commitment.redundancy),\n containerId: commitment.containerId,\n client: commitment.client,\n wallet: commitment.wallet,\n feeToken: commitment.feeToken,\n feeAmount: BigInt(commitment.feeAmount),\n verifier: commitment.verifier,\n useDeliveryInbox: commitment.useDeliveryInbox,\n };\n }\n}\n","[\n {\n \"type\": \"constructor\",\n \"inputs\": [\n {\n \"name\": \"_routerAddress\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n },\n {\n \"name\": \"_initialOwner\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n }\n ],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"acceptOwnership\",\n \"inputs\": [],\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"cancelRequest\",\n \"inputs\": [\n {\n \"name\": \"requestId\",\n \"type\": \"bytes32\",\n \"internalType\": \"bytes32\"\n }\n ],\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"client\",\n \"inputs\": [],\n \"outputs\": [\n {\n \"name\": \"\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n }\n ],\n \"stateMutability\": \"view\"\n },\n {\n \"type\": \"function\",\n \"name\": \"getCommitment\",\n \"inputs\": [\n {\n \"name\": \"subscriptionId\",\n \"type\": \"uint64\",\n \"internalType\": \"uint64\"\n },\n {\n \"name\": \"interval\",\n \"type\": \"uint32\",\n \"internalType\": \"uint32\"\n }\n ],\n \"outputs\": [\n {\n \"name\": \"\",\n \"type\": \"tuple\",\n \"internalType\": \"struct Commitment\",\n \"components\": [\n {\n \"name\": \"requestId\",\n \"type\": \"bytes32\",\n \"internalType\": \"bytes32\"\n },\n {\n \"name\": \"subscriptionId\",\n \"type\": \"uint64\",\n \"internalType\": \"uint64\"\n },\n {\n \"name\": \"containerId\",\n \"type\": \"bytes32\",\n \"internalType\": \"bytes32\"\n },\n {\n \"name\": \"interval\",\n \"type\": \"uint32\",\n \"internalType\": \"uint32\"\n },\n {\n \"name\": \"useDeliveryInbox\",\n \"type\": \"bool\",\n \"internalType\": \"bool\"\n },\n {\n \"name\": \"redundancy\",\n \"type\": \"uint16\",\n \"internalType\": \"uint16\"\n },\n {\n \"name\": \"walletAddress\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n },\n {\n \"name\": \"feeAmount\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"feeToken\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n },\n {\n \"name\": \"verifier\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n },\n {\n \"name\": \"coordinator\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n }\n ]\n }\n ],\n \"stateMutability\": \"view\"\n },\n {\n \"type\": \"function\",\n \"name\": \"getConfig\",\n \"inputs\": [],\n \"outputs\": [\n {\n \"name\": \"\",\n \"type\": \"tuple\",\n \"internalType\": \"struct BillingConfig\",\n \"components\": [\n {\n \"name\": \"verificationTimeout\",\n \"type\": \"uint32\",\n \"internalType\": \"uint32\"\n },\n {\n \"name\": \"protocolFeeRecipient\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n },\n {\n \"name\": \"protocolFee\",\n \"type\": \"uint16\",\n \"internalType\": \"uint16\"\n },\n {\n \"name\": \"tickNodeFee\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"tickNodeFeeToken\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n }\n ]\n }\n ],\n \"stateMutability\": \"view\"\n },\n {\n \"type\": \"function\",\n \"name\": \"getProtocolFee\",\n \"inputs\": [],\n \"outputs\": [\n {\n \"name\": \"\",\n \"type\": \"uint72\",\n \"internalType\": \"uint72\"\n }\n ],\n \"stateMutability\": \"view\"\n },\n {\n \"type\": \"function\",\n \"name\": \"getSubscriptionBatchReader\",\n \"inputs\": [],\n \"outputs\": [\n {\n \"name\": \"\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n }\n ],\n \"stateMutability\": \"view\"\n },\n {\n \"type\": \"function\",\n \"name\": \"initialize\",\n \"inputs\": [\n {\n \"name\": \"_config\",\n \"type\": \"tuple\",\n \"internalType\": \"struct BillingConfig\",\n \"components\": [\n {\n \"name\": \"verificationTimeout\",\n \"type\": \"uint32\",\n \"internalType\": \"uint32\"\n },\n {\n \"name\": \"protocolFeeRecipient\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n },\n {\n \"name\": \"protocolFee\",\n \"type\": \"uint16\",\n \"internalType\": \"uint16\"\n },\n {\n \"name\": \"tickNodeFee\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"tickNodeFeeToken\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n }\n ]\n }\n ],\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"nodeResponded\",\n \"inputs\": [\n {\n \"name\": \"\",\n \"type\": \"bytes32\",\n \"internalType\": \"bytes32\"\n }\n ],\n \"outputs\": [\n {\n \"name\": \"\",\n \"type\": \"bool\",\n \"internalType\": \"bool\"\n }\n ],\n \"stateMutability\": \"view\"\n },\n {\n \"type\": \"function\",\n \"name\": \"prepareNextInterval\",\n \"inputs\": [\n {\n \"name\": \"subscriptionId\",\n \"type\": \"uint64\",\n \"internalType\": \"uint64\"\n },\n {\n \"name\": \"nextInterval\",\n \"type\": \"uint32\",\n \"internalType\": \"uint32\"\n },\n {\n \"name\": \"nodeWallet\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n }\n ],\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"redundancyCount\",\n \"inputs\": [\n {\n \"name\": \"\",\n \"type\": \"bytes32\",\n \"internalType\": \"bytes32\"\n }\n ],\n \"outputs\": [\n {\n \"name\": \"\",\n \"type\": \"uint16\",\n \"internalType\": \"uint16\"\n }\n ],\n \"stateMutability\": \"view\"\n },\n {\n \"type\": \"function\",\n \"name\": \"reportComputeResult\",\n \"inputs\": [\n {\n \"name\": \"deliveryInterval\",\n \"type\": \"uint32\",\n \"internalType\": \"uint32\"\n },\n {\n \"name\": \"input\",\n \"type\": \"tuple\",\n \"internalType\": \"struct PayloadData\",\n \"components\": [\n {\n \"name\": \"contentHash\",\n \"type\": \"bytes32\",\n \"internalType\": \"bytes32\"\n },\n {\n \"name\": \"uri\",\n \"type\": \"bytes\",\n \"internalType\": \"bytes\"\n }\n ]\n },\n {\n \"name\": \"output\",\n \"type\": \"tuple\",\n \"internalType\": \"struct PayloadData\",\n \"components\": [\n {\n \"name\": \"contentHash\",\n \"type\": \"bytes32\",\n \"internalType\": \"bytes32\"\n },\n {\n \"name\": \"uri\",\n \"type\": \"bytes\",\n \"internalType\": \"bytes\"\n }\n ]\n },\n {\n \"name\": \"proof\",\n \"type\": \"tuple\",\n \"internalType\": \"struct PayloadData\",\n \"components\": [\n {\n \"name\": \"contentHash\",\n \"type\": \"bytes32\",\n \"internalType\": \"bytes32\"\n },\n {\n \"name\": \"uri\",\n \"type\": \"bytes\",\n \"internalType\": \"bytes\"\n }\n ]\n },\n {\n \"name\": \"commitmentData\",\n \"type\": \"bytes\",\n \"internalType\": \"bytes\"\n },\n {\n \"name\": \"nodeWallet\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n }\n ],\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"reportVerificationResult\",\n \"inputs\": [\n {\n \"name\": \"request\",\n \"type\": \"tuple\",\n \"internalType\": \"struct ProofVerificationRequest\",\n \"components\": [\n {\n \"name\": \"subscriptionId\",\n \"type\": \"uint64\",\n \"internalType\": \"uint64\"\n },\n {\n \"name\": \"interval\",\n \"type\": \"uint32\",\n \"internalType\": \"uint32\"\n },\n {\n \"name\": \"submitterAddress\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n },\n {\n \"name\": \"submitterWallet\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n },\n {\n \"name\": \"escrowedAmount\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"escrowToken\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n },\n {\n \"name\": \"slashAmount\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"expiry\",\n \"type\": \"uint32\",\n \"internalType\": \"uint32\"\n }\n ]\n },\n {\n \"name\": \"valid\",\n \"type\": \"bool\",\n \"internalType\": \"bool\"\n }\n ],\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"requestCommitments\",\n \"inputs\": [\n {\n \"name\": \"requestId\",\n \"type\": \"bytes32\",\n \"internalType\": \"bytes32\"\n }\n ],\n \"outputs\": [\n {\n \"name\": \"\",\n \"type\": \"bytes32\",\n \"internalType\": \"bytes32\"\n }\n ],\n \"stateMutability\": \"view\"\n },\n {\n \"type\": \"function\",\n \"name\": \"setSubscriptionBatchReader\",\n \"inputs\": [\n {\n \"name\": \"_reader\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n }\n ],\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"startRequest\",\n \"inputs\": [\n {\n \"name\": \"requestId\",\n \"type\": \"bytes32\",\n \"internalType\": \"bytes32\"\n },\n {\n \"name\": \"subscriptionId\",\n \"type\": \"uint64\",\n \"internalType\": \"uint64\"\n },\n {\n \"name\": \"containerId\",\n \"type\": \"bytes32\",\n \"internalType\": \"bytes32\"\n },\n {\n \"name\": \"interval\",\n \"type\": \"uint32\",\n \"internalType\": \"uint32\"\n },\n {\n \"name\": \"redundancy\",\n \"type\": \"uint16\",\n \"internalType\": \"uint16\"\n },\n {\n \"name\": \"useDeliveryInbox\",\n \"type\": \"bool\",\n \"internalType\": \"bool\"\n },\n {\n \"name\": \"feeToken\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n },\n {\n \"name\": \"feeAmount\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"wallet\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n },\n {\n \"name\": \"verifier\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n }\n ],\n \"outputs\": [\n {\n \"name\": \"\",\n \"type\": \"tuple\",\n \"internalType\": \"struct Commitment\",\n \"components\": [\n {\n \"name\": \"requestId\",\n \"type\": \"bytes32\",\n \"internalType\": \"bytes32\"\n },\n {\n \"name\": \"subscriptionId\",\n \"type\": \"uint64\",\n \"internalType\": \"uint64\"\n },\n {\n \"name\": \"containerId\",\n \"type\": \"bytes32\",\n \"internalType\": \"bytes32\"\n },\n {\n \"name\": \"interval\",\n \"type\": \"uint32\",\n \"internalType\": \"uint32\"\n },\n {\n \"name\": \"useDeliveryInbox\",\n \"type\": \"bool\",\n \"internalType\": \"bool\"\n },\n {\n \"name\": \"redundancy\",\n \"type\": \"uint16\",\n \"internalType\": \"uint16\"\n },\n {\n \"name\": \"walletAddress\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n },\n {\n \"name\": \"feeAmount\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"feeToken\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n },\n {\n \"name\": \"verifier\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n },\n {\n \"name\": \"coordinator\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n }\n ]\n }\n ],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"transferOwnership\",\n \"inputs\": [\n {\n \"name\": \"to\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n }\n ],\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"typeAndVersion\",\n \"inputs\": [],\n \"outputs\": [\n {\n \"name\": \"\",\n \"type\": \"string\",\n \"internalType\": \"string\"\n }\n ],\n \"stateMutability\": \"view\"\n },\n {\n \"type\": \"function\",\n \"name\": \"updateConfig\",\n \"inputs\": [\n {\n \"name\": \"config\",\n \"type\": \"tuple\",\n \"internalType\": \"struct BillingConfig\",\n \"components\": [\n {\n \"name\": \"verificationTimeout\",\n \"type\": \"uint32\",\n \"internalType\": \"uint32\"\n },\n {\n \"name\": \"protocolFeeRecipient\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n },\n {\n \"name\": \"protocolFee\",\n \"type\": \"uint16\",\n \"internalType\": \"uint16\"\n },\n {\n \"name\": \"tickNodeFee\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"tickNodeFeeToken\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n }\n ]\n }\n ],\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"event\",\n \"name\": \"ComputeDelivered\",\n \"inputs\": [\n {\n \"name\": \"requestId\",\n \"type\": \"bytes32\",\n \"indexed\": true,\n \"internalType\": \"bytes32\"\n },\n {\n \"name\": \"nodeWallet\",\n \"type\": \"address\",\n \"indexed\": true,\n \"internalType\": \"address\"\n },\n {\n \"name\": \"numRedundantDeliveries\",\n \"type\": \"uint16\",\n \"indexed\": false,\n \"internalType\": \"uint16\"\n },\n {\n \"name\": \"input\",\n \"type\": \"tuple\",\n \"indexed\": false,\n \"internalType\": \"struct PayloadData\",\n \"components\": [\n {\n \"name\": \"contentHash\",\n \"type\": \"bytes32\",\n \"internalType\": \"bytes32\"\n },\n {\n \"name\": \"uri\",\n \"type\": \"bytes\",\n \"internalType\": \"bytes\"\n }\n ]\n },\n {\n \"name\": \"output\",\n \"type\": \"tuple\",\n \"indexed\": false,\n \"internalType\": \"struct PayloadData\",\n \"components\": [\n {\n \"name\": \"contentHash\",\n \"type\": \"bytes32\",\n \"internalType\": \"bytes32\"\n },\n {\n \"name\": \"uri\",\n \"type\": \"bytes\",\n \"internalType\": \"bytes\"\n }\n ]\n },\n {\n \"name\": \"proof\",\n \"type\": \"tuple\",\n \"indexed\": false,\n \"internalType\": \"struct PayloadData\",\n \"components\": [\n {\n \"name\": \"contentHash\",\n \"type\": \"bytes32\",\n \"internalType\": \"bytes32\"\n },\n {\n \"name\": \"uri\",\n \"type\": \"bytes\",\n \"internalType\": \"bytes\"\n }\n ]\n }\n ],\n \"anonymous\": false\n },\n {\n \"type\": \"event\",\n \"name\": \"OwnershipTransferRequested\",\n \"inputs\": [\n {\n \"name\": \"from\",\n \"type\": \"address\",\n \"indexed\": true,\n \"internalType\": \"address\"\n },\n {\n \"name\": \"to\",\n \"type\": \"address\",\n \"indexed\": true,\n \"internalType\": \"address\"\n }\n ],\n \"anonymous\": false\n },\n {\n \"type\": \"event\",\n \"name\": \"OwnershipTransferred\",\n \"inputs\": [\n {\n \"name\": \"from\",\n \"type\": \"address\",\n \"indexed\": true,\n \"internalType\": \"address\"\n },\n {\n \"name\": \"to\",\n \"type\": \"address\",\n \"indexed\": true,\n \"internalType\": \"address\"\n }\n ],\n \"anonymous\": false\n },\n {\n \"type\": \"event\",\n \"name\": \"ProofVerified\",\n \"inputs\": [\n {\n \"name\": \"subscriptionId\",\n \"type\": \"uint64\",\n \"indexed\": true,\n \"internalType\": \"uint64\"\n },\n {\n \"name\": \"interval\",\n \"type\": \"uint32\",\n \"indexed\": true,\n \"internalType\": \"uint32\"\n },\n {\n \"name\": \"node\",\n \"type\": \"address\",\n \"indexed\": true,\n \"internalType\": \"address\"\n },\n {\n \"name\": \"valid\",\n \"type\": \"bool\",\n \"indexed\": false,\n \"internalType\": \"bool\"\n },\n {\n \"name\": \"verifier\",\n \"type\": \"address\",\n \"indexed\": false,\n \"internalType\": \"address\"\n }\n ],\n \"anonymous\": false\n },\n {\n \"type\": \"event\",\n \"name\": \"RequestCancelled\",\n \"inputs\": [\n {\n \"name\": \"requestId\",\n \"type\": \"bytes32\",\n \"indexed\": true,\n \"internalType\": \"bytes32\"\n }\n ],\n \"anonymous\": false\n },\n {\n \"type\": \"event\",\n \"name\": \"RequestStarted\",\n \"inputs\": [\n {\n \"name\": \"requestId\",\n \"type\": \"bytes32\",\n \"indexed\": true,\n \"internalType\": \"bytes32\"\n },\n {\n \"name\": \"subscriptionId\",\n \"type\": \"uint64\",\n \"indexed\": true,\n \"internalType\": \"uint64\"\n },\n {\n \"name\": \"containerId\",\n \"type\": \"bytes32\",\n \"indexed\": true,\n \"internalType\": \"bytes32\"\n },\n {\n \"name\": \"commitment\",\n \"type\": \"tuple\",\n \"indexed\": false,\n \"internalType\": \"struct Commitment\",\n \"components\": [\n {\n \"name\": \"requestId\",\n \"type\": \"bytes32\",\n \"internalType\": \"bytes32\"\n },\n {\n \"name\": \"subscriptionId\",\n \"type\": \"uint64\",\n \"internalType\": \"uint64\"\n },\n {\n \"name\": \"containerId\",\n \"type\": \"bytes32\",\n \"internalType\": \"bytes32\"\n },\n {\n \"name\": \"interval\",\n \"type\": \"uint32\",\n \"internalType\": \"uint32\"\n },\n {\n \"name\": \"useDeliveryInbox\",\n \"type\": \"bool\",\n \"internalType\": \"bool\"\n },\n {\n \"name\": \"redundancy\",\n \"type\": \"uint16\",\n \"internalType\": \"uint16\"\n },\n {\n \"name\": \"walletAddress\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n },\n {\n \"name\": \"feeAmount\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"feeToken\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n },\n {\n \"name\": \"verifier\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n },\n {\n \"name\": \"coordinator\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n }\n ]\n }\n ],\n \"anonymous\": false\n },\n {\n \"type\": \"error\",\n \"name\": \"InsufficientForVerifierFee\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"IntervalCompleted\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"IntervalMismatch\",\n \"inputs\": [\n {\n \"name\": \"deliveryInterval\",\n \"type\": \"uint32\",\n \"internalType\": \"uint32\"\n }\n ]\n },\n {\n \"type\": \"error\",\n \"name\": \"InvalidCommitment\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"InvalidRequestCommitment\",\n \"inputs\": [\n {\n \"name\": \"requestId\",\n \"type\": \"bytes32\",\n \"internalType\": \"bytes32\"\n }\n ]\n },\n {\n \"type\": \"error\",\n \"name\": \"InvalidWallet\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"NoNextInterval\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"NodeRespondedAlready\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"NotReadyForNextInterval\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"OnlyCallableByRouter\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"OnlyCallableByRouterOwner\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"ProofVerificationRequestNotFound\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"ProtocolFeeExceeds\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"ReentrancyGuardReentrantCall\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"RouterMustBeSet\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"UnauthorizedVerifier\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"UnsupportedVerifierToken\",\n \"inputs\": [\n {\n \"name\": \"token\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n }\n ]\n }\n]","import { Contract, Provider } from 'ethers';\nimport SubscriptionBatchReaderABI from './abis/SubscriptionBatchReader.abi.json';\nimport type { ComputeSubscription, IntervalStatus } from './types';\n\n/**\n * SubscriptionBatchReaderContract\n * TypeScript wrapper for the Noosphere SubscriptionBatchReader contract\n * Based on SubscriptionBatchReader from noosphere-evm\n */\nexport class SubscriptionBatchReaderContract {\n private contract: Contract;\n\n constructor(address: string, provider: Provider) {\n this.contract = new Contract(address, SubscriptionBatchReaderABI, provider);\n }\n\n /*//////////////////////////////////////////////////////////////////////////\n READ HELPERS\n //////////////////////////////////////////////////////////////////////////*/\n\n /**\n * Get a batch of subscriptions from the blockchain\n * @param startId Inclusive start subscription ID\n * @param endId Inclusive end subscription ID\n * @param blockNumber Optional block number to query at\n * @returns Array of ComputeSubscription structs\n */\n async getSubscriptions(\n startId: bigint,\n endId: bigint,\n blockNumber?: number\n ): Promise<ComputeSubscription[]> {\n const options = blockNumber ? { blockTag: blockNumber } : {};\n\n const subscriptions = await this.contract.getSubscriptions(startId, endId, options);\n\n return subscriptions.map((sub: any) => this.parseComputeSubscription(sub));\n }\n\n /**\n * Get interval statuses for multiple subscription-interval pairs\n * @param ids Array of subscription IDs\n * @param intervals Array of interval indices (matched element-wise with ids)\n * @returns Array of IntervalStatus for each pair\n */\n async getIntervalStatuses(ids: bigint[], intervals: number[]): Promise<IntervalStatus[]> {\n if (ids.length !== intervals.length) {\n throw new Error('ids and intervals arrays must have the same length');\n }\n\n const statuses = await this.contract.getIntervalStatuses(ids, intervals);\n\n return statuses.map((status: any) => ({\n redundancyCount: Number(status.redundancyCount),\n commitmentExists: status.commitmentExists,\n }));\n }\n\n /*//////////////////////////////////////////////////////////////////////////\n HELPERS\n //////////////////////////////////////////////////////////////////////////*/\n\n /**\n * Get the contract address\n */\n get address(): string {\n return this.contract.target as string;\n }\n\n /**\n * Get the underlying ethers Contract\n */\n get raw(): Contract {\n return this.contract;\n }\n\n /*//////////////////////////////////////////////////////////////////////////\n PRIVATE PARSERS\n //////////////////////////////////////////////////////////////////////////*/\n\n private parseComputeSubscription(sub: any): ComputeSubscription {\n return {\n routeId: sub.routeId,\n containerId: sub.containerId,\n feeAmount: BigInt(sub.feeAmount),\n client: sub.client,\n activeAt: Number(sub.activeAt),\n intervalSeconds: Number(sub.intervalSeconds),\n maxExecutions: Number(sub.maxExecutions),\n wallet: sub.wallet,\n feeToken: sub.feeToken,\n verifier: sub.verifier,\n redundancy: Number(sub.redundancy),\n useDeliveryInbox: sub.useDeliveryInbox,\n };\n }\n}\n","[\n {\n \"type\": \"constructor\",\n \"inputs\": [\n {\n \"name\": \"_router\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n },\n {\n \"name\": \"_coordinator\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n }\n ],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"getIntervalStatuses\",\n \"inputs\": [\n {\n \"name\": \"ids\",\n \"type\": \"uint64[]\",\n \"internalType\": \"uint64[]\"\n },\n {\n \"name\": \"intervals\",\n \"type\": \"uint32[]\",\n \"internalType\": \"uint32[]\"\n }\n ],\n \"outputs\": [\n {\n \"name\": \"statuses\",\n \"type\": \"tuple[]\",\n \"internalType\": \"struct SubscriptionBatchReader.IntervalStatus[]\",\n \"components\": [\n {\n \"name\": \"redundancyCount\",\n \"type\": \"uint16\",\n \"internalType\": \"uint16\"\n },\n {\n \"name\": \"commitmentExists\",\n \"type\": \"bool\",\n \"internalType\": \"bool\"\n }\n ]\n }\n ],\n \"stateMutability\": \"view\"\n },\n {\n \"type\": \"function\",\n \"name\": \"getSubscriptions\",\n \"inputs\": [\n {\n \"name\": \"startId\",\n \"type\": \"uint64\",\n \"internalType\": \"uint64\"\n },\n {\n \"name\": \"endId\",\n \"type\": \"uint64\",\n \"internalType\": \"uint64\"\n }\n ],\n \"outputs\": [\n {\n \"name\": \"subscriptions\",\n \"type\": \"tuple[]\",\n \"internalType\": \"struct ComputeSubscription[]\",\n \"components\": [\n {\n \"name\": \"routeId\",\n \"type\": \"bytes32\",\n \"internalType\": \"bytes32\"\n },\n {\n \"name\": \"containerId\",\n \"type\": \"bytes32\",\n \"internalType\": \"bytes32\"\n },\n {\n \"name\": \"feeAmount\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"client\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n },\n {\n \"name\": \"activeAt\",\n \"type\": \"uint32\",\n \"internalType\": \"uint32\"\n },\n {\n \"name\": \"intervalSeconds\",\n \"type\": \"uint32\",\n \"internalType\": \"uint32\"\n },\n {\n \"name\": \"maxExecutions\",\n \"type\": \"uint32\",\n \"internalType\": \"uint32\"\n },\n {\n \"name\": \"wallet\",\n \"type\": \"address\",\n \"internalType\": \"address payable\"\n },\n {\n \"name\": \"feeToken\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n },\n {\n \"name\": \"verifier\",\n \"type\": \"address\",\n \"internalType\": \"address payable\"\n },\n {\n \"name\": \"redundancy\",\n \"type\": \"uint16\",\n \"internalType\": \"uint16\"\n },\n {\n \"name\": \"useDeliveryInbox\",\n \"type\": \"bool\",\n \"internalType\": \"bool\"\n }\n ]\n }\n ],\n \"stateMutability\": \"view\"\n }\n]","/**\n * Noosphere Contract Types\n * Based on noosphere-evm Solidity types\n */\n\n/**\n * PayloadData struct for gas-optimized payload references\n * Supports multiple URI schemes: data:, ipfs://, ar://, https://, chain://\n */\nexport interface PayloadData {\n contentHash: string; // bytes32 - keccak256(content) for integrity verification\n uri: string; // bytes - Full URI string (e.g., \"ipfs://Qm...\", \"https://...\")\n}\n\n/**\n * Input type for compute requests\n */\nexport enum InputType {\n RAW_DATA = 0, // Raw inline data (<1KB)\n URI_STRING = 1, // URI string\n PAYLOAD_DATA = 2, // PayloadData struct\n}\n\nexport interface ComputeSubscription {\n routeId: string; // bytes32\n containerId: string; // bytes32\n feeAmount: bigint; // uint256\n client: string; // address\n activeAt: number; // uint32\n intervalSeconds: number; // uint32\n maxExecutions: number; // uint32\n wallet: string; // address payable\n feeToken: string; // address\n verifier: string; // address payable\n redundancy: number; // uint16\n useDeliveryInbox: boolean; // bool\n}\n\nexport interface Commitment {\n requestId: string; // bytes32\n subscriptionId: bigint; // uint64\n interval: number; // uint32\n redundancy: number; // uint16\n containerId: string; // bytes32\n client: string; // address\n wallet: string; // address\n feeToken: string; // address\n feeAmount: bigint; // uint256\n verifier: string; // address\n useDeliveryInbox: boolean; // bool\n}\n\nexport interface Payment {\n recipient: string; // address\n token: string; // address\n amount: bigint; // uint256\n}\n\nexport interface ProofVerificationRequest {\n subscriptionId: bigint; // uint64\n interval: number; // uint32\n verifier: string; // address\n token: string; // address\n amount: bigint; // uint256\n}\n\nexport interface IntervalStatus {\n redundancyCount: number; // uint16\n commitmentExists: boolean; // bool\n}\n\nexport enum FulfillResult {\n FULFILLED = 0,\n INVALID_REQUEST_ID = 1,\n INVALID_COMMITMENT = 2,\n REDUNDANCY_NOT_MET = 3,\n INSUFFICIENT_PAYMENT = 4,\n VERIFICATION_REQUIRED = 5,\n VERIFICATION_FAILED = 6,\n}\n\n/**\n * Event types\n */\n\nexport interface RequestStartedEvent {\n requestId: string;\n subscriptionId: bigint;\n containerId: string;\n commitment: Commitment;\n}\n\nexport interface RequestCancelledEvent {\n requestId: string;\n}\n\nexport interface ComputeDeliveredEvent {\n requestId: string;\n nodeWallet: string;\n numRedundantDeliveries: number;\n input: PayloadData;\n output: PayloadData;\n proof: PayloadData;\n}\n\nexport interface ProofVerifiedEvent {\n subscriptionId: bigint;\n interval: number;\n node: string;\n valid: boolean;\n verifier: string;\n}\n\nexport interface SubscriptionCreatedEvent {\n subscriptionId: bigint;\n client: string;\n routeId: string;\n containerId: string;\n}\n","[\n {\n \"type\": \"constructor\",\n \"inputs\": [\n {\n \"name\": \"router\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n }\n ],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"createWallet\",\n \"inputs\": [\n {\n \"name\": \"initialOwner\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n }\n ],\n \"outputs\": [\n {\n \"name\": \"walletAddr\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n }\n ],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"isValidWallet\",\n \"inputs\": [\n {\n \"name\": \"walletAddr\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n }\n ],\n \"outputs\": [\n {\n \"name\": \"isCreated\",\n \"type\": \"bool\",\n \"internalType\": \"bool\"\n }\n ],\n \"stateMutability\": \"view\"\n },\n {\n \"type\": \"function\",\n \"name\": \"typeAndVersion\",\n \"inputs\": [],\n \"outputs\": [\n {\n \"name\": \"\",\n \"type\": \"string\",\n \"internalType\": \"string\"\n }\n ],\n \"stateMutability\": \"pure\"\n },\n {\n \"type\": \"event\",\n \"name\": \"WalletCreated\",\n \"inputs\": [\n {\n \"name\": \"operator\",\n \"type\": \"address\",\n \"indexed\": true,\n \"internalType\": \"address\"\n },\n {\n \"name\": \"owner\",\n \"type\": \"address\",\n \"indexed\": true,\n \"internalType\": \"address\"\n },\n {\n \"name\": \"walletAddress\",\n \"type\": \"address\",\n \"indexed\": false,\n \"internalType\": \"address\"\n }\n ],\n \"anonymous\": false\n },\n {\n \"type\": \"error\",\n \"name\": \"OnlyCallableByRouter\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"OnlyCallableByRouterOwner\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"RouterMustBeSet\",\n \"inputs\": []\n }\n]","[\n {\n \"type\": \"constructor\",\n \"inputs\": [\n {\n \"name\": \"router\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n },\n {\n \"name\": \"initialOwner\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n }\n ],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"receive\",\n \"stateMutability\": \"payable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"allowance\",\n \"inputs\": [\n {\n \"name\": \"\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n },\n {\n \"name\": \"\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n }\n ],\n \"outputs\": [\n {\n \"name\": \"\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n }\n ],\n \"stateMutability\": \"view\"\n },\n {\n \"type\": \"function\",\n \"name\": \"approve\",\n \"inputs\": [\n {\n \"name\": \"spender\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n },\n {\n \"name\": \"token\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n },\n {\n \"name\": \"amount\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n }\n ],\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"disburseForFulfillment\",\n \"inputs\": [\n {\n \"name\": \"requestId\",\n \"type\": \"bytes32\",\n \"internalType\": \"bytes32\"\n },\n {\n \"name\": \"payments\",\n \"type\": \"tuple[]\",\n \"internalType\": \"struct Payment[]\",\n \"components\": [\n {\n \"name\": \"recipient\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n },\n {\n \"name\": \"feeToken\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n },\n {\n \"name\": \"feeAmount\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n }\n ]\n }\n ],\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"disburseForRequest\",\n \"inputs\": [\n {\n \"name\": \"requestId\",\n \"type\": \"bytes32\",\n \"internalType\": \"bytes32\"\n },\n {\n \"name\": \"to\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n },\n {\n \"name\": \"amount\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n }\n ],\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"isLocked\",\n \"inputs\": [\n {\n \"name\": \"spender\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n },\n {\n \"name\": \"token\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n }\n ],\n \"outputs\": [\n {\n \"name\": \"\",\n \"type\": \"bool\",\n \"internalType\": \"bool\"\n }\n ],\n \"stateMutability\": \"view\"\n },\n {\n \"type\": \"function\",\n \"name\": \"isValidSignature\",\n \"inputs\": [\n {\n \"name\": \"hash_\",\n \"type\": \"bytes32\",\n \"internalType\": \"bytes32\"\n },\n {\n \"name\": \"signature_\",\n \"type\": \"bytes\",\n \"internalType\": \"bytes\"\n }\n ],\n \"outputs\": [\n {\n \"name\": \"\",\n \"type\": \"bytes4\",\n \"internalType\": \"bytes4\"\n }\n ],\n \"stateMutability\": \"view\"\n },\n {\n \"type\": \"function\",\n \"name\": \"lockEscrow\",\n \"inputs\": [\n {\n \"name\": \"spender\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n },\n {\n \"name\": \"token\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n },\n {\n \"name\": \"amount\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n }\n ],\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"lockForRequest\",\n \"inputs\": [\n {\n \"name\": \"spender\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n },\n {\n \"name\": \"token\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n },\n {\n \"name\": \"totalAmount\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"requestId\",\n \"type\": \"bytes32\",\n \"internalType\": \"bytes32\"\n },\n {\n \"name\": \"redundancy\",\n \"type\": \"uint16\",\n \"internalType\": \"uint16\"\n }\n ],\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"lockedOf\",\n \"inputs\": [\n {\n \"name\": \"spender\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n },\n {\n \"name\": \"token\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n }\n ],\n \"outputs\": [\n {\n \"name\": \"\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n }\n ],\n \"stateMutability\": \"view\"\n },\n {\n \"type\": \"function\",\n \"name\": \"lockedOfRequest\",\n \"inputs\": [\n {\n \"name\": \"requestId\",\n \"type\": \"bytes32\",\n \"internalType\": \"bytes32\"\n }\n ],\n \"outputs\": [\n {\n \"name\": \"\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n }\n ],\n \"stateMutability\": \"view\"\n },\n {\n \"type\": \"function\",\n \"name\": \"owner\",\n \"inputs\": [],\n \"outputs\": [\n {\n \"name\": \"\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n }\n ],\n \"stateMutability\": \"view\"\n },\n {\n \"type\": \"function\",\n \"name\": \"paidCountOfRequest\",\n \"inputs\": [\n {\n \"name\": \"requestId\",\n \"type\": \"bytes32\",\n \"internalType\": \"bytes32\"\n }\n ],\n \"outputs\": [\n {\n \"name\": \"\",\n \"type\": \"uint16\",\n \"internalType\": \"uint16\"\n }\n ],\n \"stateMutability\": \"view\"\n },\n {\n \"type\": \"function\",\n \"name\": \"releaseEscrow\",\n \"inputs\": [\n {\n \"name\": \"spender\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n },\n {\n \"name\": \"token\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n },\n {\n \"name\": \"amount\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n }\n ],\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"releaseForRequest\",\n \"inputs\": [\n {\n \"name\": \"requestId\",\n \"type\": \"bytes32\",\n \"internalType\": \"bytes32\"\n }\n ],\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"renounceOwnership\",\n \"inputs\": [],\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"totalLockedFor\",\n \"inputs\": [\n {\n \"name\": \"token\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n }\n ],\n \"outputs\": [\n {\n \"name\": \"\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n }\n ],\n \"stateMutability\": \"view\"\n },\n {\n \"type\": \"function\",\n \"name\": \"transferByRouter\",\n \"inputs\": [\n {\n \"name\": \"spender\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n },\n {\n \"name\": \"payments\",\n \"type\": \"tuple[]\",\n \"internalType\": \"struct Payment[]\",\n \"components\": [\n {\n \"name\": \"recipient\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n },\n {\n \"name\": \"feeToken\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n },\n {\n \"name\": \"feeAmount\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n }\n ]\n }\n ],\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"transferOwnership\",\n \"inputs\": [\n {\n \"name\": \"newOwner\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n }\n ],\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"typeAndVersion\",\n \"inputs\": [],\n \"outputs\": [\n {\n \"name\": \"\",\n \"type\": \"string\",\n \"internalType\": \"string\"\n }\n ],\n \"stateMutability\": \"pure\"\n },\n {\n \"type\": \"function\",\n \"name\": \"withdraw\",\n \"inputs\": [\n {\n \"name\": \"token\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n },\n {\n \"name\": \"amount\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n }\n ],\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"event\",\n \"name\": \"Approval\",\n \"inputs\": [\n {\n \"name\": \"spender\",\n \"type\": \"address\",\n \"indexed\": true,\n \"internalType\": \"address\"\n },\n {\n \"name\": \"token\",\n \"type\": \"address\",\n \"indexed\": true,\n \"internalType\": \"address\"\n },\n {\n \"name\": \"amount\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n }\n ],\n \"anonymous\": false\n },\n {\n \"type\": \"event\",\n \"name\": \"Deposit\",\n \"inputs\": [\n {\n \"name\": \"token\",\n \"type\": \"address\",\n \"indexed\": true,\n \"internalType\": \"address\"\n },\n {\n \"name\": \"amount\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n }\n ],\n \"anonymous\": false\n },\n {\n \"type\": \"event\",\n \"name\": \"Escrow\",\n \"inputs\": [\n {\n \"name\": \"spender\",\n \"type\": \"address\",\n \"indexed\": true,\n \"internalType\": \"address\"\n },\n {\n \"name\": \"token\",\n \"type\": \"address\",\n \"indexed\": true,\n \"internalType\": \"address\"\n },\n {\n \"name\": \"amount\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"locked\",\n \"type\": \"bool\",\n \"indexed\": false,\n \"internalType\": \"bool\"\n }\n ],\n \"anonymous\": false\n },\n {\n \"type\": \"event\",\n \"name\": \"OwnershipTransferred\",\n \"inputs\": [\n {\n \"name\": \"previousOwner\",\n \"type\": \"address\",\n \"indexed\": true,\n \"internalType\": \"address\"\n },\n {\n \"name\": \"newOwner\",\n \"type\": \"address\",\n \"indexed\": true,\n \"internalType\": \"address\"\n }\n ],\n \"anonymous\": false\n },\n {\n \"type\": \"event\",\n \"name\": \"RequestDisbursed\",\n \"inputs\": [\n {\n \"name\": \"requestId\",\n \"type\": \"bytes32\",\n \"indexed\": true,\n \"internalType\": \"bytes32\"\n },\n {\n \"name\": \"to\",\n \"type\": \"address\",\n \"indexed\": true,\n \"internalType\": \"address\"\n },\n {\n \"name\": \"token\",\n \"type\": \"address\",\n \"indexed\": true,\n \"internalType\": \"address\"\n },\n {\n \"name\": \"amount\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"paidCount\",\n \"type\": \"uint16\",\n \"indexed\": false,\n \"internalType\": \"uint16\"\n }\n ],\n \"anonymous\": false\n },\n {\n \"type\": \"event\",\n \"name\": \"RequestLocked\",\n \"inputs\": [\n {\n \"name\": \"requestId\",\n \"type\": \"bytes32\",\n \"indexed\": true,\n \"internalType\": \"bytes32\"\n },\n {\n \"name\": \"spender\",\n \"type\": \"address\",\n \"indexed\": true,\n \"internalType\": \"address\"\n },\n {\n \"name\": \"token\",\n \"type\": \"address\",\n \"indexed\": true,\n \"internalType\": \"address\"\n },\n {\n \"name\": \"totalAmount\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"redundancy\",\n \"type\": \"uint16\",\n \"indexed\": false,\n \"internalType\": \"uint16\"\n }\n ],\n \"anonymous\": false\n },\n {\n \"type\": \"event\",\n \"name\": \"RequestReleased\",\n \"inputs\": [\n {\n \"name\": \"requestId\",\n \"type\": \"bytes32\",\n \"indexed\": true,\n \"internalType\": \"bytes32\"\n },\n {\n \"name\": \"spender\",\n \"type\": \"address\",\n \"indexed\": true,\n \"internalType\": \"address\"\n },\n {\n \"name\": \"token\",\n \"type\": \"address\",\n \"indexed\": true,\n \"internalType\": \"address\"\n },\n {\n \"name\": \"amountRefunded\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n }\n ],\n \"anonymous\": false\n },\n {\n \"type\": \"event\",\n \"name\": \"Transfer\",\n \"inputs\": [\n {\n \"name\": \"spender\",\n \"type\": \"address\",\n \"indexed\": true,\n \"internalType\": \"address\"\n },\n {\n \"name\": \"token\",\n \"type\": \"address\",\n \"indexed\": false,\n \"internalType\": \"address\"\n },\n {\n \"name\": \"to\",\n \"type\": \"address\",\n \"indexed\": true,\n \"internalType\": \"address\"\n },\n {\n \"name\": \"amount\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n }\n ],\n \"anonymous\": false\n },\n {\n \"type\": \"event\",\n \"name\": \"Withdraw\",\n \"inputs\": [\n {\n \"name\": \"token\",\n \"type\": \"address\",\n \"indexed\": true,\n \"internalType\": \"address\"\n },\n {\n \"name\": \"amount\",\n \"type\": \"uint256\",\n \"indexed\": false,\n \"internalType\": \"uint256\"\n }\n ],\n \"anonymous\": false\n },\n {\n \"type\": \"error\",\n \"name\": \"ECDSAInvalidSignature\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"ECDSAInvalidSignatureLength\",\n \"inputs\": [\n {\n \"name\": \"length\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n }\n ]\n },\n {\n \"type\": \"error\",\n \"name\": \"ECDSAInvalidSignatureS\",\n \"inputs\": [\n {\n \"name\": \"s\",\n \"type\": \"bytes32\",\n \"internalType\": \"bytes32\"\n }\n ]\n },\n {\n \"type\": \"error\",\n \"name\": \"ExceedsRemaining\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"FailedCall\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"InconsistentLockedBalance\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"InsufficientAllowance\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"InsufficientBalance\",\n \"inputs\": [\n {\n \"name\": \"balance\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"needed\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n }\n ]\n },\n {\n \"type\": \"error\",\n \"name\": \"InsufficientFunds\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"MismatchPaymentToken\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"NoSuchRequestLock\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"OnlyCallableByRouter\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"OnlyCallableByRouterOwner\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"OwnableInvalidOwner\",\n \"inputs\": [\n {\n \"name\": \"owner\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n }\n ]\n },\n {\n \"type\": \"error\",\n \"name\": \"OwnableUnauthorizedAccount\",\n \"inputs\": [\n {\n \"name\": \"account\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n }\n ]\n },\n {\n \"type\": \"error\",\n \"name\": \"RedundancyExhausted\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"ReentrancyGuardReentrantCall\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"RequestAlreadyLocked\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"RouterMustBeSet\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"SafeERC20FailedOperation\",\n \"inputs\": [\n {\n \"name\": \"token\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n }\n ]\n },\n {\n \"type\": \"error\",\n \"name\": \"ZeroAmount\",\n \"inputs\": []\n }\n]","/**\n * @noosphere/contracts\n * TypeScript wrappers for Noosphere smart contracts\n */\n\n// TypeChain-generated types (auto-generated, fully type-safe)\nexport * from './typechain';\n\n// Custom contract wrappers (convenience methods and data transformation)\nexport { RouterContract } from './Router';\nexport { CoordinatorContract } from './Coordinator';\nexport { SubscriptionBatchReaderContract } from './SubscriptionBatchReader';\n\n// Custom types\nexport * from './types';\n\n// ABIs\nimport RouterABI from './abis/Router.abi.json';\nimport CoordinatorABI from './abis/Coordinator.abi.json';\nimport SubscriptionBatchReaderABI from './abis/SubscriptionBatchReader.abi.json';\nimport WalletFactoryABI from './abis/WalletFactory.abi.json';\nimport WalletABI from './abis/Wallet.abi.json';\n\nexport const ABIs = {\n Router: RouterABI,\n Coordinator: CoordinatorABI,\n SubscriptionBatchReader: SubscriptionBatchReaderABI,\n WalletFactory: WalletFactoryABI,\n Wallet: WalletABI,\n};\n"],"mappings":"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","names":["Contract","Interface","_abi","Contract","Interface","_abi","Contract","Interface","_abi","Contract","Interface","_abi","Contract","Contract","Contract","ethers","Contract","ethers","Contract","Contract","InputType","FulfillResult"]}
|