@paulstinchcombe/gasless-nft-tx 0.0.34 → 0.0.35

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.
@@ -1,13 +1,14 @@
1
1
  import { Address } from 'viem';
2
2
  /**
3
- * SimpleAccount bytecode - ERC-4337 compliant account implementation
4
- * This is a minimal ERC-4337 account that implements IAccount interface
3
+ * SimpleAccount bytecode - ERC-4337 v0.7 compliant account implementation
4
+ * This is the official SimpleAccount from @account-abstraction/contracts v0.7.0
5
+ * Compatible with EntryPoint v0.7 (0x0000000071727De22E5E9d8BAf0edAc6f37da032)
5
6
  */
6
- export declare const SIMPLE_ACCOUNT_BYTECODE: "0x60806040523480156200001157600080fd5b5060405162001a4638038062001a468339810160408190526200003491620000e0565b6001600160a01b0381166200005c5760405163d92e233d60e01b815260040160405180910390fd5b600080546001600160a01b0319166001600160a01b03929092169190911790556200011e565b80516001600160a01b03811681146200009957600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b60005b83811015620000d1578181015183820152602001620000b7565b50506000910152565b60008060408385031215620000f457600080fd5b620000ff8362000081565b602084810151919350906001600160401b03808211156200011f57600080fd5b818601915086601f8301126200013457600080fd5b8151818111156200014957620001496200009e565b604051601f8201601f19908116603f011681019083821181831017156200017457620001746200009e565b8160405282815289868487010111156200018d57600080fd5b620001a0836020830160208801620000b4565b80955050505050509250929050565b6118f880620001be6000396000f3fe6080604052600436106100c05760003560e01c8063b61d27f611610074578063c4d66de81161004e578063c4d66de814610234578063d087d28814610254578063f698da251461026957600080fd5b8063b61d27f6146101e1578063b0d691fe14610201578063bc197c811461022157600080fd5b80633a871cdd116100a55780633a871cdd1461017c5780634a58db191461018f5780634d44560d146101c157600080fd5b806318dfb3c7146100c55780633659cfe6146100e7575b600080fd5b3480156100d157600080fd5b506100e56100e0366004611247565b61027e565b005b3480156100f357600080fd5b506100e56101023660046112a9565b50565b34801561011157600080fd5b5061012561012036600461130e565b6102c5565b6040516001600160a01b0390911681526020015b60405180910390f35b34801561014e57600080fd5b5061016261015d366004611361565b6102f9565b604051901515815260200161013b565b6100e561018a3660046113e4565b610389565b34801561019b57600080fd5b506101af6101aa366004611461565b6103f7565b60405190815260200161013b565b3480156101cd57600080fd5b506100e56101dc3660046114a3565b610432565b3480156101ed57600080fd5b506100e56101fc3660046114e5565b610485565b34801561020d57600080fd5b506000546001600160a01b0316610125565b6100e561022f366004611531565b6104e9565b34801561024057600080fd5b506100e561024f3660046112a9565b610528565b34801561026057600080fd5b506101af610596565b34801561027557600080fd5b506101af6105a8565b6000546001600160a01b031633146102a95760405163ea8e4eb560e01b815260040160405180910390fd5b600180546001600160a01b0319166001600160a01b0392909216919091179055565b60006102f38383604051806020016040528060008152506105ba565b92915050565b6000806103098560000151610596565b90506000610319828601866115f4565b905060006103298287878761060d565b905080156103795761037985858080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525087925061066f915050565b5060019695505050505050565b60006103978285018561161d565b90506103a58185858561070b565b6103ef81858080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525087925061066f915050565b505050505050565b6000806104068460000151610596565b90506000610416828501856115f4565b90506104248183868661060d565b949350505050565b6000546001600160a01b0316331461045757604051631e4fbdf760e01b815260040160405180910390fd5b600080546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b031633146104b15760405163ea8e4eb560e01b815260040160405180910390fd5b6104e48383838080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061079292505050565b505050565b6000546001600160a01b031633146105155760405163ea8e4eb560e01b815260040160405180910390fd5b6105218585858561070b565b5050505050565b6000546001600160a01b03161561055257604051633ab534b960e21b815260040160405180910390fd5b6001600160a01b03811661057957604051631e4fbdf760e01b815260040160405180910390fd5b600080546001600160a01b0319166001600160a01b0392909216919091179055565b60006105a3600143611690565b905090565b60006105a34261ffff16610596565b6000806105c9858585856107e3565b90506105d481610862565b6105f05760405163815e1d6460e01b815260040160405180910390fd5b6105fc858585856108a8565b9150505b9392505050565b6000806106188686868660006108f8565b905060006106258261097d565b90506001600160a01b03811661064e57604051631e4fbdf760e01b815260040160405180910390fd5b6000546001600160a01b039081169116149695505050505050565b6000826001600160a01b03168260405160006040518083038185875af1925050503d80600081146106bc576040519150601f19603f3d011682016040523d82523d6000602084013e6106c1565b606091505b50509050806104e45760405162461bcd60e51b815260206004820152601360248201527211985a5b1959081d1c985b9cd9995c8819985a5b606a1b60448201526064015b60405180910390fd5b600061071a8560000151610596565b9050600061072a828601866115f4565b9050600061073a8287878761060d565b90508061075a57604051638baa579f60e01b815260040160405180910390fd5b61078988858080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061079292505050565b50505050505050565b6000826001600160a01b03168260405160006040518083038185875af1925050503d80600081146106bc576040519150601f19603f3d011682016040523d82523d6000602084013e6106c1565b6000806107f3868686868661099c565b905060006107fe8261097d565b90506001600160a01b03811661082757604051631e4fbdf760e01b815260040160405180910390fd5b6001546001600160a01b039081169116149695505050505050565b6000813f7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47081811480159061089657508115155b80156108a057508115155b949350505050565b60006108b7858585858661099c565b905060006108c48261097d565b90506001600160a01b0381166108ed57604051631e4fbdf760e01b815260040160405180910390fd5b979650505050505050565b60008061090a8888888888886109f4565b90506000610917826109fd565b905060006109248261097d565b90506001600160a01b03811661094d57604051631e4fbdf760e01b815260040160405180910390fd5b6000546001600160a01b039081169116149998505050505050505050565b600061098c8260001c610a2e565b6001600160a01b031692915050565b60006109ab868686868661099c565b905060006109b88261097d565b90506001600160a01b0381166109e157604051631e4fbdf760e01b815260040160405180910390fd5b6001600160a01b03169695505050505050565b60009695505050505050565b6000610a0882610a3e565b8051909150610a16816109fd565b6001600160a01b0316949350505050565b6000610a3982610a3e565b519392505050565b606081600001518260200151836040015184606001518560800151604051602001610a70959493929190611690565b6040516020818303038152906040529050919050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715610ac457610ac4610a85565b604052919050565b60006001600160401b03821115610ae557610ae5610a85565b50601f01601f191660200190565b600082601f830112610b0457600080fd5b8135610b17610b1282610acc565b610a9b565b818152846020838601011115610b2c57600080fd5b816020850160208301376000918101602001919091529392505050565b80356001600160a01b0381168114610b6057600080fd5b919050565b600060208284031215610b7757600080fd5b610b8082610b49565b9392505050565b60008060408385031215610b9a57600080fd5b610ba383610b49565b946020939093013593505050565b60008060408385031215610bc457600080fd5b823567ffffffffffffffff80821115610bdc57600080fd5b610be886838701610af3565b93506020850135915080821115610bfe57600080fd5b50610c0b85828601610af3565b9150509250929050565b600060208284031215610c2757600080fd5b5035919050565b60008060408385031215610c4157600080fd5b50508035926020909101359150565b60008060408385031215610c6357600080fd5b610c6c83610b49565b9150602083013567ffffffffffffffff811115610c8857600080fd5b610c0b85828601610af3565b600080600060608486031215610ca957600080fd5b610cb284610b49565b925060208401359150604084013567ffffffffffffffff811115610cd557600080fd5b610ce186828701610af3565b9150509250925092565b60005b83811015610d06578181015183820152602001610cee565b50506000910152565b60008151808452610d27816020860160208601610ceb565b601f01601f19169290920160200192915050565b602081526000610b806020830184610d0f565b600080600060608486031215610d6357600080fd5b610d6c84610b49565b9250610d7a60208501610b49565b9150604084013567ffffffffffffffff811115610cd557600080fd5b600080600080600060a08688031215610dae57600080fd5b610db786610b49565b9450610dc560208701610b49565b9350604086013567ffffffffffffffff80821115610de257600080fd5b610dee89838a01610af3565b94506060880135915080821115610e0457600080fd5b610e1089838a01610af3565b93506080880135915080821115610e2657600080fd5b50610e3388828901610af3565b9150509295509295909350565b634e487b7160e01b600052601160045260246000fd5b818103818111156102f3576102f3610e40565b60008251610e81818460208701610ceb565b919091019291505056fea2646970667358221220a1b5c5c8d8e7f8e9f0f1f2f3f4f5f6f7f8f9fafbfcfdfeff000102030405060764736f6c63430008150033";
7
+ export declare const SIMPLE_ACCOUNT_BYTECODE: "0x60c034610142576001600160401b0390601f611bde38819003918201601f1916830191848311848410176101475780849260209460405283398101031261014257516001600160a01b0381168103610142573060805260a0527ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a009081549060ff8260401c166101305780808316036100eb575b604051611a80908161015e82396080518181816108ff0152610afd015260a05181818161036701528181610611015281816106f001528181610ce501528181610ebc015281816111a40152818161149c015261164e0152f35b6001600160401b031990911681179091556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d290602090a1388080610092565b60405163f92ee8a960e01b8152600490fd5b600080fd5b634e487b7160e01b600052604160045260246000fdfe6080604052600436101561001b575b361561001957600080fd5b005b60003560e01c806301ffc9a71461012b578063150b7a021461012657806319822f7c1461012157806347e1da2a1461011c5780634a58db19146101175780634d44560d146101125780634f1ef2861461010d57806352d1902d146101085780638da5cb5b14610103578063ad3cb1cc146100fe578063b0d691fe146100f9578063b61d27f6146100f4578063bc197c81146100ef578063c399ec88146100ea578063c4d66de8146100e5578063d087d288146100e05763f23a6e610361000e57611207565b611125565b610f15565b610e44565b610d7d565b610d09565b610c9a565b610bc9565b610b77565b610ab7565b61087f565b610692565b6105cf565b610484565b6102fd565b61026c565b3461021b5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021b576004357fffffffff00000000000000000000000000000000000000000000000000000000811680910361021b57807f150b7a0200000000000000000000000000000000000000000000000000000000602092149081156101f1575b81156101c7575b506040519015158152f35b7f01ffc9a700000000000000000000000000000000000000000000000000000000915014386101bc565b7f4e2312e000000000000000000000000000000000000000000000000000000000811491506101b5565b600080fd5b73ffffffffffffffffffffffffffffffffffffffff81160361021b57565b9181601f8401121561021b5782359167ffffffffffffffff831161021b576020838186019501011161021b57565b3461021b5760807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021b576102a6600435610220565b6102b1602435610220565b60643567ffffffffffffffff811161021b576102d190369060040161023e565b505060206040517f150b7a02000000000000000000000000000000000000000000000000000000008152f35b3461021b577ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc60608136011261021b576004359067ffffffffffffffff821161021b5761012090823603011261021b5760443573ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001633036103f5576103a06103b892602435906004016113d5565b90806103bc575b506040519081529081906020820190565b0390f35b600080808093337ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1506103ee611454565b50386103a7565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f6163636f756e743a206e6f742066726f6d20456e747279506f696e74000000006044820152fd5b9181601f8401121561021b5782359167ffffffffffffffff831161021b576020808501948460051b01011161021b57565b3461021b5760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021b5767ffffffffffffffff60043581811161021b576104d4903690600401610453565b60249291923582811161021b576104ef903690600401610453565b9260443590811161021b57610508903690600401610453565b939091610513611484565b848414806105be575b61052590611298565b8161057257505060005b82811061053857005b8061056c61055161054c600194878a61132c565b611341565b61056661055f84898861139f565b3691610848565b9061153a565b0161052f565b91909460009493945b85811061058457005b806105b861059861054c6001948a8761132c565b6105a3838b8961132c565b356105b261055f858b8a61139f565b91611562565b0161057b565b5081158061051c575081851461051c565b6000807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261068f5773ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001681813b1561068f57602491604051928380927fb760faf900000000000000000000000000000000000000000000000000000000825230600483015234905af1801561068a5761067e575080f35b61068790610798565b80f35b6113ba565b80fd5b3461021b57600060407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261068f576004356106cf81610220565b6106d7611579565b8173ffffffffffffffffffffffffffffffffffffffff807f00000000000000000000000000000000000000000000000000000000000000001692833b15610765576044908360405195869485937f205c287800000000000000000000000000000000000000000000000000000000855216600484015260243560248401525af1801561068a5761067e575080f35b8280fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b67ffffffffffffffff81116107ac57604052565b610769565b6040810190811067ffffffffffffffff8211176107ac57604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff8211176107ac57604052565b67ffffffffffffffff81116107ac57601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b9291926108548261080e565b9161086260405193846107cd565b82948184528183011161021b578281602093846000960137010152565b60407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021b5760048035906108b782610220565b60243567ffffffffffffffff811161021b573660238201121561021b576108e79036906024818501359101610848565b73ffffffffffffffffffffffffffffffffffffffff807f000000000000000000000000000000000000000000000000000000000000000016803014908115610a89575b50610a6057906020839261093c611579565b604051938480927f52d1902d00000000000000000000000000000000000000000000000000000000825288165afa60009281610a2f575b506109c75750506040517f4c9c8ce300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff90921690820190815281906020010390fd5b83837f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc84036109fa576100198383611695565b6040517faa1d49a400000000000000000000000000000000000000000000000000000000815290810184815281906020010390fd5b610a5291935060203d602011610a59575b610a4a81836107cd565b8101906113c6565b9138610973565b503d610a40565b826040517fe07c8dba000000000000000000000000000000000000000000000000000000008152fd5b9050817f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc541614153861092a565b3461021b5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021b5773ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000163003610b4d5760206040517f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8152f35b60046040517fe07c8dba000000000000000000000000000000000000000000000000000000008152fd5b3461021b5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021b57602073ffffffffffffffffffffffffffffffffffffffff60005416604051908152f35b3461021b5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021b576040805190610c06826107b1565b600582526020907f352e302e300000000000000000000000000000000000000000000000000000006020840152604051916020835283519182602085015260005b838110610c8757846040817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f88600085828601015201168101030190f35b8581018301518582018301528201610c47565b3461021b5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021b57602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b3461021b5760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021b57600435610d4481610220565b6044359067ffffffffffffffff821161021b57610d73610d6b61001993369060040161023e565b61055f611484565b9060243590611562565b3461021b5760a07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021b57610db7600435610220565b610dc2602435610220565b67ffffffffffffffff60443581811161021b57610de3903690600401610453565b505060643581811161021b57610dfd903690600401610453565b505060843590811161021b57610e1790369060040161023e565b50506040517fbc197c81000000000000000000000000000000000000000000000000000000008152602090f35b3461021b5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021b576040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015260208160248173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000165afa801561068a57602091600091610ef8575b50604051908152f35b610f0f9150823d8411610a5957610a4a81836107cd565b38610eef565b3461021b5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021b57600435610f5081610220565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00549067ffffffffffffffff60ff8360401c161592168015908161111d575b6001149081611113575b15908161110a575b506110e0576110039082610ffa7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0060017fffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000825416179055565b61108457611609565b61100957005b6110557ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a007fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff8154169055565b604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d290602090a1005b6110db7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00680100000000000000007fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff825416179055565b611609565b60046040517ff92ee8a9000000000000000000000000000000000000000000000000000000008152fd5b90501538610fa1565b303b159150610f99565b839150610f8f565b3461021b5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021b576040517f35567e1a0000000000000000000000000000000000000000000000000000000081523060048201526000602482015260208160448173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000165afa801561068a576103b8916000916111e857506040519081529081906020820190565b611201915060203d602011610a5957610a4a81836107cd565b386103a7565b3461021b5760a07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021b57611241600435610220565b61124c602435610220565b60843567ffffffffffffffff811161021b5761126c90369060040161023e565b505060206040517ff23a6e61000000000000000000000000000000000000000000000000000000008152f35b1561129f57565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f77726f6e67206172726179206c656e67746873000000000000000000000000006044820152fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b919081101561133c5760051b0190565b6112fd565b3561134b81610220565b90565b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18136030182121561021b570180359067ffffffffffffffff821161021b5760200191813603831361021b57565b9082101561133c576113b69160051b81019061134e565b9091565b6040513d6000823e3d90fd5b9081602091031261021b575190565b907f19457468657265756d205369676e6564204d6573736167653a0a333200000000600052601c52603c60002061144461143b73ffffffffffffffffffffffffffffffffffffffff9261143561055f85600054169661010081019061134e565b906117af565b90929192611824565b160361144f57600090565b600190565b3d1561147f573d906114658261080e565b9161147360405193846107cd565b82523d6000602084013e565b606090565b73ffffffffffffffffffffffffffffffffffffffff807f000000000000000000000000000000000000000000000000000000000000000016331490811561152c575b50156114ce57565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602060248201527f6163636f756e743a206e6f74204f776e6572206f7220456e747279506f696e746044820152fd5b9050600054163314386114c6565b600091829182602083519301915af1611551611454565b901561155a5750565b602081519101fd5b916000928392602083519301915af1611551611454565b73ffffffffffffffffffffffffffffffffffffffff6000541633148015611600575b156115a257565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600a60248201527f6f6e6c79206f776e6572000000000000000000000000000000000000000000006044820152fd5b5030331461159b565b73ffffffffffffffffffffffffffffffffffffffff80911690817fffffffffffffffffffffffff000000000000000000000000000000000000000060005416176000557f0000000000000000000000000000000000000000000000000000000000000000167f47e55c76e7a6f1fd8996a1da8008c1ea29699cca35e7bcd057f2dec313b6e5de600080a3565b90813b156117685773ffffffffffffffffffffffffffffffffffffffff82167f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc817fffffffffffffffffffffffff00000000000000000000000000000000000000008254161790557fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a280511561173557611732916118fb565b50565b50503461173e57565b60046040517fb398979f000000000000000000000000000000000000000000000000000000008152fd5b60248273ffffffffffffffffffffffffffffffffffffffff604051917f4c9c8ce3000000000000000000000000000000000000000000000000000000008352166004820152fd5b81519190604183036117e0576117d992506020820151906060604084015193015160001a90611919565b9192909190565b505060009160029190565b600411156117f557565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b61182d816117eb565b80611836575050565b61183f816117eb565b600181036118715760046040517ff645eedf000000000000000000000000000000000000000000000000000000008152fd5b61187a816117eb565b600281036118b4576040517ffce698f700000000000000000000000000000000000000000000000000000000815260048101839052602490fd5b806118c06003926117eb565b146118c85750565b6040517fd78bce0c0000000000000000000000000000000000000000000000000000000081526004810191909152602490fd5b60008061134b93602081519101845af4611913611454565b916119aa565b91907f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0841161199e57926020929160ff608095604051948552168484015260408301526060820152600092839182805260015afa1561068a57805173ffffffffffffffffffffffffffffffffffffffff81161561199557918190565b50809160019190565b50505060009160039190565b906119e957508051156119bf57805190602001fd5b60046040517f1425ea42000000000000000000000000000000000000000000000000000000008152fd5b81511580611a41575b6119fa575090565b60249073ffffffffffffffffffffffffffffffffffffffff604051917f9996b315000000000000000000000000000000000000000000000000000000008352166004820152fd5b50803b156119f256fea2646970667358221220b5c215ee5fa04abf2dfcb3c8c197be24579578cbe6acba031df06992353e35c464736f6c63430008170033";
7
8
  /**
8
- * SimpleAccountFactory bytecode - Factory for deploying SimpleAccount instances
9
+ * SimpleAccountFactory bytecode - Factory for deploying SimpleAccount instances (v0.7)
9
10
  */
