UNPKG

abstractionkit

Version:

Account Abstraction 4337 SDK by Candidelabs

1 lines 85.7 kB
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("ethers"),require("isomorphic-unfetch")):"function"==typeof define&&define.amd?define(["exports","ethers","isomorphic-unfetch"],t):t((e||self).abstractionkit={},e.ethers,e.isomorphicUnfetch)}(this,function(e,t,r){function n(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach(function(r){if("default"!==r){var n=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,n.get?n:{enumerable:!0,get:function(){return e[r]}})}}),t.default=e,t}var i=/*#__PURE__*/n(r),a=function(e){this.accountAddress=void 0,this.accountAddress=e};function o(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(o=function(){return!!e})()}function s(){return s=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},s.apply(this,arguments)}function u(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,l(e,t)}function c(e){return c=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},c(e)}function l(e,t){return l=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},l(e,t)}function d(e){var t="function"==typeof Map?new Map:void 0;return d=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(o())return Reflect.construct.apply(null,arguments);var n=[null];n.push.apply(n,t);var i=new(e.bind.apply(e,n));return r&&l(i,r.prototype),i}(e,arguments,c(this).constructor)}return r.prototype=Object.create(e.prototype,{constructor:{value:r,enumerable:!1,writable:!0,configurable:!0}}),l(r,e)},d(e)}function f(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 h(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 f(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)?f(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.")}a.proxyByteCode=void 0,a.initializerFunctionSelector=void 0,a.initializerFunctionInputAbi=void 0,a.executorFunctionSelector=void 0,a.executorFunctionInputAbi=void 0;var A,v,p,m="0x0000000000000000000000000000000000000000",E="0x0000000071727De22E5E9d8BAf0edAc6f37da032",y="0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789",g={sender:m,nonce:0n,callData:"0x",callGasLimit:0n,verificationGasLimit:0n,preVerificationGas:0n,maxFeePerGas:0n,maxPriorityFeePerGas:0n,signature:"0x"},S={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"}]},D={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"}]},b="0x0000000000000000000000000000000000000100";e.Operation=void 0,(A=e.Operation||(e.Operation={}))[A.Call=0]="Call",A[A.Delegate=1]="Delegate",e.GasOption=void 0,(v=e.GasOption||(e.GasOption={}))[v.Slow=1]="Slow",v[v.Medium=1.2]="Medium",v[v.Fast=1.5]="Fast",e.PolygonChain=void 0,(p=e.PolygonChain||(e.PolygonChain={})).Mainnet="v2",p.ZkMainnet="zkevm",p.Amoy="amoy",p.Cardona="cardona";var _={"-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"},P=/*#__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 u(t,e),t.prototype.stringify=function(){return JSON.stringify(this,["name","code","message","cause","errno","context"])},t}(/*#__PURE__*/d(Error));function T(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 F(e,t){try{var r=e()}catch(e){return t(e)}return r&&r.then?r.then(void 0,t):r}var R,U=function(e,t,r){try{var n=[t,r];return Promise.resolve(F(function(){return Promise.resolve(C(e,"eth_getCode",n)).then(function(e){if("string"!=typeof e)throw new P("BAD_DATA","eth_getCode returned ill formed data",{context:JSON.stringify(e)});try{return e}catch(e){var t=T(e);throw new P("BAD_DATA","eth_getCode returned ill formed data",{cause:t})}})},function(e){var t=T(e);throw new P("BAD_DATA","eth_getCode failed",{cause:t})}))}catch(e){return Promise.reject(e)}},L=function(e,t,r,n){try{var i;return i=null==n?[t,r]:[t,r,n],Promise.resolve(F(function(){return Promise.resolve(C(e,"eth_call",i)).then(function(e){if("string"!=typeof e)throw new P("BAD_DATA","eth_call returned ill formed data",{context:JSON.stringify(e)});try{return e}catch(e){var t=T(e);throw new P("BAD_DATA","eth_call returned ill formed data",{cause:t})}})},function(e){var t=T(e);throw new P("BAD_DATA","eth_call failed",{cause:t})}))}catch(e){return Promise.reject(e)}},O=function(e,r,n){try{var i={from:"0x0000000000000000000000000000000000000000",to:n,data:I("0x5287ce12",["address"],[r])};return Promise.resolve(F(function(){return Promise.resolve(L(e,i,"latest")).then(function(e){var r=t.AbiCoder.defaultAbiCoder().decode(["uint256","bool","uint112","uint32","uint48"],e);if(5!==r.length)throw new P("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=T(e);throw new P("BAD_DATA","getDepositInfo returned ill formed data",{cause:n})}})},function(e){var t=T(e);throw new P("BAD_DATA","getDepositInfo failed",{cause:t})}))}catch(e){return Promise.reject(e)}},x=function(e,t,r){return Promise.resolve(O(e,t,r)).then(function(e){return e.deposit})},G=function(r,n){try{return void 0===n&&(n=e.GasOption.Medium),Promise.resolve(F(function(){var e=new t.JsonRpcProvider(r);return Promise.resolve(e.getFeeData()).then(function(e){var t,r;return null!=e.maxFeePerGas&&null!=e.maxPriorityFeePerGas?(t=BigInt(Math.ceil(Number(e.maxFeePerGas)*n)),r=BigInt(Math.ceil(Number(e.maxPriorityFeePerGas)*n))):r=t=null!=e.gasPrice?BigInt(Math.ceil(Number(e.gasPrice)*n)):BigInt(Math.ceil(1e9*n)),0n==t&&(t=1n),0n==r&&(r=1n),[t,r]})},function(e){var t=T(e);throw new P("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:I(N("getNonce(address,uint192)"),["address","uint192"],[r,n])},"latest"];return Promise.resolve(F(function(){return Promise.resolve(C(e,"eth_call",i)).then(function(e){if("string"!=typeof e)throw new P("BAD_DATA","getNonce returned ill formed data",{context:JSON.stringify(e)});try{return BigInt(e)}catch(e){var t=T(e);throw new P("BAD_DATA","getNonce returned ill formed data",{cause:t})}})},function(e){var t=T(e);throw new P("BAD_DATA","getNonce failed",{cause:t})}))}catch(e){return Promise.reject(e)}},C=function(e,t,r){try{var n=i.default||i,a={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,a)).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 P(n in _?_[n]:"UNKNOWN_ERROR",r.message,{errno:r.code,context:{url:e,requestOptions:JSON.stringify(a)}})})})}catch(e){return Promise.reject(e)}};function M(e,r,n){var i;i=t.keccak256("initCode"in e?function(e){var r=[e.sender,e.nonce,t.keccak256(e.initCode),t.keccak256(e.callData),e.callGasLimit,e.verificationGasLimit,e.preVerificationGas,e.maxFeePerGas,e.maxPriorityFeePerGas,t.keccak256(e.paymasterAndData)];return t.AbiCoder.defaultAbiCoder().encode(["address","uint256","bytes32","bytes32","uint256","uint256","uint256","uint256","uint256","bytes32"],r)}(e):function(e){var r=t.AbiCoder.defaultAbiCoder(),n="0x";null!=e.factory&&(n=e.factory,null!=e.factoryData&&(n+=e.factoryData.slice(2)));var i="0x"+r.encode(["uint128"],[e.verificationGasLimit]).slice(34)+r.encode(["uint128"],[e.callGasLimit]).slice(34),a="0x"+r.encode(["uint128"],[e.maxPriorityFeePerGas]).slice(34)+r.encode(["uint128"],[e.maxFeePerGas]).slice(34),o="0x";null!=e.paymaster&&(o=e.paymaster,null!=e.paymasterVerificationGasLimit&&(o+=r.encode(["uint128"],[e.paymasterVerificationGasLimit]).slice(34)),null!=e.paymasterPostOpGasLimit&&(o+=r.encode(["uint128"],[e.paymasterPostOpGasLimit]).slice(34)),null!=e.paymasterData&&(o+=e.paymasterData.slice(2)));var s=[e.sender,e.nonce,t.keccak256(n),t.keccak256(e.callData),i,e.preVerificationGas,a,t.keccak256(o)];return r.encode(["address","uint256","bytes32","bytes32","bytes32","uint256","bytes32","bytes32"],s)}(e));var a=t.AbiCoder.defaultAbiCoder().encode(["bytes32","address","uint256"],[i,r,n]);return t.keccak256(a)}function I(e,r,n){return e+t.AbiCoder.defaultAbiCoder().encode(r,n).slice(2)}function N(e){return t.id(e).slice(0,10)}function V(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}e.SafeModuleExecutorFunctionSelector=void 0,(R=e.SafeModuleExecutorFunctionSelector||(e.SafeModuleExecutorFunctionSelector={})).executeUserOpWithErrorString="0x541d63c8",R.executeUserOp="0x7bb37428";var B={signer:"0xfD90FAd33ee8b58f32c00aceEad1358e4AFC23f9",signature:"0x47003599ffa7e9198f321afa774e34a12a959844efd6363b88896e9c24ed33cf4e1be876ef123a3c4467e7d451511434039539699f2baa2f44955fa3d1c1c6d81c",isContractSignature:!1},W={signer:"0xfD90FAd33ee8b58f32c00aceEad1358e4AFC23f9",signature:"0x000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000e06c92f0ac5c4ef9e74721c23d80a9fc12f259ca84afb160f0890483539b9e6080d824c0e6c795157ad5d1ee5eff1ceeb3031009a595f9360919b83dd411c5a78d0000000000000000000000000000000000000000000000000000000000000025a24f744b28d73f066bf3203d145765a7bc735e6328168c8b03e476da3ad0d8fe0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001e226f726967696e223a2268747470733a2f2f736166652e676c6f62616c220000",isContractSignature:!0};function k(r){return"0x"+r.map(function(r){return a=null!=(i=(n=r).operation)?i:e.Operation.Call,o=t.getBytes(n.data),t.solidityPacked(["uint8","address","uint256","uint256","bytes"],[a,n.to,n.value,o.length,o]).slice(2);var n,i,a,o}).join("")}function H(e,t){try{var r=e()}catch(e){return t(e)}return r&&r.then?r.then(void 0,t):r}var j=/*#__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(H(function(){return Promise.resolve(C(e.rpcUrl,"eth_chainId",[])).then(function(e){if("string"==typeof e)return e;throw new P("BAD_DATA","bundler eth_chainId rpc call failed")})},function(e){var t=T(e);throw new P("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(H(function(){return Promise.resolve(C(e.rpcUrl,"eth_supportedEntryPoints",[]))},function(e){var t=T(e);throw new P("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(H(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(C(n.rpcUrl,"eth_estimateUserOperationGas",[e,t])).then(function(e){a=e}):Promise.resolve(C(n.rpcUrl,"eth_estimateUserOperationGas",[e,t,r])).then(function(e){a=e});return o&&o.then?o.then(i):i()},function(e){var t=T(e);throw new P("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(H(function(){return Promise.resolve(C(r.rpcUrl,"eth_sendUserOperation",[e,t]))},function(e){var t=T(e);throw new P("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(H(function(){return Promise.resolve(C(t.rpcUrl,"eth_getUserOperationReceipt",[e])).then(function(e){var t=e;if(null!=t){var r=s({},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 s({},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=T(t);throw new P("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(H(function(){return Promise.resolve(C(t.rpcUrl,"eth_getUserOperationByHash",[e])).then(function(e){return null!=e?s({},e,{blockNumber:null==e.blockNumber?null:BigInt(e.blockNumber)}):null})},function(t){var r=T(t);throw new P("BUNDLER_ERROR","bundler eth_getUserOperationByHash rpc call failed",{cause:r,context:{useroperationhash:e}})}))}catch(e){return Promise.reject(e)}},e}();function z(e,t,r){if(!e.s){if(r instanceof Y){if(!r.s)return void(r.o=z.bind(null,e,t));1&t&&(t=r.s),r=r.v}if(r&&r.then)return void r.then(z.bind(null,e,t),z.bind(null,e,2));e.s=t,e.v=r;const n=e.o;n&&n(e)}}var Y=/*#__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{z(n,1,a(this.v))}catch(e){z(n,2,e)}return n}return this}return this.o=function(e){try{var i=e.v;1&e.s?z(n,1,t?t(i):i):r?z(n,1,r(i)):z(n,2,i)}catch(e){z(n,2,e)}},n},e}();function J(e){return e instanceof Y&&1&e.s}var X=/*#__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 P("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(J(i)&&(i=i.v),!i)return a;if(i.then){n=0;break}var a=r();if(a&&a.then){if(!J(a)){n=1;break}a=a.s}if(t){var o=t();if(o&&o.then&&!J(o)){n=2;break}}}var s=new Y,u=z.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&&!J(o))return void o.then(d).then(void 0,u);if(!(i=e())||J(i)&&!i.v)return void z(s,1,a);if(i.then)return void i.then(l).then(void 0,u);J(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):z(s,1,a)}function d(){(i=e())?i.then?i.then(l).then(void 0,u):l(i):z(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}(),q=/*#__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 I(this.generatorFunctionSelector,this.generatorFunctionInputAbi,e)},e}(),K=/*#__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 u(t,e),t}(q);function Z(e,t){try{var r=e()}catch(e){return t(e)}return r&&r.then?r.then(void 0,t):r}K.DEFAULT_FACTORY_ADDRESS="0x4e1DCf7AD4e460CfD30791CCC4F9c8a4f820ec67";var $=/*#__PURE__*/function(r){function n(e,t,n){var i;return(i=r.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=t,i.factoryAddress=null,i.factoryData=null,i.isInitWebAuthn=!1,i}u(n,r),n.createProxyAddress=function(e,r){var i,a,o;void 0===r&&(r={});var s=null!=(i=r.c2Nonce)?i:0n;if(s<0n)throw RangeError("c2Nonce can't be negative");var u=null!=(a=r.safeFactoryAddress)?a:K.DEFAULT_FACTORY_ADDRESS,c=null!=(o=r.singletonInitHash)?o:n.DEFAULT_SAFE_SINGLETON.singletonInitHash,l=t.keccak256(t.solidityPacked(["bytes32","uint256"],[t.keccak256(e),s])),d=t.solidityPackedKeccak256(["bytes1","address","bytes32","bytes32"],["0xff",u,l,c]).slice(-40);return t.getAddress("0x"+d)},n.createAccountCallDataSingleTransaction=function(t,r){var i,a,o,s;void 0===r&&(r={});var u=null!=(i=t.value)?i:0,c=null!=(a=t.data)?a:"0x",l=null!=(o=t.operation)?o:e.Operation.Call,d=null!=(s=r.safeModuleExecutorFunctionSelector)?s:n.DEFAULT_EXECUTOR_FUCNTION_SELECTOR;return n.createAccountCallData(t.to,u,c,l,{safeModuleExecutorFunctionSelector:d})},n.createAccountCallDataBatchTransactions=function(t,r){var i,a;if(void 0===r&&(r={}),t.length<1)throw RangeError("There should be at least one metaTransaction");var o=null!=(i=r.safeModuleExecutorFunctionSelector)?i:n.DEFAULT_EXECUTOR_FUCNTION_SELECTOR,s=null!=(a=r.multisendContractAddress)?a:n.DEFAULT_MULTISEND_CONTRACT_ADDRESS,u=I("0x8d80ff0a",["bytes"],[k(t)]);return n.createAccountCallData(s,0n,u,e.Operation.Delegate,{safeModuleExecutorFunctionSelector:o})},n.createAccountCallData=function(e,t,r,i,a){var o;return void 0===a&&(a={}),I(null!=(o=a.safeModuleExecutorFunctionSelector)?o:n.DEFAULT_EXECUTOR_FUCNTION_SELECTOR,n.executorFunctionInputAbi,[e,t,r,i])},n.decodeAccountCallData=function(r){var n=null;if(r.startsWith(e.SafeModuleExecutorFunctionSelector.executeUserOpWithErrorString)?n=e.SafeModuleExecutorFunctionSelector.executeUserOpWithErrorString:r.startsWith(e.SafeModuleExecutorFunctionSelector.executeUserOp)&&(n=e.SafeModuleExecutorFunctionSelector.executeUserOp),null!=n){var i,a=t.AbiCoder.defaultAbiCoder(),o="0x"+r.slice(10),s=a.decode(["address","uint256","bytes","uint8"],o);return i="string"!=typeof s[2]?(new TextDecoder).decode(s[2]):s[2],[{to:s[0],value:BigInt(s[1]),data:i,operation:Number(s[3])},n]}throw new P("BAD_DATA","Invalid calldata, should start with "+e.SafeModuleExecutorFunctionSelector.executeUserOpWithErrorString+" or "+e.SafeModuleExecutorFunctionSelector.executeUserOp,{context:{callData:r}})},n.prependTokenPaymasterApproveToCallDataStatic=function(r,i,a,o,s){var u;void 0===s&&(s={});var c=null!=(u=s.multisendContractAddress)?u:n.DEFAULT_MULTISEND_CONTRACT_ADDRESS,l=n.decodeAccountCallData(r),d=l[0],f=l[1],h=k([{to:i,value:0n,data:I(N("approve(address,uint256)"),["address","uint256"],[a,o]),operation:e.Operation.Call}]),A="",v="0x8d80ff0a";if(d.data.startsWith(v)){var p=function(e){return t.AbiCoder.defaultAbiCoder().decode(["bytes"],"0x"+e.slice(10))[0]}(d.data);A=p+h.slice(2)}else A=k([d])+h.slice(2);var m=I(v,["bytes"],[A]);return n.createAccountCallData(c,0n,m,e.Operation.Delegate,{safeModuleExecutorFunctionSelector:f})},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:y,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:S,messageValue:d}},n.getUserOperationEip712Hash_V6=function(e,r,i){void 0===i&&(i={});var a=n.getUserOperationEip712Data_V6(e,r,i);return t.TypedDataEncoder.hash(a.domain,a.types,a.messageValue)},n.getUserOperationEip712Data_V7=function(e,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:E,d=null!=(s=n.safe4337ModuleAddress)?s:"0x75cf11467937ce3F2f357CE24ffc3DBF8fD5c226",f=t.AbiCoder.defaultAbiCoder(),h="0x";null!=e.factory&&(h=e.factory,null!=e.factoryData&&(h+=e.factoryData.slice(2)));var A="0x";null!=e.paymaster&&(A=e.paymaster,null!=e.paymasterVerificationGasLimit&&(A+=f.encode(["uint128"],[e.paymasterVerificationGasLimit]).slice(34)),null!=e.paymasterPostOpGasLimit&&(A+=f.encode(["uint128"],[e.paymasterPostOpGasLimit]).slice(34)),null!=e.paymasterData&&(A+=e.paymasterData.slice(2)));var v={safe:e.sender,nonce:e.nonce,initCode:h,callData:e.callData,verificationGasLimit:e.verificationGasLimit,callGasLimit:e.callGasLimit,preVerificationGas:e.preVerificationGas,maxPriorityFeePerGas:e.maxPriorityFeePerGas,maxFeePerGas:e.maxFeePerGas,paymasterAndData:A,validAfter:u,validUntil:c,entryPoint:l};return{domain:{chainId:Number(r),verifyingContract:d},types:D,messageValue:v}},n.getUserOperationEip712Hash_V7=function(e,r,i){void 0===i&&(i={});var a=n.getUserOperationEip712Data_V7(e,r,i);return t.TypedDataEncoder.hash(a.domain,a.types,a.messageValue)},n.formatEip712SingleSignatureToUseroperationSignature=function(e,r){var n,i;void 0===r&&(r={});var a=null!=(n=r.validAfter)?n:0n,o=null!=(i=r.validUntil)?i:0n;if(a<0n)throw RangeError("validAfter can't be negative");if(o<0n)throw RangeError("validUntil can't be negative");return t.solidityPacked(["uint48","uint48","bytes"],[a,o,e])};var i=n.prototype;return i.sendUserOperation=function(e,t){try{var r=this,n=new j(t);return Promise.resolve(n.sendUserOperation(e,r.entrypointAddress)).then(function(e){return new X(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 K(t.safeAccountFactoryAddress):new K;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(t,r,i,a,o,s,u,c){if(void 0===o&&(o=n.DEFAULT_MULTISEND_CONTRACT_ADDRESS),void 0===s&&(s=n.DEFAULT_WEB_AUTHN_SHARED_SIGNER),void 0===u&&(u=n.DEFAULT_WEB_AUTHN_PRECOMPILE),void 0===c&&(c=n.DEFAULT_WEB_AUTHN_FCLP256_VERIFIER),t.length<1)throw RangeError("There should be at least one owner");if(r<1)throw RangeError("threshold should be at least one");if(r>t.length)throw RangeError("threshold can't be larger than number of owners");for(var l,d,f=I("0x8d0dc49f",["address[]"],[[i]]),A=!1,v=[],p=h(t);!(d=p()).done;){var E=d.value;"string"!=typeof E?A=!0:v.push(E)}if(A){var y=[];y.push({to:a,value:0n,data:f,operation:e.Operation.Delegate});for(var g,S=[],D=0,b=h(t);!(g=b()).done;){var _=g.value;if("string"!=typeof _){if(D>0)throw RangeError("Only one WebAuthn owner can be set during initialization");var P=I("0x0dd9692f",["uint256","uint256","uint176"],[_.x,_.y,"0x"+u.slice(-4)+c.slice(2)]);y.push({to:s,value:0n,data:P,operation:e.Operation.Delegate}),S.push(s),D++}else S.push(_)}l=[S,r,o,I("0x8d80ff0a",["bytes"],[k(y)]),i,m,0,m]}else l=[v,r,a,f,i,m,0,m];return I(n.initializerFunctionSelector,n.initializerFunctionInputAbi,l)},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 K(t.safeAccountFactoryAddress):new K;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([B],{validAfter:i,validUntil:a}));var u=new j(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,u,c,l=function(){var r,o,u,c,l,p,y,S;function D(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 w.preVerificationGas=null!=(t=a.preVerificationGas)?t:C*BigInt(Math.floor(((null!=(r=a.preVerificationGasPercentageMultiplier)?r:0)+100)/100)),w.verificationGasLimit=null!=(n=a.verificationGasLimit)?n:M*BigInt(Math.floor(((null!=(i=a.verificationGasLimitPercentageMultiplier)?i:0)+100)/100)),w.callGasLimit=null!=(o=a.callGasLimit)?o:N*BigInt(Math.floor(((null!=(s=a.callGasLimitPercentageMultiplier)?s:0)+100)/100)),[w,U,L]}m=null!=(r=a.maxFeePerGas)?r:m*BigInt(Math.floor(((null!=(o=a.maxFeePerGasPercentageMultiplier)?o:0)+100)/100)),E=null!=(u=a.maxPriorityFeePerGas)?u:E*BigInt(Math.floor(((null!=(c=a.maxPriorityFeePerGasPercentageMultiplier)?c:0)+100)/100));var b,_=null!=(l=a.eip7212WebAuthnPrecompileVerifier)?l:n.DEFAULT_WEB_AUTHN_PRECOMPILE,T=null!=(p=a.eip7212WebAuthnContractVerifier)?p:n.DEFAULT_WEB_AUTHN_FCLP256_VERIFIER,F=null!=(y=a.webAuthnSignerFactory)?y:n.DEFAULT_WEB_AUTHN_SIGNER_FACTORY,R=null!=(S=a.webAuthnSignerSingleton)?S:n.DEFAULT_WEB_AUTHN_SIGNER_SINGLETON,U=d.factoryAddress,L=d.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,L=null;else if(d.isInitWebAuthn){if(null==d.x||null==d.y)throw RangeError("Invalide account initialization with Webauthnn signer.Webauthnn signer publickey can be null!!");var O=n.createDeployWebAuthnVerifierMetaTransaction(d.x,d.y,{eip7212WebAuthnPrecompileVerifier:_,eip7212WebAuthnContractVerifier:T,webAuthnSignerFactory:F}),x=n.createWebAuthnSignerVerifierAddress(d.x,d.y,{eip7212WebAuthnPrecompileVerifier:_,eip7212WebAuthnContractVerifier:T,webAuthnSignerFactory:F,webAuthnSignerSingleton:R}),G=I("0xe318b52b",["address","address","address"],["0x0000000000000000000000000000000000000001",f,x]);e=[O,{to:d.accountAddress,value:0n,data:G}].concat(e)}b=null==a.callData?1==e.length?n.createAccountCallDataSingleTransaction(e[0],{safeModuleExecutorFunctionSelector:h}):n.createAccountCallDataBatchTransactions(e,{safeModuleExecutorFunctionSelector:h,multisendContractAddress:A}):a.callData;var w=s({},g,{sender:d.accountAddress,nonce:v,callData:b,maxFeePerGas:m,maxPriorityFeePerGas:E}),C=g.preVerificationGas,M=g.verificationGasLimit,N=g.callGasLimit,V=function(){if(null==a.preVerificationGas||null==a.verificationGasLimit||null==a.callGasLimit)return function(){if(null!=i){w.callGasLimit=0n,w.verificationGasLimit=0n,w.preVerificationGas=0n;var e,r=w.maxFeePerGas,o=w.maxPriorityFeePerGas;if(w.maxFeePerGas=0n,w.maxPriorityFeePerGas=0n,t){var u="0x";null!=U&&(u=U,null!=L&&(u+=L.slice(2))),e=s({},w,{initCode:u,paymasterAndData:"0x"})}else e=s({},w,{factory:U,factoryData:L,paymaster:null,paymasterVerificationGasLimit:null,paymasterPostOpGasLimit:null,paymasterData:null});var c,l=0xffffffffffffn,h=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");c=a.dummySignerSignaturePairs}else c=null==a.expectedSigners?[B]:n.createDummySignerSignaturePairForExpectedSigners(a.expectedSigners,{isInit:null!=U&&"0x"!=U,webAuthnSharedSigner:f,eip7212WebAuthnPrecompileVerifier:_,eip7212WebAuthnContractVerifier:T,webAuthnSignerFactory:F,webAuthnSignerSingleton:R,validAfter:l,validUntil:h});return w.signature=n.formatSignaturesToUseroperationSignature(c,{validAfter:l,validUntil:h,webAuthnSharedSigner:f}),Promise.resolve(d.estimateUserOperationGas(e,i,{stateOverrideSet:a.state_override_set})).then(function(e){C=e[0],M=e[1],N=e[2],M+=55000n*BigInt(c.length),w.maxFeePerGas=r,w.maxPriorityFeePerGas=o})}throw new P("BAD_DATA","bundlerRpc cant't be null if preVerificationGas,verificationGasLimit and callGasLimit are not overriden")}()}();return V&&V.then?V.then(D):D()},d=this;if(e.length<1)throw RangeError("There should be at least one transaction");var f=null!=(o=a.webAuthnSharedSigner)?o:n.DEFAULT_WEB_AUTHN_SHARED_SIGNER,h=null!=(u=a.safeModuleExecutorFunctionSelector)?u:n.DEFAULT_EXECUTOR_FUCNTION_SELECTOR,A=null!=(c=a.multisendContractAddress)?c:n.DEFAULT_MULTISEND_CONTRACT_ADDRESS,v=null,p=null;if(null==a.nonce){if(null==r)throw new P("BAD_DATA","providerRpc cant't be null if nonce is not overriden");p=w(r,d.entrypointAddress,d.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=g.maxFeePerGas,E=g.maxPriorityFeePerGas,y=null;null!=a.maxFeePerGas&&null!=a.maxPriorityFeePerGas||(y=n.handlefetchGasPrice(r,a.polygonGasStation,a.gasLevel));var S=function(){if(null!=y&&null!=p)return Promise.resolve(Promise.all([p,y]).then(function(e){v=e[0];var t=e[1];m=t[0],E=t[1]})).then(function(){});var e=function(){if(null!=y)return Promise.resolve(y).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(S&&S.then?S.then(l):l())}catch(e){return Promise.reject(e)}},n.handlefetchGasPrice=function(t,r,n){try{var i,a,o=function(e){return[i,a]};void 0===n&&(n=e.GasOption.Medium);var s=null!=r?Promise.resolve(function(t,r){try{void 0===r&&(r=e.GasOption.Medium);var n="https://gasstation.polygon.technology/"+t;return Promise.resolve(F(function(){return Promise.resolve(fetch(n)).then(function(t){return Promise.resolve(t.json()).then(function(t){var n;n=r==e.GasOption.Slow?t.safeLow:r==e.GasOption.Medium?t.standard:t.fast;var i=BigInt(Math.ceil(1e9*Number(n.maxFee))),a=BigInt(Math.ceil(1e9*Number(n.maxPriorityFee)));return 0n==i&&(i=1n),0n==a&&(a=1n),[i,a]})})},function(e){var t=T(e);throw new P("BAD_DATA","fetching gas prices from "+n+" failed.",{cause:t})}))}catch(e){return Promise.reject(e)}}(r,n)).then(function(e){i=e[0],a=e[1]}):function(){if(null!=t)return Promise.resolve(G(t,n)).then(function(e){i=e[0],a=e[1]});throw new P("BAD_DATA","providerRpc cant't be null if maxFeePerGas and maxPriorityFeePerGas are not overriden")}();return Promise.resolve(s&&s.then?s.then(o):o())}catch(e){return Promise.reject(e)}},i.signUserOperation=function(e,r,i,a){var o,s;void 0===a&&(a={});var u=null!=(o=a.validAfter)?o:0n,c=null!=(s=a.validUntil)?s:0n;if(r.length<1)throw RangeError("There should be at least one privateKey");if(i<0n)throw RangeError("chainId can't be negative");if(u<0n)throw RangeError("validAfter can't be negative");if(c<0n)throw RangeError("validUntil can't be negative");for(var l,d=n.getUserOperationEip712Hash(e,i,{validAfter:u,validUntil:c,entrypointAddress:this.entrypointAddress,safe4337ModuleAddress:this.safe4337ModuleAddress}),f=[],A=[],v=h(r);!(l=v()).done;){var p=new t.Wallet(l.value),m=p.signingKey.sign(d).serialized;f.push(p.address),A.push(m)}return n.formatEip712SignaturesToUseroperationSignature(f,A,{validAfter:u,validUntil:c})},n.createWebAuthnSignerVerifierAddress=function(e,r,i){var a,o,s,u;void 0===i&&(i={});var c=null!=(a=i.eip7212WebAuthnPrecompileVerifier)?a:n.DEFAULT_WEB_AUTHN_PRECOMPILE,l=null!=(o=i.eip7212WebAuthnContractVerifier)?o:n.DEFAULT_WEB_AUTHN_FCLP256_VERIFIER,d=null!=(s=i.webAuthnSignerFactory)?s:n.DEFAULT_WEB_AUTHN_SIGNER_FACTORY,f=null!=(u=i.webAuthnSignerSingleton)?u:n.DEFAULT_WEB_AUTHN_SIGNER_SINGLETON;if(42!=c.length||c.slice(0,38)!=m.slice(0,38))throw RangeError("Invalide precompile address. It should have the format 0x000000000000000000000000000000000000____");var h=t.keccak256(t.solidityPacked(["bytes","uint256","uint256","uint256","uint256"],[n.DEFAULT_WEB_AUTHN_SIGNER_PROXY_CREATION_CODE,f,e,r,"0x"+c.slice(-4)+l.slice(2)]));return"0x"+t.solidityPackedKeccak256(["bytes1","address","bytes32","bytes32"],["0xff",d,"0x0000000000000000000000000000000000000000000000000000000000000000",h]).slice(-40)},n.formatSignaturesToUseroperationSignature=function(e,r){var n,i;void 0===r&&(r={});var a=null!=(n=r.validAfter)?n:0n,o=null!=(i=r.validUntil)?i:0n,s=this.buildSignaturesFromSingerSignaturePairs(e,r);return t.solidityPacked(["uint48","uint48","bytes"],[a,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,r){void 0===r&&(r={}),n.sortSignatures(e,r);var i=65*e.length,a=e.reduce(function(e,a){var o=e.segments,s=e.offset,u=a.signer,c=a.signature,l=a.isContractSignature;if(l=l||"string"!=typeof u){if("string"!=typeof u){if(null==r.isInit)throw RangeError("Must define isInit parameter when using WebAuthn");if(r.isInit){var d;u=null!=(d=r.webAuthnSharedSigner)?d:n.DEFAULT_WEB_AUTHN_SHARED_SIGNER}else{var f,h,A,v,p=null!=(f=r.eip7212WebAuthnPrecompileVerifier)?f:n.DEFAULT_WEB_AUTHN_PRECOMPILE,m=null!=(h=r.eip7212WebAuthnContractVerifier)?h:n.DEFAULT_WEB_AUTHN_FCLP256_VERIFIER,E=null!=(A=r.webAuthnSignerFactory)?A:n.DEFAULT_WEB_AUTHN_SIGNER_FACTORY,y=null!=(v=r.webAuthnSignerSingleton)?v:n.DEFAULT_WEB_AUTHN_SIGNER_SINGLETON;u=n.createWebAuthnSignerVerifierAddress(u.x,u.y,{eip7212WebAuthnPrecompileVerifier:p,eip7212WebAuthnContractVerifier:m,webAuthnSignerFactory:E,webAuthnSignerSingleton:y})}}return{segments:[].concat(o,[t.ethers.solidityPacked(["uint256","uint256","uint8"],[u,i+s,0])]),offset:s+32+t.ethers.dataLength(c)}}return{segments:[].concat(o,[t.ethers.solidityPacked(["bytes"],[c])]),offset:s}},{segments:[],offset:0});return t.ethers.concat([].concat(a.segments,e.map(function(e){var r=e.signature,n=e.isContractSignature;return(n=n||"string"!=typeof e.signer)?t.ethers.solidityPacked(["uint256","bytes"],[t.ethers.dataLength(r),r]):"0x"})))},n.createWebAuthnSignature=function(e){return t.ethers.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(U(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(U(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=I("0x0d582f13",["address","uint256"],[e,t]);return{to:this.accountAddress,data:r,value:0n}},i.createStandardSwapOwnerMetaTransaction=function(e,t,r){var n=I("0xe318b52b",["address","address","address"],[r,t,e]);return{to:this.accountAddress,data:n,value:0n}},i.createStandardRemoveOwnerMetaTransaction=function(e,t,r){var n=I("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:I("0x0d2f0489",["uint256","uint256","uint176"],[e,t,"0x"+s.slice(-4)+u.slice(2)])}},i.getOwners=function(e){try{var r=I(N("getOwners()"),[],[]);return Promise.resolve(L(e,{to:this.accountAddress,data:r},"latest")).then(function(e){return t.AbiCoder.defaultAbiCoder().decode(["address[]"],e)[0]})}catch(e){return Promise.reject(e)}},i.getModules=function(e,r){void 0===r&&(r={});try{var n=this;return Promise.resolve(Z(function(){var i=r.start;null==i&&(i="0x0000000000000000000000000000000000000001");var a=r.pageSize;null==a&&(a=10n);var o=I("0xcc2f8452",["address","uint256"],[i,a]);return Promise.resolve(L(e,{to:n.accountAddress,data:o},"latest")).then(function(e){if("0x"==e)throw new P("BAD_DATA","getModules retuned an empty result, the target account is probably not deployed yet.");var r=t.AbiCoder.defaultAbiCoder().decode(["address[]","address"],e);return[r[0],r[1]]})},function(e){var t=T(e);throw new P("BAD_DATA","getModules failed",{cause:t})}))}catch(e){return Promise.reject(e)}},i.isModuleEnabled=function(e,r){try{var n=I(N("isModuleEnabled(address)"),["address"],[r]);return Promise.resolve(L(e,{to:this.accountAddress,data:n},"latest")).then(function(e){return t.AbiCoder.defaultAbiCoder().decode(["bool"],e)[0]})}catch(e){return Promise.reject(e)}},n.createDummySignerSignaturePairForExpectedSigners=function(e,t){void 0===t&&(t={});for(var r,i=[],a=h([].concat(e));!(r=a()).done;){var o=r.value,s=void 0;if("string"==typeof o)s=B;else{if(null==t.isInit)throw RangeError("Must define isInit parameter when using WebAuthn");if(s=W,t.isInit){var u,c=null!=(u=t.webAuthnSharedSigner)?u:n.DEFAULT_WEB_AUTHN_SHARED_SIGNER;s.signer=c}else{var l,d,f,A,v=null!=(l=t.eip7212WebAuthnPrecompileVerifier)?l:n.DEFAULT_WEB_AUTHN_PRECOMPILE,p=null!=(d=t.eip7212WebAuthnContractVerifier)?d:n.DEFAULT_WEB_AUTHN_FCLP256_VERIFIER,m=null!=(f=t.webAuthnSignerFactory)?f:n.DEFAULT_WEB_AUTHN_SIGNER_FACTORY,E=null!=(A=t.webAuthnSignerSingleton)?A:n.DEFAULT_WEB_AUTHN_SIGNER_SINGLETON;s.signer=n.createWebAuthnSignerVerifierAddress(o.x,o.y,{eip7212WebAuthnPrecompileVerifier:v,eip7212WebAuthnContractVerifier:p,webAuthnSignerFactory:m,webAuthnSignerSingleton:E})}}i.push(s)}return i},n.verifyWebAuthnSignatureForMessageHash=function(e,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)!=m.slice(0,38))throw RangeError("Invalide precompile address. It should have the format 0x000000000000000000000000000000000000____");var A=I("0x1626ba7e",["bytes32","bytes"],[i,a]),v="0x1111111111111111111111111111111111111111",p={to:v,data:A},E=n.createSafeWebAuthnSignerProxyDeployedByteCode(r,d,f,h);return Promise.resolve(L(e,p,"latest",(l={},l[v]={code:E},l))).then(function(e){return t.AbiCoder.defaultAbiCoder().decode(["bool"],e)[0]})}catch(e){return Promise.reject(e)}},n.createSafeWebAuthnSignerProxyDeployedByteCode=function(e,r,n,i){var a=t.AbiCoder.defaultAbiCoder(),o=a.encode(["uint256"],[e.x]),s=a.encode(["uint256"],[e.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.crea