@funkit/core 0.9.0 → 0.10.0

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.
Files changed (205) hide show
  1. package/dist/fetch-polyfill.js.map +1 -1
  2. package/dist/index.d.ts +12 -12
  3. package/dist/src/abis/CheckoutPaymaster.json +1 -0
  4. package/dist/src/actions/AccessControl.d.ts +6 -6
  5. package/dist/src/actions/AccessControl.js +19 -15
  6. package/dist/src/actions/AccessControl.js.map +1 -1
  7. package/dist/src/actions/BatchActions.d.ts +2 -2
  8. package/dist/src/actions/BatchActions.js +2 -2
  9. package/dist/src/actions/BatchActions.js.map +1 -1
  10. package/dist/src/actions/Bridge.d.ts +4 -4
  11. package/dist/src/actions/Bridge.js +10 -6
  12. package/dist/src/actions/Bridge.js.map +1 -1
  13. package/dist/src/actions/FirstClassActions.d.ts +6 -6
  14. package/dist/src/actions/FirstClassActions.js +25 -23
  15. package/dist/src/actions/FirstClassActions.js.map +1 -1
  16. package/dist/src/actions/Group.d.ts +3 -3
  17. package/dist/src/actions/Group.js +6 -14
  18. package/dist/src/actions/Group.js.map +1 -1
  19. package/dist/src/actions/LimitOrder.d.ts +3 -3
  20. package/dist/src/actions/LimitOrder.js +16 -13
  21. package/dist/src/actions/LimitOrder.js.map +1 -1
  22. package/dist/src/actions/Stake.d.ts +3 -3
  23. package/dist/src/actions/Stake.js +31 -44
  24. package/dist/src/actions/Stake.js.map +1 -1
  25. package/dist/src/actions/Swap.d.ts +4 -4
  26. package/dist/src/actions/Swap.js +37 -35
  27. package/dist/src/actions/Swap.js.map +1 -1
  28. package/dist/src/actions/Token.d.ts +3 -3
  29. package/dist/src/actions/Token.js +33 -23
  30. package/dist/src/actions/Token.js.map +1 -1
  31. package/dist/src/actions/index.d.ts +7 -7
  32. package/dist/src/actions/types.d.ts +4 -4
  33. package/dist/src/actions/types.js +2 -2
  34. package/dist/src/actions/types.js.map +1 -1
  35. package/dist/src/apis/AccessControlApis.d.ts +1 -1
  36. package/dist/src/apis/AccessControlApis.js +7 -3
  37. package/dist/src/apis/AccessControlApis.js.map +1 -1
  38. package/dist/src/apis/AssetApis.d.ts +10 -0
  39. package/dist/src/apis/AssetApis.js +11 -1
  40. package/dist/src/apis/AssetApis.js.map +1 -1
  41. package/dist/src/apis/BridgeApis.d.ts +1 -1
  42. package/dist/src/apis/BridgeApis.js +13 -13
  43. package/dist/src/apis/BridgeApis.js.map +1 -1
  44. package/dist/src/apis/CheckoutApis.d.ts +43 -0
  45. package/dist/src/apis/CheckoutApis.js +116 -0
  46. package/dist/src/apis/CheckoutApis.js.map +1 -0
  47. package/dist/src/apis/ContractApis.js +1 -1
  48. package/dist/src/apis/ContractApis.js.map +1 -1
  49. package/dist/src/apis/FaucetApis.js.map +1 -1
  50. package/dist/src/apis/GroupApis.d.ts +2 -2
  51. package/dist/src/apis/GroupApis.js +3 -3
  52. package/dist/src/apis/GroupApis.js.map +1 -1
  53. package/dist/src/apis/InfoApis.d.ts +1 -1
  54. package/dist/src/apis/InfoApis.js +9 -7
  55. package/dist/src/apis/InfoApis.js.map +1 -1
  56. package/dist/src/apis/ListenerApis.d.ts +1 -1
  57. package/dist/src/apis/ListenerApis.js +6 -6
  58. package/dist/src/apis/ListenerApis.js.map +1 -1
  59. package/dist/src/apis/MeshApis.d.ts +87 -0
  60. package/dist/src/apis/MeshApis.js +213 -0
  61. package/dist/src/apis/MeshApis.js.map +1 -0
  62. package/dist/src/apis/NFTApis.js.map +1 -1
  63. package/dist/src/apis/OnOffRampApis.d.ts +2 -0
  64. package/dist/src/apis/OnOffRampApis.js +24 -5
  65. package/dist/src/apis/OnOffRampApis.js.map +1 -1
  66. package/dist/src/apis/OnOffRampUtils.js +2 -2
  67. package/dist/src/apis/OnOffRampUtils.js.map +1 -1
  68. package/dist/src/apis/OperationApis.d.ts +4 -4
  69. package/dist/src/apis/OperationApis.js +21 -12
  70. package/dist/src/apis/OperationApis.js.map +1 -1
  71. package/dist/src/apis/PaymasterApis.d.ts +1 -1
  72. package/dist/src/apis/PaymasterApis.js +2 -2
  73. package/dist/src/apis/PaymasterApis.js.map +1 -1
  74. package/dist/src/apis/SwapApis.d.ts +2 -2
  75. package/dist/src/apis/SwapApis.js +6 -6
  76. package/dist/src/apis/SwapApis.js.map +1 -1
  77. package/dist/src/apis/TurnkeyApis.d.ts +1 -1
  78. package/dist/src/apis/TurnkeyApis.js +3 -3
  79. package/dist/src/apis/TurnkeyApis.js.map +1 -1
  80. package/dist/src/apis/UserApis.d.ts +2 -2
  81. package/dist/src/apis/UserApis.js +10 -7
  82. package/dist/src/apis/UserApis.js.map +1 -1
  83. package/dist/src/apis/index.d.ts +13 -11
  84. package/dist/src/apis/index.js +3 -1
  85. package/dist/src/apis/index.js.map +1 -1
  86. package/dist/src/apis/types.d.ts +75 -3
  87. package/dist/src/apis/types.js +16 -0
  88. package/dist/src/apis/types.js.map +1 -1
  89. package/dist/src/auth/Auth.d.ts +6 -6
  90. package/dist/src/auth/Auth.js +43 -46
  91. package/dist/src/auth/Auth.js.map +1 -1
  92. package/dist/src/auth/SessionKeyAuth.d.ts +5 -5
  93. package/dist/src/auth/SessionKeyAuth.js +29 -24
  94. package/dist/src/auth/SessionKeyAuth.js.map +1 -1
  95. package/dist/src/auth/index.d.ts +2 -2
  96. package/dist/src/auth/types.d.ts +1 -1
  97. package/dist/src/common/constants.d.ts +110 -17
  98. package/dist/src/common/constants.js +158 -85
  99. package/dist/src/common/constants.js.map +1 -1
  100. package/dist/src/common/index.d.ts +2 -2
  101. package/dist/src/common/types.d.ts +2 -2
  102. package/dist/src/config/Config.d.ts +1 -1
  103. package/dist/src/config/Config.js +10 -4
  104. package/dist/src/config/Config.js.map +1 -1
  105. package/dist/src/config/index.d.ts +2 -2
  106. package/dist/src/config/types.d.ts +4 -2
  107. package/dist/src/data/Chain.d.ts +4 -4
  108. package/dist/src/data/Chain.js +38 -27
  109. package/dist/src/data/Chain.js.map +1 -1
  110. package/dist/src/data/NFT.d.ts +3 -3
  111. package/dist/src/data/NFT.js +11 -11
  112. package/dist/src/data/NFT.js.map +1 -1
  113. package/dist/src/data/Operation.d.ts +5 -5
  114. package/dist/src/data/Operation.js +12 -10
  115. package/dist/src/data/Operation.js.map +1 -1
  116. package/dist/src/data/SolidityData.d.ts +3 -3
  117. package/dist/src/data/SolidityData.js +37 -17
  118. package/dist/src/data/SolidityData.js.map +1 -1
  119. package/dist/src/data/Token.d.ts +4 -4
  120. package/dist/src/data/Token.js +9 -9
  121. package/dist/src/data/Token.js.map +1 -1
  122. package/dist/src/data/index.d.ts +6 -6
  123. package/dist/src/data/index.js +2 -2
  124. package/dist/src/data/index.js.map +1 -1
  125. package/dist/src/data/types.d.ts +2 -2
  126. package/dist/src/data/types.js +3 -3
  127. package/dist/src/data/types.js.map +1 -1
  128. package/dist/src/errors/BaseError.js +4 -3
  129. package/dist/src/errors/BaseError.js.map +1 -1
  130. package/dist/src/errors/ClientError.d.ts +1 -1
  131. package/dist/src/errors/ClientError.js +3 -3
  132. package/dist/src/errors/ClientError.js.map +1 -1
  133. package/dist/src/errors/ServerError.d.ts +1 -1
  134. package/dist/src/errors/ServerError.js.map +1 -1
  135. package/dist/src/errors/index.d.ts +4 -4
  136. package/dist/src/errors/types.d.ts +2 -1
  137. package/dist/src/errors/types.js +4 -3
  138. package/dist/src/errors/types.js.map +1 -1
  139. package/dist/src/sponsors/CheckoutSponsor.d.ts +23 -0
  140. package/dist/src/sponsors/CheckoutSponsor.js +65 -0
  141. package/dist/src/sponsors/CheckoutSponsor.js.map +1 -0
  142. package/dist/src/sponsors/GaslessSponsor.d.ts +4 -4
  143. package/dist/src/sponsors/GaslessSponsor.js +18 -15
  144. package/dist/src/sponsors/GaslessSponsor.js.map +1 -1
  145. package/dist/src/sponsors/Sponsor.d.ts +5 -5
  146. package/dist/src/sponsors/Sponsor.js +12 -11
  147. package/dist/src/sponsors/Sponsor.js.map +1 -1
  148. package/dist/src/sponsors/TokenSponsor.d.ts +7 -7
  149. package/dist/src/sponsors/TokenSponsor.js +75 -68
  150. package/dist/src/sponsors/TokenSponsor.js.map +1 -1
  151. package/dist/src/sponsors/index.d.ts +4 -3
  152. package/dist/src/sponsors/index.js +2 -1
  153. package/dist/src/sponsors/index.js.map +1 -1
  154. package/dist/src/sponsors/types.d.ts +2 -1
  155. package/dist/src/sponsors/types.js +2 -1
  156. package/dist/src/sponsors/types.js.map +1 -1
  157. package/dist/src/utils/ApiUtils.js +21 -19
  158. package/dist/src/utils/ApiUtils.js.map +1 -1
  159. package/dist/src/utils/AuthUtils.d.ts +1 -1
  160. package/dist/src/utils/AuthUtils.js +4 -4
  161. package/dist/src/utils/AuthUtils.js.map +1 -1
  162. package/dist/src/utils/ChainUtils.d.ts +5 -5
  163. package/dist/src/utils/ChainUtils.js +35 -20
  164. package/dist/src/utils/ChainUtils.js.map +1 -1
  165. package/dist/src/utils/CheckoutUtils.d.ts +6 -0
  166. package/dist/src/utils/CheckoutUtils.js +24 -0
  167. package/dist/src/utils/CheckoutUtils.js.map +1 -0
  168. package/dist/src/utils/GroupUtils.d.ts +3 -3
  169. package/dist/src/utils/GroupUtils.js +8 -8
  170. package/dist/src/utils/GroupUtils.js.map +1 -1
  171. package/dist/src/utils/MerkleUtils.d.ts +1 -1
  172. package/dist/src/utils/MerkleUtils.js +5 -5
  173. package/dist/src/utils/MerkleUtils.js.map +1 -1
  174. package/dist/src/utils/PaymasterUtils.d.ts +3 -3
  175. package/dist/src/utils/PaymasterUtils.js +6 -2
  176. package/dist/src/utils/PaymasterUtils.js.map +1 -1
  177. package/dist/src/utils/SwapUtils.d.ts +2 -2
  178. package/dist/src/utils/SwapUtils.js +42 -33
  179. package/dist/src/utils/SwapUtils.js.map +1 -1
  180. package/dist/src/utils/TypeUtils.js.map +1 -1
  181. package/dist/src/utils/UserOpUtils.d.ts +2 -2
  182. package/dist/src/utils/UserOpUtils.js +77 -65
  183. package/dist/src/utils/UserOpUtils.js.map +1 -1
  184. package/dist/src/utils/ViemUtils.d.ts +2 -2
  185. package/dist/src/utils/ViemUtils.js +10 -6
  186. package/dist/src/utils/ViemUtils.js.map +1 -1
  187. package/dist/src/utils/WalletUtils.d.ts +2 -2
  188. package/dist/src/utils/WalletUtils.js +6 -5
  189. package/dist/src/utils/WalletUtils.js.map +1 -1
  190. package/dist/src/utils/index.d.ts +8 -7
  191. package/dist/src/utils/index.js +1 -0
  192. package/dist/src/utils/index.js.map +1 -1
  193. package/dist/src/viem/ContractInterface.d.ts +4 -4
  194. package/dist/src/viem/ContractInterface.js +8 -8
  195. package/dist/src/viem/ContractInterface.js.map +1 -1
  196. package/dist/src/viem/Converter.d.ts +823 -1107
  197. package/dist/src/viem/Converter.js +11 -11
  198. package/dist/src/viem/Converter.js.map +1 -1
  199. package/dist/src/viem/index.d.ts +2 -2
  200. package/dist/src/wallet/FunWallet.d.ts +8 -8
  201. package/dist/src/wallet/FunWallet.js +133 -89
  202. package/dist/src/wallet/FunWallet.js.map +1 -1
  203. package/dist/src/wallet/index.d.ts +2 -2
  204. package/dist/src/wallet/types.d.ts +1 -1
  205. package/package.json +13 -5