10
- export declare const SIMPLE_ACCOUNT_FACTORY_BYTECODE: "0x608060405234801561001057600080fd5b506040516107e83803806107e883398101604081905261002f91610054565b600080546001600160a01b0319166001600160a01b0392909216919091179055610084565b60006020828403121561006657600080fd5b81516001600160a01b038116811461007d57600080fd5b9392505050565b610755806100936000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c80635fbfb9cf146100465780638cb84e1814610072578063fc6f94680461009f575b600080fd5b610059610054366004610585565b6100b2565b6040516001600160a01b03909116815260200160405180910390f35b6100596100803660046105b7565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6100596100ad366004610585565b6100c6565b60006100bf8383306101c1565b9392505050565b6000806100d48585856100b2565b90506001600160a01b0381163b6100f5576100ef85856102b5565b506100bf565b949350505050565b6000763d602d80600a3d3981f3363d3d373d3d3d363d730000008360601b60e81c176000526e5af43d82803e903d91602b57fd5bf38360781b1760205281603760096000f590506001600160a01b03811661019f5760405162461bcd60e51b815260206004820152601760248201527f437265617465323a204661696c6564206f6e206465706c6f7900000000000000604482015260640160405180910390fd5b92915050565b6000816040516020016101b891906105e9565b60405160208183030381529060405280519060200120905092915050565b6000838383604051602001610200939291909283526001600160a01b03918216602084015216604082015260600190565b6040516020818303038152906040528051906020012090509392505050565b6000546040516001600160a01b0390911690610240908490849060240161063a565b60408051601f198184030181529181526020820180516001600160e01b031663189acdbd60e31b179052516102759190610665565b6000604051808303816000865af19150503d80600081146102b2576040519150601f19603f3d011682016040523d82523d6000602084013e6102b7565b606091505b5050505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663189acdbd60e31b17905261030c9061031c565b505050565b6000546001600160a01b031690565b6000610371826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166103ce9092919063ffffffff16565b80519091501561030c578080602001905181019061038f9190610681565b61030c5760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b606482015260840160405180910390fd5b60606103dd84846000856103e5565b949350505050565b6060824710156104465760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b606482015260840160405180910390fd5b843b6104945760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640160405180910390fd5b600080866001600160a01b031685876040516104b09190610665565b60006040518083038185875af1925050503d80600081146104ed576040519150601f19603f3d011682016040523d82523d6000602084013e6104f2565b606091505b509150915061050282828661050d565b979650505050505050565b6060831561051c5750816100bf565b82511561052c5782518084602001fd5b8160405162461bcd60e51b81526004016105469190610699565b60405180910390fd5b80356001600160a01b038116811461056657600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b6000806040838503121561059857600080fd5b6105a18361054f565b91506105af6020840161054f565b90509250929050565b600080604083850312156105cb57600080fd5b6105d48361054f565b91506105af6020840161054f565b60006105f48261054f565b9392505050565b6000815180845260005b8181101561062157602081850181015186830182015201610605565b506000602082860101526020601f19601f83011685010191505092915050565b6001600160a01b038316815260406020820181905260009061065e908301846105fb565b95945050505050565b600082516106798184602087016105fb565b919091019291505050565b60006020828403121561069657600080fd5b815180151581146100bf57600080fd5b6020815260006105f460208301846105fb56fea2646970667358221220b1c2d3e4f5a6b7c8d9e0f1a2b3c4d5e6f7a8b9c0d1e2f3a4b5c6d7e8f9a0b1c264736f6c63430008150033";
11
+ export declare const SIMPLE_ACCOUNT_FACTORY_BYTECODE: "0x60a060405234801561001057600080fd5b506040516129e13803806129e183398101604081905261002f91610088565b8060405161003c9061007b565b6001600160a01b039091168152602001604051809103906000f080158015610068573d6000803e3d6000fd5b506001600160a01b0316608052506100b8565b612011806109d083390190565b60006020828403121561009a57600080fd5b81516001600160a01b03811681146100b157600080fd5b9392505050565b6080516108f06100e060003960008181604b01528181610114015261025801526108f06000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c806311464fbe146100465780635fbfb9cf146100965780638cb84e18146100a9575b600080fd5b61006d7f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b61006d6100a436600461039d565b6100bc565b61006d6100b736600461039d565b6101ee565b6000806100c984846101ee565b905073ffffffffffffffffffffffffffffffffffffffff81163b80156100f1575090506101e8565b60405173ffffffffffffffffffffffffffffffffffffffff8616602482015284907f000000000000000000000000000000000000000000000000000000000000000090604401604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fc4d66de800000000000000000000000000000000000000000000000000000000179052516101b790610390565b6101c2929190610406565b8190604051809103906000f59050801580156101e2573d6000803e3d6000fd5b50925050505b92915050565b60006103578260001b6040518060200161020790610390565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe082820381018352601f90910116604081905273ffffffffffffffffffffffffffffffffffffffff871660248201527f000000000000000000000000000000000000000000000000000000000000000090604401604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152918152602080830180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fc4d66de800000000000000000000000000000000000000000000000000000000179052905161030093929101610406565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529082905261033c9291602001610474565b6040516020818303038152906040528051906020012061035e565b9392505050565b60006103578383306000604051836040820152846020820152828152600b8101905060ff815360559020949350505050565b610417806104a483390190565b600080604083850312156103b057600080fd5b823573ffffffffffffffffffffffffffffffffffffffff811681146103d457600080fd5b946020939093013593505050565b60005b838110156103fd5781810151838201526020016103e5565b50506000910152565b73ffffffffffffffffffffffffffffffffffffffff8316815260406020820152600082518060408401526104418160608501602087016103e2565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016919091016060019392505050565b600083516104868184602088016103e2565b83519083019061049a8183602088016103e2565b0194935050505056fe608060405260405161041738038061041783398101604081905261002291610268565b61002c8282610033565b5050610352565b61003c82610092565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a280511561008657610081828261010e565b505050565b61008e610185565b5050565b806001600160a01b03163b6000036100cd57604051634c9c8ce360e01b81526001600160a01b03821660048201526024015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080846001600160a01b03168460405161012b9190610336565b600060405180830381855af49150503d8060008114610166576040519150601f19603f3d011682016040523d82523d6000602084013e61016b565b606091505b50909250905061017c8583836101a6565b95945050505050565b34156101a45760405163b398979f60e01b815260040160405180910390fd5b565b6060826101bb576101b682610205565b6101fe565b81511580156101d257506001600160a01b0384163b155b156101fb57604051639996b31560e01b81526001600160a01b03851660048201526024016100c4565b50805b9392505050565b8051156102155780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b634e487b7160e01b600052604160045260246000fd5b60005b8381101561025f578181015183820152602001610247565b50506000910152565b6000806040838503121561027b57600080fd5b82516001600160a01b038116811461029257600080fd5b60208401519092506001600160401b03808211156102af57600080fd5b818501915085601f8301126102c357600080fd5b8151818111156102d5576102d561022e565b604051601f8201601f19908116603f011681019083821181831017156102fd576102fd61022e565b8160405282815288602084870101111561031657600080fd5b610327836020830160208801610244565b80955050505050509250929050565b60008251610348818460208701610244565b9190910192915050565b60b7806103606000396000f3fe6080604052600a600c565b005b60186014601a565b605e565b565b600060597f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b905090565b3660008037600080366000845af43d6000803e808015607c573d6000f35b3d6000fdfea2646970667358221220d7f23a80daebb5531c9e4a18d87e812fca112e5df7e56433218edcc12bbe415d64736f6c63430008170033a2646970667358221220f5be4d2659f1a124e46d76b875ad5264a1c62d421946ca067d6132fa6cc4309964736f6c6343000817003360c0604052306080523480156200001557600080fd5b50604051620020113803806200201183398101604081905262000038916200010a565b6001600160a01b03811660a0526200004f62000056565b506200013c565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff1615620000a75760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b0390811614620001075780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b6000602082840312156200011d57600080fd5b81516001600160a01b03811681146200013557600080fd5b9392505050565b60805160a051611e70620001a160003960008181610320015281816106f00152818161079e0152818161092601528181610b6301528181610baa01528181610d6a015261121e015260008181610f3301528181610f5c015261117d0152611e706000f3fe6080604052600436106101125760003560e01c80638da5cb5b116100a5578063bc197c8111610074578063c4d66de811610059578063c4d66de8146103c1578063d087d288146103e1578063f23a6e61146103f657600080fd5b8063bc197c8114610364578063c399ec88146103ac57600080fd5b80638da5cb5b14610269578063ad3cb1cc146102bb578063b0d691fe14610311578063b61d27f61461034457600080fd5b80634a58db19116100e15780634a58db19146102195780634d44560d146102215780634f1ef2861461024157806352d1902d1461025457600080fd5b806301ffc9a71461011e578063150b7a021461015357806319822f7c146101c957806347e1da2a146101f757600080fd5b3661011957005b600080fd5b34801561012a57600080fd5b5061013e61013936600461179b565b61043c565b60405190151581526020015b60405180910390f35b34801561015f57600080fd5b5061019861016e366004611848565b7f150b7a020000000000000000000000000000000000000000000000000000000095945050505050565b6040517fffffffff00000000000000000000000000000000000000000000000000000000909116815260200161014a565b3480156101d557600080fd5b506101e96101e43660046118bb565b610521565b60405190815260200161014a565b34801561020357600080fd5b50610217610212366004611954565b610547565b005b6102176106ee565b34801561022d57600080fd5b5061021761023c3660046119ee565b610794565b61021761024f366004611a49565b610843565b34801561026057600080fd5b506101e9610862565b34801561027557600080fd5b506000546102969073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161014a565b3480156102c757600080fd5b506103046040518060400160405280600581526020017f352e302e3000000000000000000000000000000000000000000000000000000081525081565b60405161014a9190611b4f565b34801561031d57600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610296565b34801561035057600080fd5b5061021761035f366004611ba0565b610891565b34801561037057600080fd5b5061019861037f366004611bfc565b7fbc197c810000000000000000000000000000000000000000000000000000000098975050505050505050565b3480156103b857600080fd5b506101e96108e0565b3480156103cd57600080fd5b506102176103dc366004611cbb565b610997565b3480156103ed57600080fd5b506101e9610b16565b34801561040257600080fd5b50610198610411366004611cd8565b7ff23a6e61000000000000000000000000000000000000000000000000000000009695505050505050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f150b7a020000000000000000000000000000000000000000000000000000000014806104cf57507fffffffff0000000000000000000000000000000000000000000000000000000082167f4e2312e000000000000000000000000000000000000000000000000000000000145b8061051b57507fffffffff0000000000000000000000000000000000000000000000000000000082167f01ffc9a700000000000000000000000000000000000000000000000000000000145b92915050565b600061052b610b92565b6105358484610c33565b905061054082610ce7565b9392505050565b61054f610d52565b8481148015610565575082158061056557508281145b6105d0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f77726f6e67206172726179206c656e677468730000000000000000000000000060448201526064015b60405180910390fd5b600083900361067c5760005b858110156106765761066e8787838181106105f9576105f9611d42565b905060200201602081019061060e9190611cbb565b600085858581811061062257610622611d42565b90506020028101906106349190611d71565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610e1392505050565b6001016105dc565b506106e6565b60005b858110156106e4576106dc87878381811061069c5761069c611d42565b90506020020160208101906106b19190611cbb565b8686848181106106c3576106c3611d42565b9050602002013585858581811061062257610622611d42565b60010161067f565b505b505050505050565b7f00000000000000000000000000000000000000000000000000000000000000006040517fb760faf900000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff919091169063b760faf99034906024016000604051808303818588803b15801561077957600080fd5b505af115801561078d573d6000803e3d6000fd5b5050505050565b61079c610e90565b7f00000000000000000000000000000000000000000000000000000000000000006040517f205c287800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff848116600483015260248201849052919091169063205c287890604401600060405180830381600087803b15801561082f57600080fd5b505af11580156106e6573d6000803e3d6000fd5b61084b610f1b565b6108548261101f565b61085e8282611027565b5050565b600061086c611165565b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc90565b610899610d52565b6108da848484848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610e1392505050565b50505050565b6040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015260009073ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016906370a08231906024015b602060405180830381865afa15801561096e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109929190611dd6565b905090565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000810460ff16159067ffffffffffffffff166000811580156109e25750825b905060008267ffffffffffffffff1660011480156109ff5750303b155b905081158015610a0d575080155b15610a44576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b84547fffffffffffffffffffffffffffffffffffffffffffffffff00000000000000001660011785558315610aa55784547fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff16680100000000000000001785555b610aae866111d4565b83156106e65784547fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a1505050505050565b6040517f35567e1a0000000000000000000000000000000000000000000000000000000081523060048201526000602482018190529073ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016906335567e1a90604401610951565b3373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614610c31576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f6163636f756e743a206e6f742066726f6d20456e747279506f696e740000000060448201526064016105c7565b565b7f19457468657265756d205369676e6564204d6573736167653a0a3332000000006000908152601c829052603c8120610cae81610c74610100870187611d71565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061126892505050565b60005473ffffffffffffffffffffffffffffffffffffffff908116911614610cda57600191505061051b565b5060009392505050565b50565b8015610ce45760405160009033907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90849084818181858888f193505050503d806000811461078d576040519150601f19603f3d011682016040523d82523d6000602084013e61078d565b3373ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000161480610dad575060005473ffffffffffffffffffffffffffffffffffffffff1633145b610c31576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f6163636f756e743a206e6f74204f776e6572206f7220456e747279506f696e7460448201526064016105c7565b6000808473ffffffffffffffffffffffffffffffffffffffff168484604051610e3c9190611def565b60006040518083038185875af1925050503d8060008114610e79576040519150601f19603f3d011682016040523d82523d6000602084013e610e7e565b606091505b50915091508161078d57805160208201fd5b60005473ffffffffffffffffffffffffffffffffffffffff16331480610eb557503330145b610c31576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600a60248201527f6f6e6c79206f776e65720000000000000000000000000000000000000000000060448201526064016105c7565b3073ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000161480610fe857507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16610fcf7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff1614155b15610c31576040517fe07c8dba00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610ce4610e90565b8173ffffffffffffffffffffffffffffffffffffffff166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa9250505080156110ac575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682019092526110a991810190611dd6565b60015b6110fa576040517f4c9c8ce300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff831660048201526024016105c7565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8114611156576040517faa1d49a4000000000000000000000000000000000000000000000000000000008152600481018290526024016105c7565b6111608383611292565b505050565b3073ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614610c31576040517fe07c8dba00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff838116918217835560405191927f0000000000000000000000000000000000000000000000000000000000000000909116917f47e55c76e7a6f1fd8996a1da8008c1ea29699cca35e7bcd057f2dec313b6e5de9190a350565b60008060008061127886866112f5565b9250925092506112888282611342565b5090949350505050565b61129b82611446565b60405173ffffffffffffffffffffffffffffffffffffffff8316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a28051156112ed576111608282611515565b61085e611598565b6000806000835160410361132f5760208401516040850151606086015160001a611321888285856115d0565b95509550955050505061133b565b50508151600091506002905b9250925092565b600082600381111561135657611356611e0b565b0361135f575050565b600182600381111561137357611373611e0b565b036113aa576040517ff645eedf00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60028260038111156113be576113be611e0b565b036113f8576040517ffce698f7000000000000000000000000000000000000000000000000000000008152600481018290526024016105c7565b600382600381111561140c5761140c611e0b565b0361085e576040517fd78bce0c000000000000000000000000000000000000000000000000000000008152600481018290526024016105c7565b8073ffffffffffffffffffffffffffffffffffffffff163b6000036114af576040517f4c9c8ce300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff821660048201526024016105c7565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b60606000808473ffffffffffffffffffffffffffffffffffffffff168460405161153f9190611def565b600060405180830381855af49150503d806000811461157a576040519150601f19603f3d011682016040523d82523d6000602084013e61157f565b606091505b509150915061158f8583836116ca565b95945050505050565b3415610c31576040517fb398979f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600080807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a084111561160b57506000915060039050826116c0565b604080516000808252602082018084528a905260ff891692820192909252606081018790526080810186905260019060a0016020604051602081039080840390855afa15801561165f573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff81166116b6575060009250600191508290506116c0565b9250600091508190505b9450945094915050565b6060826116df576116da82611759565b610540565b8151158015611703575073ffffffffffffffffffffffffffffffffffffffff84163b155b15611752576040517f9996b31500000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff851660048201526024016105c7565b5080610540565b8051156117695780518082602001fd5b6040517f1425ea4200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000602082840312156117ad57600080fd5b81357fffffffff000000000000000000000000000000000000000000000000000000008116811461054057600080fd5b73ffffffffffffffffffffffffffffffffffffffff81168114610ce457600080fd5b60008083601f84011261181157600080fd5b50813567ffffffffffffffff81111561182957600080fd5b60208301915083602082850101111561184157600080fd5b9250929050565b60008060008060006080868803121561186057600080fd5b853561186b816117dd565b9450602086013561187b816117dd565b935060408601359250606086013567ffffffffffffffff81111561189e57600080fd5b6118aa888289016117ff565b969995985093965092949392505050565b6000806000606084860312156118d057600080fd5b833567ffffffffffffffff8111156118e757600080fd5b840161012081870312156118fa57600080fd5b95602085013595506040909401359392505050565b60008083601f84011261192157600080fd5b50813567ffffffffffffffff81111561193957600080fd5b6020830191508360208260051b850101111561184157600080fd5b6000806000806000806060878903121561196d57600080fd5b863567ffffffffffffffff8082111561198557600080fd5b6119918a838b0161190f565b909850965060208901359150808211156119aa57600080fd5b6119b68a838b0161190f565b909650945060408901359150808211156119cf57600080fd5b506119dc89828a0161190f565b979a9699509497509295939492505050565b60008060408385031215611a0157600080fd5b8235611a0c816117dd565b946020939093013593505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60008060408385031215611a5c57600080fd5b8235611a67816117dd565b9150602083013567ffffffffffffffff80821115611a8457600080fd5b818501915085601f830112611a9857600080fd5b813581811115611aaa57611aaa611a1a565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f01168101908382118183101715611af057611af0611a1a565b81604052828152886020848701011115611b0957600080fd5b8260208601602083013760006020848301015280955050505050509250929050565b60005b83811015611b46578181015183820152602001611b2e565b50506000910152565b6020815260008251806020840152611b6e816040850160208701611b2b565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169190910160400192915050565b60008060008060608587031215611bb657600080fd5b8435611bc1816117dd565b935060208501359250604085013567ffffffffffffffff811115611be457600080fd5b611bf0878288016117ff565b95989497509550505050565b60008060008060008060008060a0898b031215611c1857600080fd5b8835611c23816117dd565b97506020890135611c33816117dd565b9650604089013567ffffffffffffffff80821115611c5057600080fd5b611c5c8c838d0161190f565b909850965060608b0135915080821115611c7557600080fd5b611c818c838d0161190f565b909650945060808b0135915080821115611c9a57600080fd5b50611ca78b828c016117ff565b999c989b5096995094979396929594505050565b600060208284031215611ccd57600080fd5b8135610540816117dd565b60008060008060008060a08789031215611cf157600080fd5b8635611cfc816117dd565b95506020870135611d0c816117dd565b94506040870135935060608701359250608087013567ffffffffffffffff811115611d3657600080fd5b6119dc89828a016117ff565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112611da657600080fd5b83018035915067ffffffffffffffff821115611dc157600080fd5b60200191503681900382131561184157600080fd5b600060208284031215611de857600080fd5b5051919050565b60008251611e01818460208701611b2b565b9190910192915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fdfea2646970667358221220646ccd794d1cd309da39b56bcfe1238dae05a9d8106dddf47fe099a78d7801e864736f6c63430008170033";
11
12
  /**
12
13
  * Get the deterministic address for a SimpleAccount
13
14
  * @param owner - Owner address of the account
@@ -17,156 +18,182 @@ export declare const SIMPLE_ACCOUNT_FACTORY_BYTECODE: "0x60806040523480156100105
17
18
  */
