1!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},t=(new e.Error).stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="f1627108-0f3e-405e-9ae5-85573ff4e9f5",e._sentryDebugIdIdentifier="sentry-dbid-f1627108-0f3e-405e-9ae5-85573ff4e9f5")}catch(e){}}();"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[5395],{95395:function(e,t,n){n.d(t,{default:function(){return eC}});let s=()=>"9.1.0",i=e=>e.toString(16).padStart(2,"0"),r=e=>{let t=new Uint8Array((e||40)/2);return window.crypto.getRandomValues(t),Array.from(t,i).join("")},a=()=>"undefined"!=typeof window?r(10):new Date().getTime().toString(36);class o{}o.makeRequest=(e,t)=>({id:a(),method:e,params:t,env:{sdkVersion:s()}}),o.makeResponse=(e,t,n)=>({id:e,success:!0,version:n,data:t}),o.makeErrorResponse=(e,t,n)=>({id:e,success:!1,error:t,version:n}),(et=en||(en={})).sendTransactions="sendTransactions",et.rpcCall="rpcCall",et.getChainInfo="getChainInfo",et.getSafeInfo="getSafeInfo",et.getTxBySafeTxHash="getTxBySafeTxHash",et.getSafeBalances="getSafeBalances",et.signMessage="signMessage",et.signTypedMessage="signTypedMessage",et.getEnvironmentInfo="getEnvironmentInfo",et.getOffChainSignature="getOffChainSignature",et.requestAddressBook="requestAddressBook",et.wallet_getPermissions="wallet_getPermissions",et.wallet_requestPermissions="wallet_requestPermissions",(es||(es={})).requestAddressBook="requestAddressBook";class u{constructor(e=null,t=!1){this.allowedOrigins=null,this.callbacks=new Map,this.debugMode=!1,this.isServer="undefined"==typeof window,this.isValidMessage=({origin:e,data:t,source:n})=>{let s=!this.isServer&&n===window.parent,i=void 0!==t.version&&parseInt(t.version.split(".")[0]),r=!0;return Array.isArray(this.allowedOrigins)&&(r=void 0!==this.allowedOrigins.find(t=>t.test(e))),!!t&&s&&"number"==typeof i&&i>=1&&r},this.logIncomingMessage=e=>{console.info(`Safe Apps SDK v1: A message was received from origin ${e.origin}. `,e.data)},this.onParentMessage=e=>{this.isValidMessage(e)&&(this.debugMode&&this.logIncomingMessage(e),this.handleIncomingMessage(e.data))},this.handleIncomingMessage=e=>{let{id:t}=e,n=this.callbacks.get(t);n&&(n(e),this.callbacks.delete(t))},this.send=(e,t)=>{let n=o.makeRequest(e,t);if(this.isServer)throw Error("Window doesn't exist");return window.parent.postMessage(n,"*"),new Promise((e,t)=>{this.callbacks.set(n.id,n=>{if(!n.success){t(Error(n.error));return}e(n)})})},this.allowedOrigins=e,this.debugMode=t,this.isServer||window.addEventListener("message",this.onParentMessage)}}let l=e=>"object"==typeof e&&null!=e&&"domain"in e&&"types"in e&&"message"in e;n(57703);class c{constructor(e){this.communicator=e}async getBySafeTxHash(e){if(!e)throw Error("Invalid safeTxHash");return(await this.communicator.send(en.getTxBySafeTxHash,{safeTxHash:e})).data}async signMessage(e){return(await this.communicator.send(en.signMessage,{message:e})).data}async signTypedMessage(e){if(!l(e))throw Error("Invalid typed data");return(await this.communicator.send(en.signTypedMessage,{typedData:e})).data}async send({txs:e,params:t}){if(!e||!e.length)throw Error("No transactions were passed");return(await this.communicator.send(en.sendTransactions,{txs:e,params:t})).data}}let d="eth_call",f=(e="latest")=>e,p=(e=!1)=>e,h=e=>Number.isInteger(e)?`0x${e.toString(16)}`:e;class y{constructor(e){this.communicator=e,this.call=this.buildRequest({call:d,formatters:[null,f]}),this.getBalance=this.buildRequest({call:"eth_getBalance",formatters:[null,f]}),this.getCode=this.buildRequest({call:"eth_getCode",formatters:[null,f]}),this.getStorageAt=this.buildRequest({call:"eth_getStorageAt",formatters:[null,h,f]}),this.getPastLogs=this.buildRequest({call:"eth_getLogs"}),this.getBlockByHash=this.buildRequest({call:"eth_getBlockByHash",formatters:[null,p]}),this.getBlockByNumber=this.buildRequest({call:"eth_getBlockByNumber",formatters:[h,p]}),this.getTransactionByHash=this.buildRequest({call:"eth_getTransactionByHash"}),this.getTransactionReceipt=this.buildRequest({call:"eth_getTransactionReceipt"}),this.getTransactionCount=this.buildRequest({call:"eth_getTransactionCount",formatters:[null,f]}),this.getGasPrice=this.buildRequest({call:"eth_gasPrice"}),this.getEstimateGas=e=>this.buildRequest({call:"eth_estimateGas"})([e]),this.setSafeSettings=this.buildRequest({call:"safe_setSettings"})}buildRequest(e){let{call:t,formatters:n}=e;return async e=>
1(n&&Array.isArray(e)&&n.forEach((t,n)=>{t&&(e[n]=t(e[n]))}),(await this.communicator.send(en.rpcCall,{call:t,params:e||[]})).data)}}function g(e){return"string"==typeof e[0]?m(e):function(e){let t=0;for(let n of e)t+=n.length;let n=new Uint8Array(t),s=0;for(let t of e)n.set(t,s),s+=t.length;return n}(e)}function m(e){return`0x${e.reduce((e,t)=>e+t.replace("0x",""),"")}`}function b(e,{includeName:t=!1}={}){if("function"!==e.type&&"event"!==e.type&&"error"!==e.type)throw new T(e.type);return`${e.name}(${function e(t,{includeName:n=!1}={}){return t?t.map(t=>(function(t,{includeName:n}){return t.type.startsWith("tuple")?`(${e(t.components,{includeName:n})})${t.type.slice(5)}`:t.type+(n&&t.name?` ${t.name}`:"")})(t,{includeName:n})).join(n?", ":","):""}(e.inputs,{includeName:t})})`}function w(e,{strict:t=!0}={}){return!!e&&"string"==typeof e&&(t?/^0x[0-9a-fA-F]*$/.test(e):e.startsWith("0x"))}function v(e){return w(e,{strict:!1})?Math.ceil((e.length-2)/2):e.length}let $="2.23.1",x={getDocsUrl:({docsBaseUrl:e,docsPath:t="",docsSlug:n})=>t?`${e??"https://viem.sh"}${t}${n?`#${n}`:""}`:void 0,version:`viem@${$}`};class S extends Error{constructor(e,t={}){let n=t.cause instanceof S?t.cause.details:t.cause?.message?t.cause.message:t.details,s=t.cause instanceof S&&t.cause.docsPath||t.docsPath,i=x.getDocsUrl?.({...t,docsPath:s});super([e||"An error occurred.","",...t.metaMessages?[...t.metaMessages,""]:[],...i?[`Docs: ${i}`]:[],...n?[`Details: ${n}`]:[],...x.version?[`Version: ${x.version}`]:[]].join("\n"),t.cause?{cause:t.cause}:void 0),Object.defineProperty(this,"details",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"docsPath",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"metaMessages",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"shortMessage",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"version",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"BaseError"}),this.details=n,this.docsPath=s,this.metaMessages=t.metaMessages,this.name=t.name??this.name,this.shortMessage=e,this.version=$}walk(e){return function e(t,n){return n?.(t)?t:t&&"object"==typeof t&&"cause"in t&&void 0!==t.cause?e(t.cause,n):n?null:t}(this,e)}}class I extends S{constructor({expectedLength:e,givenLength:t,type:n}){super(`ABI encoding array length mismatch for type ${n}. 2Expected length: ${e} 3Given length: ${t}`,{name:"AbiEncodingArrayLengthMismatchError"})}}class z extends S{constructor({expectedSize:e,value:t}){super(`Size of bytes "${t}" (bytes${v(t)}) does not match expected size (bytes${e}).`,{name:"AbiEncodingBytesSizeMismatchError"})}}class A extends S{constructor({expectedLength:e,givenLength:t}){super(`ABI encoding params/values length mismatch. 4Expected length (params): ${e} 5Given length (values): ${t}`,{name:"AbiEncodingLengthMismatchError"})}}class M extends S{constructor(e,{docsPath:t}={}){super(`Function ${e?`"${e}" `:""}not found on ABI. 6Make sure you are using the correct ABI and that the function exists on it.`,{docsPath:t,name:"AbiFunctionNotFoundError"})}}class E extends S{constructor(e,t){super("Found ambiguous types in overloaded ABI items.",{metaMessages:[`\`${e.type}\` in \`${b(e.abiItem)}\`, and`,`\`${t.type}\` in \`${b(t.abiItem)}\``,"","These types encode differently and cannot be distinguished at runtime.","Remove one of the ambiguous items in the ABI."],name:"AbiItemAmbiguityError"})}}class B extends S{constructor({expectedSize:e,givenSize:t}){super(`Expected bytes${e}, got bytes${t}.`,{name:"BytesSizeMismatchError"})}}class P extends S{constructor(e,{docsPath:t}){super(`Type "${e}" is not a valid encoding type. 7Please provide a valid ABI type.`,{docsPath:t,name:"InvalidAbiEncodingType"})}}class k extends S{constructor(e){super(`Value "${e}" is not a valid array.`,{name:"InvalidArrayError"})}}class T extends S{constructor(e){super(`"${e}" is not a valid definition type. 8Valid types: "function", "event", "error"`,{name:"InvalidDefinitionTypeError"})}}class O extends S{constructor({address:e}){super(`Address "${e}
8" is invalid.`,{metaMessages:["- Address must be a hex value of 20 bytes (40 hex characters).","- Address must match its checksum counterpart."],name:"InvalidAddressError"})}}class C extends S{constructor({max:e,min:t,signed:n,size:s,value:i}){super(`Number "${i}" is not in safe ${s?`${8*s}-bit ${n?"signed":"unsigned"} `:""}integer range ${e?`(${t} to ${e})`:`(above ${t})`}`,{name:"IntegerOutOfRangeError"})}}class _ extends S{constructor({givenSize:e,maxSize:t}){super(`Size cannot exceed ${t} bytes. Given size: ${e} bytes.`,{name:"SizeOverflowError"})}}class q extends Map{constructor(e){super(),Object.defineProperty(this,"maxSize",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.maxSize=e}get(e){let t=super.get(e);return super.has(e)&&void 0!==t&&(this.delete(e),super.set(e,t)),t}set(e,t){if(super.set(e,t),this.maxSize&&this.size>this.maxSize){let e=this.keys().next().value;e&&this.delete(e)}return this}}class j extends S{constructor({offset:e,position:t,size:n}){super(`Slice ${"start"===t?"starting":"ending"} at offset "${e}" is out-of-bounds (size: ${n}).`,{name:"SliceOffsetOutOfBoundsError"})}}class R extends S{constructor({size:e,targetSize:t,type:n}){super(`${n.charAt(0).toUpperCase()}${n.slice(1).toLowerCase()} size (${e}) exceeds padding size (${t}).`,{name:"SizeExceedsPaddingSizeError"})}}function N(e,{dir:t,size:n=32}={}){return"string"==typeof e?D(e,{dir:t,size:n}):function(e,{dir:t,size:n=32}={}){if(null===n)return e;if(e.length>n)throw new R({size:e.length,targetSize:n,type:"bytes"});let s=new Uint8Array(n);for(let i=0;i<n;i++){let r="right"===t;s[r?i:n-i-1]=e[r?i:e.length-i-1]}return s}(e,{dir:t,size:n})}function D(e,{dir:t,size:n=32}={}){if(null===n)return e;let s=e.replace("0x","");if(s.length>2*n)throw new R({size:Math.ceil(s.length/2),targetSize:n,type:"hex"});return`0x${s["right"===t?"padEnd":"padStart"](2*n,"0")}`}function H(e,{size:t}){if(v(e)>t)throw new _({givenSize:v(e),maxSize:t})}let L=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,"0"));function V(e,t={}){return"number"==typeof e||"bigint"==typeof e?F(e,t):"string"==typeof e?J(e,t):"boolean"==typeof e?U(e,t):W(e,t)}function U(e,t={}){let n=`0x${Number(e)}`;return"number"==typeof t.size?(H(n,{size:t.size}),N(n,{size:t.size})):n}function W(e,t={}){let n="";for(let t=0;t<e.length;t++)n+=L[e[t]];let s=`0x${n}`;return"number"==typeof t.size?(H(s,{size:t.size}),N(s,{dir:"right",size:t.size})):s}function F(e,t={}){let n;let{signed:s,size:i}=t,r=BigInt(e);i?n=s?(1n<<8n*BigInt(i)-1n)-1n:2n**(8n*BigInt(i))-1n:"number"==typeof e&&(n=BigInt(Number.MAX_SAFE_INTEGER));let a="bigint"==typeof n&&s?-n-1n:0;if(n&&r>n||r<a){let t="bigint"==typeof e?"n":"";throw new C({max:n?`${n}${t}`:void 0,min:`${a}${t}`,signed:s,size:i,value:`${e}${t}`})}let o=`0x${(s&&r<0?(1n<<BigInt(8*i))+BigInt(r):r).toString(16)}`;return i?N(o,{size:i}):o}let G=new TextEncoder;function J(e,t={}){return W(G.encode(e),t)}let K=new TextEncoder;function X(e,t={}){return"number"==typeof e||"bigint"==typeof e?Z(F(e,t)):"boolean"==typeof e?function(e,t={}){let n=new Uint8Array(1);return(n[0]=Number(e),"number"==typeof t.size)?(H(n,{size:t.size}),N(n,{size:t.size})):n}(e,t):w(e)?Z(e,t):ee(e,t)}let Q={zero:48,nine:57,A:65,F:70,a:97,f:102};function Y(e){return e>=Q.zero&&e<=Q.nine?e-Q.zero:e>=Q.A&&e<=Q.F?e-(Q.A-10):e>=Q.a&&e<=Q.f?e-(Q.a-10):void 0}function Z(e,t={}){let n=e;t.size&&(H(n,{size:t.size}),n=N(n,{dir:"right",size:t.size}));let s=n.slice(2);s.length%2&&(s=`0${s}`);let i=s.length/2,r=new Uint8Array(i);for(let e=0,t=0;e<i;e++){let n=Y(s.charCodeAt(t++)),i=Y(s.charCodeAt(t++));if(void 0===n||void 0===i)throw new S(`Invalid byte sequence ("${s[t-2]}${s[t-1]}" in "${s}").`);r[e]=16*n+i}return r}function ee(e,t={}){let n=K.encode(e);return"number"==typeof t.size?(H(n,{size:t.size}),N(n,{dir:"right",size:t.size})):n}var et,en,es,ei=n(15866);function er(e,t){let n=(0,ei.fr)(w(e,{strict:!1})?X(e):e);return"bytes"===(t||"hex")?n:V(n)}let ea=new q(8192),eo=/^0x[a-fA-F0-9]{40}$/,eu=new q(8192);function el(e,t){let{strict:n=!0}=t??{},s=`${e}.${n}`;if(eu.has(s))return eu.get(s);let i=!!eo.test(e)&&(e.toLowerCase()===e||!n||function(e,t){if(ea.has(`${e}.undefined`))return ea.get(`${e}.undefined`);let n=e.substring(2).toLowerCase(),s=er(ee(n),"bytes"),i=(t?n.substring(`${t}0x`.length):n).split("");for(let e=0;e<40;e+=2)s[e>>1]>>4>=8&&i[e]&&(i[e]=i[e].toUpperCase()),(15&s[e>>1])>
8=8&&i[e+1]&&(i[e+1]=i[e+1].toUpperCase());let r=`0x${i.join("")}`;return ea.set(`${e}.${t}`,r),r}(e)===e);return eu.set(s,i),i}function ec(e,t,n,{strict:s}={}){return w(e,{strict:!1})?function(e,t,n,{strict:s}={}){ed(e,t);let i=`0x${e.replace("0x","").slice((t??0)*2,(n??e.length)*2)}`;return s&&ef(i,t,n),i}(e,t,n,{strict:s}):function(e,t,n,{strict:s}={}){ed(e,t);let i=e.slice(t,n);return s&&ef(i,t,n),i}(e,t,n,{strict:s})}function ed(e,t){if("number"==typeof t&&t>0&&t>v(e)-1)throw new j({offset:t,position:"start",size:v(e)})}function ef(e,t,n){if("number"==typeof t&&"number"==typeof n&&v(e)!==n-t)throw new j({offset:n,position:"end",size:v(e)})}let ep=/^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/,eh=/^(u?int)(8|16|24|32|40|48|56|64|72|80|88|96|104|112|120|128|136|144|152|160|168|176|184|192|200|208|216|224|232|240|248|256)?$/;function ey(e,t){if(e.length!==t.length)throw new A({expectedLength:e.length,givenLength:t.length});let n=eg(function({params:e,values:t}){let n=[];for(let s=0;s<e.length;s++)n.push(function e({param:t,value:n}){let s=function(e){let t=e.match(/^(.*)\[(\d+)?\]$/);return t?[t[2]?Number(t[2]):null,t[1]]:void 0}(t.type);if(s){let[i,r]=s;return function(t,{length:n,param:s}){let i=null===n;if(!Array.isArray(t))throw new k(t);if(!i&&t.length!==n)throw new I({expectedLength:n,givenLength:t.length,type:`${s.type}[${n}]`});let r=!1,a=[];for(let n=0;n<t.length;n++){let i=e({param:s,value:t[n]});i.dynamic&&(r=!0),a.push(i)}if(i||r){let e=eg(a);if(i){let t=F(a.length,{size:32});return{dynamic:!0,encoded:a.length>0?g([t,e]):t}}if(r)return{dynamic:!0,encoded:e}}return{dynamic:!1,encoded:g(a.map(({encoded:e})=>e))}}(n,{length:i,param:{...t,type:r}})}if("tuple"===t.type)return function(t,{param:n}){let s=!1,i=[];for(let r=0;r<n.components.length;r++){let a=n.components[r],o=Array.isArray(t)?r:a.name,u=e({param:a,value:t[o]});i.push(u),u.dynamic&&(s=!0)}return{dynamic:s,encoded:s?eg(i):g(i.map(({encoded:e})=>e))}}(n,{param:t});if("address"===t.type)return function(e){if(!el(e))throw new O({address:e});return{dynamic:!1,encoded:D(e.toLowerCase())}}(n);if("bool"===t.type)return function(e){if("boolean"!=typeof e)throw new S(`Invalid boolean value: "${e}" (type: ${typeof e}). Expected: \`true\` or \`false\`.`);return{dynamic:!1,encoded:D(U(e))}}(n);if(t.type.startsWith("uint")||t.type.startsWith("int")){let e=t.type.startsWith("int"),[,,s="256"]=eh.exec(t.type)??[];return function(e,{signed:t,size:n=256}){if("number"==typeof n){let s=2n**(BigInt(n)-(t?1n:0n))-1n,i=t?-s-1n:0n;if(e>s||e<i)throw new C({max:s.toString(),min:i.toString(),signed:t,size:n/8,value:e.toString()})}return{dynamic:!1,encoded:F(e,{size:32,signed:t})}}(n,{signed:e,size:Number(s)})}if(t.type.startsWith("bytes"))return function(e,{param:t}){let[,n]=t.type.split("bytes"),s=v(e);if(!n){let t=e;return s%32!=0&&(t=D(t,{dir:"right",size:32*Math.ceil((e.length-2)/2/32)})),{dynamic:!0,encoded:g([D(F(s,{size:32})),t])}}if(s!==Number.parseInt(n))throw new z({expectedSize:Number.parseInt(n),value:e});return{dynamic:!1,encoded:D(e,{dir:"right"})}}(n,{param:t});if("string"===t.type)return function(e){let t=J(e),n=Math.ceil(v(t)/32),s=[];for(let e=0;e<n;e++)s.push(D(ec(t,32*e,(e+1)*32),{dir:"right"}));return{dynamic:!0,encoded:g([D(F(v(t),{size:32})),...s])}}(n);throw new P(t.type,{docsPath:"/docs/contract/encodeAbiParameters"})}({param:e[s],value:t[s]}));return n}({params:e,values:t}));return 0===n.length?"0x":n}function eg(e){let t=0;for(let n=0;n<e.length;n++){let{dynamic:s,encoded:i}=e[n];s?t+=32:t+=v(i)}let n=[],s=[],i=0;for(let r=0;r<e.length;r++){let{dynamic:a,encoded:o}=e[r];a?(n.push(F(t+i,{size:32})),s.push(o),i+=v(o)):n.push(o)}return g([...n,...s])}let em=e=>er(X(e)),eb=/^tuple(?<array>(\[(\d*)\])*)$/;function ew(e){let t="",n=e.length;for(let s=0;s<n;s++)t+=function e(t){let n=t.type;if(eb.test(t.type)&&"components"in t){n="(";let s=t.components.length;for(let i=0;i<s;i++)n+=e(t.components[i]),i<s-1&&(n+=", ");let i=function(e,t){let n=e.exec(t);return n?.groups}(eb,t.type);return n+=`)${i?.array??""}`,e({...t,type:n})}return("indexed"in t&&t.indexed&&(n=`${n}
8 indexed`),t.name)?`${n} ${t.name}`:n}(e[s]),s!==n-1&&(t+=", ");return t}let ev=e=>(function(e){let t=!0,n="",s=0,i="",r=!1;for(let a=0;a<e.length;a++){let o=e[a];if(["(",")",","].includes(o)&&(t=!0),"("===o&&s++,")"===o&&s--,t){if(0===s){if(" "===o&&["event","function",""].includes(i))i="";else if(i+=o,")"===o){r=!0;break}continue}if(" "===o){","!==e[a-1]&&","!==n&&",("!==n&&(n="",t=!1);continue}i+=o,n+=o}}if(!r)throw new S("Unable to normalize signature.");return i})("string"==typeof e?e:"function"===e.type?`function ${e.name}(${ew(e.inputs)})${e.stateMutability&&"nonpayable"!==e.stateMutability?` ${e.stateMutability}`:""}${e.outputs?.length?` returns (${ew(e.outputs)})`:""}`:"event"===e.type?`event ${e.name}(${ew(e.inputs)})`:"error"===e.type?`error ${e.name}(${ew(e.inputs)})`:"constructor"===e.type?`constructor(${ew(e.inputs)})${"payable"===e.stateMutability?" payable":""}`:"fallback"===e.type?`fallback() external${"payable"===e.stateMutability?" payable":""}`:"receive() external payable"),e$=e=>ec(em(ev(e)),0,4),ex="/docs/contract/encodeFunctionData";function eS(e){let{args:t}=e,{abi:n,functionName:s}=1===e.abi.length&&e.functionName?.startsWith("0x")?e:function(e){let{abi:t,args:n,functionName:s}=e,i=t[0];if(s){let e=function(e){let t;let{abi:n,args:s=[],name:i}=e,r=w(i,{strict:!1}),a=n.filter(e=>r?"function"===e.type?e$(e)===i:"event"===e.type&&em(ev(e))===i:"name"in e&&e.name===i);if(0!==a.length){if(1===a.length)return a[0];for(let e of a)if("inputs"in e){if(!s||0===s.length){if(!e.inputs||0===e.inputs.length)return e;continue}if(e.inputs&&0!==e.inputs.length&&e.inputs.length===s.length&&s.every((t,n)=>{let s="inputs"in e&&e.inputs[n];return!!s&&function e(t,n){let s=typeof t,i=n.type;switch(i){case"address":return el(t,{strict:!1});case"bool":return"boolean"===s;case"function":case"string":return"string"===s;default:if("tuple"===i&&"components"in n)return Object.values(n.components).every((n,s)=>e(Object.values(t)[s],n));if(/^u?int(8|16|24|32|40|48|56|64|72|80|88|96|104|112|120|128|136|144|152|160|168|176|184|192|200|208|216|224|232|240|248|256)?$/.test(i))return"number"===s||"bigint"===s;if(/^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/.test(i))return"string"===s||t instanceof Uint8Array;
8if(/[a-z]+[1-9]{0,3}(\[[0-9]{0,}\])+$/.test(i))return Array.isArray(t)&&t.every(t=>e(t,{...n,type:i.replace(/(\[[0-9]{0,}\])$/,"")}));return!1}}(t,s)})){if(t&&"inputs"in t&&t.inputs){let n=function e(t,n,s){for(let i in t){let r=t[i],a=n[i];if("tuple"===r.type&&"tuple"===a.type&&"components"in r&&"components"in a)return e(r.components,a.components,s[i]);let o=[r.type,a.type];if(o.includes("address")&&o.includes("bytes20")||(o.includes("address")&&o.includes("string")||o.includes("address")&&o.includes("bytes"))&&el(s[i],{strict:!1}))return o}}(e.inputs,t.inputs,s);if(n)throw new E({abiItem:e,type:n[0]},{abiItem:t,type:n[1]})}t=e}}return t||a[0]}}({abi:t,args:n,name:s});if(!e)throw new M(s,{docsPath:ex});i=e}if("function"!==i.type)throw new M(void 0,{docsPath:ex});return{abi:[i],functionName:e$(b(i))}}(e),i=n[0];return m([s,("inputs"in i&&i.inputs?ey(i.inputs,t??[]):void 0)??"0x"])}let eI=(e,t,n)=>JSON.stringify(e,(e,n)=>{let s="bigint"==typeof n?n.toString():n;return"function"==typeof t?t(e,s):s},n);class ez extends S{constructor({domain:e}){super(`Invalid domain "${eI(e)}".`,{metaMessages:["Must be a valid EIP-712 domain."]})}}class eA extends S{constructor({primaryType:e,types:t}){super(`Invalid primary type \`${e}\` must be one of \`${JSON.stringify(Object.keys(t))}\`.`,{docsPath:"/api/glossary/Errors#typeddatainvalidprimarytypeerror",metaMessages:["Check that the primary type is a key in `types`."]})}}class eM extends S{constructor({type:e}){super(`Struct type "${e}" is invalid.`,{metaMessages:["Struct type must not be a Solidity type."],name:"InvalidStructTypeError"})}}function eE({data:e,primaryType:t,types:n}){return er(function e({data:t,primaryType:n,types:s}){let i=[{type:"bytes32"}],r=[function({primaryType:e,types:t}){return er(V(function({primaryType:e,types:t}){let n="",s=function e({primaryType:t,types:n},s=new Set){let i=t.match(/^\w*/u),r=i?.[0];if(s.has(r)||void 0===n[r])return s;for(let t of(s.add(r),n[r]))e({primaryType:t.type,types:n},s);return s}({primaryType:e,types:t});for(let i of(s.delete(e),[e,...Array.from(s).sort()]))n+=`${i}(${t[i].map(({name:e,type:t})=>`${t} ${e}`).join(",")})`;return n}({primaryType:e,types:t})))}({primaryType:n,types:s})];for(let a of s[n]){let[n,o]=function t({types:n,name:s,type:i,value:r}){if(void 0!==n[i])return[{type:"bytes32"},er(e({data:r,primaryType:i,types:n}))];if("bytes"===i){let e=r.length%2?"0":"";return[{type:"bytes32"},er(r=`0x${e+r.slice(2)}`)]}if("string"===i)return[{type:"bytes32"},er(V(r))];if(i.lastIndexOf("]")===i.length-1){let e=i.slice(0,i.lastIndexOf("[")),a=r.map(i=>t({name:s,type:e,types:n,value:i}));return[{type:"bytes32"},er(ey(a.map(([e])=>e),a.map(([,e])=>e)))]}return[{type:i},r]}({types:s,name:a.name,type:a.type,value:t[a.name]});i.push(n),r.push(o)}return ey(i,r)}({data:e,primaryType:t,types:n}))}class eB extends Error{constructor(e,t,n){super(e),this.code=t,this.data=n,Object.setPrototypeOf(this,eB.prototype)}}class eP{constructor(e){this.communicator=e}async getPermissions(){return(await this.communicator.send(en.wallet_getPermissions,void 0)).data}async requestPermissions(e){if(!this.isPermissionRequestValid(e))throw new eB("Permissions request is invalid",4001);try{return(await this.communicator.send(en.wallet_requestPermissions,e)).data}catch{throw new eB("Permissions rejected",4001)}}isPermissionRequestValid(e){return e.every(e=>"object"==typeof e&&Object.keys(e).every(e=>!!Object.values(es).includes(e)))}}let ek=(e,t)=>t.some(t=>t.parentCapability===e);class eT{constructor(e){this.communicator=e}async getChainInfo(){return(await this.communicator.send(en.getChainInfo,void 0)).data}async getInfo(){return(await this.communicator.send(en.getSafeInfo,void 0)).data}async experimental_getBalances({currency:e="usd"}={}){return(await this.communicator.send(en.getSafeBalances,{currency:e})).data}async check1271Signature(e,t="0x"){let n=await this.getInfo(),s=eS({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,t]}),i={call:d,params:[{to:n.safeAddress,data:s},"latest"]};try{return"0x1626ba7e"===(await this.communicator.send(en.rpcCall,i)).data.slice(0,10).toLowerCase()}catch(e){return!1}}async check1271SignatureBytes(e,t="0x"){let n=await this.getInfo(),s=eS({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,t]}),i={call:d,params:[{to:n.safeAddress,data:s},"latest"]};try{return"0x20c13b0b"===(await this.communicator.send(en.rpcCall,i)).data.slice(0,10).toLowerCase()}catch(e){return!1}}calculateMessageHash(e){return er(function(e){let t="string"==typeof e?J(e):"str
8ing"==typeof e.raw?e.raw:W(e.raw);return g([J(`\x19Ethereum Signed Message: 9${v(t)}`),t])}(e),void 0)}calculateTypedMessageHash(e){let t="object"==typeof e.domain.chainId?e.domain.chainId.toNumber():Number(e.domain.chainId),n=e.primaryType;if(!n){let t=Object.values(e.types),s=Object.keys(e.types).filter(e=>t.every(t=>t.every(({type:t})=>t.replace("[","").replace("]","")!==e)));if(0===s.length||s.length>1)throw Error("Please specify primaryType");n=s[0]}return function(e){let{domain:t={},message:n,primaryType:s}=e,i={EIP712Domain:function({domain:e}){return["string"==typeof e?.name&&{name:"name",type:"string"},e?.version&&{name:"version",type:"string"},("number"==typeof e?.chainId||"bigint"==typeof e?.chainId)&&{name:"chainId",type:"uint256"},e?.verifyingContract&&{name:"verifyingContract",type:"address"},e?.salt&&{name:"salt",type:"bytes32"}].filter(Boolean)}({domain:t}),...e.types};!function(e){let{domain:t,message:n,primaryType:s,types:i}=e,r=(e,t)=>{for(let n of e){let{name:e,type:s}=n,a=t[e],o=s.match(eh);if(o&&("number"==typeof a||"bigint"==typeof a)){let[e,t,n]=o;F(a,{signed:"int"===t,size:Number.parseInt(n)/8})}if("address"===s&&"string"==typeof a&&!el(a))throw new O({address:a});let u=s.match(ep);if(u){let[e,t]=u;if(t&&v(a)!==Number.parseInt(t))throw new B({expectedSize:Number.parseInt(t),givenSize:v(a)})}let l=i[s];l&&(function(e){if("address"===e||"bool"===e||"string"===e||e.startsWith("bytes")||e.startsWith("uint")||e.startsWith("int"))throw new eM({type:e})}(s),r(l,a))}};if(i.EIP712Domain&&t){if("object"!=typeof t)throw new ez({domain:t});r(i.EIP712Domain,t)}if("EIP712Domain"!==s){if(i[s])r(i[s],n);else throw new eA({primaryType:s,types:i})}}({domain:t,message:n,primaryType:s,types:i});let r=["0x1901"];return t&&r.push(function({domain:e,types:t}){return eE({data:e,primaryType:"EIP712Domain",types:t})}({domain:t,types:i})),"EIP712Domain"!==s&&r.push(eE({data:n,primaryType:s,types:i})),er(g(r))}({message:e.message,domain:{...e.domain,chainId:t,verifyingContract:e.domain.verifyingContract,salt:e.domain.salt},types:e.types,primaryType:n})}async getOffChainSignature(e){return(await this.communicator.send(en.getOffChainSignature,e)).data}async isMessageSigned(e,t="0x"){let n;if("string"==typeof e&&(n=async()=>{let n=this.calculateMessageHash(e);return await this.isMessageHashSigned(n,t)}),l(e)&&(n=async()=>{let n=this.calculateTypedMessageHash(e);return await this.isMessageHashSigned(n,t)}),n)return await n();throw Error("Invalid message type")}async isMessageHashSigned(e,t="0x"){for(let n of[this.check1271Signature.bind(this),this.check1271SignatureBytes.bind(this)])if(await n(e,t))return!0;return!1}async getEnvironmentInfo(){return(await this.communicator.send(en.getEnvironmentInfo,void 0)).data}async requestAddressBook(){return(await this.communicator.send(en.requestAddressBook,void 0)).data}}!function(e,t,n,s){var i,r=arguments.length,a=r<3?t:null===s?s=Object.getOwnPropertyDescriptor(t,n):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,n,s);else for(var o=e.length-1;o>=0;o--)(i=e[o])&&(a=(r<3?i(a):r>3?i(t,n,a):i(t,n))||a);r>3&&a&&Object.defineProperty(t,n,a)}([(e,t,n)=>{let s=n.value;return n.value=async function(){let e=new eP(this.communicator),n=await e.getPermissions();if(ek(t,n)||(n=await e.requestPermissions([{[t]:{}}])),!ek(t,n))throw new eB("Permissions rejected",4001);return s.apply(this)},n}],eT.prototype,"requestAddressBook",null);class eO{constructor(e={}){let{allowedDomains:t=null,debug:n=!1}=e;this.communicator=new u(t,n),this.eth=new y(this.communicator),this.txs=new c(this.communicator),this.safe=new eT(this.communicator),this.wallet=new eP(this.communicator)}}var eC=eO}}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.