abstractionkit
Version:
Account Abstraction 4337 SDK by Candidelabs
1 lines • 84.1 kB
JavaScript
import{AbiCoder as e,JsonRpcProvider as t,keccak256 as r,id as n,getBytes as i,solidityPacked as a,solidityPackedKeccak256 as o,getAddress as s,TypedDataEncoder as u,Wallet as c,ethers as l}from"ethers";import*as d from"isomorphic-unfetch";var f=function(e){this.accountAddress=void 0,this.accountAddress=e};function h(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(h=function(){return!!e})()}function A(){return A=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},A.apply(this,arguments)}function v(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,m(e,t)}function p(e){return p=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},p(e)}function m(e,t){return m=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},m(e,t)}function E(e){var t="function"==typeof Map?new Map:void 0;return E=function(e){if(null===e||!function(e){try{return-1!==Function.toString.call(e).indexOf("[native code]")}catch(t){return"function"==typeof e}}(e))return e;if("function"!=typeof e)throw new TypeError("Super expression must either be null or a function");if(void 0!==t){if(t.has(e))return t.get(e);t.set(e,r)}function r(){return function(e,t,r){if(h())return Reflect.construct.apply(null,arguments);var n=[null];n.push.apply(n,t);var i=new(e.bind.apply(e,n));return r&&m(i,r.prototype),i}(e,arguments,p(this).constructor)}return r.prototype=Object.create(e.prototype,{constructor:{value:r,enumerable:!1,writable:!0,configurable:!0}}),m(r,e)},E(e)}function g(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function y(e,t){var r="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(r)return(r=r.call(e)).next.bind(r);if(Array.isArray(e)||(r=function(e,t){if(e){if("string"==typeof e)return g(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?g(e,t):void 0}}(e))||t&&e&&"number"==typeof e.length){r&&(e=r);var n=0;return function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}f.proxyByteCode=void 0,f.initializerFunctionSelector=void 0,f.initializerFunctionInputAbi=void 0,f.executorFunctionSelector=void 0,f.executorFunctionInputAbi=void 0;var S,D,_,b="0x0000000000000000000000000000000000000000",P="0x0000000071727De22E5E9d8BAf0edAc6f37da032",T="0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789",F={sender:b,nonce:0n,callData:"0x",callGasLimit:0n,verificationGasLimit:0n,preVerificationGas:0n,maxFeePerGas:0n,maxPriorityFeePerGas:0n,signature:"0x"},U={SafeOp:[{type:"address",name:"safe"},{type:"uint256",name:"nonce"},{type:"bytes",name:"initCode"},{type:"bytes",name:"callData"},{type:"uint256",name:"callGasLimit"},{type:"uint256",name:"verificationGasLimit"},{type:"uint256",name:"preVerificationGas"},{type:"uint256",name:"maxFeePerGas"},{type:"uint256",name:"maxPriorityFeePerGas"},{type:"bytes",name:"paymasterAndData"},{type:"uint48",name:"validAfter"},{type:"uint48",name:"validUntil"},{type:"address",name:"entryPoint"}]},R={SafeOp:[{type:"address",name:"safe"},{type:"uint256",name:"nonce"},{type:"bytes",name:"initCode"},{type:"bytes",name:"callData"},{type:"uint128",name:"verificationGasLimit"},{type:"uint128",name:"callGasLimit"},{type:"uint256",name:"preVerificationGas"},{type:"uint128",name:"maxPriorityFeePerGas"},{type:"uint128",name:"maxFeePerGas"},{type:"bytes",name:"paymasterAndData"},{type:"uint48",name:"validAfter"},{type:"uint48",name:"validUntil"},{type:"address",name:"entryPoint"}]},L="0x0000000000000000000000000000000000000100";!function(e){e[e.Call=0]="Call",e[e.Delegate=1]="Delegate"}(S||(S={})),function(e){e[e.Slow=1]="Slow",e[e.Medium=1.2]="Medium",e[e.Fast=1.5]="Fast"}(D||(D={})),function(e){e.Mainnet="v2",e.ZkMainnet="zkevm",e.Amoy="amoy",e.Cardona="cardona"}(_||(_={}));var w={"-32602":"INVALID_FIELDS","-32500":"SIMULATE_VALIDATION","-32501":"SIMULATE_PAYMASTER_VALIDATION","-32502":"OPCODE_VALIDATION","-32503":"EXPIRE_SHORTLY","-32504":"REPUTATION","-32505":"INSUFFICIENT_STAKE","-32506":"UNSUPPORTED_SIGNATURE_AGGREGATOR","-32507":"INVALID_SIGNATURE","-32601":"INVALID_USEROPERATION_HASH","-32521":"EXECUTION_REVERTED"},x=/*#__PURE__*/function(e){function t(t,r,n){var i;void 0===n&&(n={});var a=n.errno,o=n.context;return(i=e.call(this,r,{cause:n.cause})||this).code=void 0,i.context=void 0,i.errno=void 0,i.name=i.constructor.name,i.code=t,i.errno=a,i.context=o,i}return v(t,e),t.prototype.stringify=function(){return JSON.stringify(this,["name","code","message","cause","errno","context"])},t}(/*#__PURE__*/E(Error));function G(e){if(e instanceof Error)return e;var t="[Unable to stringify the thrown value]";try{t=JSON.stringify(e)}catch(e){}return new Error("This value was thrown as is, not through an Error: "+t)}function O(e,t){try{var r=e()}catch(e){return t(e)}return r&&r.then?r.then(void 0,t):r}var C,I=function(e,t,r){try{var n=[t,r];return Promise.resolve(O(function(){return Promise.resolve(H(e,"eth_getCode",n)).then(function(e){if("string"!=typeof e)throw new x("BAD_DATA","eth_getCode returned ill formed data",{context:JSON.stringify(e)});try{return e}catch(e){var t=G(e);throw new x("BAD_DATA","eth_getCode returned ill formed data",{cause:t})}})},function(e){var t=G(e);throw new x("BAD_DATA","eth_getCode failed",{cause:t})}))}catch(e){return Promise.reject(e)}},M=function(e,t,r,n){try{var i;return i=null==n?[t,r]:[t,r,n],Promise.resolve(O(function(){return Promise.resolve(H(e,"eth_call",i)).then(function(e){if("string"!=typeof e)throw new x("BAD_DATA","eth_call returned ill formed data",{context:JSON.stringify(e)});try{return e}catch(e){var t=G(e);throw new x("BAD_DATA","eth_call returned ill formed data",{cause:t})}})},function(e){var t=G(e);throw new x("BAD_DATA","eth_call failed",{cause:t})}))}catch(e){return Promise.reject(e)}},N=function(t,r,n){try{var i={from:"0x0000000000000000000000000000000000000000",to:n,data:j("0x5287ce12",["address"],[r])};return Promise.resolve(O(function(){return Promise.resolve(M(t,i,"latest")).then(function(t){var r=e.defaultAbiCoder().decode(["uint256","bool","uint112","uint32","uint48"],t);if(5!==r.length)throw new x("BAD_DATA","getDepositInfo returned ill formed data",{context:JSON.stringify(r)});try{return{deposit:BigInt(r[0]),staked:Boolean(r[1]),stake:BigInt(r[2]),unstakeDelaySec:BigInt(r[3]),withdrawTime:BigInt(r[4])}}catch(e){var n=G(e);throw new x("BAD_DATA","getDepositInfo returned ill formed data",{cause:n})}})},function(e){var t=G(e);throw new x("BAD_DATA","getDepositInfo failed",{cause:t})}))}catch(e){return Promise.reject(e)}},V=function(e,t,r){return Promise.resolve(N(e,t,r)).then(function(e){return e.deposit})},B=function(e,r){try{return void 0===r&&(r=D.Medium),Promise.resolve(O(function(){var n=new t(e);return Promise.resolve(n.getFeeData()).then(function(e){var t,n;return null!=e.maxFeePerGas&&null!=e.maxPriorityFeePerGas?(t=BigInt(Math.ceil(Number(e.maxFeePerGas)*r)),n=BigInt(Math.ceil(Number(e.maxPriorityFeePerGas)*r))):n=t=null!=e.gasPrice?BigInt(Math.ceil(Number(e.gasPrice)*r)):BigInt(Math.ceil(1e9*r)),0n==t&&(t=1n),0n==n&&(n=1n),[t,n]})},function(e){var t=G(e);throw new x("BAD_DATA","fetching gas prices from node failed.",{cause:t})}))}catch(e){return Promise.reject(e)}},W=function(e,t,r,n){void 0===n&&(n=0);try{var i=[{from:"0x0000000000000000000000000000000000000000",to:t,data:j(z("getNonce(address,uint192)"),["address","uint192"],[r,n])},"latest"];return Promise.resolve(O(function(){return Promise.resolve(H(e,"eth_call",i)).then(function(e){if("string"!=typeof e)throw new x("BAD_DATA","getNonce returned ill formed data",{context:JSON.stringify(e)});try{return BigInt(e)}catch(e){var t=G(e);throw new x("BAD_DATA","getNonce returned ill formed data",{cause:t})}})},function(e){var t=G(e);throw new x("BAD_DATA","getNonce failed",{cause:t})}))}catch(e){return Promise.reject(e)}},H=function(e,t,r){try{var n=d.default||d,i={method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({method:t,params:r,id:(new Date).getTime(),jsonrpc:"2.0"},function(e,t){return"bigint"==typeof t?"0x"+t.toString(16):t}),redirect:"follow"};return Promise.resolve(n(e,i)).then(function(t){return Promise.resolve(t.json()).then(function(t){if("result"in t)return t.result;var r=t.error,n=String(r.code);throw new x(n in w?w[n]:"UNKNOWN_ERROR",r.message,{errno:r.code,context:{url:e,requestOptions:JSON.stringify(i)}})})})}catch(e){return Promise.reject(e)}};function k(t,n,i){var a;a=r("initCode"in t?function(t){var n=[t.sender,t.nonce,r(t.initCode),r(t.callData),t.callGasLimit,t.verificationGasLimit,t.preVerificationGas,t.maxFeePerGas,t.maxPriorityFeePerGas,r(t.paymasterAndData)];return e.defaultAbiCoder().encode(["address","uint256","bytes32","bytes32","uint256","uint256","uint256","uint256","uint256","bytes32"],n)}(t):function(t){var n=e.defaultAbiCoder(),i="0x";null!=t.factory&&(i=t.factory,null!=t.factoryData&&(i+=t.factoryData.slice(2)));var a="0x"+n.encode(["uint128"],[t.verificationGasLimit]).slice(34)+n.encode(["uint128"],[t.callGasLimit]).slice(34),o="0x"+n.encode(["uint128"],[t.maxPriorityFeePerGas]).slice(34)+n.encode(["uint128"],[t.maxFeePerGas]).slice(34),s="0x";null!=t.paymaster&&(s=t.paymaster,null!=t.paymasterVerificationGasLimit&&(s+=n.encode(["uint128"],[t.paymasterVerificationGasLimit]).slice(34)),null!=t.paymasterPostOpGasLimit&&(s+=n.encode(["uint128"],[t.paymasterPostOpGasLimit]).slice(34)),null!=t.paymasterData&&(s+=t.paymasterData.slice(2)));var u=[t.sender,t.nonce,r(i),r(t.callData),a,t.preVerificationGas,o,r(s)];return n.encode(["address","uint256","bytes32","bytes32","bytes32","uint256","bytes32","bytes32"],u)}(t));var o=e.defaultAbiCoder().encode(["bytes32","address","uint256"],[a,n,i]);return r(o)}function j(t,r,n){return t+e.defaultAbiCoder().encode(r,n).slice(2)}function z(e){return n(e).slice(0,10)}function Y(e){var t,r;return"initCode"in e?(e.callGasLimit+e.verificationGasLimit*("0x"==e.paymasterAndData||null==e.paymasterAndData?3n:0n)+e.preVerificationGas)*e.maxFeePerGas:(e.verificationGasLimit+e.callGasLimit+(null!=(t=e.paymasterVerificationGasLimit)?t:0n)+(null!=(r=e.paymasterPostOpGasLimit)?r:0n)+e.preVerificationGas)*e.maxFeePerGas}!function(e){e.executeUserOpWithErrorString="0x541d63c8",e.executeUserOp="0x7bb37428"}(C||(C={}));var J={signer:"0xfD90FAd33ee8b58f32c00aceEad1358e4AFC23f9",signature:"0x47003599ffa7e9198f321afa774e34a12a959844efd6363b88896e9c24ed33cf4e1be876ef123a3c4467e7d451511434039539699f2baa2f44955fa3d1c1c6d81c",isContractSignature:!1},X={signer:"0xfD90FAd33ee8b58f32c00aceEad1358e4AFC23f9",signature:"0x000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000e06c92f0ac5c4ef9e74721c23d80a9fc12f259ca84afb160f0890483539b9e6080d824c0e6c795157ad5d1ee5eff1ceeb3031009a595f9360919b83dd411c5a78d0000000000000000000000000000000000000000000000000000000000000025a24f744b28d73f066bf3203d145765a7bc735e6328168c8b03e476da3ad0d8fe0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001e226f726967696e223a2268747470733a2f2f736166652e676c6f62616c220000",isContractSignature:!0};function q(e){return"0x"+e.map(function(e){return n=null!=(r=(t=e).operation)?r:S.Call,o=i(t.data),a(["uint8","address","uint256","uint256","bytes"],[n,t.to,t.value,o.length,o]).slice(2);var t,r,n,o}).join("")}function K(e,t){try{var r=e()}catch(e){return t(e)}return r&&r.then?r.then(void 0,t):r}var Z=/*#__PURE__*/function(){function e(e){this.rpcUrl=void 0,this.rpcUrl=e}var t=e.prototype;return t.chainId=function(){try{var e=this;return Promise.resolve(K(function(){return Promise.resolve(H(e.rpcUrl,"eth_chainId",[])).then(function(e){if("string"==typeof e)return e;throw new x("BAD_DATA","bundler eth_chainId rpc call failed")})},function(e){var t=G(e);throw new x("BUNDLER_ERROR","bundler eth_chainId rpc call failed",{cause:t})}))}catch(e){return Promise.reject(e)}},t.supportedEntryPoints=function(){try{var e=this;return Promise.resolve(K(function(){return Promise.resolve(H(e.rpcUrl,"eth_supportedEntryPoints",[]))},function(e){var t=G(e);throw new x("BUNDLER_ERROR","bundler eth_supportedEntryPoints rpc call failed",{cause:t})}))}catch(e){return Promise.reject(e)}},t.estimateUserOperationGas=function(e,t,r){try{var n=this;return Promise.resolve(K(function(){function i(){var e=a;return{callGasLimit:BigInt(e.callGasLimit),preVerificationGas:BigInt(e.preVerificationGas),verificationGasLimit:BigInt(e.verificationGasLimit)}}var a={},o=void 0===r?Promise.resolve(H(n.rpcUrl,"eth_estimateUserOperationGas",[e,t])).then(function(e){a=e}):Promise.resolve(H(n.rpcUrl,"eth_estimateUserOperationGas",[e,t,r])).then(function(e){a=e});return o&&o.then?o.then(i):i()},function(e){var t=G(e);throw new x("BUNDLER_ERROR","bundler eth_estimateUserOperationGas rpc call failed",{cause:t})}))}catch(e){return Promise.reject(e)}},t.sendUserOperation=function(e,t){try{var r=this;return Promise.resolve(K(function(){return Promise.resolve(H(r.rpcUrl,"eth_sendUserOperation",[e,t]))},function(e){var t=G(e);throw new x("BUNDLER_ERROR","bundler eth_sendUserOperation rpc call failed",{cause:t})}))}catch(e){return Promise.reject(e)}},t.getUserOperationReceipt=function(e){try{var t=this;return Promise.resolve(K(function(){return Promise.resolve(H(t.rpcUrl,"eth_getUserOperationReceipt",[e])).then(function(e){var t=e;if(null!=t){var r=A({},t.receipt,{blockNumber:BigInt(t.receipt.blockNumber),cumulativeGasUsed:BigInt(t.receipt.cumulativeGasUsed),gasUsed:BigInt(t.receipt.gasUsed),transactionIndex:BigInt(t.receipt.transactionIndex),effectiveGasPrice:null==t.receipt.effectiveGasPrice?void 0:BigInt(t.receipt.effectiveGasPrice),logs:JSON.stringify(t.receipt.logs)});return A({},t,{nonce:BigInt(t.nonce),actualGasCost:BigInt(t.actualGasCost),actualGasUsed:BigInt(t.actualGasUsed),logs:JSON.stringify(t.logs),receipt:r})}return null})},function(t){var r=G(t);throw new x("BUNDLER_ERROR","bundler eth_getUserOperationReceipt rpc call failed",{cause:r,context:{useroperationhash:e}})}))}catch(e){return Promise.reject(e)}},t.getUserOperationByHash=function(e){try{var t=this;return Promise.resolve(K(function(){return Promise.resolve(H(t.rpcUrl,"eth_getUserOperationByHash",[e])).then(function(e){return null!=e?A({},e,{blockNumber:null==e.blockNumber?null:BigInt(e.blockNumber)}):null})},function(t){var r=G(t);throw new x("BUNDLER_ERROR","bundler eth_getUserOperationByHash rpc call failed",{cause:r,context:{useroperationhash:e}})}))}catch(e){return Promise.reject(e)}},e}();function $(e,t,r){if(!e.s){if(r instanceof Q){if(!r.s)return void(r.o=$.bind(null,e,t));1&t&&(t=r.s),r=r.v}if(r&&r.then)return void r.then($.bind(null,e,t),$.bind(null,e,2));e.s=t,e.v=r;const n=e.o;n&&n(e)}}var Q=/*#__PURE__*/function(){function e(){}return e.prototype.then=function(t,r){var n=new e,i=this.s;if(i){var a=1&i?t:r;if(a){try{$(n,1,a(this.v))}catch(e){$(n,2,e)}return n}return this}return this.o=function(e){try{var i=e.v;1&e.s?$(n,1,t?t(i):i):r?$(n,1,r(i)):$(n,2,i)}catch(e){$(n,2,e)}},n},e}();function ee(e){return e instanceof Q&&1&e.s}var te=/*#__PURE__*/function(){function e(e,t,r){this.userOperationHash=void 0,this.bundler=void 0,this.entrypointAddress=void 0,this.bundler=t,this.userOperationHash=e,this.entrypointAddress=r}var t=e.prototype;return t.delay=function(e){return new Promise(function(t){return setTimeout(t,e)})},t.included=function(e,t){void 0===e&&(e=180),void 0===t&&(t=2);try{var r,n=function(e){if(r)return e;throw new x("TIMEOUT","can't find useroperation",{context:i.userOperationHash})},i=this;if(e<=0||t<=0)throw RangeError("timeoutInSeconds and requestIntervalInSeconds should be bigger than zero");if(e<t)throw RangeError("timeoutInSeconds can't be less than requestIntervalInSeconds");var a=0,o=function(e,t,r){for(var n;;){var i=e();if(ee(i)&&(i=i.v),!i)return a;if(i.then){n=0;break}var a=r();if(a&&a.then){if(!ee(a)){n=1;break}a=a.s}if(t){var o=t();if(o&&o.then&&!ee(o)){n=2;break}}}var s=new Q,u=$.bind(null,s,2);return(0===n?i.then(l):1===n?a.then(c):o.then(d)).then(void 0,u),s;function c(n){a=n;do{if(t&&(o=t())&&o.then&&!ee(o))return void o.then(d).then(void 0,u);if(!(i=e())||ee(i)&&!i.v)return void $(s,1,a);if(i.then)return void i.then(l).then(void 0,u);ee(a=r())&&(a=a.v)}while(!a||!a.then);a.then(c).then(void 0,u)}function l(e){e?(a=r())&&a.then?a.then(c).then(void 0,u):c(a):$(s,1,a)}function d(){(i=e())?i.then?i.then(l).then(void 0,u):l(i):$(s,1,a)}}(function(){return!r&&a<=e},void 0,function(){return Promise.resolve(i.delay(1e3*t)).then(function(){return Promise.resolve(i.bundler.getUserOperationReceipt(i.userOperationHash)).then(function(e){if(null!=e)return r=1,e;a++})})});return Promise.resolve(o&&o.then?o.then(n):n(o))}catch(e){return Promise.reject(e)}},e}(),re=/*#__PURE__*/function(){function e(e,t,r){this.address=void 0,this.generatorFunctionSelector=void 0,this.generatorFunctionInputAbi=void 0,this.address=e,this.generatorFunctionSelector=t,this.generatorFunctionInputAbi=r}return e.prototype.getFactoryGeneratorFunctionCallData=function(e){return j(this.generatorFunctionSelector,this.generatorFunctionInputAbi,e)},e}(),ne=/*#__PURE__*/function(e){function t(r){return void 0===r&&(r=t.DEFAULT_FACTORY_ADDRESS),e.call(this,r,"0x1688f0b9",["address","bytes","uint256"])||this}return v(t,e),t}(re);function ie(e,t){try{var r=e()}catch(e){return t(e)}return r&&r.then?r.then(void 0,t):r}ne.DEFAULT_FACTORY_ADDRESS="0x4e1DCf7AD4e460CfD30791CCC4F9c8a4f820ec67";var ae=/*#__PURE__*/function(t){function n(e,r,n){var i;return(i=t.call(this,e)||this).isInitWebAuthn=void 0,i.x=null,i.y=null,i.entrypointAddress=void 0,i.safe4337ModuleAddress=void 0,i.factoryAddress=void 0,i.factoryData=void 0,i.entrypointAddress=n,i.safe4337ModuleAddress=r,i.factoryAddress=null,i.factoryData=null,i.isInitWebAuthn=!1,i}v(n,t),n.createProxyAddress=function(e,t){var i,u,c;void 0===t&&(t={});var l=null!=(i=t.c2Nonce)?i:0n;if(l<0n)throw RangeError("c2Nonce can't be negative");var d=null!=(u=t.safeFactoryAddress)?u:ne.DEFAULT_FACTORY_ADDRESS,f=null!=(c=t.singletonInitHash)?c:n.DEFAULT_SAFE_SINGLETON.singletonInitHash,h=r(a(["bytes32","uint256"],[r(e),l])),A=o(["bytes1","address","bytes32","bytes32"],["0xff",d,h,f]).slice(-40);return s("0x"+A)},n.createAccountCallDataSingleTransaction=function(e,t){var r,i,a,o;void 0===t&&(t={});var s=null!=(r=e.value)?r:0,u=null!=(i=e.data)?i:"0x",c=null!=(a=e.operation)?a:S.Call,l=null!=(o=t.safeModuleExecutorFunctionSelector)?o:n.DEFAULT_EXECUTOR_FUCNTION_SELECTOR;return n.createAccountCallData(e.to,s,u,c,{safeModuleExecutorFunctionSelector:l})},n.createAccountCallDataBatchTransactions=function(e,t){var r,i;if(void 0===t&&(t={}),e.length<1)throw RangeError("There should be at least one metaTransaction");var a=null!=(r=t.safeModuleExecutorFunctionSelector)?r:n.DEFAULT_EXECUTOR_FUCNTION_SELECTOR,o=null!=(i=t.multisendContractAddress)?i:n.DEFAULT_MULTISEND_CONTRACT_ADDRESS,s=j("0x8d80ff0a",["bytes"],[q(e)]);return n.createAccountCallData(o,0n,s,S.Delegate,{safeModuleExecutorFunctionSelector:a})},n.createAccountCallData=function(e,t,r,i,a){var o;return void 0===a&&(a={}),j(null!=(o=a.safeModuleExecutorFunctionSelector)?o:n.DEFAULT_EXECUTOR_FUCNTION_SELECTOR,n.executorFunctionInputAbi,[e,t,r,i])},n.decodeAccountCallData=function(t){var r=null;if(t.startsWith(C.executeUserOpWithErrorString)?r=C.executeUserOpWithErrorString:t.startsWith(C.executeUserOp)&&(r=C.executeUserOp),null!=r){var n,i=e.defaultAbiCoder(),a="0x"+t.slice(10),o=i.decode(["address","uint256","bytes","uint8"],a);return n="string"!=typeof o[2]?(new TextDecoder).decode(o[2]):o[2],[{to:o[0],value:BigInt(o[1]),data:n,operation:Number(o[3])},r]}throw new x("BAD_DATA","Invalid calldata, should start with "+C.executeUserOpWithErrorString+" or "+C.executeUserOp,{context:{callData:t}})},n.prependTokenPaymasterApproveToCallDataStatic=function(t,r,i,a,o){var s;void 0===o&&(o={});var u=null!=(s=o.multisendContractAddress)?s:n.DEFAULT_MULTISEND_CONTRACT_ADDRESS,c=n.decodeAccountCallData(t),l=c[0],d=c[1],f=q([{to:r,value:0n,data:j(z("approve(address,uint256)"),["address","uint256"],[i,a]),operation:S.Call}]),h="",A="0x8d80ff0a";if(l.data.startsWith(A)){var v=function(t){return e.defaultAbiCoder().decode(["bytes"],"0x"+t.slice(10))[0]}(l.data);h=v+f.slice(2)}else h=q([l])+f.slice(2);var p=j(A,["bytes"],[h]);return n.createAccountCallData(u,0n,p,S.Delegate,{safeModuleExecutorFunctionSelector:d})},n.formatEip712SignaturesToUseroperationSignature=function(e,t,r){var i,a;if(void 0===r&&(r={}),e.length!=t.length)throw RangeError("signersAddresses and signatures arrays should be the same length");var o=null!=(i=r.validAfter)?i:0n,s=null!=(a=r.validUntil)?a:0n,u=new Map;e.forEach(function(e,r){u.set(e.toLocaleLowerCase(),t[r])});var c=new Map(Array.from(u).sort()),l="0x"+Array.from(c.values()).reduce(function(e,t){return e+t.slice(2)},"");return n.formatEip712SingleSignatureToUseroperationSignature(l,{validAfter:o,validUntil:s})},n.getUserOperationEip712Hash=function(e,t,r){return void 0===r&&(r={}),"initCode"in e?n.getUserOperationEip712Hash_V6(e,t,r):n.getUserOperationEip712Hash_V7(e,t,r)},n.getUserOperationEip712Data=function(e,t,r){if("initCode"in e){var i=n.getUserOperationEip712Data_V6(e,t,r);return{domain:i.domain,types:i.types,messageValue:i.messageValue}}var a=n.getUserOperationEip712Data_V7(e,t,r);return{domain:a.domain,types:a.types,messageValue:a.messageValue}},n.getUserOperationEip712Data_V6=function(e,t,r){var n,i,a,o;void 0===r&&(r={});var s=null!=(n=r.validAfter)?n:0n,u=null!=(i=r.validUntil)?i:0n,c=null!=(a=r.entrypointAddress)?a:T,l=null!=(o=r.safe4337ModuleAddress)?o:"0xa581c4A4DB7175302464fF3C06380BC3270b4037",d={safe:e.sender,nonce:e.nonce,initCode:e.initCode,callData:e.callData,callGasLimit:e.callGasLimit,verificationGasLimit:e.verificationGasLimit,preVerificationGas:e.preVerificationGas,maxFeePerGas:e.maxFeePerGas,maxPriorityFeePerGas:e.maxPriorityFeePerGas,paymasterAndData:e.paymasterAndData,validAfter:s,validUntil:u,entryPoint:c};return{domain:{chainId:Number(t),verifyingContract:l},types:U,messageValue:d}},n.getUserOperationEip712Hash_V6=function(e,t,r){void 0===r&&(r={});var i=n.getUserOperationEip712Data_V6(e,t,r);return u.hash(i.domain,i.types,i.messageValue)},n.getUserOperationEip712Data_V7=function(t,r,n){var i,a,o,s;void 0===n&&(n={});var u=null!=(i=n.validAfter)?i:0n,c=null!=(a=n.validUntil)?a:0n,l=null!=(o=n.entrypointAddress)?o:P,d=null!=(s=n.safe4337ModuleAddress)?s:"0x75cf11467937ce3F2f357CE24ffc3DBF8fD5c226",f=e.defaultAbiCoder(),h="0x";null!=t.factory&&(h=t.factory,null!=t.factoryData&&(h+=t.factoryData.slice(2)));var A="0x";null!=t.paymaster&&(A=t.paymaster,null!=t.paymasterVerificationGasLimit&&(A+=f.encode(["uint128"],[t.paymasterVerificationGasLimit]).slice(34)),null!=t.paymasterPostOpGasLimit&&(A+=f.encode(["uint128"],[t.paymasterPostOpGasLimit]).slice(34)),null!=t.paymasterData&&(A+=t.paymasterData.slice(2)));var v={safe:t.sender,nonce:t.nonce,initCode:h,callData:t.callData,verificationGasLimit:t.verificationGasLimit,callGasLimit:t.callGasLimit,preVerificationGas:t.preVerificationGas,maxPriorityFeePerGas:t.maxPriorityFeePerGas,maxFeePerGas:t.maxFeePerGas,paymasterAndData:A,validAfter:u,validUntil:c,entryPoint:l};return{domain:{chainId:Number(r),verifyingContract:d},types:R,messageValue:v}},n.getUserOperationEip712Hash_V7=function(e,t,r){void 0===r&&(r={});var i=n.getUserOperationEip712Data_V7(e,t,r);return u.hash(i.domain,i.types,i.messageValue)},n.formatEip712SingleSignatureToUseroperationSignature=function(e,t){var r,n;void 0===t&&(t={});var i=null!=(r=t.validAfter)?r:0n,o=null!=(n=t.validUntil)?n:0n;if(i<0n)throw RangeError("validAfter can't be negative");if(o<0n)throw RangeError("validUntil can't be negative");return a(["uint48","uint48","bytes"],[i,o,e])};var i=n.prototype;return i.sendUserOperation=function(e,t){try{var r=this,n=new Z(t);return Promise.resolve(n.sendUserOperation(e,r.entrypointAddress)).then(function(e){return new te(e,n,r.entrypointAddress)})}catch(e){return Promise.reject(e)}},n.createAccountAddressAndFactoryAddressAndData=function(e,t,r,i){var a,o,s,u,c,l,d,f;if(e.length<1)throw RangeError("There should be at least one owner");var h,A=n.createBaseInitializerCallData(e,null!=(a=t.threshold)?a:1,r,i,null!=(o=t.multisendContractAddress)?o:n.DEFAULT_MULTISEND_CONTRACT_ADDRESS,null!=(s=t.webAuthnSharedSigner)?s:n.DEFAULT_WEB_AUTHN_SHARED_SIGNER,null!=(u=t.eip7212WebAuthnPrecompileVerifierForSharedSigner)?u:n.DEFAULT_WEB_AUTHN_PRECOMPILE,null!=(c=t.eip7212WebAuthnContractVerifierForSharedSigner)?c:n.DEFAULT_WEB_AUTHN_FCLP256_VERIFIER);h=null!=t.safeAccountFactoryAddress?new ne(t.safeAccountFactoryAddress):new ne;var v=null!=(l=t.safeAccountSingleton)?l:n.DEFAULT_SAFE_SINGLETON,p=this.createProxyAddress(A,{c2Nonce:null!=(d=t.c2Nonce)?d:0n,safeFactoryAddress:h.address,singletonInitHash:v.singletonInitHash}),m=[v.singletonAddress,A,null!=(f=t.c2Nonce)?f:0n],E=h.getFactoryGeneratorFunctionCallData(m);return[p,h.address,E]},n.createBaseInitializerCallData=function(e,t,r,i,a,o,s,u){if(void 0===a&&(a=n.DEFAULT_MULTISEND_CONTRACT_ADDRESS),void 0===o&&(o=n.DEFAULT_WEB_AUTHN_SHARED_SIGNER),void 0===s&&(s=n.DEFAULT_WEB_AUTHN_PRECOMPILE),void 0===u&&(u=n.DEFAULT_WEB_AUTHN_FCLP256_VERIFIER),e.length<1)throw RangeError("There should be at least one owner");if(t<1)throw RangeError("threshold should be at least one");if(t>e.length)throw RangeError("threshold can't be larger than number of owners");for(var c,l,d=j("0x8d0dc49f",["address[]"],[[r]]),f=!1,h=[],A=y(e);!(l=A()).done;){var v=l.value;"string"!=typeof v?f=!0:h.push(v)}if(f){var p=[];p.push({to:i,value:0n,data:d,operation:S.Delegate});for(var m,E=[],g=0,D=y(e);!(m=D()).done;){var _=m.value;if("string"!=typeof _){if(g>0)throw RangeError("Only one WebAuthn owner can be set during initialization");var P=j("0x0dd9692f",["uint256","uint256","uint176"],[_.x,_.y,"0x"+s.slice(-4)+u.slice(2)]);p.push({to:o,value:0n,data:P,operation:S.Delegate}),E.push(o),g++}else E.push(_)}c=[E,t,a,j("0x8d80ff0a",["bytes"],[q(p)]),r,b,0,b]}else c=[h,t,i,d,r,b,0,b];return j(n.initializerFunctionSelector,n.initializerFunctionInputAbi,c)},n.createFactoryAddressAndData=function(e,t,r,i){var a,o,s,u,c,l,d,f;if(void 0===t&&(t={}),e.length<1)throw RangeError("There should be at least one owner");var h=null!=(a=t.threshold)?a:1,A=null!=(o=t.c2Nonce)?o:0;if(h<1)throw RangeError("threshold should be at least one");if(h>e.length)throw RangeError("threshold can't be larger than number of owners");if(A<0n)throw RangeError("c2Nonce can't be negative");var v,p=n.createBaseInitializerCallData(e,null!=(s=t.threshold)?s:1,r,i,null!=(u=t.multisendContractAddress)?u:n.DEFAULT_MULTISEND_CONTRACT_ADDRESS,null!=(c=t.webAuthnSharedSigner)?c:n.DEFAULT_WEB_AUTHN_SHARED_SIGNER,null!=(l=t.eip7212WebAuthnPrecompileVerifierForSharedSigner)?l:n.DEFAULT_WEB_AUTHN_PRECOMPILE,null!=(d=t.eip7212WebAuthnContractVerifierForSharedSigner)?d:n.DEFAULT_WEB_AUTHN_FCLP256_VERIFIER);v=null!=t.safeAccountFactoryAddress?new ne(t.safeAccountFactoryAddress):new ne;var m=null!=(f=t.safeAccountSingleton)?f:n.DEFAULT_SAFE_SINGLETON,E=v.getFactoryGeneratorFunctionCallData([m.singletonAddress,p,A]);return[v.address,E]},i.prependTokenPaymasterApproveToCallData=function(e,t,r,i,a){var o;void 0===a&&(a={});var s=null!=(o=a.multisendContractAddress)?o:n.DEFAULT_MULTISEND_CONTRACT_ADDRESS;return n.prependTokenPaymasterApproveToCallDataStatic(e,t,r,i,{multisendContractAddress:s})},i.estimateUserOperationGas=function(e,t,r){void 0===r&&(r={});try{var i=0xffffffffffffn,a=0xffffffffffffn;if(null!=r.dummySignerSignaturePairs){if(null!=r.expectedSigners)throw RangeError("Can't use both dummySignerSignaturePairs and expectedSigners overrides.");if(r.dummySignerSignaturePairs.length<1)throw RangeError("Number of dummy signers signature pairs can't be less than 1");e.signature=n.formatSignaturesToUseroperationSignature(r.dummySignerSignaturePairs,{validAfter:i,validUntil:a})}else if(null!=r.expectedSigners){var o,s=n.createDummySignerSignaturePairForExpectedSigners(r.expectedSigners,{isInit:null!=(o="initCode"in e?e.initCode:e.factory)&&"0x"!=o,webAuthnSharedSigner:r.webAuthnSharedSigner,eip7212WebAuthnPrecompileVerifier:r.eip7212WebAuthnPrecompileVerifier,eip7212WebAuthnContractVerifier:r.eip7212WebAuthnContractVerifier,webAuthnSignerFactory:r.webAuthnSignerFactory,webAuthnSignerSingleton:r.webAuthnSignerSingleton,validAfter:i,validUntil:a});e.signature=n.formatSignaturesToUseroperationSignature(s,{validAfter:i,validUntil:a})}else e.signature.length<3&&(e.signature=n.formatSignaturesToUseroperationSignature([J],{validAfter:i,validUntil:a}));var u=new Z(t),c=e.maxFeePerGas,l=e.maxPriorityFeePerGas;return e.maxFeePerGas=0n,e.maxPriorityFeePerGas=0n,Promise.resolve(u.estimateUserOperationGas(e,this.entrypointAddress,r.stateOverrideSet)).then(function(t){return e.maxFeePerGas=c,e.maxPriorityFeePerGas=l,[BigInt(t.preVerificationGas),null!=r.dummySignerSignaturePairs?BigInt(t.verificationGasLimit)+55000n*BigInt(r.dummySignerSignaturePairs.length):BigInt(t.verificationGasLimit),BigInt(t.callGasLimit)]})}catch(e){return Promise.reject(e)}},i.createBaseUserOperationAndFactoryAddressAndFactoryData=function(e,t,r,i,a){void 0===a&&(a={});try{var o,s,u,c=function(){var r,o,s,u,c,p,g,y;function S(e){var t,r,n,i,o,s;if("bigint"==typeof a.preVerificationGas&&a.preVerificationGas<0n)throw RangeError("preVerificationGas overrid can't be negative");if("bigint"==typeof a.verificationGasLimit&&a.verificationGasLimit<0n)throw RangeError("verificationGasLimit overrid can't be negative");if("bigint"==typeof a.callGasLimit&&a.callGasLimit<0n)throw RangeError("callGasLimit overrid can't be negative");return O.preVerificationGas=null!=(t=a.preVerificationGas)?t:C*BigInt(Math.floor(((null!=(r=a.preVerificationGasPercentageMultiplier)?r:0)+100)/100)),O.verificationGasLimit=null!=(n=a.verificationGasLimit)?n:I*BigInt(Math.floor(((null!=(i=a.verificationGasLimitPercentageMultiplier)?i:0)+100)/100)),O.callGasLimit=null!=(o=a.callGasLimit)?o:M*BigInt(Math.floor(((null!=(s=a.callGasLimitPercentageMultiplier)?s:0)+100)/100)),[O,U,R]}m=null!=(r=a.maxFeePerGas)?r:m*BigInt(Math.floor(((null!=(o=a.maxFeePerGasPercentageMultiplier)?o:0)+100)/100)),E=null!=(s=a.maxPriorityFeePerGas)?s:E*BigInt(Math.floor(((null!=(u=a.maxPriorityFeePerGasPercentageMultiplier)?u:0)+100)/100));var D,_=null!=(c=a.eip7212WebAuthnPrecompileVerifier)?c:n.DEFAULT_WEB_AUTHN_PRECOMPILE,b=null!=(p=a.eip7212WebAuthnContractVerifier)?p:n.DEFAULT_WEB_AUTHN_FCLP256_VERIFIER,P=null!=(g=a.webAuthnSignerFactory)?g:n.DEFAULT_WEB_AUTHN_SIGNER_FACTORY,T=null!=(y=a.webAuthnSignerSingleton)?y:n.DEFAULT_WEB_AUTHN_SIGNER_SINGLETON,U=l.factoryAddress,R=l.factoryData;if(null==v)throw RangeError("failed to determine nonce");if(v<0n)throw RangeError("nonce can't be negative");if(v>0n)U=null,R=null;else if(l.isInitWebAuthn){if(null==l.x||null==l.y)throw RangeError("Invalide account initialization with Webauthnn signer.Webauthnn signer publickey can be null!!");var L=n.createDeployWebAuthnVerifierMetaTransaction(l.x,l.y,{eip7212WebAuthnPrecompileVerifier:_,eip7212WebAuthnContractVerifier:b,webAuthnSignerFactory:P}),w=n.createWebAuthnSignerVerifierAddress(l.x,l.y,{eip7212WebAuthnPrecompileVerifier:_,eip7212WebAuthnContractVerifier:b,webAuthnSignerFactory:P,webAuthnSignerSingleton:T}),G=j("0xe318b52b",["address","address","address"],["0x0000000000000000000000000000000000000001",d,w]);e=[L,{to:l.accountAddress,value:0n,data:G}].concat(e)}D=null==a.callData?1==e.length?n.createAccountCallDataSingleTransaction(e[0],{safeModuleExecutorFunctionSelector:f}):n.createAccountCallDataBatchTransactions(e,{safeModuleExecutorFunctionSelector:f,multisendContractAddress:h}):a.callData;var O=A({},F,{sender:l.accountAddress,nonce:v,callData:D,maxFeePerGas:m,maxPriorityFeePerGas:E}),C=F.preVerificationGas,I=F.verificationGasLimit,M=F.callGasLimit,N=function(){if(null==a.preVerificationGas||null==a.verificationGasLimit||null==a.callGasLimit)return function(){if(null!=i){O.callGasLimit=0n,O.verificationGasLimit=0n,O.preVerificationGas=0n;var e,r=O.maxFeePerGas,o=O.maxPriorityFeePerGas;if(O.maxFeePerGas=0n,O.maxPriorityFeePerGas=0n,t){var s="0x";null!=U&&(s=U,null!=R&&(s+=R.slice(2))),e=A({},O,{initCode:s,paymasterAndData:"0x"})}else e=A({},O,{factory:U,factoryData:R,paymaster:null,paymasterVerificationGasLimit:null,paymasterPostOpGasLimit:null,paymasterData:null});var u,c=0xffffffffffffn,f=0xffffffffffffn;if(null!=a.dummySignerSignaturePairs){if(null!=a.expectedSigners)throw RangeError("Can't use both dummySignerSignaturePairs and expectedSigners overrides.");if(a.dummySignerSignaturePairs.length<1)throw RangeError("Number of dummySignerSignaturePairs can't be less than 1");u=a.dummySignerSignaturePairs}else u=null==a.expectedSigners?[J]:n.createDummySignerSignaturePairForExpectedSigners(a.expectedSigners,{isInit:null!=U&&"0x"!=U,webAuthnSharedSigner:d,eip7212WebAuthnPrecompileVerifier:_,eip7212WebAuthnContractVerifier:b,webAuthnSignerFactory:P,webAuthnSignerSingleton:T,validAfter:c,validUntil:f});return O.signature=n.formatSignaturesToUseroperationSignature(u,{validAfter:c,validUntil:f,webAuthnSharedSigner:d}),Promise.resolve(l.estimateUserOperationGas(e,i,{stateOverrideSet:a.state_override_set})).then(function(e){C=e[0],I=e[1],M=e[2],I+=55000n*BigInt(u.length),O.maxFeePerGas=r,O.maxPriorityFeePerGas=o})}throw new x("BAD_DATA","bundlerRpc cant't be null if preVerificationGas,verificationGasLimit and callGasLimit are not overriden")}()}();return N&&N.then?N.then(S):S()},l=this;if(e.length<1)throw RangeError("There should be at least one transaction");var d=null!=(o=a.webAuthnSharedSigner)?o:n.DEFAULT_WEB_AUTHN_SHARED_SIGNER,f=null!=(s=a.safeModuleExecutorFunctionSelector)?s:n.DEFAULT_EXECUTOR_FUCNTION_SELECTOR,h=null!=(u=a.multisendContractAddress)?u:n.DEFAULT_MULTISEND_CONTRACT_ADDRESS,v=null,p=null;if(null==a.nonce){if(null==r)throw new x("BAD_DATA","providerRpc cant't be null if nonce is not overriden");p=W(r,l.entrypointAddress,l.accountAddress)}else v=a.nonce;if("bigint"==typeof a.maxFeePerGas&&a.maxFeePerGas<0n)throw RangeError("maxFeePerGas overrid can't be negative");if("bigint"==typeof a.maxPriorityFeePerGas&&a.maxPriorityFeePerGas<0n)throw RangeError("maxPriorityFeePerGas overrid can't be negative");var m=F.maxFeePerGas,E=F.maxPriorityFeePerGas,g=null;null!=a.maxFeePerGas&&null!=a.maxPriorityFeePerGas||(g=n.handlefetchGasPrice(r,a.polygonGasStation,a.gasLevel));var y=function(){if(null!=g&&null!=p)return Promise.resolve(Promise.all([p,g]).then(function(e){v=e[0];var t=e[1];m=t[0],E=t[1]})).then(function(){});var e=function(){if(null!=g)return Promise.resolve(g).then(function(e){m=e[0],E=e[1]});var e=function(){if(null!=p)return Promise.resolve(p).then(function(e){v=e})}();return e&&e.then?e.then(function(){}):void 0}();return e&&e.then?e.then(function(){}):void 0}();return Promise.resolve(y&&y.then?y.then(c):c())}catch(e){return Promise.reject(e)}},n.handlefetchGasPrice=function(e,t,r){try{var n,i,a=function(e){return[n,i]};void 0===r&&(r=D.Medium);var o=null!=t?Promise.resolve(function(e,t){try{void 0===t&&(t=D.Medium);var r="https://gasstation.polygon.technology/"+e;return Promise.resolve(O(function(){return Promise.resolve(fetch(r)).then(function(e){return Promise.resolve(e.json()).then(function(e){var r;r=t==D.Slow?e.safeLow:t==D.Medium?e.standard:e.fast;var n=BigInt(Math.ceil(1e9*Number(r.maxFee))),i=BigInt(Math.ceil(1e9*Number(r.maxPriorityFee)));return 0n==n&&(n=1n),0n==i&&(i=1n),[n,i]})})},function(e){var t=G(e);throw new x("BAD_DATA","fetching gas prices from "+r+" failed.",{cause:t})}))}catch(e){return Promise.reject(e)}}(t,r)).then(function(e){n=e[0],i=e[1]}):function(){if(null!=e)return Promise.resolve(B(e,r)).then(function(e){n=e[0],i=e[1]});throw new x("BAD_DATA","providerRpc cant't be null if maxFeePerGas and maxPriorityFeePerGas are not overriden")}();return Promise.resolve(o&&o.then?o.then(a):a())}catch(e){return Promise.reject(e)}},i.signUserOperation=function(e,t,r,i){var a,o;void 0===i&&(i={});var s=null!=(a=i.validAfter)?a:0n,u=null!=(o=i.validUntil)?o:0n;if(t.length<1)throw RangeError("There should be at least one privateKey");if(r<0n)throw RangeError("chainId can't be negative");if(s<0n)throw RangeError("validAfter can't be negative");if(u<0n)throw RangeError("validUntil can't be negative");for(var l,d=n.getUserOperationEip712Hash(e,r,{validAfter:s,validUntil:u,entrypointAddress:this.entrypointAddress,safe4337ModuleAddress:this.safe4337ModuleAddress}),f=[],h=[],A=y(t);!(l=A()).done;){var v=new c(l.value),p=v.signingKey.sign(d).serialized;f.push(v.address),h.push(p)}return n.formatEip712SignaturesToUseroperationSignature(f,h,{validAfter:s,validUntil:u})},n.createWebAuthnSignerVerifierAddress=function(e,t,i){var s,u,c,l;void 0===i&&(i={});var d=null!=(s=i.eip7212WebAuthnPrecompileVerifier)?s:n.DEFAULT_WEB_AUTHN_PRECOMPILE,f=null!=(u=i.eip7212WebAuthnContractVerifier)?u:n.DEFAULT_WEB_AUTHN_FCLP256_VERIFIER,h=null!=(c=i.webAuthnSignerFactory)?c:n.DEFAULT_WEB_AUTHN_SIGNER_FACTORY,A=null!=(l=i.webAuthnSignerSingleton)?l:n.DEFAULT_WEB_AUTHN_SIGNER_SINGLETON;if(42!=d.length||d.slice(0,38)!=b.slice(0,38))throw RangeError("Invalide precompile address. It should have the format 0x000000000000000000000000000000000000____");var v=r(a(["bytes","uint256","uint256","uint256","uint256"],[n.DEFAULT_WEB_AUTHN_SIGNER_PROXY_CREATION_CODE,A,e,t,"0x"+d.slice(-4)+f.slice(2)]));return"0x"+o(["bytes1","address","bytes32","bytes32"],["0xff",h,"0x0000000000000000000000000000000000000000000000000000000000000000",v]).slice(-40)},n.formatSignaturesToUseroperationSignature=function(e,t){var r,n;void 0===t&&(t={});var i=null!=(r=t.validAfter)?r:0n,o=null!=(n=t.validUntil)?n:0n,s=this.buildSignaturesFromSingerSignaturePairs(e,t);return a(["uint48","uint48","bytes"],[i,o,s])},n.getSignerLowerCaseAddress=function(e,t){if(void 0===t&&(t={}),"string"==typeof e)return e.toLowerCase();var r,i,a,o,s=null!=(r=t.eip7212WebAuthnPrecompileVerifier)?r:n.DEFAULT_WEB_AUTHN_PRECOMPILE,u=null!=(i=t.eip7212WebAuthnContractVerifier)?i:n.DEFAULT_WEB_AUTHN_FCLP256_VERIFIER,c=null!=(a=t.webAuthnSignerFactory)?a:n.DEFAULT_WEB_AUTHN_SIGNER_FACTORY,l=null!=(o=t.webAuthnSignerSingleton)?o:n.DEFAULT_WEB_AUTHN_SIGNER_SINGLETON;return n.createWebAuthnSignerVerifierAddress(e.x,e.y,{eip7212WebAuthnPrecompileVerifier:s,eip7212WebAuthnContractVerifier:u,webAuthnSignerFactory:c,webAuthnSignerSingleton:l}).toLowerCase()},n.sortSignatures=function(e,t){void 0===t&&(t={}),e.sort(function(e,r){return n.getSignerLowerCaseAddress(e.signer,t).localeCompare(n.getSignerLowerCaseAddress(r.signer,t))})},n.buildSignaturesFromSingerSignaturePairs=function(e,t){void 0===t&&(t={}),n.sortSignatures(e,t);var r=65*e.length,i=e.reduce(function(e,i){var a=e.segments,o=e.offset,s=i.signer,u=i.signature,c=i.isContractSignature;if(c=c||"string"!=typeof s){if("string"!=typeof s){if(null==t.isInit)throw RangeError("Must define isInit parameter when using WebAuthn");if(t.isInit){var d;s=null!=(d=t.webAuthnSharedSigner)?d:n.DEFAULT_WEB_AUTHN_SHARED_SIGNER}else{var f,h,A,v,p=null!=(f=t.eip7212WebAuthnPrecompileVerifier)?f:n.DEFAULT_WEB_AUTHN_PRECOMPILE,m=null!=(h=t.eip7212WebAuthnContractVerifier)?h:n.DEFAULT_WEB_AUTHN_FCLP256_VERIFIER,E=null!=(A=t.webAuthnSignerFactory)?A:n.DEFAULT_WEB_AUTHN_SIGNER_FACTORY,g=null!=(v=t.webAuthnSignerSingleton)?v:n.DEFAULT_WEB_AUTHN_SIGNER_SINGLETON;s=n.createWebAuthnSignerVerifierAddress(s.x,s.y,{eip7212WebAuthnPrecompileVerifier:p,eip7212WebAuthnContractVerifier:m,webAuthnSignerFactory:E,webAuthnSignerSingleton:g})}}return{segments:[].concat(a,[l.solidityPacked(["uint256","uint256","uint8"],[s,r+o,0])]),offset:o+32+l.dataLength(u)}}return{segments:[].concat(a,[l.solidityPacked(["bytes"],[u])]),offset:o}},{segments:[],offset:0});return l.concat([].concat(i.segments,e.map(function(e){var t=e.signature,r=e.isContractSignature;return(r=r||"string"!=typeof e.signer)?l.solidityPacked(["uint256","bytes"],[l.dataLength(t),t]):"0x"})))},n.createWebAuthnSignature=function(e){return l.AbiCoder.defaultAbiCoder().encode(["bytes","bytes","uint256[2]"],[new Uint8Array(e.authenticatorData),e.clientDataFields,e.rs])},i.createSwapOwnerMetaTransactions=function(e,t,r,i){void 0===i&&(i={});try{var a,o,s=function(){function t(e){var t=u.createStandardSwapOwnerMetaTransaction(a,o,s);return null==c?[t]:[c,t]}o="string"!=typeof r?n.createWebAuthnSignerVerifierAddress(r.x,r.y,{eip7212WebAuthnPrecompileVerifier:i.eip7212WebAuthnPrecompileVerifier,eip7212WebAuthnContractVerifier:i.eip7212WebAuthnContractVerifier,webAuthnSignerFactory:i.webAuthnSignerFactory,webAuthnSignerSingleton:i.webAuthnSignerSingleton}):r;var s=i.prevOwner,l=function(){if(null==s)return Promise.resolve(u.getOwners(e)).then(function(e){var t=e.indexOf(o);if(-1==t)throw RangeError("oldOwner is not a current owner.");if(0==t)s="0x0000000000000000000000000000000000000001";else{if(!(t>0))throw RangeError("Invalid owner index");s=e[t-1]}})}();return l&&l.then?l.then(t):t()},u=this,c=null,l=function(){if("string"!=typeof t)return a=n.createWebAuthnSignerVerifierAddress(t.x,t.y,{eip7212WebAuthnPrecompileVerifier:i.eip7212WebAuthnPrecompileVerifier,eip7212WebAuthnContractVerifier:i.eip7212WebAuthnContractVerifier,webAuthnSignerFactory:i.webAuthnSignerFactory,webAuthnSignerSingleton:i.webAuthnSignerSingleton}),Promise.resolve(I(e,a,"latest")).then(function(e){e.length<3&&(c=n.createDeployWebAuthnVerifierMetaTransaction(t.x,t.y,{eip7212WebAuthnPrecompileVerifier:i.eip7212WebAuthnPrecompileVerifier,eip7212WebAuthnContractVerifier:i.eip7212WebAuthnContractVerifier,webAuthnSignerFactory:i.webAuthnSignerFactory}))});a=t}();return Promise.resolve(l&&l.then?l.then(s):s())}catch(e){return Promise.reject(e)}},i.createRemoveOwnerMetaTransaction=function(e,t,r,i){void 0===i&&(i={});try{var a,o=function(e){return s.createStandardRemoveOwnerMetaTransaction(a,r,u)},s=this;a="string"!=typeof t?n.createWebAuthnSignerVerifierAddress(t.x,t.y,{eip7212WebAuthnPrecompileVerifier:i.eip7212WebAuthnPrecompileVerifier,eip7212WebAuthnContractVerifier:i.eip7212WebAuthnContractVerifier,webAuthnSignerFactory:i.webAuthnSignerFactory,webAuthnSignerSingleton:i.webAuthnSignerSingleton}):t;var u=i.prevOwner,c=function(){if(null==u)return Promise.resolve(s.getOwners(e)).then(function(e){var t=e.indexOf(a);if(-1==t)throw RangeError("ownerToDelete is not a current owner.");if(0==t)u="0x0000000000000000000000000000000000000001";else{if(!(t>0))throw RangeError("Invalid owner index");u=e[t-1]}})}();return Promise.resolve(c&&c.then?c.then(o):o())}catch(e){return Promise.reject(e)}},i.createAddOwnerWithThresholdMetaTransactions=function(e,t,r){void 0===r&&(r={});try{var i,a=function(e){var r=o.createStandardAddOwnerWithThresholdMetaTransaction(i,t);return null==s?[r]:[s,r]},o=this,s=null,u=function(){if("string"!=typeof e){if(i=n.createWebAuthnSignerVerifierAddress(e.x,e.y,{eip7212WebAuthnPrecompileVerifier:r.eip7212WebAuthnPrecompileVerifier,eip7212WebAuthnContractVerifier:r.eip7212WebAuthnContractVerifier,webAuthnSignerFactory:r.webAuthnSignerFactory,webAuthnSignerSingleton:r.webAuthnSignerSingleton}),null==r.nodeRpcUrl)throw RangeError("overrides.nodeRpcUrl can't be null if adding a webauthn owner");return Promise.resolve(I(r.nodeRpcUrl,i,"latest")).then(function(t){t.length<3&&(s=n.createDeployWebAuthnVerifierMetaTransaction(e.x,e.y,{eip7212WebAuthnPrecompileVerifier:r.eip7212WebAuthnPrecompileVerifier,eip7212WebAuthnContractVerifier:r.eip7212WebAuthnContractVerifier,webAuthnSignerFactory:r.webAuthnSignerFactory}))})}i=e}();return Promise.resolve(u&&u.then?u.then(a):a())}catch(e){return Promise.reject(e)}},i.createStandardAddOwnerWithThresholdMetaTransaction=function(e,t){var r=j("0x0d582f13",["address","uint256"],[e,t]);return{to:this.accountAddress,data:r,value:0n}},i.createStandardSwapOwnerMetaTransaction=function(e,t,r){var n=j("0xe318b52b",["address","address","address"],[r,t,e]);return{to:this.accountAddress,data:n,value:0n}},i.createStandardRemoveOwnerMetaTransaction=function(e,t,r){var n=j("0xf8dc5dd9",["address","address","uint256"],[r,e,t]);return{to:this.accountAddress,data:n,value:0n}},n.createDeployWebAuthnVerifierMetaTransaction=function(e,t,r){var i,a,o;void 0===r&&(r={});var s=null!=(i=r.eip7212WebAuthnPrecompileVerifier)?i:n.DEFAULT_WEB_AUTHN_PRECOMPILE,u=null!=(a=r.eip7212WebAuthnContractVerifier)?a:n.DEFAULT_WEB_AUTHN_FCLP256_VERIFIER;return{to:null!=(o=r.webAuthnSignerFactory)?o:n.DEFAULT_WEB_AUTHN_SIGNER_FACTORY,value:0n,data:j("0x0d2f0489",["uint256","uint256","uint176"],[e,t,"0x"+s.slice(-4)+u.slice(2)])}},i.getOwners=function(t){try{var r=j(z("getOwners()"),[],[]);return Promise.resolve(M(t,{to:this.accountAddress,data:r},"latest")).then(function(t){return e.defaultAbiCoder().decode(["address[]"],t)[0]})}catch(e){return Promise.reject(e)}},i.getModules=function(t,r){void 0===r&&(r={});try{var n=this;return Promise.resolve(ie(function(){var i=r.start;null==i&&(i="0x0000000000000000000000000000000000000001");var a=r.pageSize;null==a&&(a=10n);var o=j("0xcc2f8452",["address","uint256"],[i,a]);return Promise.resolve(M(t,{to:n.accountAddress,data:o},"latest")).then(function(t){if("0x"==t)throw new x("BAD_DATA","getModules retuned an empty result, the target account is probably not deployed yet.");var r=e.defaultAbiCoder().decode(["address[]","address"],t);return[r[0],r[1]]})},function(e){var t=G(e);throw new x("BAD_DATA","getModules failed",{cause:t})}))}catch(e){return Promise.reject(e)}},i.isModuleEnabled=function(t,r){try{var n=j(z("isModuleEnabled(address)"),["address"],[r]);return Promise.resolve(M(t,{to:this.accountAddress,data:n},"latest")).then(function(t){return e.defaultAbiCoder().decode(["bool"],t)[0]})}catch(e){return Promise.reject(e)}},n.createDummySignerSignaturePairForExpectedSigners=function(e,t){void 0===t&&(t={});for(var r,i=[],a=y([].concat(e));!(r=a()).done;){var o=r.value,s=void 0;if("string"==typeof o)s=J;else{if(null==t.isInit)throw RangeError("Must define isInit parameter when using WebAuthn");if(s=X,t.isInit){var u,c=null!=(u=t.webAuthnSharedSigner)?u:n.DEFAULT_WEB_AUTHN_SHARED_SIGNER;s.signer=c}else{var l,d,f,h,A=null!=(l=t.eip7212WebAuthnPrecompileVerifier)?l:n.DEFAULT_WEB_AUTHN_PRECOMPILE,v=null!=(d=t.eip7212WebAuthnContractVerifier)?d:n.DEFAULT_WEB_AUTHN_FCLP256_VERIFIER,p=null!=(f=t.webAuthnSignerFactory)?f:n.DEFAULT_WEB_AUTHN_SIGNER_FACTORY,m=null!=(h=t.webAuthnSignerSingleton)?h:n.DEFAULT_WEB_AUTHN_SIGNER_SINGLETON;s.signer=n.createWebAuthnSignerVerifierAddress(o.x,o.y,{eip7212WebAuthnPrecompileVerifier:A,eip7212WebAuthnContractVerifier:v,webAuthnSignerFactory:p,webAuthnSignerSingleton:m})}}i.push(s)}return i},n.verifyWebAuthnSignatureForMessageHash=function(t,r,i,a,o){void 0===o&&(o={});try{var s,u,c,l;if(66!=i.length||"0x"!=i.slice(0,2))throw RangeError("Invalide messageHash ,must be a 0x prefixed keccak256 hash.");var d=null!=(s=o.eip7212WebAuthnPrecompileVerifier)?s:n.DEFAULT_WEB_AUTHN_PRECOMPILE,f=null!=(u=o.eip7212WebAuthnContractVerifier)?u:n.DEFAULT_WEB_AUTHN_FCLP256_VERIFIER,h=null!=(c=o.webAuthnSignerSingleton)?c:n.DEFAULT_WEB_AUTHN_SIGNER_SINGLETON;if(42!=d.length||d.slice(0,38)!=b.slice(0,38))throw RangeError("Invalide precompile address. It should have the format 0x000000000000000000000000000000000000____");var A=j("0x1626ba7e",["bytes32","bytes"],[i,a]),v="0x1111111111111111111111111111111111111111",p={to:v,data:A},m=n.createSafeWebAuthnSignerProxyDeployedByteCode(r,d,f,h);return Promise.resolve(M(t,p,"latest",(l={},l[v]={code:m},l))).then(function(t){return e.defaultAbiCoder().decode(["bool"],t)[0]})}catch(e){return Promise.reject(e)}},n.createSafeWebAuthnSignerProxyDeployedByteCode=function(t,r,n,i){var a=e.defaultAbiCoder(),o=a.encode(["uint256"],[t.x]),s=a.encode(["uint256"],[t.y]);return"0x608060408190527f"+a.encode(["uint176"],["0x"+r.slice(-4)+n.slice(2)]).slice(2)+"3660b681018290527f"+s.slice(2)+"60a082018190527f"+o.slice(2)+"8285018190527f000000000000000000000000"+i.slice(2)+"9490939192600082376000806056360183885af490503d6000803e8060c3573d6000fd5b503d6000f3fea2646970667358221220ddd9bb059ba7a6497d560ca97aadf4dbf0476f578378554a50d41c6bb654beae64736f6c63430008180033"},n.createEnableModuleMetaTransaction=function(e,t){return{to:t,data:j("0x610b5925",["address"],[e]),value:0n}},i.createDisableModuleMetaTransaction=function(e,t,r,i){void 0===i&&(i={});try{var a=this;return Promise.resolve(ie(function(){function o(e){return n.createStandardDisableModuleMetaTransaction(t,s,r)}var s=i.prevModuleAddress,u=function(){if(null==s)return Promise.resolve(a.getModules(e,{start:i.modulesStart,pageSize:i.modulesPageSize})).then(function(e){var r=e[0],n=r.indexOf(t);if(-1==n)throw RangeError("moduleToDisable "+t+" is not an enabled module.");if(0==n)s="0x0000000000000000000000000000000000000001";else{if(!(n>0))throw RangeError("Invalid module index for "+t);s=r[n-1]}})}();return u&&u.then?u.then(o):o()},function(e){var t=G(e);throw new x("BAD_DATA","createDisableModuleMetaTransaction failed",{cause:t})}))}catch(e){return Promise.reject(e)}},n.createStandardDisableModuleMetaTransaction=function(e,t,r){return{to:r,data:j("0xe009cfde",["address","address"],[t,e]),value:0n}},n}(f);ae.DEFAULT_SAFE_SINGLETON={singletonAddress:"0x29fcB43b46531BcA003ddC8FCB67FFE91900C762",singletonInitHash:"0xe298282cefe913ab5d282047161268a8222e4bd4ed106300c547894bbefd31ee"},ae.DEFAULT_WEB_AUTHN_SHARED_SIGNER="0xfD90FAd33ee8b58f32c00aceEad1358e4AFC23f9",ae.DEFAULT_WEB_AUTHN_SIGNER_SINGLETON="0x270D7E4a57E6322f336261