18
19
  export declare function getSimpleAccountAddress(owner: Address, salt: bigint, factoryAddress: Address): Address;
19
20
  /**
20
- * SimpleAccount ABI - Minimal ABI for interacting with SimpleAccount
21
+ * SimpleAccount ABI - v0.7 compatible
21
22
  */
22
23
  export declare const SIMPLE_ACCOUNT_ABI: readonly [{
24
+ readonly inputs: readonly [];
25
+ readonly name: "entryPoint";
26
+ readonly outputs: readonly [{
27
+ readonly internalType: "contract IEntryPoint";
28
+ readonly name: "";
29
+ readonly type: "address";
30
+ }];
31
+ readonly stateMutability: "view";
23
32
  readonly type: "function";
24
- readonly name: "execute";
33
+ }, {
25
34
  readonly inputs: readonly [{
35
+ readonly internalType: "address";
26
36
  readonly name: "dest";
27
37
  readonly type: "address";
28
38
  }, {
39
+ readonly internalType: "uint256";
29
40
  readonly name: "value";
30
41
  readonly type: "uint256";
31
42
  }, {
43
+ readonly internalType: "bytes";
32
44
  readonly name: "func";
33
45
  readonly type: "bytes";
34
46
  }];
47
+ readonly name: "execute";
35
48
  readonly outputs: readonly [];
36
49
  readonly stateMutability: "nonpayable";
37
- }, {
38
50
  readonly type: "function";
39
- readonly name: "executeBatch";
51
+ }, {
40
52
  readonly inputs: readonly [{
53
+ readonly internalType: "address[]";
41
54
  readonly name: "dest";
42
55
  readonly type: "address[]";
43
56
  }, {
57
+ readonly internalType: "uint256[]";
58
+ readonly name: "value";
59
+ readonly type: "uint256[]";
60
+ }, {
61
+ readonly internalType: "bytes[]";
44
62
  readonly name: "func";
45
63
  readonly type: "bytes[]";
46
64
  }];
65
+ readonly name: "executeBatch";
47
66
  readonly outputs: readonly [];
48
67
  readonly stateMutability: "nonpayable";
68
+ readonly type: "function";
49
69
  }, {
70
+ readonly inputs: readonly [];
71
+ readonly name: "getNonce";
72
+ readonly outputs: readonly [{
73
+ readonly internalType: "uint256";
74
+ readonly name: "";
75
+ readonly type: "uint256";
76
+ }];
77
+ readonly stateMutability: "view";
50
78
  readonly type: "function";
51
- readonly name: "validateUserOp";
79
+ }, {
80
+ readonly inputs: readonly [{
81
+ readonly internalType: "address";
82
+ readonly name: "anOwner";
83
+ readonly type: "address";
84
+ }];
85
+ readonly name: "initialize";
86
+ readonly outputs: readonly [];
87
+ readonly stateMutability: "nonpayable";
88
+ readonly type: "function";
89
+ }, {
90
+ readonly inputs: readonly [];
91
+ readonly name: "owner";
92
+ readonly outputs: readonly [{
93
+ readonly internalType: "address";
94
+ readonly name: "";
95
+ readonly type: "address";
96
+ }];
97
+ readonly stateMutability: "view";
98
+ readonly type: "function";
99
+ }, {
52
100
  readonly inputs: readonly [{
53
- readonly name: "userOp";
54
- readonly type: "tuple";
55
101
  readonly components: readonly [{
102
+ readonly internalType: "address";
56
103
  readonly name: "sender";
57
104
  readonly type: "address";
58
105
  }, {
106
+ readonly internalType: "uint256";
59
107
  readonly name: "nonce";
60
108
  readonly type: "uint256";
61
109
  }, {
110
+ readonly internalType: "bytes";
62
111
  readonly name: "initCode";
63
112
  readonly type: "bytes";
64
113
  }, {
114
+ readonly internalType: "bytes";
65
115
  readonly name: "callData";
66
116
  readonly type: "bytes";
67
117
  }, {
68
- readonly name: "callGasLimit";
69
- readonly type: "uint256";
70
- }, {
71
- readonly name: "verificationGasLimit";
72
- readonly type: "uint256";
118
+ readonly internalType: "bytes32";
119
+ readonly name: "accountGasLimits";
120
+ readonly type: "bytes32";
73
121
  }, {
122
+ readonly internalType: "uint256";
74
123
  readonly name: "preVerificationGas";
75
124
  readonly type: "uint256";
76
125
  }, {
77
- readonly name: "maxFeePerGas";
78
- readonly type: "uint256";
79
- }, {
80
- readonly name: "maxPriorityFeePerGas";
81
- readonly type: "uint256";
126
+ readonly internalType: "bytes32";
127
+ readonly name: "gasFees";
128
+ readonly type: "bytes32";
82
129
  }, {
130
+ readonly internalType: "bytes";
83
131
  readonly name: "paymasterAndData";
84
132
  readonly type: "bytes";
85
133
  }, {
134
+ readonly internalType: "bytes";
86
135
  readonly name: "signature";
87
136
  readonly type: "bytes";
88
137
  }];
138
+ readonly internalType: "struct PackedUserOperation";
139
+ readonly name: "userOp";
140
+ readonly type: "tuple";
89
141
  }, {
142
+ readonly internalType: "bytes32";
90
143
  readonly name: "userOpHash";
91
144
  readonly type: "bytes32";
92
145
  }, {
146
+ readonly internalType: "uint256";
93
147
  readonly name: "missingAccountFunds";
94
148
  readonly type: "uint256";
95
149
  }];
150
+ readonly name: "validateUserOp";
96
151
  readonly outputs: readonly [{
152
+ readonly internalType: "uint256";
97
153
  readonly name: "validationData";
98
154
  readonly type: "uint256";
99
155
  }];
100
156
  readonly stateMutability: "nonpayable";
101
- }, {
102
- readonly type: "function";
103
- readonly name: "initialize";
104
- readonly inputs: readonly [{
105
- readonly name: "anOwner";
106
- readonly type: "address";
107
- }];
108
- readonly outputs: readonly [];
109
- readonly stateMutability: "nonpayable";
110
- }, {
111
- readonly type: "function";
112
- readonly name: "owner";
113
- readonly inputs: readonly [];
114
- readonly outputs: readonly [{
115
- readonly name: "";
116
- readonly type: "address";
117
- }];
118
- readonly stateMutability: "view";
119
- }, {
120
157
  readonly type: "function";
121
- readonly name: "entryPoint";
122
- readonly inputs: readonly [];
123
- readonly outputs: readonly [{
124
- readonly name: "";
125
- readonly type: "address";
126
- }];
127
- readonly stateMutability: "view";
128
- }, {
129
- readonly type: "function";
130
- readonly name: "getNonce";
131
- readonly inputs: readonly [];
132
- readonly outputs: readonly [{
133
- readonly name: "";
134
- readonly type: "uint256";
135
- }];
136
- readonly stateMutability: "view";
137
158
  }];
