UNPKG

blocklock-js

Version:

A library for encrypting and decrypting data for the future

556 lines (548 loc) 25.3 kB
/* Autogenerated file. Do not edit manually. */ /* tslint:disable */ /* eslint-disable */ import { Contract, ContractFactory, ContractTransactionResponse, Interface, } from "ethers"; import type { Signer, AddressLike, ContractDeployTransaction, ContractRunner, } from "ethers"; import type { NonPayableOverrides } from "../common"; import type { MockBlocklockStringReceiver, MockBlocklockStringReceiverInterface, } from "../MockBlocklockStringReceiver"; const _abi = [ { type: "constructor", inputs: [ { name: "blocklockContract", type: "address", internalType: "address", }, ], stateMutability: "nonpayable", }, { type: "receive", stateMutability: "payable", }, { type: "function", name: "acceptOwnership", inputs: [], outputs: [], stateMutability: "nonpayable", }, { type: "function", name: "blocklock", inputs: [], outputs: [ { name: "", type: "address", internalType: "contract IBlocklockSender", }, ], stateMutability: "view", }, { type: "function", name: "createSubscriptionAndFundNative", inputs: [], outputs: [], stateMutability: "payable", }, { type: "function", name: "createTimelockRequestWithDirectFunding", inputs: [ { name: "callbackGasLimit", type: "uint32", internalType: "uint32", }, { name: "condition", type: "bytes", internalType: "bytes", }, { name: "encryptedData", type: "tuple", internalType: "struct TypesLib.Ciphertext", components: [ { name: "u", type: "tuple", internalType: "struct BLS.PointG2", components: [ { name: "x", type: "uint256[2]", internalType: "uint256[2]", }, { name: "y", type: "uint256[2]", internalType: "uint256[2]", }, ], }, { name: "v", type: "bytes", internalType: "bytes", }, { name: "w", type: "bytes", internalType: "bytes", }, ], }, ], outputs: [ { name: "", type: "uint256", internalType: "uint256", }, { name: "", type: "uint256", internalType: "uint256", }, ], stateMutability: "nonpayable", }, { type: "function", name: "createTimelockRequestWithSubscription", inputs: [ { name: "callbackGasLimit", type: "uint32", internalType: "uint32", }, { name: "condition", type: "bytes", internalType: "bytes", }, { name: "encryptedData", type: "tuple", internalType: "struct TypesLib.Ciphertext", components: [ { name: "u", type: "tuple", internalType: "struct BLS.PointG2", components: [ { name: "x", type: "uint256[2]", internalType: "uint256[2]", }, { name: "y", type: "uint256[2]", internalType: "uint256[2]", }, ], }, { name: "v", type: "bytes", internalType: "bytes", }, { name: "w", type: "bytes", internalType: "bytes", }, ], }, ], outputs: [ { name: "", type: "uint256", internalType: "uint256", }, ], stateMutability: "payable", }, { type: "function", name: "encryptedValue", inputs: [], outputs: [ { name: "u", type: "tuple", internalType: "struct BLS.PointG2", components: [ { name: "x", type: "uint256[2]", internalType: "uint256[2]", }, { name: "y", type: "uint256[2]", internalType: "uint256[2]", }, ], }, { name: "v", type: "bytes", internalType: "bytes", }, { name: "w", type: "bytes", internalType: "bytes", }, ], stateMutability: "view", }, { type: "function", name: "fundContractNative", inputs: [], outputs: [], stateMutability: "payable", }, { type: "function", name: "getBalance", inputs: [], outputs: [ { name: "", type: "uint256", internalType: "uint256", }, ], stateMutability: "view", }, { type: "function", name: "owner", inputs: [], outputs: [ { name: "", type: "address", internalType: "address", }, ], stateMutability: "view", }, { type: "function", name: "plainTextValue", inputs: [], outputs: [ { name: "", type: "string", internalType: "string", }, ], stateMutability: "view", }, { type: "function", name: "receiveBlocklock", inputs: [ { name: "requestID", type: "uint256", internalType: "uint256", }, { name: "decryptionKey", type: "bytes", internalType: "bytes", }, ], outputs: [], stateMutability: "nonpayable", }, { type: "function", name: "requestId", inputs: [], outputs: [ { name: "", type: "uint256", internalType: "uint256", }, ], stateMutability: "view", }, { type: "function", name: "setBlocklock", inputs: [ { name: "_blocklock", type: "address", internalType: "address", }, ], outputs: [], stateMutability: "nonpayable", }, { type: "function", name: "setSubId", inputs: [ { name: "subId", type: "uint256", internalType: "uint256", }, ], outputs: [], stateMutability: "nonpayable", }, { type: "function", name: "subscriptionId", inputs: [], outputs: [ { name: "", type: "uint256", internalType: "uint256", }, ], stateMutability: "view", }, { type: "function", name: "topUpSubscriptionNative", inputs: [], outputs: [], stateMutability: "payable", }, { type: "function", name: "transferOwnership", inputs: [ { name: "to", type: "address", internalType: "address", }, ], outputs: [], stateMutability: "nonpayable", }, { type: "function", name: "updateSubscription", inputs: [ { name: "consumers", type: "address[]", internalType: "address[]", }, ], outputs: [], stateMutability: "nonpayable", }, { type: "function", name: "withdrawNative", inputs: [ { name: "amount", type: "uint256", internalType: "uint256", }, { name: "recipient", type: "address", internalType: "address", }, ], outputs: [], stateMutability: "nonpayable", }, { type: "event", name: "Funded", inputs: [ { name: "sender", type: "address", indexed: true, internalType: "address", }, { name: "amount", type: "uint256", indexed: false, internalType: "uint256", }, ], anonymous: false, }, { type: "event", name: "NewSubscriptionId", inputs: [ { name: "subscriptionId", type: "uint256", indexed: true, internalType: "uint256", }, ], anonymous: false, }, { type: "event", name: "OwnershipTransferRequested", inputs: [ { name: "from", type: "address", indexed: true, internalType: "address", }, { name: "to", type: "address", indexed: true, internalType: "address", }, ], anonymous: false, }, { type: "event", name: "OwnershipTransferred", inputs: [ { name: "from", type: "address", indexed: true, internalType: "address", }, { name: "to", type: "address", indexed: true, internalType: "address", }, ], anonymous: false, }, { type: "event", name: "Received", inputs: [ { name: "", type: "address", indexed: false, internalType: "address", }, { name: "", type: "uint256", indexed: false, internalType: "uint256", }, ], anonymous: false, }, { type: "event", name: "Withdrawn", inputs: [ { name: "recipient", type: "address", indexed: true, internalType: "address", }, { name: "amount", type: "uint256", indexed: false, internalType: "uint256", }, ], anonymous: false, }, ] as const; const _bytecode = "0x608060405234801561000f575f5ffd5b50604051611b76380380611b7683398101604081905261002e91610186565b8033805f816100845760405162461bcd60e51b815260206004820152601860248201527f43616e6e6f7420736574206f776e657220746f207a65726f000000000000000060448201526064015b60405180910390fd5b5f80546001600160a01b0319166001600160a01b03848116919091179091558116156100b3576100b3816100de565b5050600280546001600160a01b0319166001600160a01b039390931692909217909155506101b39050565b336001600160a01b038216036101365760405162461bcd60e51b815260206004820152601760248201527f43616e6e6f74207472616e7366657220746f2073656c66000000000000000000604482015260640161007b565b600180546001600160a01b0319166001600160a01b038381169182179092555f8054604051929316917fed8889f560326eb138920d842192f0eb3dd22b4f139c87a2c57538e05bae12789190a350565b5f60208284031215610196575f5ffd5b81516001600160a01b03811681146101ac575f5ffd5b9392505050565b6119b6806101c05f395ff3fe608060405260043610610112575f3560e01c806379ba50971161009d57806397a9c2851161006257806397a9c285146102f7578063b8ca8dd814610318578063b96dbba714610337578063e64a66ea1461033f578063f2fde38b14610347575f5ffd5b806379ba509714610252578063809800431461026657806386e560be146102855780638da5cb5b146102a857806393b9740a146102d8575f5ffd5b806336bfffed116100e357806336bfffed146101ae5780634d3de353146101cd5780634fa26d40146101e057806359608fda146101ff5780635d94180214610233575f5ffd5b80626d6cae1461015557806309c1ba2e1461017d57806312065fe0146101925780631d2b2afd146101a4575f5ffd5b3661015157604080513381523460208201527f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f88525874910160405180910390a1005b5f5ffd5b348015610160575f5ffd5b5061016a60045481565b6040519081526020015b60405180910390f35b348015610188575f5ffd5b5061016a60035481565b34801561019d575f5ffd5b504761016a565b6101ac610366565b005b3480156101b9575f5ffd5b506101ac6101c8366004611191565b61040d565b61016a6101db366004611244565b61050a565b3480156101eb575f5ffd5b506101ac6101fa3660046112e5565b61056d565b34801561020a575f5ffd5b5061021e610219366004611244565b6105f7565b60408051928352602083019190915201610174565b34801561023e575f5ffd5b506101ac61024d366004611305565b610662565b34801561025d575f5ffd5b506101ac6106c7565b348015610271575f5ffd5b506101ac61028036600461134c565b610770565b348015610290575f5ffd5b506102996107aa565b604051610174939291906113d0565b3480156102b3575f5ffd5b505f546001600160a01b03165b6040516001600160a01b039091168152602001610174565b3480156102e3575f5ffd5b506002546102c0906001600160a01b031681565b348015610302575f5ffd5b5061030b610936565b604051610174919061140b565b348015610323575f5ffd5b506101ac61033236600461141d565b6109c2565b6101ac610a95565b6101ac610adc565b348015610352575f5ffd5b506101ac6103613660046112e5565b610b5b565b6003545f036103aa5760405162461bcd60e51b815260206004820152600b60248201526a1cdd58881b9bdd081cd95d60aa1b60448201526064015b60405180910390fd5b60025460035460405163256d573f60e21b815260048101919091526001600160a01b03909116906395b55cfc9034906024015b5f604051808303818588803b1580156103f4575f5ffd5b505af1158015610406573d5f5f3e3d5ffd5b5050505050565b610415610b6f565b6003545f036104565760405162461bcd60e51b815260206004820152600d60248201526c1cdd589251081b9bdd081cd95d609a1b60448201526064016103a1565b5f5b81811015610505576002546003546001600160a01b039091169063bec4c08c9085858581811061048a5761048a611447565b905060200201602081019061049f91906112e5565b6040516001600160e01b031960e085901b16815260048101929092526001600160a01b031660248201526044015f604051808303815f87803b1580156104e3575f5ffd5b505af11580156104f5573d5f5f3e3d5ffd5b5050600190920191506104589050565b505050565b5f5f61054d8686868080601f0160208091040260200160405190810160405280939291908181526020018383808284375f92019190915250889250610bc3915050565b6004819055905082600561056182826115e6565b50909695505050505050565b610575610b6f565b6001600160a01b0381166105d55760405162461bcd60e51b815260206004820152602160248201527f43616e6e6f7420736574207a65726f20616464726573732061732073656e64656044820152603960f91b60648201526084016103a1565b600280546001600160a01b0319166001600160a01b0392909216919091179055565b5f5f5f5f61063c8888888080601f0160208091040260200160405190810160405280939291908181526020018383808284375f920191909152508a9250610c41915050565b6004829055909250905084600561065382826115e6565b50919890975095505050505050565b6002546001600160a01b031633146106bc5760405162461bcd60e51b815260206004820181905260248201527f4f6e6c7920626c6f636b6c6f636b20636f6e74726163742063616e2063616c6c60448201526064016103a1565b610505838383610d37565b6001546001600160a01b0316331461071a5760405162461bcd60e51b815260206004820152601660248201527526bab9ba10313290383937b837b9b2b21037bbb732b960511b60448201526064016103a1565b5f8054336001600160a01b0319808316821784556001805490911690556040516001600160a01b0390921692909183917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a350565b610778610b6f565b600381905560405181907f5f479ac993925efae23839aa1c813b6ecb2fe1bbd14dc78295ab267d2fca4368905f90a250565b604080516080810180835260059283918391820190839060029082845b8154815260200190600101908083116107c757505050918352505060408051808201918290526020909201919060028481019182845b8154815260200190600101908083116107fd5750505050508152505090806004018054610829906114b1565b80601f0160208091040260200160405190810160405280929190818152602001828054610855906114b1565b80156108a05780601f10610877576101008083540402835291602001916108a0565b820191905f5260205f20905b81548152906001019060200180831161088357829003601f168201915b5050505050908060050180546108b5906114b1565b80601f01602080910402602001604051908101604052809291908181526020018280546108e1906114b1565b801561092c5780601f106109035761010080835404028352916020019161092c565b820191905f5260205f20905b81548152906001019060200180831161090f57829003601f168201915b5050505050905083565b600b8054610943906114b1565b80601f016020809104026020016040519081016040528092919081815260200182805461096f906114b1565b80156109ba5780601f10610991576101008083540402835291602001916109ba565b820191905f5260205f20905b81548152906001019060200180831161099d57829003601f168201915b505050505081565b6109ca610b6f565b81471015610a1a5760405162461bcd60e51b815260206004820152601e60248201527f496e73756666696369656e742066756e647320696e20636f6e7472616374000060448201526064016103a1565b6040516001600160a01b0382169083156108fc029084905f818181858888f19350505050158015610a4d573d5f5f3e3d5ffd5b50806001600160a01b03167f7084f5476618d8e60b11ef0d7d3f06914655adb8793e28ff7f018d4c76d505d583604051610a8991815260200190565b60405180910390a25050565b610a9d610b6f565b610aa5610f49565b600381905560025460405163256d573f60e21b815260048101929092526001600160a01b0316906395b55cfc9034906024016103dd565b5f3411610b245760405162461bcd60e51b81526020600482015260166024820152750b2deea40daeae6e840e6cadcc840e6dedaca408aa8960531b60448201526064016103a1565b60405134815233907f5af8184bef8e4b45eb9f6ed7734d04da38ced226495548f46e0c8ff8d7d9a5249060200160405180910390a2565b610b63610b6f565b610b6c81611073565b50565b5f546001600160a01b03163314610bc15760405162461bcd60e51b815260206004820152601660248201527527b7363c9031b0b63630b1363290313c9037bbb732b960511b60448201526064016103a1565b565b6002546003546040516262b1d960e41b81525f926001600160a01b03169163062b1d9091610bf991889188908890600401611726565b6020604051808303815f875af1158015610c15573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c399190611767565b949350505050565b600254604051634b16093560e01b815263ffffffff851660048201525f9182916001600160a01b0390911690634b16093590602401602060405180830381865afa158015610c91573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cb59190611767565b600254604051637909dc7b60e01b81529192506001600160a01b031690637909dc7b908390610cec9089908990899060040161177e565b60206040518083038185885af1158015610d08573d5f5f3e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610d2d9190611767565b9150935093915050565b8260045414610d7d5760405162461bcd60e51b8152602060048201526012602482015271125b9d985b1a59081c995c5d595cdd081a5960721b60448201526064016103a1565b6040805160e08101909152610f239060058160608101828160a084018260028282826020028201915b815481526020019060010190808311610da657505050918352505060408051808201918290526020909201919060028481019182845b815481526020019060010190808311610ddc575050505050815250508152602001600482018054610e0c906114b1565b80601f0160208091040260200160405190810160405280929190818152602001828054610e38906114b1565b8015610e835780601f10610e5a57610100808354040283529160200191610e83565b820191905f5260205f20905b815481529060010190602001808311610e6657829003601f168201915b50505050508152602001600582018054610e9c906114b1565b80601f0160208091040260200160405190810160405280929190818152602001828054610ec8906114b1565b8015610f135780601f10610eea57610100808354040283529160200191610f13565b820191905f5260205f20905b815481529060010190602001808311610ef657829003601f168201915b505050505081525050838361111b565b806020019051810190610f369190611823565b600b90610f439082611867565b50505050565b5f6003545f14610f9b5760405162461bcd60e51b815260206004820152601a60248201527f537562736372697074696f6e4964206973206e6f74207a65726f00000000000060448201526064016103a1565b60025f9054906101000a90046001600160a01b03166001600160a01b031663a21a23e46040518163ffffffff1660e01b81526004016020604051808303815f875af1158015610fec573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110109190611767565b600254604051632fb1302360e21b8152600481018390523060248201529192506001600160a01b03169063bec4c08c906044015f604051808303815f87803b15801561105a575f5ffd5b505af115801561106c573d5f5f3e3d5ffd5b5050505090565b336001600160a01b038216036110cb5760405162461bcd60e51b815260206004820152601760248201527f43616e6e6f74207472616e7366657220746f2073656c6600000000000000000060448201526064016103a1565b600180546001600160a01b0319166001600160a01b038381169182179092555f8054604051929316917fed8889f560326eb138920d842192f0eb3dd22b4f139c87a2c57538e05bae12789190a350565b60025460405163326f063160e21b81526060916001600160a01b03169063c9bc18c49061115090879087908790600401611921565b5f60405180830381865afa15801561116a573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610c399190810190611823565b5f5f602083850312156111a2575f5ffd5b82356001600160401b038111156111b7575f5ffd5b8301601f810185136111c7575f5ffd5b80356001600160401b038111156111dc575f5ffd5b8560208260051b84010111156111f0575f5ffd5b6020919091019590945092505050565b5f5f83601f840112611210575f5ffd5b5081356001600160401b03811115611226575f5ffd5b60208301915083602082850101111561123d575f5ffd5b9250929050565b5f5f5f5f60608587031215611257575f5ffd5b843563ffffffff8116811461126a575f5ffd5b935060208501356001600160401b03811115611284575f5ffd5b61129087828801611200565b90945092505060408501356001600160401b038111156112ae575f5ffd5b850160c081880312156112bf575f5ffd5b939692955090935050565b80356001600160a01b03811681146112e0575f5ffd5b919050565b5f602082840312156112f5575f5ffd5b6112fe826112ca565b9392505050565b5f5f5f60408486031215611317575f5ffd5b8335925060208401356001600160401b03811115611333575f5ffd5b61133f86828701611200565b9497909650939450505050565b5f6020828403121561135c575f5ffd5b5035919050565b805f5b6002811015610f43578151845260209384019390910190600101611366565b611390828251611363565b60208101516105056040840182611363565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b6113da8185611385565b60c060808201525f6113ef60c08301856113a2565b82810360a084015261140181856113a2565b9695505050505050565b602081525f6112fe60208301846113a2565b5f5f6040838503121561142e575f5ffd5b8235915061143e602084016112ca565b90509250929050565b634e487b7160e01b5f52603260045260245ffd5b634e487b7160e01b5f52604160045260245ffd5b5f5f8335601e19843603018112611484575f5ffd5b8301803591506001600160401b0382111561149d575f5ffd5b60200191503681900382131561123d575f5ffd5b600181811c908216806114c557607f821691505b6020821081036114e357634e487b7160e01b5f52602260045260245ffd5b50919050565b601f82111561050557805f5260205f20601f840160051c8101602085101561150e5750805b601f840160051c820191505b81811015610406575f815560010161151a565b6001600160401b038311156115445761154461145b565b6115588361155283546114b1565b836114e9565b5f601f841160018114611589575f85156115725750838201355b5f19600387901b1c1916600186901b178355610406565b5f83815260208120601f198716915b828110156115b85786850135825560209485019460019092019101611598565b50868210156115d4575f1960f88860031b161c19848701351681555b505060018560011b0183555050505050565b815f5b6002811015611606578135838201556020909101906001016115e9565b5050604082015f5b600281101561162e5781358382016002015560209091019060010161160e565b505061163d608083018361146f565b61164b81836004860161152d565b505061165a60a083018361146f565b610f4381836005860161152d565b5f5f8335601e1984360301811261167d575f5ffd5b83016020810192503590506001600160401b0381111561169b575f5ffd5b80360382131561123d575f5ffd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b6040818337604080820160408401375f6116ee6080830183611668565b60c0608086015261170360c0860182846116a9565b91505061171360a0840184611668565b85830360a08701526114018382846116a9565b63ffffffff85168152836020820152608060408201525f61174a60808301856113a2565b828103606084015261175c81856116d1565b979650505050505050565b5f60208284031215611777575f5ffd5b5051919050565b63ffffffff84168152606060208201525f61179c60608301856113a2565b828103604084015261140181856116d1565b5f5f6001600160401b038411156117c7576117c761145b565b50604051601f19601f85018116603f011681018181106001600160401b03821117156117f5576117f561145b565b60405283815290508082840185101561180c575f5ffd5b8383602083015e5f60208583010152509392505050565b5f60208284031215611833575f5ffd5b81516001600160401b03811115611848575f5ffd5b8201601f81018413611858575f5ffd5b610c39848251602084016117ae565b81516001600160401b038111156118805761188061145b565b6118948161188e84546114b1565b846114e9565b6020601f8211600181146118c6575f83156118af5750848201515b5f19600385901b1c1916600184901b178455610406565b5f84815260208120601f198516915b828110156118f557878501518255602094850194600190920191016118d5565b508482101561191257868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b60408152611933604082018551611385565b5f602085015160c08084015261194d6101008401826113a2565b90506040860151603f198483030160e085015261196a82826113a2565b91505082810360208401526114018185876116a956fea26469706673582212202b234f6cc1c77cb4cf135ab8e80bc0c30375aa29a81fe32676c349dfc700649e64736f6c634300081c0033"; type MockBlocklockStringReceiverConstructorParams = | [signer?: Signer] | ConstructorParameters<typeof ContractFactory>; const isSuperArgs = ( xs: MockBlocklockStringReceiverConstructorParams ): xs is ConstructorParameters<typeof ContractFactory> => xs.length > 1; export class MockBlocklockStringReceiver__factory extends ContractFactory { constructor(...args: MockBlocklockStringReceiverConstructorParams) { if (isSuperArgs(args)) { super(...args); } else { super(_abi, _bytecode, args[0]); } } override getDeployTransaction( blocklockContract: AddressLike, overrides?: NonPayableOverrides & { from?: string } ): Promise<ContractDeployTransaction> { return super.getDeployTransaction(blocklockContract, overrides || {}); } override deploy( blocklockContract: AddressLike, overrides?: NonPayableOverrides & { from?: string } ) { return super.deploy(blocklockContract, overrides || {}) as Promise< MockBlocklockStringReceiver & { deploymentTransaction(): ContractTransactionResponse; } >; } override connect( runner: ContractRunner | null ): MockBlocklockStringReceiver__factory { return super.connect(runner) as MockBlocklockStringReceiver__factory; } static readonly bytecode = _bytecode; static readonly abi = _abi; static createInterface(): MockBlocklockStringReceiverInterface { return new Interface(_abi) as MockBlocklockStringReceiverInterface; } static connect( address: string, runner?: ContractRunner | null ): MockBlocklockStringReceiver { return new Contract( address, _abi, runner ) as unknown as MockBlocklockStringReceiver; } }