@antseed/ants 0.1.26 → 0.1.28

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (93) hide show
  1. package/dist/ants-web/assets/{add-Cpgsy8l0.js → add-DlbQgs3_.js} +1 -1
  2. package/dist/ants-web/assets/{all-wallets-By40QU8Y.js → all-wallets-BK2qS6NL.js} +1 -1
  3. package/dist/ants-web/assets/{app-store-CIApg6AI.js → app-store-N3CL6qWP.js} +1 -1
  4. package/dist/ants-web/assets/{apple-Rf6wfEGw.js → apple-DozSeUy8.js} +1 -1
  5. package/dist/ants-web/assets/{arrow-bottom-Dyp_Auei.js → arrow-bottom-DwET6Nv7.js} +1 -1
  6. package/dist/ants-web/assets/{arrow-bottom-circle-B8k9MrbV.js → arrow-bottom-circle-DK1zW295.js} +1 -1
  7. package/dist/ants-web/assets/{arrow-left-CLdgmrIm.js → arrow-left-BrAknJU2.js} +1 -1
  8. package/dist/ants-web/assets/{arrow-right-DPvCapak.js → arrow-right-CI9Oks3m.js} +1 -1
  9. package/dist/ants-web/assets/{arrow-top-CbRgU-2w.js → arrow-top-CcmUiwgZ.js} +1 -1
  10. package/dist/ants-web/assets/{bank-BkxWiHPI.js → bank-Dfb62TSH.js} +1 -1
  11. package/dist/ants-web/assets/{basic--mqYkmKg.js → basic-CjAUtuVn.js} +1 -1
  12. package/dist/ants-web/assets/{browser-CrkiuZ_W.js → browser-Dj7Z1kBD.js} +1 -1
  13. package/dist/ants-web/assets/{card-CGOCJN5r.js → card-DCTb5zNI.js} +1 -1
  14. package/dist/ants-web/assets/{ccip-BLWydJ4b.js → ccip--1B43jeF.js} +1 -1
  15. package/dist/ants-web/assets/{checkmark-CRFh6EEG.js → checkmark-CZwJ78Lx.js} +1 -1
  16. package/dist/ants-web/assets/{checkmark-bold-BMTVckUj.js → checkmark-bold-BC28Cexr.js} +1 -1
  17. package/dist/ants-web/assets/{chevron-bottom-D_oSzcs5.js → chevron-bottom-BtCslGbi.js} +1 -1
  18. package/dist/ants-web/assets/{chevron-left-CqUDtsLJ.js → chevron-left-D3uVxABE.js} +1 -1
  19. package/dist/ants-web/assets/{chevron-right-BVDW7VpX.js → chevron-right-DkE5Kegl.js} +1 -1
  20. package/dist/ants-web/assets/{chevron-top-CqFu4OhM.js → chevron-top-C5KoeLUh.js} +1 -1
  21. package/dist/ants-web/assets/{chrome-store-Bfv55aEp.js → chrome-store-Dxfm2ORa.js} +1 -1
  22. package/dist/ants-web/assets/{clock-BegTMxFf.js → clock-BzaPMjig.js} +1 -1
  23. package/dist/ants-web/assets/{close-BwXdll18.js → close-BKLILSp5.js} +1 -1
  24. package/dist/ants-web/assets/{coinPlaceholder-xYa2CR0I.js → coinPlaceholder-DHGFpIzc.js} +1 -1
  25. package/dist/ants-web/assets/{compass-B1UScpPN.js → compass-CIOOMxuB.js} +1 -1
  26. package/dist/ants-web/assets/{copy-BBD151KO.js → copy-BRT-Qo9E.js} +1 -1
  27. package/dist/ants-web/assets/{core-B2uNd6_r.js → core-dFkoIyPJ.js} +3 -3
  28. package/dist/ants-web/assets/{cursor-CbQG7L3m.js → cursor-CovooXXI.js} +1 -1
  29. package/dist/ants-web/assets/{cursor-transparent-DISPS2hg.js → cursor-transparent-CEI7Uo9s.js} +1 -1
  30. package/dist/ants-web/assets/{desktop-Be5x12Qo.js → desktop-DqPIvD_j.js} +1 -1
  31. package/dist/ants-web/assets/{disconnect-t_MDFp40.js → disconnect-CjG-vhS0.js} +1 -1
  32. package/dist/ants-web/assets/{discord-BaL9pt7m.js → discord-C4mDPRgZ.js} +1 -1
  33. package/dist/ants-web/assets/{etherscan-CadqCeUz.js → etherscan-Dv4fm5ON.js} +1 -1
  34. package/dist/ants-web/assets/{exclamation-triangle-ZRLYbeYW.js → exclamation-triangle-D2iSwL4F.js} +1 -1
  35. package/dist/ants-web/assets/{extension-BFlmjRHX.js → extension-BWiabI_y.js} +1 -1
  36. package/dist/ants-web/assets/{external-link-BZEVd0_k.js → external-link-DRQjNZm2.js} +1 -1
  37. package/dist/ants-web/assets/{facebook-BDo304sQ.js → facebook-4_sWPfm_.js} +1 -1
  38. package/dist/ants-web/assets/{farcaster-DjyqWKf0.js → farcaster-BMUQahla.js} +1 -1
  39. package/dist/ants-web/assets/{filters-CVaRmWJY.js → filters-CVdpn-pB.js} +1 -1
  40. package/dist/ants-web/assets/{github-BDvqRy53.js → github-Fazo9Ng9.js} +1 -1
  41. package/dist/ants-web/assets/{google-CBhLHVOD.js → google-B2vT6QZk.js} +1 -1
  42. package/dist/ants-web/assets/{help-circle-CBRUkhBd.js → help-circle-CUkBnniI.js} +1 -1
  43. package/dist/ants-web/assets/{id-CVZi2a2N.js → id-BeH5ke0b.js} +1 -1
  44. package/dist/ants-web/assets/{image-B7HpULJt.js → image-CRg86FKb.js} +1 -1
  45. package/dist/ants-web/assets/{index-DpkZOplU.js → index-7ttZWn4u.js} +62 -62
  46. package/dist/ants-web/assets/index-C6TSwFK5.css +1 -0
  47. package/dist/ants-web/assets/{index-BtD9v56h.js → index-CDIBLXxv.js} +3 -3
  48. package/dist/ants-web/assets/{index-Bm8Gsewf.js → index-CQOq78xq.js} +1 -1
  49. package/dist/ants-web/assets/{index-LIvaXek6.js → index-DAMKuJIh.js} +1 -1
  50. package/dist/ants-web/assets/{index-BVYEEfsY.js → index-DIR15lga.js} +1 -1
  51. package/dist/ants-web/assets/{index.es-JElYAXQf.js → index.es-CoEUA0kG.js} +4 -4
  52. package/dist/ants-web/assets/{info-CRMxGh2D.js → info-DttPVoPz.js} +1 -1
  53. package/dist/ants-web/assets/{info-circle-D_mpuhqK.js → info-circle-Dkqa-siN.js} +1 -1
  54. package/dist/ants-web/assets/{lightbulb-CTUv6ILz.js → lightbulb-Dm4gXGc-.js} +1 -1
  55. package/dist/ants-web/assets/{mail-BSc7FZSW.js → mail-NfpgCHaC.js} +1 -1
  56. package/dist/ants-web/assets/{metamask-sdk--yA2ak24.js → metamask-sdk-C7pFdHLp.js} +1 -1
  57. package/dist/ants-web/assets/{mobile-DR5tQdjP.js → mobile-DCTvLORz.js} +1 -1
  58. package/dist/ants-web/assets/{more-DzVjMmnJ.js → more-DywQpHgt.js} +1 -1
  59. package/dist/ants-web/assets/{network-placeholder-N_7WQoF0.js → network-placeholder-3SXhPKTd.js} +1 -1
  60. package/dist/ants-web/assets/{nftPlaceholder-jKW2mEwH.js → nftPlaceholder-BRA_PIZG.js} +1 -1
  61. package/dist/ants-web/assets/{off-CYi7Nsne.js → off-CvdJExYE.js} +1 -1
  62. package/dist/ants-web/assets/{play-store-Bi8SlZFl.js → play-store-CwTSHd-9.js} +1 -1
  63. package/dist/ants-web/assets/{plus-MIRvs85M.js → plus-Bov7RaWs.js} +1 -1
  64. package/dist/ants-web/assets/{qr-code-CHp06hgY.js → qr-code-BmLa7tEw.js} +1 -1
  65. package/dist/ants-web/assets/{recycle-horizontal-B3HOsQAP.js → recycle-horizontal-ty08wbO3.js} +1 -1
  66. package/dist/ants-web/assets/{refresh-D1ebnEU0.js → refresh-QqOdCUg6.js} +1 -1
  67. package/dist/ants-web/assets/{reown-logo-DigTIupd.js → reown-logo-BSNpdnY9.js} +1 -1
  68. package/dist/ants-web/assets/{search-DBaFyDA5.js → search-Bb5lzcKZ.js} +1 -1
  69. package/dist/ants-web/assets/{secp256k1-t1v_G5sJ.js → secp256k1-BYIAG9Vl.js} +1 -1
  70. package/dist/ants-web/assets/{send-S7T5HKcc.js → send-UyY5pYJl.js} +1 -1
  71. package/dist/ants-web/assets/{swapHorizontal-DzG-4aDr.js → swapHorizontal-BWnJVlFx.js} +1 -1
  72. package/dist/ants-web/assets/{swapHorizontalBold-B4r_3EZP.js → swapHorizontalBold-CtBqvC6A.js} +1 -1
  73. package/dist/ants-web/assets/{swapHorizontalMedium-BkXOarga.js → swapHorizontalMedium-BObSx-48.js} +1 -1
  74. package/dist/ants-web/assets/{swapHorizontalRoundedBold-CB4E4Rmu.js → swapHorizontalRoundedBold-lh9cK6of.js} +1 -1
  75. package/dist/ants-web/assets/{swapVertical-Dsps_Pj5.js → swapVertical-DdrIJ3SV.js} +1 -1
  76. package/dist/ants-web/assets/{telegram-CgHdDezT.js → telegram-Y9ojCe2G.js} +1 -1
  77. package/dist/ants-web/assets/{three-dots-DG5Wffnh.js → three-dots-CVR73UW5.js} +1 -1
  78. package/dist/ants-web/assets/{twitch-BPCirM2B.js → twitch-DJswgYms.js} +1 -1
  79. package/dist/ants-web/assets/{twitterIcon-ChAVcYsh.js → twitterIcon-DnPXCJ2u.js} +1 -1
  80. package/dist/ants-web/assets/{verify-VWOYhzRz.js → verify-CbbZfjH1.js} +1 -1
  81. package/dist/ants-web/assets/{verify-filled-MXsS0ODv.js → verify-filled-MSTNLod3.js} +1 -1
  82. package/dist/ants-web/assets/{w3m-modal-B42I77Hk.js → w3m-modal-Cj-lZAwZ.js} +1 -1
  83. package/dist/ants-web/assets/{wallet-Bv-IFJQ7.js → wallet-Bhh1JFlp.js} +1 -1
  84. package/dist/ants-web/assets/{wallet-placeholder-MzStHJRr.js → wallet-placeholder-D3yeV4Lh.js} +1 -1
  85. package/dist/ants-web/assets/{walletconnect-VSO07F1i.js → walletconnect-CZSY4sTW.js} +1 -1
  86. package/dist/ants-web/assets/{warning-circle-DPcF-Ul-.js → warning-circle-Cp1omknM.js} +1 -1
  87. package/dist/ants-web/assets/{x-DktQJ0MU.js → x-DCAj5cUL.js} +1 -1
  88. package/dist/ants-web/index.html +2 -2
  89. package/dist/server.d.ts +9 -0
  90. package/dist/server.js +20 -15
  91. package/dist/server.js.map +1 -1
  92. package/package.json +2 -2
  93. package/dist/ants-web/assets/index-9ALlRD6p.css +0 -1
