UNPKG

abstractionkit

Version:

Account Abstraction 4337 SDK by Candidelabs

1 lines 109 kB
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("isomorphic-unfetch"),require("ethers")):"function"==typeof define&&define.amd?define(["exports","isomorphic-unfetch","ethers"],t):t((e||self).abstractionkit={},e.isomorphicUnfetch,e.ethers)}(this,function(e,t,r){function n(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach(function(r){if("default"!==r){var n=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,n.get?n:{enumerable:!0,get:function(){return e[r]}})}}),t.default=e,t}var a=/*#__PURE__*/n(t),i=function(e){this.accountAddress=void 0,this.accountAddress=e};function o(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 s(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 o(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)?o(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 u(){return u=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},u.apply(null,arguments)}function c(e){return c=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},c(e)}function l(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,f(e,t)}function d(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(d=function(){return!!e})()}function f(e,t){return f=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},f(e,t)}function h(e){var t="function"==typeof Map?new Map:void 0;return h=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(d())return Reflect.construct.apply(null,arguments);var n=[null];n.push.apply(n,t);var a=new(e.bind.apply(e,n));return r&&f(a,r.prototype),a}(e,arguments,c(this).constructor)}return r.prototype=Object.create(e.prototype,{constructor:{value:r,enumerable:!1,writable:!0,configurable:!0}}),f(r,e)},h(e)}i.proxyByteCode=void 0,i.initializerFunctionSelector=void 0,i.initializerFunctionInputAbi=void 0,i.executorFunctionSelector=void 0,i.executorFunctionInputAbi=void 0;var v,m,p,A="0x0000000000000000000000000000000000000000",y="0x4337084D9E255Ff0702461CF8895CE9E3b5Ff108",g="0x0000000071727De22E5E9d8BAf0edAc6f37da032",E="0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789",S={sender:A,nonce:0n,callData:"0x",callGasLimit:0n,verificationGasLimit:0n,preVerificationGas:0n,maxFeePerGas:0n,maxPriorityFeePerGas:0n,signature:"0x"},b={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"}]},P={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"}]},D="0x0000000000000000000000000000000000000100";e.Operation=void 0,(v=e.Operation||(e.Operation={}))[v.Call=0]="Call",v[v.Delegate=1]="Delegate",e.GasOption=void 0,(m=e.GasOption||(e.GasOption={}))[m.Slow=1]="Slow",m[m.Medium=1.2]="Medium",m[m.Fast=1.5]="Fast",e.PolygonChain=void 0,(p=e.PolygonChain||(e.PolygonChain={})).Mainnet="v2",p.ZkMainnet="zkevm",p.Amoy="amoy",p.Cardona="cardona";var _={"-32602":"INVALID_FIELDS","-32500":"SIMULATE_VALIDATION","-32501":"SIMULATE_PAYMASTER_VALIDATION","-32502":"OPCODE_VALIDATION","-32503":"EXPIRE_SHORTLY","-32504":"REPUTATION","-32505":"INSUFFICIENT_STAKE","-32506":"UNSUPPORTED_SIGNATURE_AGGREGATOR","-32507":"INVALID_SIGNATURE","-32601":"INVALID_USEROPERATION_HASH","-32521":"EXECUTION_REVERTED"},T=/*#__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 l(t,e),t.prototype.stringify=function(){return JSON.stringify(this,["name","code","message","cause","errno","context"])},t}(/*#__PURE__*/h(Error));function F(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 R(e,t){try{var r=e()}catch(e){return t(e)}return r&&r.then?r.then(void 0,t):r}var x=function(t,r,n){try{var a,i,o=function(e){return[a,i]};void 0===n&&(n=e.GasOption.Medium);var s=null!=r?Promise.resolve(w(r,n)).then(function(e){a=e[0],i=e[1]}):function(){if(null!=t)return Promise.resolve(O(t,n)).then(function(e){a=e[0],i=e[1]});throw new T("BAD_DATA","providerRpc cant't be null if maxFeePerGas and maxPriorityFeePerGas are not overriden")}();return Promise.resolve(s&&s.then?s.then(o):o())}catch(e){return Promise.reject(e)}},G=function(e,t,r){try{var n=[t,r];return Promise.resolve(R(function(){return Promise.resolve(M(e,"eth_getCode",n)).then(function(e){if("string"!=typeof e)throw new T("BAD_DATA","eth_getCode returned ill formed data",{context:JSON.stringify(e)});try{return e}catch(e){var t=F(e);throw new T("BAD_DATA","eth_getCode returned ill formed data",{cause:t})}})},function(e){var t=F(e);throw new T("BAD_DATA","eth_getCode failed",{cause:t})}))}catch(e){return Promise.reject(e)}},L=function(e,t,r,n){try{var a;return a=null==n?[t,r]:[t,r,n],Promise.resolve(R(function(){return Promise.resolve(M(e,"eth_call",a)).then(function(e){if("string"!=typeof e)throw new T("BAD_DATA","eth_call returned ill formed data",{context:JSON.stringify(e)});try{return e}catch(e){var t=F(e);throw new T("BAD_DATA","eth_call returned ill formed data",{cause:t})}})},function(e){var t=F(e);throw new T("BAD_DATA","eth_call failed",{cause:t})}))}catch(e){return Promise.reject(e)}},C=function(e,t,n){try{var a={from:"0x0000000000000000000000000000000000000000",to:n,data:V("0x5287ce12",["address"],[t])};return Promise.resolve(R(function(){return Promise.resolve(L(e,a,"latest")).then(function(e){var t=r.AbiCoder.defaultAbiCoder().decode(["uint256","bool","uint112","uint32","uint48"],e);if(5!==t.length)throw new T("BAD_DATA","getDepositInfo returned ill formed data",{context:JSON.stringify(t)});try{return{deposit:BigInt(t[0]),staked:Boolean(t[1]),stake:BigInt(t[2]),unstakeDelaySec:BigInt(t[3]),withdrawTime:BigInt(t[4])}}catch(e){var n=F(e);throw new T("BAD_DATA","getDepositInfo returned ill formed data",{cause:n})}})},function(e){var t=F(e);throw new T("BAD_DATA","getDepositInfo failed",{cause:t})}))}catch(e){return Promise.reject(e)}},U=function(e,t,r){return Promise.resolve(C(e,t,r)).then(function(e){return e.deposit})},w=function(t,r){try{void 0===r&&(r=e.GasOption.Medium);var n="https://gasstation.polygon.technology/"+t;return Promise.resolve(R(function(){return Promise.resolve(fetch(n)).then(function(t){return Promise.resolve(t.json()).then(function(t){var n;n=r==e.GasOption.Slow?t.safeLow:r==e.GasOption.Medium?t.standard:t.fast;var a=BigInt(Math.ceil(1e9*Number(n.maxFee))),i=BigInt(Math.ceil(1e9*Number(n.maxPriorityFee)));return 0n==a&&(a=1n),0n==i&&(i=1n),[a,i]})})},function(e){var t=F(e);throw new T("BAD_DATA","fetching gas prices from "+n+" failed.",{cause:t})}))}catch(e){return Promise.reject(e)}},O=function(t,n){try{return void 0===n&&(n=e.GasOption.Medium),Promise.resolve(R(function(){var e=new r.JsonRpcProvider(t);return Promise.resolve(e.getFeeData()).then(function(e){var t,r;return null!=e.maxFeePerGas&&null!=e.maxPriorityFeePerGas?(t=BigInt(Math.ceil(Number(e.maxFeePerGas)*n)),r=BigInt(Math.ceil(Number(e.maxPriorityFeePerGas)*n))):r=t=null!=e.gasPrice?BigInt(Math.ceil(Number(e.gasPrice)*n)):BigInt(Math.ceil(1e9*n)),0n==t&&(t=1n),0n==r&&(r=1n),[t,r]})},function(e){var t=F(e);throw new T("BAD_DATA","fetching gas prices from node failed.",{cause:t})}))}catch(e){return Promise.reject(e)}},I=function(e,t,r,n){void 0===n&&(n=0);try{var a=[{from:"0x0000000000000000000000000000000000000000",to:t,data:V(N("getNonce(address,uint192)"),["address","uint192"],[r,n])},"latest"];return Promise.resolve(R(function(){return Promise.resolve(M(e,"eth_call",a)).then(function(e){if("string"!=typeof e)throw new T("BAD_DATA","getNonce returned ill formed data",{context:JSON.stringify(e)});try{return BigInt(e)}catch(e){var t=F(e);throw new T("BAD_DATA","getNonce returned ill formed data",{cause:t})}})},function(e){var t=F(e);throw new T("BAD_DATA","getNonce failed",{cause:t})}))}catch(e){return Promise.reject(e)}},M=function(e,t,r,n,i){void 0===n&&(n={"Content-Type":"application/json"}),void 0===i&&(i="params");try{var o,s=a.default||a,u={method:"POST",headers:n,body:JSON.stringify(((o={method:t})[i]=r,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(e,u)).then(function(t){return Promise.resolve(t.json()).then(function(t){if("result"in t)return t.result;if("simulation_results"in t)return t.simulation_results;var r=t.error,n=String(r.code);throw new T(n in _?_[n]:"UNKNOWN_ERROR",r.message,{errno:r.code,context:{url:e,requestOptions:JSON.stringify(u)}})})})}catch(e){return Promise.reject(e)}};function B(e,t,n){var a,i,o=r.AbiCoder.defaultAbiCoder();if(t.toLowerCase()==E.toLowerCase()){a=r.keccak256(function(e){var t=[e.sender,e.nonce,r.keccak256(e.initCode),r.keccak256(e.callData),e.callGasLimit,e.verificationGasLimit,e.preVerificationGas,e.maxFeePerGas,e.maxPriorityFeePerGas,r.keccak256(e.paymasterAndData)];return r.AbiCoder.defaultAbiCoder().encode(["address","uint256","bytes32","bytes32","uint256","uint256","uint256","uint256","uint256","bytes32"],t)}(e));var s=o.encode(["bytes32","address","uint256"],[a,t,n]);i=r.keccak256(s)}else if(t.toLowerCase()==g.toLowerCase()){a=r.keccak256(function(e){var t=r.AbiCoder.defaultAbiCoder(),n="0x";null!=e.factory&&(n=e.factory,null!=e.factoryData&&(n+=e.factoryData.slice(2)));var a="0x"+t.encode(["uint128"],[e.verificationGasLimit]).slice(34)+t.encode(["uint128"],[e.callGasLimit]).slice(34),i="0x"+t.encode(["uint128"],[e.maxPriorityFeePerGas]).slice(34)+t.encode(["uint128"],[e.maxFeePerGas]).slice(34),o="0x";null!=e.paymaster&&(o=e.paymaster,null!=e.paymasterVerificationGasLimit&&(o+=t.encode(["uint128"],[e.paymasterVerificationGasLimit]).slice(34)),null!=e.paymasterPostOpGasLimit&&(o+=t.encode(["uint128"],[e.paymasterPostOpGasLimit]).slice(34)),null!=e.paymasterData&&(o+=e.paymasterData.slice(2)));var s=[e.sender,e.nonce,r.keccak256(n),r.keccak256(e.callData),a,e.preVerificationGas,i,r.keccak256(o)];return t.encode(["address","uint256","bytes32","bytes32","bytes32","uint256","bytes32","bytes32"],s)}(e));var u=o.encode(["bytes32","address","uint256"],[a,t,n]);i=r.keccak256(u)}else{a=r.keccak256(function(e){var t=r.AbiCoder.defaultAbiCoder(),n="0x";if(null!=e.factory){var a=e.eip7702Auth;n=null!=a&&null!=a.address?a.address:e.factory,null!=e.factoryData&&(n+=e.factoryData.slice(2))}var i="0x"+t.encode(["uint128"],[e.verificationGasLimit]).slice(34)+t.encode(["uint128"],[e.callGasLimit]).slice(34),o="0x"+t.encode(["uint128"],[e.maxPriorityFeePerGas]).slice(34)+t.encode(["uint128"],[e.maxFeePerGas]).slice(34),s="0x";null!=e.paymaster&&(s=e.paymaster,null!=e.paymasterVerificationGasLimit&&(s+=t.encode(["uint128"],[e.paymasterVerificationGasLimit]).slice(34)),null!=e.paymasterPostOpGasLimit&&(s+=t.encode(["uint128"],[e.paymasterPostOpGasLimit]).slice(34)),null!=e.paymasterData&&(s+=e.paymasterData.slice(2)));var u=["0x29a0bca4af4be3421398da00295e58e6d7de38cb492214754cb6a47507dd6f8e",e.sender,e.nonce,r.keccak256(n),r.keccak256(e.callData),i,e.preVerificationGas,o,r.keccak256(s)];return t.encode(["bytes32","address","uint256","bytes32","bytes32","bytes32","uint256","bytes32","bytes32"],u)}(e));var c=function(e){var t=r.AbiCoder.defaultAbiCoder().encode(["(bytes32,bytes32,bytes32,uint256,address)"],[["0x8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f","0x364da28a5c92bcc87fe97c8813a6c6b8a3a049b0ea0a328fcb0b4f0e00337586","0xc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6",e,y]]);return r.keccak256(t)}(n);i=r.keccak256("0x1901"+c.slice(2)+a.slice(2))}return i}function V(e,t,n){return e+r.AbiCoder.defaultAbiCoder().encode(t,n).slice(2)}function N(e){return r.id(e).slice(0,10)}function k(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 W="0x04";function j(e,t,n,a,i,o,s,u){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 c=[q(t),q(n),q(a),i,q(o),s,q(e),q(0n),q(0n)],l=r.keccak256(r.encodeRlp(c)),d=new r.Wallet(u).signingKey.sign(l);return c=[q(t),q(n),q(a),i,q(o),s,q(BigInt(d.yParity+2*Number(e)+35)),r.getBytes(d.r),r.getBytes(d.s)],r.encodeRlp(c)}function H(e,t,r,n){var a=Y(z(e,t,r),n);return{chainId:Z(e),address:t,nonce:Z(r),yParity:Z(BigInt(a.yParity)),r:Z(a.r),s:Z(a.s)}}function z(e,t,n){var a=[q(e),t,q(n)],i=r.encodeRlp(a);return r.keccak256("0x05"+i.slice(2))}function Y(e,t){var n=new r.Wallet(t).signingKey.sign(e);return{yParity:n.yParity,r:BigInt(n.r),s:BigInt(n.s)}}function J(e,t,n,a,i,o,s,u,c,l,d){var f=K(e,t,n,a,i,o,s,u,c,l),h=X(e,t,n,a,i,o,s,u,c,l),v=Y(f,d),m=h.concat([q(BigInt(v.yParity)),q(v.r),q(v.s)]),p=r.encodeRlp(m);return W+p.slice(2)}function K(e,t,n,a,i,o,s,u,c,l){var d=X(e,t,n,a,i,o,s,u,c,l);return r.keccak256(W+r.encodeRlp(d).slice(2))}function X(e,t,n,a,i,o,u,c,l,d){if(e>=Math.pow(2,64))throw RangeError("Invalide chainId.");if(t>=Math.pow(2,64))throw RangeError("Invalide nonce.");if(42!=o.length)throw RangeError("Invalide destination.");var f=function(e){for(var t,r=[],n=s(e);!(t=n()).done;){var a=t.value;if(42!=a.address.length)throw RangeError("Invalide authorization list address: "+a);var i=[q(a.chainId),a.address,q(a.nonce),q(BigInt(a.yParity)),q(a.r),q(a.s)];r.push(i)}return r}(d),h=function(e){for(var t,n=[],a=s(e);!(t=a()).done;){var i=t.value,o=i[0],u=i[1];if(42!=o.length)throw RangeError("Invalide access list address: "+o);for(var c,l=[],d=s(u);!(c=d()).done;){var f=c.value;if(66!=f.length)throw RangeError("Invalide access list storage: "+f);l.push(r.getBytes(f))}n.push([r.getBytes(o),l])}return n}(l);return[q(e),q(t),q(n),q(a),q(i),o,q(u),c,h,f]}function q(e){return r.getBytes(r.toBeArray(e))}function Z(e){var t=e.toString(16);return t.length%2?"0x0"+t:"0x"+t}function $(e,t){try{var r=e()}catch(e){return t(e)}return r&&r.then?r.then(void 0,t):r}var Q=/*#__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($(function(){return Promise.resolve(M(e.rpcUrl,"eth_chainId",[])).then(function(e){if("string"==typeof e)return e;throw new T("BAD_DATA","bundler eth_chainId rpc call failed")})},function(e){var t=F(e);throw new T("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($(function(){return Promise.resolve(M(e.rpcUrl,"eth_supportedEntryPoints",[]))},function(e){var t=F(e);throw new T("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($(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(M(n.rpcUrl,"eth_estimateUserOperationGas",[e,t])).then(function(e){i=e}):Promise.resolve(M(n.rpcUrl,"eth_estimateUserOperationGas",[e,t,r])).then(function(e){i=e});return o&&o.then?o.then(a):a()},function(e){var t=F(e);throw new T("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($(function(){return Promise.resolve(M(r.rpcUrl,"eth_sendUserOperation",[e,t]))},function(e){var t=F(e);throw new T("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($(function(){return Promise.resolve(M(t.rpcUrl,"eth_getUserOperationReceipt",[e])).then(function(e){var t=e;if(null!=t){var r=u({},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 u({},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=F(t);throw new T("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($(function(){return Promise.resolve(M(t.rpcUrl,"eth_getUserOperationByHash",[e])).then(function(e){return null!=e?u({},e,{blockNumber:null==e.blockNumber?null:BigInt(e.blockNumber)}):null})},function(t){var r=F(t);throw new T("BUNDLER_ERROR","bundler eth_getUserOperationByHash rpc call failed",{cause:r,context:{useroperationhash:e}})}))}catch(e){return Promise.reject(e)}},e}();function ee(e,t,r){if(!e.s){if(r instanceof te){if(!r.s)return void(r.o=ee.bind(null,e,t));1&t&&(t=r.s),r=r.v}if(r&&r.then)return void r.then(ee.bind(null,e,t),ee.bind(null,e,2));e.s=t,e.v=r;const n=e.o;n&&n(e)}}var te=/*#__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{ee(n,1,i(this.v))}catch(e){ee(n,2,e)}return n}return this}return this.o=function(e){try{var a=e.v;1&e.s?ee(n,1,t?t(a):a):r?ee(n,1,r(a)):ee(n,2,a)}catch(e){ee(n,2,e)}},n},e}();function re(e){return e instanceof te&&1&e.s}var ne=/*#__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 T("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(re(a)&&(a=a.v),!a)return i;if(a.then){n=0;break}var i=r();if(i&&i.then){if(!re(i)){n=1;break}i=i.s}}var o=new te,s=ee.bind(null,o,2);return(0===n?a.then(c):1===n?i.then(u):(void 0).then(function(){(a=e())?a.then?a.then(c).then(void 0,s):c(a):ee(o,1,i)})).then(void 0,s),o;function u(t){i=t;do{if(!(a=e())||re(a)&&!a.v)return void ee(o,1,i);if(a.then)return void a.then(c).then(void 0,s);re(i=r())&&(i=i.v)}while(!i||!i.then);i.then(u).then(void 0,s)}function c(e){e?(i=r())&&i.then?i.then(u).then(void 0,s):u(i):ee(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}(),ae=/*#__PURE__*/function(e){function t(r,n){var a,i;return void 0===n&&(n={}),(i=e.call(this,r)||this).entrypointAddress=void 0,i.entrypointAddress=null!=(a=n.entrypointAddress)?a:t.DEFAULT_ENTRYPOINT_ADDRESS,i}l(t,e),t.createAccountCallData=function(e,r,n){return V(t.executorFunctionSelector,t.executorFunctionInputAbi,[e,r,n])},t.createAccountCallDataSingleTransaction=function(e){var r,n,a=null!=(r=e.value)?r:0,i=null!=(n=e.data)?n:"0x";return t.createAccountCallData(e.to,a,i)},t.createAccountCallDataBatchTransactions=function(e){var r=[e.map(function(e){return[e.to,e.value,e.data]})];return V(t.batchExecutorFunctionSelector,t.batchExecutorFunctionInputAbi,r)};var n=t.prototype;return n.createUserOperation=function(e,r,n,a){void 0===a&&(a={});try{var i=function(r){var i,c,f,h,v,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 v.preVerificationGas=null!=(t=a.preVerificationGas)?t:F*BigInt(Math.floor(((null!=(r=a.preVerificationGasPercentageMultiplier)?r:0)+100)/100)),v.verificationGasLimit=null!=(n=a.verificationGasLimit)?n:R*BigInt(Math.floor(((null!=(i=a.verificationGasLimitPercentageMultiplier)?i:0)+100)/100)),v.callGasLimit=null!=(o=a.callGasLimit)?o:x*BigInt(Math.floor(((null!=(s=a.callGasLimitPercentageMultiplier)?s:0)+100)/100)),v}if(l=null!=(i=a.maxFeePerGas)?i:l*BigInt(Math.floor(((null!=(c=a.maxFeePerGasPercentageMultiplier)?c:0)+100)/100)),d=null!=(f=a.maxPriorityFeePerGas)?f:d*BigInt(Math.floor(((null!=(h=a.maxPriorityFeePerGasPercentageMultiplier)?h: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?t.createAccountCallDataSingleTransaction(e[0]):t.createAccountCallDataBatchTransactions(e):a.callData,null!=a.eip7702Auth){var E,b,P,D=null!=(E=a.eip7702Auth.yParity)?E:"0x0";if("0x0"!=D&&"0x00"!=D&&"0x1"!=D&&"0x01"!=D)throw new T("BAD_DATA","invalide yParity value for eoaDelegatorSignature. must be '0x0' or '0x1'");var _={chainId:Z(m),address:p,nonce:Z(A),yParity:D,r:null!=(b=a.eip7702Auth.r)?b:"0x4277ba564d2c138823415df0ec8e8f97f30825056d54ec5128a8b29ec2dd81b2",s:null!=(P=a.eip7702Auth.s)?P:"0x1075a1bec7f59848cca899ece93075199cd2aabceb0654b9ae00b881a30044cd"};v=u({},S,{sender:o.accountAddress,nonce:s,callData:y,maxFeePerGas:l,maxPriorityFeePerGas:d,factory:"0x7702",factoryData:null,paymaster:null,paymasterVerificationGasLimit:null,paymasterPostOpGasLimit:null,paymasterData:null,eip7702Auth:_})}else v=u({},S,{sender:o.accountAddress,nonce:s,callData:y,maxFeePerGas:l,maxPriorityFeePerGas:d,factory:null,factoryData:null,paymaster:null,paymasterVerificationGasLimit:null,paymasterPostOpGasLimit:null,paymasterData:null,eip7702Auth:null});var F=S.preVerificationGas,R=S.verificationGasLimit,x=S.callGasLimit,G=function(){if(null==a.preVerificationGas||null==a.verificationGasLimit||null==a.callGasLimit)return function(){if(null!=n){var e;v.callGasLimit=0n,v.verificationGasLimit=0n,v.preVerificationGas=0n;var r,i=v.maxFeePerGas,s=v.maxPriorityFeePerGas;return v.maxFeePerGas=0n,v.maxPriorityFeePerGas=0n,r=u({},v),v.signature=null!=(e=a.dummySignature)?e:t.dummySignature,Promise.resolve(o.estimateUserOperationGas(r,n,{stateOverrideSet:a.state_override_set})).then(function(e){F=e[0],R=e[1],x=e[2],R+=55000n,v.maxFeePerGas=i,v.maxPriorityFeePerGas=s})}throw new T("BAD_DATA","bundlerRpc cant't be null if preVerificationGas,verificationGasLimit and callGasLimit are not overriden")}()}();return G&&G.then?G.then(g):g()},o=this;if(e.length<1)throw RangeError("There should be at least one transaction");var s=null,c=null;if(null==a.nonce){if(null==r)throw new T("BAD_DATA","providerRpc cant't be null if nonce is not overriden");c=I(r,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=S.maxFeePerGas,d=S.maxPriorityFeePerGas,f=null;null!=a.maxFeePerGas&&null!=a.maxPriorityFeePerGas||(f=x(r,a.polygonGasStation,a.gasLevel));var h,v,m=null,p=null,A=null;null!=a.eip7702Auth&&(m=a.eip7702Auth.chainId,p=null!=(h=a.eip7702Auth.address)?h:t.DEFAULT_DELEGATEE_ADDRESS,A=null!=(v=a.eip7702Auth.nonce)?v:null);var y=function(){if(null!=a.eip7702Auth&&null==A){var e;if(null==r)throw new T("BAD_DATA","providerRpc cant't be null if eoaDelegatorNonce is not overriden");e=M(r,"eth_getTransactionCount",[o.accountAddress,"latest"]);var t=function(){if(null!=f&&null!=c)return Promise.resolve(Promise.all([e,c,f]).then(function(e){A=BigInt(e[0]),s=e[1];var t=e[2];l=t[0],d=t[1]})).then(function(){});var t=function(){if(null!=f)return Promise.resolve(Promise.all([e,f]).then(function(e){A=BigInt(e[0]);var t=e[1];l=t[0],d=t[1]})).then(function(){});var t=function(){if(null!=c)return Promise.resolve(Promise.all([e,f]).then(function(e){A=BigInt(e[0]),s=e[1]})).then(function(){});var t=BigInt;return Promise.resolve(e).then(function(e){A=t(e)})}();return t&&t.then?t.then(function(){}):void 0}();return t&&t.then?t.then(function(){}):void 0}();if(t&&t.then)return t.then(function(){})}else{var n=function(){if(null!=f&&null!=c)return Promise.resolve(Promise.all([c,f]).then(function(e){s=e[0];var t=e[1];l=t[0],d=t[1]})).then(function(){});var e=function(){if(null!=f)return Promise.resolve(f).then(function(e){l=e[0],d=e[1]});var e=function(){if(null!=c)return Promise.resolve(c).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,r,n){void 0===n&&(n={});try{var a;e.signature=null!=(a=n.dummySignature)?a:t.dummySignature;var i=new Q(r),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,n){var a=B(e,this.entrypointAddress,n);return new r.Wallet(t).signingKey.sign(a).serialized},n.sendUserOperation=function(e,t){try{var r=this,n=new Q(t);return Promise.resolve(n.sendUserOperation(e,r.entrypointAddress)).then(function(e){return new ne(e,n,r.entrypointAddress)})}catch(e){return Promise.reject(e)}},n.prependTokenPaymasterApproveToCallData=function(e,r,n,a){return t.prependTokenPaymasterApproveToCallDataStatic(e,r,n,a)},t.prependTokenPaymasterApproveToCallDataStatic=function(e,n,a,i){var o,s={to:n,value:0n,data:V(N("approve(address,uint256)"),["address","uint256"],[a,i])},u=r.AbiCoder.defaultAbiCoder();if(e.startsWith(t.batchExecutorFunctionSelector))o=u.decode(t.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(t.executorFunctionSelector))throw new T("BAD_DATA","Invalid calldata, should start with "+t.batchExecutorFunctionSelector+" or "+t.executorFunctionSelector,{context:{callData:e}});var c=u.decode(t.executorFunctionInputAbi,"0x"+e.slice(10));o=[{to:c[0],value:BigInt(c[1]),data:"string"!=typeof c[2]?(new TextDecoder).decode(c[2]):c[2]}]}return o.unshift(s),t.createAccountCallDataBatchTransactions(o)},t}(i);ae.DEFAULT_DELEGATEE_ADDRESS="0xe6Cae83BdE06E4c305530e199D7217f42808555B",ae.DEFAULT_ENTRYPOINT_ADDRESS=y,ae.executorFunctionSelector="0xb61d27f6",ae.executorFunctionInputAbi=["address","uint256","bytes"],ae.batchExecutorFunctionSelector="0x34fcd5be",ae.batchExecutorFunctionInputAbi=["(address,uint256,bytes)[]"],ae.dummySignature="0xd2614025fc173b86704caf37b2fb447f7618101a0d31f5f304c777024cef38a060a29ee43fcf0c46f9107d4f670b8a85c2c017a1fe9e4af891f24f0be6ba5d671c";var ie,oe=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(M(a,"tenderly_simulateBundle",i,{Accept:"application/json","Content-Type":"application/json","X-Access-Key":r},"simulations"))}catch(e){return Promise.reject(e)}},se=function(e,t,r,n,a,i,o,s,u,c){void 0===s&&(s=null),void 0===u&&(u=null),void 0===c&&(c=null);try{var l,d=[],f=a.toLowerCase();if("0x5ff137d4b0fdcd49dca30c7cf57e578a026d2789"==f)l="0x7fc98430eaedbb6070b35b39d798725049088348";else if("0x0000000071727de22e5e9d8baf0edac6f37da032"==f)l="0xefc2c1444ebcc4db75e7613d20c6a62ff67a167c";else{if("0x4337084d9e255ff0702461cf8895ce9e3b5ff108"!=f)throw RangeError("Invalid entrypoint: "+a);l="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:c,from:l,to:s,data:u}),d.push({chainId:n,blockNumber:c,from:a,to:i,data:o}),Promise.resolve(oe(e,t,r,d))}catch(e){return Promise.reject(e)}},ue=function(e,t,r,n,a,i,o,s,u,c){return void 0===s&&(s=null),void 0===u&&(u=null),void 0===c&&(c=null),Promise.resolve(se(e,t,r,n,a,i,o,s,u,c)).then(function(n){var a=n.map(function(e){return e.simulation.id});a.map(function(n){return fe(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 T("BAD_DATA","invalid number of simulations retuned",{context:JSON.stringify(n,function(e,t){return"bigint"==typeof t?"0x"+t.toString(16):t})})})},ce=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(se(e,t,r,n,a,i.sender,i.callData,s,u,o))}catch(e){return Promise.reject(e)}},le=function(e,t,n,a,i,o,s){void 0===s&&(s=null);try{var u=i.toLowerCase(),c=null,l=r.AbiCoder.defaultAbiCoder();if("initCode"in o&&"0x5ff137d4b0fdcd49dca30c7cf57e578a026d2789"==u)c="0x1fad948c"+l.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"+l.encode(["uint128"],[o.verificationGasLimit]).slice(34)+l.encode(["uint128"],[o.callGasLimit]).slice(34),h="0x"+l.encode(["uint128"],[o.maxPriorityFeePerGas]).slice(34)+l.encode(["uint128"],[o.maxFeePerGas]).slice(34),v="0x";null!=o.paymaster&&(v=o.paymaster,null!=o.paymasterVerificationGasLimit&&(v+=l.encode(["uint128"],[o.paymasterVerificationGasLimit]).slice(34)),null!=o.paymasterPostOpGasLimit&&(v+=l.encode(["uint128"],[o.paymasterPostOpGasLimit]).slice(34)),null!=o.paymasterData&&(v+=o.paymasterData.slice(2)));var m=l.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.");c="0x765e827f"+m.slice(2)}return Promise.resolve(oe(e,t,n,[{chainId:a,blockNumber:s,from:"0x1000000000000000000000000000000000000000",to:i,data:c}])).then(function(e){return e[0]})}catch(e){return Promise.reject(e)}},de=function(e,t,r,n,a,i,o){return void 0===o&&(o=null),Promise.resolve(le(e,t,r,n,a,i,o)).then(function(n){return Promise.resolve(fe(e,t,r,n.simulation.id)).then(function(){return{simulation:n,simulationShareLink:"https://dashboard.tenderly.co/shared/simulation/"+n.simulation.id}})})},fe=function(e,t,r,n){try{return Promise.resolve((a.default||a)("https://api.tenderly.co/api/v1/account/"+e+"/project/"+t+"/simulations/"+n+"/share",{method:"POST",headers:{Accept:"application/json","Content-Type":"application/json","X-Access-Key":r},redirect:"follow"})).then(function(a){var i=a.status;if(204!=i)throw new T("BAD_DATA","tenderly share simulation failed.",{context:{tenderlyAccountSlug:e,tenderlyProjectSlug:t,tenderlyAccessKey:r,tenderlySimulationId:n,status:i}})})}catch(e){return Promise.reject(e)}};e.SafeModuleExecutorFunctionSelector=void 0,(ie=e.SafeModuleExecutorFunctionSelector||(e.SafeModuleExecutorFunctionSelector={})).executeUserOpWithErrorString="0x541d63c8",ie.executeUserOp="0x7bb37428";var he={signer:"0xfD90FAd33ee8b58f32c00aceEad1358e4AFC23f9",signature:"0x47003599ffa7e9198f321afa774e34a12a959844efd6363b88896e9c24ed33cf4e1be876ef123a3c4467e7d451511434039539699f2baa2f44955fa3d1c1c6d81c",isContractSignature:!1},ve={signer:"0xfD90FAd33ee8b58f32c00aceEad1358e4AFC23f9",signature:"0x000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000e06c92f0ac5c4ef9e74721c23d80a9fc12f259ca84afb160f0890483539b9e6080d824c0e6c795157ad5d1ee5eff1ceeb3031009a595f9360919b83dd411c5a78d0000000000000000000000000000000000000000000000000000000000000025a24f744b28d73f066bf3203d145765a7bc735e6328168c8b03e476da3ad0d8fe0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001e226f726967696e223a2268747470733a2f2f736166652e676c6f62616c220000",isContractSignature:!0};function me(t){return"0x"+t.map(function(t){return i=null!=(a=(n=t).operation)?a:e.Operation.Call,o=r.getBytes(n.data),r.solidityPacked(["uint8","address","uint256","uint256","bytes"],[i,n.to,n.value,o.length,o]).slice(2);var n,a,i,o}).join("")}var pe=/*#__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 V(this.generatorFunctionSelector,this.generatorFunctionInputAbi,e)},e}(),Ae=/*#__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 l(t,e),t}(pe);function ye(e,t){try{var r=e()}catch(e){return t(e)}return r&&r.then?r.then(void 0,t):r}Ae.DEFAULT_FACTORY_ADDRESS="0x4e1DCf7AD4e460CfD30791CCC4F9c8a4f820ec67";var ge=/*#__PURE__*/function(t){function n(e,n,a,i){var o;if(void 0===i&&(i={}),(o=t.call(this,e)||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=n,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,n,a){void 0===t&&(t="Web"),void 0===n&&(n="abstractionkit"),void 0===a&&(a="0.2.21");var i=r.keccak256("0x"+Buffer.from(e,"utf8").toString("hex")).slice(-20),o=r.keccak256("0x"+Buffer.from(t,"utf8").toString("hex")).slice(-3),s=r.keccak256("0x"+Buffer.from(n,"utf8").toString("hex")).slice(-3),u=r.keccak256("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}l(n,t),n.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:Ae.DEFAULT_FACTORY_ADDRESS,c=null!=(o=t.singletonInitHash)?o:n.DEFAULT_SAFE_SINGLETON.singletonInitHash,l=r.keccak256(r.solidityPacked(["bytes32","uint256"],[r.keccak256(e),s])),d=r.solidityPackedKeccak256(["bytes1","address","bytes32","bytes32"],["0xff",u,l,c]).slice(-40);return r.getAddress("0x"+d)},n.createAccountCallDataSingleTransaction=function(t,r){var a,i,o,s;void 0===r&&(r={});var u=null!=(a=t.value)?a:0,c=null!=(i=t.data)?i:"0x",l=null!=(o=t.operation)?o:e.Operation.Call,d=null!=(s=r.safeModuleExecutorFunctionSelector)?s:n.DEFAULT_EXECUTOR_FUCNTION_SELECTOR;return n.createAccountCallData(t.to,u,c,l,{safeModuleExecutorFunctionSelector:d})},n.createAccountCallDataBatchTransactions=function(t,r){var a,i;if(void 0===r&&(r={}),t.length<1)throw RangeError("There should be at least one metaTransaction");var o=null!=(a=r.safeModuleExecutorFunctionSelector)?a:n.DEFAULT_EXECUTOR_FUCNTION_SELECTOR,s=null!=(i=r.multisendContractAddress)?i:n.DEFAULT_MULTISEND_CONTRACT_ADDRESS,u=V("0x8d80ff0a",["bytes"],[me(t)]);return n.createAccountCallData(s,0n,u,e.Operation.Delegate,{safeModuleExecutorFunctionSelector:o})},n.createAccountCallData=function(e,t,r,a,i){var o;return void 0===i&&(i={}),V(null!=(o=i.safeModuleExecutorFunctionSelector)?o:n.DEFAULT_EXECUTOR_FUCNTION_SELECTOR,n.executorFunctionInputAbi,[e,t,r,a])},n.decodeAccountCallData=function(t){var n=null;if(t.startsWith(e.SafeModuleExecutorFunctionSelector.executeUserOpWithErrorString)?n=e.SafeModuleExecutorFunctionSelector.executeUserOpWithErrorString:t.startsWith(e.SafeModuleExecutorFunctionSelector.executeUserOp)&&(n=e.SafeModuleExecutorFunctionSelector.executeUserOp),null!=n){var a,i=r.AbiCoder.defaultAbiCoder(),o="0x"+t.slice(10),s=i.decode(["address","uint256","bytes","uint8"],o);return a="string"!=typeof s[2]?(new TextDecoder).decode(s[2]):s[2],[{to:s[0],value:BigInt(s[1]),data:a,operation:Number(s[3])},n]}throw new T("BAD_DATA","Invalid calldata, should start with "+e.SafeModuleExecutorFunctionSelector.executeUserOpWithErrorString+" or "+e.SafeModuleExecutorFunctionSelector.executeUserOp,{context:{callData:t}})},n.prependTokenPaymasterApproveToCallDataStatic=function(t,a,i,o,s){var u;void 0===s&&(s={});var c=null!=(u=s.multisendContractAddress)?u:n.DEFAULT_MULTISEND_CONTRACT_ADDRESS,l=n.decodeAccountCallData(t),d=l[0],f=l[1],h=me([{to:a,value:0n,data:V(N("approve(address,uint256)"),["address","uint256"],[i,o]),operation:e.Operation.Call}]),v="",m="0x8d80ff0a";if(d.data.startsWith(m)){var p=function(e){return r.AbiCoder.defaultAbiCoder().decode(["bytes"],"0x"+e.slice(10))[0]}(d.data);v=p+h.slice(2)}else v=me([d])+h.slice(2);var A=V(m,["bytes"],[v]);return n.createAccountCallData(c,0n,A,e.Operation.Delegate,{safeModuleExecutorFunctionSelector:f})},n.formatEip712SignaturesToUseroperationSignature=function(e,t,r){var a,i;if(void 0===r&&(r={}),e.length!=t.length)throw RangeError("signersAddresses and signatures arrays should be the same length");var o=null!=(a=r.validAfter)?a:0n,s=null!=(i=r.validUntil)?i:0n,u=new Map;e.forEach(function(e,r){u.set(e.toLocaleLowerCase(),t[r])});var c=new Map(Array.from(u).sort()),l="0x"+Array.from(c.values()).reduce(function(e,t){return e+t.slice(2)},"");return n.formatEip712SingleSignatureToUseroperationSignature(l,{validAfter:o,validUntil:s})},n.getUserOperationEip712Hash=function(e,t,r){return void 0===r&&(r={}),"initCode"in e?n.getUserOperationEip712Hash_V6(e,t,r):n.getUserOperationEip712Hash_V7(e,t,r)},n.getUserOperationEip712Data=function(e,t,r){if("initCode"in e){var a=n.getUserOperationEip712Data_V6(e,t,r);return{domain:a.domain,types:a.types,messageValue:a.messageValue}}var i=n.getUserOperationEip712Data_V7(e,t,r);return{domain:i.domain,types:i.types,messageValue:i.messageValue}},n.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,c=null!=(i=r.entrypointAddress)?i:E,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:b,messageValue:d}},n.getUserOperationEip712Hash_V6=function(e,t,a){void 0===a&&(a={});var i=n.getUserOperationEip712Data_V6(e,t,a);return r.TypedDataEncoder.hash(i.domain,i.types,i.messageValue)},n.getUserOperationEip712Data_V7=function(e,t,n){var a,i,o,s;void 0===n&&(n={});var u=null!=(a=n.validAfter)?a:0n,c=null!=(i=n.validUntil)?i:0n,l=null!=(o=n.entrypointAddress)?o:g,d=null!=(s=n.safe4337ModuleAddress)?s:"0x75cf11467937ce3F2f357CE24ffc3DBF8fD5c226",f=r.AbiCoder.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:c,entryPoint:l};return{domain:{chainId:Number(t),verifyingContract:d},types:P,messageValue:m}},n.getUserOperationEip712Hash_V7=function(e,t,a){void 0===a&&(a={});var i=n.getUserOperationEip712Data_V7(e,t,a);return r.TypedDataEncoder.hash(i.domain,i.types,i.messageValue)},n.formatEip712SingleSignatureToUseroperationSignature=function(e,t){var n,a;void 0===t&&(t={});var i=null!=(n=t.validAfter)?n:0n,o=null!=(a=t.validUntil)?a:0n;if(i<0n)throw RangeError("validAfter can't be negative");if(o<0n)throw RangeError("validUntil can't be negative");return r.solidityPacked(["uint48","uint48","bytes"],[i,o,e])};var a=n.prototype;return a.sendUserOperation=function(e,t){try{var r=this,n=new Q(t);return Promise.resolve(n.sendUserOperation(e,r.entrypointAddress)).then(function(e){return new ne(e,n,r.entrypointAddress)})}catch(e){return Promise.reject(e)}},n.createAccountAddressAndFactoryAddressAndData=function(e,t,r,a){var i,o,s,u,c,l,d,f;if(e.length<1)throw RangeError("There should be at least one owner");var h,v=n.createBaseInitializerCallData(e,null!=(i=t.threshold)?i:1,r,a,null!=(o=t.multisendContractAddress)?o:n.DEFAULT_MULTISEND_CONTRACT_ADDRESS,null!=(s=t.webAuthnSharedSigner)?s:n.DEFAULT_WEB_AUTHN_SHARED_SIGNER,null!=(u=t.eip7212WebAuthnPrecompileVerifierForSharedSigner)?u:n.DEFAULT_WEB_AUTHN_PRECOMPILE,null!=(c=t.eip7212WebAuthnContractVerifierForSharedSigner)?c:n.DEFAULT_WEB_AUTHN_FCLP256_VERIFIER);h=null!=t.safeAccountFactoryAddress?new Ae(t.safeAccountFactoryAddress):new Ae;var m=null!=(l=t.safeAccountSingleton)?l:n.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]},n.createBaseInitializerCallData=function(t,r,a,i,o,u,c,l){if(void 0===o&&(o=n.DEFAULT_MULTISEND_CONTRACT_ADDRESS),void 0===u&&(u=n.DEFAULT_WEB_AUTHN_SHARED_SIGNER),void 0===c&&(c=n.DEFAULT_WEB_AUTHN_PRECOMPILE),void 0===l&&(l=n.DEFAULT_WEB_AUTHN_FCLP256_VERIFIER),t.length<1)throw RangeError("There should be at least one owner");if(r<1)throw RangeError("threshold should be at least one");if(r>t.length)throw RangeError("threshold can't be larger than number of owners");for(var d,f,h=V("0x8d0dc49f",["address[]"],[[a]]),v=!1,m=[],p=s(t);!(f=p()).done;){var y=f.value;"string"!=typeof y?v=!0:m.push(y)}if(v){var g=[];g.push({to:i,value:0n,data:h,operation:e.Operation.Delegate});for(var E,S=[],b=0,P=s(t);!(E=P()).done;){var D=E.value;if("string"!=typeof D){if(b>0)throw RangeError("Only one WebAuthn owner can be set during initialization");var _=V("0x0dd9692f",["uint256","uint256","uint176"],[D.x,D.y,"0x"+c.slice(-4)+l.slice(2)]);g.push({to:u,value:0n,data:_,operation:e.Operation.Delegate}),S.push(u),b++}else S.push(D)}d=[S,r,o,V("0x8d80ff0a",["bytes"],[me(g)]),a,A,0,A]}else d=[m,r,i,h,a,A,0,A];return V(n.initializerFunctionSelector,n.initializerFunctionInputAbi,d)},n.createFactoryAddressAndData=function(e,t,r,a){var i,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!=(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=n.createBaseInitializerCallData(e,null!=(s=t.threshold)?s:1,r,a,null!=(u=t.multisendContractAddress)?u:n.DEFAULT_MULTISEND_CONTRACT_ADDRESS,null!=(c=t.webAuthnSharedSigner)?c:n.DEFAULT_WEB_AUTHN_SHARED_SIGNER,null!=(l=t.eip7212WebAuthnPrecompileVerifierForSharedSigner)?l:n.DEFAULT_WEB_AUTHN_PRECOMPILE,null!=(d=t.eip7212WebAuthnContractVerifierForSharedSigner)?d:n.DEFAULT_WEB_AUTHN_FCLP256_VERIFIER);m=null!=t.safeAccountFactoryAddress?new Ae(t.safeAccountFactoryAddress):new Ae;var A=null!=(f=t.safeAccountSingleton)?f:n.DEFAULT_SAFE_SINGLETON,y=m.getFactoryGeneratorFunctionCallData([A.singletonAddress,p,v]);return[m.address,y]},a.prependTokenPaymasterApproveToCallData=function(e,t,r,a,i){var o;void 0===i&&(i={});var s=null!=(o=i.multisendContractAddress)?o:n.DEFAULT_MULTISEND_CONTRACT_ADDRESS;return n.prependTokenPaymasterApproveToCallDataStatic(e,t,r,a,{multisendContractAddress:s})},a.estimateUserOperationGas=function(e,t,r){void 0===r&&(r={});try{var a=0xffffffffffffn,i=0xffffffffffffn;if(null!=r.dummySignerSignaturePairs){if(null!=r.expectedSigners)throw RangeError("Can't use both dummySignerSignaturePairs and expectedSigners overrides.");if(r.dummySignerSignaturePairs.length<1)throw RangeError("Number of dummy signers signature pairs can't be less than 1");e.signature=n.formatSignaturesToUseroperationSignature(r.dummySignerSignaturePairs,{validAfter:a,validUntil:i})}else if(null!=r.expectedSigners){var o,s=n.createDummySignerSignaturePairForExpectedSigners(r.expectedSigners,{isInit:null!=(o="initCode"in e?e.initCode:e.factory)&&"0x"!=o,webAuthnSharedSigner:r.webAuthnSharedSigner,eip7212WebAuthnPrecompileVerifier:r.eip7212WebAuthnPrecompileVerifier,eip7212WebAuthnContractVerifier:r.eip7212WebAuthnContractVerifier,webAuthnSignerFactory:r.webAuthnSignerFactory,webAuthnSignerSingleton:r.webAuthnSignerSingleton,validAfter:a,validUntil:i});e.signature=n.formatSignaturesToUseroperationSignature(s,{validAfter:a,validUntil:i})}else e.signature.length<3&&(e.signature=n.formatSignaturesToUseroperationSignature([he],{validAfter:a,validUntil:i}));var u=new Q(t),c=e.maxFeePerGas,l=e.maxPriorityFeePerGas;return e.maxFeePerGas=0n,e.maxPriorityFeePerGas=0n,Promise.resolve(u.estimateUserOperationGas(e,this.entrypointAddress,r.stateOverrideSet)).then(function(t){return e.maxFeePerGas=c