@@ -1 +1 @@
1
- {"version":3,"file":"fetch-polyfill.js","sourceRoot":"","sources":["../fetch-polyfill.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,oBAAoB;AACpB,yDAWqB;AAEnB,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE;IACrB,UAAU,CAAC,KAAK,GAAG,oBAAK,CAAA;IACxB,UAAU,CAAC,OAAO,GAAG,oBAAO,CAAA;IAC5B,UAAU,CAAC,OAAO,GAAG,oBAAO,CAAA;IAC5B,UAAU,CAAC,QAAQ,GAAG,qBAAQ,CAAA;CAC/B;AAID,MAAM"}
1
+ {"version":3,"file":"fetch-polyfill.js","sourceRoot":"","sources":["../fetch-polyfill.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,oBAAoB;AACpB,yDAWqB;AAEnB,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;IACtB,UAAU,CAAC,KAAK,GAAG,oBAAK,CAAA;IACxB,UAAU,CAAC,OAAO,GAAG,oBAAO,CAAA;IAC5B,UAAU,CAAC,OAAO,GAAG,oBAAO,CAAA;IAC5B,UAAU,CAAC,QAAQ,GAAG,qBAAQ,CAAA;AAChC,CAAC;AAID,MAAM"}
package/dist/index.d.ts CHANGED
@@ -1,12 +1,12 @@
1
- export * from "./src/actions";
2
- export * from "./src/apis";
3
- export * from "./src/auth";
4
- export * from "./src/common";
5
- export * from "./src/config";
6
- export * from "./src/data";
7
- export * from "./src/errors";
8
- export * from "./src/sponsors";
9
- export * from "./src/utils";
10
- export * from "./src/viem";
11
- export * from "./src/wallet";
12
- import "./fetch-polyfill";
1
+ export * from './src/actions';
2
+ export * from './src/apis';
3
+ export * from './src/auth';
4
+ export * from './src/common';
5
+ export * from './src/config';
6
+ export * from './src/data';
7
+ export * from './src/errors';
8
+ export * from './src/sponsors';
9
+ export * from './src/utils';
10
+ export * from './src/viem';
11
+ export * from './src/wallet';
12
+ import './fetch-polyfill';
@@ -0,0 +1 @@
1
+ { "abi": [{ "type": "constructor", "inputs": [{ "name": "entryPoint", "type": "address", "internalType": "contract IEntryPoint" }], "stateMutability": "nonpayable" }, { "type": "function", "name": "VERSION", "inputs": [], "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "function", "name": "activateAndCall", "inputs": [{ "name": "target", "type": "address", "internalType": "address" }, { "name": "callData", "type": "bytes", "internalType": "bytes" }], "outputs": [{ "name": "", "type": "bytes", "internalType": "bytes" }], "stateMutability": "payable" }, { "type": "function", "name": "addStake", "inputs": [{ "name": "unstakeDelaySec", "type": "uint32", "internalType": "uint32" }], "outputs": [], "stateMutability": "payable" }, { "type": "function", "name": "deposit", "inputs": [], "outputs": [], "stateMutability": "payable" }, { "type": "function", "name": "entryPoint", "inputs": [], "outputs": [{ "name": "", "type": "address", "internalType": "contract IEntryPoint" }], "stateMutability": "view" }, { "type": "function", "name": "getDeposit", "inputs": [], "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "function", "name": "getLastOpMode", "inputs": [], "outputs": [{ "name": "", "type": "uint8", "internalType": "enum IPaymaster.PostOpMode" }], "stateMutability": "view" }, { "type": "function", "name": "owner", "inputs": [], "outputs": [{ "name": "", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "postOp", "inputs": [{ "name": "mode", "type": "uint8", "internalType": "enum IPaymaster.PostOpMode" }, { "name": "context", "type": "bytes", "internalType": "bytes" }, { "name": "actualGasCost", "type": "uint256", "internalType": "uint256" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "renounceOwnership", "inputs": [], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setOperators", "inputs": [{ "name": "operators", "type": "address[]", "internalType": "address[]" }, { "name": "isAllowed", "type": "bool", "internalType": "bool" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "transferOwnership", "inputs": [{ "name": "newOwner", "type": "address", "internalType": "address" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "unlockStake", "inputs": [], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "validatePaymasterUserOp", "inputs": [{ "name": "userOp", "type": "tuple", "internalType": "struct UserOperation", "components": [{ "name": "sender", "type": "address", "internalType": "address" }, { "name": "nonce", "type": "uint256", "internalType": "uint256" }, { "name": "initCode", "type": "bytes", "internalType": "bytes" }, { "name": "callData", "type": "bytes", "internalType": "bytes" }, { "name": "callGasLimit", "type": "uint256", "internalType": "uint256" }, { "name": "verificationGasLimit", "type": "uint256", "internalType": "uint256" }, { "name": "preVerificationGas", "type": "uint256", "internalType": "uint256" }, { "name": "maxFeePerGas", "type": "uint256", "internalType": "uint256" }, { "name": "maxPriorityFeePerGas", "type": "uint256", "internalType": "uint256" }, { "name": "paymasterAndData", "type": "bytes", "internalType": "bytes" }, { "name": "signature", "type": "bytes", "internalType": "bytes" }] }, { "name": "userOpHash", "type": "bytes32", "internalType": "bytes32" }, { "name": "maxCost", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "context", "type": "bytes", "internalType": "bytes" }, { "name": "validationData", "type": "uint256", "internalType": "uint256" }], "stateMutability": "nonpayable" }, { "type": "function", "name": "withdrawStake", "inputs": [{ "name": "withdrawAddress", "type": "address", "internalType": "address payable" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "withdrawTo", "inputs": [{ "name": "withdrawAddress", "type": "address", "internalType": "address payable" }, { "name": "amount", "type": "uint256", "internalType": "uint256" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "event", "name": "OwnershipTransferred", "inputs": [{ "name": "previousOwner", "type": "address", "indexed": true, "internalType": "address" }, { "name": "newOwner", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "error", "name": "Inactive", "inputs": [] }, { "type": "error", "name": "InvalidOperator", "inputs": [{ "name": "operator", "type": "address", "internalType": "address" }] }, { "type": "error", "name": "InvalidPaymasterAndDataLength", "inputs": [{ "name": "length", "type": "uint256", "internalType": "uint256" }] }], "bytecode": { "object": "0x60a060405234801561001057600080fd5b50604051610f03380380610f0383398101604081905261002f916100ae565b806100393361005e565b6001600160a01b0316608052506000805460ff60a01b1916600160a01b1790556100de565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6000602082840312156100c057600080fd5b81516001600160a01b03811681146100d757600080fd5b9392505050565b608051610dd961012a600039600081816101f60152818161031d015281816103b4015281816104af01528181610543015281816105b30152818161071c01526108bb0152610dd96000f3fe6080604052600436106100f35760003560e01c8063bb9fe6bf1161008a578063d0e30db011610059578063d0e30db014610290578063f2fde38b14610298578063f465c77e146102b8578063ffa1ad74146102e657600080fd5b8063bb9fe6bf14610218578063c23a5cea1461022d578063c399ec881461024d578063c458b07b1461027057600080fd5b80638da5cb5b116100c65780638da5cb5b14610172578063a3111bdb146101a4578063a9a23409146101c4578063b0d691fe146101e457600080fd5b80630396cb60146100f8578063205c28781461010d578063255ed9471461012d578063715018a61461015d575b600080fd5b61010b6101063660046109d5565b6102fb565b005b34801561011957600080fd5b5061010b610128366004610a17565b610386565b34801561013957600080fd5b50600054600160a81b900460ff166040516101549190610a59565b60405180910390f35b34801561016957600080fd5b5061010b6103f8565b34801561017e57600080fd5b506000546001600160a01b03165b6040516001600160a01b039091168152602001610154565b3480156101b057600080fd5b5061010b6101bf366004610a81565b61040c565b3480156101d057600080fd5b5061010b6101df366004610b55565b61048b565b3480156101f057600080fd5b5061018c7f000000000000000000000000000000000000000000000000000000000000000081565b34801561022457600080fd5b5061010b6104a5565b34801561023957600080fd5b5061010b610248366004610bb5565b61051c565b34801561025957600080fd5b5061026261059b565b604051908152602001610154565b61028361027e366004610bd2565b61062b565b6040516101549190610c6d565b61010b610707565b3480156102a457600080fd5b5061010b6102b3366004610bb5565b610769565b3480156102c457600080fd5b506102d86102d3366004610c80565b6107e2565b604051610154929190610cd4565b3480156102f257600080fd5b50610262600181565b610303610806565b604051621cb65b60e51b815263ffffffff821660048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690630396cb609034906024016000604051808303818588803b15801561036a57600080fd5b505af115801561037e573d6000803e3d6000fd5b505050505050565b61038e610806565b60405163040b850f60e31b81526001600160a01b038381166004830152602482018390527f0000000000000000000000000000000000000000000000000000000000000000169063205c287890604401600060405180830381600087803b15801561036a57600080fd5b610400610806565b61040a6000610860565b565b610414610806565b8160005b8181101561048457826001600087878581811061043757610437610cf6565b905060200201602081019061044c9190610bb5565b6001600160a01b031681526020810191909152604001600020805460ff191691151591909117905561047d81610d0c565b9050610418565b5050505050565b6104936108b0565b61049f84848484610920565b50505050565b6104ad610806565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663bb9fe6bf6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561050857600080fd5b505af115801561049f573d6000803e3d6000fd5b610524610806565b60405163611d2e7560e11b81526001600160a01b0382811660048301527f0000000000000000000000000000000000000000000000000000000000000000169063c23a5cea90602401600060405180830381600087803b15801561058757600080fd5b505af1158015610484573d6000803e3d6000fd5b6040516370a0823160e01b81523060048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015610602573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106269190610d33565b905090565b3360009081526001602052604090205460609060ff1661066557604051633eaa03e360e01b81523360048201526024015b60405180910390fd5b6000805460ff60a01b1916600160a11b17815560405181906001600160a01b0387169034906106979088908890610d4c565b60006040518083038185875af1925050503d80600081146106d4576040519150601f19603f3d011682016040523d82523d6000602084013e6106d9565b606091505b5091509150816106eb57805160208201fd5b6000805460ff60a01b1916600160a01b17905595945050505050565b60405163b760faf960e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063b760faf99034906024016000604051808303818588803b15801561058757600080fd5b610771610806565b6001600160a01b0381166107d65760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161065c565b6107df81610860565b50565b606060006107ee6108b0565b6107f985858561098e565b915091505b935093915050565b6000546001600160a01b0316331461040a5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161065c565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461040a5760405162461bcd60e51b815260206004820152601560248201527414d95b99195c881b9bdd08115b9d1c9e541bda5b9d605a1b604482015260640161065c565b6002600054600160a01b900460ff16600281111561094057610940610a43565b1461095e57604051632e8acb0d60e01b815260040160405180910390fd5b6000805485919060ff60a81b1916600160a81b83600281111561098357610983610a43565b021790555050505050565b606060006109a0610120860186610d5c565b90506014146107fe576109b7610120860186610d5c565b604051635ae9bb9760e01b815261065c925060040190815260200190565b6000602082840312156109e757600080fd5b813563ffffffff811681146109fb57600080fd5b9392505050565b6001600160a01b03811681146107df57600080fd5b60008060408385031215610a2a57600080fd5b8235610a3581610a02565b946020939093013593505050565b634e487b7160e01b600052602160045260246000fd5b6020810160038310610a7b57634e487b7160e01b600052602160045260246000fd5b91905290565b600080600060408486031215610a9657600080fd5b833567ffffffffffffffff80821115610aae57600080fd5b818601915086601f830112610ac257600080fd5b813581811115610ad157600080fd5b8760208260051b8501011115610ae657600080fd5b602092830195509350508401358015158114610b0157600080fd5b809150509250925092565b60008083601f840112610b1e57600080fd5b50813567ffffffffffffffff811115610b3657600080fd5b602083019150836020828501011115610b4e57600080fd5b9250929050565b60008060008060608587031215610b6b57600080fd5b843560038110610b7a57600080fd5b9350602085013567ffffffffffffffff811115610b9657600080fd5b610ba287828801610b0c565b9598909750949560400135949350505050565b600060208284031215610bc757600080fd5b81356109fb81610a02565b600080600060408486031215610be757600080fd5b8335610bf281610a02565b9250602084013567ffffffffffffffff811115610c0e57600080fd5b610c1a86828701610b0c565b9497909650939450505050565b6000815180845260005b81811015610c4d57602081850181015186830182015201610c31565b506000602082860101526020601f19601f83011685010191505092915050565b6020815260006109fb6020830184610c27565b600080600060608486031215610c9557600080fd5b833567ffffffffffffffff811115610cac57600080fd5b84016101608187031215610cbf57600080fd5b95602085013595506040909401359392505050565b604081526000610ce76040830185610c27565b90508260208301529392505050565b634e487b7160e01b600052603260045260246000fd5b600060018201610d2c57634e487b7160e01b600052601160045260246000fd5b5060010190565b600060208284031215610d4557600080fd5b5051919050565b8183823760009101908152919050565b6000808335601e19843603018112610d7357600080fd5b83018035915067ffffffffffffffff821115610d8e57600080fd5b602001915036819003821315610b4e57600080fdfea26469706673582212206ca98fa625bb450eac6fbf76f3fdd1ad097fee4001bd72ad8d66bb88a9b49f6d64736f6c63430008140033", "sourceMap": "678:2943:74:-:0;;;1428:116;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1478:10;936:32:32;719:10:51;936:18:32;:32::i;:::-;-1:-1:-1;;;;;564:24:1;;;-1:-1:-1;1500:14:74::1;:37:::0;;-1:-1:-1;;;;1500:37:74::1;-1:-1:-1::0;;;1500:37:74::1;::::0;;678:2943;;2426:187:32;2499:16;2518:6;;-1:-1:-1;;;;;2534:17:32;;;-1:-1:-1;;;;;;2534:17:32;;;;;;2566:40;;2518:6;;;;;;;2566:40;;2499:16;2566:40;2489:124;2426:187;:::o;14:309:88:-;103:6;156:2;144:9;135:7;131:23;127:32;124:52;;;172:1;169;162:12;124:52;198:16;;-1:-1:-1;;;;;243:31:88;;233:42;;223:70;;289:1;286;279:12;223:70;312:5;14:309;-1:-1:-1;;;14:309:88:o;328:127::-;678:2943:74;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;", "linkReferences": {} }, "deployedBytecode": { "object": "0x6080604052600436106100f35760003560e01c8063bb9fe6bf1161008a578063d0e30db011610059578063d0e30db014610290578063f2fde38b14610298578063f465c77e146102b8578063ffa1ad74146102e657600080fd5b8063bb9fe6bf14610218578063c23a5cea1461022d578063c399ec881461024d578063c458b07b1461027057600080fd5b80638da5cb5b116100c65780638da5cb5b14610172578063a3111bdb146101a4578063a9a23409146101c4578063b0d691fe146101e457600080fd5b80630396cb60146100f8578063205c28781461010d578063255ed9471461012d578063715018a61461015d575b600080fd5b61010b6101063660046109d5565b6102fb565b005b34801561011957600080fd5b5061010b610128366004610a17565b610386565b34801561013957600080fd5b50600054600160a81b900460ff166040516101549190610a59565b60405180910390f35b34801561016957600080fd5b5061010b6103f8565b34801561017e57600080fd5b506000546001600160a01b03165b6040516001600160a01b039091168152602001610154565b3480156101b057600080fd5b5061010b6101bf366004610a81565b61040c565b3480156101d057600080fd5b5061010b6101df366004610b55565b61048b565b3480156101f057600080fd5b5061018c7f000000000000000000000000000000000000000000000000000000000000000081565b34801561022457600080fd5b5061010b6104a5565b34801561023957600080fd5b5061010b610248366004610bb5565b61051c565b34801561025957600080fd5b5061026261059b565b604051908152602001610154565b61028361027e366004610bd2565b61062b565b6040516101549190610c6d565b61010b610707565b3480156102a457600080fd5b5061010b6102b3366004610bb5565b610769565b3480156102c457600080fd5b506102d86102d3366004610c80565b6107e2565b604051610154929190610cd4565b3480156102f257600080fd5b50610262600181565b610303610806565b604051621cb65b60e51b815263ffffffff821660048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690630396cb609034906024016000604051808303818588803b15801561036a57600080fd5b505af115801561037e573d6000803e3d6000fd5b505050505050565b61038e610806565b60405163040b850f60e31b81526001600160a01b038381166004830152602482018390527f0000000000000000000000000000000000000000000000000000000000000000169063205c287890604401600060405180830381600087803b15801561036a57600080fd5b610400610806565b61040a6000610860565b565b610414610806565b8160005b8181101561048457826001600087878581811061043757610437610cf6565b905060200201602081019061044c9190610bb5565b6001600160a01b031681526020810191909152604001600020805460ff191691151591909117905561047d81610d0c565b9050610418565b5050505050565b6104936108b0565b61049f84848484610920565b50505050565b6104ad610806565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663bb9fe6bf6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561050857600080fd5b505af115801561049f573d6000803e3d6000fd5b610524610806565b60405163611d2e7560e11b81526001600160a01b0382811660048301527f0000000000000000000000000000000000000000000000000000000000000000169063c23a5cea90602401600060405180830381600087803b15801561058757600080fd5b505af1158015610484573d6000803e3d6000fd5b6040516370a0823160e01b81523060048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015610602573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106269190610d33565b905090565b3360009081526001602052604090205460609060ff1661066557604051633eaa03e360e01b81523360048201526024015b60405180910390fd5b6000805460ff60a01b1916600160a11b17815560405181906001600160a01b0387169034906106979088908890610d4c565b60006040518083038185875af1925050503d80600081146106d4576040519150601f19603f3d011682016040523d82523d6000602084013e6106d9565b606091505b5091509150816106eb57805160208201fd5b6000805460ff60a01b1916600160a01b17905595945050505050565b60405163b760faf960e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063b760faf99034906024016000604051808303818588803b15801561058757600080fd5b610771610806565b6001600160a01b0381166107d65760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161065c565b6107df81610860565b50565b606060006107ee6108b0565b6107f985858561098e565b915091505b935093915050565b6000546001600160a01b0316331461040a5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161065c565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461040a5760405162461bcd60e51b815260206004820152601560248201527414d95b99195c881b9bdd08115b9d1c9e541bda5b9d605a1b604482015260640161065c565b6002600054600160a01b900460ff16600281111561094057610940610a43565b1461095e57604051632e8acb0d60e01b815260040160405180910390fd5b6000805485919060ff60a81b1916600160a81b83600281111561098357610983610a43565b021790555050505050565b606060006109a0610120860186610d5c565b90506014146107fe576109b7610120860186610d5c565b604051635ae9bb9760e01b815261065c925060040190815260200190565b6000602082840312156109e757600080fd5b813563ffffffff811681146109fb57600080fd5b9392505050565b6001600160a01b03811681146107df57600080fd5b60008060408385031215610a2a57600080fd5b8235610a3581610a02565b946020939093013593505050565b634e487b7160e01b600052602160045260246000fd5b6020810160038310610a7b57634e487b7160e01b600052602160045260246000fd5b91905290565b600080600060408486031215610a9657600080fd5b833567ffffffffffffffff80821115610aae57600080fd5b818601915086601f830112610ac257600080fd5b813581811115610ad157600080fd5b8760208260051b8501011115610ae657600080fd5b602092830195509350508401358015158114610b0157600080fd5b809150509250925092565b60008083601f840112610b1e57600080fd5b50813567ffffffffffffffff811115610b3657600080fd5b602083019150836020828501011115610b4e57600080fd5b9250929050565b60008060008060608587031215610b6b57600080fd5b843560038110610b7a57600080fd5b9350602085013567ffffffffffffffff811115610b9657600080fd5b610ba287828801610b0c565b9598909750949560400135949350505050565b600060208284031215610bc757600080fd5b81356109fb81610a02565b600080600060408486031215610be757600080fd5b8335610bf281610a02565b9250602084013567ffffffffffffffff811115610c0e57600080fd5b610c1a86828701610b0c565b9497909650939450505050565b6000815180845260005b81811015610c4d57602081850181015186830182015201610c31565b506000602082860101526020601f19601f83011685010191505092915050565b6020815260006109fb6020830184610c27565b600080600060608486031215610c9557600080fd5b833567ffffffffffffffff811115610cac57600080fd5b84016101608187031215610cbf57600080fd5b95602085013595506040909401359392505050565b604081526000610ce76040830185610c27565b90508260208301529392505050565b634e487b7160e01b600052603260045260246000fd5b600060018201610d2c57634e487b7160e01b600052601160045260246000fd5b5060010190565b600060208284031215610d4557600080fd5b5051919050565b8183823760009101908152919050565b6000808335601e19843603018112610d7357600080fd5b83018035915067ffffffffffffffff821115610d8e57600080fd5b602001915036819003821315610b4e57600080fdfea26469706673582212206ca98fa625bb450eac6fbf76f3fdd1ad097fee4001bd72ad8d66bb88a9b49f6d64736f6c63430008140033", "sourceMap": "678:2943:74:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3094:141:1;;;;;;:::i;:::-;;:::i;:::-;;2721:149;;;;;;;;;;-1:-1:-1;2721:149:1;;;;;:::i;:::-;;:::i;2242:98:74:-;;;;;;;;;;-1:-1:-1;2290:10:74;2319:14;-1:-1:-1;;;2319:14:74;;;;2242:98;;;;;;:::i;:::-;;;;;;;;1824:101:32;;;;;;;;;;;;;:::i;1201:85::-;;;;;;;;;;-1:-1:-1;1247:7:32;1273:6;-1:-1:-1;;;;;1273:6:32;1201:85;;;-1:-1:-1;;;;;1418:32:88;;;1400:51;;1388:2;1373:18;1201:85:32;1254:203:88;1550:253:74;;;;;;;;;;-1:-1:-1;1550:253:74;;;;;:::i;:::-;;:::i;1143:186:1:-;;;;;;;;;;-1:-1:-1;1143:186:1;;;;;:::i;:::-;;:::i;471:39::-;;;;;;;;;;;;;;;3588:83;;;;;;;;;;;;;:::i;3890:133::-;;;;;;;;;;-1:-1:-1;3890:133:1;;;;;:::i;:::-;;:::i;3318:111::-;;;;;;;;;;;;;:::i;:::-;;;3882:25:88;;;3870:2;3855:18;3318:111:1;3736:177:88;1809:427:74;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;2474:105:1:-;;;:::i;2074:198:32:-;;;;;;;;;;-1:-1:-1;2074:198:32;;;;;:::i;:::-;;:::i;632:290:1:-;;;;;;;;;;-1:-1:-1;632:290:1;;;;;:::i;:::-;;:::i;:::-;;;;;;;;:::i;805:35:74:-;;;;;;;;;;;;839:1;805:35;;3094:141:1;1094:13:32;:11;:13::i;:::-;3173:55:1::1;::::0;-1:-1:-1;;;3173:55:1;;6385:10:88;6373:23;;3173:55:1::1;::::0;::::1;6355:42:88::0;3173:10:1::1;-1:-1:-1::0;;;;;3173:19:1::1;::::0;::::1;::::0;3201:9:::1;::::0;6328:18:88;;3173:55:1::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;3094:141:::0;:::o;2721:149::-;1094:13:32;:11;:13::i;:::-;2817:46:1::1;::::0;-1:-1:-1;;;2817:46:1;;-1:-1:-1;;;;;6616:32:88;;;2817:46:1::1;::::0;::::1;6598:51:88::0;6665:18;;;6658:34;;;2817:10:1::1;:21;::::0;::::1;::::0;6571:18:88;;2817:46:1::1;;;;;;;;;;;;;;;;;::::0;::::1;1824:101:32::0;1094:13;:11;:13::i;:::-;1888:30:::1;1915:1;1888:18;:30::i;:::-;1824:101::o:0;1550:253:74:-;1094:13:32;:11;:13::i;:::-;1681:9:74;1669::::1;1707:90;1727:1;1723;:5;1707:90;;;1777:9;1749:11;:25;1761:9;;1771:1;1761:12;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;1749:25:74::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;1749:25:74;:37;;-1:-1:-1;;1749:37:74::1;::::0;::::1;;::::0;;;::::1;::::0;;1730:3:::1;::::0;::::1;:::i;:::-;;;1707:90;;;;1659:144;1550:253:::0;;;:::o;1143:186:1:-;1251:24;:22;:24::i;:::-;1285:37;1293:4;1299:7;;1308:13;1285:7;:37::i;:::-;1143:186;;;;:::o;3588:83::-;1094:13:32;:11;:13::i;:::-;3640:10:1::1;-1:-1:-1::0;;;;;3640:22:1::1;;:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;3890:133:::0;1094:13:32;:11;:13::i;:::-;3975:41:1::1;::::0;-1:-1:-1;;;3975:41:1;;-1:-1:-1;;;;;1418:32:88;;;3975:41:1::1;::::0;::::1;1400:51:88::0;3975:10:1::1;:24;::::0;::::1;::::0;1373:18:88;;3975:41:1::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;3318:111:::0;3387:35;;-1:-1:-1;;;3387:35:1;;3416:4;3387:35;;;1400:51:88;3361:7:1;;3387:10;-1:-1:-1;;;;;3387:20:1;;;;1373:18:88;;3387:35:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3380:42;;3318:111;:::o;1809:427:74:-;1104:10;1092:23;;;;:11;:23;;;;;;1932:12;;1092:23;;1087:89;;1138:27;;-1:-1:-1;;;1138:27:74;;1154:10;1138:27;;;1400:51:88;1373:18;;1138:27:74;;;;;;;;1087:89;1185:14;:35;;-1:-1:-1;;;;1185:35:74;-1:-1:-1;;;1185:35:74;;;1998:70:::1;::::0;1185:14;;-1:-1:-1;;;;;1998:20:74;::::1;::::0;2039:9:::1;::::0;1998:70:::1;::::0;2059:8;;;;1998:70:::1;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1956:112;;;;2083:7;2078:125;;2167:10;2161:17;2156:2;2144:10;2140:19;2133:46;2078:125;1241:14:::0;:37;;-1:-1:-1;;;;1241:37:74;-1:-1:-1;;;1241:37:74;;;2219:10;;-1:-1:-1;;;;;1809:427:74:o;2474:105:1:-;2518:54;;-1:-1:-1;;;2518:54:1;;2566:4;2518:54;;;1400:51:88;2518:10:1;-1:-1:-1;;;;;2518:20:1;;;;2547:9;;1373:18:88;;2518:54:1;;;;;;;;;;;;;;;;;;;2074:198:32;1094:13;:11;:13::i;:::-;-1:-1:-1;;;;;2162:22:32;::::1;2154:73;;;::::0;-1:-1:-1;;;2154:73:32;;7963:2:88;2154:73:32::1;::::0;::::1;7945:21:88::0;8002:2;7982:18;;;7975:30;8041:34;8021:18;;;8014:62;-1:-1:-1;;;8092:18:88;;;8085:36;8138:19;;2154:73:32::1;7761:402:88::0;2154:73:32::1;2237:28;2256:8;2237:18;:28::i;:::-;2074:198:::0;:::o;632:290:1:-;764:20;786:22;821:24;:22;:24::i;:::-;862:53;887:6;895:10;907:7;862:24;:53::i;:::-;855:60;;;;632:290;;;;;;;:::o;1359:130:32:-;1247:7;1273:6;-1:-1:-1;;;;;1273:6:32;719:10:51;1422:23:32;1414:68;;;;-1:-1:-1;;;1414:68:32;;8370:2:88;1414:68:32;;;8352:21:88;;;8389:18;;;8382:30;8448:34;8428:18;;;8421:62;8500:18;;1414:68:32;8168:356:88;2426:187:32;2499:16;2518:6;;-1:-1:-1;;;;;2534:17:32;;;-1:-1:-1;;;;;;2534:17:32;;;;;;2566:40;;2518:6;;;;;;;2566:40;;2499:16;2566:40;2489:124;2426:187;:::o;4087:135:1:-;4156:10;-1:-1:-1;;;;;4178:10:1;4156:33;;4148:67;;;;-1:-1:-1;;;4148:67:1;;8731:2:88;4148:67:1;;;8713:21:88;8770:2;8750:18;;;8743:30;-1:-1:-1;;;8789:18:88;;;8782:51;8850:18;;4148:67:1;8529:345:88;3431:188:74;1343:18;1325:14;;-1:-1:-1;;;1325:14:74;;;;:36;;;;;;;;:::i;:::-;;1321:84;;1384:10;;-1:-1:-1;;;1384:10:74;;;;;;;;;;;1321:84;3591:14:::1;:21:::0;;3608:4;;3591:14;-1:-1:-1;;;;3591:21:74::1;-1:-1:-1::0;;;3608:4:74;3591:21:::1;::::0;::::1;;;;;;:::i;:::-;;;;;;3431:188:::0;;;;:::o;2641:435::-;2845:20;2867:22;2909:23;;;;:6;:23;:::i;:::-;:30;;2943:2;2909:36;2905:165;;3015:23;;;;:6;:23;:::i;:::-;2968:91;;-1:-1:-1;;;2968:91:74;;;;-1:-1:-1;2968:91:74;;3882:25:88;;;3870:2;3855:18;;3736:177;14:276;72:6;125:2;113:9;104:7;100:23;96:32;93:52;;;141:1;138;131:12;93:52;180:9;167:23;230:10;223:5;219:22;212:5;209:33;199:61;;256:1;253;246:12;199:61;279:5;14:276;-1:-1:-1;;;14:276:88:o;295:139::-;-1:-1:-1;;;;;378:31:88;;368:42;;358:70;;424:1;421;414:12;439:331;515:6;523;576:2;564:9;555:7;551:23;547:32;544:52;;;592:1;589;582:12;544:52;631:9;618:23;650:39;683:5;650:39;:::i;:::-;708:5;760:2;745:18;;;;732:32;;-1:-1:-1;;;439:331:88:o;775:127::-;836:10;831:3;827:20;824:1;817:31;867:4;864:1;857:15;891:4;888:1;881:15;907:342;1053:2;1038:18;;1086:1;1075:13;;1065:144;;1131:10;1126:3;1122:20;1119:1;1112:31;1166:4;1163:1;1156:15;1194:4;1191:1;1184:15;1065:144;1218:25;;;907:342;:::o;1462:782::-;1554:6;1562;1570;1623:2;1611:9;1602:7;1598:23;1594:32;1591:52;;;1639:1;1636;1629:12;1591:52;1679:9;1666:23;1708:18;1749:2;1741:6;1738:14;1735:34;;;1765:1;1762;1755:12;1735:34;1803:6;1792:9;1788:22;1778:32;;1848:7;1841:4;1837:2;1833:13;1829:27;1819:55;;1870:1;1867;1860:12;1819:55;1910:2;1897:16;1936:2;1928:6;1925:14;1922:34;;;1952:1;1949;1942:12;1922:34;2007:7;2000:4;1990:6;1987:1;1983:14;1979:2;1975:23;1971:34;1968:47;1965:67;;;2028:1;2025;2018:12;1965:67;2059:4;2051:13;;;;-1:-1:-1;2083:6:88;-1:-1:-1;;2124:20:88;;2111:34;2181:13;;2174:21;2164:32;;2154:60;;2210:1;2207;2200:12;2154:60;2233:5;2223:15;;;1462:782;;;;;:::o;2249:347::-;2300:8;2310:6;2364:3;2357:4;2349:6;2345:17;2341:27;2331:55;;2382:1;2379;2372:12;2331:55;-1:-1:-1;2405:20:88;;2448:18;2437:30;;2434:50;;;2480:1;2477;2470:12;2434:50;2517:4;2509:6;2505:17;2493:29;;2569:3;2562:4;2553:6;2545;2541:19;2537:30;2534:39;2531:59;;;2586:1;2583;2576:12;2531:59;2249:347;;;;;:::o;2601:635::-;2703:6;2711;2719;2727;2780:2;2768:9;2759:7;2755:23;2751:32;2748:52;;;2796:1;2793;2786:12;2748:52;2835:9;2822:23;2874:1;2867:5;2864:12;2854:40;;2890:1;2887;2880:12;2854:40;2913:5;-1:-1:-1;2969:2:88;2954:18;;2941:32;2996:18;2985:30;;2982:50;;;3028:1;3025;3018:12;2982:50;3067:58;3117:7;3108:6;3097:9;3093:22;3067:58;:::i;:::-;2601:635;;3144:8;;-1:-1:-1;3041:84:88;;3226:2;3211:18;3198:32;;2601:635;-1:-1:-1;;;;2601:635:88:o;3468:263::-;3535:6;3588:2;3576:9;3567:7;3563:23;3559:32;3556:52;;;3604:1;3601;3594:12;3556:52;3643:9;3630:23;3662:39;3695:5;3662:39;:::i;3918:552::-;3997:6;4005;4013;4066:2;4054:9;4045:7;4041:23;4037:32;4034:52;;;4082:1;4079;4072:12;4034:52;4121:9;4108:23;4140:39;4173:5;4140:39;:::i;:::-;4198:5;-1:-1:-1;4254:2:88;4239:18;;4226:32;4281:18;4270:30;;4267:50;;;4313:1;4310;4303:12;4267:50;4352:58;4402:7;4393:6;4382:9;4378:22;4352:58;:::i;:::-;3918:552;;4429:8;;-1:-1:-1;4326:84:88;;-1:-1:-1;;;;3918:552:88:o;4475:422::-;4516:3;4554:5;4548:12;4581:6;4576:3;4569:19;4606:1;4616:162;4630:6;4627:1;4624:13;4616:162;;;4692:4;4748:13;;;4744:22;;4738:29;4720:11;;;4716:20;;4709:59;4645:12;4616:162;;;4620:3;4823:1;4816:4;4807:6;4802:3;4798:16;4794:27;4787:38;4886:4;4879:2;4875:7;4870:2;4862:6;4858:15;4854:29;4849:3;4845:39;4841:50;4834:57;;;4475:422;;;;:::o;4902:217::-;5049:2;5038:9;5031:21;5012:4;5069:44;5109:2;5098:9;5094:18;5086:6;5069:44;:::i;5384:529::-;5494:6;5502;5510;5563:2;5551:9;5542:7;5538:23;5534:32;5531:52;;;5579:1;5576;5569:12;5531:52;5619:9;5606:23;5652:18;5644:6;5641:30;5638:50;;;5684:1;5681;5674:12;5638:50;5707:22;;5763:3;5745:16;;;5741:26;5738:46;;;5780:1;5777;5770:12;5738:46;5803:2;5852;5837:18;;5824:32;;-1:-1:-1;5903:2:88;5888:18;;;5875:32;;5384:529;-1:-1:-1;;;5384:529:88:o;5918:288::-;6093:2;6082:9;6075:21;6056:4;6113:44;6153:2;6142:9;6138:18;6130:6;6113:44;:::i;:::-;6105:52;;6193:6;6188:2;6177:9;6173:18;6166:34;5918:288;;;;;:::o;6703:127::-;6764:10;6759:3;6755:20;6752:1;6745:31;6795:4;6792:1;6785:15;6819:4;6816:1;6809:15;6835:232;6874:3;6895:17;;;6892:140;;6954:10;6949:3;6945:20;6942:1;6935:31;6989:4;6986:1;6979:15;7017:4;7014:1;7007:15;6892:140;-1:-1:-1;7059:1:88;7048:13;;6835:232::o;7296:184::-;7366:6;7419:2;7407:9;7398:7;7394:23;7390:32;7387:52;;;7435:1;7432;7425:12;7387:52;-1:-1:-1;7458:16:88;;7296:184;-1:-1:-1;7296:184:88:o;7485:271::-;7668:6;7660;7655:3;7642:33;7624:3;7694:16;;7719:13;;;7694:16;7485:271;-1:-1:-1;7485:271:88:o;8879:521::-;8956:4;8962:6;9022:11;9009:25;9116:2;9112:7;9101:8;9085:14;9081:29;9077:43;9057:18;9053:68;9043:96;;9135:1;9132;9125:12;9043:96;9162:33;;9214:20;;;-1:-1:-1;9257:18:88;9246:30;;9243:50;;;9289:1;9286;9279:12;9243:50;9322:4;9310:17;;-1:-1:-1;9353:14:88;9349:27;;;9339:38;;9336:58;;;9390:1;9387;9380:12", "linkReferences": {}, "immutableReferences": { "155": [{ "start": 502, "length": 32 }, { "start": 797, "length": 32 }, { "start": 948, "length": 32 }, { "start": 1199, "length": 32 }, { "start": 1347, "length": 32 }, { "start": 1459, "length": 32 }, { "start": 1820, "length": 32 }, { "start": 2235, "length": 32 }] } }, "methodIdentifiers": { "VERSION()": "ffa1ad74", "activateAndCall(address,bytes)": "c458b07b", "addStake(uint32)": "0396cb60", "deposit()": "d0e30db0", "entryPoint()": "b0d691fe", "getDeposit()": "c399ec88", "getLastOpMode()": "255ed947", "owner()": "8da5cb5b", "postOp(uint8,bytes,uint256)": "a9a23409", "renounceOwnership()": "715018a6", "setOperators(address[],bool)": "a3111bdb", "transferOwnership(address)": "f2fde38b", "unlockStake()": "bb9fe6bf", "validatePaymasterUserOp((address,uint256,bytes,bytes,uint256,uint256,uint256,uint256,uint256,bytes,bytes),bytes32,uint256)": "f465c77e", "withdrawStake(address)": "c23a5cea", "withdrawTo(address,uint256)": "205c2878" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"contract IEntryPoint\",\"name\":\"entryPoint\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"Inactive\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"InvalidOperator\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"}],\"name\":\"InvalidPaymasterAndDataLength\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"VERSION\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"name\":\"activateAndCall\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint32\",\"name\":\"unstakeDelaySec\",\"type\":\"uint32\"}],\"name\":\"addStake\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"deposit\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"entryPoint\",\"outputs\":[{\"internalType\":\"contract IEntryPoint\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getDeposit\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getLastOpMode\",\"outputs\":[{\"internalType\":\"enum IPaymaster.PostOpMode\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum IPaymaster.PostOpMode\",\"name\":\"mode\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"context\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"actualGasCost\",\"type\":\"uint256\"}],\"name\":\"postOp\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"operators\",\"type\":\"address[]\"},{\"internalType\":\"bool\",\"name\":\"isAllowed\",\"type\":\"bool\"}],\"name\":\"setOperators\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"unlockStake\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"initCode\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"callGasLimit\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"verificationGasLimit\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"preVerificationGas\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxFeePerGas\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxPriorityFeePerGas\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"paymasterAndData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"signature\",\"type\":\"bytes\"}],\"internalType\":\"struct UserOperation\",\"name\":\"userOp\",\"type\":\"tuple\"},{\"internalType\":\"bytes32\",\"name\":\"userOpHash\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"maxCost\",\"type\":\"uint256\"}],\"name\":\"validatePaymasterUserOp\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"context\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"validationData\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address payable\",\"name\":\"withdrawAddress\",\"type\":\"address\"}],\"name\":\"withdrawStake\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address payable\",\"name\":\"withdrawAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"withdrawTo\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Fun.xyz\",\"kind\":\"dev\",\"methods\":{\"addStake(uint32)\":{\"params\":{\"unstakeDelaySec\":\"- the unstake delay for this paymaster. Can only be increased.\"}},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"postOp(uint8,bytes,uint256)\":{\"params\":{\"actualGasCost\":\"- actual gas used so far (without this postOp call).\",\"context\":\"- the context value returned by validatePaymasterUserOp\",\"mode\":\"enum with the following options: opSucceeded - user operation succeeded. opReverted - user op reverted. still has to pay for gas. postOpReverted - user op succeeded, but caused postOp (in mode=opSucceeded) to revert. Now this is the 2nd call, after user's op was deliberately reverted.\"}},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"},\"validatePaymasterUserOp((address,uint256,bytes,bytes,uint256,uint256,uint256,uint256,uint256,bytes,bytes),bytes32,uint256)\":{\"params\":{\"maxCost\":\"the maximum cost of this transaction (based on maximum gas and gas price from userOp)\",\"userOp\":\"the user operation\",\"userOpHash\":\"hash of the user's request data.\"},\"returns\":{\"context\":\"value to send to a postOp zero length to signify postOp is not required.\",\"validationData\":\"signature and time-range of this operation, encoded the same as the return value of validateUserOperation <20-byte> sigAuthorizer - 0 for valid signature, 1 to mark signature failure, otherwise, an address of an \\\"authorizer\\\" contract. <6-byte> validUntil - last timestamp this operation is valid. 0 for \\\"indefinite\\\" <6-byte> validAfter - first timestamp this operation is valid Note that the validation code cannot use block.timestamp (or block.number) directly.\"}},\"withdrawStake(address)\":{\"params\":{\"withdrawAddress\":\"the address to send withdrawn value.\"}},\"withdrawTo(address,uint256)\":{\"params\":{\"amount\":\"to withdraw\",\"withdrawAddress\":\"target to send to\"}}},\"title\":\"CheckoutPaymaster\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"addStake(uint32)\":{\"notice\":\"add stake for this paymaster. This method can also carry eth value to add to the current stake.\"},\"deposit()\":{\"notice\":\"add a deposit for this paymaster, used for paying for transaction fees\"},\"getDeposit()\":{\"notice\":\"return current paymaster's deposit on the entryPoint.\"},\"postOp(uint8,bytes,uint256)\":{\"notice\":\"post-operation handler. Must verify sender is the entryPoint\"},\"unlockStake()\":{\"notice\":\"unlock the stake, in order to withdraw it. The paymaster can't serve requests once unlocked, until it calls addStake again\"},\"validatePaymasterUserOp((address,uint256,bytes,bytes,uint256,uint256,uint256,uint256,uint256,bytes,bytes),bytes32,uint256)\":{\"notice\":\"payment validation: check if paymaster agrees to pay. Must verify sender is the entryPoint. Revert to reject this request. Note that bundlers will reject this method if it changes the state, unless the paymaster is trusted (whitelisted) The paymaster pre-pays using its deposit, and receive back a refund after the postOp method returns.\"},\"withdrawStake(address)\":{\"notice\":\"withdraw the entire paymaster's stake. stake must be unlocked first (and then wait for the unstakeDelay to be over)\"},\"withdrawTo(address,uint256)\":{\"notice\":\"withdraw value from the deposit\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/paymaster/CheckoutPaymaster.sol\":\"CheckoutPaymaster\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@account-abstraction/contracts/=lib/account-abstraction/contracts/\",\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":account-abstraction/=lib/account-abstraction/contracts/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\"]},\"sources\":{\"lib/account-abstraction/contracts/core/BasePaymaster.sol\":{\"keccak256\":\"0x27f658d545b5f26c2e09a7ac4fba72f9975433839d10225a520e557540b84443\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://426f0c6565ae612d34ae184fb1582e6fc360abf79450975c1c2dd439184094a0\",\"dweb:/ipfs/QmZMeMosC1P6Z5BQyT6iGFQrY6ui5ART65ycVWmXFnDpoq\"]},\"lib/account-abstraction/contracts/core/Helpers.sol\":{\"keccak256\":\"0x591c87519f7155d1909210276b77925ab2722a99b7b5d5649aecc36ebbdb045a\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://69643e83f68e6a13d5075c7565bfce326673b0bd98c432033c4603ea84835746\",\"dweb:/ipfs/QmSwSzjYyV7qudi5vvsmzHMG2Z4YJZxX51RRXXVCLaNcEU\"]},\"lib/account-abstraction/contracts/interfaces/IAggregator.sol\":{\"keccak256\":\"0x060e9ddb0152250c269ba0640dc5753834ac44cf182a2837d508c0c529cae26a\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://20ed837bc5909c89ff1910246bf245a5dad6840aa939382e1694964eb7dbd37b\",\"dweb:/ipfs/QmTMybRq5yyghPDDs1ZCNAVB9sSJ4WHe6Q9mejuKPTAdNP\"]},\"lib/account-abstraction/contracts/interfaces/IEntryPoint.sol\":{\"keccak256\":\"0x3a90bf308819ed125fa4202f880999caff8a8686633b8ddb79a30ca240d5b8f8\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d2d21cc92c2fdab2b58d21bc25d4cd0e8c284b922528a186b087b818d54bc6cf\",\"dweb:/ipfs/QmT1qrfuBjsv2rmRCDn8mgPXHp94hARJwzbcDuBLDTbFWd\"]},\"lib/account-abstraction/contracts/interfaces/INonceManager.sol\":{\"keccak256\":\"0x509871e6c63663cdcc3eba19920fe84e991f38b289b1377ac3c3a6d9f22d7e12\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://00fe21b4349b24c50df60e1a705179293982bd9e7a32b78d4bac9620f89e7fe2\",\"dweb:/ipfs/QmSFFYGfUwQbVa6hASjU7YxTvgi2HkfrPr4X5oPHscHg8b\"]},\"lib/account-abstraction/contracts/interfaces/IPaymaster.sol\":{\"keccak256\":\"0x36858ba8685024974f533530420688da3454d29996ebc42e410673a1ed2ec456\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://616cbcf51778b1961b7f20a547bec7efae6d1d565df0f651926241ed8bde9ad8\",\"dweb:/ipfs/QmaVsgffUUmeUJYgStvRr8cNZ1LBbrc3FYNLW4JT1dVLia\"]},\"lib/account-abstraction/contracts/interfaces/IStakeManager.sol\":{\"keccak256\":\"0xd227b02888cd4ac68daebcdfd992ec00f9fff66fa3b3bb16f656cd582fa3480f\",\"license\":\"GPL-3.0-only\",\"urls\":[\"bzz-raw://b389da4714a138be63704a576a482505eab2855e263b38a93706395d8d42e7c3\",\"dweb:/ipfs/QmeeAZpdHwUXxqP8pxA7GNtoCGBmmH4FaqLLwScVKGxtxZ\"]},\"lib/account-abstraction/contracts/interfaces/UserOperation.sol\":{\"keccak256\":\"0x61374003361059087fdcf17967a7bba052badeaf5c7f0ae689166f8aafd3a45c\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://6ff83c59432e733bf6304dda27cd4b0f34401917dd535e2669cc842d2d26568c\",\"dweb:/ipfs/QmPJbHU5TAjHqUTZzAcicEeG2nknmwCN43L4EW9LHbknTN\"]},\"lib/openzeppelin-contracts/contracts/access/Ownable.sol\":{\"keccak256\":\"0xba43b97fba0d32eb4254f6a5a297b39a19a247082a02d6e69349e071e2946218\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fc980984badf3984b6303b377711220e067722bbd6a135b24669ff5069ef9f32\",\"dweb:/ipfs/QmPHXMSXj99XjSVM21YsY6aNtLLjLVXDbyN76J5HQYvvrz\"]},\"lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"src/interfaces/InspectablePaymasterInterface.sol\":{\"keccak256\":\"0xfa01cf6d6c5c7585be4ffba481461417568e83e4326e4d4f3f978f448c494c05\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://359879084737d058f0098e12d25170e8181bf597231cb440302a945d6483e638\",\"dweb:/ipfs/QmWjJtxkBGXk8MmrVQCqp2gjyyibTmMc6b6GwQLcrcGyNp\"]},\"src/paymaster/CheckoutPaymaster.sol\":{\"keccak256\":\"0x750ce14a013dca17e026f47f3e1f141c7941983a9e38d66d79ad32f7dd4f64d3\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://e0a9a642e69bbba805719b3c12144f2e32d3e2b70d24392ae7b09dd72a9510c6\",\"dweb:/ipfs/Qma8sDR2eC1pjAjkizjNhBnBbMvZV1x6pv82Z4xjNHvnaW\"]},\"src/paymaster/CheckoutPaymasterEventsAndErrors.sol\":{\"keccak256\":\"0xff791f10ae484b55407bdfa6f82516187388264e8e84bccd7571486c6ee08c37\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://0df9a5fbbe1aa679422daa50a9f25a1fdd84df2a939903d9dd3f90d3a88f99e2\",\"dweb:/ipfs/QmPFaWWrb49R8WZizNKC7LN9YhWuhF7wey6cZKQg2WkMnr\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.8.20+commit.a1b79de6" }, "language": "Solidity", "output": { "abi": [{ "inputs": [{ "internalType": "contract IEntryPoint", "name": "entryPoint", "type": "address" }], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [], "type": "error", "name": "Inactive" }, { "inputs": [{ "internalType": "address", "name": "operator", "type": "address" }], "type": "error", "name": "InvalidOperator" }, { "inputs": [{ "internalType": "uint256", "name": "length", "type": "uint256" }], "type": "error", "name": "InvalidPaymasterAndDataLength" }, { "inputs": [{ "internalType": "address", "name": "previousOwner", "type": "address", "indexed": true }, { "internalType": "address", "name": "newOwner", "type": "address", "indexed": true }], "type": "event", "name": "OwnershipTransferred", "anonymous": false }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "VERSION", "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }] }, { "inputs": [{ "internalType": "address", "name": "target", "type": "address" }, { "internalType": "bytes", "name": "callData", "type": "bytes" }], "stateMutability": "payable", "type": "function", "name": "activateAndCall", "outputs": [{ "internalType": "bytes", "name": "", "type": "bytes" }] }, { "inputs": [{ "internalType": "uint32", "name": "unstakeDelaySec", "type": "uint32" }], "stateMutability": "payable", "type": "function", "name": "addStake" }, { "inputs": [], "stateMutability": "payable", "type": "function", "name": "deposit" }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "entryPoint", "outputs": [{ "internalType": "contract IEntryPoint", "name": "", "type": "address" }] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getDeposit", "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getLastOpMode", "outputs": [{ "internalType": "enum IPaymaster.PostOpMode", "name": "", "type": "uint8" }] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "owner", "outputs": [{ "internalType": "address", "name": "", "type": "address" }] }, { "inputs": [{ "internalType": "enum IPaymaster.PostOpMode", "name": "mode", "type": "uint8" }, { "internalType": "bytes", "name": "context", "type": "bytes" }, { "internalType": "uint256", "name": "actualGasCost", "type": "uint256" }], "stateMutability": "nonpayable", "type": "function", "name": "postOp" }, { "inputs": [], "stateMutability": "nonpayable", "type": "function", "name": "renounceOwnership" }, { "inputs": [{ "internalType": "address[]", "name": "operators", "type": "address[]" }, { "internalType": "bool", "name": "isAllowed", "type": "bool" }], "stateMutability": "nonpayable", "type": "function", "name": "setOperators" }, { "inputs": [{ "internalType": "address", "name": "newOwner", "type": "address" }], "stateMutability": "nonpayable", "type": "function", "name": "transferOwnership" }, { "inputs": [], "stateMutability": "nonpayable", "type": "function", "name": "unlockStake" }, { "inputs": [{ "internalType": "struct UserOperation", "name": "userOp", "type": "tuple", "components": [{ "internalType": "address", "name": "sender", "type": "address" }, { "internalType": "uint256", "name": "nonce", "type": "uint256" }, { "internalType": "bytes", "name": "initCode", "type": "bytes" }, { "internalType": "bytes", "name": "callData", "type": "bytes" }, { "internalType": "uint256", "name": "callGasLimit", "type": "uint256" }, { "internalType": "uint256", "name": "verificationGasLimit", "type": "uint256" }, { "internalType": "uint256", "name": "preVerificationGas", "type": "uint256" }, { "internalType": "uint256", "name": "maxFeePerGas", "type": "uint256" }, { "internalType": "uint256", "name": "maxPriorityFeePerGas", "type": "uint256" }, { "internalType": "bytes", "name": "paymasterAndData", "type": "bytes" }, { "internalType": "bytes", "name": "signature", "type": "bytes" }] }, { "internalType": "bytes32", "name": "userOpHash", "type": "bytes32" }, { "internalType": "uint256", "name": "maxCost", "type": "uint256" }], "stateMutability": "nonpayable", "type": "function", "name": "validatePaymasterUserOp", "outputs": [{ "internalType": "bytes", "name": "context", "type": "bytes" }, { "internalType": "uint256", "name": "validationData", "type": "uint256" }] }, { "inputs": [{ "internalType": "address payable", "name": "withdrawAddress", "type": "address" }], "stateMutability": "nonpayable", "type": "function", "name": "withdrawStake" }, { "inputs": [{ "internalType": "address payable", "name": "withdrawAddress", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" }], "stateMutability": "nonpayable", "type": "function", "name": "withdrawTo" }], "devdoc": { "kind": "dev", "methods": { "addStake(uint32)": { "params": { "unstakeDelaySec": "- the unstake delay for this paymaster. Can only be increased." } }, "owner()": { "details": "Returns the address of the current owner." }, "postOp(uint8,bytes,uint256)": { "params": { "actualGasCost": "- actual gas used so far (without this postOp call).", "context": "- the context value returned by validatePaymasterUserOp", "mode": "enum with the following options: opSucceeded - user operation succeeded. opReverted - user op reverted. still has to pay for gas. postOpReverted - user op succeeded, but caused postOp (in mode=opSucceeded) to revert. Now this is the 2nd call, after user's op was deliberately reverted." } }, "renounceOwnership()": { "details": "Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner." }, "transferOwnership(address)": { "details": "Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner." }, "validatePaymasterUserOp((address,uint256,bytes,bytes,uint256,uint256,uint256,uint256,uint256,bytes,bytes),bytes32,uint256)": { "params": { "maxCost": "the maximum cost of this transaction (based on maximum gas and gas price from userOp)", "userOp": "the user operation", "userOpHash": "hash of the user's request data." }, "returns": { "context": "value to send to a postOp zero length to signify postOp is not required.", "validationData": "signature and time-range of this operation, encoded the same as the return value of validateUserOperation <20-byte> sigAuthorizer - 0 for valid signature, 1 to mark signature failure, otherwise, an address of an \"authorizer\" contract. <6-byte> validUntil - last timestamp this operation is valid. 0 for \"indefinite\" <6-byte> validAfter - first timestamp this operation is valid Note that the validation code cannot use block.timestamp (or block.number) directly." } }, "withdrawStake(address)": { "params": { "withdrawAddress": "the address to send withdrawn value." } }, "withdrawTo(address,uint256)": { "params": { "amount": "to withdraw", "withdrawAddress": "target to send to" } } }, "version": 1 }, "userdoc": { "kind": "user", "methods": { "addStake(uint32)": { "notice": "add stake for this paymaster. This method can also carry eth value to add to the current stake." }, "deposit()": { "notice": "add a deposit for this paymaster, used for paying for transaction fees" }, "getDeposit()": { "notice": "return current paymaster's deposit on the entryPoint." }, "postOp(uint8,bytes,uint256)": { "notice": "post-operation handler. Must verify sender is the entryPoint" }, "unlockStake()": { "notice": "unlock the stake, in order to withdraw it. The paymaster can't serve requests once unlocked, until it calls addStake again" }, "validatePaymasterUserOp((address,uint256,bytes,bytes,uint256,uint256,uint256,uint256,uint256,bytes,bytes),bytes32,uint256)": { "notice": "payment validation: check if paymaster agrees to pay. Must verify sender is the entryPoint. Revert to reject this request. Note that bundlers will reject this method if it changes the state, unless the paymaster is trusted (whitelisted) The paymaster pre-pays using its deposit, and receive back a refund after the postOp method returns." }, "withdrawStake(address)": { "notice": "withdraw the entire paymaster's stake. stake must be unlocked first (and then wait for the unstakeDelay to be over)" }, "withdrawTo(address,uint256)": { "notice": "withdraw value from the deposit" } }, "version": 1 } }, "settings": { "remappings": ["@account-abstraction/contracts/=lib/account-abstraction/contracts/", "@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/", "@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/", "account-abstraction/=lib/account-abstraction/contracts/", "ds-test/=lib/forge-std/lib/ds-test/src/", "erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/", "forge-std/=lib/forge-std/src/", "openzeppelin-contracts/=lib/openzeppelin-contracts/", "openzeppelin/=lib/openzeppelin-contracts/contracts/"], "optimizer": { "enabled": true, "runs": 200 }, "metadata": { "bytecodeHash": "ipfs" }, "compilationTarget": { "src/paymaster/CheckoutPaymaster.sol": "CheckoutPaymaster" }, "libraries": {} }, "sources": { "lib/account-abstraction/contracts/core/BasePaymaster.sol": { "keccak256": "0x27f658d545b5f26c2e09a7ac4fba72f9975433839d10225a520e557540b84443", "urls": ["bzz-raw://426f0c6565ae612d34ae184fb1582e6fc360abf79450975c1c2dd439184094a0", "dweb:/ipfs/QmZMeMosC1P6Z5BQyT6iGFQrY6ui5ART65ycVWmXFnDpoq"], "license": "GPL-3.0" }, "lib/account-abstraction/contracts/core/Helpers.sol": { "keccak256": "0x591c87519f7155d1909210276b77925ab2722a99b7b5d5649aecc36ebbdb045a", "urls": ["bzz-raw://69643e83f68e6a13d5075c7565bfce326673b0bd98c432033c4603ea84835746", "dweb:/ipfs/QmSwSzjYyV7qudi5vvsmzHMG2Z4YJZxX51RRXXVCLaNcEU"], "license": "GPL-3.0" }, "lib/account-abstraction/contracts/interfaces/IAggregator.sol": { "keccak256": "0x060e9ddb0152250c269ba0640dc5753834ac44cf182a2837d508c0c529cae26a", "urls": ["bzz-raw://20ed837bc5909c89ff1910246bf245a5dad6840aa939382e1694964eb7dbd37b", "dweb:/ipfs/QmTMybRq5yyghPDDs1ZCNAVB9sSJ4WHe6Q9mejuKPTAdNP"], "license": "GPL-3.0" }, "lib/account-abstraction/contracts/interfaces/IEntryPoint.sol": { "keccak256": "0x3a90bf308819ed125fa4202f880999caff8a8686633b8ddb79a30ca240d5b8f8", "urls": ["bzz-raw://d2d21cc92c2fdab2b58d21bc25d4cd0e8c284b922528a186b087b818d54bc6cf", "dweb:/ipfs/QmT1qrfuBjsv2rmRCDn8mgPXHp94hARJwzbcDuBLDTbFWd"], "license": "GPL-3.0" }, "lib/account-abstraction/contracts/interfaces/INonceManager.sol": { "keccak256": "0x509871e6c63663cdcc3eba19920fe84e991f38b289b1377ac3c3a6d9f22d7e12", "urls": ["bzz-raw://00fe21b4349b24c50df60e1a705179293982bd9e7a32b78d4bac9620f89e7fe2", "dweb:/ipfs/QmSFFYGfUwQbVa6hASjU7YxTvgi2HkfrPr4X5oPHscHg8b"], "license": "GPL-3.0" }, "lib/account-abstraction/contracts/interfaces/IPaymaster.sol": { "keccak256": "0x36858ba8685024974f533530420688da3454d29996ebc42e410673a1ed2ec456", "urls": ["bzz-raw://616cbcf51778b1961b7f20a547bec7efae6d1d565df0f651926241ed8bde9ad8", "dweb:/ipfs/QmaVsgffUUmeUJYgStvRr8cNZ1LBbrc3FYNLW4JT1dVLia"], "license": "GPL-3.0" }, "lib/account-abstraction/contracts/interfaces/IStakeManager.sol": { "keccak256": "0xd227b02888cd4ac68daebcdfd992ec00f9fff66fa3b3bb16f656cd582fa3480f", "urls": ["bzz-raw://b389da4714a138be63704a576a482505eab2855e263b38a93706395d8d42e7c3", "dweb:/ipfs/QmeeAZpdHwUXxqP8pxA7GNtoCGBmmH4FaqLLwScVKGxtxZ"], "license": "GPL-3.0-only" }, "lib/account-abstraction/contracts/interfaces/UserOperation.sol": { "keccak256": "0x61374003361059087fdcf17967a7bba052badeaf5c7f0ae689166f8aafd3a45c", "urls": ["bzz-raw://6ff83c59432e733bf6304dda27cd4b0f34401917dd535e2669cc842d2d26568c", "dweb:/ipfs/QmPJbHU5TAjHqUTZzAcicEeG2nknmwCN43L4EW9LHbknTN"], "license": "GPL-3.0" }, "lib/openzeppelin-contracts/contracts/access/Ownable.sol": { "keccak256": "0xba43b97fba0d32eb4254f6a5a297b39a19a247082a02d6e69349e071e2946218", "urls": ["bzz-raw://fc980984badf3984b6303b377711220e067722bbd6a135b24669ff5069ef9f32", "dweb:/ipfs/QmPHXMSXj99XjSVM21YsY6aNtLLjLVXDbyN76J5HQYvvrz"], "license": "MIT" }, "lib/openzeppelin-contracts/contracts/utils/Context.sol": { "keccak256": "0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7", "urls": ["bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92", "dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3"], "license": "MIT" }, "src/interfaces/InspectablePaymasterInterface.sol": { "keccak256": "0xfa01cf6d6c5c7585be4ffba481461417568e83e4326e4d4f3f978f448c494c05", "urls": ["bzz-raw://359879084737d058f0098e12d25170e8181bf597231cb440302a945d6483e638", "dweb:/ipfs/QmWjJtxkBGXk8MmrVQCqp2gjyyibTmMc6b6GwQLcrcGyNp"], "license": "UNLICENSED" }, "src/paymaster/CheckoutPaymaster.sol": { "keccak256": "0x750ce14a013dca17e026f47f3e1f141c7941983a9e38d66d79ad32f7dd4f64d3", "urls": ["bzz-raw://e0a9a642e69bbba805719b3c12144f2e32d3e2b70d24392ae7b09dd72a9510c6", "dweb:/ipfs/Qma8sDR2eC1pjAjkizjNhBnBbMvZV1x6pv82Z4xjNHvnaW"], "license": "UNLICENSED" }, "src/paymaster/CheckoutPaymasterEventsAndErrors.sol": { "keccak256": "0xff791f10ae484b55407bdfa6f82516187388264e8e84bccd7571486c6ee08c37", "urls": ["bzz-raw://0df9a5fbbe1aa679422daa50a9f25a1fdd84df2a939903d9dd3f90d3a88f99e2", "dweb:/ipfs/QmPFaWWrb49R8WZizNKC7LN9YhWuhF7wey6cZKQg2WkMnr"], "license": "UNLICENSED" } }, "version": 1 }, "ast": { "absolutePath": "src/paymaster/CheckoutPaymaster.sol", "id": 54009, "exportedSymbols": { "ActiveState": [53806], "BasePaymaster": [361], "CheckoutPaymaster": [54008], "CheckoutPaymasterEventsAndErrors": [54021], "IEntryPoint": [857], "InspectablePaymasterInterface": [53775], "UserOperation": [1045] }, "nodeType": "SourceUnit", "src": "39:3583:74", "nodes": [{ "id": 53792, "nodeType": "PragmaDirective", "src": "39:24:74", "nodes": [], "literals": ["solidity", "^", "0.8", ".13"] }, { "id": 53794, "nodeType": "ImportDirective", "src": "65:90:74", "nodes": [], "absolutePath": "lib/account-abstraction/contracts/core/BasePaymaster.sol", "file": "@account-abstraction/contracts/core/BasePaymaster.sol", "nameLocation": "-1:-1:-1", "scope": 54009, "sourceUnit": 362, "symbolAliases": [{ "foreign": { "id": 53793, "name": "BasePaymaster", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 361, "src": "78:13:74", "typeDescriptions": {} }, "nameLocation": "-1:-1:-1" }], "unitAlias": "" }, { "id": 53796, "nodeType": "ImportDirective", "src": "156:92:74", "nodes": [], "absolutePath": "lib/account-abstraction/contracts/interfaces/IEntryPoint.sol", "file": "@account-abstraction/contracts/interfaces/IEntryPoint.sol", "nameLocation": "-1:-1:-1", "scope": 54009, "sourceUnit": 858, "symbolAliases": [{ "foreign": { "id": 53795, "name": "IEntryPoint", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 857, "src": "169:11:74", "typeDescriptions": {} }, "nameLocation": "-1:-1:-1" }], "unitAlias": "" }, { "id": 53798, "nodeType": "ImportDirective", "src": "249:96:74", "nodes": [], "absolutePath": "lib/account-abstraction/contracts/interfaces/UserOperation.sol", "file": "@account-abstraction/contracts/interfaces/UserOperation.sol", "nameLocation": "-1:-1:-1", "scope": 54009, "sourceUnit": 1216, "symbolAliases": [{ "foreign": { "id": 53797, "name": "UserOperation", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1045, "src": "262:13:74", "typeDescriptions": {} }, "nameLocation": "-1:-1:-1" }], "unitAlias": "" }, { "id": 53800, "nodeType": "ImportDirective", "src": "347:100:74", "nodes": [], "absolutePath": "src/interfaces/InspectablePaymasterInterface.sol", "file": "../interfaces/InspectablePaymasterInterface.sol", "nameLocation": "-1:-1:-1", "scope": 54009, "sourceUnit": 53776, "symbolAliases": [{ "foreign": { "id": 53799, "name": "InspectablePaymasterInterface", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 53775, "src": "360:29:74", "typeDescriptions": {} }, "nameLocation": "-1:-1:-1" }], "unitAlias": "" }, { "id": 53802, "nodeType": "ImportDirective", "src": "448:94:74", "nodes": [], "absolutePath": "src/paymaster/CheckoutPaymasterEventsAndErrors.sol", "file": "./CheckoutPaymasterEventsAndErrors.sol", "nameLocation": "-1:-1:-1", "scope": 54009, "sourceUnit": 54022, "symbolAliases": [{ "foreign": { "id": 53801, "name": "CheckoutPaymasterEventsAndErrors", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 54021, "src": "461:32:74", "typeDescriptions": {} }, "nameLocation": "-1:-1:-1" }], "unitAlias": "" }, { "id": 53806, "nodeType": "EnumDefinition", "src": "544:77:74", "nodes": [], "canonicalName": "ActiveState", "members": [{ "id": 53803, "name": "UNSPECIFIED", "nameLocation": "567:11:74", "nodeType": "EnumValue", "src": "567:11:74" }, { "id": 53804, "name": "INACTIVE", "nameLocation": "589:8:74", "nodeType": "EnumValue", "src": "589:8:74" }, { "id": 53805, "name": "ACTIVE", "nameLocation": "608:6:74", "nodeType": "EnumValue", "src": "608:6:74" }], "name": "ActiveState", "nameLocation": "549:11:74" }, { "id": 54008, "nodeType": "ContractDefinition", "src": "678:2943:74", "nodes": [{ "id": 53816, "nodeType": "VariableDeclaration", "src": "805:35:74", "nodes": [], "constant": true, "functionSelector": "ffa1ad74", "mutability": "constant", "name": "VERSION", "nameLocation": "829:7:74", "scope": 54008, "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 53814, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "805:7:74", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": { "hexValue": "31", "id": 53815, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "839:1:74", "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" }, "value": "1" }, "visibility": "public" }, { "id": 53819, "nodeType": "VariableDeclaration", "src": "846:35:74", "nodes": [], "constant": false, "mutability": "mutable", "name": "_ACTIVE_STATE_", "nameLocation": "867:14:74", "scope": 54008, "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_enum$_ActiveState_$53806", "typeString": "enum ActiveState" }, "typeName": { "id": 53818, "nodeType": "UserDefinedTypeName", "pathNode": { "id": 53817, "name": "ActiveState", "nameLocations": ["846:11:74"], "nodeType": "IdentifierPath", "referencedDeclaration": 53806, "src": "846:11:74" }, "referencedDeclaration": 53806, "src": "846:11:74", "typeDescriptions": { "typeIdentifier": "t_enum$_ActiveState_$53806", "typeString": "enum ActiveState" } }, "visibility": "internal" }, { "id": 53822, "nodeType": "VariableDeclaration", "src": "887:34:74", "nodes": [], "constant": false, "mutability": "mutable", "name": "_LAST_OP_MODE_", "nameLocation": "907:14:74", "scope": 54008, "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_enum$_PostOpMode_$884", "typeString": "enum IPaymaster.PostOpMode" }, "typeName": { "id": 53821, "nodeType": "UserDefinedTypeName", "pathNode": { "id": 53820, "name": "PostOpMode", "nameLocations": ["887:10:74"], "nodeType": "IdentifierPath", "referencedDeclaration": 884, "src": "887:10:74" }, "referencedDeclaration": 884, "src": "887:10:74", "typeDescriptions": { "typeIdentifier": "t_enum$_PostOpMode_$884", "typeString": "enum IPaymaster.PostOpMode" } }, "visibility": "internal" }, { "id": 53826, "nodeType": "VariableDeclaration", "src": "1005:45:74", "nodes": [], "constant": false, "mutability": "mutable", "name": "_OPERATORS_", "nameLocation": "1039:11:74", "scope": 54008, "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" }, "typeName": { "id": 53825, "keyName": "", "keyNameLocation": "-1:-1:-1", "keyType": { "id": 53823, "name": "address", "nodeType": "ElementaryTypeName", "src": "1013:7:74", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "Mapping", "src": "1005:24:74", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" }, "valueName": "", "valueNameLocation": "-1:-1:-1", "valueType": { "id": 53824, "name": "bool", "nodeType": "ElementaryTypeName", "src": "1024:4:74", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } } }, "visibility": "internal" }, { "id": 53852, "nodeType": "ModifierDefinition", "src": "1057:228:74", "nodes": [], "body": { "id": 53851, "nodeType": "Block", "src": "1077:208:74", "nodes": [], "statements": [{ "condition": { "id": 53832, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "UnaryOperation", "operator": "!", "prefix": true, "src": "1091:24:74", "subExpression": { "baseExpression": { "id": 53828, "name": "_OPERATORS_", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 53826, "src": "1092:11:74", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, "id": 53831, "indexExpression": { "expression": { "id": 53829, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -15, "src": "1104:3:74", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, "id": 53830, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberLocation": "1108:6:74", "memberName": "sender", "nodeType": "MemberAccess", "src": "1104:10:74", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "1092:23:74", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "id": 53839, "nodeType": "IfStatement", "src": "1087:89:74", "trueBody": { "id": 53838, "nodeType": "Block", "src": "1117:59:74", "statements": [{ "errorCall": { "arguments": [{ "expression": { "id": 53834, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -15, "src": "1154:3:74", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, "id": 53835, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberLocation": "1158:6:74", "memberName": "sender", "nodeType": "MemberAccess", "src": "1154:10:74", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }], "expression": { "argumentTypes": [{ "typeIdentifier": "t_address", "typeString": "address" }], "id": 53833, "name": "InvalidOperator", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 54016, "src": "1138:15:74", "typeDescriptions": { "typeIdentifier": "t_function_error_pure$_t_address_$returns$__$", "typeString": "function (address) pure" } }, "id": 53836, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "1138:27:74", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 53837, "nodeType": "RevertStatement", "src": "1131:34:74" }] } }, { "expression": { "id": 53843, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "id": 53840, "name": "_ACTIVE_STATE_", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 53819, "src": "1185:14:74", "typeDescriptions": { "typeIdentifier": "t_enum$_ActiveState_$53806", "typeString": "enum ActiveState" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "expression": { "id": 53841, "name": "ActiveState", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 53806, "src": "1202:11:74", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_ActiveState_$53806_$", "typeString": "type(enum ActiveState)" } }, "id": 53842, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "memberLocation": "1214:6:74", "memberName": "ACTIVE", "nodeType": "MemberAccess", "referencedDeclaration": 53805, "src": "1202:18:74", "typeDescriptions": { "typeIdentifier": "t_enum$_ActiveState_$53806", "typeString": "enum ActiveState" } }, "src": "1185:35:74", "typeDescriptions": { "typeIdentifier": "t_enum$_ActiveState_$53806", "typeString": "enum ActiveState" } }, "id": 53844, "nodeType": "ExpressionStatement", "src": "1185:35:74" }, { "id": 53845, "nodeType": "PlaceholderStatement", "src": "1230:1:74" }, { "expression": { "id": 53849, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "id": 53846, "name": "_ACTIVE_STATE_", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 53819, "src": "1241:14:74", "typeDescriptions": { "typeIdentifier": "t_enum$_ActiveState_$53806", "typeString": "enum ActiveState" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "expression": { "id": 53847, "name": "ActiveState", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 53806, "src": "1258:11:74", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_ActiveState_$53806_$", "typeString": "type(enum ActiveState)" } }, "id": 53848, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "memberLocation": "1270:8:74", "memberName": "INACTIVE", "nodeType": "MemberAccess", "referencedDeclaration": 53804, "src": "1258:20:74", "typeDescriptions": { "typeIdentifier": "t_enum$_ActiveState_$53806", "typeString": "enum ActiveState" } }, "src": "1241:37:74", "typeDescriptions": { "typeIdentifier": "t_enum$_ActiveState_$53806", "typeString": "enum ActiveState" } }, "id": 53850, "nodeType": "ExpressionStatement", "src": "1241:37:74" }] }, "name": "activate", "nameLocation": "1066:8:74", "parameters": { "id": 53827, "nodeType": "ParameterList", "parameters": [], "src": "1074:2:74" }, "virtual": false, "visibility": "internal" }, { "id": 53865, "nodeType": "ModifierDefinition", "src": "1291:131:74", "nodes": [], "body": { "id": 53864, "nodeType": "Block", "src": "1311:111:74", "nodes": [], "statements": [{ "condition": { "commonType": { "typeIdentifier": "t_enum$_ActiveState_$53806", "typeString": "enum ActiveState" }, "id": 53857, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 53854, "name": "_ACTIVE_STATE_", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 53819, "src": "1325:14:74", "typeDescriptions": { "typeIdentifier": "t_enum$_ActiveState_$53806", "typeString": "enum ActiveState" } }, "nodeType": "BinaryOperation", "operator": "!=", "rightExpression": { "expression": { "id": 53855, "name": "ActiveState", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 53806, "src": "1343:11:74", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_ActiveState_$53806_$", "typeString": "type(enum ActiveState)" } }, "id": 53856, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "memberLocation": "1355:6:74", "memberName": "ACTIVE", "nodeType": "MemberAccess", "referencedDeclaration": 53805, "src": "1343:18:74", "typeDescriptions": { "typeIdentifier": "t_enum$_ActiveState_$53806", "typeString": "enum ActiveState" } }, "src": "1325:36:74", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "id": 53862, "nodeType": "IfStatement", "src": "1321:84:74", "trueBody": { "id": 53861, "nodeType": "Block", "src": "1363:42:74", "statements": [{ "errorCall": { "arguments": [], "expression": { "argumentTypes": [], "id": 53858, "name": "Inactive", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 54012, "src": "1384:8:74", "typeDescriptions": { "typeIdentifier": "t_function_error_pure$__$returns$__$", "typeString": "function () pure" } }, "id": 53859, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "1384:10:74", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 53860, "nodeType": "RevertStatement", "src": "1377:17:74" }] } }, { "id": 53863, "nodeType": "PlaceholderStatement", "src": "1414:1:74" }] }, "name": "isActive", "nameLocation": "1300:8:74", "parameters": { "id": 53853, "nodeType": "ParameterList", "parameters": [], "src": "1308:2:74" }, "virtual": false, "visibility": "internal" }, { "id": 53880, "nodeType": "FunctionDefinition", "src": "1428:116:74", "nodes": [], "body": { "id": 53879, "nodeType": "Block", "src": "1490:54:74", "nodes": [], "statements": [{ "expression": { "id": 53877, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "id": 53874, "name": "_ACTIVE_STATE_", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 53819, "src": "1500:14:74", "typeDescriptions": { "typeIdentifier": "t_enum$_ActiveState_$53806", "typeString": "enum ActiveState" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "expression": { "id": 53875, "name": "ActiveState", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 53806, "src": "1517:11:74", "typeDescriptions": { "typeIdentifier": "t_type$_t_enum$_ActiveState_$53806_$", "typeString": "type(enum ActiveState)" } }, "id": 53876, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "memberLocation": "1529:8:74", "memberName": "INACTIVE", "nodeType": "MemberAccess", "referencedDeclaration": 53804, "src": "1517:20:74", "typeDescriptions": { "typeIdentifier": "t_enum$_ActiveState_$53806", "typeString": "enum ActiveState" } }, "src": "1500:37:74", "typeDescriptions": { "typeIdentifier": "t_enum$_ActiveState_$53806", "typeString": "enum ActiveState" } }, "id": 53878, "nodeType": "ExpressionStatement", "src": "1500:37:74" }] }, "implemented": true, "kind": "constructor", "modifiers": [{ "arguments": [{ "id": 53871, "name": "entryPoint", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 53868, "src": "1478:10:74", "typeDescriptions": { "typeIdentifier": "t_contract$_IEntryPoint_$857", "typeString": "contract IEntryPoint" } }], "id": 53872, "kind": "baseConstructorSpecifier", "modifierName": { "id": 53870, "name": "BasePaymaster", "nameLocations": ["1464:13:74"], "nodeType": "IdentifierPath", "referencedDeclaration": 361, "src": "1464:13:74" }, "nodeType": "ModifierInvocation", "src": "1464:25:74" }], "name": "", "nameLocation": "-1:-1:-1", "parameters": { "id": 53869, "nodeType": "ParameterList", "parameters": [{ "constant": false, "id": 53868, "mutability": "mutable", "name": "entryPoint", "nameLocation": "1452:10:74", "nodeType": "VariableDeclaration", "scope": 53880, "src": "1440:22:74", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_contract$_IEntryPoint_$857", "typeString": "contract IEntryPoint" }, "typeName": { "id": 53867, "nodeType": "UserDefinedTypeName", "pathNode": { "id": 53866, "name": "IEntryPoint", "nameLocations": ["1440:11:74"], "nodeType": "IdentifierPath", "referencedDeclaration": 857, "src": "1440:11:74" }, "referencedDeclaration": 857, "src": "1440:11:74", "typeDescriptions": { "typeIdentifier": "t_contract$_IEntryPoint_$857", "typeString": "contract IEntryPoint" } }, "visibility": "internal" }], "src": "1439:24:74" }, "returnParameters": { "id": 53873, "nodeType": "ParameterList", "parameters": [], "src": "1490:0:74" }, "scope": 54008, "stateMutability": "nonpayable", "virtual": false, "visibility": "public" }, { "id": 53915, "nodeType": "FunctionDefinition", "src": "1550:253:74", "nodes": [], "body": { "id": 53914, "nodeType": "Block", "src": "1659:144:74", "nodes": [], "statements": [{ "assignments": [53891], "declarations": [{ "constant": false, "id": 53891, "mutability": "mutable", "name": "n", "nameLocation": "1677:1:74", "nodeType": "VariableDeclaration", "scope": 53914, "src": "1669:9:74", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 53890, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1669:7:74", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" }], "id": 53894, "initialValue": { "expression": { "id": 53892, "name": "operators", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 53883, "src": "1681:9:74", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" } }, "id": 53893, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberLocation": "1691:6:74", "memberName": "length", "nodeType": "MemberAccess", "src": "1681:16:74", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", "src": "1669:28:74" }, { "body": { "id": 53912, "nodeType": "Block", "src": "1735:62:74", "statements": [{ "expression": { "id": 53910, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "baseExpression": { "id": 53904, "name": "_OPERATORS_", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 53826, "src": "1749:11:74", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, "id": 53908, "indexExpression": { "baseExpression": { "id": 53905, "name": "operators", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 53883, "src": "1761:9:74", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" } }, "id": 53907, "indexExpression": { "id": 53906, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 53896, "src": "1771:1:74", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", "src": "1761:12:74", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", "src": "1749:25:74", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "id": 53909, "name": "isAllowed", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 53885, "src": "1777:9:74", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "src": "1749:37:74", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "id": 53911, "nodeType": "ExpressionStatement", "src": "1749:37:74" }] }, "condition": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 53900, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "id": 53898, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 53896, "src": "1723:1:74", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "<", "rightExpression": { "id": 53899, "name": "n", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 53891, "src": "1727:1:74", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "1723:5:74", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "id": 53913, "initializationExpression": { "assignments": [53896], "declarations": [{ "constant": false, "id": 53896, "mutability": "mutable", "name": "i", "nameLocation": "1720:1:74", "nodeType": "VariableDeclaration", "scope": 53913, "src": "1712:9:74", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 53895, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1712:7:74", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" }], "id": 53897, "nodeType": "VariableDeclarationStatement", "src": "1712:9:74" }, "loopExpression": { "expression": { "id": 53902, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "UnaryOperation", "operator": "++", "prefix": true, "src": "1730:3:74", "subExpression": { "id": 53901, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 53896, "src": "1732:1:74", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 53903, "nodeType": "ExpressionStatement", "src": "1730:3:74" }, "nodeType": "ForStatement", "src": "1707:90:74" }] }, "functionSelector": "a3111bdb", "implemented": true, "kind": "function", "modifiers": [{ "id": 53888, "kind": "modifierInvocation", "modifierName": { "id": 53887, "name": "onlyOwner", "nameLocations": ["1649:9:74"], "nodeType": "IdentifierPath", "referencedDeclaration": 45215, "src": "1649:9:74" }, "nodeType": "ModifierInvocation", "src": "1649:9:74" }], "name": "setOperators", "nameLocation": "1559:12:74", "parameters": { "id": 53886, "nodeType": "ParameterList", "parameters": [{ "constant": false, "id": 53883, "mutability": "mutable", "name": "operators", "nameLocation": "1600:9:74", "nodeType": "VariableDeclaration", "scope": 53915, "src": "1581:28:74", "stateVariable": false, "storageLocation": "calldata", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[]" }, "typeName": { "baseType": { "id": 53881, "name": "address", "nodeType": "ElementaryTypeName", "src": "1581:7:74", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "id": 53882, "nodeType": "ArrayTypeName", "src": "1581:9:74", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", "typeString": "address[]" } }, "visibility": "internal" }, { "constant": false, "id": 53885, "mutability": "mutable", "name": "isAllowed", "nameLocation": "1624:9:74", "nodeType": "VariableDeclaration", "scope": 53915, "src": "1619:14:74", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "typeName": { "id": 53884, "name": "bool", "nodeType": "ElementaryTypeName", "src": "1619:4:74", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "visibility": "internal" }], "src": "1571:68:74" }, "returnParameters": { "id": 53889, "nodeType": "ParameterList", "parameters": [], "src": "1659:0:74" }, "scope": 54008, "stateMutability": "nonpayable", "virtual": false, "visibility": "external" }, { "id": 53949, "nodeType": "FunctionDefinition", "src": "1809:427:74", "nodes": [], "body": { "id": 53948, "nodeType": "Block", "src": "1946:290:74", "nodes": [], "statements": [{ "assignments": [53927, 53929], "declarations": [{ "constant": false, "id": 53927, "mutability": "mutable", "name": "success", "nameLocation": "1962:7:74", "nodeType": "VariableDeclaration", "scope": 53948, "src": "1957:12:74", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "typeName": { "id": 53926, "name": "bool", "nodeType": "ElementaryTypeName", "src": "1957:4:74", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "visibility": "internal" }, { "constant": false, "id": 53929, "mutability": "mutable", "name": "returnData", "nameLocation": "1984:10:74", "nodeType": "VariableDeclaration", "scope": 53948, "src": "1971:23:74", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes" }, "typeName": { "id": 53928, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "1971:5:74", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" } }, "visibility": "internal" }], "id": 53940, "initialValue": { "arguments": [{ "id": 53938, "name": "callData", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 53919, "src": "2059:8:74", "typeDescriptions": { "typeIdentifier": "t_bytes_calldata_ptr", "typeString": "bytes calldata" } }], "expression": { "argumentTypes": [{ "typeIdentifier": "t_bytes_calldata_ptr", "typeString": "bytes calldata" }], "expression": { "argumentTypes": [{ "typeIdentifier": "t_bytes_calldata_ptr", "typeString": "bytes calldata" }], "expression": { "arguments": [{ "id": 53932, "name": "target", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 53917, "src": "2006:6:74", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }], "expression": { "argumentTypes": [{ "typeIdentifier": "t_address", "typeString": "address" }], "id": 53931, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", "src": "1998:8:74", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_payable_$", "typeString": "type(address payable)" }, "typeName": { "id": 53930, "name": "address", "nodeType": "ElementaryTypeName", "src": "1998:8:74", "stateMutability": "payable", "typeDescriptions": {} } }, "id": 53933, "isConstant": false, "isLValue": false, "isPure": false, "kind": "typeConversion", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "1998:15:74", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" } }, "id": 53934, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberLocation": "2014:4:74", "memberName": "call", "nodeType": "MemberAccess", "src": "1998:20:74", "typeDescriptions": { "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$", "typeString": "function (bytes memory) payable returns (bool,bytes memory)" } }, "id": 53937, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "names": ["value"], "nodeType": "FunctionCallOptions", "options": [{ "expression": { "id": 53935, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -15, "src": "2039:3:74", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, "id": 53936, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberLocation": "2043:5:74", "memberName": "value", "nodeType": "MemberAccess", "src": "2039:9:74", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }], "src": "1998:60:74", "typeDescriptions": { "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$value", "typeString": "function (bytes memory) payable returns (bool,bytes memory)" } }, "id": 53939, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "1998:70:74", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", "typeString": "tuple(bool,bytes memory)" } }, "nodeType": "VariableDeclarationStatement", "src": "1956:112:74" }, { "condition": { "id": 53942, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "UnaryOperation", "operator": "!", "prefix": true, "src": "2082:8:74", "subExpression": { "id": 53941, "name": "success", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 53927, "src": "2083:7:74", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "id": 53945, "nodeType": "IfStatement", "src": "2078:125:74", "trueBody": { "id": 53944, "nodeType": "Block", "src": "2092:111:74", "statements": [{ "AST": { "nodeType": "YulBlock", "src": "2115:78:74", "statements": [{ "expression": { "arguments": [{ "arguments": [{ "name": "returnData", "nodeType": "YulIdentifier", "src": "2144:10:74" }, { "kind": "number", "nodeType": "YulLiteral", "src": "2156:2:74", "type": "", "value": "32" }], "functionName": { "name": "add", "nodeType": "YulIdentifier", "src": "2140:3:74" }, "nodeType": "YulFunctionCall", "src": "2140:19:74" }, { "arguments": [{ "name": "returnData", "nodeType": "YulIdentifier", "src": "2167:10:74" }], "functionName": { "name": "mload", "nodeType": "YulIdentifier", "src": "2161:5:74" }, "nodeType": "YulFunctionCall", "src": "2161:17:74" }], "functionName": { "name": "revert", "nodeType": "YulIdentifier", "src": "2133:6:74" }, "nodeType": "YulFunctionCall", "src": "2133:46:74" }, "nodeType": "YulExpressionStatement", "src": "2133:46:74" }] }, "evmVersion": "paris", "externalReferences": [{ "declaration": 53929, "isOffset": false, "isSlot": false, "src": "2144:10:74", "valueSize": 1 }, { "declaration": 53929, "isOffset": false, "isSlot": false, "src": "2167:10:74", "valueSize": 1 }], "id": 53943, "nodeType": "InlineAssembly", "src": "2106:87:74" }] } }, { "expression": { "id": 53946, "name": "returnData", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 53929, "src": "2219:10:74", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } }, "functionReturnParameters": 53925, "id": 53947, "nodeType": "Return", "src": "2212:17:74" }] }, "functionSelector": "c458b07b", "implemented": true, "kind": "function", "modifiers": [{ "id": 53922, "kind": "modifierInvocation", "modifierName": { "id": 53921, "name": "activate", "nameLocations": ["1914:8:74"], "nodeType": "IdentifierPath", "referencedDeclaration": 53852, "src": "1914:8:74" }, "nodeType": "ModifierInvocation", "src": "1914:8:74" }], "name": "activateAndCall", "nameLocation": "1818:15:74", "parameters": { "id": 53920, "nodeType": "ParameterList", "parameters": [{ "constant": false, "id": 53917, "mutability": "mutable", "name": "target", "nameLocation": "1851:6:74", "nodeType": "VariableDeclaration", "scope": 53949, "src": "1843:14:74", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 53916, "name": "address", "nodeType": "ElementaryTypeName", "src": "1843:7:74", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "visibility": "internal" }, { "constant": false, "id": 53919, "mutability": "mutable", "name": "callData", "nameLocation": "1882:8:74", "nodeType": "VariableDeclaration", "scope": 53949, "src": "1867:23:74", "stateVariable": false, "storageLocation": "calldata", "typeDescriptions": { "typeIdentifier": "t_bytes_calldata_ptr", "typeString": "bytes" }, "typeName": { "id": 53918, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "1867:5:74", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" } }, "visibility": "internal" }], "src": "1833:63:74" }, "returnParameters": { "id": 53925, "nodeType": "ParameterList", "parameters": [{ "constant": false, "id": 53924, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", "scope": 53949, "src": "1932:12:74", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes" }, "typeName": { "id": 53923, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "1932:5:74", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" } }, "visibility": "internal" }], "src": "1931:14:74" }, "scope": 54008, "stateMutability": "payable", "virtual": false, "visibility": "external" }, { "id": 53958, "nodeType": "FunctionDefinition", "src": "2242:98:74", "nodes": [], "body": { "id": 53957, "nodeType": "Block", "src": "2302:38:74", "nodes": [], "statements": [{ "expression": { "id": 53955, "name": "_LAST_OP_MODE_", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 53822, "src": "2319:14:74", "typeDescriptions": { "typeIdentifier": "t_enum$_PostOpMode_$884", "typeString": "enum IPaymaster.PostOpMode" } }, "functionReturnParameters": 53954, "id": 53956, "nodeType": "Return", "src": "2312:21:74" }] }, "baseFunctions": [53774], "functionSelector": "255ed947", "implemented": true, "kind": "function", "modifiers": [], "name": "getLastOpMode", "nameLocation": "2251:13:74", "parameters": { "id": 53950, "nodeType": "ParameterList", "parameters": [], "src": "2264:2:74" }, "returnParameters": { "id": 53954, "nodeType": "ParameterList", "parameters": [{ "constant": false, "id": 53953, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", "scope": 53958, "src": "2290:10:74", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_enum$_PostOpMode_$884", "typeString": "enum IPaymaster.PostOpMode" }, "typeName": { "id": 53952, "nodeType": "UserDefinedTypeName", "pathNode": { "id": 53951, "name": "PostOpMode", "nameLocations": ["2290:10:74"], "nodeType": "IdentifierPath", "referencedDeclaration": 884, "src": "2290:10:74" }, "referencedDeclaration": 884, "src": "2290:10:74", "typeDescriptions": { "typeIdentifier": "t_enum$_PostOpMode_$884", "typeString": "enum IPaymaster.PostOpMode" } }, "visibility": "internal" }], "src": "2289:12:74" }, "scope": 54008, "stateMutability": "view", "virtual": false, "visibility": "external" }, { "id": 53988, "nodeType": "FunctionDefinition", "src": "2641:435:74", "nodes": [], "body": { "id": 53987, "nodeType": "Block", "src": "2895:181:74", "nodes": [], "statements": [{ "condition": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 53978, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "expression": { "expression": { "id": 53974, "name": "userOp", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 53962, "src": "2909:6:74", "typeDescriptions": { "typeIdentifier": "t_struct$_UserOperation_$1045_calldata_ptr", "typeString": "struct UserOperation calldata" } }, "id": 53975, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberLocation": "2916:16:74", "memberName": "paymasterAndData", "nodeType": "MemberAccess", "referencedDeclaration": 1042, "src": "2909:23:74", "typeDescriptions": { "typeIdentifier": "t_bytes_calldata_ptr", "typeString": "bytes calldata" } }, "id": 53976, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberLocation": "2933:6:74", "memberName": "length", "nodeType": "MemberAccess", "src": "2909:30:74", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": "!=", "rightExpression": { "hexValue": "3230", "id": 53977, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "2943:2:74", "typeDescriptions": { "typeIdentifier": "t_rational_20_by_1", "typeString": "int_const 20" }, "value": "20" }, "src": "2909:36:74", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "id": 53986, "nodeType": "IfStatement", "src": "2905:165:74", "trueBody": { "id": 53985, "nodeType": "Block", "src": "2947:123:74", "statements": [{ "errorCall": { "arguments": [{ "expression": { "expression": { "id": 53980, "name": "userOp", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 53962, "src": "3015:6:74", "typeDescriptions": { "typeIdentifier": "t_struct$_UserOperation_$1045_calldata_ptr", "typeString": "struct UserOperation calldata" } }, "id": 53981, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberLocation": "3022:16:74", "memberName": "paymasterAndData", "nodeType": "MemberAccess", "referencedDeclaration": 1042, "src": "3015:23:74", "typeDescriptions": { "typeIdentifier": "t_bytes_calldata_ptr", "typeString": "bytes calldata" } }, "id": 53982, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberLocation": "3039:6:74", "memberName": "length", "nodeType": "MemberAccess", "src": "3015:30:74", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }], "expression": { "argumentTypes": [{ "typeIdentifier": "t_uint256", "typeString": "uint256" }], "id": 53979, "name": "InvalidPaymasterAndDataLength", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 54020, "src": "2968:29:74", "typeDescriptions": { "typeIdentifier": "t_function_error_pure$_t_uint256_$returns$__$", "typeString": "function (uint256) pure" } }, "id": 53983, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "2968:91:74", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 53984, "nodeType": "RevertStatement", "src": "2961:98:74" }] } }] }, "baseFunctions": [206], "documentation": { "id": 53959, "nodeType": "StructuredDocumentation", "src": "2346:290:74", "text": " @notice Validate a user operation that is using this paymaster.\n @param userOp ERC-4337 UserOperation.\n @return context The context containing the sponsor, spender, gasPriceUserOp, and opHash.\n @return validationData The validation result." }, "implemented": true, "kind": "function", "modifiers": [], "name": "_validatePaymasterUserOp", "nameLocation": "2650:24:74", "overrides": { "id": 53968, "nodeType": "OverrideSpecifier", "overrides": [], "src": "2819:8:74" }, "parameters": { "id": 53967, "nodeType": "ParameterList", "parameters": [{ "constant": false, "id": 53962, "mutability": "mutable", "name": "userOp", "nameLocation": "2707:6:74", "nodeType": "VariableDeclaration", "scope": 53988, "src": "2684:29:74", "stateVariable": false, "storageLocation": "calldata", "typeDescriptions": { "typeIdentifier": "t_struct$_UserOperation_$1045_calldata_ptr", "typeString": "struct UserOperation" }, "typeName": { "id": 53961, "nodeType": "UserDefinedTypeName", "pathNode": { "id": 53960, "name": "UserOperation", "nameLocations": ["2684:13:74"], "nodeType": "IdentifierPath", "referencedDeclaration": 1045, "src": "2684:13:74" }, "referencedDeclaration": 1045, "src": "2684:13:74", "typeDescriptions": { "typeIdentifier": "t_struct$_UserOperation_$1045_storage_ptr", "typeString": "struct UserOperation" } }, "visibility": "internal" }, { "constant": false, "id": 53964, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", "scope": 53988, "src": "2723:7:74", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" }, "typeName": { "id": 53963, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "2723:7:74", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "visibility": "internal" }, { "constant": false, "id": 53966, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", "scope": 53988, "src": "2753:7:74", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 53965, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "2753:7:74", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" }], "src": "2674:106:74" }, "returnParameters": { "id": 53973, "nodeType": "ParameterList", "parameters": [{ "constant": false, "id": 53970, "mutability": "mutable", "name": "context", "nameLocation": "2858:7:74", "nodeType": "VariableDeclaration", "scope": 53988, "src": "2845:20:74", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes" }, "typeName": { "id": 53969, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "2845:5:74", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" } }, "visibility": "internal" }, { "constant": false, "id": 53972, "mutability": "mutable", "name": "validationData", "nameLocation": "2875:14:74", "nodeType": "VariableDeclaration", "scope": 53988, "src": "2867:22:74", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 53971, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "2867:7:74", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" }], "src": "2844:46:74" }, "scope": 54008, "stateMutability": "pure", "virtual": false, "visibility": "internal" }, { "id": 54007, "nodeType": "FunctionDefinition", "src": "3431:188:74", "nodes": [], "body": { "id": 54006, "nodeType": "Block", "src": "3581:38:74", "nodes": [], "statements": [{ "expression": { "id": 54004, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "id": 54002, "name": "_LAST_OP_MODE_", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 53822, "src": "3591:14:74", "typeDescriptions": { "typeIdentifier": "t_enum$_PostOpMode_$884", "typeString": "enum IPaymaster.PostOpMode" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "id": 54003, "name": "mode", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 53992, "src": "3608:4:74", "typeDescriptions": { "typeIdentifier": "t_enum$_PostOpMode_$884", "typeString": "enum IPaymaster.PostOpMode" } }, "src": "3591:21:74", "typeDescriptions": { "typeIdentifier": "t_enum$_PostOpMode_$884", "typeString": "enum IPaymaster.PostOpMode" } }, "id": 54005, "nodeType": "ExpressionStatement", "src": "3591:21:74" }] }, "baseFunctions": [249], "documentation": { "id": 53989, "nodeType": "StructuredDocumentation", "src": "3082:344:74", "text": " @notice Post-operation handler.\n @dev Records the result of the user operation (e.g. success or revert).\n Also, reverts if the paymaster was not active, ensuring that only allowed\n operators can make use of this paymaster.\n @param mode The mode enum representing the operation result." }, "implemented": true, "kind": "function", "modifiers": [{ "id": 54000, "kind": "modifierInvocation", "modifierName": { "id": 53999, "name": "isActive", "nameLocations": ["3572:8:74"], "nodeType": "IdentifierPath", "referencedDeclaration": 53865, "src": "3572:8:74" }, "nodeType": "ModifierInvocation", "src": "3572:8:74" }], "name": "_postOp", "nameLocation": "3440:7:74", "overrides": { "id": 53998, "nodeType": "OverrideSpecifier", "overrides": [], "src": "3563:8:74" }, "parameters": { "id": 53997, "nodeType": "ParameterList", "parameters": [{ "constant": false, "id": 53992, "mutability": "mutable", "name": "mode", "nameLocation": "3468:4:74", "nodeType": "VariableDeclaration", "scope": 54007, "src": "3457:15:74", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_enum$_PostOpMode_$884", "typeString": "enum IPaymaster.PostOpMode" }, "typeName": { "id": 53991, "nodeType": "UserDefinedTypeName", "pathNode": { "id": 53990, "name": "PostOpMode", "nameLocations": ["3457:10:74"], "nodeType": "IdentifierPath", "referencedDeclaration": 884, "src": "3457:10:74" }, "referencedDeclaration": 884, "src": "3457:10:74", "typeDescriptions": { "typeIdentifier": "t_enum$_PostOpMode_$884", "typeString": "enum IPaymaster.PostOpMode" } }, "visibility": "internal" }, { "constant": false, "id": 53994, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", "scope": 54007, "src": "3482:14:74", "stateVariable": false, "storageLocation": "calldata", "typeDescriptions": { "typeIdentifier": "t_bytes_calldata_ptr", "typeString": "bytes" }, "typeName": { "id": 53993, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "3482:5:74", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" } }, "visibility": "internal" }, { "constant": false, "id": 53996, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", "scope": 54007, "src": "3520:7:74", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 53995, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "3520:7:74", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" }], "src": "3447:106:74" }, "returnParameters": { "id": 54001, "nodeType": "ParameterList", "parameters": [], "src": "3581:0:74" }, "scope": 54008, "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" }], "abstract": false, "baseContracts": [{ "baseName": { "id": 53808, "name": "BasePaymaster", "nameLocations": ["712:13:74"], "nodeType": "IdentifierPath", "referencedDeclaration": 361, "src": "712:13:74" }, "id": 53809, "nodeType": "InheritanceSpecifier", "src": "712:13:74" }, { "baseName": { "id": 53810, "name": "InspectablePaymasterInterface", "nameLocations": ["731:29:74"], "nodeType": "IdentifierPath", "referencedDeclaration": 53775, "src": "731:29:74" }, "id": 53811, "nodeType": "InheritanceSpecifier", "src": "731:29:74" }, { "baseName": { "id": 53812, "name": "CheckoutPaymasterEventsAndErrors", "nameLocations": ["766:32:74"], "nodeType": "IdentifierPath", "referencedDeclaration": 54021, "src": "766:32:74" }, "id": 53813, "nodeType": "InheritanceSpecifier", "src": "766:32:74" }], "canonicalName": "CheckoutPaymaster", "contractDependencies": [], "contractKind": "contract", "documentation": { "id": 53807, "nodeType": "StructuredDocumentation", "src": "623:54:74", "text": " @title CheckoutPaymaster\n @author Fun.xyz" }, "fullyImplemented": true, "linearizedBaseContracts": [54008, 54021, 53775, 361, 45296, 47631, 911], "name": "CheckoutPaymaster", "nameLocation": "687:17:74", "scope": 54009, "usedErrors": [54012, 54016, 54020], "usedEvents": [45197] }], "license": "UNLICENSED" }, "id": 74 }
@@ -1,9 +1,9 @@
1
- import { AddOwnerParams, RemoveOwnerParams, SessionKeyParams } from "./types";
2
- import { SessionKeyAuth } from "../auth";
3
- import { AuthInput } from "../auth/types";
4
- import { TransactionParams } from "../common";
5
- import { EnvOption } from "../config";
6
- import { MerkleTree } from "../utils/MerkleUtils";
1
+ import { SessionKeyAuth } from '../auth';
2
+ import { AuthInput } from '../auth/types';
3
+ import { TransactionParams } from '../common';
4
+ import { EnvOption } from '../config';
5
+ import { MerkleTree } from '../utils/MerkleUtils';
6
+ import { AddOwnerParams, RemoveOwnerParams, SessionKeyParams } from './types';
7
7
  export declare const createFeeRecipientAndTokenMerkleTree: (params: SessionKeyParams) => Promise<MerkleTree>;
