UNPKG

@q-dev/gdk-sdk

Version:

Typescript Library to interact with GDK Contracts

515 lines (514 loc) 27.1 kB
import { Signer, ContractFactory, PayableOverrides } from "ethers"; import type { Provider, TransactionRequest } from "@ethersproject/providers"; import type { FactoryPaymaster, FactoryPaymasterInterface } from "../FactoryPaymaster"; type FactoryPaymasterConstructorParams = [signer?: Signer] | ConstructorParameters<typeof ContractFactory>; export declare class FactoryPaymaster__factory extends ContractFactory { constructor(...args: FactoryPaymasterConstructorParams); deploy(forwarder_: string, relayHub_: string, approvedContracts: string[], overrides?: PayableOverrides & { from?: string; }): Promise<FactoryPaymaster>; getDeployTransaction(forwarder_: string, relayHub_: string, approvedContracts: string[], overrides?: PayableOverrides & { from?: string; }): TransactionRequest; attach(address: string): FactoryPaymaster; connect(signer: Signer): FactoryPaymaster__factory; static readonly contractName: "FactoryPaymaster"; readonly contractName: "FactoryPaymaster"; static readonly bytecode = "0x6040608060405262000ef4803803806200001981620001b1565b92833981019160608284031262000196576200003582620001d7565b60209262000045848201620001d7565b93604082015160018060401b03928382116200019657019580601f88011215620001965786519283116200019b576005968360051b9083806200008a818501620001b1565b809781520192820101928311620001965783809101915b8383106200017b57505060008054336001600160a01b0319808316821784556001600160a01b039b93988c965093945092859290919083167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08a80a362000107620001ec565b168160025416176002556200011b620001ec565b60019889981690600154161760015584965b62000143575b604051610cae9081620002468239f35b8351871015620001755786811b84018301518216855260038352858520805460ff19168917905595870195876200012d565b62000133565b81906200018884620001d7565b8152019101908390620000a1565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6040519190601f01601f191682016001600160401b038111838210176200019b57604052565b51906001600160a01b03821682036200019657565b6000546001600160a01b031633036200020157565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fdfe60806040818152600491823610156100c0575b50361561001e57600080fd5b6001546001600160a01b031691821561007e57823b1561007957600090602483518095819363aa67c91960e01b8352309083015234905af190811561006f575061006457005b61006d9061099b565b005b513d6000823e3d90fd5b600080fd5b6020606492519162461bcd60e51b8352820152601960248201527f72656c6179206875622061646472657373206e6f7420736574000000000000006044820152fd5b600090813560e01c908162be5dd414610773575080632afe31c1146106da5780632d14c4b7146106595780635c5e3db11461063c5780636eedadca146105fd578063715018a6146105a057806374e861d61461057757806376fa01c3146104d15780637bb052641461048d5780637da0a877146104645780638da5cb5b1461043c578063921276ea146103f3578063a5dcd07b146103b1578063b039a88f14610336578063b90b41cf14610319578063bbdaa3c9146102fb578063da742228146102b7578063df463a6614610299578063f2fde38b146101c55763f9c002f7036100125790346101c157816003193601126101c15760209051620186a08152f35b5080fd5b50919034610295576020366003190112610295576001600160a01b03823581811693919290849003610291576101f9610c49565b831561023f575050600054826001600160601b0360a01b821617600055167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a380f35b906020608492519162461bcd60e51b8352820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152fd5b8480fd5b8280fd5b5090346101c157816003193601126101c15760209051620249f08152f35b5082346101c15760203660031901126101c157356001600160a01b038116908190036101c1576102e5610c49565b6001600160601b0360a01b600254161760025580f35b5090346101c157816003193601126101c157602090516201adb08152f35b5090346101c157816003193601126101c1576020905161c3508152f35b5090346101c157816003193601126101c15760809160608251610358816109af565b828152826020820152828482015201528051610373816109af565b620249f0918282526020820191620186a083526060828201916201adb083520192612904845282519485525160208501525190830152516060820152f35b5091903461029557600319906020368301126103ef5782359167ffffffffffffffff8311610291578236030112610295576103ec9101610a1e565b80f35b8380fd5b5090346101c157816003193601126101c157805161043891610414826109cb565b60058252640322e322e360dc1b602083015251918291602083526020830190610900565b0390f35b5090346101c157816003193601126101c157905490516001600160a01b039091168152602090f35b5090346101c157816003193601126101c15760025490516001600160a01b039091168152602090f35b5082346101c15760203660031901126101c157356001600160a01b038116908190036101c1576104bb610c49565b6001600160601b0360a01b600154161760015580f35b5091903461029557600319916080368401126103ef57803567ffffffffffffffff9182821161057357610506913691016108d2565b91909360243580151503610573576064359182116105735761010091360301126103ef578260209181010312610295577f347ac6d5b6b4913e5c9685433798a80ff99e7aed7f16d4977fd2522540264a5f9181602092519161056783610969565b3580925251908152a180f35b8580fd5b5090346101c157816003193601126101c15760015490516001600160a01b039091168152602090f35b50346105fa57806003193601126105fa576105b9610c49565b600080546001600160a01b0319811682556001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b80fd5b50913461029557602036600319011261029557356001600160a01b0381169081900361029557818360ff92602095526003855220541690519015158152f35b5090346101c157816003193601126101c157602090516129048152f35b50919034610295578060031936011261029557826024356001600160a01b03818116918290036102955761068b610c49565b6001541693843b15610295576044908385519687948593627b8a6760e11b855280359085015260248401525af19081156106d157506106c8575080f35b6103ec9061099b565b513d84823e3d90fd5b5091903461029557826003193601126102955760015481516370a0823160e01b81523093810193909352602090839060249082906001600160a01b03165afa918215610769578392610731575b6020838351908152f35b9091506020813d602011610761575b8161074d602093836109e7565b810103126102955760209250519038610727565b3d9150610740565b81513d85823e3d90fd5b83858492346103ef57600319906080368301126102915782359167ffffffffffffffff908184116108ce5785908486019436030112610573576024358181116108ce576107c390369086016108d2565b5050604435908111610573576107dc90369085016108d2565b5060209390506001600160a01b036107fe856107f88680610940565b01610955565b1686526003845260ff85872054161561088257505061081c90610a1e565b81519261082884610969565b4284527f48d8895789166937e41d97d9121a92a5c7281f84a91d069bc3f600f075b01f72828451428152a18251935182850152818452610867846109cb565b61087a8351948486958652850190610900565b918301520390f35b62461bcd60e51b825281018390526024808201527f5b5147444b2d3032333030305d2d4e6f7420617070726f76656420636f6e747260448201526330b1ba1760e11b6064820152608490fd5b8680fd5b9181601f840112156100795782359167ffffffffffffffff8311610079576020838186019501011161007957565b919082519283825260005b84811061092c575050826000602080949584010152601f8019910116010190565b60208183018101518483018201520161090b565b90359060de1981360301821215610079570190565b356001600160a01b03811681036100795790565b6020810190811067ffffffffffffffff82111761098557604052565b634e487b7160e01b600052604160045260246000fd5b67ffffffffffffffff811161098557604052565b6080810190811067ffffffffffffffff82111761098557604052565b6040810190811067ffffffffffffffff82111761098557604052565b90601f8019910116810190811067ffffffffffffffff82111761098557604052565b90359060fe1981360301821215610079570190565b600254602091906001600160a01b039083830190821682610a4460a06107f88588610a09565b1603610c045760a06107f8610a6792610a61876107f88880610940565b95610a09565b916040918251908582019063572b6c0560e01b82526024951685830152848252606082019167ffffffffffffffff9281811084821117610bef5785526000938492839251915afa3d15610be6573d918211610bd357835191610ad2601f8201601f19168801846109e7565b82523d838784013e5b15610b905784815103610b4f5784818051810103126101c157840151908115918215036105fa5750610b0c57505050565b5162461bcd60e51b81526004810192909252601f908201527f696e76616c696420666f7277617264657220666f7220726563697069656e74006044820152606490fd5b6064848685519162461bcd60e51b83528160048401528201527f697354727573746564466f727761726465723a2062616420726573706f6e73656044820152fd5b825162461bcd60e51b815260048101869052601c818601527f697354727573746564466f727761726465723a207265766572746564000000006044820152606490fd5b634e487b7160e01b835260416004528483fd5b60609150610adb565b86634e487b7160e01b60005260416004526000fd5b60405162461bcd60e51b815260048101859052601860248201527f466f72776172646572206973206e6f74207472757374656400000000000000006044820152606490fd5b6000546001600160a01b03163303610c5d57565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fdfea164736f6c6343000818000a"; static readonly abi: readonly [{ readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "forwarder_"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "relayHub_"; readonly type: "address"; }, { readonly internalType: "address[]"; readonly name: "approvedContracts"; readonly type: "address[]"; }]; readonly stateMutability: "payable"; readonly type: "constructor"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: true; readonly internalType: "address"; readonly name: "previousOwner"; readonly type: "address"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "newOwner"; readonly type: "address"; }]; readonly name: "OwnershipTransferred"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly components: readonly [{ readonly internalType: "uint256"; readonly name: "timestamp"; readonly type: "uint256"; }]; readonly indexed: false; readonly internalType: "struct ContextInfo"; readonly name: ""; readonly type: "tuple"; }]; readonly name: "PostRelayed"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly components: readonly [{ readonly internalType: "uint256"; readonly name: "timestamp"; readonly type: "uint256"; }]; readonly indexed: false; readonly internalType: "struct ContextInfo"; readonly name: ""; readonly type: "tuple"; }]; readonly name: "PreRelayed"; readonly type: "event"; }, { readonly inputs: readonly []; readonly name: "CALLDATA_SIZE_LIMIT"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "FORWARDER_HUB_OVERHEAD"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "PAYMASTER_ACCEPTANCE_BUDGET"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "POST_RELAYED_CALL_GAS_LIMIT"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "PRE_RELAYED_CALL_GAS_LIMIT"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly components: readonly [{ readonly components: readonly [{ readonly internalType: "address"; readonly name: "from"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "to"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "value"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "gas"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "nonce"; readonly type: "uint256"; }, { readonly internalType: "bytes"; readonly name: "data"; readonly type: "bytes"; }, { readonly internalType: "uint256"; readonly name: "validUntil"; readonly type: "uint256"; }]; readonly internalType: "struct IForwarder.ForwardRequest"; readonly name: "request"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "uint256"; readonly name: "gasPrice"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "pctRelayFee"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "baseRelayFee"; readonly type: "uint256"; }, { readonly internalType: "address"; readonly name: "relayWorker"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "paymaster"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "forwarder"; readonly type: "address"; }, { readonly internalType: "bytes"; readonly name: "paymasterData"; readonly type: "bytes"; }, { readonly internalType: "uint256"; readonly name: "clientId"; readonly type: "uint256"; }]; readonly internalType: "struct GsnTypes.RelayData"; readonly name: "relayData"; readonly type: "tuple"; }]; readonly internalType: "struct GsnTypes.RelayRequest"; readonly name: "relayRequest"; readonly type: "tuple"; }]; readonly name: "_verifyForwarder"; readonly outputs: readonly []; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "getGasAndDataLimits"; readonly outputs: readonly [{ readonly components: readonly [{ readonly internalType: "uint256"; readonly name: "acceptanceBudget"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "preRelayedCallGasLimit"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "postRelayedCallGasLimit"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "calldataSizeLimit"; readonly type: "uint256"; }]; readonly internalType: "struct IPaymaster.GasAndDataLimits"; readonly name: "limits"; readonly type: "tuple"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "getHubAddr"; readonly outputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "getRelayHubDeposit"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly name: "isApprovedContract"; readonly outputs: readonly [{ readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "owner"; readonly outputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "bytes"; readonly name: "context_"; readonly type: "bytes"; }, { readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; }, { readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }, { readonly components: readonly [{ readonly internalType: "uint256"; readonly name: "gasPrice"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "pctRelayFee"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "baseRelayFee"; readonly type: "uint256"; }, { readonly internalType: "address"; readonly name: "relayWorker"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "paymaster"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "forwarder"; readonly type: "address"; }, { readonly internalType: "bytes"; readonly name: "paymasterData"; readonly type: "bytes"; }, { readonly internalType: "uint256"; readonly name: "clientId"; readonly type: "uint256"; }]; readonly internalType: "struct GsnTypes.RelayData"; readonly name: ""; readonly type: "tuple"; }]; readonly name: "postRelayedCall"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly components: readonly [{ readonly components: readonly [{ readonly internalType: "address"; readonly name: "from"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "to"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "value"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "gas"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "nonce"; readonly type: "uint256"; }, { readonly internalType: "bytes"; readonly name: "data"; readonly type: "bytes"; }, { readonly internalType: "uint256"; readonly name: "validUntil"; readonly type: "uint256"; }]; readonly internalType: "struct IForwarder.ForwardRequest"; readonly name: "request"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "uint256"; readonly name: "gasPrice"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "pctRelayFee"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "baseRelayFee"; readonly type: "uint256"; }, { readonly internalType: "address"; readonly name: "relayWorker"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "paymaster"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "forwarder"; readonly type: "address"; }, { readonly internalType: "bytes"; readonly name: "paymasterData"; readonly type: "bytes"; }, { readonly internalType: "uint256"; readonly name: "clientId"; readonly type: "uint256"; }]; readonly internalType: "struct GsnTypes.RelayData"; readonly name: "relayData"; readonly type: "tuple"; }]; readonly internalType: "struct GsnTypes.RelayRequest"; readonly name: "relayRequest_"; readonly type: "tuple"; }, { readonly internalType: "bytes"; readonly name: ""; readonly type: "bytes"; }, { readonly internalType: "bytes"; readonly name: ""; readonly type: "bytes"; }, { readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly name: "preRelayedCall"; readonly outputs: readonly [{ readonly internalType: "bytes"; readonly name: "context"; readonly type: "bytes"; }, { readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; }]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "renounceOwnership"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "contract IRelayHub"; readonly name: "hub"; readonly type: "address"; }]; readonly name: "setRelayHub"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "forwarder"; readonly type: "address"; }]; readonly name: "setTrustedForwarder"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "newOwner"; readonly type: "address"; }]; readonly name: "transferOwnership"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "trustedForwarder"; readonly outputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "versionPaymaster"; readonly outputs: readonly [{ readonly internalType: "string"; readonly name: ""; readonly type: "string"; }]; readonly stateMutability: "pure"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "amount"; readonly type: "uint256"; }, { readonly internalType: "address payable"; readonly name: "target"; readonly type: "address"; }]; readonly name: "withdrawRelayHubDepositTo"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly stateMutability: "payable"; readonly type: "receive"; }]; static createInterface(): FactoryPaymasterInterface; static connect(address: string, signerOrProvider: Signer | Provider): FactoryPaymaster; } export {};