abstractionkit
Version:
Account Abstraction 4337 SDK by Candidelabs
1 lines • 85.8 kB
JavaScript
var e=require("ethers");function t(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 r=/*#__PURE__*/t(require("isomorphic-unfetch")),n=function(e){this.accountAddress=void 0,this.accountAddress=e};function i(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(i=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 o(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,u(e,t)}function s(e){return s=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},s(e)}function u(e,t){return u=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},u(e,t)}function c(e){var t="function"==typeof Map?new Map:void 0;return c=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(i())return Reflect.construct.apply(null,arguments);var n=[null];n.push.apply(n,t);var a=new(e.bind.apply(e,n));return r&&u(a,r.prototype),a}(e,arguments,s(this).constructor)}return r.prototype=Object.create(e.prototype,{constructor:{value:r,enumerable:!1,writable:!0,configurable:!0}}),u(r,e)},c(e)}function l(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 d(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 l(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)?l(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.")}n.proxyByteCode=void 0,n.initializerFunctionSelector=void 0,n.initializerFunctionInputAbi=void 0,n.executorFunctionSelector=void 0,n.executorFunctionInputAbi=void 0;var f,h,A,p="0x0000000000000000000000000000000000000000",v="0x0000000071727De22E5E9d8BAf0edAc6f37da032",m="0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789",E={sender:p,nonce:0n,callData:"0x",callGasLimit:0n,verificationGasLimit:0n,preVerificationGas:0n,maxFeePerGas:0n,maxPriorityFeePerGas:0n,signature:"0x"},y={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"}]},g={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"}]},S="0x0000000000000000000000000000000000000100";exports.Operation=void 0,(f=exports.Operation||(exports.Operation={}))[f.Call=0]="Call",f[f.Delegate=1]="Delegate",exports.GasOption=void 0,(h=exports.GasOption||(exports.GasOption={}))[h.Slow=1]="Slow",h[h.Medium=1.2]="Medium",h[h.Fast=1.5]="Fast",exports.PolygonChain=void 0,(A=exports.PolygonChain||(exports.PolygonChain={})).Mainnet="v2",A.ZkMainnet="zkevm",A.Amoy="amoy",A.Cardona="cardona";var D={"-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"},b=/*#__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 o(t,e),t.prototype.stringify=function(){return JSON.stringify(this,["name","code","message","cause","errno","context"])},t}(/*#__PURE__*/c(Error));function _(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 P(e,t){try{var r=e()}catch(e){return t(e)}return r&&r.then?r.then(void 0,t):r}var T,F=function(e,t,r){try{var n=[t,r];return Promise.resolve(P(function(){return Promise.resolve(G(e,"eth_getCode",n)).then(function(e){if("string"!=typeof e)throw new b("BAD_DATA","eth_getCode returned ill formed data",{context:JSON.stringify(e)});try{return e}catch(e){var t=_(e);throw new b("BAD_DATA","eth_getCode returned ill formed data",{cause:t})}})},function(e){var t=_(e);throw new b("BAD_DATA","eth_getCode failed",{cause:t})}))}catch(e){return Promise.reject(e)}},x=function(e,t,r,n){try{var i;return i=null==n?[t,r]:[t,r,n],Promise.resolve(P(function(){return Promise.resolve(G(e,"eth_call",i)).then(function(e){if("string"!=typeof e)throw new b("BAD_DATA","eth_call returned ill formed data",{context:JSON.stringify(e)});try{return e}catch(e){var t=_(e);throw new b("BAD_DATA","eth_call returned ill formed data",{cause:t})}})},function(e){var t=_(e);throw new b("BAD_DATA","eth_call failed",{cause:t})}))}catch(e){return Promise.reject(e)}},R=function(t,r,n){try{var i={from:"0x0000000000000000000000000000000000000000",to:n,data:C("0x5287ce12",["address"],[r])};return Promise.resolve(P(function(){return Promise.resolve(x(t,i,"latest")).then(function(t){var r=e.AbiCoder.defaultAbiCoder().decode(["uint256","bool","uint112","uint32","uint48"],t);if(5!==r.length)throw new b("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=_(e);throw new b("BAD_DATA","getDepositInfo returned ill formed data",{cause:n})}})},function(e){var t=_(e);throw new b("BAD_DATA","getDepositInfo failed",{cause:t})}))}catch(e){return Promise.reject(e)}},U=function(e,t,r){return Promise.resolve(R(e,t,r)).then(function(e){return e.deposit})},L=function(t,r){try{return void 0===r&&(r=exports.GasOption.Medium),Promise.resolve(P(function(){var n=new e.JsonRpcProvider(t);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=_(e);throw new b("BAD_DATA","fetching gas prices from node failed.",{cause:t})}))}catch(e){return Promise.reject(e)}},O=function(e,t,r,n){void 0===n&&(n=0);try{var i=[{from:"0x0000000000000000000000000000000000000000",to:t,data:C(M("getNonce(address,uint192)"),["address","uint192"],[r,n])},"latest"];return Promise.resolve(P(function(){return Promise.resolve(G(e,"eth_call",i)).then(function(e){if("string"!=typeof e)throw new b("BAD_DATA","getNonce returned ill formed data",{context:JSON.stringify(e)});try{return BigInt(e)}catch(e){var t=_(e);throw new b("BAD_DATA","getNonce returned ill formed data",{cause:t})}})},function(e){var t=_(e);throw new b("BAD_DATA","getNonce failed",{cause:t})}))}catch(e){return Promise.reject(e)}},G=function(e,t,n){try{var i=r.default||r,a={method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({method:t,params:n,id:(new Date).getTime(),jsonrpc:"2.0"},function(e,t){return"bigint"==typeof t?"0x"+t.toString(16):t}),redirect:"follow"};return Promise.resolve(i(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 b(n in D?D[n]:"UNKNOWN_ERROR",r.message,{errno:r.code,context:{url:e,requestOptions:JSON.stringify(a)}})})})}catch(e){return Promise.reject(e)}};function w(t,r,n){var i;i=e.keccak256("initCode"in t?function(t){var r=[t.sender,t.nonce,e.keccak256(t.initCode),e.keccak256(t.callData),t.callGasLimit,t.verificationGasLimit,t.preVerificationGas,t.maxFeePerGas,t.maxPriorityFeePerGas,e.keccak256(t.paymasterAndData)];return e.AbiCoder.defaultAbiCoder().encode(["address","uint256","bytes32","bytes32","uint256","uint256","uint256","uint256","uint256","bytes32"],r)}(t):function(t){var r=e.AbiCoder.defaultAbiCoder(),n="0x";null!=t.factory&&(n=t.factory,null!=t.factoryData&&(n+=t.factoryData.slice(2)));var i="0x"+r.encode(["uint128"],[t.verificationGasLimit]).slice(34)+r.encode(["uint128"],[t.callGasLimit]).slice(34),a="0x"+r.encode(["uint128"],[t.maxPriorityFeePerGas]).slice(34)+r.encode(["uint128"],[t.maxFeePerGas]).slice(34),o="0x";null!=t.paymaster&&(o=t.paymaster,null!=t.paymasterVerificationGasLimit&&(o+=r.encode(["uint128"],[t.paymasterVerificationGasLimit]).slice(34)),null!=t.paymasterPostOpGasLimit&&(o+=r.encode(["uint128"],[t.paymasterPostOpGasLimit]).slice(34)),null!=t.paymasterData&&(o+=t.paymasterData.slice(2)));var s=[t.sender,t.nonce,e.keccak256(n),e.keccak256(t.callData),i,t.preVerificationGas,a,e.keccak256(o)];return r.encode(["address","uint256","bytes32","bytes32","bytes32","uint256","bytes32","bytes32"],s)}(t));var a=e.AbiCoder.defaultAbiCoder().encode(["bytes32","address","uint256"],[i,r,n]);return e.keccak256(a)}function C(t,r,n){return t+e.AbiCoder.defaultAbiCoder().encode(r,n).slice(2)}function M(t){return e.id(t).slice(0,10)}function I(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}exports.SafeModuleExecutorFunctionSelector=void 0,(T=exports.SafeModuleExecutorFunctionSelector||(exports.SafeModuleExecutorFunctionSelector={})).executeUserOpWithErrorString="0x541d63c8",T.executeUserOp="0x7bb37428";var N={signer:"0xfD90FAd33ee8b58f32c00aceEad1358e4AFC23f9",signature:"0x47003599ffa7e9198f321afa774e34a12a959844efd6363b88896e9c24ed33cf4e1be876ef123a3c4467e7d451511434039539699f2baa2f44955fa3d1c1c6d81c",isContractSignature:!1},V={signer:"0xfD90FAd33ee8b58f32c00aceEad1358e4AFC23f9",signature:"0x000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000e06c92f0ac5c4ef9e74721c23d80a9fc12f259ca84afb160f0890483539b9e6080d824c0e6c795157ad5d1ee5eff1ceeb3031009a595f9360919b83dd411c5a78d0000000000000000000000000000000000000000000000000000000000000025a24f744b28d73f066bf3203d145765a7bc735e6328168c8b03e476da3ad0d8fe0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001e226f726967696e223a2268747470733a2f2f736166652e676c6f62616c220000",isContractSignature:!0};function B(t){return"0x"+t.map(function(t){return i=null!=(n=(r=t).operation)?n:exports.Operation.Call,a=e.getBytes(r.data),e.solidityPacked(["uint8","address","uint256","uint256","bytes"],[i,r.to,r.value,a.length,a]).slice(2);var r,n,i,a}).join("")}function W(e,t){try{var r=e()}catch(e){return t(e)}return r&&r.then?r.then(void 0,t):r}var k=/*#__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(W(function(){return Promise.resolve(G(e.rpcUrl,"eth_chainId",[])).then(function(e){if("string"==typeof e)return e;throw new b("BAD_DATA","bundler eth_chainId rpc call failed")})},function(e){var t=_(e);throw new b("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(W(function(){return Promise.resolve(G(e.rpcUrl,"eth_supportedEntryPoints",[]))},function(e){var t=_(e);throw new b("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(W(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(G(n.rpcUrl,"eth_estimateUserOperationGas",[e,t])).then(function(e){a=e}):Promise.resolve(G(n.rpcUrl,"eth_estimateUserOperationGas",[e,t,r])).then(function(e){a=e});return o&&o.then?o.then(i):i()},function(e){var t=_(e);throw new b("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(W(function(){return Promise.resolve(G(r.rpcUrl,"eth_sendUserOperation",[e,t]))},function(e){var t=_(e);throw new b("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(W(function(){return Promise.resolve(G(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=_(t);throw new b("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(W(function(){return Promise.resolve(G(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=_(t);throw new b("BUNDLER_ERROR","bundler eth_getUserOperationByHash rpc call failed",{cause:r,context:{useroperationhash:e}})}))}catch(e){return Promise.reject(e)}},e}();function H(e,t,r){if(!e.s){if(r instanceof j){if(!r.s)return void(r.o=H.bind(null,e,t));1&t&&(t=r.s),r=r.v}if(r&&r.then)return void r.then(H.bind(null,e,t),H.bind(null,e,2));e.s=t,e.v=r;const n=e.o;n&&n(e)}}var j=/*#__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{H(n,1,a(this.v))}catch(e){H(n,2,e)}return n}return this}return this.o=function(e){try{var i=e.v;1&e.s?H(n,1,t?t(i):i):r?H(n,1,r(i)):H(n,2,i)}catch(e){H(n,2,e)}},n},e}();function z(e){return e instanceof j&&1&e.s}var Y=/*#__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 b("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(z(i)&&(i=i.v),!i)return a;if(i.then){n=0;break}var a=r();if(a&&a.then){if(!z(a)){n=1;break}a=a.s}if(t){var o=t();if(o&&o.then&&!z(o)){n=2;break}}}var s=new j,u=H.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&&!z(o))return void o.then(d).then(void 0,u);if(!(i=e())||z(i)&&!i.v)return void H(s,1,a);if(i.then)return void i.then(l).then(void 0,u);z(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):H(s,1,a)}function d(){(i=e())?i.then?i.then(l).then(void 0,u):l(i):H(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}(),J=/*#__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 C(this.generatorFunctionSelector,this.generatorFunctionInputAbi,e)},e}(),X=/*#__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 o(t,e),t}(J);function q(e,t){try{var r=e()}catch(e){return t(e)}return r&&r.then?r.then(void 0,t):r}X.DEFAULT_FACTORY_ADDRESS="0x4e1DCf7AD4e460CfD30791CCC4F9c8a4f820ec67";var K=/*#__PURE__*/function(t){function r(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}o(r,t),r.createProxyAddress=function(t,n){var i,a,o;void 0===n&&(n={});var s=null!=(i=n.c2Nonce)?i:0n;if(s<0n)throw RangeError("c2Nonce can't be negative");var u=null!=(a=n.safeFactoryAddress)?a:X.DEFAULT_FACTORY_ADDRESS,c=null!=(o=n.singletonInitHash)?o:r.DEFAULT_SAFE_SINGLETON.singletonInitHash,l=e.keccak256(e.solidityPacked(["bytes32","uint256"],[e.keccak256(t),s])),d=e.solidityPackedKeccak256(["bytes1","address","bytes32","bytes32"],["0xff",u,l,c]).slice(-40);return e.getAddress("0x"+d)},r.createAccountCallDataSingleTransaction=function(e,t){var n,i,a,o;void 0===t&&(t={});var s=null!=(n=e.value)?n:0,u=null!=(i=e.data)?i:"0x",c=null!=(a=e.operation)?a:exports.Operation.Call,l=null!=(o=t.safeModuleExecutorFunctionSelector)?o:r.DEFAULT_EXECUTOR_FUCNTION_SELECTOR;return r.createAccountCallData(e.to,s,u,c,{safeModuleExecutorFunctionSelector:l})},r.createAccountCallDataBatchTransactions=function(e,t){var n,i;if(void 0===t&&(t={}),e.length<1)throw RangeError("There should be at least one metaTransaction");var a=null!=(n=t.safeModuleExecutorFunctionSelector)?n:r.DEFAULT_EXECUTOR_FUCNTION_SELECTOR,o=null!=(i=t.multisendContractAddress)?i:r.DEFAULT_MULTISEND_CONTRACT_ADDRESS,s=C("0x8d80ff0a",["bytes"],[B(e)]);return r.createAccountCallData(o,0n,s,exports.Operation.Delegate,{safeModuleExecutorFunctionSelector:a})},r.createAccountCallData=function(e,t,n,i,a){var o;return void 0===a&&(a={}),C(null!=(o=a.safeModuleExecutorFunctionSelector)?o:r.DEFAULT_EXECUTOR_FUCNTION_SELECTOR,r.executorFunctionInputAbi,[e,t,n,i])},r.decodeAccountCallData=function(t){var r=null;if(t.startsWith(exports.SafeModuleExecutorFunctionSelector.executeUserOpWithErrorString)?r=exports.SafeModuleExecutorFunctionSelector.executeUserOpWithErrorString:t.startsWith(exports.SafeModuleExecutorFunctionSelector.executeUserOp)&&(r=exports.SafeModuleExecutorFunctionSelector.executeUserOp),null!=r){var n,i=e.AbiCoder.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 b("BAD_DATA","Invalid calldata, should start with "+exports.SafeModuleExecutorFunctionSelector.executeUserOpWithErrorString+" or "+exports.SafeModuleExecutorFunctionSelector.executeUserOp,{context:{callData:t}})},r.prependTokenPaymasterApproveToCallDataStatic=function(t,n,i,a,o){var s;void 0===o&&(o={});var u=null!=(s=o.multisendContractAddress)?s:r.DEFAULT_MULTISEND_CONTRACT_ADDRESS,c=r.decodeAccountCallData(t),l=c[0],d=c[1],f=B([{to:n,value:0n,data:C(M("approve(address,uint256)"),["address","uint256"],[i,a]),operation:exports.Operation.Call}]),h="",A="0x8d80ff0a";if(l.data.startsWith(A)){var p=function(t){return e.AbiCoder.defaultAbiCoder().decode(["bytes"],"0x"+t.slice(10))[0]}(l.data);h=p+f.slice(2)}else h=B([l])+f.slice(2);var v=C(A,["bytes"],[h]);return r.createAccountCallData(u,0n,v,exports.Operation.Delegate,{safeModuleExecutorFunctionSelector:d})},r.formatEip712SignaturesToUseroperationSignature=function(e,t,n){var i,a;if(void 0===n&&(n={}),e.length!=t.length)throw RangeError("signersAddresses and signatures arrays should be the same length");var o=null!=(i=n.validAfter)?i:0n,s=null!=(a=n.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 r.formatEip712SingleSignatureToUseroperationSignature(l,{validAfter:o,validUntil:s})},r.getUserOperationEip712Hash=function(e,t,n){return void 0===n&&(n={}),"initCode"in e?r.getUserOperationEip712Hash_V6(e,t,n):r.getUserOperationEip712Hash_V7(e,t,n)},r.getUserOperationEip712Data=function(e,t,n){if("initCode"in e){var i=r.getUserOperationEip712Data_V6(e,t,n);return{domain:i.domain,types:i.types,messageValue:i.messageValue}}var a=r.getUserOperationEip712Data_V7(e,t,n);return{domain:a.domain,types:a.types,messageValue:a.messageValue}},r.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:m,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:y,messageValue:d}},r.getUserOperationEip712Hash_V6=function(t,n,i){void 0===i&&(i={});var a=r.getUserOperationEip712Data_V6(t,n,i);return e.TypedDataEncoder.hash(a.domain,a.types,a.messageValue)},r.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:v,d=null!=(s=n.safe4337ModuleAddress)?s:"0x75cf11467937ce3F2f357CE24ffc3DBF8fD5c226",f=e.AbiCoder.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 p={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:g,messageValue:p}},r.getUserOperationEip712Hash_V7=function(t,n,i){void 0===i&&(i={});var a=r.getUserOperationEip712Data_V7(t,n,i);return e.TypedDataEncoder.hash(a.domain,a.types,a.messageValue)},r.formatEip712SingleSignatureToUseroperationSignature=function(t,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 e.solidityPacked(["uint48","uint48","bytes"],[a,o,t])};var n=r.prototype;return n.sendUserOperation=function(e,t){try{var r=this,n=new k(t);return Promise.resolve(n.sendUserOperation(e,r.entrypointAddress)).then(function(e){return new Y(e,n,r.entrypointAddress)})}catch(e){return Promise.reject(e)}},r.createAccountAddressAndFactoryAddressAndData=function(e,t,n,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=r.createBaseInitializerCallData(e,null!=(a=t.threshold)?a:1,n,i,null!=(o=t.multisendContractAddress)?o:r.DEFAULT_MULTISEND_CONTRACT_ADDRESS,null!=(s=t.webAuthnSharedSigner)?s:r.DEFAULT_WEB_AUTHN_SHARED_SIGNER,null!=(u=t.eip7212WebAuthnPrecompileVerifierForSharedSigner)?u:r.DEFAULT_WEB_AUTHN_PRECOMPILE,null!=(c=t.eip7212WebAuthnContractVerifierForSharedSigner)?c:r.DEFAULT_WEB_AUTHN_FCLP256_VERIFIER);h=null!=t.safeAccountFactoryAddress?new X(t.safeAccountFactoryAddress):new X;var p=null!=(l=t.safeAccountSingleton)?l:r.DEFAULT_SAFE_SINGLETON,v=this.createProxyAddress(A,{c2Nonce:null!=(d=t.c2Nonce)?d:0n,safeFactoryAddress:h.address,singletonInitHash:p.singletonInitHash}),m=[p.singletonAddress,A,null!=(f=t.c2Nonce)?f:0n],E=h.getFactoryGeneratorFunctionCallData(m);return[v,h.address,E]},r.createBaseInitializerCallData=function(e,t,n,i,a,o,s,u){if(void 0===a&&(a=r.DEFAULT_MULTISEND_CONTRACT_ADDRESS),void 0===o&&(o=r.DEFAULT_WEB_AUTHN_SHARED_SIGNER),void 0===s&&(s=r.DEFAULT_WEB_AUTHN_PRECOMPILE),void 0===u&&(u=r.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,f=C("0x8d0dc49f",["address[]"],[[n]]),h=!1,A=[],v=d(e);!(l=v()).done;){var m=l.value;"string"!=typeof m?h=!0:A.push(m)}if(h){var E={to:i,value:0n,data:f,operation:exports.Operation.Delegate},y=[];y.push(E);for(var g,S=[],D=0,b=d(e);!(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={to:o,value:0n,data:C("0x0dd9692f",["uint256","uint256","uint176"],[_.x,_.y,"0x"+s.slice(-4)+u.slice(2)]),operation:exports.Operation.Delegate};y.push(P),S.push(o),D++}else S.push(_)}c=[S,t,a,C("0x8d80ff0a",["bytes"],[B(y)]),n,p,0,p]}else c=[A,t,i,f,n,p,0,p];return C(r.initializerFunctionSelector,r.initializerFunctionInputAbi,c)},r.createFactoryAddressAndData=function(e,t,n,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 p,v=r.createBaseInitializerCallData(e,null!=(s=t.threshold)?s:1,n,i,null!=(u=t.multisendContractAddress)?u:r.DEFAULT_MULTISEND_CONTRACT_ADDRESS,null!=(c=t.webAuthnSharedSigner)?c:r.DEFAULT_WEB_AUTHN_SHARED_SIGNER,null!=(l=t.eip7212WebAuthnPrecompileVerifierForSharedSigner)?l:r.DEFAULT_WEB_AUTHN_PRECOMPILE,null!=(d=t.eip7212WebAuthnContractVerifierForSharedSigner)?d:r.DEFAULT_WEB_AUTHN_FCLP256_VERIFIER);p=null!=t.safeAccountFactoryAddress?new X(t.safeAccountFactoryAddress):new X;var m=null!=(f=t.safeAccountSingleton)?f:r.DEFAULT_SAFE_SINGLETON,E=p.getFactoryGeneratorFunctionCallData([m.singletonAddress,v,A]);return[p.address,E]},n.prependTokenPaymasterApproveToCallData=function(e,t,n,i,a){var o;void 0===a&&(a={});var s=null!=(o=a.multisendContractAddress)?o:r.DEFAULT_MULTISEND_CONTRACT_ADDRESS;return r.prependTokenPaymasterApproveToCallDataStatic(e,t,n,i,{multisendContractAddress:s})},n.estimateUserOperationGas=function(e,t,n){void 0===n&&(n={});try{var i=0xffffffffffffn,a=0xffffffffffffn;if(null!=n.dummySignerSignaturePairs){if(null!=n.expectedSigners)throw RangeError("Can't use both dummySignerSignaturePairs and expectedSigners overrides.");if(n.dummySignerSignaturePairs.length<1)throw RangeError("Number of dummy signers signature pairs can't be less than 1");e.signature=r.formatSignaturesToUseroperationSignature(n.dummySignerSignaturePairs,{validAfter:i,validUntil:a})}else if(null!=n.expectedSigners){var o,s=r.createDummySignerSignaturePairForExpectedSigners(n.expectedSigners,{isInit:null!=(o="initCode"in e?e.initCode:e.factory)&&"0x"!=o,webAuthnSharedSigner:n.webAuthnSharedSigner,eip7212WebAuthnPrecompileVerifier:n.eip7212WebAuthnPrecompileVerifier,eip7212WebAuthnContractVerifier:n.eip7212WebAuthnContractVerifier,webAuthnSignerFactory:n.webAuthnSignerFactory,webAuthnSignerSingleton:n.webAuthnSignerSingleton,validAfter:i,validUntil:a});e.signature=r.formatSignaturesToUseroperationSignature(s,{validAfter:i,validUntil:a})}else e.signature.length<3&&(e.signature=r.formatSignaturesToUseroperationSignature([N],{validAfter:i,validUntil:a}));var u=new k(t),c=e.maxFeePerGas,l=e.maxPriorityFeePerGas;return e.maxFeePerGas=0n,e.maxPriorityFeePerGas=0n,Promise.resolve(u.estimateUserOperationGas(e,this.entrypointAddress,n.stateOverrideSet)).then(function(t){return e.maxFeePerGas=c,e.maxPriorityFeePerGas=l,[BigInt(t.preVerificationGas),null!=n.dummySignerSignaturePairs?BigInt(t.verificationGasLimit)+55000n*BigInt(n.dummySignerSignaturePairs.length):BigInt(t.verificationGasLimit),BigInt(t.callGasLimit)]})}catch(e){return Promise.reject(e)}},n.createBaseUserOperationAndFactoryAddressAndFactoryData=function(e,t,n,i,o){void 0===o&&(o={});try{var s,u,c,l=function(){var n,s,u,c,l,v,g,S;function D(e){var t,r,n,i,a,s;if("bigint"==typeof o.preVerificationGas&&o.preVerificationGas<0n)throw RangeError("preVerificationGas overrid can't be negative");if("bigint"==typeof o.verificationGasLimit&&o.verificationGasLimit<0n)throw RangeError("verificationGasLimit overrid can't be negative");if("bigint"==typeof o.callGasLimit&&o.callGasLimit<0n)throw RangeError("callGasLimit overrid can't be negative");return w.preVerificationGas=null!=(t=o.preVerificationGas)?t:M*BigInt(Math.floor(((null!=(r=o.preVerificationGasPercentageMultiplier)?r:0)+100)/100)),w.verificationGasLimit=null!=(n=o.verificationGasLimit)?n:I*BigInt(Math.floor(((null!=(i=o.verificationGasLimitPercentageMultiplier)?i:0)+100)/100)),w.callGasLimit=null!=(a=o.callGasLimit)?a:V*BigInt(Math.floor(((null!=(s=o.callGasLimitPercentageMultiplier)?s:0)+100)/100)),[w,R,U]}m=null!=(n=o.maxFeePerGas)?n:m*BigInt(Math.floor(((null!=(s=o.maxFeePerGasPercentageMultiplier)?s:0)+100)/100)),y=null!=(u=o.maxPriorityFeePerGas)?u:y*BigInt(Math.floor(((null!=(c=o.maxPriorityFeePerGasPercentageMultiplier)?c:0)+100)/100));var _,P=null!=(l=o.eip7212WebAuthnPrecompileVerifier)?l:r.DEFAULT_WEB_AUTHN_PRECOMPILE,T=null!=(v=o.eip7212WebAuthnContractVerifier)?v:r.DEFAULT_WEB_AUTHN_FCLP256_VERIFIER,F=null!=(g=o.webAuthnSignerFactory)?g:r.DEFAULT_WEB_AUTHN_SIGNER_FACTORY,x=null!=(S=o.webAuthnSignerSingleton)?S:r.DEFAULT_WEB_AUTHN_SIGNER_SINGLETON,R=d.factoryAddress,U=d.factoryData;if(null==p)throw RangeError("failed to determine nonce");if(p<0n)throw RangeError("nonce can't be negative");if(p>0n)R=null,U=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 L=r.createDeployWebAuthnVerifierMetaTransaction(d.x,d.y,{eip7212WebAuthnPrecompileVerifier:P,eip7212WebAuthnContractVerifier:T,webAuthnSignerFactory:F}),O=r.createWebAuthnSignerVerifierAddress(d.x,d.y,{eip7212WebAuthnPrecompileVerifier:P,eip7212WebAuthnContractVerifier:T,webAuthnSignerFactory:F,webAuthnSignerSingleton:x}),G=C("0xe318b52b",["address","address","address"],["0x0000000000000000000000000000000000000001",f,O]);e=[L,{to:d.accountAddress,value:0n,data:G}].concat(e)}_=null==o.callData?1==e.length?r.createAccountCallDataSingleTransaction(e[0],{safeModuleExecutorFunctionSelector:h}):r.createAccountCallDataBatchTransactions(e,{safeModuleExecutorFunctionSelector:h,multisendContractAddress:A}):o.callData;var w=a({},E,{sender:d.accountAddress,nonce:p,callData:_,maxFeePerGas:m,maxPriorityFeePerGas:y}),M=E.preVerificationGas,I=E.verificationGasLimit,V=E.callGasLimit,B=function(){if(null==o.preVerificationGas||null==o.verificationGasLimit||null==o.callGasLimit)return function(){if(null!=i){w.callGasLimit=0n,w.verificationGasLimit=0n,w.preVerificationGas=0n;var e,n=w.maxFeePerGas,s=w.maxPriorityFeePerGas;if(w.maxFeePerGas=0n,w.maxPriorityFeePerGas=0n,t){var u="0x";null!=R&&(u=R,null!=U&&(u+=U.slice(2))),e=a({},w,{initCode:u,paymasterAndData:"0x"})}else e=a({},w,{factory:R,factoryData:U,paymaster:null,paymasterVerificationGasLimit:null,paymasterPostOpGasLimit:null,paymasterData:null});var c,l=0xffffffffffffn,h=0xffffffffffffn;if(null!=o.dummySignerSignaturePairs){if(null!=o.expectedSigners)throw RangeError("Can't use both dummySignerSignaturePairs and expectedSigners overrides.");if(o.dummySignerSignaturePairs.length<1)throw RangeError("Number of dummySignerSignaturePairs can't be less than 1");c=o.dummySignerSignaturePairs}else c=null==o.expectedSigners?[N]:r.createDummySignerSignaturePairForExpectedSigners(o.expectedSigners,{isInit:null!=R&&"0x"!=R,webAuthnSharedSigner:f,eip7212WebAuthnPrecompileVerifier:P,eip7212WebAuthnContractVerifier:T,webAuthnSignerFactory:F,webAuthnSignerSingleton:x,validAfter:l,validUntil:h});return w.signature=r.formatSignaturesToUseroperationSignature(c,{validAfter:l,validUntil:h,webAuthnSharedSigner:f}),Promise.resolve(d.estimateUserOperationGas(e,i,{stateOverrideSet:o.state_override_set})).then(function(e){M=e[0],I=e[1],V=e[2],I+=55000n*BigInt(c.length),w.maxFeePerGas=n,w.maxPriorityFeePerGas=s})}throw new b("BAD_DATA","bundlerRpc cant't be null if preVerificationGas,verificationGasLimit and callGasLimit are not overriden")}()}();return B&&B.then?B.then(D):D()},d=this;if(e.length<1)throw RangeError("There should be at least one transaction");var f=null!=(s=o.webAuthnSharedSigner)?s:r.DEFAULT_WEB_AUTHN_SHARED_SIGNER,h=null!=(u=o.safeModuleExecutorFunctionSelector)?u:r.DEFAULT_EXECUTOR_FUCNTION_SELECTOR,A=null!=(c=o.multisendContractAddress)?c:r.DEFAULT_MULTISEND_CONTRACT_ADDRESS,p=null,v=null;if(null==o.nonce){if(null==n)throw new b("BAD_DATA","providerRpc cant't be null if nonce is not overriden");v=O(n,d.entrypointAddress,d.accountAddress)}else p=o.nonce;if("bigint"==typeof o.maxFeePerGas&&o.maxFeePerGas<0n)throw RangeError("maxFeePerGas overrid can't be negative");if("bigint"==typeof o.maxPriorityFeePerGas&&o.maxPriorityFeePerGas<0n)throw RangeError("maxPriorityFeePerGas overrid can't be negative");var m=E.maxFeePerGas,y=E.maxPriorityFeePerGas,g=null;null!=o.maxFeePerGas&&null!=o.maxPriorityFeePerGas||(g=r.handlefetchGasPrice(n,o.polygonGasStation,o.gasLevel));var S=function(){if(null!=g&&null!=v)return Promise.resolve(Promise.all([v,g]).then(function(e){p=e[0];var t=e[1];m=t[0],y=t[1]})).then(function(){});var e=function(){if(null!=g)return Promise.resolve(g).then(function(e){m=e[0],y=e[1]});var e=function(){if(null!=v)return Promise.resolve(v).then(function(e){p=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)}},r.handlefetchGasPrice=function(e,t,r){try{var n,i,a=function(e){return[n,i]};void 0===r&&(r=exports.GasOption.Medium);var o=null!=t?Promise.resolve(function(e,t){try{void 0===t&&(t=exports.GasOption.Medium);var r="https://gasstation.polygon.technology/"+e;return Promise.resolve(P(function(){return Promise.resolve(fetch(r)).then(function(e){return Promise.resolve(e.json()).then(function(e){var r;r=t==exports.GasOption.Slow?e.safeLow:t==exports.GasOption.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=_(e);throw new b("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(L(e,r)).then(function(e){n=e[0],i=e[1]});throw new b("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)}},n.signUserOperation=function(t,n,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(n.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,f=r.getUserOperationEip712Hash(t,i,{validAfter:u,validUntil:c,entrypointAddress:this.entrypointAddress,safe4337ModuleAddress:this.safe4337ModuleAddress}),h=[],A=[],p=d(n);!(l=p()).done;){var v=new e.Wallet(l.value),m=v.signingKey.sign(f).serialized;h.push(v.address),A.push(m)}return r.formatEip712SignaturesToUseroperationSignature(h,A,{validAfter:u,validUntil:c})},r.createWebAuthnSignerVerifierAddress=function(t,n,i){var a,o,s,u;void 0===i&&(i={});var c=null!=(a=i.eip7212WebAuthnPrecompileVerifier)?a:r.DEFAULT_WEB_AUTHN_PRECOMPILE,l=null!=(o=i.eip7212WebAuthnContractVerifier)?o:r.DEFAULT_WEB_AUTHN_FCLP256_VERIFIER,d=null!=(s=i.webAuthnSignerFactory)?s:r.DEFAULT_WEB_AUTHN_SIGNER_FACTORY,f=null!=(u=i.webAuthnSignerSingleton)?u:r.DEFAULT_WEB_AUTHN_SIGNER_SINGLETON;if(42!=c.length||c.slice(0,38)!=p.slice(0,38))throw RangeError("Invalide precompile address. It should have the format 0x000000000000000000000000000000000000____");var h=e.keccak256(e.solidityPacked(["bytes","uint256","uint256","uint256","uint256"],[r.DEFAULT_WEB_AUTHN_SIGNER_PROXY_CREATION_CODE,f,t,n,"0x"+c.slice(-4)+l.slice(2)]));return"0x"+e.solidityPackedKeccak256(["bytes1","address","bytes32","bytes32"],["0xff",d,"0x0000000000000000000000000000000000000000000000000000000000000000",h]).slice(-40)},r.formatSignaturesToUseroperationSignature=function(t,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(t,r);return e.solidityPacked(["uint48","uint48","bytes"],[a,o,s])},r.getSignerLowerCaseAddress=function(e,t){if(void 0===t&&(t={}),"string"==typeof e)return e.toLowerCase();var n,i,a,o,s=null!=(n=t.eip7212WebAuthnPrecompileVerifier)?n:r.DEFAULT_WEB_AUTHN_PRECOMPILE,u=null!=(i=t.eip7212WebAuthnContractVerifier)?i:r.DEFAULT_WEB_AUTHN_FCLP256_VERIFIER,c=null!=(a=t.webAuthnSignerFactory)?a:r.DEFAULT_WEB_AUTHN_SIGNER_FACTORY,l=null!=(o=t.webAuthnSignerSingleton)?o:r.DEFAULT_WEB_AUTHN_SIGNER_SINGLETON;return r.createWebAuthnSignerVerifierAddress(e.x,e.y,{eip7212WebAuthnPrecompileVerifier:s,eip7212WebAuthnContractVerifier:u,webAuthnSignerFactory:c,webAuthnSignerSingleton:l}).toLowerCase()},r.sortSignatures=function(e,t){void 0===t&&(t={}),e.sort(function(e,n){return r.getSignerLowerCaseAddress(e.signer,t).localeCompare(r.getSignerLowerCaseAddress(n.signer,t))})},r.buildSignaturesFromSingerSignaturePairs=function(t,n){void 0===n&&(n={}),r.sortSignatures(t,n);var i=65*t.length,a=t.reduce(function(t,a){var o=t.segments,s=t.offset,u=a.signer,c=a.signature,l=a.isContractSignature;if(l=l||"string"!=typeof u){if("string"!=typeof u){if(null==n.isInit)throw RangeError("Must define isInit parameter when using WebAuthn");if(n.isInit){var d;u=null!=(d=n.webAuthnSharedSigner)?d:r.DEFAULT_WEB_AUTHN_SHARED_SIGNER}else{var f,h,A,p,v=null!=(f=n.eip7212WebAuthnPrecompileVerifier)?f:r.DEFAULT_WEB_AUTHN_PRECOMPILE,m=null!=(h=n.eip7212WebAuthnContractVerifier)?h:r.DEFAULT_WEB_AUTHN_FCLP256_VERIFIER,E=null!=(A=n.webAuthnSignerFactory)?A:r.DEFAULT_WEB_AUTHN_SIGNER_FACTORY,y=null!=(p=n.webAuthnSignerSingleton)?p:r.DEFAULT_WEB_AUTHN_SIGNER_SINGLETON;u=r.createWebAuthnSignerVerifierAddress(u.x,u.y,{eip7212WebAuthnPrecompileVerifier:v,eip7212WebAuthnContractVerifier:m,webAuthnSignerFactory:E,webAuthnSignerSingleton:y})}}return{segments:[].concat(o,[e.ethers.solidityPacked(["uint256","uint256","uint8"],[u,i+s,0])]),offset:s+32+e.ethers.dataLength(c)}}return{segments:[].concat(o,[e.ethers.solidityPacked(["bytes"],[c])]),offset:s}},{segments:[],offset:0});return e.ethers.concat([].concat(a.segments,t.map(function(t){var r=t.signature,n=t.isContractSignature;return(n=n||"string"!=typeof t.signer)?e.ethers.solidityPacked(["uint256","bytes"],[e.ethers.dataLength(r),r]):"0x"})))},r.createWebAuthnSignature=function(t){return e.ethers.AbiCoder.defaultAbiCoder().encode(["bytes","bytes","uint256[2]"],[new Uint8Array(t.authenticatorData),t.clientDataFields,t.rs])},n.createSwapOwnerMetaTransactions=function(e,t,n,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 n?r.createWebAuthnSignerVerifierAddress(n.x,n.y,{eip7212WebAuthnPrecompileVerifier:i.eip7212WebAuthnPrecompileVerifier,eip7212WebAuthnContractVerifier:i.eip7212WebAuthnContractVerifier,webAuthnSignerFactory:i.webAuthnSignerFactory,webAuthnSignerSingleton:i.webAuthnSignerSingleton}):n;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=r.createWebAuthnSignerVerifierAddress(t.x,t.y,{eip7212WebAuthnPrecompileVerifier:i.eip7212WebAuthnPrecompileVerifier,eip7212WebAuthnContractVerifier:i.eip7212WebAuthnContractVerifier,webAuthnSignerFactory:i.webAuthnSignerFactory,webAuthnSignerSingleton:i.webAuthnSignerSingleton}),Promise.resolve(F(e,a,"latest")).then(function(e){e.length<3&&(c=r.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)}},n.createRemoveOwnerMetaTransaction=function(e,t,n,i){void 0===i&&(i={});try{var a,o=function(e){return s.createStandardRemoveOwnerMetaTransaction(a,n,u)},s=this;a="string"!=typeof t?r.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)}},n.createAddOwnerWithThresholdMetaTransactions=function(e,t,n){void 0===n&&(n={});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=r.createWebAuthnSignerVerifierAddress(e.x,e.y,{eip7212WebAuthnPrecompileVerifier:n.eip7212WebAuthnPrecompileVerifier,eip7212WebAuthnContractVerifier:n.eip7212WebAuthnContractVerifier,webAuthnSignerFactory:n.webAuthnSignerFactory,webAuthnSignerSingleton:n.webAuthnSignerSingleton}),null==n.nodeRpcUrl)throw RangeError("overrides.nodeRpcUrl can't be null if adding a webauthn owner");return Promise.resolve(F(n.nodeRpcUrl,i,"latest")).then(function(t){t.length<3&&(s=r.createDeployWebAuthnVerifierMetaTransaction(e.x,e.y,{eip7212WebAuthnPrecompileVerifier:n.eip7212WebAuthnPrecompileVerifier,eip7212WebAuthnContractVerifier:n.eip7212WebAuthnContractVerifier,webAuthnSignerFactory:n.webAuthnSignerFactory}))})}i=e}();return Promise.resolve(u&&u.then?u.then(a):a())}catch(e){return Promise.reject(e)}},n.createStandardAddOwnerWithThresholdMetaTransaction=function(e,t){var r=C("0x0d582f13",["address","uint256"],[e,t]);return{to:this.accountAddress,data:r,value:0n}},n.createStandardSwapOwnerMetaTransaction=function(e,t,r){var n=C("0xe318b52b",["address","address","address"],[r,t,e]);return{to:this.accountAddress,data:n,value:0n}},n.createStandardRemoveOwnerMetaTransaction=function(e,t,r){var n=C("0xf8dc5dd9",["address","address","uint256"],[r,e,t]);return{to:this.accountAddress,data:n,value:0n}},r.createDeployWebAuthnVerifierMetaTransaction=function(e,t,n){var i,a,o;void 0===n&&(n={});var s=null!=(i=n.eip7212WebAuthnPrecompileVerifier)?i:r.DEFAULT_WEB_AUTHN_PRECOMPILE,u=null!=(a=n.eip7212WebAuthnContractVerifier)?a:r.DEFAULT_WEB_AUTHN_FCLP256_VERIFIER;return{to:null!=(o=n.webAuthnSignerFactory)?o:r.DEFAULT_WEB_AUTHN_SIGNER_FACTORY,value:0n,data:C("0x0d2f0489",["uint256","uint256","uint176"],[e,t,"0x"+s.slice(-4)+u.slice(2)])}},n.getOwners=function(t){try{var r=C(M("getOwners()"),[],[]);return Promise.resolve(x(t,{to:this.accountAddress,data:r},"latest")).then(function(t){return e.AbiCoder.defaultAbiCoder().decode(["address[]"],t)[0]})}catch(e){return Promise.reject(e)}},n.getModules=function(t,r){void 0===r&&(r={});try{var n=this;return Promise.resolve(q(function(){var i=r.start;null==i&&(i="0x0000000000000000000000000000000000000001");var a=r.pageSize;null==a&&(a=10n);var o=C("0xcc2f8452",["address","uint256"],[i,a]);return Promise.resolve(x(t,{to:n.accountAddress,data:o},"latest")).then(function(t){if("0x"==t)throw new b("BAD_DATA","getModules retuned an empty result, the target account is probably not deployed yet.");var r=e.AbiCoder.defaultAbiCoder().decode(["address[]","address"],t);return[r[0],r[1]]})},function(e){var t=_(e);throw new b("BAD_DATA","getModules failed",{cause:t})}))}catch(e){return Promise.reject(e)}},n.isModuleEnabled=function(t,r){try{var n=C(M("isModuleEnabled(address)"),["address"],[r]);return Promise.resolve(x(t,{to:this.accountAddress,data:n},"latest")).then(function(t){return e.AbiCoder.defaultAbiCoder().decode(["bool"],t)[0]})}catch(e){return Promise.reject(e)}},r.createDummySignerSignaturePairForExpectedSigners=function(e,t){void 0===t&&(t={});for(var n,i=[],a=d([].concat(e));!(n=a()).done;){var o=n.value,s=void 0;if("string"==typeof o)s=N;else{if(null==t.isInit)throw RangeError("Must define isInit parameter when using WebAuthn");if(s=V,t.isInit){var u,c=null!=(u=t.webAuthnSharedSigner)?u:r.DEFAULT_WEB_AUTHN_SHARED_SIGNER;s.signer=c}else{var l,f,h,A,p=null!=(l=t.eip7212WebAuthnPrecompileVerifier)?l:r.DEFAULT_WEB_AUTHN_PRECOMPILE,v=null!=(f=t.eip7212WebAuthnContractVerifier)?f:r.DEFAULT_WEB_AUTHN_FCLP256_VERIFIER,m=null!=(h=t.webAuthnSignerFactory)?h:r.DEFAULT_WEB_AUTHN_SIGNER_FACTORY,E=null!=(A=t.webAuthnSignerSingleton)?A:r.DEFAULT_WEB_AUTHN_SIGNER_SINGLETON;s.signer=r.createWebAuthnSignerVerifierAddress(o.x,o.y,{eip7212WebAuthnPrecompileVerifier:p,eip7212WebAuthnContractVerifier:v,webAuthnSignerFactory:m,webAuthnSignerSingleton:E})}}i.push(s)}return i},r.verifyWebAuthnSignatureForMessageHash=function(t,n,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:r.DEFAULT_WEB_AUTHN_PRECOMPILE,f=null!=(u=o.eip7212WebAuthnContractVerifier)?u:r.DEFAULT_WEB_AUTHN_FCLP256_VERIFIER,h=null!=(c=o.webAuthnSignerSingleton)?c:r.DEFAULT_WEB_AUTHN_SIGNER_SINGLETON;if(42!=d.length||d.slice(0,38)!=p.slice(0,38))throw RangeError("Invalide precompile address. It should have the format 0x000000000000000000000000000000000000____");var A=C("0x1626ba7e",["bytes32","bytes"],[i,a]),v="0x1111111111111111111111111111111111111111",m={to:v,data:A},E=r.createSafeWebAuthnSignerProxyDeployedByteCode(n,d,f,h);return Promise.resolve(x(t,m,"latest",(l={},l[v]={code:E},l))).then(function(t){return e.AbiCoder.defaultAbiCoder().decode(["bool"],t)[0]})}catch(e){return Promise.reject(e)}},r.createSafeWebAuthnSignerProxyDeployedByteCode=function(t,r,n,i){var a=e.AbiCoder.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"},r.createEnableModuleMetaTransaction=function(e,t){return{to:t,data:C(