8
8
  export declare const createTargetSelectorMerkleTree: (params: SessionKeyParams) => MerkleTree;
9
9
  export declare const createSessionKeyTransactionParams: (params: SessionKeyParams, txOptions?: EnvOption) => Promise<TransactionParams>;
@@ -15,7 +15,10 @@ const createFeeRecipientAndTokenMerkleTree = async (params) => {
15
15
  const options = globalThis.globalEnvOption;
16
16
  const chain = await data_1.Chain.getChain({ chainIdentifier: options.chain });
17
17
  const tokens = await Promise.all((params.feeTokenWhitelist ?? []).map((token) => Token_1.Token.getAddress(token, chain)));
18
- const feeRecipientAndTokenMerkleTree = new MerkleUtils_1.MerkleTree([...recipients, ...tokens]);
18
+ const feeRecipientAndTokenMerkleTree = new MerkleUtils_1.MerkleTree([
19
+ ...recipients,
20
+ ...tokens,
21
+ ]);
19
22
  return feeRecipientAndTokenMerkleTree;
20
23
  };
21
24
  exports.createFeeRecipientAndTokenMerkleTree = createFeeRecipientAndTokenMerkleTree;
@@ -31,10 +34,10 @@ const createTargetSelectorMerkleTree = (params) => {
31
34
  exports.createTargetSelectorMerkleTree = createTargetSelectorMerkleTree;
32
35
  const createSessionKeyTransactionParams = async (params, txOptions = globalThis.globalEnvOption) => {
33
36
  if (params.targetWhitelist.length === 0) {
34
- throw new errors_1.InvalidParameterError(errors_1.ErrorCode.MissingParameter, "targetWhitelist is required", { params }, "Provide targetWhitelist when creating a session key.", "https://docs.fun.xyz");
37
+ throw new errors_1.InvalidParameterError(errors_1.ErrorCode.MissingParameter, 'targetWhitelist is required', { params }, 'Provide targetWhitelist when creating a session key.', 'https://docs.fun.xyz');
35
38
  }
36
39
  if (params.userId === undefined) {
37
- throw new errors_1.InvalidParameterError(errors_1.ErrorCode.MissingParameter, "userId is required", { params }, "Provide userId when creating a session key.", "https://docs.fun.xyz");
40
+ throw new errors_1.InvalidParameterError(errors_1.ErrorCode.MissingParameter, 'userId is required', { params }, 'Provide userId when creating a session key.', 'https://docs.fun.xyz');
38
41
  }
39
42
  let { actionValueLimit, feeValueLimit } = params;
40
43
  actionValueLimit ?? (actionValueLimit = 0n);
@@ -46,19 +49,20 @@ const createSessionKeyTransactionParams = async (params, txOptions = globalThis.
46
49
  targetSelectorMerkleRootHash: targetSelectorMerkleTree.getRootHash(),
47
50
  feeRecipientTokenMerkleRootHash: feeRecipientTokenMerkleTree.getRootHash(),
48
51
  actionValueLimit,
49
- feeValueLimit
52
+ feeValueLimit,
50
53
  };
51
54
  const roleId = params.roleId;
52
55
  const ruleId = params.ruleId;
53
56
  const userId = params.userId;
54
- const setRuleCallData = common_1.RBAC_CONTRACT_INTERFACE.encodeData("setRule", [ruleId, ruleStruct]);
55
- const connectRuleAndRoleCallData = common_1.RBAC_CONTRACT_INTERFACE.encodeData("addRuleToRole", [roleId, ruleId]);
56
- const connectUserToRoleCallData = common_1.RBAC_CONTRACT_INTERFACE.encodeData("addUserToRole", [roleId, userId]);
57
- const chain = await data_1.Chain.getChain({ chainIdentifier: txOptions.chain });
58
- const rbacAddress = await chain.getAddress("rbacAddress");
59
- return common_1.RBAC_CONTRACT_INTERFACE.encodeTransactionParams(rbacAddress, "multiCall", [
60
- [setRuleCallData, connectRuleAndRoleCallData, connectUserToRoleCallData]
57
+ const setRuleCallData = common_1.RBAC_CONTRACT_INTERFACE.encodeData('setRule', [
58
+ ruleId,
59
+ ruleStruct,
61
60
  ]);
61
+ const connectRuleAndRoleCallData = common_1.RBAC_CONTRACT_INTERFACE.encodeData('addRuleToRole', [roleId, ruleId]);
62
+ const connectUserToRoleCallData = common_1.RBAC_CONTRACT_INTERFACE.encodeData('addUserToRole', [roleId, userId]);
63
+ const chain = await data_1.Chain.getChain({ chainIdentifier: txOptions.chain });
64
+ const rbacAddress = await chain.getAddress('rbacAddress');
65
+ return common_1.RBAC_CONTRACT_INTERFACE.encodeTransactionParams(rbacAddress, 'multiCall', [[setRuleCallData, connectRuleAndRoleCallData, connectUserToRoleCallData]]);
62
66
  };
63
67
  exports.createSessionKeyTransactionParams = createSessionKeyTransactionParams;
64
68
  const createSessionUser = async (auth, params) => {
@@ -69,14 +73,14 @@ const createSessionUser = async (auth, params) => {
69
73
  exports.createSessionUser = createSessionUser;
70
74
  const addOwnerTxParams = async (params, txOptions = globalThis.globalEnvOption) => {
71
75
  const chain = await data_1.Chain.getChain({ chainIdentifier: txOptions.chain });
72
- const rbacAddress = await chain.getAddress("rbacAddress");
73
- return common_1.RBAC_CONTRACT_INTERFACE.encodeTransactionParams(rbacAddress, "addOwner", [(0, viem_1.pad)(params.ownerId, { size: 32 })]);
76
+ const rbacAddress = await chain.getAddress('rbacAddress');
77
+ return common_1.RBAC_CONTRACT_INTERFACE.encodeTransactionParams(rbacAddress, 'addOwner', [(0, viem_1.pad)(params.ownerId, { size: 32 })]);
74
78
  };
75
79
  exports.addOwnerTxParams = addOwnerTxParams;
76
80
  const removeOwnerTxParams = async (params, txOptions = globalThis.globalEnvOption) => {
77
81
  const chain = await data_1.Chain.getChain({ chainIdentifier: txOptions.chain });
78
- const rbacAddress = await chain.getAddress("rbacAddress");
79
- return common_1.RBAC_CONTRACT_INTERFACE.encodeTransactionParams(rbacAddress, "removeOwner", [(0, viem_1.pad)(params.ownerId, { size: 32 })]);
82
+ const rbacAddress = await chain.getAddress('rbacAddress');
83
+ return common_1.RBAC_CONTRACT_INTERFACE.encodeTransactionParams(rbacAddress, 'removeOwner', [(0, viem_1.pad)(params.ownerId, { size: 32 })]);
80
84
  };
81
85
  exports.removeOwnerTxParams = removeOwnerTxParams;
82
86
  const convertTimestampToBigInt = (timestamp) => {
@@ -1 +1 @@
1
- {"version":3,"file":"AccessControl.js","sourceRoot":"","sources":["../../../src/actions/AccessControl.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AccessControl.js","sourceRoot":"","sources":["../../../src/actions/AccessControl.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,3 @@
1
- import { Address } from "viem";
2
- import { TransactionParams } from "../common";
1
+ import { Address } from 'viem';
2
+ import { TransactionParams } from '../common';
3
3
  export declare const createExecuteBatchTxParams: (params: TransactionParams[], walletAddress: Address) => TransactionParams;
@@ -5,8 +5,8 @@ const common_1 = require("../common");
5
5
  const createExecuteBatchTxParams = (params, walletAddress) => {
6
6
  const targets = params.map((param) => param.to);
7
7
  const values = params.map((param) => param.value ?? 0n);
8
- const datas = params.map((param) => param.data ?? "0x");
9
- return common_1.WALLET_CONTRACT_INTERFACE.encodeTransactionParams(walletAddress, "executeBatch", [targets, values, datas]);
8
+ const datas = params.map((param) => param.data ?? '0x');
9
+ return common_1.WALLET_CONTRACT_INTERFACE.encodeTransactionParams(walletAddress, 'executeBatch', [targets, values, datas]);
10
10
  };
11
11
  exports.createExecuteBatchTxParams = createExecuteBatchTxParams;
12
12
  //# sourceMappingURL=BatchActions.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BatchActions.js","sourceRoot":"","sources":["../../../src/actions/BatchActions.ts"],"names":[],"mappings":";;;AACA,sCAAwE;AAEjE,MAAM,0BAA0B,GAAG,CAAC,MAA2B,EAAE,aAAsB,EAAqB,EAAE;IACjH,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;IAC/C,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC,CAAA;IACvD,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,IAAI,IAAI,CAAC,CAAA;IACvD,OAAO,kCAAyB,CAAC,uBAAuB,CAAC,aAAa,EAAE,cAAc,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC,CAAA;AACrH,CAAC,CAAA;AALY,QAAA,0BAA0B,8BAKtC"}
1
+ {"version":3,"file":"BatchActions.js","sourceRoot":"","sources":["../../../src/actions/BatchActions.ts"],"names":[],"mappings":";;;AAEA,sCAAwE;AAEjE,MAAM,0BAA0B,GAAG,CACxC,MAA2B,EAC3B,aAAsB,EACH,EAAE;IACrB,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;IAC/C,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC,CAAA;IACvD,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,IAAI,IAAI,CAAC,CAAA;IACvD,OAAO,kCAAyB,CAAC,uBAAuB,CACtD,aAAa,EACb,cAAc,EACd,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,CACzB,CAAA;AACH,CAAC,CAAA;AAZY,QAAA,0BAA0B,8BAYtC"}
@@ -1,5 +1,5 @@
1
- import { Address } from "viem";
2
- import { BridgeParams } from "./types";
3
- import { TransactionParams } from "../common";
4
- import { Chain } from "../data";
1
+ import { Address } from 'viem';
2
+ import { TransactionParams } from '../common';
3
+ import { Chain } from '../data';
4
+ import { BridgeParams } from './types';
5
5
  export declare const bridgeTransactionParams: (params: BridgeParams, walletAddress: Address, chain: Chain) => Promise<TransactionParams>;