import{gasv,aasS}from"./index-D-Yr2Iya.js";import{easC}from"./index-DTOI1f4O.js";import{easH}from"./events-2fANA2U5.js";functiony(r,n){for(vari=0;i<n.length;i++){conste=n[i];if(typeofe!="string"&&!Array.isArray(e)){for(constdine)if(d!=="default"&&!(dinr)){constu=Object.getOwnPropertyDescriptor(e,d);u&&Object.defineProperty(r,d,u.get?u:{enumerable:!0,get:()=>e[d]})}}}returnObject.freeze(Object.defineProperty(r,Symbol.toStringTag,{value:"Module"}))}varx={},p={};constI=v(C);varf={};Object.defineProperty(f,"__esModule",{value:!0});f.numberToHex=f.getLowerCase=void0;functionE(r){returnr&&r.toLowerCase()}f.getLowerCase=E;functionA(r){return`0x${r.toString(16)}`}f.numberToHex=A;Object.defineProperty(p,"__esModule",{value:!0});p.SafeAppProvider=void0;constl=I,N=H,o=f;classPextendsN.EventEmitter{constructor(n,i){super(),this.submittedTxs=newMap,this.safe=n,this.sdk=i}asyncconnect(){this.emit("connect",{chainId:this.chainId})}asyncdisconnect(){}getchainId(){returnthis.safe.chainId}asyncrequest(n){vard,u,w,T;const{method:i,params:e=[]}=n;switch(i){case"eth_accounts":return[this.safe.safeAddress];case"net_version":case"eth_chainId":return(0,o.numberToHex)(this.chainId);case"personal_sign":{const[s,t]=e;if(this.safe.safeAddress.toLowerCase()!==t.toLowerCase())thrownewError("The address or message hash is invalid");consta=awaitthis.sdk.txs.signMessage(s);return("signature"ina?a.signature:void0)||"0x"}case"eth_sign":{const[s,t]=e;if(this.safe.safeAddress.toLowerCase()!==s.toLowerCase()||!t.startsWith("0x"))thrownewError("The address or message hash is invalid");consta=awaitthis.sdk.txs.signMessage(t);return("signature"ina?a.signature:void0)||"0x"}case"eth_signTypedData":case"eth_signTypedData_v4":{const[s,t]=e,a=typeoft=="string"?JSON.parse(t):t;if(this.safe.safeAddress.toLowerCase()!==s.toLowerCase())thrownewError("The address is invalid");consth=awaitthis.sdk.txs.signTypedMessage(a);return("signature"inh?h.signature:void0)||"0x"}case"eth_sendTransaction":constc={...e[0],value:e[0].value||"0",data:e[0].data||"0x"};typeofc.gas=="string"&&c.gas.startsWith("0x")&&(c.gas=parseInt(c.gas,16));constm=awaitthis.sdk.txs.send({txs:[c],params:{safeTxGas:c.gas}});returnthis.submittedTxs.set(m.safeTxHash,{from:this.safe.safeAddress,hash:m.safeTxHash,gas:0,gasPrice:"0x00",nonce:0,input:c.data,value:c.value,to:c.to,blockHash:null,blockNumber:null,transactionIndex:null}),m.safeTxHash;case"eth_blockNumber":return(awaitthis.sdk.eth.getBlockByNumber(["latest"])).number;case"eth_getBalance":returnthis.sdk.eth.getBalance([(0,o.getLowerCase)(e[0]),e[1]]);case"eth_getCode":returnthis.sdk.eth.getCode([(0,o.getLowerCase)(e[0]),e[1]]);case"eth_getTransactionCount":returnthis.sdk.eth.getTransactionCount([(0,o.getLowerCase)(e[0]),e[1]]);case"eth_getStorageAt":returnthis.sdk.eth.getStorageAt([(0,o.getLowerCase)(e[0]),e[1],e[2]]);case"eth_getBlockByNumber":returnthis.sdk.eth.getBlockByNumber([e[0],e[1]]);case"eth_getBlockByHash":returnthis.sdk.eth.getBlockByHash([e[0],e[1]]);case"eth_getTransactionByHash":letg=e[0];try{g=(awaitthis.sdk.txs.getBySafeTxHash(g)).txHash||g}catch{}returnthis.submittedTxs.has(g)?this.submittedTxs.get(g):this.sdk.eth.getTransactionByHash([g]).then(s=>(s&&(s.hash=e[0]),s));case"eth_getTransactionReceipt":{lets=e[0];try{s=(awaitthis.sdk.txs.getBySafeTxHash(s)).txHash||s}catch{}returnthis.sdk.eth.getTransactionReceipt([s]).then(t=>(t&&(t.transactionHash=e[0]),t))}case"eth_estimateGas":returnthis.sdk.eth.getEstimateGas(e[0]);case"eth_call":returnthis.sdk.eth.call([e[0],e[1]]);case"eth_getLogs":returnthis.sdk.eth.getPastLogs([e[0]]);case"eth_gasPrice":returnthis.sdk.eth.getGasPrice();case"wallet_getPermissions":returnthis.sdk.wallet.getPermissions();case"wallet_requestPermissions":returnthis.sdk.wallet.requestPermissions(e[0]);case"safe_setSettings":returnthis.sdk.eth.setSafeSettings([e[0]]);case"wallet_sendCalls":{if(e[0].from!==this.safe.safeAddress)throwError("Invalid from address");consts=e[0].calls.map((a,h)=>{if(a.chainId!==(0,o.numberToHex)(this.chainI