138
159
  /**
139
- * SimpleAccountFactory ABI
160
+ * SimpleAccountFactory ABI - v0.7 compatible
140
161
  */
141
162
  export declare const SIMPLE_ACCOUNT_FACTORY_ABI: readonly [{
142
- readonly type: "function";
143
- readonly name: "createAccount";
144
163
  readonly inputs: readonly [{
164
+ readonly internalType: "address";
145
165
  readonly name: "owner";
146
166
  readonly type: "address";
147
167
  }, {
168
+ readonly internalType: "uint256";
148
169
  readonly name: "salt";
149
170
  readonly type: "uint256";
150
171
  }];
172
+ readonly name: "createAccount";
151
173
  readonly outputs: readonly [{
174
+ readonly internalType: "contract SimpleAccount";
152
175
  readonly name: "ret";
153
176
  readonly type: "address";
154
177
  }];
155
178
  readonly stateMutability: "nonpayable";
156
- }, {
157
179
  readonly type: "function";
158
- readonly name: "getAddress";
180
+ }, {
159
181
  readonly inputs: readonly [{
182
+ readonly internalType: "address";
160
183
  readonly name: "owner";
161
184
  readonly type: "address";
162
185
  }, {
186
+ readonly internalType: "uint256";
163
187
  readonly name: "salt";
164
188
  readonly type: "uint256";
165
189
  }];
190
+ readonly name: "getAddress";
166
191
  readonly outputs: readonly [{
192
+ readonly internalType: "address";
167
193
  readonly name: "";
168
194
  readonly type: "address";
169
195
  }];
170
196
  readonly stateMutability: "view";
197
+ readonly type: "function";
171
198
  }];
172
199
  //# sourceMappingURL=SimpleAccount.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"SimpleAccount.d.ts","sourceRoot":"","sources":["../../src/SmartContractWallet/SimpleAccount.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAyE,MAAM,MAAM,CAAC;AAEtG;;;GAGG;AACH,eAAO,MAAM,uBAAuB,EACnC,sjQAA+jQ,CAAC;AAEjkQ;;GAEG;AACH,eAAO,MAAM,+BAA+B,EAC3C,g5HAAy5H,CAAC;AAE35H;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,cAAc,EAAE,OAAO,GAAG,OAAO,CActG;AAED;;GAEG;AACH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA6ErB,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAqB7B,CAAC"}
