abstractionkit
Version:
Account Abstraction 4337 SDK by Candidelabs
1 lines • 107 kB
JavaScript
import*as e from"isomorphic-unfetch";import{AbiCoder as t,JsonRpcProvider as r,keccak256 as n,id as a,encodeRlp as i,Wallet as o,getBytes as s,toBeArray as u,solidityPacked as l,solidityPackedKeccak256 as c,getAddress as d,TypedDataEncoder as f,ethers as h}from"ethers";var v=function(e){this.accountAddress=void 0,this.accountAddress=e};function m(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function p(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 m(e,t);var r={}.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)?m(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.")}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)({}).hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},A.apply(null,arguments)}function y(e){return y=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},y(e)}function g(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,b(e,t)}function E(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(E=function(){return!!e})()}function b(e,t){return b=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},b(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(E())return Reflect.construct.apply(null,arguments);var n=[null];n.push.apply(n,t);var a=new(e.bind.apply(e,n));return r&&b(a,r.prototype),a}(e,arguments,y(this).constructor)}return r.prototype=Object.create(e.prototype,{constructor:{value:r,enumerable:!1,writable:!0,configurable:!0}}),b(r,e)},D(e)}v.proxyByteCode=void 0,v.initializerFunctionSelector=void 0,v.initializerFunctionInputAbi=void 0,v.executorFunctionSelector=void 0,v.executorFunctionInputAbi=void 0;var P,S,_,T="0x0000000000000000000000000000000000000000",F="0x4337084D9E255Ff0702461CF8895CE9E3b5Ff108",x="0x0000000071727De22E5E9d8BAf0edAc6f37da032",R="0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789",L={sender:T,nonce:0n,callData:"0x",callGasLimit:0n,verificationGasLimit:0n,preVerificationGas:0n,maxFeePerGas:0n,maxPriorityFeePerGas:0n,signature:"0x"},G={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"}]},U={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"}]},w="0x0000000000000000000000000000000000000100";!function(e){e[e.Call=0]="Call",e[e.Delegate=1]="Delegate"}(P||(P={})),function(e){e[e.Slow=1]="Slow",e[e.Medium=1.2]="Medium",e[e.Fast=1.5]="Fast"}(S||(S={})),function(e){e.Mainnet="v2",e.ZkMainnet="zkevm",e.Amoy="amoy",e.Cardona="cardona"}(_||(_={}));var C={"-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"},I=/*#__PURE__*/function(e){function t(t,r,n){var a;void 0===n&&(n={});var i=n.errno,o=n.context;return(a=e.call(this,r,{cause:n.cause})||this).code=void 0,a.context=void 0,a.errno=void 0,a.name=a.constructor.name,a.code=t,a.errno=i,a.context=o,a}return g(t,e),t.prototype.stringify=function(){return JSON.stringify(this,["name","code","message","cause","errno","context"])},t}(/*#__PURE__*/D(Error));function O(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 M(e,t){try{var r=e()}catch(e){return t(e)}return r&&r.then?r.then(void 0,t):r}var V=function(e,t,r){try{var n,a,i=function(e){return[n,a]};void 0===r&&(r=S.Medium);var o=null!=t?Promise.resolve(j(t,r)).then(function(e){n=e[0],a=e[1]}):function(){if(null!=e)return Promise.resolve(H(e,r)).then(function(e){n=e[0],a=e[1]});throw new I("BAD_DATA","providerRpc cant't be null if maxFeePerGas and maxPriorityFeePerGas are not overriden")}();return Promise.resolve(o&&o.then?o.then(i):i())}catch(e){return Promise.reject(e)}},B=function(e,t,r){try{var n=[t,r];return Promise.resolve(M(function(){return Promise.resolve(Y(e,"eth_getCode",n)).then(function(e){if("string"!=typeof e)throw new I("BAD_DATA","eth_getCode returned ill formed data",{context:JSON.stringify(e)});try{return e}catch(e){var t=O(e);throw new I("BAD_DATA","eth_getCode returned ill formed data",{cause:t})}})},function(e){var t=O(e);throw new I("BAD_DATA","eth_getCode failed",{cause:t})}))}catch(e){return Promise.reject(e)}},N=function(e,t,r,n){try{var a;return a=null==n?[t,r]:[t,r,n],Promise.resolve(M(function(){return Promise.resolve(Y(e,"eth_call",a)).then(function(e){if("string"!=typeof e)throw new I("BAD_DATA","eth_call returned ill formed data",{context:JSON.stringify(e)});try{return e}catch(e){var t=O(e);throw new I("BAD_DATA","eth_call returned ill formed data",{cause:t})}})},function(e){var t=O(e);throw new I("BAD_DATA","eth_call failed",{cause:t})}))}catch(e){return Promise.reject(e)}},W=function(e,r,n){try{var a={from:"0x0000000000000000000000000000000000000000",to:n,data:K("0x5287ce12",["address"],[r])};return Promise.resolve(M(function(){return Promise.resolve(N(e,a,"latest")).then(function(e){var r=t.defaultAbiCoder().decode(["uint256","bool","uint112","uint32","uint48"],e);if(5!==r.length)throw new I("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=O(e);throw new I("BAD_DATA","getDepositInfo returned ill formed data",{cause:n})}})},function(e){var t=O(e);throw new I("BAD_DATA","getDepositInfo failed",{cause:t})}))}catch(e){return Promise.reject(e)}},k=function(e,t,r){return Promise.resolve(W(e,t,r)).then(function(e){return e.deposit})},j=function(e,t){try{void 0===t&&(t=S.Medium);var r="https://gasstation.polygon.technology/"+e;return Promise.resolve(M(function(){return Promise.resolve(fetch(r)).then(function(e){return Promise.resolve(e.json()).then(function(e){var r;r=t==S.Slow?e.safeLow:t==S.Medium?e.standard:e.fast;var n=BigInt(Math.ceil(1e9*Number(r.maxFee))),a=BigInt(Math.ceil(1e9*Number(r.maxPriorityFee)));return 0n==n&&(n=1n),0n==a&&(a=1n),[n,a]})})},function(e){var t=O(e);throw new I("BAD_DATA","fetching gas prices from "+r+" failed.",{cause:t})}))}catch(e){return Promise.reject(e)}},H=function(e,t){try{return void 0===t&&(t=S.Medium),Promise.resolve(M(function(){var n=new r(e);return Promise.resolve(n.getFeeData()).then(function(e){var r,n;return null!=e.maxFeePerGas&&null!=e.maxPriorityFeePerGas?(r=BigInt(Math.ceil(Number(e.maxFeePerGas)*t)),n=BigInt(Math.ceil(Number(e.maxPriorityFeePerGas)*t))):n=r=null!=e.gasPrice?BigInt(Math.ceil(Number(e.gasPrice)*t)):BigInt(Math.ceil(1e9*t)),0n==r&&(r=1n),0n==n&&(n=1n),[r,n]})},function(e){var t=O(e);throw new I("BAD_DATA","fetching gas prices from node failed.",{cause:t})}))}catch(e){return Promise.reject(e)}},z=function(e,t,r,n){void 0===n&&(n=0);try{var a=[{from:"0x0000000000000000000000000000000000000000",to:t,data:K(X("getNonce(address,uint192)"),["address","uint192"],[r,n])},"latest"];return Promise.resolve(M(function(){return Promise.resolve(Y(e,"eth_call",a)).then(function(e){if("string"!=typeof e)throw new I("BAD_DATA","getNonce returned ill formed data",{context:JSON.stringify(e)});try{return BigInt(e)}catch(e){var t=O(e);throw new I("BAD_DATA","getNonce returned ill formed data",{cause:t})}})},function(e){var t=O(e);throw new I("BAD_DATA","getNonce failed",{cause:t})}))}catch(e){return Promise.reject(e)}},Y=function(t,r,n,a,i){void 0===a&&(a={"Content-Type":"application/json"}),void 0===i&&(i="params");try{var o,s=e.default||e,u={method:"POST",headers:a,body:JSON.stringify(((o={method:r})[i]=n,o.id=(new Date).getTime(),o.jsonrpc="2.0",o),function(e,t){return"bigint"==typeof t?"0x"+t.toString(16):t}),redirect:"follow"};return Promise.resolve(s(t,u)).then(function(e){return Promise.resolve(e.json()).then(function(e){if("result"in e)return e.result;if("simulation_results"in e)return e.simulation_results;var r=e.error,n=String(r.code);throw new I(n in C?C[n]:"UNKNOWN_ERROR",r.message,{errno:r.code,context:{url:t,requestOptions:JSON.stringify(u)}})})})}catch(e){return Promise.reject(e)}};function J(e,r,a){var i,o,s=t.defaultAbiCoder();if(r.toLowerCase()==R.toLowerCase()){i=n(function(e){var r=[e.sender,e.nonce,n(e.initCode),n(e.callData),e.callGasLimit,e.verificationGasLimit,e.preVerificationGas,e.maxFeePerGas,e.maxPriorityFeePerGas,n(e.paymasterAndData)];return t.defaultAbiCoder().encode(["address","uint256","bytes32","bytes32","uint256","uint256","uint256","uint256","uint256","bytes32"],r)}(e));var u=s.encode(["bytes32","address","uint256"],[i,r,a]);o=n(u)}else if(r.toLowerCase()==x.toLowerCase()){i=n(function(e){var r=t.defaultAbiCoder(),a="0x";null!=e.factory&&(a=e.factory,null!=e.factoryData&&(a+=e.factoryData.slice(2)));var i="0x"+r.encode(["uint128"],[e.verificationGasLimit]).slice(34)+r.encode(["uint128"],[e.callGasLimit]).slice(34),o="0x"+r.encode(["uint128"],[e.maxPriorityFeePerGas]).slice(34)+r.encode(["uint128"],[e.maxFeePerGas]).slice(34),s="0x";null!=e.paymaster&&(s=e.paymaster,null!=e.paymasterVerificationGasLimit&&(s+=r.encode(["uint128"],[e.paymasterVerificationGasLimit]).slice(34)),null!=e.paymasterPostOpGasLimit&&(s+=r.encode(["uint128"],[e.paymasterPostOpGasLimit]).slice(34)),null!=e.paymasterData&&(s+=e.paymasterData.slice(2)));var u=[e.sender,e.nonce,n(a),n(e.callData),i,e.preVerificationGas,o,n(s)];return r.encode(["address","uint256","bytes32","bytes32","bytes32","uint256","bytes32","bytes32"],u)}(e));var l=s.encode(["bytes32","address","uint256"],[i,r,a]);o=n(l)}else{i=n(function(e){var r=t.defaultAbiCoder(),a="0x";if(null!=e.factory){var i=e.eip7702Auth;a=null!=i&&null!=i.address?i.address:e.factory,null!=e.factoryData&&(a+=e.factoryData.slice(2))}var o="0x"+r.encode(["uint128"],[e.verificationGasLimit]).slice(34)+r.encode(["uint128"],[e.callGasLimit]).slice(34),s="0x"+r.encode(["uint128"],[e.maxPriorityFeePerGas]).slice(34)+r.encode(["uint128"],[e.maxFeePerGas]).slice(34),u="0x";null!=e.paymaster&&(u=e.paymaster,null!=e.paymasterVerificationGasLimit&&(u+=r.encode(["uint128"],[e.paymasterVerificationGasLimit]).slice(34)),null!=e.paymasterPostOpGasLimit&&(u+=r.encode(["uint128"],[e.paymasterPostOpGasLimit]).slice(34)),null!=e.paymasterData&&(u+=e.paymasterData.slice(2)));var l=["0x29a0bca4af4be3421398da00295e58e6d7de38cb492214754cb6a47507dd6f8e",e.sender,e.nonce,n(a),n(e.callData),o,e.preVerificationGas,s,n(u)];return r.encode(["bytes32","address","uint256","bytes32","bytes32","bytes32","uint256","bytes32","bytes32"],l)}(e));var c=function(e){var r=t.defaultAbiCoder().encode(["(bytes32,bytes32,bytes32,uint256,address)"],[["0x8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f","0x364da28a5c92bcc87fe97c8813a6c6b8a3a049b0ea0a328fcb0b4f0e00337586","0xc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6",e,F]]);return n(r)}(a);o=n("0x1901"+c.slice(2)+i.slice(2))}return o}function K(e,r,n){return e+t.defaultAbiCoder().encode(r,n).slice(2)}function X(e){return a(e).slice(0,10)}function q(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}var Z="0x04";function $(e,t,r,a,u,l,c,d){if(e>=Math.pow(2,64))throw RangeError("Invalide chainId.");if(t>=Math.pow(2,64))throw RangeError("Invalide nonce.");if(42!=u.length)throw RangeError("Invalide destination.");var f=[ie(t),ie(r),ie(a),u,ie(l),c,ie(e),ie(0n),ie(0n)],h=n(i(f)),v=new o(d).signingKey.sign(h);return f=[ie(t),ie(r),ie(a),u,ie(l),c,ie(BigInt(v.yParity+2*Number(e)+35)),s(v.r),s(v.s)],i(f)}function Q(e,t,r,n){var a=te(ee(e,t,r),n);return{chainId:oe(e),address:t,nonce:oe(r),yParity:oe(BigInt(a.yParity)),r:oe(a.r),s:oe(a.s)}}function ee(e,t,r){var a=[ie(e),t,ie(r)],o=i(a);return n("0x05"+o.slice(2))}function te(e,t){var r=new o(t).signingKey.sign(e);return{yParity:r.yParity,r:BigInt(r.r),s:BigInt(r.s)}}function re(e,t,r,n,a,o,s,u,l,c,d){var f=ne(e,t,r,n,a,o,s,u,l,c),h=ae(e,t,r,n,a,o,s,u,l,c),v=te(f,d),m=h.concat([ie(BigInt(v.yParity)),ie(v.r),ie(v.s)]),p=i(m);return Z+p.slice(2)}function ne(e,t,r,a,o,s,u,l,c,d){var f=ae(e,t,r,a,o,s,u,l,c,d);return n(Z+i(f).slice(2))}function ae(e,t,r,n,a,i,o,u,l,c){if(e>=Math.pow(2,64))throw RangeError("Invalide chainId.");if(t>=Math.pow(2,64))throw RangeError("Invalide nonce.");if(42!=i.length)throw RangeError("Invalide destination.");var d=function(e){for(var t,r=[],n=p(e);!(t=n()).done;){var a=t.value;if(42!=a.address.length)throw RangeError("Invalide authorization list address: "+a);var i=[ie(a.chainId),a.address,ie(a.nonce),ie(BigInt(a.yParity)),ie(a.r),ie(a.s)];r.push(i)}return r}(c),f=function(e){for(var t,r=[],n=p(e);!(t=n()).done;){var a=t.value,i=a[0],o=a[1];if(42!=i.length)throw RangeError("Invalide access list address: "+i);for(var u,l=[],c=p(o);!(u=c()).done;){var d=u.value;if(66!=d.length)throw RangeError("Invalide access list storage: "+d);l.push(s(d))}r.push([s(i),l])}return r}(l);return[ie(e),ie(t),ie(r),ie(n),ie(a),i,ie(o),u,f,d]}function ie(e){return s(u(e))}function oe(e){var t=e.toString(16);return t.length%2?"0x0"+t:"0x"+t}function se(e,t){try{var r=e()}catch(e){return t(e)}return r&&r.then?r.then(void 0,t):r}var ue=/*#__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(se(function(){return Promise.resolve(Y(e.rpcUrl,"eth_chainId",[])).then(function(e){if("string"==typeof e)return e;throw new I("BAD_DATA","bundler eth_chainId rpc call failed")})},function(e){var t=O(e);throw new I("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(se(function(){return Promise.resolve(Y(e.rpcUrl,"eth_supportedEntryPoints",[]))},function(e){var t=O(e);throw new I("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(se(function(){function a(){var e=i;return{callGasLimit:BigInt(e.callGasLimit),preVerificationGas:BigInt(e.preVerificationGas),verificationGasLimit:BigInt(e.verificationGasLimit)}}var i={},o=void 0===r?Promise.resolve(Y(n.rpcUrl,"eth_estimateUserOperationGas",[e,t])).then(function(e){i=e}):Promise.resolve(Y(n.rpcUrl,"eth_estimateUserOperationGas",[e,t,r])).then(function(e){i=e});return o&&o.then?o.then(a):a()},function(e){var t=O(e);throw new I("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(se(function(){return Promise.resolve(Y(r.rpcUrl,"eth_sendUserOperation",[e,t]))},function(e){var t=O(e);throw new I("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(se(function(){return Promise.resolve(Y(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=O(t);throw new I("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(se(function(){return Promise.resolve(Y(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=O(t);throw new I("BUNDLER_ERROR","bundler eth_getUserOperationByHash rpc call failed",{cause:r,context:{useroperationhash:e}})}))}catch(e){return Promise.reject(e)}},e}();function le(e,t,r){if(!e.s){if(r instanceof ce){if(!r.s)return void(r.o=le.bind(null,e,t));1&t&&(t=r.s),r=r.v}if(r&&r.then)return void r.then(le.bind(null,e,t),le.bind(null,e,2));e.s=t,e.v=r;const n=e.o;n&&n(e)}}var ce=/*#__PURE__*/function(){function e(){}return e.prototype.then=function(t,r){var n=new e,a=this.s;if(a){var i=1&a?t:r;if(i){try{le(n,1,i(this.v))}catch(e){le(n,2,e)}return n}return this}return this.o=function(e){try{var a=e.v;1&e.s?le(n,1,t?t(a):a):r?le(n,1,r(a)):le(n,2,a)}catch(e){le(n,2,e)}},n},e}();function de(e){return e instanceof ce&&1&e.s}var fe=/*#__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 I("TIMEOUT","can't find useroperation",{context:a.userOperationHash})},a=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 i=0,o=function(e,t,r){for(var n;;){var a=e();if(de(a)&&(a=a.v),!a)return i;if(a.then){n=0;break}var i=r();if(i&&i.then){if(!de(i)){n=1;break}i=i.s}}var o=new ce,s=le.bind(null,o,2);return(0===n?a.then(l):1===n?i.then(u):(void 0).then(function(){(a=e())?a.then?a.then(l).then(void 0,s):l(a):le(o,1,i)})).then(void 0,s),o;function u(t){i=t;do{if(!(a=e())||de(a)&&!a.v)return void le(o,1,i);if(a.then)return void a.then(l).then(void 0,s);de(i=r())&&(i=i.v)}while(!i||!i.then);i.then(u).then(void 0,s)}function l(e){e?(i=r())&&i.then?i.then(u).then(void 0,s):u(i):le(o,1,i)}}(function(){return!r&&i<=e},0,function(){return Promise.resolve(a.delay(1e3*t)).then(function(){return Promise.resolve(a.bundler.getUserOperationReceipt(a.userOperationHash)).then(function(e){if(null!=e)return r=1,e;i++})})});return Promise.resolve(o&&o.then?o.then(n):n(o))}catch(e){return Promise.reject(e)}},e}(),he=/*#__PURE__*/function(e){function r(t,n){var a,i;return void 0===n&&(n={}),(i=e.call(this,t)||this).entrypointAddress=void 0,i.entrypointAddress=null!=(a=n.entrypointAddress)?a:r.DEFAULT_ENTRYPOINT_ADDRESS,i}g(r,e),r.createAccountCallData=function(e,t,n){return K(r.executorFunctionSelector,r.executorFunctionInputAbi,[e,t,n])},r.createAccountCallDataSingleTransaction=function(e){var t,n,a=null!=(t=e.value)?t:0,i=null!=(n=e.data)?n:"0x";return r.createAccountCallData(e.to,a,i)},r.createAccountCallDataBatchTransactions=function(e){var t=[e.map(function(e){return[e.to,e.value,e.data]})];return K(r.batchExecutorFunctionSelector,r.batchExecutorFunctionInputAbi,t)};var n=r.prototype;return n.createUserOperation=function(e,t,n,a){void 0===a&&(a={});try{var i=function(t){var i,u,d,f,h,y;function g(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 h.preVerificationGas=null!=(t=a.preVerificationGas)?t:_*BigInt(Math.floor(((null!=(r=a.preVerificationGasPercentageMultiplier)?r:0)+100)/100)),h.verificationGasLimit=null!=(n=a.verificationGasLimit)?n:T*BigInt(Math.floor(((null!=(i=a.verificationGasLimitPercentageMultiplier)?i:0)+100)/100)),h.callGasLimit=null!=(o=a.callGasLimit)?o:F*BigInt(Math.floor(((null!=(s=a.callGasLimitPercentageMultiplier)?s:0)+100)/100)),h}if(l=null!=(i=a.maxFeePerGas)?i:l*BigInt(Math.floor(((null!=(u=a.maxFeePerGasPercentageMultiplier)?u:0)+100)/100)),c=null!=(d=a.maxPriorityFeePerGas)?d:c*BigInt(Math.floor(((null!=(f=a.maxPriorityFeePerGasPercentageMultiplier)?f:0)+100)/100)),null==s)throw RangeError("failed to determine nonce");if(s<0n)throw RangeError("nonce can't be negative");if(y=null==a.callData?1==e.length?r.createAccountCallDataSingleTransaction(e[0]):r.createAccountCallDataBatchTransactions(e):a.callData,null!=a.eip7702Auth){var E,b,D,P=null!=(E=a.eip7702Auth.yParity)?E:"0x0";if("0x0"!=P&&"0x00"!=P&&"0x1"!=P&&"0x01"!=P)throw new I("BAD_DATA","invalide yParity value for eoaDelegatorSignature. must be '0x0' or '0x1'");var S={chainId:oe(v),address:m,nonce:oe(p),yParity:P,r:null!=(b=a.eip7702Auth.r)?b:"0x4277ba564d2c138823415df0ec8e8f97f30825056d54ec5128a8b29ec2dd81b2",s:null!=(D=a.eip7702Auth.s)?D:"0x1075a1bec7f59848cca899ece93075199cd2aabceb0654b9ae00b881a30044cd"};h=A({},L,{sender:o.accountAddress,nonce:s,callData:y,maxFeePerGas:l,maxPriorityFeePerGas:c,factory:"0x7702",factoryData:null,paymaster:null,paymasterVerificationGasLimit:null,paymasterPostOpGasLimit:null,paymasterData:null,eip7702Auth:S})}else h=A({},L,{sender:o.accountAddress,nonce:s,callData:y,maxFeePerGas:l,maxPriorityFeePerGas:c,factory:null,factoryData:null,paymaster:null,paymasterVerificationGasLimit:null,paymasterPostOpGasLimit:null,paymasterData:null,eip7702Auth:null});var _=L.preVerificationGas,T=L.verificationGasLimit,F=L.callGasLimit,x=function(){if(null==a.preVerificationGas||null==a.verificationGasLimit||null==a.callGasLimit)return function(){if(null!=n){var e;h.callGasLimit=0n,h.verificationGasLimit=0n,h.preVerificationGas=0n;var t,i=h.maxFeePerGas,s=h.maxPriorityFeePerGas;return h.maxFeePerGas=0n,h.maxPriorityFeePerGas=0n,t=A({},h),h.signature=null!=(e=a.dummySignature)?e:r.dummySignature,Promise.resolve(o.estimateUserOperationGas(t,n,{stateOverrideSet:a.state_override_set})).then(function(e){_=e[0],T=e[1],F=e[2],T+=55000n,h.maxFeePerGas=i,h.maxPriorityFeePerGas=s})}throw new I("BAD_DATA","bundlerRpc cant't be null if preVerificationGas,verificationGasLimit and callGasLimit are not overriden")}()}();return x&&x.then?x.then(g):g()},o=this;if(e.length<1)throw RangeError("There should be at least one transaction");var s=null,u=null;if(null==a.nonce){if(null==t)throw new I("BAD_DATA","providerRpc cant't be null if nonce is not overriden");u=z(t,o.entrypointAddress,o.accountAddress)}else s=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 l=L.maxFeePerGas,c=L.maxPriorityFeePerGas,d=null;null!=a.maxFeePerGas&&null!=a.maxPriorityFeePerGas||(d=V(t,a.polygonGasStation,a.gasLevel));var f,h,v=null,m=null,p=null;null!=a.eip7702Auth&&(v=a.eip7702Auth.chainId,m=null!=(f=a.eip7702Auth.address)?f:r.DEFAULT_DELEGATEE_ADDRESS,p=null!=(h=a.eip7702Auth.nonce)?h:null);var y=function(){if(null!=a.eip7702Auth&&null==p){var e;if(null==t)throw new I("BAD_DATA","providerRpc cant't be null if eoaDelegatorNonce is not overriden");e=Y(t,"eth_getTransactionCount",[o.accountAddress,"latest"]);var r=function(){if(null!=d&&null!=u)return Promise.resolve(Promise.all([e,u,d]).then(function(e){p=BigInt(e[0]),s=e[1];var t=e[2];l=t[0],c=t[1]})).then(function(){});var t=function(){if(null!=d)return Promise.resolve(Promise.all([e,d]).then(function(e){p=BigInt(e[0]);var t=e[1];l=t[0],c=t[1]})).then(function(){});var t=function(){if(null!=u)return Promise.resolve(Promise.all([e,d]).then(function(e){p=BigInt(e[0]),s=e[1]})).then(function(){});var t=BigInt;return Promise.resolve(e).then(function(e){p=t(e)})}();return t&&t.then?t.then(function(){}):void 0}();return t&&t.then?t.then(function(){}):void 0}();if(r&&r.then)return r.then(function(){})}else{var n=function(){if(null!=d&&null!=u)return Promise.resolve(Promise.all([u,d]).then(function(e){s=e[0];var t=e[1];l=t[0],c=t[1]})).then(function(){});var e=function(){if(null!=d)return Promise.resolve(d).then(function(e){l=e[0],c=e[1]});var e=function(){if(null!=u)return Promise.resolve(u).then(function(e){s=e})}();return e&&e.then?e.then(function(){}):void 0}();return e&&e.then?e.then(function(){}):void 0}();if(n&&n.then)return n.then(function(){})}}();return Promise.resolve(y&&y.then?y.then(i):i())}catch(e){return Promise.reject(e)}},n.estimateUserOperationGas=function(e,t,n){void 0===n&&(n={});try{var a;e.signature=null!=(a=n.dummySignature)?a:r.dummySignature;var i=new ue(t),o=e.maxFeePerGas,s=e.maxPriorityFeePerGas;return e.maxFeePerGas=0n,e.maxPriorityFeePerGas=0n,Promise.resolve(i.estimateUserOperationGas(e,this.entrypointAddress,n.stateOverrideSet)).then(function(t){return e.maxFeePerGas=o,e.maxPriorityFeePerGas=s,[BigInt(t.preVerificationGas),BigInt(t.verificationGasLimit),BigInt(t.callGasLimit)]})}catch(e){return Promise.reject(e)}},n.signUserOperation=function(e,t,r){var n=J(e,this.entrypointAddress,r);return new o(t).signingKey.sign(n).serialized},n.sendUserOperation=function(e,t){try{var r=this,n=new ue(t);return Promise.resolve(n.sendUserOperation(e,r.entrypointAddress)).then(function(e){return new fe(e,n,r.entrypointAddress)})}catch(e){return Promise.reject(e)}},n.prependTokenPaymasterApproveToCallData=function(e,t,n,a){return r.prependTokenPaymasterApproveToCallDataStatic(e,t,n,a)},r.prependTokenPaymasterApproveToCallDataStatic=function(e,n,a,i){var o,s={to:n,value:0n,data:K(X("approve(address,uint256)"),["address","uint256"],[a,i])},u=t.defaultAbiCoder();if(e.startsWith(r.batchExecutorFunctionSelector))o=u.decode(r.batchExecutorFunctionInputAbi,"0x"+e.slice(10))[0].map(function(e){return{to:e[0],value:BigInt(e[1]),data:"string"!=typeof e[2]?(new TextDecoder).decode(e[2]):e[2]}});else{if(!e.startsWith(r.executorFunctionSelector))throw new I("BAD_DATA","Invalid calldata, should start with "+r.batchExecutorFunctionSelector+" or "+r.executorFunctionSelector,{context:{callData:e}});var l=u.decode(r.executorFunctionInputAbi,"0x"+e.slice(10));o=[{to:l[0],value:BigInt(l[1]),data:"string"!=typeof l[2]?(new TextDecoder).decode(l[2]):l[2]}]}return o.unshift(s),r.createAccountCallDataBatchTransactions(o)},r}(v);he.DEFAULT_DELEGATEE_ADDRESS="0xe6Cae83BdE06E4c305530e199D7217f42808555B",he.DEFAULT_ENTRYPOINT_ADDRESS=F,he.executorFunctionSelector="0xb61d27f6",he.executorFunctionInputAbi=["address","uint256","bytes"],he.batchExecutorFunctionSelector="0x34fcd5be",he.batchExecutorFunctionInputAbi=["(address,uint256,bytes)[]"],he.dummySignature="0xd2614025fc173b86704caf37b2fb447f7618101a0d31f5f304c777024cef38a060a29ee43fcf0c46f9107d4f670b8a85c2c017a1fe9e4af891f24f0be6ba5d671c";var ve,me=function(e,t,r,n){try{var a="https://api.tenderly.co/api/v1/account/"+e+"/project/"+t+"/simulate-bundle",i=n.map(function(e){var t,r,n,a={network_id:e.chainId.toString(),save:null==(t=e.save)||t,save_if_fails:null==(r=e.saveIfFails)||r,from:e.from,to:e.to,input:e.data,simulation_type:null!=(n=e.simulationType)?n:"quick"};return null!=e.blockNumber&&(a.block_number=e.blockNumber),null!=e.gas&&(a.gas=e.gas),null!=e.gasPrice&&(a.gas_price=e.gasPrice),null!=e.value&&(a.value=e.value),null!=e.stateOverride&&(a.state_objects=e.stateOverride),null!=e.transactionIndex&&(a.transaction_index=e.transactionIndex),null!=e.estimateGas&&(a.estimate_gas=e.estimateGas),null!=e.generateAccessList&&(a.generate_access_list=e.generateAccessList),null!=e.accessList&&(a.access_list=e.accessList),a});return Promise.resolve(Y(a,"tenderly_simulateBundle",i,{Accept:"application/json","Content-Type":"application/json","X-Access-Key":r},"simulations"))}catch(e){return Promise.reject(e)}},pe=function(e,t,r,n,a,i,o,s,u,l){void 0===s&&(s=null),void 0===u&&(u=null),void 0===l&&(l=null);try{var c,d=[],f=a.toLowerCase();if("0x5ff137d4b0fdcd49dca30c7cf57e578a026d2789"==f)c="0x7fc98430eaedbb6070b35b39d798725049088348";else if("0x0000000071727de22e5e9d8baf0edac6f37da032"==f)c="0xefc2c1444ebcc4db75e7613d20c6a62ff67a167c";else{if("0x4337084d9e255ff0702461cf8895ce9e3b5ff108"!=f)throw RangeError("Invalid entrypoint: "+a);c="0x449ed7c3e6fee6a97311d4b55475df59c44add33"}if(null==s&&null!=u||null!=s&&null==u)throw RangeError("Invalid factory and factoryData");return null!=s&&null!=u&&d.push({chainId:n,blockNumber:l,from:c,to:s,data:u}),d.push({chainId:n,blockNumber:l,from:a,to:i,data:o}),Promise.resolve(me(e,t,r,d))}catch(e){return Promise.reject(e)}},Ae=function(e,t,r,n,a,i,o,s,u,l){return void 0===s&&(s=null),void 0===u&&(u=null),void 0===l&&(l=null),Promise.resolve(pe(e,t,r,n,a,i,o,s,u,l)).then(function(n){var a=n.map(function(e){return e.simulation.id});a.map(function(n){return be(e,t,r,n)});var i=a.map(function(e){return"https://dashboard.tenderly.co/shared/simulation/"+e});if(1==i.length)return{simulation:n,callDataSimulationShareLink:i[0]};if(2==i.length)return{simulation:n,accountDeploymentSimulationShareLink:i[0],callDataSimulationShareLink:i[1]};throw new I("BAD_DATA","invalid number of simulations retuned",{context:JSON.stringify(n,function(e,t){return"bigint"==typeof t?"0x"+t.toString(16):t})})})},ye=function(e,t,r,n,a,i,o){void 0===o&&(o=null);try{var s=null,u=null;return"initCode"in i?i.initCode.length>2&&(s=i.initCode.slice(0,22),u=i.initCode.slice(22)):(s=i.factory,u=i.factoryData),Promise.resolve(pe(e,t,r,n,a,i.sender,i.callData,s,u,o))}catch(e){return Promise.reject(e)}},ge=function(e,r,n,a,i,o,s){void 0===s&&(s=null);try{var u=i.toLowerCase(),l=null,c=t.defaultAbiCoder();if("initCode"in o&&"0x5ff137d4b0fdcd49dca30c7cf57e578a026d2789"==u)l="0x1fad948c"+c.encode(["(address,uint256,bytes,bytes,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[]","address"],[[[o.sender,o.nonce,o.initCode,o.callData,o.callGasLimit,o.verificationGasLimit,o.preVerificationGas,o.maxFeePerGas,o.maxPriorityFeePerGas,o.paymasterAndData,o.signature]],"0x1000000000000000000000000000000000000000"]).slice(2);else{var d="0x";null!=o.factory&&(d=o.factory,null!=o.factoryData&&(d+=o.factoryData.slice(2)));var f="0x"+c.encode(["uint128"],[o.verificationGasLimit]).slice(34)+c.encode(["uint128"],[o.callGasLimit]).slice(34),h="0x"+c.encode(["uint128"],[o.maxPriorityFeePerGas]).slice(34)+c.encode(["uint128"],[o.maxFeePerGas]).slice(34),v="0x";null!=o.paymaster&&(v=o.paymaster,null!=o.paymasterVerificationGasLimit&&(v+=c.encode(["uint128"],[o.paymasterVerificationGasLimit]).slice(34)),null!=o.paymasterPostOpGasLimit&&(v+=c.encode(["uint128"],[o.paymasterPostOpGasLimit]).slice(34)),null!=o.paymasterData&&(v+=o.paymasterData.slice(2)));var m=c.encode(["(address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes)[]","address"],[[[o.sender,o.nonce,d,o.callData,f,o.preVerificationGas,h,v,o.signature]],"0x1000000000000000000000000000000000000000"]);if("0x0000000071727de22e5e9d8baf0edac6f37da032"!=u&&"0x4337084d9e255ff0702461cf8895ce9e3b5ff108"!=u)throw RangeError("Invalid entrypoint.");l="0x765e827f"+m.slice(2)}return Promise.resolve(me(e,r,n,[{chainId:a,blockNumber:s,from:"0x1000000000000000000000000000000000000000",to:i,data:l}])).then(function(e){return e[0]})}catch(e){return Promise.reject(e)}},Ee=function(e,t,r,n,a,i,o){return void 0===o&&(o=null),Promise.resolve(ge(e,t,r,n,a,i,o)).then(function(n){return Promise.resolve(be(e,t,r,n.simulation.id)).then(function(){return{simulation:n,simulationShareLink:"https://dashboard.tenderly.co/shared/simulation/"+n.simulation.id}})})},be=function(t,r,n,a){try{return Promise.resolve((e.default||e)("https://api.tenderly.co/api/v1/account/"+t+"/project/"+r+"/simulations/"+a+"/share",{method:"POST",headers:{Accept:"application/json","Content-Type":"application/json","X-Access-Key":n},redirect:"follow"})).then(function(e){var i=e.status;if(204!=i)throw new I("BAD_DATA","tenderly share simulation failed.",{context:{tenderlyAccountSlug:t,tenderlyProjectSlug:r,tenderlyAccessKey:n,tenderlySimulationId:a,status:i}})})}catch(e){return Promise.reject(e)}};!function(e){e.executeUserOpWithErrorString="0x541d63c8",e.executeUserOp="0x7bb37428"}(ve||(ve={}));var De={signer:"0xfD90FAd33ee8b58f32c00aceEad1358e4AFC23f9",signature:"0x47003599ffa7e9198f321afa774e34a12a959844efd6363b88896e9c24ed33cf4e1be876ef123a3c4467e7d451511434039539699f2baa2f44955fa3d1c1c6d81c",isContractSignature:!1},Pe={signer:"0xfD90FAd33ee8b58f32c00aceEad1358e4AFC23f9",signature:"0x000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000e06c92f0ac5c4ef9e74721c23d80a9fc12f259ca84afb160f0890483539b9e6080d824c0e6c795157ad5d1ee5eff1ceeb3031009a595f9360919b83dd411c5a78d0000000000000000000000000000000000000000000000000000000000000025a24f744b28d73f066bf3203d145765a7bc735e6328168c8b03e476da3ad0d8fe0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001e226f726967696e223a2268747470733a2f2f736166652e676c6f62616c220000",isContractSignature:!0};function Se(e){return"0x"+e.map(function(e){return n=null!=(r=(t=e).operation)?r:P.Call,a=s(t.data),l(["uint8","address","uint256","uint256","bytes"],[n,t.to,t.value,a.length,a]).slice(2);var t,r,n,a}).join("")}var _e=/*#__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 K(this.generatorFunctionSelector,this.generatorFunctionInputAbi,e)},e}(),Te=/*#__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 g(t,e),t}(_e);function Fe(e,t){try{var r=e()}catch(e){return t(e)}return r&&r.then?r.then(void 0,t):r}Te.DEFAULT_FACTORY_ADDRESS="0x4e1DCf7AD4e460CfD30791CCC4F9c8a4f820ec67";var xe=/*#__PURE__*/function(e){function r(t,r,a,i){var o;if(void 0===i&&(i={}),(o=e.call(this,t)||this).isInitWebAuthn=void 0,o.x=null,o.y=null,o.entrypointAddress=void 0,o.safe4337ModuleAddress=void 0,o.factoryAddress=void 0,o.factoryData=void 0,o.onChainIdentifier=void 0,o.entrypointAddress=a,o.safe4337ModuleAddress=r,o.factoryAddress=null,o.factoryData=null,o.isInitWebAuthn=!1,null!=i.onChainIdentifierParams&&null!=i.onChainIdentifier)throw RangeError("can't override both onChainIdentifier and onChainIdentifierParams");if(null!=i.onChainIdentifierParams)o.onChainIdentifier=function(e,t,r,a){void 0===t&&(t="Web"),void 0===r&&(r="abstractionkit"),void 0===a&&(a="0.2.21");var i=n("0x"+Buffer.from(e,"utf8").toString("hex")).slice(-20),o=n("0x"+Buffer.from(t,"utf8").toString("hex")).slice(-3),s=n("0x"+Buffer.from(r,"utf8").toString("hex")).slice(-3),u=n("0x"+Buffer.from(a,"utf8").toString("hex")).slice(-3);return"5afe00"+Buffer.from(i,"utf8").toString("hex")+Buffer.from(o,"utf8").toString("hex")+Buffer.from(s,"utf8").toString("hex")+Buffer.from(u,"utf8").toString("hex")}(i.onChainIdentifierParams.project,i.onChainIdentifierParams.platform,i.onChainIdentifierParams.tool,i.onChainIdentifierParams.toolVersion);else if(null!=i.onChainIdentifier){var s=i.onChainIdentifier;if(s.startsWith("0x")&&(s=s.slice(2)),64!=s.length)throw RangeError("onChainIdentifier length must be 64.");o.onChainIdentifier=s}else o.onChainIdentifier=null;return o}g(r,e),r.createProxyAddress=function(e,t){var a,i,o;void 0===t&&(t={});var s=null!=(a=t.c2Nonce)?a:0n;if(s<0n)throw RangeError("c2Nonce can't be negative");var u=null!=(i=t.safeFactoryAddress)?i:Te.DEFAULT_FACTORY_ADDRESS,f=null!=(o=t.singletonInitHash)?o:r.DEFAULT_SAFE_SINGLETON.singletonInitHash,h=n(l(["bytes32","uint256"],[n(e),s])),v=c(["bytes1","address","bytes32","bytes32"],["0xff",u,h,f]).slice(-40);return d("0x"+v)},r.createAccountCallDataSingleTransaction=function(e,t){var n,a,i,o;void 0===t&&(t={});var s=null!=(n=e.value)?n:0,u=null!=(a=e.data)?a:"0x",l=null!=(i=e.operation)?i:P.Call,c=null!=(o=t.safeModuleExecutorFunctionSelector)?o:r.DEFAULT_EXECUTOR_FUCNTION_SELECTOR;return r.createAccountCallData(e.to,s,u,l,{safeModuleExecutorFunctionSelector:c})},r.createAccountCallDataBatchTransactions=function(e,t){var n,a;if(void 0===t&&(t={}),e.length<1)throw RangeError("There should be at least one metaTransaction");var i=null!=(n=t.safeModuleExecutorFunctionSelector)?n:r.DEFAULT_EXECUTOR_FUCNTION_SELECTOR,o=null!=(a=t.multisendContractAddress)?a:r.DEFAULT_MULTISEND_CONTRACT_ADDRESS,s=K("0x8d80ff0a",["bytes"],[Se(e)]);return r.createAccountCallData(o,0n,s,P.Delegate,{safeModuleExecutorFunctionSelector:i})},r.createAccountCallData=function(e,t,n,a,i){var o;return void 0===i&&(i={}),K(null!=(o=i.safeModuleExecutorFunctionSelector)?o:r.DEFAULT_EXECUTOR_FUCNTION_SELECTOR,r.executorFunctionInputAbi,[e,t,n,a])},r.decodeAccountCallData=function(e){var r=null;if(e.startsWith(ve.executeUserOpWithErrorString)?r=ve.executeUserOpWithErrorString:e.startsWith(ve.executeUserOp)&&(r=ve.executeUserOp),null!=r){var n,a=t.defaultAbiCoder(),i="0x"+e.slice(10),o=a.decode(["address","uint256","bytes","uint8"],i);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 I("BAD_DATA","Invalid calldata, should start with "+ve.executeUserOpWithErrorString+" or "+ve.executeUserOp,{context:{callData:e}})},r.prependTokenPaymasterApproveToCallDataStatic=function(e,n,a,i,o){var s;void 0===o&&(o={});var u=null!=(s=o.multisendContractAddress)?s:r.DEFAULT_MULTISEND_CONTRACT_ADDRESS,l=r.decodeAccountCallData(e),c=l[0],d=l[1],f=Se([{to:n,value:0n,data:K(X("approve(address,uint256)"),["address","uint256"],[a,i]),operation:P.Call}]),h="",v="0x8d80ff0a";if(c.data.startsWith(v)){var m=function(e){return t.defaultAbiCoder().decode(["bytes"],"0x"+e.slice(10))[0]}(c.data);h=m+f.slice(2)}else h=Se([c])+f.slice(2);var p=K(v,["bytes"],[h]);return r.createAccountCallData(u,0n,p,P.Delegate,{safeModuleExecutorFunctionSelector:d})},r.formatEip712SignaturesToUseroperationSignature=function(e,t,n){var a,i;if(void 0===n&&(n={}),e.length!=t.length)throw RangeError("signersAddresses and signatures arrays should be the same length");var o=null!=(a=n.validAfter)?a:0n,s=null!=(i=n.validUntil)?i:0n,u=new Map;e.forEach(function(e,r){u.set(e.toLocaleLowerCase(),t[r])});var l=new Map(Array.from(u).sort()),c="0x"+Array.from(l.values()).reduce(function(e,t){return e+t.slice(2)},"");return r.formatEip712SingleSignatureToUseroperationSignature(c,{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 a=r.getUserOperationEip712Data_V6(e,t,n);return{domain:a.domain,types:a.types,messageValue:a.messageValue}}var i=r.getUserOperationEip712Data_V7(e,t,n);return{domain:i.domain,types:i.types,messageValue:i.messageValue}},r.getUserOperationEip712Data_V6=function(e,t,r){var n,a,i,o;void 0===r&&(r={});var s=null!=(n=r.validAfter)?n:0n,u=null!=(a=r.validUntil)?a:0n,l=null!=(i=r.entrypointAddress)?i:R,c=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:l};return{domain:{chainId:Number(t),verifyingContract:c},types:G,messageValue:d}},r.getUserOperationEip712Hash_V6=function(e,t,n){void 0===n&&(n={});var a=r.getUserOperationEip712Data_V6(e,t,n);return f.hash(a.domain,a.types,a.messageValue)},r.getUserOperationEip712Data_V7=function(e,r,n){var a,i,o,s;void 0===n&&(n={});var u=null!=(a=n.validAfter)?a:0n,l=null!=(i=n.validUntil)?i:0n,c=null!=(o=n.entrypointAddress)?o:x,d=null!=(s=n.safe4337ModuleAddress)?s:"0x75cf11467937ce3F2f357CE24ffc3DBF8fD5c226",f=t.defaultAbiCoder(),h="0x";null!=e.factory&&(h=e.factory,null!=e.factoryData&&(h+=e.factoryData.slice(2)));var v="0x";null!=e.paymaster&&(v=e.paymaster,null!=e.paymasterVerificationGasLimit&&(v+=f.encode(["uint128"],[e.paymasterVerificationGasLimit]).slice(34)),null!=e.paymasterPostOpGasLimit&&(v+=f.encode(["uint128"],[e.paymasterPostOpGasLimit]).slice(34)),null!=e.paymasterData&&(v+=e.paymasterData.slice(2)));var m={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:v,validAfter:u,validUntil:l,entryPoint:c};return{domain:{chainId:Number(r),verifyingContract:d},types:U,messageValue:m}},r.getUserOperationEip712Hash_V7=function(e,t,n){void 0===n&&(n={});var a=r.getUserOperationEip712Data_V7(e,t,n);return f.hash(a.domain,a.types,a.messageValue)},r.formatEip712SingleSignatureToUseroperationSignature=function(e,t){var r,n;void 0===t&&(t={});var a=null!=(r=t.validAfter)?r:0n,i=null!=(n=t.validUntil)?n:0n;if(a<0n)throw RangeError("validAfter can't be negative");if(i<0n)throw RangeError("validUntil can't be negative");return l(["uint48","uint48","bytes"],[a,i,e])};var a=r.prototype;return a.sendUserOperation=function(e,t){try{var r=this,n=new ue(t);return Promise.resolve(n.sendUserOperation(e,r.entrypointAddress)).then(function(e){return new fe(e,n,r.entrypointAddress)})}catch(e){return Promise.reject(e)}},r.createAccountAddressAndFactoryAddressAndData=function(e,t,n,a){var i,o,s,u,l,c,d,f;if(e.length<1)throw RangeError("There should be at least one owner");var h,v=r.createBaseInitializerCallData(e,null!=(i=t.threshold)?i:1,n,a,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!=(l=t.eip7212WebAuthnContractVerifierForSharedSigner)?l:r.DEFAULT_WEB_AUTHN_FCLP256_VERIFIER);h=null!=t.safeAccountFactoryAddress?new Te(t.safeAccountFactoryAddress):new Te;var m=null!=(c=t.safeAccountSingleton)?c:r.DEFAULT_SAFE_SINGLETON,p=this.createProxyAddress(v,{c2Nonce:null!=(d=t.c2Nonce)?d:0n,safeFactoryAddress:h.address,singletonInitHash:m.singletonInitHash}),A=[m.singletonAddress,v,null!=(f=t.c2Nonce)?f:0n],y=h.getFactoryGeneratorFunctionCallData(A);return[p,h.address,y]},r.createBaseInitializerCallData=function(e,t,n,a,i,o,s,u){if(void 0===i&&(i=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 l,c,d=K("0x8d0dc49f",["address[]"],[[n]]),f=!1,h=[],v=p(e);!(c=v()).done;){var m=c.value;"string"!=typeof m?f=!0:h.push(m)}if(f){var A=[];A.push({to:a,value:0n,data:d,operation:P.Delegate});for(var y,g=[],E=0,b=p(e);!(y=b()).done;){var D=y.value;if("string"!=typeof D){if(E>0)throw RangeError("Only one WebAuthn owner can be set during initialization");var S=K("0x0dd9692f",["uint256","uint256","uint176"],[D.x,D.y,"0x"+s.slice(-4)+u.slice(2)]);A.push({to:o,value:0n,data:S,operation:P.Delegate}),g.push(o),E++}else g.push(D)}l=[g,t,i,K("0x8d80ff0a",["bytes"],[Se(A)]),n,T,0,T]}else l=[h,t,a,d,n,T,0,T];return K(r.initializerFunctionSelector,r.initializerFunctionInputAbi,l)},r.createFactoryAddressAndData=function(e,t,n,a){var i,o,s,u,l,c,d,f;if(void 0===t&&(t={}),e.length<1)throw RangeError("There should be at least one owner");var h=null!=(i=t.threshold)?i:1,v=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(v<0n)throw RangeError("c2Nonce can't be negative");var m,p=r.createBaseInitializerCallData(e,null!=(s=t.threshold)?s:1,n,a,null!=(u=t.multisendContractAddress)?u:r.DEFAULT_MULTISEND_CONTRACT_ADDRESS,null!=(l=t.webAuthnSharedSigner)?l:r.DEFAULT_WEB_AUTHN_SHARED_SIGNER,null!=(c=t.eip7212WebAuthnPrecompileVerifierForSharedSigner)?c:r.DEFAULT_WEB_AUTHN_PRECOMPILE,null!=(d=t.eip7212WebAuthnContractVerifierForSharedSigner)?d:r.DEFAULT_WEB_AUTHN_FCLP256_VERIFIER);m=null!=t.safeAccountFactoryAddress?new Te(t.safeAccountFactoryAddress):new Te;var A=null!=(f=t.safeAccountSingleton)?f:r.DEFAULT_SAFE_SINGLETON,y=m.getFactoryGeneratorFunctionCallData([A.singletonAddress,p,v]);return[m.address,y]},a.prependTokenPaymasterApproveToCallData=function(e,t,n,a,i){var o;void 0===i&&(i={});var s=null!=(o=i.multisendContractAddress)?o:r.DEFAULT_MULTISEND_CONTRACT_ADDRESS;return r.prependTokenPaymasterApproveToCallDataStatic(e,t,n,a,{multisendContractAddress:s})},a.estimateUserOperationGas=function(e,t,n){void 0===n&&(n={});try{var a=0xffffffffffffn,i=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:a,validUntil:i})}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:a,validUntil:i});e.signature=r.formatSignaturesToUseroperationSignature(s,{validAfter:a,validUntil:i})}else e.signature.length<3&&(e.signature=r.formatSignaturesToUseroperationSignature([De],{validAfter:a,validUntil:i}));var u=new ue(t),l=e.maxFeePerGas,c=e.maxPriorityFeePerGas;return e.maxFeePerGas=0n,e.maxPriorityFeePerGas=0n,Promise.resolve(u.estimateUserOperationGas(e,this.entrypointAddress,n.stateOverrideSet)).then(function(t){return e.maxFeePerGas=l,e.maxPriorityFeePerGas=c,[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)}},a.createBaseUserOperationAndFactoryAddressAndFactoryData=function(e,t,n,a,i){void 0===i&&(i={});try{var o,s,u,l=function(){var n,o,s,u,l,m,g,E;function b(e){var t,r,n,a,o,s;if("bigint"==typeof i.preVerificationGas&&i.preVerificationGas<0n)throw RangeError("preVerificationGas overrid can't be negative");if("bigint"==typeof i.verificationGasLimit&&i.verificationGasLimit<0n)throw RangeError("verificationGasLimit overrid can't be negative");if("bigint"==typeof i.callGasLimit&&i.callGasLimit<0n)throw RangeError("callGasLimit overrid can't be negative");return w.preVerificationGas=null!=(t=i.preVerificationGas)?t:C*BigInt(Math.floor(((null!=(r=i.preVerificationGasPercentageMultiplier)?r:0)+100)/100)),w.verificationGasLimit=null!=(n=i.verificationGasLimit)?n:O*BigInt(Math.floor(((null!=(a=i.verificationGasLimitPercentageMultiplier)?a:0)+100)/100)),w.callGasLimit=null!=(o=i.callGasLimit)?o:M*BigInt(Math.floor(((null!=(s=i.callGasLimitPercentageMultiplier)?s:0)+100)/100)),[w,T,F]}p=null!=(n=i.maxFeePerGas)?n:p*BigInt(Math.floor(((null!=(o=i.maxFeePerGasPercentageMultiplier)?o:0)+100)/100)),y=null!=(s=i.maxPriorityFeePerGas)?s: