├── BasePaymaster__factory.js ├── BrokenBLSAccountFactory__factory.d.ts ├── BrokenBLSAccount__factory.d.ts └── BrokenBLSAccount__factory.js /BasePaymaster__factory.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | /* Autogenerated file. Do not edit manually. */ 3 | /* tslint:disable */ 4 | /* eslint-disable */ 5 | exports.__esModule = true; 6 | exports.BasePaymaster__factory = void 0; 7 | var ethers_1 = require("ethers"); 8 | var _abi = [ 9 | { 10 | anonymous: false, 11 | inputs: [ 12 | { 13 | indexed: true, 14 | internalType: "address", 15 | name: "previousOwner", 16 | type: "address" 17 | }, 18 | { 19 | indexed: true, 20 | internalType: "address", 21 | name: "newOwner", 22 | type: "address" 23 | }, 24 | ], 25 | name: "OwnershipTransferred", 26 | type: "event" 27 | }, 28 | { 29 | inputs: [ 30 | { 31 | internalType: "uint32", 32 | name: "unstakeDelaySec", 33 | type: "uint32" 34 | }, 35 | ], 36 | name: "addStake", 37 | outputs: [], 38 | stateMutability: "payable", 39 | type: "function" 40 | }, 41 | { 42 | inputs: [], 43 | name: "deposit", 44 | outputs: [], 45 | stateMutability: "payable", 46 | type: "function" 47 | }, 48 | { 49 | inputs: [], 50 | name: "entryPoint", 51 | outputs: [ 52 | { 53 | internalType: "contract IEntryPoint", 54 | name: "", 55 | type: "address" 56 | }, 57 | ], 58 | stateMutability: "view", 59 | type: "function" 60 | }, 61 | { 62 | inputs: [], 63 | name: "getDeposit", 64 | outputs: [ 65 | { 66 | internalType: "uint256", 67 | name: "", 68 | type: "uint256" 69 | }, 70 | ], 71 | stateMutability: "view", 72 | type: "function" 73 | }, 74 | { 75 | inputs: [], 76 | name: "owner", 77 | outputs: [ 78 | { 79 | internalType: "address", 80 | name: "", 81 | type: "address" 82 | }, 83 | ], 84 | stateMutability: "view", 85 | type: "function" 86 | }, 87 | { 88 | inputs: [ 89 | { 90 | internalType: "enum IPaymaster.PostOpMode", 91 | name: "mode", 92 | type: "uint8" 93 | }, 94 | { 95 | internalType: "bytes", 96 | name: "context", 97 | type: "bytes" 98 | }, 99 | { 100 | internalType: "uint256", 101 | name: "actualGasCost", 102 | type: "uint256" 103 | }, 104 | ], 105 | name: "postOp", 106 | outputs: [], 107 | stateMutability: "nonpayable", 108 | type: "function" 109 | }, 110 | { 111 | inputs: [], 112 | name: "renounceOwnership", 113 | outputs: [], 114 | stateMutability: "nonpayable", 115 | type: "function" 116 | }, 117 | { 118 | inputs: [ 119 | { 120 | internalType: "address", 121 | name: "newOwner", 122 | type: "address" 123 | }, 124 | ], 125 | name: "transferOwnership", 126 | outputs: [], 127 | stateMutability: "nonpayable", 128 | type: "function" 129 | }, 130 | { 131 | inputs: [], 132 | name: "unlockStake", 133 | outputs: [], 134 | stateMutability: "nonpayable", 135 | type: "function" 136 | }, 137 | { 138 | inputs: [ 139 | { 140 | components: [ 141 | { 142 | internalType: "address", 143 | name: "sender", 144 | type: "address" 145 | }, 146 | { 147 | internalType: "uint256", 148 | name: "nonce", 149 | type: "uint256" 150 | }, 151 | { 152 | internalType: "bytes", 153 | name: "initCode", 154 | type: "bytes" 155 | }, 156 | { 157 | internalType: "bytes", 158 | name: "callData", 159 | type: "bytes" 160 | }, 161 | { 162 | internalType: "uint256", 163 | name: "callGasLimit", 164 | type: "uint256" 165 | }, 166 | { 167 | internalType: "uint256", 168 | name: "verificationGasLimit", 169 | type: "uint256" 170 | }, 171 | { 172 | internalType: "uint256", 173 | name: "preVerificationGas", 174 | type: "uint256" 175 | }, 176 | { 177 | internalType: "uint256", 178 | name: "maxFeePerGas", 179 | type: "uint256" 180 | }, 181 | { 182 | internalType: "uint256", 183 | name: "maxPriorityFeePerGas", 184 | type: "uint256" 185 | }, 186 | { 187 | internalType: "bytes", 188 | name: "paymasterAndData", 189 | type: "bytes" 190 | }, 191 | { 192 | internalType: "bytes", 193 | name: "signature", 194 | type: "bytes" 195 | }, 196 | ], 197 | internalType: "struct UserOperation", 198 | name: "userOp", 199 | type: "tuple" 200 | }, 201 | { 202 | internalType: "bytes32", 203 | name: "userOpHash", 204 | type: "bytes32" 205 | }, 206 | { 207 | internalType: "uint256", 208 | name: "maxCost", 209 | type: "uint256" 210 | }, 211 | ], 212 | name: "validatePaymasterUserOp", 213 | outputs: [ 214 | { 215 | internalType: "bytes", 216 | name: "context", 217 | type: "bytes" 218 | }, 219 | { 220 | internalType: "uint256", 221 | name: "validationData", 222 | type: "uint256" 223 | }, 224 | ], 225 | stateMutability: "nonpayable", 226 | type: "function" 227 | }, 228 | { 229 | inputs: [ 230 | { 231 | internalType: "address payable", 232 | name: "withdrawAddress", 233 | type: "address" 234 | }, 235 | ], 236 | name: "withdrawStake", 237 | outputs: [], 238 | stateMutability: "nonpayable", 239 | type: "function" 240 | }, 241 | { 242 | inputs: [ 243 | { 244 | internalType: "address payable", 245 | name: "withdrawAddress", 246 | type: "address" 247 | }, 248 | { 249 | internalType: "uint256", 250 | name: "amount", 251 | type: "uint256" 252 | }, 253 | ], 254 | name: "withdrawTo", 255 | outputs: [], 256 | stateMutability: "nonpayable", 257 | type: "function" 258 | }, 259 | ]; 260 | var BasePaymaster__factory = /** @class */ (function () { 261 | function BasePaymaster__factory() { 262 | } 263 | BasePaymaster__factory.createInterface = function () { 264 | return new ethers_1.utils.Interface(_abi); 265 | }; 266 | BasePaymaster__factory.connect = function (address, signerOrProvider) { 267 | return new ethers_1.Contract(address, _abi, signerOrProvider); 268 | }; 269 | BasePaymaster__factory.abi = _abi; 270 | return BasePaymaster__factory; 271 | }()); 272 | exports.BasePaymaster__factory = BasePaymaster__factory; 273 | -------------------------------------------------------------------------------- /BrokenBLSAccountFactory__factory.d.ts: -------------------------------------------------------------------------------- 1 | import { Signer, ContractFactory, Overrides } from "ethers"; 2 | import type { Provider, TransactionRequest } from "@ethersproject/providers"; 3 | import type { PromiseOrValue } from "../common"; 4 | import type { BrokenBLSAccountFactory, BrokenBLSAccountFactoryInterface } from "../BrokenBLSAccountFactory"; 5 | type BrokenBLSAccountFactoryConstructorParams = [signer?: Signer] | ConstructorParameters; 6 | export declare class BrokenBLSAccountFactory__factory extends ContractFactory { 7 | constructor(...args: BrokenBLSAccountFactoryConstructorParams); 8 | deploy(entryPoint: PromiseOrValue, aggregator: PromiseOrValue, overrides?: Overrides & { 9 | from?: PromiseOrValue; 10 | }): Promise; 11 | getDeployTransaction(entryPoint: PromiseOrValue, aggregator: PromiseOrValue, overrides?: Overrides & { 12 | from?: PromiseOrValue; 13 | }): TransactionRequest; 14 | attach(address: string): BrokenBLSAccountFactory; 15 | connect(signer: Signer): BrokenBLSAccountFactory__factory; 16 | static readonly bytecode = "0x60a060405234801561001057600080fd5b50604051612ede380380612ede83398101604081905261002f916100aa565b818160405161003d90610085565b6001600160a01b03928316815291166020820152604001604051809103906000f080158015610070573d6000803e3d6000fd5b506001600160a01b0316608052506100e49050565b6120c680610e1883390190565b6001600160a01b03811681146100a757600080fd5b50565b600080604083850312156100bd57600080fd5b82516100c881610092565b60208401519092506100d981610092565b809150509250929050565b608051610d0d61010b60003960008181604b0152818160f7015261020d0152610d0d6000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c806311464fbe1461004657806319c2a1b214610096578063de3398dd146100a9575b600080fd5b61006d7f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b61006d6100a436600461038e565b6100bc565b61006d6100b736600461038e565b6101de565b6000806100c984846101de565b905073ffffffffffffffffffffffffffffffffffffffff81163b80156100f1575090506101d8565b8460001b7f0000000000000000000000000000000000000000000000000000000000000000856040516024016101279190610418565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fee472f3600000000000000000000000000000000000000000000000000000000179052516101a790610352565b6101b2929190610479565b8190604051809103906000f59050801580156101d2573d6000803e3d6000fd5b50925050505b92915050565b60006103198360001b604051806020016101f790610352565b6020820181038252601f19601f820116604052507f00000000000000000000000000000000000000000000000000000000000000008560405160240161023d9190610418565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152918152602080830180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fee472f360000000000000000000000000000000000000000000000000000000017905290516102c293929101610479565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152908290526102fe92916020016104e7565b60405160208183030381529060405280519060200120610320565b9392505050565b60006103198383306000604051836040820152846020820152828152600b8101905060ff815360559020949350505050565b6107c18061051783390190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60008060a083850312156103a157600080fd5b82359150602084603f8501126103b657600080fd5b6040516080810181811067ffffffffffffffff821117156103d9576103d961035f565b6040528060a08601878111156103ee57600080fd5b8387015b8181101561040957803583529184019184016103f2565b50505080925050509250929050565b60808101818360005b6004811015610440578151835260209283019290910190600101610421565b50505092915050565b60005b8381101561046457818101518382015260200161044c565b83811115610473576000848401525b50505050565b73ffffffffffffffffffffffffffffffffffffffff8316815260406020820152600082518060408401526104b4816060850160208701610449565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016919091016060019392505050565b600083516104f9818460208801610449565b83519083019061050d818360208801610449565b0194935050505056fe60806040526040516107c13803806107c183398101604081905261002291610321565b61002e82826000610035565b505061043e565b61003e8361006b565b60008251118061004b5750805b156100665761006483836100ab60201b6100291760201c565b505b505050565b610074816100d7565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606100d0838360405180606001604052806027815260200161079a602791396101a9565b9392505050565b6100ea8161022260201b6100551760201c565b6101515760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084015b60405180910390fd5b806101887f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60001b61023160201b6100711760201c565b80546001600160a01b0319166001600160a01b039290921691909117905550565b6060600080856001600160a01b0316856040516101c691906103ef565b600060405180830381855af49150503d8060008114610201576040519150601f19603f3d011682016040523d82523d6000602084013e610206565b606091505b50909250905061021886838387610234565b9695505050505050565b6001600160a01b03163b151590565b90565b606083156102a357825160000361029c576001600160a01b0385163b61029c5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610148565b50816102ad565b6102ad83836102b5565b949350505050565b8151156102c55781518083602001fd5b8060405162461bcd60e51b8152600401610148919061040b565b634e487b7160e01b600052604160045260246000fd5b60005b838110156103105781810151838201526020016102f8565b838111156100645750506000910152565b6000806040838503121561033457600080fd5b82516001600160a01b038116811461034b57600080fd5b60208401519092506001600160401b038082111561036857600080fd5b818501915085601f83011261037c57600080fd5b81518181111561038e5761038e6102df565b604051601f8201601f19908116603f011681019083821181831017156103b6576103b66102df565b816040528281528860208487010111156103cf57600080fd5b6103e08360208301602088016102f5565b80955050505050509250929050565b600082516104018184602087016102f5565b9190910192915050565b602081526000825180602084015261042a8160408501602087016102f5565b601f01601f19169190910160400192915050565b61034d8061044d6000396000f3fe60806040523661001357610011610017565b005b6100115b610027610022610074565b6100b9565b565b606061004e83836040518060600160405280602781526020016102f1602791396100dd565b9392505050565b73ffffffffffffffffffffffffffffffffffffffff163b151590565b90565b60006100b47f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b905090565b3660008037600080366000845af43d6000803e8080156100d8573d6000f35b3d6000fd5b60606000808573ffffffffffffffffffffffffffffffffffffffff16856040516101079190610283565b600060405180830381855af49150503d8060008114610142576040519150601f19603f3d011682016040523d82523d6000602084013e610147565b606091505b509150915061015886838387610162565b9695505050505050565b606083156101fd5782516000036101f65773ffffffffffffffffffffffffffffffffffffffff85163b6101f6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064015b60405180910390fd5b5081610207565b610207838361020f565b949350505050565b81511561021f5781518083602001fd5b806040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016101ed919061029f565b60005b8381101561026e578181015183820152602001610256565b8381111561027d576000848401525b50505050565b60008251610295818460208701610253565b9190910192915050565b60208152600082518060208401526102be816040850160208701610253565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016919091016040019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a26469706673582212201cd78ab6a31213989661cff2d7d05fc9b9c38b1a848e8249e2e398659a9eb7e364736f6c634300080f0033416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220a47065a7c8ac5bac8ed56ef1cf7419a59dfdae21ba812180654b545d4faab85f64736f6c634300080f003360e0604052306080523480156200001557600080fd5b50604051620020c6380380620020c683398101604081905262000038916200013f565b6001600160a01b03821660a052816200005062000064565b506001600160a01b031660c052506200017e565b600054610100900460ff1615620000d15760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff908116101562000124576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b6001600160a01b03811681146200013c57600080fd5b50565b600080604083850312156200015357600080fd5b8251620001608162000126565b6020840151909250620001738162000126565b809150509250929050565b60805160a05160c051611ecb620001fb60003960008181610137015261068a01526000818161029001528181610703015281816107aa01528181610b8c01528181610f2e0152818161128a015261152c015260008181610486015281816105360152818161086e0152818161091e0152610a670152611ecb6000f3fe6080604052600436106100f75760003560e01c80638da5cb5b1161008a578063c399ec8811610059578063c399ec88146102d4578063c4d66de8146102e9578063e02afbae14610309578063ee472f361461032b57600080fd5b80638da5cb5b14610221578063affed0e01461025e578063b0d691fe14610281578063b61d27f6146102b457600080fd5b80634a58db19116100c65780634a58db19146101d15780634d44560d146101d95780634f1ef286146101f957806352d1902d1461020c57600080fd5b806318dfb3c714610103578063245a7bfc146101255780633659cfe6146101835780633a871cdd146101a357600080fd5b366100fe57005b600080fd5b34801561010f57600080fd5b5061012361011e3660046118ef565b61034b565b005b34801561013157600080fd5b506101597f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b34801561018f57600080fd5b5061012361019e36600461197d565b61046f565b3480156101af57600080fd5b506101c36101be36600461199a565b610674565b60405190815260200161017a565b610123610701565b3480156101e557600080fd5b506101236101f43660046119ee565b6107a0565b610123610207366004611a98565b610857565b34801561021857600080fd5b506101c3610a4d565b34801561022d57600080fd5b50600154610159906c01000000000000000000000000900473ffffffffffffffffffffffffffffffffffffffff1681565b34801561026a57600080fd5b506001546bffffffffffffffffffffffff166101c3565b34801561028d57600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610159565b3480156102c057600080fd5b506101236102cf366004611b5e565b610b39565b3480156102e057600080fd5b506101c3610b88565b3480156102f557600080fd5b5061012361030436600461197d565b610c40565b34801561031557600080fd5b5061031e610dd3565b60405161017a9190611be7565b34801561033757600080fd5b50610123610346366004611c18565b610de8565b610353610f16565b8281146103c1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f77726f6e67206172726179206c656e677468730000000000000000000000000060448201526064015b60405180910390fd5b60005b83811015610468576104568585838181106103e1576103e1611c96565b90506020020160208101906103f6919061197d565b600085858581811061040a5761040a611c96565b905060200281019061041c9190611cc5565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610fe992505050565b8061046081611d59565b9150506103c4565b5050505050565b73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000163003610534576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c000000000000000000000000000000000000000060648201526084016103b8565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166105a97f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff161461064c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f7879000000000000000000000000000000000000000060648201526084016103b8565b61065581611066565b604080516000808252602082019092526106719183919061106e565b50565b600061067e611272565b604080516060810182527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16808252600060208301819052919092015290506106df6040850185611cc5565b90506000036106f1576106f184611311565b6106fa826113da565b9392505050565b7f00000000000000000000000000000000000000000000000000000000000000006040517fb760faf900000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff919091169063b760faf99034906024016000604051808303818588803b15801561078c57600080fd5b505af1158015610468573d6000803e3d6000fd5b6107a8611445565b7f00000000000000000000000000000000000000000000000000000000000000006040517f205c287800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff848116600483015260248201849052919091169063205c287890604401600060405180830381600087803b15801561083b57600080fd5b505af115801561084f573d6000803e3d6000fd5b505050505050565b73ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016300361091c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c000000000000000000000000000000000000000060648201526084016103b8565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166109917f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff1614610a34576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f7879000000000000000000000000000000000000000060648201526084016103b8565b610a3d82611066565b610a498282600161106e565b5050565b60003073ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614610b14576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c000000000000000060648201526084016103b8565b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc90565b610b41610f16565b610b82848484848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610fe992505050565b50505050565b60007f00000000000000000000000000000000000000000000000000000000000000006040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff91909116906370a0823190602401602060405180830381865afa158015610c17573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c3b9190611d91565b905090565b600054610100900460ff1615808015610c605750600054600160ff909116105b80610c7a5750303b158015610c7a575060005460ff166001145b610d06576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084016103b8565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790558015610d6457600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b610d6d826114e0565b8015610a4957600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050565b610ddb611885565b610de3611885565b919050565b600054610100900460ff1615808015610e085750600054600160ff909116105b80610e225750303b158015610e22575060005460ff166001145b610eae576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084016103b8565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790558015610f0c57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b610d6d60006114e0565b3373ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000161480610f8157506001546c01000000000000000000000000900473ffffffffffffffffffffffffffffffffffffffff1633145b610fe7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f6163636f756e743a206e6f74204f776e6572206f7220456e747279506f696e7460448201526064016103b8565b565b6000808473ffffffffffffffffffffffffffffffffffffffff1684846040516110129190611dd6565b60006040518083038185875af1925050503d806000811461104f576040519150601f19603f3d011682016040523d82523d6000602084013e611054565b606091505b50915091508161046857805160208201fd5b610671611445565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff16156110a6576110a183611578565b505050565b8273ffffffffffffffffffffffffffffffffffffffff166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa92505050801561112b575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820190925261112891810190611d91565b60015b6111b7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201527f6f6e206973206e6f74205555505300000000000000000000000000000000000060648201526084016103b8565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8114611266576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f7860448201527f6961626c6555554944000000000000000000000000000000000000000000000060648201526084016103b8565b506110a1838383611682565b3373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614610fe7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f6163636f756e743a206e6f742066726f6d20456e747279506f696e740000000060448201526064016103b8565b600180546020830135916bffffffffffffffffffffffff90911690600061133783611df2565b91906101000a8154816bffffffffffffffffffffffff02191690836bffffffffffffffffffffffff1602179055506bffffffffffffffffffffffff1614610671576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f6163636f756e743a20696e76616c6964206e6f6e63650000000000000000000060448201526064016103b8565b80156106715760405160009033907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90849084818181858888f193505050503d8060008114610468576040519150601f19603f3d011682016040523d82523d6000602084013e610468565b6001546c01000000000000000000000000900473ffffffffffffffffffffffffffffffffffffffff1633148061147a57503330145b610fe7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600a60248201527f6f6e6c79206f776e65720000000000000000000000000000000000000000000060448201526064016103b8565b600180546bffffffffffffffffffffffff166c0100000000000000000000000073ffffffffffffffffffffffffffffffffffffffff8481168202929092179283905560405192048116917f0000000000000000000000000000000000000000000000000000000000000000909116907f47e55c76e7a6f1fd8996a1da8008c1ea29699cca35e7bcd057f2dec313b6e5de90600090a350565b73ffffffffffffffffffffffffffffffffffffffff81163b61161c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201527f6f74206120636f6e74726163740000000000000000000000000000000000000060648201526084016103b8565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b61168b836116a7565b6000825111806116985750805b156110a157610b8283836116f4565b6116b081611578565b60405173ffffffffffffffffffffffffffffffffffffffff8216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606106fa8383604051806060016040528060278152602001611e6f6027913960606000808573ffffffffffffffffffffffffffffffffffffffff168560405161173e9190611dd6565b600060405180830381855af49150503d8060008114611779576040519150601f19603f3d011682016040523d82523d6000602084013e61177e565b606091505b509150915061178f86838387611799565b9695505050505050565b6060831561182f5782516000036118285773ffffffffffffffffffffffffffffffffffffffff85163b611828576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016103b8565b5081611839565b6118398383611841565b949350505050565b8151156118515781518083602001fd5b806040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103b89190611e1d565b60405180608001604052806004906020820280368337509192915050565b60008083601f8401126118b557600080fd5b50813567ffffffffffffffff8111156118cd57600080fd5b6020830191508360208260051b85010111156118e857600080fd5b9250929050565b6000806000806040858703121561190557600080fd5b843567ffffffffffffffff8082111561191d57600080fd5b611929888389016118a3565b9096509450602087013591508082111561194257600080fd5b5061194f878288016118a3565b95989497509550505050565b73ffffffffffffffffffffffffffffffffffffffff8116811461067157600080fd5b60006020828403121561198f57600080fd5b81356106fa8161195b565b6000806000606084860312156119af57600080fd5b833567ffffffffffffffff8111156119c657600080fd5b840161016081870312156119d957600080fd5b95602085013595506040909401359392505050565b60008060408385031215611a0157600080fd5b8235611a0c8161195b565b946020939093013593505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715611a9057611a90611a1a565b604052919050565b60008060408385031215611aab57600080fd5b8235611ab68161195b565b915060208381013567ffffffffffffffff80821115611ad457600080fd5b818601915086601f830112611ae857600080fd5b813581811115611afa57611afa611a1a565b611b2a847fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f84011601611a49565b91508082528784828501011115611b4057600080fd5b80848401858401376000848284010152508093505050509250929050565b60008060008060608587031215611b7457600080fd5b8435611b7f8161195b565b935060208501359250604085013567ffffffffffffffff80821115611ba357600080fd5b818701915087601f830112611bb757600080fd5b813581811115611bc657600080fd5b886020828501011115611bd857600080fd5b95989497505060200194505050565b60808101818360005b6004811015611c0f578151835260209283019290910190600101611bf0565b50505092915050565b600060808284031215611c2a57600080fd5b82601f830112611c3957600080fd5b6040516080810181811067ffffffffffffffff82111715611c5c57611c5c611a1a565b604052806080840185811115611c7157600080fd5b845b81811015611c8b578035835260209283019201611c73565b509195945050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112611cfa57600080fd5b83018035915067ffffffffffffffff821115611d1557600080fd5b6020019150368190038213156118e857600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203611d8a57611d8a611d2a565b5060010190565b600060208284031215611da357600080fd5b5051919050565b60005b83811015611dc5578181015183820152602001611dad565b83811115610b825750506000910152565b60008251611de8818460208701611daa565b9190910192915050565b60006bffffffffffffffffffffffff808316818103611e1357611e13611d2a565b6001019392505050565b6020815260008251806020840152611e3c816040850160208701611daa565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016919091016040019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a26469706673582212205cf49810dc1024bbe2d76f8f79dcc489e3b6a79d7f0e35498db5239b1077074564736f6c634300080f0033"; 17 | static readonly abi: readonly [{ 18 | readonly inputs: readonly [{ 19 | readonly internalType: "contract IEntryPoint"; 20 | readonly name: "entryPoint"; 21 | readonly type: "address"; 22 | }, { 23 | readonly internalType: "address"; 24 | readonly name: "aggregator"; 25 | readonly type: "address"; 26 | }]; 27 | readonly stateMutability: "nonpayable"; 28 | readonly type: "constructor"; 29 | }, { 30 | readonly inputs: readonly []; 31 | readonly name: "accountImplementation"; 32 | readonly outputs: readonly [{ 33 | readonly internalType: "contract BrokenBLSAccount"; 34 | readonly name: ""; 35 | readonly type: "address"; 36 | }]; 37 | readonly stateMutability: "view"; 38 | readonly type: "function"; 39 | }, { 40 | readonly inputs: readonly [{ 41 | readonly internalType: "uint256"; 42 | readonly name: "salt"; 43 | readonly type: "uint256"; 44 | }, { 45 | readonly internalType: "uint256[4]"; 46 | readonly name: "aPublicKey"; 47 | readonly type: "uint256[4]"; 48 | }]; 49 | readonly name: "createAccount"; 50 | readonly outputs: readonly [{ 51 | readonly internalType: "contract BrokenBLSAccount"; 52 | readonly name: ""; 53 | readonly type: "address"; 54 | }]; 55 | readonly stateMutability: "nonpayable"; 56 | readonly type: "function"; 57 | }, { 58 | readonly inputs: readonly [{ 59 | readonly internalType: "uint256"; 60 | readonly name: "salt"; 61 | readonly type: "uint256"; 62 | }, { 63 | readonly internalType: "uint256[4]"; 64 | readonly name: "aPublicKey"; 65 | readonly type: "uint256[4]"; 66 | }]; 67 | readonly name: "getAddress"; 68 | readonly outputs: readonly [{ 69 | readonly internalType: "address"; 70 | readonly name: ""; 71 | readonly type: "address"; 72 | }]; 73 | readonly stateMutability: "view"; 74 | readonly type: "function"; 75 | }]; 76 | static createInterface(): BrokenBLSAccountFactoryInterface; 77 | static connect(address: string, signerOrProvider: Signer | Provider): BrokenBLSAccountFactory; 78 | } 79 | export {}; 80 | -------------------------------------------------------------------------------- /BrokenBLSAccount__factory.d.ts: -------------------------------------------------------------------------------- 1 | import { Signer, ContractFactory, Overrides } from "ethers"; 2 | import type { Provider, TransactionRequest } from "@ethersproject/providers"; 3 | import type { PromiseOrValue } from "../common"; 4 | import type { BrokenBLSAccount, BrokenBLSAccountInterface } from "../BrokenBLSAccount"; 5 | type BrokenBLSAccountConstructorParams = [signer?: Signer] | ConstructorParameters; 6 | export declare class BrokenBLSAccount__factory extends ContractFactory { 7 | constructor(...args: BrokenBLSAccountConstructorParams); 8 | deploy(anEntryPoint: PromiseOrValue, anAggregator: PromiseOrValue, overrides?: Overrides & { 9 | from?: PromiseOrValue; 10 | }): Promise; 11 | getDeployTransaction(anEntryPoint: PromiseOrValue, anAggregator: PromiseOrValue, overrides?: Overrides & { 12 | from?: PromiseOrValue; 13 | }): TransactionRequest; 14 | attach(address: string): BrokenBLSAccount; 15 | connect(signer: Signer): BrokenBLSAccount__factory; 16 | static readonly bytecode = "0x60e0604052306080523480156200001557600080fd5b50604051620020c6380380620020c683398101604081905262000038916200013f565b6001600160a01b03821660a052816200005062000064565b506001600160a01b031660c052506200017e565b600054610100900460ff1615620000d15760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff908116101562000124576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b6001600160a01b03811681146200013c57600080fd5b50565b600080604083850312156200015357600080fd5b8251620001608162000126565b6020840151909250620001738162000126565b809150509250929050565b60805160a05160c051611ecb620001fb60003960008181610137015261068a01526000818161029001528181610703015281816107aa01528181610b8c01528181610f2e0152818161128a015261152c015260008181610486015281816105360152818161086e0152818161091e0152610a670152611ecb6000f3fe6080604052600436106100f75760003560e01c80638da5cb5b1161008a578063c399ec8811610059578063c399ec88146102d4578063c4d66de8146102e9578063e02afbae14610309578063ee472f361461032b57600080fd5b80638da5cb5b14610221578063affed0e01461025e578063b0d691fe14610281578063b61d27f6146102b457600080fd5b80634a58db19116100c65780634a58db19146101d15780634d44560d146101d95780634f1ef286146101f957806352d1902d1461020c57600080fd5b806318dfb3c714610103578063245a7bfc146101255780633659cfe6146101835780633a871cdd146101a357600080fd5b366100fe57005b600080fd5b34801561010f57600080fd5b5061012361011e3660046118ef565b61034b565b005b34801561013157600080fd5b506101597f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b34801561018f57600080fd5b5061012361019e36600461197d565b61046f565b3480156101af57600080fd5b506101c36101be36600461199a565b610674565b60405190815260200161017a565b610123610701565b3480156101e557600080fd5b506101236101f43660046119ee565b6107a0565b610123610207366004611a98565b610857565b34801561021857600080fd5b506101c3610a4d565b34801561022d57600080fd5b50600154610159906c01000000000000000000000000900473ffffffffffffffffffffffffffffffffffffffff1681565b34801561026a57600080fd5b506001546bffffffffffffffffffffffff166101c3565b34801561028d57600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610159565b3480156102c057600080fd5b506101236102cf366004611b5e565b610b39565b3480156102e057600080fd5b506101c3610b88565b3480156102f557600080fd5b5061012361030436600461197d565b610c40565b34801561031557600080fd5b5061031e610dd3565b60405161017a9190611be7565b34801561033757600080fd5b50610123610346366004611c18565b610de8565b610353610f16565b8281146103c1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f77726f6e67206172726179206c656e677468730000000000000000000000000060448201526064015b60405180910390fd5b60005b83811015610468576104568585838181106103e1576103e1611c96565b90506020020160208101906103f6919061197d565b600085858581811061040a5761040a611c96565b905060200281019061041c9190611cc5565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610fe992505050565b8061046081611d59565b9150506103c4565b5050505050565b73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000163003610534576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c000000000000000000000000000000000000000060648201526084016103b8565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166105a97f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff161461064c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f7879000000000000000000000000000000000000000060648201526084016103b8565b61065581611066565b604080516000808252602082019092526106719183919061106e565b50565b600061067e611272565b604080516060810182527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16808252600060208301819052919092015290506106df6040850185611cc5565b90506000036106f1576106f184611311565b6106fa826113da565b9392505050565b7f00000000000000000000000000000000000000000000000000000000000000006040517fb760faf900000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff919091169063b760faf99034906024016000604051808303818588803b15801561078c57600080fd5b505af1158015610468573d6000803e3d6000fd5b6107a8611445565b7f00000000000000000000000000000000000000000000000000000000000000006040517f205c287800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff848116600483015260248201849052919091169063205c287890604401600060405180830381600087803b15801561083b57600080fd5b505af115801561084f573d6000803e3d6000fd5b505050505050565b73ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016300361091c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c000000000000000000000000000000000000000060648201526084016103b8565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166109917f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff1614610a34576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f7879000000000000000000000000000000000000000060648201526084016103b8565b610a3d82611066565b610a498282600161106e565b5050565b60003073ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614610b14576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c000000000000000060648201526084016103b8565b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc90565b610b41610f16565b610b82848484848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610fe992505050565b50505050565b60007f00000000000000000000000000000000000000000000000000000000000000006040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff91909116906370a0823190602401602060405180830381865afa158015610c17573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c3b9190611d91565b905090565b600054610100900460ff1615808015610c605750600054600160ff909116105b80610c7a5750303b158015610c7a575060005460ff166001145b610d06576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084016103b8565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790558015610d6457600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b610d6d826114e0565b8015610a4957600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050565b610ddb611885565b610de3611885565b919050565b600054610100900460ff1615808015610e085750600054600160ff909116105b80610e225750303b158015610e22575060005460ff166001145b610eae576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084016103b8565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790558015610f0c57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b610d6d60006114e0565b3373ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000161480610f8157506001546c01000000000000000000000000900473ffffffffffffffffffffffffffffffffffffffff1633145b610fe7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f6163636f756e743a206e6f74204f776e6572206f7220456e747279506f696e7460448201526064016103b8565b565b6000808473ffffffffffffffffffffffffffffffffffffffff1684846040516110129190611dd6565b60006040518083038185875af1925050503d806000811461104f576040519150601f19603f3d011682016040523d82523d6000602084013e611054565b606091505b50915091508161046857805160208201fd5b610671611445565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff16156110a6576110a183611578565b505050565b8273ffffffffffffffffffffffffffffffffffffffff166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa92505050801561112b575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820190925261112891810190611d91565b60015b6111b7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201527f6f6e206973206e6f74205555505300000000000000000000000000000000000060648201526084016103b8565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8114611266576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f7860448201527f6961626c6555554944000000000000000000000000000000000000000000000060648201526084016103b8565b506110a1838383611682565b3373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614610fe7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f6163636f756e743a206e6f742066726f6d20456e747279506f696e740000000060448201526064016103b8565b600180546020830135916bffffffffffffffffffffffff90911690600061133783611df2565b91906101000a8154816bffffffffffffffffffffffff02191690836bffffffffffffffffffffffff1602179055506bffffffffffffffffffffffff1614610671576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f6163636f756e743a20696e76616c6964206e6f6e63650000000000000000000060448201526064016103b8565b80156106715760405160009033907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90849084818181858888f193505050503d8060008114610468576040519150601f19603f3d011682016040523d82523d6000602084013e610468565b6001546c01000000000000000000000000900473ffffffffffffffffffffffffffffffffffffffff1633148061147a57503330145b610fe7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600a60248201527f6f6e6c79206f776e65720000000000000000000000000000000000000000000060448201526064016103b8565b600180546bffffffffffffffffffffffff166c0100000000000000000000000073ffffffffffffffffffffffffffffffffffffffff8481168202929092179283905560405192048116917f0000000000000000000000000000000000000000000000000000000000000000909116907f47e55c76e7a6f1fd8996a1da8008c1ea29699cca35e7bcd057f2dec313b6e5de90600090a350565b73ffffffffffffffffffffffffffffffffffffffff81163b61161c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201527f6f74206120636f6e74726163740000000000000000000000000000000000000060648201526084016103b8565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b61168b836116a7565b6000825111806116985750805b156110a157610b8283836116f4565b6116b081611578565b60405173ffffffffffffffffffffffffffffffffffffffff8216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606106fa8383604051806060016040528060278152602001611e6f6027913960606000808573ffffffffffffffffffffffffffffffffffffffff168560405161173e9190611dd6565b600060405180830381855af49150503d8060008114611779576040519150601f19603f3d011682016040523d82523d6000602084013e61177e565b606091505b509150915061178f86838387611799565b9695505050505050565b6060831561182f5782516000036118285773ffffffffffffffffffffffffffffffffffffffff85163b611828576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016103b8565b5081611839565b6118398383611841565b949350505050565b8151156118515781518083602001fd5b806040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103b89190611e1d565b60405180608001604052806004906020820280368337509192915050565b60008083601f8401126118b557600080fd5b50813567ffffffffffffffff8111156118cd57600080fd5b6020830191508360208260051b85010111156118e857600080fd5b9250929050565b6000806000806040858703121561190557600080fd5b843567ffffffffffffffff8082111561191d57600080fd5b611929888389016118a3565b9096509450602087013591508082111561194257600080fd5b5061194f878288016118a3565b95989497509550505050565b73ffffffffffffffffffffffffffffffffffffffff8116811461067157600080fd5b60006020828403121561198f57600080fd5b81356106fa8161195b565b6000806000606084860312156119af57600080fd5b833567ffffffffffffffff8111156119c657600080fd5b840161016081870312156119d957600080fd5b95602085013595506040909401359392505050565b60008060408385031215611a0157600080fd5b8235611a0c8161195b565b946020939093013593505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715611a9057611a90611a1a565b604052919050565b60008060408385031215611aab57600080fd5b8235611ab68161195b565b915060208381013567ffffffffffffffff80821115611ad457600080fd5b818601915086601f830112611ae857600080fd5b813581811115611afa57611afa611a1a565b611b2a847fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f84011601611a49565b91508082528784828501011115611b4057600080fd5b80848401858401376000848284010152508093505050509250929050565b60008060008060608587031215611b7457600080fd5b8435611b7f8161195b565b935060208501359250604085013567ffffffffffffffff80821115611ba357600080fd5b818701915087601f830112611bb757600080fd5b813581811115611bc657600080fd5b886020828501011115611bd857600080fd5b95989497505060200194505050565b60808101818360005b6004811015611c0f578151835260209283019290910190600101611bf0565b50505092915050565b600060808284031215611c2a57600080fd5b82601f830112611c3957600080fd5b6040516080810181811067ffffffffffffffff82111715611c5c57611c5c611a1a565b604052806080840185811115611c7157600080fd5b845b81811015611c8b578035835260209283019201611c73565b509195945050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112611cfa57600080fd5b83018035915067ffffffffffffffff821115611d1557600080fd5b6020019150368190038213156118e857600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203611d8a57611d8a611d2a565b5060010190565b600060208284031215611da357600080fd5b5051919050565b60005b83811015611dc5578181015183820152602001611dad565b83811115610b825750506000910152565b60008251611de8818460208701611daa565b9190910192915050565b60006bffffffffffffffffffffffff808316818103611e1357611e13611d2a565b6001019392505050565b6020815260008251806020840152611e3c816040850160208701611daa565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016919091016040019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a26469706673582212205cf49810dc1024bbe2d76f8f79dcc489e3b6a79d7f0e35498db5239b1077074564736f6c634300080f0033"; 17 | static readonly abi: readonly [{ 18 | readonly inputs: readonly [{ 19 | readonly internalType: "contract IEntryPoint"; 20 | readonly name: "anEntryPoint"; 21 | readonly type: "address"; 22 | }, { 23 | readonly internalType: "address"; 24 | readonly name: "anAggregator"; 25 | readonly type: "address"; 26 | }]; 27 | readonly stateMutability: "nonpayable"; 28 | readonly type: "constructor"; 29 | }, { 30 | readonly anonymous: false; 31 | readonly inputs: readonly [{ 32 | readonly indexed: false; 33 | readonly internalType: "address"; 34 | readonly name: "previousAdmin"; 35 | readonly type: "address"; 36 | }, { 37 | readonly indexed: false; 38 | readonly internalType: "address"; 39 | readonly name: "newAdmin"; 40 | readonly type: "address"; 41 | }]; 42 | readonly name: "AdminChanged"; 43 | readonly type: "event"; 44 | }, { 45 | readonly anonymous: false; 46 | readonly inputs: readonly [{ 47 | readonly indexed: true; 48 | readonly internalType: "address"; 49 | readonly name: "beacon"; 50 | readonly type: "address"; 51 | }]; 52 | readonly name: "BeaconUpgraded"; 53 | readonly type: "event"; 54 | }, { 55 | readonly anonymous: false; 56 | readonly inputs: readonly [{ 57 | readonly indexed: false; 58 | readonly internalType: "uint8"; 59 | readonly name: "version"; 60 | readonly type: "uint8"; 61 | }]; 62 | readonly name: "Initialized"; 63 | readonly type: "event"; 64 | }, { 65 | readonly anonymous: false; 66 | readonly inputs: readonly [{ 67 | readonly indexed: false; 68 | readonly internalType: "uint256[4]"; 69 | readonly name: "oldPublicKey"; 70 | readonly type: "uint256[4]"; 71 | }, { 72 | readonly indexed: false; 73 | readonly internalType: "uint256[4]"; 74 | readonly name: "newPublicKey"; 75 | readonly type: "uint256[4]"; 76 | }]; 77 | readonly name: "PublicKeyChanged"; 78 | readonly type: "event"; 79 | }, { 80 | readonly anonymous: false; 81 | readonly inputs: readonly [{ 82 | readonly indexed: true; 83 | readonly internalType: "contract IEntryPoint"; 84 | readonly name: "entryPoint"; 85 | readonly type: "address"; 86 | }, { 87 | readonly indexed: true; 88 | readonly internalType: "address"; 89 | readonly name: "owner"; 90 | readonly type: "address"; 91 | }]; 92 | readonly name: "SimpleAccountInitialized"; 93 | readonly type: "event"; 94 | }, { 95 | readonly anonymous: false; 96 | readonly inputs: readonly [{ 97 | readonly indexed: true; 98 | readonly internalType: "address"; 99 | readonly name: "implementation"; 100 | readonly type: "address"; 101 | }]; 102 | readonly name: "Upgraded"; 103 | readonly type: "event"; 104 | }, { 105 | readonly inputs: readonly []; 106 | readonly name: "addDeposit"; 107 | readonly outputs: readonly []; 108 | readonly stateMutability: "payable"; 109 | readonly type: "function"; 110 | }, { 111 | readonly inputs: readonly []; 112 | readonly name: "aggregator"; 113 | readonly outputs: readonly [{ 114 | readonly internalType: "address"; 115 | readonly name: ""; 116 | readonly type: "address"; 117 | }]; 118 | readonly stateMutability: "view"; 119 | readonly type: "function"; 120 | }, { 121 | readonly inputs: readonly []; 122 | readonly name: "entryPoint"; 123 | readonly outputs: readonly [{ 124 | readonly internalType: "contract IEntryPoint"; 125 | readonly name: ""; 126 | readonly type: "address"; 127 | }]; 128 | readonly stateMutability: "view"; 129 | readonly type: "function"; 130 | }, { 131 | readonly inputs: readonly [{ 132 | readonly internalType: "address"; 133 | readonly name: "dest"; 134 | readonly type: "address"; 135 | }, { 136 | readonly internalType: "uint256"; 137 | readonly name: "value"; 138 | readonly type: "uint256"; 139 | }, { 140 | readonly internalType: "bytes"; 141 | readonly name: "func"; 142 | readonly type: "bytes"; 143 | }]; 144 | readonly name: "execute"; 145 | readonly outputs: readonly []; 146 | readonly stateMutability: "nonpayable"; 147 | readonly type: "function"; 148 | }, { 149 | readonly inputs: readonly [{ 150 | readonly internalType: "address[]"; 151 | readonly name: "dest"; 152 | readonly type: "address[]"; 153 | }, { 154 | readonly internalType: "bytes[]"; 155 | readonly name: "func"; 156 | readonly type: "bytes[]"; 157 | }]; 158 | readonly name: "executeBatch"; 159 | readonly outputs: readonly []; 160 | readonly stateMutability: "nonpayable"; 161 | readonly type: "function"; 162 | }, { 163 | readonly inputs: readonly []; 164 | readonly name: "getBlsPublicKey"; 165 | readonly outputs: readonly [{ 166 | readonly internalType: "uint256[4]"; 167 | readonly name: ""; 168 | readonly type: "uint256[4]"; 169 | }]; 170 | readonly stateMutability: "pure"; 171 | readonly type: "function"; 172 | }, { 173 | readonly inputs: readonly []; 174 | readonly name: "getDeposit"; 175 | readonly outputs: readonly [{ 176 | readonly internalType: "uint256"; 177 | readonly name: ""; 178 | readonly type: "uint256"; 179 | }]; 180 | readonly stateMutability: "view"; 181 | readonly type: "function"; 182 | }, { 183 | readonly inputs: readonly [{ 184 | readonly internalType: "address"; 185 | readonly name: "anOwner"; 186 | readonly type: "address"; 187 | }]; 188 | readonly name: "initialize"; 189 | readonly outputs: readonly []; 190 | readonly stateMutability: "nonpayable"; 191 | readonly type: "function"; 192 | }, { 193 | readonly inputs: readonly [{ 194 | readonly internalType: "uint256[4]"; 195 | readonly name: "aPublicKey"; 196 | readonly type: "uint256[4]"; 197 | }]; 198 | readonly name: "initialize"; 199 | readonly outputs: readonly []; 200 | readonly stateMutability: "nonpayable"; 201 | readonly type: "function"; 202 | }, { 203 | readonly inputs: readonly []; 204 | readonly name: "nonce"; 205 | readonly outputs: readonly [{ 206 | readonly internalType: "uint256"; 207 | readonly name: ""; 208 | readonly type: "uint256"; 209 | }]; 210 | readonly stateMutability: "view"; 211 | readonly type: "function"; 212 | }, { 213 | readonly inputs: readonly []; 214 | readonly name: "owner"; 215 | readonly outputs: readonly [{ 216 | readonly internalType: "address"; 217 | readonly name: ""; 218 | readonly type: "address"; 219 | }]; 220 | readonly stateMutability: "view"; 221 | readonly type: "function"; 222 | }, { 223 | readonly inputs: readonly []; 224 | readonly name: "proxiableUUID"; 225 | readonly outputs: readonly [{ 226 | readonly internalType: "bytes32"; 227 | readonly name: ""; 228 | readonly type: "bytes32"; 229 | }]; 230 | readonly stateMutability: "view"; 231 | readonly type: "function"; 232 | }, { 233 | readonly inputs: readonly [{ 234 | readonly internalType: "address"; 235 | readonly name: "newImplementation"; 236 | readonly type: "address"; 237 | }]; 238 | readonly name: "upgradeTo"; 239 | readonly outputs: readonly []; 240 | readonly stateMutability: "nonpayable"; 241 | readonly type: "function"; 242 | }, { 243 | readonly inputs: readonly [{ 244 | readonly internalType: "address"; 245 | readonly name: "newImplementation"; 246 | readonly type: "address"; 247 | }, { 248 | readonly internalType: "bytes"; 249 | readonly name: "data"; 250 | readonly type: "bytes"; 251 | }]; 252 | readonly name: "upgradeToAndCall"; 253 | readonly outputs: readonly []; 254 | readonly stateMutability: "payable"; 255 | readonly type: "function"; 256 | }, { 257 | readonly inputs: readonly [{ 258 | readonly components: readonly [{ 259 | readonly internalType: "address"; 260 | readonly name: "sender"; 261 | readonly type: "address"; 262 | }, { 263 | readonly internalType: "uint256"; 264 | readonly name: "nonce"; 265 | readonly type: "uint256"; 266 | }, { 267 | readonly internalType: "bytes"; 268 | readonly name: "initCode"; 269 | readonly type: "bytes"; 270 | }, { 271 | readonly internalType: "bytes"; 272 | readonly name: "callData"; 273 | readonly type: "bytes"; 274 | }, { 275 | readonly internalType: "uint256"; 276 | readonly name: "callGasLimit"; 277 | readonly type: "uint256"; 278 | }, { 279 | readonly internalType: "uint256"; 280 | readonly name: "verificationGasLimit"; 281 | readonly type: "uint256"; 282 | }, { 283 | readonly internalType: "uint256"; 284 | readonly name: "preVerificationGas"; 285 | readonly type: "uint256"; 286 | }, { 287 | readonly internalType: "uint256"; 288 | readonly name: "maxFeePerGas"; 289 | readonly type: "uint256"; 290 | }, { 291 | readonly internalType: "uint256"; 292 | readonly name: "maxPriorityFeePerGas"; 293 | readonly type: "uint256"; 294 | }, { 295 | readonly internalType: "bytes"; 296 | readonly name: "paymasterAndData"; 297 | readonly type: "bytes"; 298 | }, { 299 | readonly internalType: "bytes"; 300 | readonly name: "signature"; 301 | readonly type: "bytes"; 302 | }]; 303 | readonly internalType: "struct UserOperation"; 304 | readonly name: "userOp"; 305 | readonly type: "tuple"; 306 | }, { 307 | readonly internalType: "bytes32"; 308 | readonly name: "userOpHash"; 309 | readonly type: "bytes32"; 310 | }, { 311 | readonly internalType: "uint256"; 312 | readonly name: "missingAccountFunds"; 313 | readonly type: "uint256"; 314 | }]; 315 | readonly name: "validateUserOp"; 316 | readonly outputs: readonly [{ 317 | readonly internalType: "uint256"; 318 | readonly name: "validationData"; 319 | readonly type: "uint256"; 320 | }]; 321 | readonly stateMutability: "nonpayable"; 322 | readonly type: "function"; 323 | }, { 324 | readonly inputs: readonly [{ 325 | readonly internalType: "address payable"; 326 | readonly name: "withdrawAddress"; 327 | readonly type: "address"; 328 | }, { 329 | readonly internalType: "uint256"; 330 | readonly name: "amount"; 331 | readonly type: "uint256"; 332 | }]; 333 | readonly name: "withdrawDepositTo"; 334 | readonly outputs: readonly []; 335 | readonly stateMutability: "nonpayable"; 336 | readonly type: "function"; 337 | }, { 338 | readonly stateMutability: "payable"; 339 | readonly type: "receive"; 340 | }]; 341 | static createInterface(): BrokenBLSAccountInterface; 342 | static connect(address: string, signerOrProvider: Signer | Provider): BrokenBLSAccount; 343 | } 344 | export {}; 345 | -------------------------------------------------------------------------------- /BrokenBLSAccount__factory.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | var __extends = (this && this.__extends) || (function () { 3 | var extendStatics = function (d, b) { 4 | extendStatics = Object.setPrototypeOf || 5 | ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || 6 | function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; 7 | return extendStatics(d, b); 8 | }; 9 | return function (d, b) { 10 | if (typeof b !== "function" && b !== null) 11 | throw new TypeError("Class extends value " + String(b) + " is not a constructor or null"); 12 | extendStatics(d, b); 13 | function __() { this.constructor = d; } 14 | d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); 15 | }; 16 | })(); 17 | exports.__esModule = true; 18 | exports.BrokenBLSAccount__factory = void 0; 19 | /* Autogenerated file. Do not edit manually. */ 20 | /* tslint:disable */ 21 | /* eslint-disable */ 22 | var ethers_1 = require("ethers"); 23 | var _abi = [ 24 | { 25 | inputs: [ 26 | { 27 | internalType: "contract IEntryPoint", 28 | name: "anEntryPoint", 29 | type: "address" 30 | }, 31 | { 32 | internalType: "address", 33 | name: "anAggregator", 34 | type: "address" 35 | }, 36 | ], 37 | stateMutability: "nonpayable", 38 | type: "constructor" 39 | }, 40 | { 41 | anonymous: false, 42 | inputs: [ 43 | { 44 | indexed: false, 45 | internalType: "address", 46 | name: "previousAdmin", 47 | type: "address" 48 | }, 49 | { 50 | indexed: false, 51 | internalType: "address", 52 | name: "newAdmin", 53 | type: "address" 54 | }, 55 | ], 56 | name: "AdminChanged", 57 | type: "event" 58 | }, 59 | { 60 | anonymous: false, 61 | inputs: [ 62 | { 63 | indexed: true, 64 | internalType: "address", 65 | name: "beacon", 66 | type: "address" 67 | }, 68 | ], 69 | name: "BeaconUpgraded", 70 | type: "event" 71 | }, 72 | { 73 | anonymous: false, 74 | inputs: [ 75 | { 76 | indexed: false, 77 | internalType: "uint8", 78 | name: "version", 79 | type: "uint8" 80 | }, 81 | ], 82 | name: "Initialized", 83 | type: "event" 84 | }, 85 | { 86 | anonymous: false, 87 | inputs: [ 88 | { 89 | indexed: false, 90 | internalType: "uint256[4]", 91 | name: "oldPublicKey", 92 | type: "uint256[4]" 93 | }, 94 | { 95 | indexed: false, 96 | internalType: "uint256[4]", 97 | name: "newPublicKey", 98 | type: "uint256[4]" 99 | }, 100 | ], 101 | name: "PublicKeyChanged", 102 | type: "event" 103 | }, 104 | { 105 | anonymous: false, 106 | inputs: [ 107 | { 108 | indexed: true, 109 | internalType: "contract IEntryPoint", 110 | name: "entryPoint", 111 | type: "address" 112 | }, 113 | { 114 | indexed: true, 115 | internalType: "address", 116 | name: "owner", 117 | type: "address" 118 | }, 119 | ], 120 | name: "SimpleAccountInitialized", 121 | type: "event" 122 | }, 123 | { 124 | anonymous: false, 125 | inputs: [ 126 | { 127 | indexed: true, 128 | internalType: "address", 129 | name: "implementation", 130 | type: "address" 131 | }, 132 | ], 133 | name: "Upgraded", 134 | type: "event" 135 | }, 136 | { 137 | inputs: [], 138 | name: "addDeposit", 139 | outputs: [], 140 | stateMutability: "payable", 141 | type: "function" 142 | }, 143 | { 144 | inputs: [], 145 | name: "aggregator", 146 | outputs: [ 147 | { 148 | internalType: "address", 149 | name: "", 150 | type: "address" 151 | }, 152 | ], 153 | stateMutability: "view", 154 | type: "function" 155 | }, 156 | { 157 | inputs: [], 158 | name: "entryPoint", 159 | outputs: [ 160 | { 161 | internalType: "contract IEntryPoint", 162 | name: "", 163 | type: "address" 164 | }, 165 | ], 166 | stateMutability: "view", 167 | type: "function" 168 | }, 169 | { 170 | inputs: [ 171 | { 172 | internalType: "address", 173 | name: "dest", 174 | type: "address" 175 | }, 176 | { 177 | internalType: "uint256", 178 | name: "value", 179 | type: "uint256" 180 | }, 181 | { 182 | internalType: "bytes", 183 | name: "func", 184 | type: "bytes" 185 | }, 186 | ], 187 | name: "execute", 188 | outputs: [], 189 | stateMutability: "nonpayable", 190 | type: "function" 191 | }, 192 | { 193 | inputs: [ 194 | { 195 | internalType: "address[]", 196 | name: "dest", 197 | type: "address[]" 198 | }, 199 | { 200 | internalType: "bytes[]", 201 | name: "func", 202 | type: "bytes[]" 203 | }, 204 | ], 205 | name: "executeBatch", 206 | outputs: [], 207 | stateMutability: "nonpayable", 208 | type: "function" 209 | }, 210 | { 211 | inputs: [], 212 | name: "getBlsPublicKey", 213 | outputs: [ 214 | { 215 | internalType: "uint256[4]", 216 | name: "", 217 | type: "uint256[4]" 218 | }, 219 | ], 220 | stateMutability: "pure", 221 | type: "function" 222 | }, 223 | { 224 | inputs: [], 225 | name: "getDeposit", 226 | outputs: [ 227 | { 228 | internalType: "uint256", 229 | name: "", 230 | type: "uint256" 231 | }, 232 | ], 233 | stateMutability: "view", 234 | type: "function" 235 | }, 236 | { 237 | inputs: [ 238 | { 239 | internalType: "address", 240 | name: "anOwner", 241 | type: "address" 242 | }, 243 | ], 244 | name: "initialize", 245 | outputs: [], 246 | stateMutability: "nonpayable", 247 | type: "function" 248 | }, 249 | { 250 | inputs: [ 251 | { 252 | internalType: "uint256[4]", 253 | name: "aPublicKey", 254 | type: "uint256[4]" 255 | }, 256 | ], 257 | name: "initialize", 258 | outputs: [], 259 | stateMutability: "nonpayable", 260 | type: "function" 261 | }, 262 | { 263 | inputs: [], 264 | name: "nonce", 265 | outputs: [ 266 | { 267 | internalType: "uint256", 268 | name: "", 269 | type: "uint256" 270 | }, 271 | ], 272 | stateMutability: "view", 273 | type: "function" 274 | }, 275 | { 276 | inputs: [], 277 | name: "owner", 278 | outputs: [ 279 | { 280 | internalType: "address", 281 | name: "", 282 | type: "address" 283 | }, 284 | ], 285 | stateMutability: "view", 286 | type: "function" 287 | }, 288 | { 289 | inputs: [], 290 | name: "proxiableUUID", 291 | outputs: [ 292 | { 293 | internalType: "bytes32", 294 | name: "", 295 | type: "bytes32" 296 | }, 297 | ], 298 | stateMutability: "view", 299 | type: "function" 300 | }, 301 | { 302 | inputs: [ 303 | { 304 | internalType: "address", 305 | name: "newImplementation", 306 | type: "address" 307 | }, 308 | ], 309 | name: "upgradeTo", 310 | outputs: [], 311 | stateMutability: "nonpayable", 312 | type: "function" 313 | }, 314 | { 315 | inputs: [ 316 | { 317 | internalType: "address", 318 | name: "newImplementation", 319 | type: "address" 320 | }, 321 | { 322 | internalType: "bytes", 323 | name: "data", 324 | type: "bytes" 325 | }, 326 | ], 327 | name: "upgradeToAndCall", 328 | outputs: [], 329 | stateMutability: "payable", 330 | type: "function" 331 | }, 332 | { 333 | inputs: [ 334 | { 335 | components: [ 336 | { 337 | internalType: "address", 338 | name: "sender", 339 | type: "address" 340 | }, 341 | { 342 | internalType: "uint256", 343 | name: "nonce", 344 | type: "uint256" 345 | }, 346 | { 347 | internalType: "bytes", 348 | name: "initCode", 349 | type: "bytes" 350 | }, 351 | { 352 | internalType: "bytes", 353 | name: "callData", 354 | type: "bytes" 355 | }, 356 | { 357 | internalType: "uint256", 358 | name: "callGasLimit", 359 | type: "uint256" 360 | }, 361 | { 362 | internalType: "uint256", 363 | name: "verificationGasLimit", 364 | type: "uint256" 365 | }, 366 | { 367 | internalType: "uint256", 368 | name: "preVerificationGas", 369 | type: "uint256" 370 | }, 371 | { 372 | internalType: "uint256", 373 | name: "maxFeePerGas", 374 | type: "uint256" 375 | }, 376 | { 377 | internalType: "uint256", 378 | name: "maxPriorityFeePerGas", 379 | type: "uint256" 380 | }, 381 | { 382 | internalType: "bytes", 383 | name: "paymasterAndData", 384 | type: "bytes" 385 | }, 386 | { 387 | internalType: "bytes", 388 | name: "signature", 389 | type: "bytes" 390 | }, 391 | ], 392 | internalType: "struct UserOperation", 393 | name: "userOp", 394 | type: "tuple" 395 | }, 396 | { 397 | internalType: "bytes32", 398 | name: "userOpHash", 399 | type: "bytes32" 400 | }, 401 | { 402 | internalType: "uint256", 403 | name: "missingAccountFunds", 404 | type: "uint256" 405 | }, 406 | ], 407 | name: "validateUserOp", 408 | outputs: [ 409 | { 410 | internalType: "uint256", 411 | name: "validationData", 412 | type: "uint256" 413 | }, 414 | ], 415 | stateMutability: "nonpayable", 416 | type: "function" 417 | }, 418 | { 419 | inputs: [ 420 | { 421 | internalType: "address payable", 422 | name: "withdrawAddress", 423 | type: "address" 424 | }, 425 | { 426 | internalType: "uint256", 427 | name: "amount", 428 | type: "uint256" 429 | }, 430 | ], 431 | name: "withdrawDepositTo", 432 | outputs: [], 433 | stateMutability: "nonpayable", 434 | type: "function" 435 | }, 436 | { 437 | stateMutability: "payable", 438 | type: "receive" 439 | }, 440 | ]; 441 | var _bytecode = "0x60e0604052306080523480156200001557600080fd5b50604051620020c6380380620020c683398101604081905262000038916200013f565b6001600160a01b03821660a052816200005062000064565b506001600160a01b031660c052506200017e565b600054610100900460ff1615620000d15760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff908116101562000124576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b6001600160a01b03811681146200013c57600080fd5b50565b600080604083850312156200015357600080fd5b8251620001608162000126565b6020840151909250620001738162000126565b809150509250929050565b60805160a05160c051611ecb620001fb60003960008181610137015261068a01526000818161029001528181610703015281816107aa01528181610b8c01528181610f2e0152818161128a015261152c015260008181610486015281816105360152818161086e0152818161091e0152610a670152611ecb6000f3fe6080604052600436106100f75760003560e01c80638da5cb5b1161008a578063c399ec8811610059578063c399ec88146102d4578063c4d66de8146102e9578063e02afbae14610309578063ee472f361461032b57600080fd5b80638da5cb5b14610221578063affed0e01461025e578063b0d691fe14610281578063b61d27f6146102b457600080fd5b80634a58db19116100c65780634a58db19146101d15780634d44560d146101d95780634f1ef286146101f957806352d1902d1461020c57600080fd5b806318dfb3c714610103578063245a7bfc146101255780633659cfe6146101835780633a871cdd146101a357600080fd5b366100fe57005b600080fd5b34801561010f57600080fd5b5061012361011e3660046118ef565b61034b565b005b34801561013157600080fd5b506101597f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b34801561018f57600080fd5b5061012361019e36600461197d565b61046f565b3480156101af57600080fd5b506101c36101be36600461199a565b610674565b60405190815260200161017a565b610123610701565b3480156101e557600080fd5b506101236101f43660046119ee565b6107a0565b610123610207366004611a98565b610857565b34801561021857600080fd5b506101c3610a4d565b34801561022d57600080fd5b50600154610159906c01000000000000000000000000900473ffffffffffffffffffffffffffffffffffffffff1681565b34801561026a57600080fd5b506001546bffffffffffffffffffffffff166101c3565b34801561028d57600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610159565b3480156102c057600080fd5b506101236102cf366004611b5e565b610b39565b3480156102e057600080fd5b506101c3610b88565b3480156102f557600080fd5b5061012361030436600461197d565b610c40565b34801561031557600080fd5b5061031e610dd3565b60405161017a9190611be7565b34801561033757600080fd5b50610123610346366004611c18565b610de8565b610353610f16565b8281146103c1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f77726f6e67206172726179206c656e677468730000000000000000000000000060448201526064015b60405180910390fd5b60005b83811015610468576104568585838181106103e1576103e1611c96565b90506020020160208101906103f6919061197d565b600085858581811061040a5761040a611c96565b905060200281019061041c9190611cc5565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610fe992505050565b8061046081611d59565b9150506103c4565b5050505050565b73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000163003610534576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c000000000000000000000000000000000000000060648201526084016103b8565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166105a97f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff161461064c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f7879000000000000000000000000000000000000000060648201526084016103b8565b61065581611066565b604080516000808252602082019092526106719183919061106e565b50565b600061067e611272565b604080516060810182527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16808252600060208301819052919092015290506106df6040850185611cc5565b90506000036106f1576106f184611311565b6106fa826113da565b9392505050565b7f00000000000000000000000000000000000000000000000000000000000000006040517fb760faf900000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff919091169063b760faf99034906024016000604051808303818588803b15801561078c57600080fd5b505af1158015610468573d6000803e3d6000fd5b6107a8611445565b7f00000000000000000000000000000000000000000000000000000000000000006040517f205c287800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff848116600483015260248201849052919091169063205c287890604401600060405180830381600087803b15801561083b57600080fd5b505af115801561084f573d6000803e3d6000fd5b505050505050565b73ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016300361091c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c000000000000000000000000000000000000000060648201526084016103b8565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166109917f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff1614610a34576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f7879000000000000000000000000000000000000000060648201526084016103b8565b610a3d82611066565b610a498282600161106e565b5050565b60003073ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614610b14576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c000000000000000060648201526084016103b8565b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc90565b610b41610f16565b610b82848484848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610fe992505050565b50505050565b60007f00000000000000000000000000000000000000000000000000000000000000006040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff91909116906370a0823190602401602060405180830381865afa158015610c17573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c3b9190611d91565b905090565b600054610100900460ff1615808015610c605750600054600160ff909116105b80610c7a5750303b158015610c7a575060005460ff166001145b610d06576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084016103b8565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790558015610d6457600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b610d6d826114e0565b8015610a4957600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050565b610ddb611885565b610de3611885565b919050565b600054610100900460ff1615808015610e085750600054600160ff909116105b80610e225750303b158015610e22575060005460ff166001145b610eae576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084016103b8565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790558015610f0c57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b610d6d60006114e0565b3373ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000161480610f8157506001546c01000000000000000000000000900473ffffffffffffffffffffffffffffffffffffffff1633145b610fe7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f6163636f756e743a206e6f74204f776e6572206f7220456e747279506f696e7460448201526064016103b8565b565b6000808473ffffffffffffffffffffffffffffffffffffffff1684846040516110129190611dd6565b60006040518083038185875af1925050503d806000811461104f576040519150601f19603f3d011682016040523d82523d6000602084013e611054565b606091505b50915091508161046857805160208201fd5b610671611445565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff16156110a6576110a183611578565b505050565b8273ffffffffffffffffffffffffffffffffffffffff166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa92505050801561112b575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820190925261112891810190611d91565b60015b6111b7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201527f6f6e206973206e6f74205555505300000000000000000000000000000000000060648201526084016103b8565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8114611266576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f7860448201527f6961626c6555554944000000000000000000000000000000000000000000000060648201526084016103b8565b506110a1838383611682565b3373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614610fe7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f6163636f756e743a206e6f742066726f6d20456e747279506f696e740000000060448201526064016103b8565b600180546020830135916bffffffffffffffffffffffff90911690600061133783611df2565b91906101000a8154816bffffffffffffffffffffffff02191690836bffffffffffffffffffffffff1602179055506bffffffffffffffffffffffff1614610671576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f6163636f756e743a20696e76616c6964206e6f6e63650000000000000000000060448201526064016103b8565b80156106715760405160009033907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90849084818181858888f193505050503d8060008114610468576040519150601f19603f3d011682016040523d82523d6000602084013e610468565b6001546c01000000000000000000000000900473ffffffffffffffffffffffffffffffffffffffff1633148061147a57503330145b610fe7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600a60248201527f6f6e6c79206f776e65720000000000000000000000000000000000000000000060448201526064016103b8565b600180546bffffffffffffffffffffffff166c0100000000000000000000000073ffffffffffffffffffffffffffffffffffffffff8481168202929092179283905560405192048116917f0000000000000000000000000000000000000000000000000000000000000000909116907f47e55c76e7a6f1fd8996a1da8008c1ea29699cca35e7bcd057f2dec313b6e5de90600090a350565b73ffffffffffffffffffffffffffffffffffffffff81163b61161c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201527f6f74206120636f6e74726163740000000000000000000000000000000000000060648201526084016103b8565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b61168b836116a7565b6000825111806116985750805b156110a157610b8283836116f4565b6116b081611578565b60405173ffffffffffffffffffffffffffffffffffffffff8216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606106fa8383604051806060016040528060278152602001611e6f6027913960606000808573ffffffffffffffffffffffffffffffffffffffff168560405161173e9190611dd6565b600060405180830381855af49150503d8060008114611779576040519150601f19603f3d011682016040523d82523d6000602084013e61177e565b606091505b509150915061178f86838387611799565b9695505050505050565b6060831561182f5782516000036118285773ffffffffffffffffffffffffffffffffffffffff85163b611828576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016103b8565b5081611839565b6118398383611841565b949350505050565b8151156118515781518083602001fd5b806040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103b89190611e1d565b60405180608001604052806004906020820280368337509192915050565b60008083601f8401126118b557600080fd5b50813567ffffffffffffffff8111156118cd57600080fd5b6020830191508360208260051b85010111156118e857600080fd5b9250929050565b6000806000806040858703121561190557600080fd5b843567ffffffffffffffff8082111561191d57600080fd5b611929888389016118a3565b9096509450602087013591508082111561194257600080fd5b5061194f878288016118a3565b95989497509550505050565b73ffffffffffffffffffffffffffffffffffffffff8116811461067157600080fd5b60006020828403121561198f57600080fd5b81356106fa8161195b565b6000806000606084860312156119af57600080fd5b833567ffffffffffffffff8111156119c657600080fd5b840161016081870312156119d957600080fd5b95602085013595506040909401359392505050565b60008060408385031215611a0157600080fd5b8235611a0c8161195b565b946020939093013593505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715611a9057611a90611a1a565b604052919050565b60008060408385031215611aab57600080fd5b8235611ab68161195b565b915060208381013567ffffffffffffffff80821115611ad457600080fd5b818601915086601f830112611ae857600080fd5b813581811115611afa57611afa611a1a565b611b2a847fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f84011601611a49565b91508082528784828501011115611b4057600080fd5b80848401858401376000848284010152508093505050509250929050565b60008060008060608587031215611b7457600080fd5b8435611b7f8161195b565b935060208501359250604085013567ffffffffffffffff80821115611ba357600080fd5b818701915087601f830112611bb757600080fd5b813581811115611bc657600080fd5b886020828501011115611bd857600080fd5b95989497505060200194505050565b60808101818360005b6004811015611c0f578151835260209283019290910190600101611bf0565b50505092915050565b600060808284031215611c2a57600080fd5b82601f830112611c3957600080fd5b6040516080810181811067ffffffffffffffff82111715611c5c57611c5c611a1a565b604052806080840185811115611c7157600080fd5b845b81811015611c8b578035835260209283019201611c73565b509195945050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112611cfa57600080fd5b83018035915067ffffffffffffffff821115611d1557600080fd5b6020019150368190038213156118e857600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203611d8a57611d8a611d2a565b5060010190565b600060208284031215611da357600080fd5b5051919050565b60005b83811015611dc5578181015183820152602001611dad565b83811115610b825750506000910152565b60008251611de8818460208701611daa565b9190910192915050565b60006bffffffffffffffffffffffff808316818103611e1357611e13611d2a565b6001019392505050565b6020815260008251806020840152611e3c816040850160208701611daa565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016919091016040019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a26469706673582212205cf49810dc1024bbe2d76f8f79dcc489e3b6a79d7f0e35498db5239b1077074564736f6c634300080f0033"; 442 | var isSuperArgs = function (xs) { return xs.length > 1; }; 443 | var BrokenBLSAccount__factory = /** @class */ (function (_super) { 444 | __extends(BrokenBLSAccount__factory, _super); 445 | function BrokenBLSAccount__factory() { 446 | var args = []; 447 | for (var _i = 0; _i < arguments.length; _i++) { 448 | args[_i] = arguments[_i]; 449 | } 450 | var _this = this; 451 | if (isSuperArgs(args)) { 452 | _this = _super.apply(this, args) || this; 453 | } 454 | else { 455 | _this = _super.call(this, _abi, _bytecode, args[0]) || this; 456 | } 457 | return _this; 458 | } 459 | BrokenBLSAccount__factory.prototype.deploy = function (anEntryPoint, anAggregator, overrides) { 460 | return _super.prototype.deploy.call(this, anEntryPoint, anAggregator, overrides || {}); 461 | }; 462 | BrokenBLSAccount__factory.prototype.getDeployTransaction = function (anEntryPoint, anAggregator, overrides) { 463 | return _super.prototype.getDeployTransaction.call(this, anEntryPoint, anAggregator, overrides || {}); 464 | }; 465 | BrokenBLSAccount__factory.prototype.attach = function (address) { 466 | return _super.prototype.attach.call(this, address); 467 | }; 468 | BrokenBLSAccount__factory.prototype.connect = function (signer) { 469 | return _super.prototype.connect.call(this, signer); 470 | }; 471 | BrokenBLSAccount__factory.createInterface = function () { 472 | return new ethers_1.utils.Interface(_abi); 473 | }; 474 | BrokenBLSAccount__factory.connect = function (address, signerOrProvider) { 475 | return new ethers_1.Contract(address, _abi, signerOrProvider); 476 | }; 477 | BrokenBLSAccount__factory.bytecode = _bytecode; 478 | BrokenBLSAccount__factory.abi = _abi; 479 | return BrokenBLSAccount__factory; 480 | }(ethers_1.ContractFactory)); 481 | exports.BrokenBLSAccount__factory = BrokenBLSAccount__factory; 482 | --------------------------------------------------------------------------------