@@ -1 +1 @@
1
- import{r as T}from"./index-kzlEvkEN.js";import{h as y,j as k,k as I}from"./index-DpkZOplU.js";const q=()=>"9.1.0",v=t=>t.toString(16).padStart(2,"0"),C=t=>{const e=new Uint8Array(t/2);return window.crypto.getRandomValues(e),Array.from(e,v).join("")},R=()=>typeof window<"u"?C(10):new Date().getTime().toString(36);class g{}g.makeRequest=(t,e)=>({id:R(),method:t,params:e,env:{sdkVersion:q()}});g.makeResponse=(t,e,s)=>({id:t,success:!0,version:s,data:e});g.makeErrorResponse=(t,e,s)=>({id:t,success:!1,error:e,version:s});var r;(function(t){t.sendTransactions="sendTransactions",t.rpcCall="rpcCall",t.getChainInfo="getChainInfo",t.getSafeInfo="getSafeInfo",t.getTxBySafeTxHash="getTxBySafeTxHash",t.getSafeBalances="getSafeBalances",t.signMessage="signMessage",t.signTypedMessage="signTypedMessage",t.getEnvironmentInfo="getEnvironmentInfo",t.getOffChainSignature="getOffChainSignature",t.requestAddressBook="requestAddressBook",t.wallet_getPermissions="wallet_getPermissions",t.wallet_requestPermissions="wallet_requestPermissions"})(r||(r={}));var m;(function(t){t.requestAddressBook="requestAddressBook"})(m||(m={}));class H{constructor(e=null,s=!1){this.allowedOrigins=null,this.callbacks=new Map,this.debugMode=!1,this.isServer=typeof window>"u",this.isValidMessage=({origin:a,data:n,source:i})=>{const o=!n,l=!this.isServer&&i===window.parent,u=typeof n.version<"u"&&parseInt(n.version.split(".")[0]),B=typeof u=="number"&&u>=1;let p=!0;return Array.isArray(this.allowedOrigins)&&(p=this.allowedOrigins.find(P=>P.test(a))!==void 0),!o&&l&&B&&p},this.logIncomingMessage=a=>{console.info(`Safe Apps SDK v1: A message was received from origin ${a.origin}. `,a.data)},this.onParentMessage=a=>{this.isValidMessage(a)&&(this.debugMode&&this.logIncomingMessage(a),this.handleIncomingMessage(a.data))},this.handleIncomingMessage=a=>{const{id:n}=a,i=this.callbacks.get(n);i&&(i(a),this.callbacks.delete(n))},this.send=(a,n)=>{const i=g.makeRequest(a,n);if(this.isServer)throw new Error("Window doesn't exist");return window.parent.postMessage(i,"*"),new Promise((o,l)=>{this.callbacks.set(i.id,u=>{if(!u.success){l(new Error(u.error));return}o(u)})})},this.allowedOrigins=e,this.debugMode=s,this.isServer||window.addEventListener("message",this.onParentMessage)}}const b=t=>typeof t=="object"&&t!=null&&"domain"in t&&"types"in t&&"message"in t;T();class E{constructor(e){this.communicator=e}async getBySafeTxHash(e){if(!e)throw new Error("Invalid safeTxHash");return(await this.communicator.send(r.getTxBySafeTxHash,{safeTxHash:e})).data}async signMessage(e){const s={message:e};return(await this.communicator.send(r.signMessage,s)).data}async signTypedMessage(e){if(!b(e))throw new Error("Invalid typed data");return(await this.communicator.send(r.signTypedMessage,{typedData:e})).data}async send({txs:e,params:s}){if(!e||!e.length)throw new Error("No transactions were passed");const a={txs:e,params:s};return(await this.communicator.send(r.sendTransactions,a)).data}}const c={eth_call:"eth_call",eth_gasPrice:"eth_gasPrice",eth_getLogs:"eth_getLogs",eth_getBalance:"eth_getBalance",eth_getCode:"eth_getCode",eth_getBlockByHash:"eth_getBlockByHash",eth_getBlockByNumber:"eth_getBlockByNumber",eth_getStorageAt:"eth_getStorageAt",eth_getTransactionByHash:"eth_getTransactionByHash",eth_getTransactionReceipt:"eth_getTransactionReceipt",eth_getTransactionCount:"eth_getTransactionCount",eth_estimateGas:"eth_estimateGas",safe_setSettings:"safe_setSettings"},h={defaultBlockParam:(t="latest")=>t,returnFullTxObjectParam:(t=!1)=>t,blockNumberToHex:t=>Number.isInteger(t)?`0x${t.toString(16)}`:t};class A{constructor(e){this.communicator=e,this.call=this.buildRequest({call:c.eth_call,formatters:[null,h.defaultBlockParam]}),this.getBalance=this.buildRequest({call:c.eth_getBalance,formatters:[null,h.defaultBlockParam]}),this.getCode=this.buildRequest({call:c.eth_getCode,formatters:[null,h.defaultBlockParam]}),this.getStorageAt=this.buildRequest({call:c.eth_getStorageAt,formatters:[null,h.blockNumberToHex,h.defaultBlockParam]}),this.getPastLogs=this.buildRequest({call:c.eth_getLogs}),this.getBlockByHash=this.buildRequest({call:c.eth_getBlockByHash,formatters:[null,h.returnFullTxObjectParam]}),this.getBlockByNumber=this.buildRequest({call:c.eth_getBlockByNumber,formatters:[h.blockNumberToHex,h.returnFullTxObjectParam]}),this.getTransactionByHash=this.buildRequest({call:c.eth_getTransactionByHash}),this.getTransactionReceipt=this.buildRequest({call:c.eth_getTransactionReceipt}),this.getTransactionCount=this.buildRequest({call:c.eth_getTransactionCount,formatters:[null,h.defaultBlockParam]}),this.getGasPrice=this.buildRequest({call:c.eth_gasPrice}),this.getEstimateGas=s=>this.buildRequest({call:c.eth_estimateGas})([s]),this.setSafeSettings=this.buildRequest({call:c.safe_setSettings})}buildRequest(e){const{call:s,formatters:a}=e;return async n=>{a&&Array.isArray(n)&&a.forEach((l,u)=>{l&&(n[u]=l(n[u]))});const i={call:s,params:n||[]};return(await this.communicator.send(r.rpcCall,i)).data}}}const x="0x1626ba7e",O="0x20c13b0b",f=4001;class d extends Error{constructor(e,s,a){super(e),this.code=s,this.data=a,Object.setPrototypeOf(this,d.prototype)}}class S{constructor(e){this.communicator=e}async getPermissions(){return(await this.communicator.send(r.wallet_getPermissions,void 0)).data}async requestPermissions(e){if(!this.isPermissionRequestValid(e))throw new d("Permissions request is invalid",f);try{return(await this.communicator.send(r.wallet_requestPermissions,e)).data}catch{throw new d("Permissions rejected",f)}}isPermissionRequestValid(e){return e.every(s=>typeof s=="object"?Object.keys(s).every(a=>!!Object.values(m).includes(a)):!1)}}const w=(t,e)=>e.some(s=>s.parentCapability===t),V=()=>(t,e,s)=>{const a=s.value;return s.value=async function(){const n=new S(this.communicator);let i=await n.getPermissions();if(w(e,i)||(i=await n.requestPermissions([{[e]:{}}])),!w(e,i))throw new d("Permissions rejected",f);return a.apply(this)},s};var M=function(t,e,s,a){var n=arguments.length,i=n<3?e:a===null?a=Object.getOwnPropertyDescriptor(e,s):a,o;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")i=Reflect.decorate(t,e,s,a);else for(var l=t.length-1;l>=0;l--)(o=t[l])&&(i=(n<3?o(i):n>3?o(e,s,i):o(e,s))||i);return n>3&&i&&Object.defineProperty(e,s,i),i};class _{constructor(e){this.communicator=e}async getChainInfo(){return(await this.communicator.send(r.getChainInfo,void 0)).data}async getInfo(){return(await this.communicator.send(r.getSafeInfo,void 0)).data}async experimental_getBalances({currency:e="usd"}={}){return(await this.communicator.send(r.getSafeBalances,{currency:e})).data}async check1271Signature(e,s="0x"){const a=await this.getInfo(),n=y({abi:[{constant:!1,inputs:[{name:"_dataHash",type:"bytes32"},{name:"_signature",type:"bytes"}],name:"isValidSignature",outputs:[{name:"",type:"bytes4"}],payable:!1,stateMutability:"nonpayable",type:"function"}],functionName:"isValidSignature",args:[e,s]}),i={call:c.eth_call,params:[{to:a.safeAddress,data:n},"latest"]};try{return(await this.communicator.send(r.rpcCall,i)).data.slice(0,10).toLowerCase()===x}catch{return!1}}async check1271SignatureBytes(e,s="0x"){const a=await this.getInfo(),n=y({abi:[{constant:!1,inputs:[{name:"_data",type:"bytes"},{name:"_signature",type:"bytes"}],name:"isValidSignature",outputs:[{name:"",type:"bytes4"}],payable:!1,stateMutability:"nonpayable",type:"function"}],functionName:"isValidSignature",args:[e,s]}),i={call:c.eth_call,params:[{to:a.safeAddress,data:n},"latest"]};try{return(await this.communicator.send(r.rpcCall,i)).data.slice(0,10).toLowerCase()===O}catch{return!1}}calculateMessageHash(e){return k(e)}calculateTypedMessageHash(e){const s=typeof e.domain.chainId=="object"?e.domain.chainId.toNumber():Number(e.domain.chainId);let a=e.primaryType;if(!a){const n=Object.values(e.types),i=Object.keys(e.types).filter(o=>n.every(l=>l.every(({type:u})=>u.replace("[","").replace("]","")!==o)));if(i.length===0||i.length>1)throw new Error("Please specify primaryType");a=i[0]}return I({message:e.message,domain:{...e.domain,chainId:s,verifyingContract:e.domain.verifyingContract,salt:e.domain.salt},types:e.types,primaryType:a})}async getOffChainSignature(e){return(await this.communicator.send(r.getOffChainSignature,e)).data}async isMessageSigned(e,s="0x"){let a;if(typeof e=="string"&&(a=async()=>{const n=this.calculateMessageHash(e);return await this.isMessageHashSigned(n,s)}),b(e)&&(a=async()=>{const n=this.calculateTypedMessageHash(e);return await this.isMessageHashSigned(n,s)}),a)return await a();throw new Error("Invalid message type")}async isMessageHashSigned(e,s="0x"){const a=[this.check1271Signature.bind(this),this.check1271SignatureBytes.bind(this)];for(const n of a)if(await n(e,s))return!0;return!1}async getEnvironmentInfo(){return(await this.communicator.send(r.getEnvironmentInfo,void 0)).data}async requestAddressBook(){return(await this.communicator.send(r.requestAddressBook,void 0)).data}}M([V()],_.prototype,"requestAddressBook",null);class D{constructor(e={}){const{allowedDomains:s=null,debug:a=!1}=e;this.communicator=new H(s,a),this.eth=new A(this.communicator),this.txs=new E(this.communicator),this.safe=new _(this.communicator),this.wallet=new S(this.communicator)}}export{g as MessageFormatter,r as Methods,c as RPC_CALLS,m as RestrictedMethods,D as default,q as getSDKVersion,b as isObjectEIP712TypedData};
1
+ import{r as T}from"./index-kzlEvkEN.js";import{h as y,j as k,k as I}from"./index-7ttZWn4u.js";const q=()=>"9.1.0",v=t=>t.toString(16).padStart(2,"0"),C=t=>{const e=new Uint8Array(t/2);return window.crypto.getRandomValues(e),Array.from(e,v).join("")},R=()=>typeof window<"u"?C(10):new Date().getTime().toString(36);class g{}g.makeRequest=(t,e)=>({id:R(),method:t,params:e,env:{sdkVersion:q()}});g.makeResponse=(t,e,s)=>({id:t,success:!0,version:s,data:e});g.makeErrorResponse=(t,e,s)=>({id:t,success:!1,error:e,version:s});var r;(function(t){t.sendTransactions="sendTransactions",t.rpcCall="rpcCall",t.getChainInfo="getChainInfo",t.getSafeInfo="getSafeInfo",t.getTxBySafeTxHash="getTxBySafeTxHash",t.getSafeBalances="getSafeBalances",t.signMessage="signMessage",t.signTypedMessage="signTypedMessage",t.getEnvironmentInfo="getEnvironmentInfo",t.getOffChainSignature="getOffChainSignature",t.requestAddressBook="requestAddressBook",t.wallet_getPermissions="wallet_getPermissions",t.wallet_requestPermissions="wallet_requestPermissions"})(r||(r={}));var m;(function(t){t.requestAddressBook="requestAddressBook"})(m||(m={}));class H{constructor(e=null,s=!1){this.allowedOrigins=null,this.callbacks=new Map,this.debugMode=!1,this.isServer=typeof window>"u",this.isValidMessage=({origin:a,data:n,source:i})=>{const o=!n,l=!this.isServer&&i===window.parent,u=typeof n.version<"u"&&parseInt(n.version.split(".")[0]),B=typeof u=="number"&&u>=1;let p=!0;return Array.isArray(this.allowedOrigins)&&(p=this.allowedOrigins.find(P=>P.test(a))!==void 0),!o&&l&&B&&p},this.logIncomingMessage=a=>{console.info(`Safe Apps SDK v1: A message was received from origin ${a.origin}. `,a.data)},this.onParentMessage=a=>{this.isValidMessage(a)&&(this.debugMode&&this.logIncomingMessage(a),this.handleIncomingMessage(a.data))},this.handleIncomingMessage=a=>{const{id:n}=a,i=this.callbacks.get(n);i&&(i(a),this.callbacks.delete(n))},this.send=(a,n)=>{const i=g.makeRequest(a,n);if(this.isServer)throw new Error("Window doesn't exist");return window.parent.postMessage(i,"*"),new Promise((o,l)=>{this.callbacks.set(i.id,u=>{if(!u.success){l(new Error(u.error));return}o(u)})})},this.allowedOrigins=e,this.debugMode=s,this.isServer||window.addEventListener("message",this.onParentMessage)}}const b=t=>typeof t=="object"&&t!=null&&"domain"in t&&"types"in t&&"message"in t;T();class E{constructor(e){this.communicator=e}async getBySafeTxHash(e){if(!e)throw new Error("Invalid safeTxHash");return(await this.communicator.send(r.getTxBySafeTxHash,{safeTxHash:e})).data}async signMessage(e){const s={message:e};return(await this.communicator.send(r.signMessage,s)).data}async signTypedMessage(e){if(!b(e))throw new Error("Invalid typed data");return(await this.communicator.send(r.signTypedMessage,{typedData:e})).data}async send({txs:e,params:s}){if(!e||!e.length)throw new Error("No transactions were passed");const a={txs:e,params:s};return(await this.communicator.send(r.sendTransactions,a)).data}}const c={eth_call:"eth_call",eth_gasPrice:"eth_gasPrice",eth_getLogs:"eth_getLogs",eth_getBalance:"eth_getBalance",eth_getCode:"eth_getCode",eth_getBlockByHash:"eth_getBlockByHash",eth_getBlockByNumber:"eth_getBlockByNumber",eth_getStorageAt:"eth_getStorageAt",eth_getTransactionByHash:"eth_getTransactionByHash",eth_getTransactionReceipt:"eth_getTransactionReceipt",eth_getTransactionCount:"eth_getTransactionCount",eth_estimateGas:"eth_estimateGas",safe_setSettings:"safe_setSettings"},h={defaultBlockParam:(t="latest")=>t,returnFullTxObjectParam:(t=!1)=>t,blockNumberToHex:t=>Number.isInteger(t)?`0x${t.toString(16)}`:t};class A{constructor(e){this.communicator=e,this.call=this.buildRequest({call:c.eth_call,formatters:[null,h.defaultBlockParam]}),this.getBalance=this.buildRequest({call:c.eth_getBalance,formatters:[null,h.defaultBlockParam]}),this.getCode=this.buildRequest({call:c.eth_getCode,formatters:[null,h.defaultBlockParam]}),this.getStorageAt=this.buildRequest({call:c.eth_getStorageAt,formatters:[null,h.blockNumberToHex,h.defaultBlockParam]}),this.getPastLogs=this.buildRequest({call:c.eth_getLogs}),this.getBlockByHash=this.buildRequest({call:c.eth_getBlockByHash,formatters:[null,h.returnFullTxObjectParam]}),this.getBlockByNumber=this.buildRequest({call:c.eth_getBlockByNumber,formatters:[h.blockNumberToHex,h.returnFullTxObjectParam]}),this.getTransactionByHash=this.buildRequest({call:c.eth_getTransactionByHash}),this.getTransactionReceipt=this.buildRequest({call:c.eth_getTransactionReceipt}),this.getTransactionCount=this.buildRequest({call:c.eth_getTransactionCount,formatters:[null,h.defaultBlockParam]}),this.getGasPrice=this.buildRequest({call:c.eth_gasPrice}),this.getEstimateGas=s=>this.buildRequest({call:c.eth_estimateGas})([s]),this.setSafeSettings=this.buildRequest({call:c.safe_setSettings})}buildRequest(e){const{call:s,formatters:a}=e;return async n=>{a&&Array.isArray(n)&&a.forEach((l,u)=>{l&&(n[u]=l(n[u]))});const i={call:s,params:n||[]};return(await this.communicator.send(r.rpcCall,i)).data}}}const x="0x1626ba7e",O="0x20c13b0b",f=4001;class d extends Error{constructor(e,s,a){super(e),this.code=s,this.data=a,Object.setPrototypeOf(this,d.prototype)}}class S{constructor(e){this.communicator=e}async getPermissions(){return(await this.communicator.send(r.wallet_getPermissions,void 0)).data}async requestPermissions(e){if(!this.isPermissionRequestValid(e))throw new d("Permissions request is invalid",f);try{return(await this.communicator.send(r.wallet_requestPermissions,e)).data}catch{throw new d("Permissions rejected",f)}}isPermissionRequestValid(e){return e.every(s=>typeof s=="object"?Object.keys(s).every(a=>!!Object.values(m).includes(a)):!1)}}const w=(t,e)=>e.some(s=>s.parentCapability===t),V=()=>(t,e,s)=>{const a=s.value;return s.value=async function(){const n=new S(this.communicator);let i=await n.getPermissions();if(w(e,i)||(i=await n.requestPermissions([{[e]:{}}])),!w(e,i))throw new d("Permissions rejected",f);return a.apply(this)},s};var M=function(t,e,s,a){var n=arguments.length,i=n<3?e:a===null?a=Object.getOwnPropertyDescriptor(e,s):a,o;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")i=Reflect.decorate(t,e,s,a);else for(var l=t.length-1;l>=0;l--)(o=t[l])&&(i=(n<3?o(i):n>3?o(e,s,i):o(e,s))||i);return n>3&&i&&Object.defineProperty(e,s,i),i};class _{constructor(e){this.communicator=e}async getChainInfo(){return(await this.communicator.send(r.getChainInfo,void 0)).data}async getInfo(){return(await this.communicator.send(r.getSafeInfo,void 0)).data}async experimental_getBalances({currency:e="usd"}={}){return(await this.communicator.send(r.getSafeBalances,{currency:e})).data}async check1271Signature(e,s="0x"){const a=await this.getInfo(),n=y({abi:[{constant:!1,inputs:[{name:"_dataHash",type:"bytes32"},{name:"_signature",type:"bytes"}],name:"isValidSignature",outputs:[{name:"",type:"bytes4"}],payable:!1,stateMutability:"nonpayable",type:"function"}],functionName:"isValidSignature",args:[e,s]}),i={call:c.eth_call,params:[{to:a.safeAddress,data:n},"latest"]};try{return(await this.communicator.send(r.rpcCall,i)).data.slice(0,10).toLowerCase()===x}catch{return!1}}async check1271SignatureBytes(e,s="0x"){const a=await this.getInfo(),n=y({abi:[{constant:!1,inputs:[{name:"_data",type:"bytes"},{name:"_signature",type:"bytes"}],name:"isValidSignature",outputs:[{name:"",type:"bytes4"}],payable:!1,stateMutability:"nonpayable",type:"function"}],functionName:"isValidSignature",args:[e,s]}),i={call:c.eth_call,params:[{to:a.safeAddress,data:n},"latest"]};try{return(await this.communicator.send(r.rpcCall,i)).data.slice(0,10).toLowerCase()===O}catch{return!1}}calculateMessageHash(e){return k(e)}calculateTypedMessageHash(e){const s=typeof e.domain.chainId=="object"?e.domain.chainId.toNumber():Number(e.domain.chainId);let a=e.primaryType;if(!a){const n=Object.values(e.types),i=Object.keys(e.types).filter(o=>n.every(l=>l.every(({type:u})=>u.replace("[","").replace("]","")!==o)));if(i.length===0||i.length>1)throw new Error("Please specify primaryType");a=i[0]}return I({message:e.message,domain:{...e.domain,chainId:s,verifyingContract:e.domain.verifyingContract,salt:e.domain.salt},types:e.types,primaryType:a})}async getOffChainSignature(e){return(await this.communicator.send(r.getOffChainSignature,e)).data}async isMessageSigned(e,s="0x"){let a;if(typeof e=="string"&&(a=async()=>{const n=this.calculateMessageHash(e);return await this.isMessageHashSigned(n,s)}),b(e)&&(a=async()=>{const n=this.calculateTypedMessageHash(e);return await this.isMessageHashSigned(n,s)}),a)return await a();throw new Error("Invalid message type")}async isMessageHashSigned(e,s="0x"){const a=[this.check1271Signature.bind(this),this.check1271SignatureBytes.bind(this)];for(const n of a)if(await n(e,s))return!0;return!1}async getEnvironmentInfo(){return(await this.communicator.send(r.getEnvironmentInfo,void 0)).data}async requestAddressBook(){return(await this.communicator.send(r.requestAddressBook,void 0)).data}}M([V()],_.prototype,"requestAddressBook",null);class D{constructor(e={}){const{allowedDomains:s=null,debug:a=!1}=e;this.communicator=new H(s,a),this.eth=new A(this.communicator),this.txs=new E(this.communicator),this.safe=new _(this.communicator),this.wallet=new S(this.communicator)}}export{g as MessageFormatter,r as Methods,c as RPC_CALLS,m as RestrictedMethods,D as default,q as getSDKVersion,b as isObjectEIP712TypedData};