@q-dev/gdk-sdk
Version:
Typescript Library to interact with GDK Contracts
648 lines (647 loc) • 29.9 kB
JSON
{
"_format": "hh-sol-artifact-1",
"contractName": "FactoryPaymaster",
"sourceName": "contracts/GSN/FactoryPaymaster.sol",
"abi": [
{
"inputs": [
{
"internalType": "address",
"name": "forwarder_",
"type": "address"
},
{
"internalType": "address",
"name": "relayHub_",
"type": "address"
},
{
"internalType": "address[]",
"name": "approvedContracts",
"type": "address[]"
}
],
"stateMutability": "payable",
"type": "constructor"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "previousOwner",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "newOwner",
"type": "address"
}
],
"name": "OwnershipTransferred",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"components": [
{
"internalType": "uint256",
"name": "timestamp",
"type": "uint256"
}
],
"indexed": false,
"internalType": "struct ContextInfo",
"name": "",
"type": "tuple"
}
],
"name": "PostRelayed",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"components": [
{
"internalType": "uint256",
"name": "timestamp",
"type": "uint256"
}
],
"indexed": false,
"internalType": "struct ContextInfo",
"name": "",
"type": "tuple"
}
],
"name": "PreRelayed",
"type": "event"
},
{
"inputs": [],
"name": "CALLDATA_SIZE_LIMIT",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "FORWARDER_HUB_OVERHEAD",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "PAYMASTER_ACCEPTANCE_BUDGET",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "POST_RELAYED_CALL_GAS_LIMIT",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "PRE_RELAYED_CALL_GAS_LIMIT",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"components": [
{
"components": [
{
"internalType": "address",
"name": "from",
"type": "address"
},
{
"internalType": "address",
"name": "to",
"type": "address"
},
{
"internalType": "uint256",
"name": "value",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "gas",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "nonce",
"type": "uint256"
},
{
"internalType": "bytes",
"name": "data",
"type": "bytes"
},
{
"internalType": "uint256",
"name": "validUntil",
"type": "uint256"
}
],
"internalType": "struct IForwarder.ForwardRequest",
"name": "request",
"type": "tuple"
},
{
"components": [
{
"internalType": "uint256",
"name": "gasPrice",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "pctRelayFee",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "baseRelayFee",
"type": "uint256"
},
{
"internalType": "address",
"name": "relayWorker",
"type": "address"
},
{
"internalType": "address",
"name": "paymaster",
"type": "address"
},
{
"internalType": "address",
"name": "forwarder",
"type": "address"
},
{
"internalType": "bytes",
"name": "paymasterData",
"type": "bytes"
},
{
"internalType": "uint256",
"name": "clientId",
"type": "uint256"
}
],
"internalType": "struct GsnTypes.RelayData",
"name": "relayData",
"type": "tuple"
}
],
"internalType": "struct GsnTypes.RelayRequest",
"name": "relayRequest",
"type": "tuple"
}
],
"name": "_verifyForwarder",
"outputs": [],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "getGasAndDataLimits",
"outputs": [
{
"components": [
{
"internalType": "uint256",
"name": "acceptanceBudget",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "preRelayedCallGasLimit",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "postRelayedCallGasLimit",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "calldataSizeLimit",
"type": "uint256"
}
],
"internalType": "struct IPaymaster.GasAndDataLimits",
"name": "limits",
"type": "tuple"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "getHubAddr",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "getRelayHubDeposit",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"name": "isApprovedContract",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "owner",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes",
"name": "context_",
"type": "bytes"
},
{
"internalType": "bool",
"name": "",
"type": "bool"
},
{
"internalType": "uint256",
"name": "",
"type": "uint256"
},
{
"components": [
{
"internalType": "uint256",
"name": "gasPrice",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "pctRelayFee",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "baseRelayFee",
"type": "uint256"
},
{
"internalType": "address",
"name": "relayWorker",
"type": "address"
},
{
"internalType": "address",
"name": "paymaster",
"type": "address"
},
{
"internalType": "address",
"name": "forwarder",
"type": "address"
},
{
"internalType": "bytes",
"name": "paymasterData",
"type": "bytes"
},
{
"internalType": "uint256",
"name": "clientId",
"type": "uint256"
}
],
"internalType": "struct GsnTypes.RelayData",
"name": "",
"type": "tuple"
}
],
"name": "postRelayedCall",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"components": [
{
"components": [
{
"internalType": "address",
"name": "from",
"type": "address"
},
{
"internalType": "address",
"name": "to",
"type": "address"
},
{
"internalType": "uint256",
"name": "value",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "gas",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "nonce",
"type": "uint256"
},
{
"internalType": "bytes",
"name": "data",
"type": "bytes"
},
{
"internalType": "uint256",
"name": "validUntil",
"type": "uint256"
}
],
"internalType": "struct IForwarder.ForwardRequest",
"name": "request",
"type": "tuple"
},
{
"components": [
{
"internalType": "uint256",
"name": "gasPrice",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "pctRelayFee",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "baseRelayFee",
"type": "uint256"
},
{
"internalType": "address",
"name": "relayWorker",
"type": "address"
},
{
"internalType": "address",
"name": "paymaster",
"type": "address"
},
{
"internalType": "address",
"name": "forwarder",
"type": "address"
},
{
"internalType": "bytes",
"name": "paymasterData",
"type": "bytes"
},
{
"internalType": "uint256",
"name": "clientId",
"type": "uint256"
}
],
"internalType": "struct GsnTypes.RelayData",
"name": "relayData",
"type": "tuple"
}
],
"internalType": "struct GsnTypes.RelayRequest",
"name": "relayRequest_",
"type": "tuple"
},
{
"internalType": "bytes",
"name": "",
"type": "bytes"
},
{
"internalType": "bytes",
"name": "",
"type": "bytes"
},
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"name": "preRelayedCall",
"outputs": [
{
"internalType": "bytes",
"name": "context",
"type": "bytes"
},
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "renounceOwnership",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "contract IRelayHub",
"name": "hub",
"type": "address"
}
],
"name": "setRelayHub",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "forwarder",
"type": "address"
}
],
"name": "setTrustedForwarder",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "newOwner",
"type": "address"
}
],
"name": "transferOwnership",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "trustedForwarder",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "versionPaymaster",
"outputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
],
"stateMutability": "pure",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
},
{
"internalType": "address payable",
"name": "target",
"type": "address"
}
],
"name": "withdrawRelayHubDepositTo",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"stateMutability": "payable",
"type": "receive"
}
],
"bytecode": "0x6040608060405262000ef4803803806200001981620001b1565b92833981019160608284031262000196576200003582620001d7565b60209262000045848201620001d7565b93604082015160018060401b03928382116200019657019580601f88011215620001965786519283116200019b576005968360051b9083806200008a818501620001b1565b809781520192820101928311620001965783809101915b8383106200017b57505060008054336001600160a01b0319808316821784556001600160a01b039b93988c965093945092859290919083167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08a80a362000107620001ec565b168160025416176002556200011b620001ec565b60019889981690600154161760015584965b62000143575b604051610cae9081620002468239f35b8351871015620001755786811b84018301518216855260038352858520805460ff19168917905595870195876200012d565b62000133565b81906200018884620001d7565b8152019101908390620000a1565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6040519190601f01601f191682016001600160401b038111838210176200019b57604052565b51906001600160a01b03821682036200019657565b6000546001600160a01b031633036200020157565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fdfe60806040818152600491823610156100c0575b50361561001e57600080fd5b6001546001600160a01b031691821561007e57823b1561007957600090602483518095819363aa67c91960e01b8352309083015234905af190811561006f575061006457005b61006d9061099b565b005b513d6000823e3d90fd5b600080fd5b6020606492519162461bcd60e51b8352820152601960248201527f72656c6179206875622061646472657373206e6f7420736574000000000000006044820152fd5b600090813560e01c908162be5dd414610773575080632afe31c1146106da5780632d14c4b7146106595780635c5e3db11461063c5780636eedadca146105fd578063715018a6146105a057806374e861d61461057757806376fa01c3146104d15780637bb052641461048d5780637da0a877146104645780638da5cb5b1461043c578063921276ea146103f3578063a5dcd07b146103b1578063b039a88f14610336578063b90b41cf14610319578063bbdaa3c9146102fb578063da742228146102b7578063df463a6614610299578063f2fde38b146101c55763f9c002f7036100125790346101c157816003193601126101c15760209051620186a08152f35b5080fd5b50919034610295576020366003190112610295576001600160a01b03823581811693919290849003610291576101f9610c49565b831561023f575050600054826001600160601b0360a01b821617600055167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a380f35b906020608492519162461bcd60e51b8352820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152fd5b8480fd5b8280fd5b5090346101c157816003193601126101c15760209051620249f08152f35b5082346101c15760203660031901126101c157356001600160a01b038116908190036101c1576102e5610c49565b6001600160601b0360a01b600254161760025580f35b5090346101c157816003193601126101c157602090516201adb08152f35b5090346101c157816003193601126101c1576020905161c3508152f35b5090346101c157816003193601126101c15760809160608251610358816109af565b828152826020820152828482015201528051610373816109af565b620249f0918282526020820191620186a083526060828201916201adb083520192612904845282519485525160208501525190830152516060820152f35b5091903461029557600319906020368301126103ef5782359167ffffffffffffffff8311610291578236030112610295576103ec9101610a1e565b80f35b8380fd5b5090346101c157816003193601126101c157805161043891610414826109cb565b60058252640322e322e360dc1b602083015251918291602083526020830190610900565b0390f35b5090346101c157816003193601126101c157905490516001600160a01b039091168152602090f35b5090346101c157816003193601126101c15760025490516001600160a01b039091168152602090f35b5082346101c15760203660031901126101c157356001600160a01b038116908190036101c1576104bb610c49565b6001600160601b0360a01b600154161760015580f35b5091903461029557600319916080368401126103ef57803567ffffffffffffffff9182821161057357610506913691016108d2565b91909360243580151503610573576064359182116105735761010091360301126103ef578260209181010312610295577f347ac6d5b6b4913e5c9685433798a80ff99e7aed7f16d4977fd2522540264a5f9181602092519161056783610969565b3580925251908152a180f35b8580fd5b5090346101c157816003193601126101c15760015490516001600160a01b039091168152602090f35b50346105fa57806003193601126105fa576105b9610c49565b600080546001600160a01b0319811682556001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b80fd5b50913461029557602036600319011261029557356001600160a01b0381169081900361029557818360ff92602095526003855220541690519015158152f35b5090346101c157816003193601126101c157602090516129048152f35b50919034610295578060031936011261029557826024356001600160a01b03818116918290036102955761068b610c49565b6001541693843b15610295576044908385519687948593627b8a6760e11b855280359085015260248401525af19081156106d157506106c8575080f35b6103ec9061099b565b513d84823e3d90fd5b5091903461029557826003193601126102955760015481516370a0823160e01b81523093810193909352602090839060249082906001600160a01b03165afa918215610769578392610731575b6020838351908152f35b9091506020813d602011610761575b8161074d602093836109e7565b810103126102955760209250519038610727565b3d9150610740565b81513d85823e3d90fd5b83858492346103ef57600319906080368301126102915782359167ffffffffffffffff908184116108ce5785908486019436030112610573576024358181116108ce576107c390369086016108d2565b5050604435908111610573576107dc90369085016108d2565b5060209390506001600160a01b036107fe856107f88680610940565b01610955565b1686526003845260ff85872054161561088257505061081c90610a1e565b81519261082884610969565b4284527f48d8895789166937e41d97d9121a92a5c7281f84a91d069bc3f600f075b01f72828451428152a18251935182850152818452610867846109cb565b61087a8351948486958652850190610900565b918301520390f35b62461bcd60e51b825281018390526024808201527f5b5147444b2d3032333030305d2d4e6f7420617070726f76656420636f6e747260448201526330b1ba1760e11b6064820152608490fd5b8680fd5b9181601f840112156100795782359167ffffffffffffffff8311610079576020838186019501011161007957565b919082519283825260005b84811061092c575050826000602080949584010152601f8019910116010190565b60208183018101518483018201520161090b565b90359060de1981360301821215610079570190565b356001600160a01b03811681036100795790565b6020810190811067ffffffffffffffff82111761098557604052565b634e487b7160e01b600052604160045260246000fd5b67ffffffffffffffff811161098557604052565b6080810190811067ffffffffffffffff82111761098557604052565b6040810190811067ffffffffffffffff82111761098557604052565b90601f8019910116810190811067ffffffffffffffff82111761098557604052565b90359060fe1981360301821215610079570190565b600254602091906001600160a01b039083830190821682610a4460a06107f88588610a09565b1603610c045760a06107f8610a6792610a61876107f88880610940565b95610a09565b916040918251908582019063572b6c0560e01b82526024951685830152848252606082019167ffffffffffffffff9281811084821117610bef5785526000938492839251915afa3d15610be6573d918211610bd357835191610ad2601f8201601f19168801846109e7565b82523d838784013e5b15610b905784815103610b4f5784818051810103126101c157840151908115918215036105fa5750610b0c57505050565b5162461bcd60e51b81526004810192909252601f908201527f696e76616c696420666f7277617264657220666f7220726563697069656e74006044820152606490fd5b6064848685519162461bcd60e51b83528160048401528201527f697354727573746564466f727761726465723a2062616420726573706f6e73656044820152fd5b825162461bcd60e51b815260048101869052601c818601527f697354727573746564466f727761726465723a207265766572746564000000006044820152606490fd5b634e487b7160e01b835260416004528483fd5b60609150610adb565b86634e487b7160e01b60005260416004526000fd5b60405162461bcd60e51b815260048101859052601860248201527f466f72776172646572206973206e6f74207472757374656400000000000000006044820152606490fd5b6000546001600160a01b03163303610c5d57565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fdfea164736f6c6343000818000a",
"deployedBytecode": "0x60806040818152600491823610156100c0575b50361561001e57600080fd5b6001546001600160a01b031691821561007e57823b1561007957600090602483518095819363aa67c91960e01b8352309083015234905af190811561006f575061006457005b61006d9061099b565b005b513d6000823e3d90fd5b600080fd5b6020606492519162461bcd60e51b8352820152601960248201527f72656c6179206875622061646472657373206e6f7420736574000000000000006044820152fd5b600090813560e01c908162be5dd414610773575080632afe31c1146106da5780632d14c4b7146106595780635c5e3db11461063c5780636eedadca146105fd578063715018a6146105a057806374e861d61461057757806376fa01c3146104d15780637bb052641461048d5780637da0a877146104645780638da5cb5b1461043c578063921276ea146103f3578063a5dcd07b146103b1578063b039a88f14610336578063b90b41cf14610319578063bbdaa3c9146102fb578063da742228146102b7578063df463a6614610299578063f2fde38b146101c55763f9c002f7036100125790346101c157816003193601126101c15760209051620186a08152f35b5080fd5b50919034610295576020366003190112610295576001600160a01b03823581811693919290849003610291576101f9610c49565b831561023f575050600054826001600160601b0360a01b821617600055167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a380f35b906020608492519162461bcd60e51b8352820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152fd5b8480fd5b8280fd5b5090346101c157816003193601126101c15760209051620249f08152f35b5082346101c15760203660031901126101c157356001600160a01b038116908190036101c1576102e5610c49565b6001600160601b0360a01b600254161760025580f35b5090346101c157816003193601126101c157602090516201adb08152f35b5090346101c157816003193601126101c1576020905161c3508152f35b5090346101c157816003193601126101c15760809160608251610358816109af565b828152826020820152828482015201528051610373816109af565b620249f0918282526020820191620186a083526060828201916201adb083520192612904845282519485525160208501525190830152516060820152f35b5091903461029557600319906020368301126103ef5782359167ffffffffffffffff8311610291578236030112610295576103ec9101610a1e565b80f35b8380fd5b5090346101c157816003193601126101c157805161043891610414826109cb565b60058252640322e322e360dc1b602083015251918291602083526020830190610900565b0390f35b5090346101c157816003193601126101c157905490516001600160a01b039091168152602090f35b5090346101c157816003193601126101c15760025490516001600160a01b039091168152602090f35b5082346101c15760203660031901126101c157356001600160a01b038116908190036101c1576104bb610c49565b6001600160601b0360a01b600154161760015580f35b5091903461029557600319916080368401126103ef57803567ffffffffffffffff9182821161057357610506913691016108d2565b91909360243580151503610573576064359182116105735761010091360301126103ef578260209181010312610295577f347ac6d5b6b4913e5c9685433798a80ff99e7aed7f16d4977fd2522540264a5f9181602092519161056783610969565b3580925251908152a180f35b8580fd5b5090346101c157816003193601126101c15760015490516001600160a01b039091168152602090f35b50346105fa57806003193601126105fa576105b9610c49565b600080546001600160a01b0319811682556001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b80fd5b50913461029557602036600319011261029557356001600160a01b0381169081900361029557818360ff92602095526003855220541690519015158152f35b5090346101c157816003193601126101c157602090516129048152f35b50919034610295578060031936011261029557826024356001600160a01b03818116918290036102955761068b610c49565b6001541693843b15610295576044908385519687948593627b8a6760e11b855280359085015260248401525af19081156106d157506106c8575080f35b6103ec9061099b565b513d84823e3d90fd5b5091903461029557826003193601126102955760015481516370a0823160e01b81523093810193909352602090839060249082906001600160a01b03165afa918215610769578392610731575b6020838351908152f35b9091506020813d602011610761575b8161074d602093836109e7565b810103126102955760209250519038610727565b3d9150610740565b81513d85823e3d90fd5b83858492346103ef57600319906080368301126102915782359167ffffffffffffffff908184116108ce5785908486019436030112610573576024358181116108ce576107c390369086016108d2565b5050604435908111610573576107dc90369085016108d2565b5060209390506001600160a01b036107fe856107f88680610940565b01610955565b1686526003845260ff85872054161561088257505061081c90610a1e565b81519261082884610969565b4284527f48d8895789166937e41d97d9121a92a5c7281f84a91d069bc3f600f075b01f72828451428152a18251935182850152818452610867846109cb565b61087a8351948486958652850190610900565b918301520390f35b62461bcd60e51b825281018390526024808201527f5b5147444b2d3032333030305d2d4e6f7420617070726f76656420636f6e747260448201526330b1ba1760e11b6064820152608490fd5b8680fd5b9181601f840112156100795782359167ffffffffffffffff8311610079576020838186019501011161007957565b919082519283825260005b84811061092c575050826000602080949584010152601f8019910116010190565b60208183018101518483018201520161090b565b90359060de1981360301821215610079570190565b356001600160a01b03811681036100795790565b6020810190811067ffffffffffffffff82111761098557604052565b634e487b7160e01b600052604160045260246000fd5b67ffffffffffffffff811161098557604052565b6080810190811067ffffffffffffffff82111761098557604052565b6040810190811067ffffffffffffffff82111761098557604052565b90601f8019910116810190811067ffffffffffffffff82111761098557604052565b90359060fe1981360301821215610079570190565b600254602091906001600160a01b039083830190821682610a4460a06107f88588610a09565b1603610c045760a06107f8610a6792610a61876107f88880610940565b95610a09565b916040918251908582019063572b6c0560e01b82526024951685830152848252606082019167ffffffffffffffff9281811084821117610bef5785526000938492839251915afa3d15610be6573d918211610bd357835191610ad2601f8201601f19168801846109e7565b82523d838784013e5b15610b905784815103610b4f5784818051810103126101c157840151908115918215036105fa5750610b0c57505050565b5162461bcd60e51b81526004810192909252601f908201527f696e76616c696420666f7277617264657220666f7220726563697069656e74006044820152606490fd5b6064848685519162461bcd60e51b83528160048401528201527f697354727573746564466f727761726465723a2062616420726573706f6e73656044820152fd5b825162461bcd60e51b815260048101869052601c818601527f697354727573746564466f727761726465723a207265766572746564000000006044820152606490fd5b634e487b7160e01b835260416004528483fd5b60609150610adb565b86634e487b7160e01b60005260416004526000fd5b60405162461bcd60e51b815260048101859052601860248201527f466f72776172646572206973206e6f74207472757374656400000000000000006044820152606490fd5b6000546001600160a01b03163303610c5d57565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fdfea164736f6c6343000818000a",
"linkReferences": {},
"deployedLinkReferences": {}
}