1
+ {"version":3,"file":"SimpleAccount.d.ts","sourceRoot":"","sources":["../../src/SmartContractWallet/SimpleAccount.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAyE,MAAM,MAAM,CAAC;AAEtG;;;;GAIG;AACH,eAAO,MAAM,uBAAuB,EACnC,g8bAAy8b,CAAC;AAE38b;;GAEG;AACH,eAAO,MAAM,+BAA+B,EAC3C,s8pBAA+8pB,CAAC;AAEj9pB;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,cAAc,EAAE,OAAO,GAAG,OAAO,CActG;AAED;;GAEG;AACH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA+KrB,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAiD7B,CAAC"}
@@ -4,14 +4,15 @@ exports.SIMPLE_ACCOUNT_FACTORY_ABI = exports.SIMPLE_ACCOUNT_ABI = exports.SIMPLE
4
4
  exports.getSimpleAccountAddress = getSimpleAccountAddress;
5
5
  const viem_1 = require("viem");
6
6
  /**
7
- * SimpleAccount bytecode - ERC-4337 compliant account implementation
8
- * This is a minimal ERC-4337 account that implements IAccount interface
7
+ * SimpleAccount bytecode - ERC-4337 v0.7 compliant account implementation
8
+ * This is the official SimpleAccount from @account-abstraction/contracts v0.7.0
9
+ * Compatible with EntryPoint v0.7 (0x0000000071727De22E5E9d8BAf0edAc6f37da032)
9
10
  */
10
- exports.SIMPLE_ACCOUNT_BYTECODE = '0x60806040523480156200001157600080fd5b5060405162001a4638038062001a468339810160408190526200003491620000e0565b6001600160a01b0381166200005c5760405163d92e233d60e01b815260040160405180910390fd5b600080546001600160a01b0319166001600160a01b03929092169190911790556200011e565b80516001600160a01b03811681146200009957600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b60005b83811015620000d1578181015183820152602001620000b7565b50506000910152565b60008060408385031215620000f457600080fd5b620000ff8362000081565b602084810151919350906001600160401b03808211156200011f57600080fd5b818601915086601f8301126200013457600080fd5b8151818111156200014957620001496200009e565b604051601f8201601f19908116603f011681019083821181831017156200017457620001746200009e565b8160405282815289868487010111156200018d57600080fd5b620001a0836020830160208801620000b4565b80955050505050509250929050565b6118f880620001be6000396000f3fe6080604052600436106100c05760003560e01c8063b61d27f611610074578063c4d66de81161004e578063c4d66de814610234578063d087d28814610254578063f698da251461026957600080fd5b8063b61d27f6146101e1578063b0d691fe14610201578063bc197c811461022157600080fd5b80633a871cdd116100a55780633a871cdd1461017c5780634a58db191461018f5780634d44560d146101c157600080fd5b806318dfb3c7146100c55780633659cfe6146100e7575b600080fd5b3480156100d157600080fd5b506100e56100e0366004611247565b61027e565b005b3480156100f357600080fd5b506100e56101023660046112a9565b50565b34801561011157600080fd5b5061012561012036600461130e565b6102c5565b6040516001600160a01b0390911681526020015b60405180910390f35b34801561014e57600080fd5b5061016261015d366004611361565b6102f9565b604051901515815260200161013b565b6100e561018a3660046113e4565b610389565b34801561019b57600080fd5b506101af6101aa366004611461565b6103f7565b60405190815260200161013b565b3480156101cd57600080fd5b506100e56101dc3660046114a3565b610432565b3480156101ed57600080fd5b506100e56101fc3660046114e5565b610485565b34801561020d57600080fd5b506000546001600160a01b0316610125565b6100e561022f366004611531565b6104e9565b34801561024057600080fd5b506100e561024f3660046112a9565b610528565b34801561026057600080fd5b506101af610596565b34801561027557600080fd5b506101af6105a8565b6000546001600160a01b031633146102a95760405163ea8e4eb560e01b815260040160405180910390fd5b600180546001600160a01b0319166001600160a01b0392909216919091179055565b60006102f38383604051806020016040528060008152506105ba565b92915050565b6000806103098560000151610596565b90506000610319828601866115f4565b905060006103298287878761060d565b905080156103795761037985858080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525087925061066f915050565b5060019695505050505050565b60006103978285018561161d565b90506103a58185858561070b565b6103ef81858080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525087925061066f915050565b505050505050565b6000806104068460000151610596565b90506000610416828501856115f4565b90506104248183868661060d565b949350505050565b6000546001600160a01b0316331461045757604051631e4fbdf760e01b815260040160405180910390fd5b600080546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b031633146104b15760405163ea8e4eb560e01b815260040160405180910390fd5b6104e48383838080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061079292505050565b505050565b6000546001600160a01b031633146105155760405163ea8e4eb560e01b815260040160405180910390fd5b6105218585858561070b565b5050505050565b6000546001600160a01b03161561055257604051633ab534b960e21b815260040160405180910390fd5b6001600160a01b03811661057957604051631e4fbdf760e01b815260040160405180910390fd5b600080546001600160a01b0319166001600160a01b0392909216919091179055565b60006105a3600143611690565b905090565b60006105a34261ffff16610596565b6000806105c9858585856107e3565b90506105d481610862565b6105f05760405163815e1d6460e01b815260040160405180910390fd5b6105fc858585856108a8565b9150505b9392505050565b6000806106188686868660006108f8565b905060006106258261097d565b90506001600160a01b03811661064e57604051631e4fbdf760e01b815260040160405180910390fd5b6000546001600160a01b039081169116149695505050505050565b6000826001600160a01b03168260405160006040518083038185875af1925050503d80600081146106bc576040519150601f19603f3d011682016040523d82523d6000602084013e6106c1565b606091505b50509050806104e45760405162461bcd60e51b815260206004820152601360248201527211985a5b1959081d1c985b9cd9995c8819985a5b606a1b60448201526064015b60405180910390fd5b600061071a8560000151610596565b9050600061072a828601866115f4565b9050600061073a8287878761060d565b90508061075a57604051638baa579f60e01b815260040160405180910390fd5b61078988858080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061079292505050565b50505050505050565b6000826001600160a01b03168260405160006040518083038185875af1925050503d80600081146106bc576040519150601f19603f3d011682016040523d82523d6000602084013e6106c1565b6000806107f3868686868661099c565b905060006107fe8261097d565b90506001600160a01b03811661082757604051631e4fbdf760e01b815260040160405180910390fd5b6001546001600160a01b039081169116149695505050505050565b6000813f7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47081811480159061089657508115155b80156108a057508115155b949350505050565b60006108b7858585858661099c565b905060006108c48261097d565b90506001600160a01b0381166108ed57604051631e4fbdf760e01b815260040160405180910390fd5b979650505050505050565b60008061090a8888888888886109f4565b90506000610917826109fd565b905060006109248261097d565b90506001600160a01b03811661094d57604051631e4fbdf760e01b815260040160405180910390fd5b6000546001600160a01b039081169116149998505050505050505050565b600061098c8260001c610a2e565b6001600160a01b031692915050565b60006109ab868686868661099c565b905060006109b88261097d565b90506001600160a01b0381166109e157604051631e4fbdf760e01b815260040160405180910390fd5b6001600160a01b03169695505050505050565b60009695505050505050565b6000610a0882610a3e565b8051909150610a16816109fd565b6001600160a01b0316949350505050565b6000610a3982610a3e565b519392505050565b606081600001518260200151836040015184606001518560800151604051602001610a70959493929190611690565b6040516020818303038152906040529050919050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715610ac457610ac4610a85565b604052919050565b60006001600160401b03821115610ae557610ae5610a85565b50601f01601f191660200190565b600082601f830112610b0457600080fd5b8135610b17610b1282610acc565b610a9b565b818152846020838601011115610b2c57600080fd5b816020850160208301376000918101602001919091529392505050565b80356001600160a01b0381168114610b6057600080fd5b919050565b600060208284031215610b7757600080fd5b610b8082610b49565b9392505050565b60008060408385031215610b9a57600080fd5b610ba383610b49565b946020939093013593505050565b60008060408385031215610bc457600080fd5b823567ffffffffffffffff80821115610bdc57600080fd5b610be886838701610af3565b93506020850135915080821115610bfe57600080fd5b50610c0b85828601610af3565b9150509250929050565b600060208284031215610c2757600080fd5b5035919050565b60008060408385031215610c4157600080fd5b50508035926020909101359150565b60008060408385031215610c6357600080fd5b610c6c83610b49565b9150602083013567ffffffffffffffff811115610c8857600080fd5b610c0b85828601610af3565b600080600060608486031215610ca957600080fd5b610cb284610b49565b925060208401359150604084013567ffffffffffffffff811115610cd557600080fd5b610ce186828701610af3565b9150509250925092565b60005b83811015610d06578181015183820152602001610cee565b50506000910152565b60008151808452610d27816020860160208601610ceb565b601f01601f19169290920160200192915050565b602081526000610b806020830184610d0f565b600080600060608486031215610d6357600080fd5b610d6c84610b49565b9250610d7a60208501610b49565b9150604084013567ffffffffffffffff811115610cd557600080fd5b600080600080600060a08688031215610dae57600080fd5b610db786610b49565b9450610dc560208701610b49565b9350604086013567ffffffffffffffff80821115610de257600080fd5b610dee89838a01610af3565b94506060880135915080821115610e0457600080fd5b610e1089838a01610af3565b93506080880135915080821115610e2657600080fd5b50610e3388828901610af3565b9150509295509295909350565b634e487b7160e01b600052601160045260246000fd5b818103818111156102f3576102f3610e40565b60008251610e81818460208701610ceb565b919091019291505056fea2646970667358221220a1b5c5c8d8e7f8e9f0f1f2f3f4f5f6f7f8f9fafbfcfdfeff000102030405060764736f6c63430008150033';
11
+ exports.SIMPLE_ACCOUNT_BYTECODE = '0x60c034610142576001600160401b0390601f611bde38819003918201601f1916830191848311848410176101475780849260209460405283398101031261014257516001600160a01b0381168103610142573060805260a0527ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a009081549060ff8260401c166101305780808316036100eb575b604051611a80908161015e82396080518181816108ff0152610afd015260a05181818161036701528181610611015281816106f001528181610ce501528181610ebc015281816111a40152818161149c015261164e0152f35b6001600160401b031990911681179091556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d290602090a1388080610092565b60405163f92ee8a960e01b8152600490fd5b600080fd5b634e487b7160e01b600052604160045260246000fdfe6080604052600436101561001b575b361561001957600080fd5b005b60003560e01c806301ffc9a71461012b578063150b7a021461012657806319822f7c1461012157806347e1da2a1461011c5780634a58db19146101175780634d44560d146101125780634f1ef2861461010d57806352d1902d146101085780638da5cb5b14610103578063ad3cb1cc146100fe578063b0d691fe146100f9578063b61d27f6146100f4578063bc197c81146100ef578063c399ec88146100ea578063c4d66de8146100e5578063d087d288146100e05763f23a6e610361000e57611207565b611125565b610f15565b610e44565b610d7d565b610d09565b610c9a565b610bc9565b610b77565b610ab7565b61087f565b610692565b6105cf565b610484565b6102fd565b61026c565b3461021b5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021b576004357fffffffff00000000000000000000000000000000000000000000000000000000811680910361021b57807f150b7a0200000000000000000000000000000000000000000000000000000000602092149081156101f1575b81156101c7575b506040519015158152f35b7f01ffc9a700000000000000000000000000000000000000000000000000000000915014386101bc565b7f4e2312e000000000000000000000000000000000000000000000000000000000811491506101b5565b600080fd5b73ffffffffffffffffffffffffffffffffffffffff81160361021b57565b9181601f8401121561021b5782359167ffffffffffffffff831161021b576020838186019501011161021b57565b3461021b5760807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021b576102a6600435610220565b6102b1602435610220565b60643567ffffffffffffffff811161021b576102d190369060040161023e565b505060206040517f150b7a02000000000000000000000000000000000000000000000000000000008152f35b3461021b577ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc60608136011261021b576004359067ffffffffffffffff821161021b5761012090823603011261021b5760443573ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001633036103f5576103a06103b892602435906004016113d5565b90806103bc575b506040519081529081906020820190565b0390f35b600080808093337ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1506103ee611454565b50386103a7565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f6163636f756e743a206e6f742066726f6d20456e747279506f696e74000000006044820152fd5b9181601f8401121561021b5782359167ffffffffffffffff831161021b576020808501948460051b01011161021b57565b3461021b5760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021b5767ffffffffffffffff60043581811161021b576104d4903690600401610453565b60249291923582811161021b576104ef903690600401610453565b9260443590811161021b57610508903690600401610453565b939091610513611484565b848414806105be575b61052590611298565b8161057257505060005b82811061053857005b8061056c61055161054c600194878a61132c565b611341565b61056661055f84898861139f565b3691610848565b9061153a565b0161052f565b91909460009493945b85811061058457005b806105b861059861054c6001948a8761132c565b6105a3838b8961132c565b356105b261055f858b8a61139f565b91611562565b0161057b565b5081158061051c575081851461051c565b6000807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261068f5773ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001681813b1561068f57602491604051928380927fb760faf900000000000000000000000000000000000000000000000000000000825230600483015234905af1801561068a5761067e575080f35b61068790610798565b80f35b6113ba565b80fd5b3461021b57600060407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261068f576004356106cf81610220565b6106d7611579565b8173ffffffffffffffffffffffffffffffffffffffff807f00000000000000000000000000000000000000000000000000000000000000001692833b15610765576044908360405195869485937f205c287800000000000000000000000000000000000000000000000000000000855216600484015260243560248401525af1801561068a5761067e575080f35b8280fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b67ffffffffffffffff81116107ac57604052565b610769565b6040810190811067ffffffffffffffff8211176107ac57604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff8211176107ac57604052565b67ffffffffffffffff81116107ac57601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b9291926108548261080e565b9161086260405193846107cd565b82948184528183011161021b578281602093846000960137010152565b60407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021b5760048035906108b782610220565b60243567ffffffffffffffff811161021b573660238201121561021b576108e79036906024818501359101610848565b73ffffffffffffffffffffffffffffffffffffffff807f000000000000000000000000000000000000000000000000000000000000000016803014908115610a89575b50610a6057906020839261093c611579565b604051938480927f52d1902d00000000000000000000000000000000000000000000000000000000825288165afa60009281610a2f575b506109c75750506040517f4c9c8ce300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff90921690820190815281906020010390fd5b83837f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc84036109fa576100198383611695565b6040517faa1d49a400000000000000000000000000000000000000000000000000000000815290810184815281906020010390fd5b610a5291935060203d602011610a59575b610a4a81836107cd565b8101906113c6565b9138610973565b503d610a40565b826040517fe07c8dba000000000000000000000000000000000000000000000000000000008152fd5b9050817f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc541614153861092a565b3461021b5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021b5773ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000163003610b4d5760206040517f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8152f35b60046040517fe07c8dba000000000000000000000000000000000000000000000000000000008152fd5b3461021b5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021b57602073ffffffffffffffffffffffffffffffffffffffff60005416604051908152f35b3461021b5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021b576040805190610c06826107b1565b600582526020907f352e302e300000000000000000000000000000000000000000000000000000006020840152604051916020835283519182602085015260005b838110610c8757846040817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f88600085828601015201168101030190f35b8581018301518582018301528201610c47565b3461021b5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021b57602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b3461021b5760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021b57600435610d4481610220565b6044359067ffffffffffffffff821161021b57610d73610d6b61001993369060040161023e565b61055f611484565b9060243590611562565b3461021b5760a07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021b57610db7600435610220565b610dc2602435610220565b67ffffffffffffffff60443581811161021b57610de3903690600401610453565b505060643581811161021b57610dfd903690600401610453565b505060843590811161021b57610e1790369060040161023e565b50506040517fbc197c81000000000000000000000000000000000000000000000000000000008152602090f35b3461021b5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021b576040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015260208160248173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000165afa801561068a57602091600091610ef8575b50604051908152f35b610f0f9150823d8411610a5957610a4a81836107cd565b38610eef565b3461021b5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021b57600435610f5081610220565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00549067ffffffffffffffff60ff8360401c161592168015908161111d575b6001149081611113575b15908161110a575b506110e0576110039082610ffa7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0060017fffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000825416179055565b61108457611609565b61100957005b6110557ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a007fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff8154169055565b604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d290602090a1005b6110db7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00680100000000000000007fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff825416179055565b611609565b60046040517ff92ee8a9000000000000000000000000000000000000000000000000000000008152fd5b90501538610fa1565b303b159150610f99565b839150610f8f565b3461021b5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021b576040517f35567e1a0000000000000000000000000000000000000000000000000000000081523060048201526000602482015260208160448173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000165afa801561068a576103b8916000916111e857506040519081529081906020820190565b611201915060203d602011610a5957610a4a81836107cd565b386103a7565b3461021b5760a07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261021b57611241600435610220565b61124c602435610220565b60843567ffffffffffffffff811161021b5761126c90369060040161023e565b505060206040517ff23a6e61000000000000000000000000000000000000000000000000000000008152f35b1561129f57565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f77726f6e67206172726179206c656e67746873000000000000000000000000006044820152fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b919081101561133c5760051b0190565b6112fd565b3561134b81610220565b90565b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18136030182121561021b570180359067ffffffffffffffff821161021b5760200191813603831361021b57565b9082101561133c576113b69160051b81019061134e565b9091565b6040513d6000823e3d90fd5b9081602091031261021b575190565b907f19457468657265756d205369676e6564204d6573736167653a0a333200000000600052601c52603c60002061144461143b73ffffffffffffffffffffffffffffffffffffffff9261143561055f85600054169661010081019061134e565b906117af565b90929192611824565b160361144f57600090565b600190565b3d1561147f573d906114658261080e565b9161147360405193846107cd565b82523d6000602084013e565b606090565b73ffffffffffffffffffffffffffffffffffffffff807f000000000000000000000000000000000000000000000000000000000000000016331490811561152c575b50156114ce57565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602060248201527f6163636f756e743a206e6f74204f776e6572206f7220456e747279506f696e746044820152fd5b9050600054163314386114c6565b600091829182602083519301915af1611551611454565b901561155a5750565b602081519101fd5b916000928392602083519301915af1611551611454565b73ffffffffffffffffffffffffffffffffffffffff6000541633148015611600575b156115a257565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600a60248201527f6f6e6c79206f776e6572000000000000000000000000000000000000000000006044820152fd5b5030331461159b565b73ffffffffffffffffffffffffffffffffffffffff80911690817fffffffffffffffffffffffff000000000000000000000000000000000000000060005416176000557f0000000000000000000000000000000000000000000000000000000000000000167f47e55c76e7a6f1fd8996a1da8008c1ea29699cca35e7bcd057f2dec313b6e5de600080a3565b90813b156117685773ffffffffffffffffffffffffffffffffffffffff82167f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc817fffffffffffffffffffffffff00000000000000000000000000000000000000008254161790557fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a280511561173557611732916118fb565b50565b50503461173e57565b60046040517fb398979f000000000000000000000000000000000000000000000000000000008152fd5b60248273ffffffffffffffffffffffffffffffffffffffff604051917f4c9c8ce3000000000000000000000000000000000000000000000000000000008352166004820152fd5b81519190604183036117e0576117d992506020820151906060604084015193015160001a90611919565b9192909190565b505060009160029190565b600411156117f557565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b61182d816117eb565b80611836575050565b61183f816117eb565b600181036118715760046040517ff645eedf000000000000000000000000000000000000000000000000000000008152fd5b61187a816117eb565b600281036118b4576040517ffce698f700000000000000000000000000000000000000000000000000000000815260048101839052602490fd5b806118c06003926117eb565b146118c85750565b6040517fd78bce0c0000000000000000000000000000000000000000000000000000000081526004810191909152602490fd5b60008061134b93602081519101845af4611913611454565b916119aa565b91907f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0841161199e57926020929160ff608095604051948552168484015260408301526060820152600092839182805260015afa1561068a57805173ffffffffffffffffffffffffffffffffffffffff81161561199557918190565b50809160019190565b50505060009160039190565b906119e957508051156119bf57805190602001fd5b60046040517f1425ea42000000000000000000000000000000000000000000000000000000008152fd5b81511580611a41575b6119fa575090565b60249073ffffffffffffffffffffffffffffffffffffffff604051917f9996b315000000000000000000000000000000000000000000000000000000008352166004820152fd5b50803b156119f256fea2646970667358221220b5c215ee5fa04abf2dfcb3c8c197be24579578cbe6acba031df06992353e35c464736f6c63430008170033';
11
12
  /**
12
- * SimpleAccountFactory bytecode - Factory for deploying SimpleAccount instances
13
+ * SimpleAccountFactory bytecode - Factory for deploying SimpleAccount instances (v0.7)
13
14
  */
14
- exports.SIMPLE_ACCOUNT_FACTORY_BYTECODE = '0x608060405234801561001057600080fd5b506040516107e83803806107e883398101604081905261002f91610054565b600080546001600160a01b0319166001600160a01b0392909216919091179055610084565b60006020828403121561006657600080fd5b81516001600160a01b038116811461007d57600080fd5b9392505050565b610755806100936000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c80635fbfb9cf146100465780638cb84e1814610072578063fc6f94680461009f575b600080fd5b610059610054366004610585565b6100b2565b6040516001600160a01b03909116815260200160405180910390f35b6100596100803660046105b7565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6100596100ad366004610585565b6100c6565b60006100bf8383306101c1565b9392505050565b6000806100d48585856100b2565b90506001600160a01b0381163b6100f5576100ef85856102b5565b506100bf565b949350505050565b6000763d602d80600a3d3981f3363d3d373d3d3d363d730000008360601b60e81c176000526e5af43d82803e903d91602b57fd5bf38360781b1760205281603760096000f590506001600160a01b03811661019f5760405162461bcd60e51b815260206004820152601760248201527f437265617465323a204661696c6564206f6e206465706c6f7900000000000000604482015260640160405180910390fd5b92915050565b6000816040516020016101b891906105e9565b60405160208183030381529060405280519060200120905092915050565b6000838383604051602001610200939291909283526001600160a01b03918216602084015216604082015260600190565b6040516020818303038152906040528051906020012090509392505050565b6000546040516001600160a01b0390911690610240908490849060240161063a565b60408051601f198184030181529181526020820180516001600160e01b031663189acdbd60e31b179052516102759190610665565b6000604051808303816000865af19150503d80600081146102b2576040519150601f19603f3d011682016040523d82523d6000602084013e6102b7565b606091505b5050505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663189acdbd60e31b17905261030c9061031c565b505050565b6000546001600160a01b031690565b6000610371826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166103ce9092919063ffffffff16565b80519091501561030c578080602001905181019061038f9190610681565b61030c5760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b606482015260840160405180910390fd5b60606103dd84846000856103e5565b949350505050565b6060824710156104465760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b606482015260840160405180910390fd5b843b6104945760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640160405180910390fd5b600080866001600160a01b031685876040516104b09190610665565b60006040518083038185875af1925050503d80600081146104ed576040519150601f19603f3d011682016040523d82523d6000602084013e6104f2565b606091505b509150915061050282828661050d565b979650505050505050565b6060831561051c5750816100bf565b82511561052c5782518084602001fd5b8160405162461bcd60e51b81526004016105469190610699565b60405180910390fd5b80356001600160a01b038116811461056657600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b6000806040838503121561059857600080fd5b6105a18361054f565b91506105af6020840161054f565b90509250929050565b600080604083850312156105cb57600080fd5b6105d48361054f565b91506105af6020840161054f565b60006105f48261054f565b9392505050565b6000815180845260005b8181101561062157602081850181015186830182015201610605565b506000602082860101526020601f19601f83011685010191505092915050565b6001600160a01b038316815260406020820181905260009061065e908301846105fb565b95945050505050565b600082516106798184602087016105fb565b919091019291505050565b60006020828403121561069657600080fd5b815180151581146100bf57600080fd5b6020815260006105f460208301846105fb56fea2646970667358221220b1c2d3e4f5a6b7c8d9e0f1a2b3c4d5e6f7a8b9c0d1e2f3a4b5c6d7e8f9a0b1c264736f6c63430008150033';
15
+ exports.SIMPLE_ACCOUNT_FACTORY_BYTECODE = '0x60a060405234801561001057600080fd5b506040516129e13803806129e183398101604081905261002f91610088565b8060405161003c9061007b565b6001600160a01b039091168152602001604051809103906000f080158015610068573d6000803e3d6000fd5b506001600160a01b0316608052506100b8565b612011806109d083390190565b60006020828403121561009a57600080fd5b81516001600160a01b03811681146100b157600080fd5b9392505050565b6080516108f06100e060003960008181604b01528181610114015261025801526108f06000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c806311464fbe146100465780635fbfb9cf146100965780638cb84e18146100a9575b600080fd5b61006d7f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b61006d6100a436600461039d565b6100bc565b61006d6100b736600461039d565b6101ee565b6000806100c984846101ee565b905073ffffffffffffffffffffffffffffffffffffffff81163b80156100f1575090506101e8565b60405173ffffffffffffffffffffffffffffffffffffffff8616602482015284907f000000000000000000000000000000000000000000000000000000000000000090604401604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fc4d66de800000000000000000000000000000000000000000000000000000000179052516101b790610390565b6101c2929190610406565b8190604051809103906000f59050801580156101e2573d6000803e3d6000fd5b50925050505b92915050565b60006103578260001b6040518060200161020790610390565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe082820381018352601f90910116604081905273ffffffffffffffffffffffffffffffffffffffff871660248201527f000000000000000000000000000000000000000000000000000000000000000090604401604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152918152602080830180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fc4d66de800000000000000000000000000000000000000000000000000000000179052905161030093929101610406565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529082905261033c9291602001610474565b6040516020818303038152906040528051906020012061035e565b9392505050565b60006103578383306000604051836040820152846020820152828152600b8101905060ff815360559020949350505050565b610417806104a483390190565b600080604083850312156103b057600080fd5b823573ffffffffffffffffffffffffffffffffffffffff811681146103d457600080fd5b946020939093013593505050565b60005b838110156103fd5781810151838201526020016103e5565b50506000910152565b73ffffffffffffffffffffffffffffffffffffffff8316815260406020820152600082518060408401526104418160608501602087016103e2565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016919091016060019392505050565b600083516104868184602088016103e2565b83519083019061049a8183602088016103e2565b0194935050505056fe608060405260405161041738038061041783398101604081905261002291610268565b61002c8282610033565b5050610352565b61003c82610092565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a280511561008657610081828261010e565b505050565b61008e610185565b5050565b806001600160a01b03163b6000036100cd57604051634c9c8ce360e01b81526001600160a01b03821660048201526024015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080846001600160a01b03168460405161012b9190610336565b600060405180830381855af49150503d8060008114610166576040519150601f19603f3d011682016040523d82523d6000602084013e61016b565b606091505b50909250905061017c8583836101a6565b95945050505050565b34156101a45760405163b398979f60e01b815260040160405180910390fd5b565b6060826101bb576101b682610205565b6101fe565b81511580156101d257506001600160a01b0384163b155b156101fb57604051639996b31560e01b81526001600160a01b03851660048201526024016100c4565b50805b9392505050565b8051156102155780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b634e487b7160e01b600052604160045260246000fd5b60005b8381101561025f578181015183820152602001610247565b50506000910152565b6000806040838503121561027b57600080fd5b82516001600160a01b038116811461029257600080fd5b60208401519092506001600160401b03808211156102af57600080fd5b818501915085601f8301126102c357600080fd5b8151818111156102d5576102d561022e565b604051601f8201601f19908116603f011681019083821181831017156102fd576102fd61022e565b8160405282815288602084870101111561031657600080fd5b610327836020830160208801610244565b80955050505050509250929050565b60008251610348818460208701610244565b9190910192915050565b60b7806103606000396000f3fe6080604052600a600c565b005b60186014601a565b605e565b565b600060597f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b905090565b3660008037600080366000845af43d6000803e808015607c573d6000f35b3d6000fdfea2646970667358221220d7f23a80daebb5531c9e4a18d87e812fca112e5df7e56433218edcc12bbe415d64736f6c63430008170033a2646970667358221220f5be4d2659f1a124e46d76b875ad5264a1c62d421946ca067d6132fa6cc4309964736f6c6343000817003360c0604052306080523480156200001557600080fd5b50604051620020113803806200201183398101604081905262000038916200010a565b6001600160a01b03811660a0526200004f62000056565b506200013c565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff1615620000a75760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b0390811614620001075780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b6000602082840312156200011d57600080fd5b81516001600160a01b03811681146200013557600080fd5b9392505050565b60805160a051611e70620001a160003960008181610320015281816106f00152818161079e0152818161092601528181610b6301528181610baa01528181610d6a015261121e015260008181610f3301528181610f5c015261117d0152611e706000f3fe6080604052600436106101125760003560e01c80638da5cb5b116100a5578063bc197c8111610074578063c4d66de811610059578063c4d66de8146103c1578063d087d288146103e1578063f23a6e61146103f657600080fd5b8063bc197c8114610364578063c399ec88146103ac57600080fd5b80638da5cb5b14610269578063ad3cb1cc146102bb578063b0d691fe14610311578063b61d27f61461034457600080fd5b80634a58db19116100e15780634a58db19146102195780634d44560d146102215780634f1ef2861461024157806352d1902d1461025457600080fd5b806301ffc9a71461011e578063150b7a021461015357806319822f7c146101c957806347e1da2a146101f757600080fd5b3661011957005b600080fd5b34801561012a57600080fd5b5061013e61013936600461179b565b61043c565b60405190151581526020015b60405180910390f35b34801561015f57600080fd5b5061019861016e366004611848565b7f150b7a020000000000000000000000000000000000000000000000000000000095945050505050565b6040517fffffffff00000000000000000000000000000000000000000000000000000000909116815260200161014a565b3480156101d557600080fd5b506101e96101e43660046118bb565b610521565b60405190815260200161014a565b34801561020357600080fd5b50610217610212366004611954565b610547565b005b6102176106ee565b34801561022d57600080fd5b5061021761023c3660046119ee565b610794565b61021761024f366004611a49565b610843565b34801561026057600080fd5b506101e9610862565b34801561027557600080fd5b506000546102969073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161014a565b3480156102c757600080fd5b506103046040518060400160405280600581526020017f352e302e3000000000000000000000000000000000000000000000000000000081525081565b60405161014a9190611b4f565b34801561031d57600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610296565b34801561035057600080fd5b5061021761035f366004611ba0565b610891565b34801561037057600080fd5b5061019861037f366004611bfc565b7fbc197c810000000000000000000000000000000000000000000000000000000098975050505050505050565b3480156103b857600080fd5b506101e96108e0565b3480156103cd57600080fd5b506102176103dc366004611cbb565b610997565b3480156103ed57600080fd5b506101e9610b16565b34801561040257600080fd5b50610198610411366004611cd8565b7ff23a6e61000000000000000000000000000000000000000000000000000000009695505050505050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f150b7a020000000000000000000000000000000000000000000000000000000014806104cf57507fffffffff0000000000000000000000000000000000000000000000000000000082167f4e2312e000000000000000000000000000000000000000000000000000000000145b8061051b57507fffffffff0000000000000000000000000000000000000000000000000000000082167f01ffc9a700000000000000000000000000000000000000000000000000000000145b92915050565b600061052b610b92565b6105358484610c33565b905061054082610ce7565b9392505050565b61054f610d52565b8481148015610565575082158061056557508281145b6105d0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f77726f6e67206172726179206c656e677468730000000000000000000000000060448201526064015b60405180910390fd5b600083900361067c5760005b858110156106765761066e8787838181106105f9576105f9611d42565b905060200201602081019061060e9190611cbb565b600085858581811061062257610622611d42565b90506020028101906106349190611d71565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610e1392505050565b6001016105dc565b506106e6565b60005b858110156106e4576106dc87878381811061069c5761069c611d42565b90506020020160208101906106b19190611cbb565b8686848181106106c3576106c3611d42565b9050602002013585858581811061062257610622611d42565b60010161067f565b505b505050505050565b7f00000000000000000000000000000000000000000000000000000000000000006040517fb760faf900000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff919091169063b760faf99034906024016000604051808303818588803b15801561077957600080fd5b505af115801561078d573d6000803e3d6000fd5b5050505050565b61079c610e90565b7f00000000000000000000000000000000000000000000000000000000000000006040517f205c287800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff848116600483015260248201849052919091169063205c287890604401600060405180830381600087803b15801561082f57600080fd5b505af11580156106e6573d6000803e3d6000fd5b61084b610f1b565b6108548261101f565b61085e8282611027565b5050565b600061086c611165565b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc90565b610899610d52565b6108da848484848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610e1392505050565b50505050565b6040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015260009073ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016906370a08231906024015b602060405180830381865afa15801561096e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109929190611dd6565b905090565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000810460ff16159067ffffffffffffffff166000811580156109e25750825b905060008267ffffffffffffffff1660011480156109ff5750303b155b905081158015610a0d575080155b15610a44576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b84547fffffffffffffffffffffffffffffffffffffffffffffffff00000000000000001660011785558315610aa55784547fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff16680100000000000000001785555b610aae866111d4565b83156106e65784547fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a1505050505050565b6040517f35567e1a0000000000000000000000000000000000000000000000000000000081523060048201526000602482018190529073ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016906335567e1a90604401610951565b3373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614610c31576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f6163636f756e743a206e6f742066726f6d20456e747279506f696e740000000060448201526064016105c7565b565b7f19457468657265756d205369676e6564204d6573736167653a0a3332000000006000908152601c829052603c8120610cae81610c74610100870187611d71565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061126892505050565b60005473ffffffffffffffffffffffffffffffffffffffff908116911614610cda57600191505061051b565b5060009392505050565b50565b8015610ce45760405160009033907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90849084818181858888f193505050503d806000811461078d576040519150601f19603f3d011682016040523d82523d6000602084013e61078d565b3373ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000161480610dad575060005473ffffffffffffffffffffffffffffffffffffffff1633145b610c31576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f6163636f756e743a206e6f74204f776e6572206f7220456e747279506f696e7460448201526064016105c7565b6000808473ffffffffffffffffffffffffffffffffffffffff168484604051610e3c9190611def565b60006040518083038185875af1925050503d8060008114610e79576040519150601f19603f3d011682016040523d82523d6000602084013e610e7e565b606091505b50915091508161078d57805160208201fd5b60005473ffffffffffffffffffffffffffffffffffffffff16331480610eb557503330145b610c31576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600a60248201527f6f6e6c79206f776e65720000000000000000000000000000000000000000000060448201526064016105c7565b3073ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000161480610fe857507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16610fcf7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff1614155b15610c31576040517fe07c8dba00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610ce4610e90565b8173ffffffffffffffffffffffffffffffffffffffff166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa9250505080156110ac575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682019092526110a991810190611dd6565b60015b6110fa576040517f4c9c8ce300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff831660048201526024016105c7565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8114611156576040517faa1d49a4000000000000000000000000000000000000000000000000000000008152600481018290526024016105c7565b6111608383611292565b505050565b3073ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614610c31576040517fe07c8dba00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff838116918217835560405191927f0000000000000000000000000000000000000000000000000000000000000000909116917f47e55c76e7a6f1fd8996a1da8008c1ea29699cca35e7bcd057f2dec313b6e5de9190a350565b60008060008061127886866112f5565b9250925092506112888282611342565b5090949350505050565b61129b82611446565b60405173ffffffffffffffffffffffffffffffffffffffff8316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a28051156112ed576111608282611515565b61085e611598565b6000806000835160410361132f5760208401516040850151606086015160001a611321888285856115d0565b95509550955050505061133b565b50508151600091506002905b9250925092565b600082600381111561135657611356611e0b565b0361135f575050565b600182600381111561137357611373611e0b565b036113aa576040517ff645eedf00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60028260038111156113be576113be611e0b565b036113f8576040517ffce698f7000000000000000000000000000000000000000000000000000000008152600481018290526024016105c7565b600382600381111561140c5761140c611e0b565b0361085e576040517fd78bce0c000000000000000000000000000000000000000000000000000000008152600481018290526024016105c7565b8073ffffffffffffffffffffffffffffffffffffffff163b6000036114af576040517f4c9c8ce300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff821660048201526024016105c7565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b60606000808473ffffffffffffffffffffffffffffffffffffffff168460405161153f9190611def565b600060405180830381855af49150503d806000811461157a576040519150601f19603f3d011682016040523d82523d6000602084013e61157f565b606091505b509150915061158f8583836116ca565b95945050505050565b3415610c31576040517fb398979f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600080807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a084111561160b57506000915060039050826116c0565b604080516000808252602082018084528a905260ff891692820192909252606081018790526080810186905260019060a0016020604051602081039080840390855afa15801561165f573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff81166116b6575060009250600191508290506116c0565b9250600091508190505b9450945094915050565b6060826116df576116da82611759565b610540565b8151158015611703575073ffffffffffffffffffffffffffffffffffffffff84163b155b15611752576040517f9996b31500000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff851660048201526024016105c7565b5080610540565b8051156117695780518082602001fd5b6040517f1425ea4200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000602082840312156117ad57600080fd5b81357fffffffff000000000000000000000000000000000000000000000000000000008116811461054057600080fd5b73ffffffffffffffffffffffffffffffffffffffff81168114610ce457600080fd5b60008083601f84011261181157600080fd5b50813567ffffffffffffffff81111561182957600080fd5b60208301915083602082850101111561184157600080fd5b9250929050565b60008060008060006080868803121561186057600080fd5b853561186b816117dd565b9450602086013561187b816117dd565b935060408601359250606086013567ffffffffffffffff81111561189e57600080fd5b6118aa888289016117ff565b969995985093965092949392505050565b6000806000606084860312156118d057600080fd5b833567ffffffffffffffff8111156118e757600080fd5b840161012081870312156118fa57600080fd5b95602085013595506040909401359392505050565b60008083601f84011261192157600080fd5b50813567ffffffffffffffff81111561193957600080fd5b6020830191508360208260051b850101111561184157600080fd5b6000806000806000806060878903121561196d57600080fd5b863567ffffffffffffffff8082111561198557600080fd5b6119918a838b0161190f565b909850965060208901359150808211156119aa57600080fd5b6119b68a838b0161190f565b909650945060408901359150808211156119cf57600080fd5b506119dc89828a0161190f565b979a9699509497509295939492505050565b60008060408385031215611a0157600080fd5b8235611a0c816117dd565b946020939093013593505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60008060408385031215611a5c57600080fd5b8235611a67816117dd565b9150602083013567ffffffffffffffff80821115611a8457600080fd5b818501915085601f830112611a9857600080fd5b813581811115611aaa57611aaa611a1a565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f01168101908382118183101715611af057611af0611a1a565b81604052828152886020848701011115611b0957600080fd5b8260208601602083013760006020848301015280955050505050509250929050565b60005b83811015611b46578181015183820152602001611b2e565b50506000910152565b6020815260008251806020840152611b6e816040850160208701611b2b565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169190910160400192915050565b60008060008060608587031215611bb657600080fd5b8435611bc1816117dd565b935060208501359250604085013567ffffffffffffffff811115611be457600080fd5b611bf0878288016117ff565b95989497509550505050565b60008060008060008060008060a0898b031215611c1857600080fd5b8835611c23816117dd565b97506020890135611c33816117dd565b9650604089013567ffffffffffffffff80821115611c5057600080fd5b611c5c8c838d0161190f565b909850965060608b0135915080821115611c7557600080fd5b611c818c838d0161190f565b909650945060808b0135915080821115611c9a57600080fd5b50611ca78b828c016117ff565b999c989b5096995094979396929594505050565b600060208284031215611ccd57600080fd5b8135610540816117dd565b60008060008060008060a08789031215611cf157600080fd5b8635611cfc816117dd565b95506020870135611d0c816117dd565b94506040870135935060608701359250608087013567ffffffffffffffff811115611d3657600080fd5b6119dc89828a016117ff565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112611da657600080fd5b83018035915067ffffffffffffffff821115611dc157600080fd5b60200191503681900382131561184157600080fd5b600060208284031215611de857600080fd5b5051919050565b60008251611e01818460208701611b2b565b9190910192915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fdfea2646970667358221220646ccd794d1cd309da39b56bcfe1238dae05a9d8106dddf47fe099a78d7801e864736f6c63430008170033';
15
16
  /**
16
17
  * Get the deterministic address for a SimpleAccount
17
18
  * @param owner - Owner address of the account
@@ -30,109 +31,235 @@ function getSimpleAccountAddress(owner, salt, factoryAddress) {
30
31
  return `0x${create2Address.slice(-40)}`;
31
32
  }
32
33
  /**
33
- * SimpleAccount ABI - Minimal ABI for interacting with SimpleAccount
34
+ * SimpleAccount ABI - v0.7 compatible
34
35
  */
35
36
  exports.SIMPLE_ACCOUNT_ABI = [
36
37
  {
37
- type: 'function',
38
- name: 'execute',
39
- inputs: [
40
- { name: 'dest', type: 'address' },
41
- { name: 'value', type: 'uint256' },
42
- { name: 'func', type: 'bytes' },
38
+ "inputs": [],
39
+ "name": "entryPoint",
40
+ "outputs": [
41
+ {
42
+ "internalType": "contract IEntryPoint",
43
+ "name": "",
44
+ "type": "address"
45
+ }
43
46
  ],
44
- outputs: [],
45
- stateMutability: 'nonpayable',
47
+ "stateMutability": "view",
48
+ "type": "function"
46
49
  },
47
50
  {
48
- type: 'function',
49
- name: 'executeBatch',
50
- inputs: [
51
- { name: 'dest', type: 'address[]' },
52
- { name: 'func', type: 'bytes[]' },
51
+ "inputs": [
52
+ {
53
+ "internalType": "address",
54
+ "name": "dest",
55
+ "type": "address"
56
+ },
57
+ {
58
+ "internalType": "uint256",
59
+ "name": "value",
60
+ "type": "uint256"
61
+ },
62
+ {
63
+ "internalType": "bytes",
64
+ "name": "func",
65
+ "type": "bytes"
66
+ }
53
67
  ],
54
- outputs: [],
55
- stateMutability: 'nonpayable',
68
+ "name": "execute",
69
+ "outputs": [],
70
+ "stateMutability": "nonpayable",
71
+ "type": "function"
56
72
  },
57
73
  {
58
- type: 'function',
59
- name: 'validateUserOp',
60
- inputs: [
61
- {
62
- name: 'userOp',
63
- type: 'tuple',
64
- components: [
65
- { name: 'sender', type: 'address' },
66
- { name: 'nonce', type: 'uint256' },
67
- { name: 'initCode', type: 'bytes' },
68
- { name: 'callData', type: 'bytes' },
69
- { name: 'callGasLimit', type: 'uint256' },
70
- { name: 'verificationGasLimit', type: 'uint256' },
71
- { name: 'preVerificationGas', type: 'uint256' },
72
- { name: 'maxFeePerGas', type: 'uint256' },
73
- { name: 'maxPriorityFeePerGas', type: 'uint256' },
74
- { name: 'paymasterAndData', type: 'bytes' },
75
- { name: 'signature', type: 'bytes' },
76
- ],
74
+ "inputs": [
75
+ {
76
+ "internalType": "address[]",
77
+ "name": "dest",
78
+ "type": "address[]"
79
+ },
80
+ {
81
+ "internalType": "uint256[]",
82
+ "name": "value",
83
+ "type": "uint256[]"
77
84
  },
78
- { name: 'userOpHash', type: 'bytes32' },
79
- { name: 'missingAccountFunds', type: 'uint256' },
85
+ {
86
+ "internalType": "bytes[]",
87
+ "name": "func",
88
+ "type": "bytes[]"
89
+ }
80
90
  ],
81
- outputs: [{ name: 'validationData', type: 'uint256' }],
82
- stateMutability: 'nonpayable',
91
+ "name": "executeBatch",
92
+ "outputs": [],
93
+ "stateMutability": "nonpayable",
94
+ "type": "function"
83
95
  },
84
96
  {
85
- type: 'function',
86
- name: 'initialize',
87
- inputs: [{ name: 'anOwner', type: 'address' }],
88
- outputs: [],
89
- stateMutability: 'nonpayable',
97
+ "inputs": [],
98
+ "name": "getNonce",
99
+ "outputs": [
100
+ {
101
+ "internalType": "uint256",
102
+ "name": "",
103
+ "type": "uint256"
104
+ }
105
+ ],
106
+ "stateMutability": "view",
107
+ "type": "function"
90
108
  },
91
109
  {
92
- type: 'function',
93
- name: 'owner',
94
- inputs: [],
95
- outputs: [{ name: '', type: 'address' }],
96
- stateMutability: 'view',
110
+ "inputs": [
111
+ {
112
+ "internalType": "address",
113
+ "name": "anOwner",
114
+ "type": "address"
115
+ }
116
+ ],
117
+ "name": "initialize",
118
+ "outputs": [],
119
+ "stateMutability": "nonpayable",
120
+ "type": "function"
97
121
  },
98
122
  {
99
- type: 'function',
100
- name: 'entryPoint',
101
- inputs: [],
102
- outputs: [{ name: '', type: 'address' }],
103
- stateMutability: 'view',
123
+ "inputs": [],
124
+ "name": "owner",
125
+ "outputs": [
126
+ {
127
+ "internalType": "address",
128
+ "name": "",
129
+ "type": "address"
130
+ }
131
+ ],
132
+ "stateMutability": "view",
133
+ "type": "function"
104
134
  },
105
135
  {
106
- type: 'function',
107
- name: 'getNonce',
108
- inputs: [],
109
- outputs: [{ name: '', type: 'uint256' }],
110
- stateMutability: 'view',
111
- },
136
+ "inputs": [
137
+ {
138
+ "components": [
139
+ {
140
+ "internalType": "address",
141
+ "name": "sender",
142
+ "type": "address"
143
+ },
144
+ {
145
+ "internalType": "uint256",
146
+ "name": "nonce",
147
+ "type": "uint256"
148
+ },
149
+ {
150
+ "internalType": "bytes",
151
+ "name": "initCode",
152
+ "type": "bytes"
153
+ },
154
+ {
155
+ "internalType": "bytes",
156
+ "name": "callData",
157
+ "type": "bytes"
158
+ },
159
+ {
160
+ "internalType": "bytes32",
161
+ "name": "accountGasLimits",
162
+ "type": "bytes32"
163
+ },
164
+ {
165
+ "internalType": "uint256",
166
+ "name": "preVerificationGas",
167
+ "type": "uint256"
168
+ },
169
+ {
170
+ "internalType": "bytes32",
171
+ "name": "gasFees",
172
+ "type": "bytes32"
173
+ },
174
+ {
175
+ "internalType": "bytes",
176
+ "name": "paymasterAndData",
177
+ "type": "bytes"
178
+ },
179
+ {
180
+ "internalType": "bytes",
181
+ "name": "signature",
182
+ "type": "bytes"
183
+ }
184
+ ],
185
+ "internalType": "struct PackedUserOperation",
186
+ "name": "userOp",
187
+ "type": "tuple"
188
+ },
189
+ {
190
+ "internalType": "bytes32",
191
+ "name": "userOpHash",
192
+ "type": "bytes32"
193
+ },
194
+ {
195
+ "internalType": "uint256",
196
+ "name": "missingAccountFunds",
197
+ "type": "uint256"
198
+ }
199
+ ],
200
+ "name": "validateUserOp",
201
+ "outputs": [
202
+ {
203
+ "internalType": "uint256",
204
+ "name": "validationData",
205
+ "type": "uint256"
206
+ }
207
+ ],
208
+ "stateMutability": "nonpayable",
209
+ "type": "function"
210
+ }
112
211
  ];
113
212
  /**
114
- * SimpleAccountFactory ABI
213
+ * SimpleAccountFactory ABI - v0.7 compatible
115
214
  */
116
215
  exports.SIMPLE_ACCOUNT_FACTORY_ABI = [
117
216
  {
118
- type: 'function',
119
- name: 'createAccount',
120
- inputs: [
121
- { name: 'owner', type: 'address' },
122
- { name: 'salt', type: 'uint256' },
217
+ "inputs": [
218
+ {
219
+ "internalType": "address",
220
+ "name": "owner",
221
+ "type": "address"
222
+ },
223
+ {
224
+ "internalType": "uint256",
225
+ "name": "salt",
226
+ "type": "uint256"
227
+ }
228
+ ],
229
+ "name": "createAccount",
230
+ "outputs": [
231
+ {
232
+ "internalType": "contract SimpleAccount",
233
+ "name": "ret",
234
+ "type": "address"
235
+ }
123
236
  ],
124
- outputs: [{ name: 'ret', type: 'address' }],
125
- stateMutability: 'nonpayable',
237
+ "stateMutability": "nonpayable",
238
+ "type": "function"
126
239
  },
127
240
  {
128
- type: 'function',
129
- name: 'getAddress',
130
- inputs: [
131
- { name: 'owner', type: 'address' },
132
- { name: 'salt', type: 'uint256' },
241
+ "inputs": [
242
+ {
243
+ "internalType": "address",
244
+ "name": "owner",
245
+ "type": "address"
246
+ },
247
+ {
248
+ "internalType": "uint256",
249
+ "name": "salt",
250
+ "type": "uint256"
251
+ }
133
252
  ],
134
- outputs: [{ name: '', type: 'address' }],
135
- stateMutability: 'view',
136
- },
253
+ "name": "getAddress",
254
+ "outputs": [
255
+ {
256
+ "internalType": "address",
257
+ "name": "",
258
+ "type": "address"
259
+ }
260
+ ],
261
+ "stateMutability": "view",
262
+ "type": "function"
263
+ }
137
264
  ];
138
265
  //# sourceMappingURL=SimpleAccount.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SimpleAccount.js","sourceRoot":"","sources":["../../src/SmartContractWallet/SimpleAccount.ts"],"names":[],"mappings":";;;AAsBA,0DAcC;AApCD,+BAAsG;AAEtG;;;GAGG;AACU,QAAA,uBAAuB,GACnC,sjQAA+jQ,CAAC;AAEjkQ;;GAEG;AACU,QAAA,+BAA+B,GAC3C,g5HAAy5H,CAAC;AAE35H;;;;;;GAMG;AACH,SAAgB,uBAAuB,CAAC,KAAc,EAAE,IAAY,EAAE,cAAuB;IAC5F,8BAA8B;IAC9B,MAAM,eAAe,GAAG,IAAA,0BAAmB,EAAC,IAAA,yBAAkB,EAAC,eAAe,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IAE1F,gCAAgC;IAChC,MAAM,YAAY,GAAG,IAAA,gBAAS,EAAC,+BAAuB,CAAC,CAAC;IACxD,MAAM,QAAQ,GAAG,IAAA,gBAAS,EAAC,IAAA,0BAAmB,EAAC,IAAA,yBAAkB,EAAC,kBAAkB,CAAC,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;IAEvG,MAAM,cAAc,GAAG,IAAA,gBAAS,EAC/B,IAAA,mBAAY,EAAC,CAAC,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,cAAc,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC,CAC3G,CAAC;IAEF,wCAAwC;IACxC,OAAO,KAAK,cAAc,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,EAAa,CAAC;AACpD,CAAC;AAED;;GAEG;AACU,QAAA,kBAAkB,GAAG;IACjC;QACC,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,SAAS;QACf,MAAM,EAAE;YACP,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE;YACjC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE;YAClC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE;SAC/B;QACD,OAAO,EAAE,EAAE;QACX,eAAe,EAAE,YAAY;KAC7B;IACD;QACC,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,cAAc;QACpB,MAAM,EAAE;YACP,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE;YACnC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE;SACjC;QACD,OAAO,EAAE,EAAE;QACX,eAAe,EAAE,YAAY;KAC7B;IACD;QACC,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,gBAAgB;QACtB,MAAM,EAAE;YACP;gBACC,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,OAAO;gBACb,UAAU,EAAE;oBACX,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE;oBACnC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE;oBAClC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE;oBACnC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE;oBACnC,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,SAAS,EAAE;oBACzC,EAAE,IAAI,EAAE,sBAAsB,EAAE,IAAI,EAAE,SAAS,EAAE;oBACjD,EAAE,IAAI,EAAE,oBAAoB,EAAE,IAAI,EAAE,SAAS,EAAE;oBAC/C,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,SAAS,EAAE;oBACzC,EAAE,IAAI,EAAE,sBAAsB,EAAE,IAAI,EAAE,SAAS,EAAE;oBACjD,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,OAAO,EAAE;oBAC3C,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,OAAO,EAAE;iBACpC;aACD;YACD,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,SAAS,EAAE;YACvC,EAAE,IAAI,EAAE,qBAAqB,EAAE,IAAI,EAAE,SAAS,EAAE;SAChD;QACD,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QACtD,eAAe,EAAE,YAAY;KAC7B;IACD;QACC,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,YAAY;QAClB,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QAC9C,OAAO,EAAE,EAAE;QACX,eAAe,EAAE,YAAY;KAC7B;IACD;QACC,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,OAAO;QACb,MAAM,EAAE,EAAE;QACV,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QACxC,eAAe,EAAE,MAAM;KACvB;IACD;QACC,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,YAAY;QAClB,MAAM,EAAE,EAAE;QACV,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QACxC,eAAe,EAAE,MAAM;KACvB;IACD;QACC,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,UAAU;QAChB,MAAM,EAAE,EAAE;QACV,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QACxC,eAAe,EAAE,MAAM;KACvB;CACQ,CAAC;AAEX;;GAEG;AACU,QAAA,0BAA0B,GAAG;IACzC;QACC,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,eAAe;QACrB,MAAM,EAAE;YACP,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE;YAClC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE;SACjC;QACD,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QAC3C,eAAe,EAAE,YAAY;KAC7B;IACD;QACC,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,YAAY;QAClB,MAAM,EAAE;YACP,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE;YAClC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE;SACjC;QACD,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QACxC,eAAe,EAAE,MAAM;KACvB;CACQ,CAAC"}
1
+ {"version":3,"file":"SimpleAccount.js","sourceRoot":"","sources":["../../src/SmartContractWallet/SimpleAccount.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@paulstinchcombe/gasless-nft-tx",
3
- "version": "0.0.34",
3
+ "version": "0.0.35",
4
4
  "description": "Library for gasless NFT transactions using EIP-7702 delegation and ERC-4337 gas sponsorship",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -23,16 +23,17 @@
23
23
  "author": "Paul Stinchcombe | KAMI",
24
24
  "license": "MIT",
25
25
  "dependencies": {
26
- "viem": "^2.21.0",
26
+ "@account-abstraction/contracts": "0.7.0",
27
27
  "permissionless": "^0.2.57",
28
- "tslib": "^2.6.0"
28
+ "tslib": "^2.6.0",
29
+ "viem": "^2.21.0"
29
30
  },
30
31
  "devDependencies": {
31
32
  "@types/node": "^20.0.0",
32
- "typescript": "^5.0.0",
33
- "vitest": "^1.0.0",
34
33
  "@vitest/coverage-v8": "^1.0.0",
35
- "anvil": "^0.0.6"
34
+ "anvil": "^0.0.6",
35
+ "typescript": "^5.0.0",
36
+ "vitest": "^1.0.0"
36
37
  },
37
38
  "files": [
38
39
  "dist/**/*",