UNPKG

blocklock-js

Version:

A library for encrypting and decrypting data for the future

569 lines (561 loc) 25.1 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 { MockBlocklockReceiver, MockBlocklockReceiverInterface, } from "../MockBlocklockReceiver"; 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: "cancelSubscription", inputs: [ { name: "to", type: "address", internalType: "address", }, ], outputs: [], stateMutability: "nonpayable", }, { 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: "uint256", internalType: "uint256", }, ], 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 = "0x608060405234801561000f575f5ffd5b50604051611ae4380380611ae483398101604081905261002e91610186565b8033805f816100845760405162461bcd60e51b815260206004820152601860248201527f43616e6e6f7420736574206f776e657220746f207a65726f000000000000000060448201526064015b60405180910390fd5b5f80546001600160a01b0319166001600160a01b03848116919091179091558116156100b3576100b3816100de565b5050600280546001600160a01b0319166001600160a01b039390931692909217909155506101b39050565b336001600160a01b038216036101365760405162461bcd60e51b815260206004820152601760248201527f43616e6e6f74207472616e7366657220746f2073656c66000000000000000000604482015260640161007b565b600180546001600160a01b0319166001600160a01b038381169182179092555f8054604051929316917fed8889f560326eb138920d842192f0eb3dd22b4f139c87a2c57538e05bae12789190a350565b5f60208284031215610196575f5ffd5b81516001600160a01b03811681146101ac575f5ffd5b9392505050565b611924806101c05f395ff3fe60806040526004361061011d575f3560e01c8063809800431161009d57806397a9c2851161006257806397a9c28514610321578063b8ca8dd814610336578063b96dbba714610355578063e64a66ea1461035d578063f2fde38b14610365575f5ffd5b8063809800431461027157806386e560be146102905780638da5cb5b146102b357806393b9740a146102e357806393d81d5814610302575f5ffd5b80634d3de353116100e35780634d3de353146101d85780634fa26d40146101eb57806359608fda1461020a5780635d9418021461023e57806379ba50971461025d575f5ffd5b80626d6cae1461016057806309c1ba2e1461018857806312065fe01461019d5780631d2b2afd146101af57806336bfffed146101b9575f5ffd5b3661015c57604080513381523460208201527f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f88525874910160405180910390a1005b5f5ffd5b34801561016b575f5ffd5b5061017560045481565b6040519081526020015b60405180910390f35b348015610193575f5ffd5b5061017560035481565b3480156101a8575f5ffd5b5047610175565b6101b7610384565b005b3480156101c4575f5ffd5b506101b76101d33660046111c2565b61042b565b6101756101e6366004611278565b610528565b3480156101f6575f5ffd5b506101b761020536600461131b565b61058b565b348015610215575f5ffd5b50610229610224366004611278565b610615565b6040805192835260208301919091520161017f565b348015610249575f5ffd5b506101b761025836600461133b565b610680565b348015610268575f5ffd5b506101b76106e5565b34801561027c575f5ffd5b506101b761028b366004611383565b61078e565b34801561029b575f5ffd5b506102a46107c8565b60405161017f9392919061140d565b3480156102be575f5ffd5b505f546001600160a01b03165b6040516001600160a01b03909116815260200161017f565b3480156102ee575f5ffd5b506002546102cb906001600160a01b031681565b34801561030d575f5ffd5b506101b761031c36600461131b565b610954565b34801561032c575f5ffd5b50610175600b5481565b348015610341575f5ffd5b506101b7610350366004611448565b610968565b6101b7610a3b565b6101b7610a82565b348015610370575f5ffd5b506101b761037f36600461131b565b610b01565b6003545f036103c85760405162461bcd60e51b815260206004820152600b60248201526a1cdd58881b9bdd081cd95d60aa1b60448201526064015b60405180910390fd5b60025460035460405163256d573f60e21b815260048101919091526001600160a01b03909116906395b55cfc9034906024015b5f604051808303818588803b158015610412575f5ffd5b505af1158015610424573d5f5f3e3d5ffd5b5050505050565b610433610b12565b6003545f036104745760405162461bcd60e51b815260206004820152600d60248201526c1cdd589251081b9bdd081cd95d609a1b60448201526064016103bf565b5f5b81811015610523576002546003546001600160a01b039091169063bec4c08c908585858181106104a8576104a8611472565b90506020020160208101906104bd919061131b565b6040516001600160e01b031960e085901b16815260048101929092526001600160a01b031660248201526044015f604051808303815f87803b158015610501575f5ffd5b505af1158015610513573d5f5f3e3d5ffd5b5050600190920191506104769050565b505050565b5f5f61056b8686868080601f0160208091040260200160405190810160405280939291908181526020018383808284375f92019190915250889250610b66915050565b6004819055905082600561057f8282611613565b50909695505050505050565b610593610b12565b6001600160a01b0381166105f35760405162461bcd60e51b815260206004820152602160248201527f43616e6e6f7420736574207a65726f20616464726573732061732073656e64656044820152603960f91b60648201526084016103bf565b600280546001600160a01b0319166001600160a01b0392909216919091179055565b5f5f5f5f61065a8888888080601f0160208091040260200160405190810160405280939291908181526020018383808284375f920191909152508a9250610be4915050565b600482905590925090508460056106718282611613565b50919890975095505050505050565b6002546001600160a01b031633146106da5760405162461bcd60e51b815260206004820181905260248201527f4f6e6c7920626c6f636b6c6f636b20636f6e74726163742063616e2063616c6c60448201526064016103bf565b610523838383610cda565b6001546001600160a01b031633146107385760405162461bcd60e51b815260206004820152601660248201527526bab9ba10313290383937b837b9b2b21037bbb732b960511b60448201526064016103bf565b5f8054336001600160a01b0319808316821784556001805490911690556040516001600160a01b0390921692909183917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a350565b610796610b12565b600381905560405181907f5f479ac993925efae23839aa1c813b6ecb2fe1bbd14dc78295ab267d2fca4368905f90a250565b604080516080810180835260059283918391820190839060029082845b8154815260200190600101908083116107e557505050918352505060408051808201918290526020909201919060028481019182845b81548152602001906001019080831161081b5750505050508152505090806004018054610847906114dd565b80601f0160208091040260200160405190810160405280929190818152602001828054610873906114dd565b80156108be5780601f10610895576101008083540402835291602001916108be565b820191905f5260205f20905b8154815290600101906020018083116108a157829003601f168201915b5050505050908060050180546108d3906114dd565b80601f01602080910402602001604051908101604052809291908181526020018280546108ff906114dd565b801561094a5780601f106109215761010080835404028352916020019161094a565b820191905f5260205f20905b81548152906001019060200180831161092d57829003601f168201915b5050505050905083565b61095c610b12565b61096581610ee2565b50565b610970610b12565b814710156109c05760405162461bcd60e51b815260206004820152601e60248201527f496e73756666696369656e742066756e647320696e20636f6e7472616374000060448201526064016103bf565b6040516001600160a01b0382169083156108fc029084905f818181858888f193505050501580156109f3573d5f5f3e3d5ffd5b50806001600160a01b03167f7084f5476618d8e60b11ef0d7d3f06914655adb8793e28ff7f018d4c76d505d583604051610a2f91815260200190565b60405180910390a25050565b610a43610b12565b610a4b610f7a565b600381905560025460405163256d573f60e21b815260048101929092526001600160a01b0316906395b55cfc9034906024016103fb565b5f3411610aca5760405162461bcd60e51b81526020600482015260166024820152750b2deea40daeae6e840e6cadcc840e6dedaca408aa8960531b60448201526064016103bf565b60405134815233907f5af8184bef8e4b45eb9f6ed7734d04da38ced226495548f46e0c8ff8d7d9a5249060200160405180910390a2565b610b09610b12565b610965816110a4565b5f546001600160a01b03163314610b645760405162461bcd60e51b815260206004820152601660248201527527b7363c9031b0b63630b1363290313c9037bbb732b960511b60448201526064016103bf565b565b6002546003546040516262b1d960e41b81525f926001600160a01b03169163062b1d9091610b9c91889188908890600401611754565b6020604051808303815f875af1158015610bb8573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bdc9190611795565b949350505050565b600254604051634b16093560e01b815263ffffffff851660048201525f9182916001600160a01b0390911690634b16093590602401602060405180830381865afa158015610c34573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c589190611795565b600254604051637909dc7b60e01b81529192506001600160a01b031690637909dc7b908390610c8f908990899089906004016117ac565b60206040518083038185885af1158015610cab573d5f5f3e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610cd09190611795565b9150935093915050565b8260045414610d215760405162461bcd60e51b815260206004820152601360248201527224b73b30b634b2103932b8bab2b9ba1034b21760691b60448201526064016103bf565b6040805160e08101909152610ec79060058160608101828160a084018260028282826020028201915b815481526020019060010190808311610d4a57505050918352505060408051808201918290526020909201919060028481019182845b815481526020019060010190808311610d80575050505050815250508152602001600482018054610db0906114dd565b80601f0160208091040260200160405190810160405280929190818152602001828054610ddc906114dd565b8015610e275780601f10610dfe57610100808354040283529160200191610e27565b820191905f5260205f20905b815481529060010190602001808311610e0a57829003601f168201915b50505050508152602001600582018054610e40906114dd565b80601f0160208091040260200160405190810160405280929190818152602001828054610e6c906114dd565b8015610eb75780601f10610e8e57610100808354040283529160200191610eb7565b820191905f5260205f20905b815481529060010190602001808311610e9a57829003601f168201915b505050505081525050838361114c565b806020019051810190610eda9190611795565b600b55505050565b6003545f03610f2c5760405162461bcd60e51b8152602060048201526016602482015275537562736372697074696f6e4964206973207a65726f60501b60448201526064016103bf565b600254600354604051622b825560e61b815260048101919091526001600160a01b03838116602483015290911690630ae09540906044015f604051808303815f87803b158015610412575f5ffd5b5f6003545f14610fcc5760405162461bcd60e51b815260206004820152601a60248201527f537562736372697074696f6e4964206973206e6f74207a65726f00000000000060448201526064016103bf565b60025f9054906101000a90046001600160a01b03166001600160a01b031663a21a23e46040518163ffffffff1660e01b81526004016020604051808303815f875af115801561101d573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110419190611795565b600254604051632fb1302360e21b8152600481018390523060248201529192506001600160a01b03169063bec4c08c906044015f604051808303815f87803b15801561108b575f5ffd5b505af115801561109d573d5f5f3e3d5ffd5b5050505090565b336001600160a01b038216036110fc5760405162461bcd60e51b815260206004820152601760248201527f43616e6e6f74207472616e7366657220746f2073656c6600000000000000000060448201526064016103bf565b600180546001600160a01b0319166001600160a01b038381169182179092555f8054604051929316917fed8889f560326eb138920d842192f0eb3dd22b4f139c87a2c57538e05bae12789190a350565b60025460405163326f063160e21b81526060916001600160a01b03169063c9bc18c490611181908790879087906004016117dc565b5f60405180830381865afa15801561119b573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610bdc919081019061183b565b5f5f602083850312156111d3575f5ffd5b823567ffffffffffffffff8111156111e9575f5ffd5b8301601f810185136111f9575f5ffd5b803567ffffffffffffffff81111561120f575f5ffd5b8560208260051b8401011115611223575f5ffd5b6020919091019590945092505050565b5f5f83601f840112611243575f5ffd5b50813567ffffffffffffffff81111561125a575f5ffd5b602083019150836020828501011115611271575f5ffd5b9250929050565b5f5f5f5f6060858703121561128b575f5ffd5b843563ffffffff8116811461129e575f5ffd5b9350602085013567ffffffffffffffff8111156112b9575f5ffd5b6112c587828801611233565b909450925050604085013567ffffffffffffffff8111156112e4575f5ffd5b850160c081880312156112f5575f5ffd5b939692955090935050565b80356001600160a01b0381168114611316575f5ffd5b919050565b5f6020828403121561132b575f5ffd5b61133482611300565b9392505050565b5f5f5f6040848603121561134d575f5ffd5b83359250602084013567ffffffffffffffff81111561136a575f5ffd5b61137686828701611233565b9497909650939450505050565b5f60208284031215611393575f5ffd5b5035919050565b805f5b60028110156113bc57815184526020938401939091019060010161139d565b50505050565b6113cd82825161139a565b6020810151610523604084018261139a565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b61141781856113c2565b60c060808201525f61142c60c08301856113df565b82810360a084015261143e81856113df565b9695505050505050565b5f5f60408385031215611459575f5ffd5b8235915061146960208401611300565b90509250929050565b634e487b7160e01b5f52603260045260245ffd5b634e487b7160e01b5f52604160045260245ffd5b5f5f8335601e198436030181126114af575f5ffd5b83018035915067ffffffffffffffff8211156114c9575f5ffd5b602001915036819003821315611271575f5ffd5b600181811c908216806114f157607f821691505b60208210810361150f57634e487b7160e01b5f52602260045260245ffd5b50919050565b601f82111561052357805f5260205f20601f840160051c8101602085101561153a5750805b601f840160051c820191505b81811015610424575f8155600101611546565b67ffffffffffffffff83111561157157611571611486565b6115858361157f83546114dd565b83611515565b5f601f8411600181146115b6575f851561159f5750838201355b5f19600387901b1c1916600186901b178355610424565b5f83815260208120601f198716915b828110156115e557868501358255602094850194600190920191016115c5565b5086821015611601575f1960f88860031b161c19848701351681555b505060018560011b0183555050505050565b815f5b600281101561163357813583820155602090910190600101611616565b5050604082015f5b600281101561165b5781358382016002015560209091019060010161163b565b505061166a608083018361149a565b611678818360048601611559565b505061168760a083018361149a565b6113bc818360058601611559565b5f5f8335601e198436030181126116aa575f5ffd5b830160208101925035905067ffffffffffffffff8111156116c9575f5ffd5b803603821315611271575f5ffd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b6040818337604080820160408401375f61171c6080830183611695565b60c0608086015261173160c0860182846116d7565b91505061174160a0840184611695565b85830360a087015261143e8382846116d7565b63ffffffff85168152836020820152608060408201525f61177860808301856113df565b828103606084015261178a81856116ff565b979650505050505050565b5f602082840312156117a5575f5ffd5b5051919050565b63ffffffff84168152606060208201525f6117ca60608301856113df565b828103604084015261143e81856116ff565b604081526117ee6040820185516113c2565b5f602085015160c0808401526118086101008401826113df565b90506040860151603f198483030160e085015261182582826113df565b915050828103602084015261143e8185876116d7565b5f6020828403121561184b575f5ffd5b815167ffffffffffffffff811115611861575f5ffd5b8201601f81018413611871575f5ffd5b805167ffffffffffffffff81111561188b5761188b611486565b604051601f8201601f19908116603f0116810167ffffffffffffffff811182821017156118ba576118ba611486565b6040528181528282016020018610156118d1575f5ffd5b8160208401602083015e5f9181016020019190915294935050505056fea2646970667358221220c3b44a1906b2ea323c1b7dd1b7b303f120420afb0c338072e3b98639f89bc6d564736f6c634300081c0033"; type MockBlocklockReceiverConstructorParams = | [signer?: Signer] | ConstructorParameters<typeof ContractFactory>; const isSuperArgs = ( xs: MockBlocklockReceiverConstructorParams ): xs is ConstructorParameters<typeof ContractFactory> => xs.length > 1; export class MockBlocklockReceiver__factory extends ContractFactory { constructor(...args: MockBlocklockReceiverConstructorParams) { 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< MockBlocklockReceiver & { deploymentTransaction(): ContractTransactionResponse; } >; } override connect( runner: ContractRunner | null ): MockBlocklockReceiver__factory { return super.connect(runner) as MockBlocklockReceiver__factory; } static readonly bytecode = _bytecode; static readonly abi = _abi; static createInterface(): MockBlocklockReceiverInterface { return new Interface(_abi) as MockBlocklockReceiverInterface; } static connect( address: string, runner?: ContractRunner | null ): MockBlocklockReceiver { return new Contract( address, _abi, runner ) as unknown as MockBlocklockReceiver; } }