@wormhole-foundation/wormhole-connect 2.4.0-beta.0-development → 2.4.0-beta.1-development
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.
- package/dist/main.js +69 -69
- package/dist/src/AppRouter.d.ts.map +1 -1
- package/dist/src/views/v2/Bridge/AssetPicker/SearchableList/SearchInput.d.ts.map +1 -1
- package/lib/{aptos-DnxWRCRB.mjs → aptos-D2mcs2UL.mjs} +5 -5
- package/lib/{aptos-DcTjD1lJ.js → aptos-DdFczU7e.js} +2 -2
- package/lib/{aptos-BTpUtaW-.mjs → aptos-DtPWZNgN.mjs} +2 -2
- package/lib/{aptos-DS0-rHVZ.js → aptos-XhjZe7kZ.js} +1 -1
- package/lib/{base64-CjOXecL7.mjs → base64-h_e6H8AK.mjs} +1 -1
- package/lib/{base64-CVyXjJWf.js → base64-q-JGzzQo.js} +1 -1
- package/lib/{ccip-BOel6WSL.js → ccip-CO5WUP_N.js} +1 -1
- package/lib/{ccip-BbJ1o9T-.mjs → ccip-DuSd_NrA.mjs} +1 -1
- package/lib/{chunk-IMTC3J2M-BrDKbQVz.mjs → chunk-IMTC3J2M-4bsIZD4z.mjs} +3 -3
- package/lib/{chunk-IMTC3J2M-CqtkoBKc.js → chunk-IMTC3J2M-DATbOiv9.js} +1 -1
- package/lib/{events-D6MWKkPX.mjs → events-BHzYkXv0.mjs} +1 -1
- package/lib/{events-pQkwnfUJ.js → events-CDKTsN8F.js} +1 -1
- package/lib/{evm-BHQYgtpv.mjs → evm-BB4chPcS.mjs} +5 -5
- package/lib/{evm-C3UjfrTr.js → evm-BiUA3wA6.js} +3 -3
- package/lib/{evm-Hx6QC0HY.js → evm-HLbglJpt.js} +1 -1
- package/lib/{evm-BxUaJBLl.mjs → evm-Ot6xhgdL.mjs} +5 -5
- package/lib/{index-CIQU1shG.mjs → index-5SNveB_H.mjs} +2 -2
- package/lib/{index-BSjP4FrI.mjs → index-B0GXJEZF.mjs} +1 -1
- package/lib/{index-B7LhAKz5.js → index-B5zRpLNY.js} +1 -1
- package/lib/{index-D7n4prqr.js → index-B63Rp6mZ.js} +1 -1
- package/lib/{index-O8UVKLGl.mjs → index-B7sdth-W.mjs} +1 -1
- package/lib/{index-5xjB9V8j.mjs → index-BDREYjeb.mjs} +1 -1
- package/lib/{index-BWJGyl85.js → index-BLlpWXP6.js} +4 -4
- package/lib/{index-BgqcVYO7.js → index-BNKmpg6n.js} +1 -1
- package/lib/{index-DjgulkZE.mjs → index-BN_dUboO.mjs} +2 -2
- package/lib/{index-DbjWlAHX.js → index-BTF-tAOp.js} +1 -1
- package/lib/{index-qnN1Q9Ij.js → index-BYQUk_2l.js} +1 -1
- package/lib/{index-B_9A8dJ6.mjs → index-BkLU29f8.mjs} +2 -2
- package/lib/{index-dNe18-Un.mjs → index-BydSbu00.mjs} +2 -2
- package/lib/{index-J43c6MPe.js → index-C09NCF2Q.js} +1 -1
- package/lib/{index-DbQXXFom.mjs → index-C2GFgH1e.mjs} +4 -4
- package/lib/{index-wulEniZp.js → index-C4m-IYq4.js} +1 -1
- package/lib/{index-D0a8y8Mh.mjs → index-CSzw0A9y.mjs} +41 -37
- package/lib/{index--SEtRFko.js → index-CY7dT7wA.js} +1 -1
- package/lib/{index-BQ4A3naZ.js → index-Cam2pnK1.js} +1 -1
- package/lib/{index-CScoqwN4.js → index-CcbTflQ3.js} +1 -1
- package/lib/{index-CPQr5cug.mjs → index-CmgaaF2k.mjs} +3 -3
- package/lib/{index-CHJ3Hd17.js → index-Cnxvd65L.js} +1 -1
- package/lib/{index-ByEAo43Q.mjs → index-DASSZUWc.mjs} +1 -1
- package/lib/{index-BdEtzmYl.mjs → index-DFJwb8Hv.mjs} +5 -5
- package/lib/{index-mCDp1LfO.js → index-DJjvM0nk.js} +1 -1
- package/lib/{index-Dl0l5rDS.mjs → index-DK7R9BIb.mjs} +1 -1
- package/lib/{index-B4pLuatS.mjs → index-DTDaTG6O.mjs} +1 -1
- package/lib/{index-J2XaC-Bz.mjs → index-DUmm0BUq.mjs} +1 -1
- package/lib/{index-JUiwdFFH.js → index-Dfw9KJ41.js} +1 -1
- package/lib/{index-B9b9NZYa.mjs → index-DilzacRr.mjs} +1 -1
- package/lib/{index-DAG5dGZ1.mjs → index-DjLDoi8u.mjs} +2 -2
- package/lib/{index-B65WVJdG.js → index-Dk5wC_Sb.js} +1 -1
- package/lib/{index-KBei6sIJ.js → index-Dp-iHuvk.js} +1 -1
- package/lib/{index-Dtid8wZn.js → index-F_hsheGy.js} +1 -1
- package/lib/{index-DzOGtIVm.mjs → index-GiFMIgQQ.mjs} +1 -1
- package/lib/{index-CRXpO_JH.mjs → index-_8tHp6ud.mjs} +2 -2
- package/lib/{index-DltYg91h.js → index-ayI3JKYy.js} +1 -1
- package/lib/{index-Dxj_2peW.js → index-bkY-eb9f.js} +1 -1
- package/lib/{index-CRSdow6b.js → index-hMv3TRWB.js} +1 -1
- package/lib/{index-CJCc5iPP.js → index-je5coaxE.js} +1 -1
- package/lib/{index-DyKhWQdb.mjs → index-pMNbkZpE.mjs} +2 -2
- package/lib/{index-D5Fedozd.mjs → index-xGZBjUqe.mjs} +2 -2
- package/lib/{index.es-CJF6-6PT.mjs → index.es-BFHE-LBv.mjs} +6 -6
- package/lib/{index.es-DaVMrD6a.js → index.es-BsIaUAAV.js} +2 -2
- package/lib/index.js +1 -1
- package/lib/index.mjs +1 -1
- package/lib/{signer-DggCUMSE.mjs → signer-BXzrKemm.mjs} +1 -1
- package/lib/{signer-CDGwFxE3.js → signer-ZS0ci0JQ.js} +1 -1
- package/lib/{solana-BlJbxPXt.mjs → solana-BVpjarrK.mjs} +4 -4
- package/lib/{solana-B1apL758.js → solana-C0YimUxY.js} +1 -1
- package/lib/solana-Cp0bYtYT.js +1 -0
- package/lib/{solana-AxmF0STw.mjs → solana-CzlybUjZ.mjs} +5 -5
- package/lib/{solanaEmbed.esm-V77sYKsQ.mjs → solanaEmbed.esm-m9YQIWCJ.mjs} +2 -2
- package/lib/{solanaEmbed.esm-DbF0znBR.js → solanaEmbed.esm-pCfT3Ec2.js} +1 -1
- package/lib/src/AppRouter.d.ts.map +1 -1
- package/lib/src/views/v2/Bridge/AssetPicker/SearchableList/SearchInput.d.ts.map +1 -1
- package/lib/{sui-_Kd5rXRu.mjs → sui-BE3bjZhY.mjs} +5 -5
- package/lib/{sui-7kx497T2.mjs → sui-BT15d9L_.mjs} +1 -1
- package/lib/{sui-gAForqj9.js → sui-BZbpPMtU.js} +1 -1
- package/lib/{sui-Nh_bCxGG.js → sui-CC1_cttE.js} +1 -1
- package/package.json +1 -1
- package/lib/solana-Dkhi64tK.js +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";const W=require("./index-BWJGyl85.js"),j="logger/5.7.0";let F=!1,k=!1;const U={debug:1,default:2,info:2,warning:3,error:4,off:5};let G=U.default,O=null;function Q(){try{const r=[];if(["NFD","NFC","NFKD","NFKC"].forEach(t=>{try{if("test".normalize(t)!=="test")throw new Error("bad normalize")}catch{r.push(t)}}),r.length)throw new Error("missing "+r.join(", "));if("é".normalize("NFD")!=="é")throw new Error("broken implementation")}catch(r){return r.message}return null}const L=Q();var D;(function(r){r.DEBUG="DEBUG",r.INFO="INFO",r.WARNING="WARNING",r.ERROR="ERROR",r.OFF="OFF"})(D||(D={}));var E;(function(r){r.UNKNOWN_ERROR="UNKNOWN_ERROR",r.NOT_IMPLEMENTED="NOT_IMPLEMENTED",r.UNSUPPORTED_OPERATION="UNSUPPORTED_OPERATION",r.NETWORK_ERROR="NETWORK_ERROR",r.SERVER_ERROR="SERVER_ERROR",r.TIMEOUT="TIMEOUT",r.BUFFER_OVERRUN="BUFFER_OVERRUN",r.NUMERIC_FAULT="NUMERIC_FAULT",r.MISSING_NEW="MISSING_NEW",r.INVALID_ARGUMENT="INVALID_ARGUMENT",r.MISSING_ARGUMENT="MISSING_ARGUMENT",r.UNEXPECTED_ARGUMENT="UNEXPECTED_ARGUMENT",r.CALL_EXCEPTION="CALL_EXCEPTION",r.INSUFFICIENT_FUNDS="INSUFFICIENT_FUNDS",r.NONCE_EXPIRED="NONCE_EXPIRED",r.REPLACEMENT_UNDERPRICED="REPLACEMENT_UNDERPRICED",r.UNPREDICTABLE_GAS_LIMIT="UNPREDICTABLE_GAS_LIMIT",r.TRANSACTION_REPLACED="TRANSACTION_REPLACED",r.ACTION_REJECTED="ACTION_REJECTED"})(E||(E={}));const B="0123456789abcdef";class o{constructor(t){Object.defineProperty(this,"version",{enumerable:!0,value:t,writable:!1})}_log(t,e){const n=t.toLowerCase();U[n]==null&&this.throwArgumentError("invalid log level name","logLevel",t),!(G>U[n])&&console.log.apply(console,e)}debug(...t){this._log(o.levels.DEBUG,t)}info(...t){this._log(o.levels.INFO,t)}warn(...t){this._log(o.levels.WARNING,t)}makeError(t,e,n){if(k)return this.makeError("censored error",e,{});e||(e=o.errors.UNKNOWN_ERROR),n||(n={});const i=[];Object.keys(n).forEach(g=>{const p=n[g];try{if(p instanceof Uint8Array){let S="";for(let I=0;I<p.length;I++)S+=B[p[I]>>4],S+=B[p[I]&15];i.push(g+"=Uint8Array(0x"+S+")")}else i.push(g+"="+JSON.stringify(p))}catch{i.push(g+"="+JSON.stringify(n[g].toString()))}}),i.push(`code=${e}`),i.push(`version=${this.version}`);const N=t;let m="";switch(e){case E.NUMERIC_FAULT:{m="NUMERIC_FAULT";const g=t;switch(g){case"overflow":case"underflow":case"division-by-zero":m+="-"+g;break;case"negative-power":case"negative-width":m+="-unsupported";break;case"unbound-bitwise-result":m+="-unbound-result";break}break}case E.CALL_EXCEPTION:case E.INSUFFICIENT_FUNDS:case E.MISSING_NEW:case E.NONCE_EXPIRED:case E.REPLACEMENT_UNDERPRICED:case E.TRANSACTION_REPLACED:case E.UNPREDICTABLE_GAS_LIMIT:m=e;break}m&&(t+=" [ See: https://links.ethers.org/v5-errors-"+m+" ]"),i.length&&(t+=" ("+i.join(", ")+")");const b=new Error(t);return b.reason=N,b.code=e,Object.keys(n).forEach(function(g){b[g]=n[g]}),b}throwError(t,e,n){throw this.makeError(t,e,n)}throwArgumentError(t,e,n){return this.throwError(t,o.errors.INVALID_ARGUMENT,{argument:e,value:n})}assert(t,e,n,i){t||this.throwError(e,n,i)}assertArgument(t,e,n,i){t||this.throwArgumentError(e,n,i)}checkNormalize(t){L&&this.throwError("platform missing String.prototype.normalize",o.errors.UNSUPPORTED_OPERATION,{operation:"String.prototype.normalize",form:L})}checkSafeUint53(t,e){typeof t=="number"&&(e==null&&(e="value not safe"),(t<0||t>=9007199254740991)&&this.throwError(e,o.errors.NUMERIC_FAULT,{operation:"checkSafeInteger",fault:"out-of-safe-range",value:t}),t%1&&this.throwError(e,o.errors.NUMERIC_FAULT,{operation:"checkSafeInteger",fault:"non-integer",value:t}))}checkArgumentCount(t,e,n){n?n=": "+n:n="",t<e&&this.throwError("missing argument"+n,o.errors.MISSING_ARGUMENT,{count:t,expectedCount:e}),t>e&&this.throwError("too many arguments"+n,o.errors.UNEXPECTED_ARGUMENT,{count:t,expectedCount:e})}checkNew(t,e){(t===Object||t==null)&&this.throwError("missing new",o.errors.MISSING_NEW,{name:e.name})}checkAbstract(t,e){t===e?this.throwError("cannot instantiate abstract class "+JSON.stringify(e.name)+" directly; use a sub-class",o.errors.UNSUPPORTED_OPERATION,{name:t.name,operation:"new"}):(t===Object||t==null)&&this.throwError("missing new",o.errors.MISSING_NEW,{name:e.name})}static globalLogger(){return O||(O=new o(j)),O}static setCensorship(t,e){if(!t&&e&&this.globalLogger().throwError("cannot permanently disable censorship",o.errors.UNSUPPORTED_OPERATION,{operation:"setCensorship"}),F){if(!t)return;this.globalLogger().throwError("error censorship permanent",o.errors.UNSUPPORTED_OPERATION,{operation:"setCensorship"})}k=!!t,F=!!e}static setLogLevel(t){const e=U[t.toLowerCase()];if(e==null){o.globalLogger().warn("invalid log level - "+t);return}G=e}static from(t){return new o(t)}}o.errors=E;o.levels=D;const Y="bytes/5.7.0",f=new o(Y);function V(r){return!!r.toHexString}function y(r){return r.slice||(r.slice=function(){const t=Array.prototype.slice.call(arguments);return y(new Uint8Array(Array.prototype.slice.apply(r,t)))}),r}function rr(r){return l(r)&&!(r.length%2)||P(r)}function z(r){return typeof r=="number"&&r==r&&r%1===0}function P(r){if(r==null)return!1;if(r.constructor===Uint8Array)return!0;if(typeof r=="string"||!z(r.length)||r.length<0)return!1;for(let t=0;t<r.length;t++){const e=r[t];if(!z(e)||e<0||e>=256)return!1}return!0}function A(r,t){if(t||(t={}),typeof r=="number"){f.checkSafeUint53(r,"invalid arrayify value");const e=[];for(;r;)e.unshift(r&255),r=parseInt(String(r/256));return e.length===0&&e.push(0),y(new Uint8Array(e))}if(t.allowMissingPrefix&&typeof r=="string"&&r.substring(0,2)!=="0x"&&(r="0x"+r),V(r)&&(r=r.toHexString()),l(r)){let e=r.substring(2);e.length%2&&(t.hexPad==="left"?e="0"+e:t.hexPad==="right"?e+="0":f.throwArgumentError("hex data is odd-length","value",r));const n=[];for(let i=0;i<e.length;i+=2)n.push(parseInt(e.substring(i,i+2),16));return y(new Uint8Array(n))}return P(r)?y(new Uint8Array(r)):f.throwArgumentError("invalid arrayify value","value",r)}function tr(r){const t=r.map(i=>A(i)),e=t.reduce((i,N)=>i+N.length,0),n=new Uint8Array(e);return t.reduce((i,N)=>(n.set(N,i),i+N.length),0),y(n)}function er(r,t){r=A(r),r.length>t&&f.throwArgumentError("value out of range","value",arguments[0]);const e=new Uint8Array(t);return e.set(r,t-r.length),y(e)}function l(r,t){return!(typeof r!="string"||!r.match(/^0x[0-9A-Fa-f]*$/)||t&&r.length!==2+2*t)}const d="0123456789abcdef";function c(r,t){if(t||(t={}),typeof r=="number"){f.checkSafeUint53(r,"invalid hexlify value");let e="";for(;r;)e=d[r&15]+e,r=Math.floor(r/16);return e.length?(e.length%2&&(e="0"+e),"0x"+e):"0x00"}if(typeof r=="bigint")return r=r.toString(16),r.length%2?"0x0"+r:"0x"+r;if(t.allowMissingPrefix&&typeof r=="string"&&r.substring(0,2)!=="0x"&&(r="0x"+r),V(r))return r.toHexString();if(l(r))return r.length%2&&(t.hexPad==="left"?r="0x0"+r.substring(2):t.hexPad==="right"?r+="0":f.throwArgumentError("hex data is odd-length","value",r)),r.toLowerCase();if(P(r)){let e="0x";for(let n=0;n<r.length;n++){let i=r[n];e+=d[(i&240)>>4]+d[i&15]}return e}return f.throwArgumentError("invalid hexlify value","value",r)}function nr(r){if(typeof r!="string")r=c(r);else if(!l(r)||r.length%2)return null;return(r.length-2)/2}function ir(r,t,e){return typeof r!="string"?r=c(r):(!l(r)||r.length%2)&&f.throwArgumentError("invalid hexData","value",r),t=2+2*t,e!=null?"0x"+r.substring(t,2+2*e):"0x"+r.substring(t)}function sr(r){let t="0x";return r.forEach(e=>{t+=c(e).substring(2)}),t}function _(r,t){for(typeof r!="string"?r=c(r):l(r)||f.throwArgumentError("invalid hex string","value",r),r.length>2*t+2&&f.throwArgumentError("value out of range","value",arguments[1]);r.length<2*t+2;)r="0x0"+r.substring(2);return r}function or(r){const t={r:"0x",s:"0x",_vs:"0x",recoveryParam:0,v:0,yParityAndS:"0x",compact:"0x"};if(rr(r)){let e=A(r);e.length===64?(t.v=27+(e[32]>>7),e[32]&=127,t.r=c(e.slice(0,32)),t.s=c(e.slice(32,64))):e.length===65?(t.r=c(e.slice(0,32)),t.s=c(e.slice(32,64)),t.v=e[64]):f.throwArgumentError("invalid signature string","signature",r),t.v<27&&(t.v===0||t.v===1?t.v+=27:f.throwArgumentError("signature invalid v byte","signature",r)),t.recoveryParam=1-t.v%2,t.recoveryParam&&(e[32]|=128),t._vs=c(e.slice(32,64))}else{if(t.r=r.r,t.s=r.s,t.v=r.v,t.recoveryParam=r.recoveryParam,t._vs=r._vs,t._vs!=null){const i=er(A(t._vs),32);t._vs=c(i);const N=i[0]>=128?1:0;t.recoveryParam==null?t.recoveryParam=N:t.recoveryParam!==N&&f.throwArgumentError("signature recoveryParam mismatch _vs","signature",r),i[0]&=127;const m=c(i);t.s==null?t.s=m:t.s!==m&&f.throwArgumentError("signature v mismatch _vs","signature",r)}if(t.recoveryParam==null)t.v==null?f.throwArgumentError("signature missing v and recoveryParam","signature",r):t.v===0||t.v===1?t.recoveryParam=t.v:t.recoveryParam=1-t.v%2;else if(t.v==null)t.v=27+t.recoveryParam;else{const i=t.v===0||t.v===1?t.v:1-t.v%2;t.recoveryParam!==i&&f.throwArgumentError("signature recoveryParam mismatch v","signature",r)}t.r==null||!l(t.r)?f.throwArgumentError("signature missing or invalid r","signature",r):t.r=_(t.r,32),t.s==null||!l(t.s)?f.throwArgumentError("signature missing or invalid s","signature",r):t.s=_(t.s,32);const e=A(t.s);e[0]>=128&&f.throwArgumentError("signature s out of range","signature",r),t.recoveryParam&&(e[0]|=128);const n=c(e);t._vs&&(l(t._vs)||f.throwArgumentError("signature invalid _vs","signature",r),t._vs=_(t._vs,32)),t._vs==null?t._vs=n:t._vs!==n&&f.throwArgumentError("signature _vs mismatch v and s","signature",r)}return t.yParityAndS=t._vs,t.compact=t.r+t.yParityAndS.substring(2),t}const fr="bignumber/5.7.0";var T=W.BN.BN;const w=new o(fr),C={},ur=9007199254740991;let $=!1;class h{constructor(t,e){t!==C&&w.throwError("cannot call constructor directly; use BigNumber.from",o.errors.UNSUPPORTED_OPERATION,{operation:"new (BigNumber)"}),this._hex=e,this._isBigNumber=!0,Object.freeze(this)}fromTwos(t){return u(s(this).fromTwos(t))}toTwos(t){return u(s(this).toTwos(t))}abs(){return this._hex[0]==="-"?h.from(this._hex.substring(1)):this}add(t){return u(s(this).add(s(t)))}sub(t){return u(s(this).sub(s(t)))}div(t){return h.from(t).isZero()&&a("division-by-zero","div"),u(s(this).div(s(t)))}mul(t){return u(s(this).mul(s(t)))}mod(t){const e=s(t);return e.isNeg()&&a("division-by-zero","mod"),u(s(this).umod(e))}pow(t){const e=s(t);return e.isNeg()&&a("negative-power","pow"),u(s(this).pow(e))}and(t){const e=s(t);return(this.isNegative()||e.isNeg())&&a("unbound-bitwise-result","and"),u(s(this).and(e))}or(t){const e=s(t);return(this.isNegative()||e.isNeg())&&a("unbound-bitwise-result","or"),u(s(this).or(e))}xor(t){const e=s(t);return(this.isNegative()||e.isNeg())&&a("unbound-bitwise-result","xor"),u(s(this).xor(e))}mask(t){return(this.isNegative()||t<0)&&a("negative-width","mask"),u(s(this).maskn(t))}shl(t){return(this.isNegative()||t<0)&&a("negative-width","shl"),u(s(this).shln(t))}shr(t){return(this.isNegative()||t<0)&&a("negative-width","shr"),u(s(this).shrn(t))}eq(t){return s(this).eq(s(t))}lt(t){return s(this).lt(s(t))}lte(t){return s(this).lte(s(t))}gt(t){return s(this).gt(s(t))}gte(t){return s(this).gte(s(t))}isNegative(){return this._hex[0]==="-"}isZero(){return s(this).isZero()}toNumber(){try{return s(this).toNumber()}catch{a("overflow","toNumber",this.toString())}return null}toBigInt(){try{return BigInt(this.toString())}catch{}return w.throwError("this platform does not support BigInt",o.errors.UNSUPPORTED_OPERATION,{value:this.toString()})}toString(){return arguments.length>0&&(arguments[0]===10?$||($=!0,w.warn("BigNumber.toString does not accept any parameters; base-10 is assumed")):arguments[0]===16?w.throwError("BigNumber.toString does not accept any parameters; use bigNumber.toHexString()",o.errors.UNEXPECTED_ARGUMENT,{}):w.throwError("BigNumber.toString does not accept parameters",o.errors.UNEXPECTED_ARGUMENT,{})),s(this).toString(10)}toHexString(){return this._hex}toJSON(t){return{type:"BigNumber",hex:this.toHexString()}}static from(t){if(t instanceof h)return t;if(typeof t=="string")return t.match(/^-?0x[0-9a-f]+$/i)?new h(C,R(t)):t.match(/^-?[0-9]+$/)?new h(C,R(new T(t))):w.throwArgumentError("invalid BigNumber string","value",t);if(typeof t=="number")return t%1&&a("underflow","BigNumber.from",t),(t>=ur||t<=-9007199254740991)&&a("overflow","BigNumber.from",t),h.from(String(t));const e=t;if(typeof e=="bigint")return h.from(e.toString());if(P(e))return h.from(c(e));if(e)if(e.toHexString){const n=e.toHexString();if(typeof n=="string")return h.from(n)}else{let n=e._hex;if(n==null&&e.type==="BigNumber"&&(n=e.hex),typeof n=="string"&&(l(n)||n[0]==="-"&&l(n.substring(1))))return h.from(n)}return w.throwArgumentError("invalid BigNumber value","value",t)}static isBigNumber(t){return!!(t&&t._isBigNumber)}}function R(r){if(typeof r!="string")return R(r.toString(16));if(r[0]==="-")return r=r.substring(1),r[0]==="-"&&w.throwArgumentError("invalid hex","value",r),r=R(r),r==="0x00"?r:"-"+r;if(r.substring(0,2)!=="0x"&&(r="0x"+r),r==="0x")return"0x00";for(r.length%2&&(r="0x0"+r.substring(2));r.length>4&&r.substring(0,4)==="0x00";)r="0x"+r.substring(4);return r}function u(r){return h.from(R(r))}function s(r){const t=h.from(r).toHexString();return t[0]==="-"?new T("-"+t.substring(3),16):new T(t.substring(2),16)}function a(r,t,e){const n={fault:r,operation:t};return e!=null&&(n.value=e),w.throwError(r,o.errors.NUMERIC_FAULT,n)}function hr(r){return new T(r,36).toString(16)}const cr="properties/5.7.0",K=new o(cr);function J(r,t,e){Object.defineProperty(r,t,{enumerable:!0,value:e,writable:!1})}function lr(r,t){for(let e=0;e<32;e++){if(r[t])return r[t];if(!r.prototype||typeof r.prototype!="object")break;r=Object.getPrototypeOf(r.prototype).constructor}return null}const ar={bigint:!0,boolean:!0,function:!0,number:!0,string:!0};function Z(r){if(r==null||ar[typeof r])return!0;if(Array.isArray(r)||typeof r=="object"){if(!Object.isFrozen(r))return!1;const t=Object.keys(r);for(let e=0;e<t.length;e++){let n=null;try{n=r[t[e]]}catch{continue}if(!Z(n))return!1}return!0}return K.throwArgumentError(`Cannot deepCopy ${typeof r}`,"object",r)}function gr(r){if(Z(r))return r;if(Array.isArray(r))return Object.freeze(r.map(t=>M(t)));if(typeof r=="object"){const t={};for(const e in r){const n=r[e];n!==void 0&&J(t,e,M(n))}return t}return K.throwArgumentError(`Cannot deepCopy ${typeof r}`,"object",r)}function M(r){return gr(r)}class Er{constructor(t){for(const e in t)this[e]=M(t[e])}}function q(r){return"0x"+W.sha3.keccak_256(A(r))}const mr="address/5.7.0",x=new o(mr);function H(r){l(r,20)||x.throwArgumentError("invalid address","address",r),r=r.toLowerCase();const t=r.substring(2).split(""),e=new Uint8Array(40);for(let i=0;i<40;i++)e[i]=t[i].charCodeAt(0);const n=A(q(e));for(let i=0;i<40;i+=2)n[i>>1]>>4>=8&&(t[i]=t[i].toUpperCase()),(n[i>>1]&15)>=8&&(t[i+1]=t[i+1].toUpperCase());return"0x"+t.join("")}const Nr=9007199254740991;function wr(r){return Math.log10?Math.log10(r):Math.log(r)/Math.LN10}const v={};for(let r=0;r<10;r++)v[String(r)]=String(r);for(let r=0;r<26;r++)v[String.fromCharCode(65+r)]=String(10+r);const X=Math.floor(wr(Nr));function Ar(r){r=r.toUpperCase(),r=r.substring(4)+r.substring(0,2)+"00";let t=r.split("").map(n=>v[n]).join("");for(;t.length>=X;){let n=t.substring(0,X);t=parseInt(n,10)%97+t.substring(n.length)}let e=String(98-parseInt(t,10)%97);for(;e.length<2;)e="0"+e;return e}function yr(r){let t=null;if(typeof r!="string"&&x.throwArgumentError("invalid address","address",r),r.match(/^(0x)?[0-9a-fA-F]{40}$/))r.substring(0,2)!=="0x"&&(r="0x"+r),t=H(r),r.match(/([A-F].*[a-f])|([a-f].*[A-F])/)&&t!==r&&x.throwArgumentError("bad address checksum","address",r);else if(r.match(/^XE[0-9]{2}[0-9A-Za-z]{30,31}$/)){for(r.substring(2,4)!==Ar(r)&&x.throwArgumentError("bad icap checksum","address",r),t=hr(r.substring(4));t.length<40;)t="0"+t;t=H("0x"+t)}else x.throwArgumentError("invalid address","address",r);return t}exports.BigNumber=h;exports.Description=Er;exports.Logger=o;exports.arrayify=A;exports.concat=tr;exports.defineReadOnly=J;exports.getAddress=yr;exports.getStatic=lr;exports.hexConcat=sr;exports.hexDataLength=nr;exports.hexDataSlice=ir;exports.hexZeroPad=_;exports.hexlify=c;exports.isHexString=l;exports.keccak256=q;exports.splitSignature=or;
|
|
1
|
+
"use strict";const W=require("./index-BLlpWXP6.js"),j="logger/5.7.0";let F=!1,k=!1;const U={debug:1,default:2,info:2,warning:3,error:4,off:5};let G=U.default,O=null;function Q(){try{const r=[];if(["NFD","NFC","NFKD","NFKC"].forEach(t=>{try{if("test".normalize(t)!=="test")throw new Error("bad normalize")}catch{r.push(t)}}),r.length)throw new Error("missing "+r.join(", "));if("é".normalize("NFD")!=="é")throw new Error("broken implementation")}catch(r){return r.message}return null}const L=Q();var D;(function(r){r.DEBUG="DEBUG",r.INFO="INFO",r.WARNING="WARNING",r.ERROR="ERROR",r.OFF="OFF"})(D||(D={}));var E;(function(r){r.UNKNOWN_ERROR="UNKNOWN_ERROR",r.NOT_IMPLEMENTED="NOT_IMPLEMENTED",r.UNSUPPORTED_OPERATION="UNSUPPORTED_OPERATION",r.NETWORK_ERROR="NETWORK_ERROR",r.SERVER_ERROR="SERVER_ERROR",r.TIMEOUT="TIMEOUT",r.BUFFER_OVERRUN="BUFFER_OVERRUN",r.NUMERIC_FAULT="NUMERIC_FAULT",r.MISSING_NEW="MISSING_NEW",r.INVALID_ARGUMENT="INVALID_ARGUMENT",r.MISSING_ARGUMENT="MISSING_ARGUMENT",r.UNEXPECTED_ARGUMENT="UNEXPECTED_ARGUMENT",r.CALL_EXCEPTION="CALL_EXCEPTION",r.INSUFFICIENT_FUNDS="INSUFFICIENT_FUNDS",r.NONCE_EXPIRED="NONCE_EXPIRED",r.REPLACEMENT_UNDERPRICED="REPLACEMENT_UNDERPRICED",r.UNPREDICTABLE_GAS_LIMIT="UNPREDICTABLE_GAS_LIMIT",r.TRANSACTION_REPLACED="TRANSACTION_REPLACED",r.ACTION_REJECTED="ACTION_REJECTED"})(E||(E={}));const B="0123456789abcdef";class o{constructor(t){Object.defineProperty(this,"version",{enumerable:!0,value:t,writable:!1})}_log(t,e){const n=t.toLowerCase();U[n]==null&&this.throwArgumentError("invalid log level name","logLevel",t),!(G>U[n])&&console.log.apply(console,e)}debug(...t){this._log(o.levels.DEBUG,t)}info(...t){this._log(o.levels.INFO,t)}warn(...t){this._log(o.levels.WARNING,t)}makeError(t,e,n){if(k)return this.makeError("censored error",e,{});e||(e=o.errors.UNKNOWN_ERROR),n||(n={});const i=[];Object.keys(n).forEach(g=>{const p=n[g];try{if(p instanceof Uint8Array){let S="";for(let I=0;I<p.length;I++)S+=B[p[I]>>4],S+=B[p[I]&15];i.push(g+"=Uint8Array(0x"+S+")")}else i.push(g+"="+JSON.stringify(p))}catch{i.push(g+"="+JSON.stringify(n[g].toString()))}}),i.push(`code=${e}`),i.push(`version=${this.version}`);const N=t;let m="";switch(e){case E.NUMERIC_FAULT:{m="NUMERIC_FAULT";const g=t;switch(g){case"overflow":case"underflow":case"division-by-zero":m+="-"+g;break;case"negative-power":case"negative-width":m+="-unsupported";break;case"unbound-bitwise-result":m+="-unbound-result";break}break}case E.CALL_EXCEPTION:case E.INSUFFICIENT_FUNDS:case E.MISSING_NEW:case E.NONCE_EXPIRED:case E.REPLACEMENT_UNDERPRICED:case E.TRANSACTION_REPLACED:case E.UNPREDICTABLE_GAS_LIMIT:m=e;break}m&&(t+=" [ See: https://links.ethers.org/v5-errors-"+m+" ]"),i.length&&(t+=" ("+i.join(", ")+")");const b=new Error(t);return b.reason=N,b.code=e,Object.keys(n).forEach(function(g){b[g]=n[g]}),b}throwError(t,e,n){throw this.makeError(t,e,n)}throwArgumentError(t,e,n){return this.throwError(t,o.errors.INVALID_ARGUMENT,{argument:e,value:n})}assert(t,e,n,i){t||this.throwError(e,n,i)}assertArgument(t,e,n,i){t||this.throwArgumentError(e,n,i)}checkNormalize(t){L&&this.throwError("platform missing String.prototype.normalize",o.errors.UNSUPPORTED_OPERATION,{operation:"String.prototype.normalize",form:L})}checkSafeUint53(t,e){typeof t=="number"&&(e==null&&(e="value not safe"),(t<0||t>=9007199254740991)&&this.throwError(e,o.errors.NUMERIC_FAULT,{operation:"checkSafeInteger",fault:"out-of-safe-range",value:t}),t%1&&this.throwError(e,o.errors.NUMERIC_FAULT,{operation:"checkSafeInteger",fault:"non-integer",value:t}))}checkArgumentCount(t,e,n){n?n=": "+n:n="",t<e&&this.throwError("missing argument"+n,o.errors.MISSING_ARGUMENT,{count:t,expectedCount:e}),t>e&&this.throwError("too many arguments"+n,o.errors.UNEXPECTED_ARGUMENT,{count:t,expectedCount:e})}checkNew(t,e){(t===Object||t==null)&&this.throwError("missing new",o.errors.MISSING_NEW,{name:e.name})}checkAbstract(t,e){t===e?this.throwError("cannot instantiate abstract class "+JSON.stringify(e.name)+" directly; use a sub-class",o.errors.UNSUPPORTED_OPERATION,{name:t.name,operation:"new"}):(t===Object||t==null)&&this.throwError("missing new",o.errors.MISSING_NEW,{name:e.name})}static globalLogger(){return O||(O=new o(j)),O}static setCensorship(t,e){if(!t&&e&&this.globalLogger().throwError("cannot permanently disable censorship",o.errors.UNSUPPORTED_OPERATION,{operation:"setCensorship"}),F){if(!t)return;this.globalLogger().throwError("error censorship permanent",o.errors.UNSUPPORTED_OPERATION,{operation:"setCensorship"})}k=!!t,F=!!e}static setLogLevel(t){const e=U[t.toLowerCase()];if(e==null){o.globalLogger().warn("invalid log level - "+t);return}G=e}static from(t){return new o(t)}}o.errors=E;o.levels=D;const Y="bytes/5.7.0",f=new o(Y);function V(r){return!!r.toHexString}function y(r){return r.slice||(r.slice=function(){const t=Array.prototype.slice.call(arguments);return y(new Uint8Array(Array.prototype.slice.apply(r,t)))}),r}function rr(r){return l(r)&&!(r.length%2)||P(r)}function z(r){return typeof r=="number"&&r==r&&r%1===0}function P(r){if(r==null)return!1;if(r.constructor===Uint8Array)return!0;if(typeof r=="string"||!z(r.length)||r.length<0)return!1;for(let t=0;t<r.length;t++){const e=r[t];if(!z(e)||e<0||e>=256)return!1}return!0}function A(r,t){if(t||(t={}),typeof r=="number"){f.checkSafeUint53(r,"invalid arrayify value");const e=[];for(;r;)e.unshift(r&255),r=parseInt(String(r/256));return e.length===0&&e.push(0),y(new Uint8Array(e))}if(t.allowMissingPrefix&&typeof r=="string"&&r.substring(0,2)!=="0x"&&(r="0x"+r),V(r)&&(r=r.toHexString()),l(r)){let e=r.substring(2);e.length%2&&(t.hexPad==="left"?e="0"+e:t.hexPad==="right"?e+="0":f.throwArgumentError("hex data is odd-length","value",r));const n=[];for(let i=0;i<e.length;i+=2)n.push(parseInt(e.substring(i,i+2),16));return y(new Uint8Array(n))}return P(r)?y(new Uint8Array(r)):f.throwArgumentError("invalid arrayify value","value",r)}function tr(r){const t=r.map(i=>A(i)),e=t.reduce((i,N)=>i+N.length,0),n=new Uint8Array(e);return t.reduce((i,N)=>(n.set(N,i),i+N.length),0),y(n)}function er(r,t){r=A(r),r.length>t&&f.throwArgumentError("value out of range","value",arguments[0]);const e=new Uint8Array(t);return e.set(r,t-r.length),y(e)}function l(r,t){return!(typeof r!="string"||!r.match(/^0x[0-9A-Fa-f]*$/)||t&&r.length!==2+2*t)}const d="0123456789abcdef";function c(r,t){if(t||(t={}),typeof r=="number"){f.checkSafeUint53(r,"invalid hexlify value");let e="";for(;r;)e=d[r&15]+e,r=Math.floor(r/16);return e.length?(e.length%2&&(e="0"+e),"0x"+e):"0x00"}if(typeof r=="bigint")return r=r.toString(16),r.length%2?"0x0"+r:"0x"+r;if(t.allowMissingPrefix&&typeof r=="string"&&r.substring(0,2)!=="0x"&&(r="0x"+r),V(r))return r.toHexString();if(l(r))return r.length%2&&(t.hexPad==="left"?r="0x0"+r.substring(2):t.hexPad==="right"?r+="0":f.throwArgumentError("hex data is odd-length","value",r)),r.toLowerCase();if(P(r)){let e="0x";for(let n=0;n<r.length;n++){let i=r[n];e+=d[(i&240)>>4]+d[i&15]}return e}return f.throwArgumentError("invalid hexlify value","value",r)}function nr(r){if(typeof r!="string")r=c(r);else if(!l(r)||r.length%2)return null;return(r.length-2)/2}function ir(r,t,e){return typeof r!="string"?r=c(r):(!l(r)||r.length%2)&&f.throwArgumentError("invalid hexData","value",r),t=2+2*t,e!=null?"0x"+r.substring(t,2+2*e):"0x"+r.substring(t)}function sr(r){let t="0x";return r.forEach(e=>{t+=c(e).substring(2)}),t}function _(r,t){for(typeof r!="string"?r=c(r):l(r)||f.throwArgumentError("invalid hex string","value",r),r.length>2*t+2&&f.throwArgumentError("value out of range","value",arguments[1]);r.length<2*t+2;)r="0x0"+r.substring(2);return r}function or(r){const t={r:"0x",s:"0x",_vs:"0x",recoveryParam:0,v:0,yParityAndS:"0x",compact:"0x"};if(rr(r)){let e=A(r);e.length===64?(t.v=27+(e[32]>>7),e[32]&=127,t.r=c(e.slice(0,32)),t.s=c(e.slice(32,64))):e.length===65?(t.r=c(e.slice(0,32)),t.s=c(e.slice(32,64)),t.v=e[64]):f.throwArgumentError("invalid signature string","signature",r),t.v<27&&(t.v===0||t.v===1?t.v+=27:f.throwArgumentError("signature invalid v byte","signature",r)),t.recoveryParam=1-t.v%2,t.recoveryParam&&(e[32]|=128),t._vs=c(e.slice(32,64))}else{if(t.r=r.r,t.s=r.s,t.v=r.v,t.recoveryParam=r.recoveryParam,t._vs=r._vs,t._vs!=null){const i=er(A(t._vs),32);t._vs=c(i);const N=i[0]>=128?1:0;t.recoveryParam==null?t.recoveryParam=N:t.recoveryParam!==N&&f.throwArgumentError("signature recoveryParam mismatch _vs","signature",r),i[0]&=127;const m=c(i);t.s==null?t.s=m:t.s!==m&&f.throwArgumentError("signature v mismatch _vs","signature",r)}if(t.recoveryParam==null)t.v==null?f.throwArgumentError("signature missing v and recoveryParam","signature",r):t.v===0||t.v===1?t.recoveryParam=t.v:t.recoveryParam=1-t.v%2;else if(t.v==null)t.v=27+t.recoveryParam;else{const i=t.v===0||t.v===1?t.v:1-t.v%2;t.recoveryParam!==i&&f.throwArgumentError("signature recoveryParam mismatch v","signature",r)}t.r==null||!l(t.r)?f.throwArgumentError("signature missing or invalid r","signature",r):t.r=_(t.r,32),t.s==null||!l(t.s)?f.throwArgumentError("signature missing or invalid s","signature",r):t.s=_(t.s,32);const e=A(t.s);e[0]>=128&&f.throwArgumentError("signature s out of range","signature",r),t.recoveryParam&&(e[0]|=128);const n=c(e);t._vs&&(l(t._vs)||f.throwArgumentError("signature invalid _vs","signature",r),t._vs=_(t._vs,32)),t._vs==null?t._vs=n:t._vs!==n&&f.throwArgumentError("signature _vs mismatch v and s","signature",r)}return t.yParityAndS=t._vs,t.compact=t.r+t.yParityAndS.substring(2),t}const fr="bignumber/5.7.0";var T=W.BN.BN;const w=new o(fr),C={},ur=9007199254740991;let $=!1;class h{constructor(t,e){t!==C&&w.throwError("cannot call constructor directly; use BigNumber.from",o.errors.UNSUPPORTED_OPERATION,{operation:"new (BigNumber)"}),this._hex=e,this._isBigNumber=!0,Object.freeze(this)}fromTwos(t){return u(s(this).fromTwos(t))}toTwos(t){return u(s(this).toTwos(t))}abs(){return this._hex[0]==="-"?h.from(this._hex.substring(1)):this}add(t){return u(s(this).add(s(t)))}sub(t){return u(s(this).sub(s(t)))}div(t){return h.from(t).isZero()&&a("division-by-zero","div"),u(s(this).div(s(t)))}mul(t){return u(s(this).mul(s(t)))}mod(t){const e=s(t);return e.isNeg()&&a("division-by-zero","mod"),u(s(this).umod(e))}pow(t){const e=s(t);return e.isNeg()&&a("negative-power","pow"),u(s(this).pow(e))}and(t){const e=s(t);return(this.isNegative()||e.isNeg())&&a("unbound-bitwise-result","and"),u(s(this).and(e))}or(t){const e=s(t);return(this.isNegative()||e.isNeg())&&a("unbound-bitwise-result","or"),u(s(this).or(e))}xor(t){const e=s(t);return(this.isNegative()||e.isNeg())&&a("unbound-bitwise-result","xor"),u(s(this).xor(e))}mask(t){return(this.isNegative()||t<0)&&a("negative-width","mask"),u(s(this).maskn(t))}shl(t){return(this.isNegative()||t<0)&&a("negative-width","shl"),u(s(this).shln(t))}shr(t){return(this.isNegative()||t<0)&&a("negative-width","shr"),u(s(this).shrn(t))}eq(t){return s(this).eq(s(t))}lt(t){return s(this).lt(s(t))}lte(t){return s(this).lte(s(t))}gt(t){return s(this).gt(s(t))}gte(t){return s(this).gte(s(t))}isNegative(){return this._hex[0]==="-"}isZero(){return s(this).isZero()}toNumber(){try{return s(this).toNumber()}catch{a("overflow","toNumber",this.toString())}return null}toBigInt(){try{return BigInt(this.toString())}catch{}return w.throwError("this platform does not support BigInt",o.errors.UNSUPPORTED_OPERATION,{value:this.toString()})}toString(){return arguments.length>0&&(arguments[0]===10?$||($=!0,w.warn("BigNumber.toString does not accept any parameters; base-10 is assumed")):arguments[0]===16?w.throwError("BigNumber.toString does not accept any parameters; use bigNumber.toHexString()",o.errors.UNEXPECTED_ARGUMENT,{}):w.throwError("BigNumber.toString does not accept parameters",o.errors.UNEXPECTED_ARGUMENT,{})),s(this).toString(10)}toHexString(){return this._hex}toJSON(t){return{type:"BigNumber",hex:this.toHexString()}}static from(t){if(t instanceof h)return t;if(typeof t=="string")return t.match(/^-?0x[0-9a-f]+$/i)?new h(C,R(t)):t.match(/^-?[0-9]+$/)?new h(C,R(new T(t))):w.throwArgumentError("invalid BigNumber string","value",t);if(typeof t=="number")return t%1&&a("underflow","BigNumber.from",t),(t>=ur||t<=-9007199254740991)&&a("overflow","BigNumber.from",t),h.from(String(t));const e=t;if(typeof e=="bigint")return h.from(e.toString());if(P(e))return h.from(c(e));if(e)if(e.toHexString){const n=e.toHexString();if(typeof n=="string")return h.from(n)}else{let n=e._hex;if(n==null&&e.type==="BigNumber"&&(n=e.hex),typeof n=="string"&&(l(n)||n[0]==="-"&&l(n.substring(1))))return h.from(n)}return w.throwArgumentError("invalid BigNumber value","value",t)}static isBigNumber(t){return!!(t&&t._isBigNumber)}}function R(r){if(typeof r!="string")return R(r.toString(16));if(r[0]==="-")return r=r.substring(1),r[0]==="-"&&w.throwArgumentError("invalid hex","value",r),r=R(r),r==="0x00"?r:"-"+r;if(r.substring(0,2)!=="0x"&&(r="0x"+r),r==="0x")return"0x00";for(r.length%2&&(r="0x0"+r.substring(2));r.length>4&&r.substring(0,4)==="0x00";)r="0x"+r.substring(4);return r}function u(r){return h.from(R(r))}function s(r){const t=h.from(r).toHexString();return t[0]==="-"?new T("-"+t.substring(3),16):new T(t.substring(2),16)}function a(r,t,e){const n={fault:r,operation:t};return e!=null&&(n.value=e),w.throwError(r,o.errors.NUMERIC_FAULT,n)}function hr(r){return new T(r,36).toString(16)}const cr="properties/5.7.0",K=new o(cr);function J(r,t,e){Object.defineProperty(r,t,{enumerable:!0,value:e,writable:!1})}function lr(r,t){for(let e=0;e<32;e++){if(r[t])return r[t];if(!r.prototype||typeof r.prototype!="object")break;r=Object.getPrototypeOf(r.prototype).constructor}return null}const ar={bigint:!0,boolean:!0,function:!0,number:!0,string:!0};function Z(r){if(r==null||ar[typeof r])return!0;if(Array.isArray(r)||typeof r=="object"){if(!Object.isFrozen(r))return!1;const t=Object.keys(r);for(let e=0;e<t.length;e++){let n=null;try{n=r[t[e]]}catch{continue}if(!Z(n))return!1}return!0}return K.throwArgumentError(`Cannot deepCopy ${typeof r}`,"object",r)}function gr(r){if(Z(r))return r;if(Array.isArray(r))return Object.freeze(r.map(t=>M(t)));if(typeof r=="object"){const t={};for(const e in r){const n=r[e];n!==void 0&&J(t,e,M(n))}return t}return K.throwArgumentError(`Cannot deepCopy ${typeof r}`,"object",r)}function M(r){return gr(r)}class Er{constructor(t){for(const e in t)this[e]=M(t[e])}}function q(r){return"0x"+W.sha3.keccak_256(A(r))}const mr="address/5.7.0",x=new o(mr);function H(r){l(r,20)||x.throwArgumentError("invalid address","address",r),r=r.toLowerCase();const t=r.substring(2).split(""),e=new Uint8Array(40);for(let i=0;i<40;i++)e[i]=t[i].charCodeAt(0);const n=A(q(e));for(let i=0;i<40;i+=2)n[i>>1]>>4>=8&&(t[i]=t[i].toUpperCase()),(n[i>>1]&15)>=8&&(t[i+1]=t[i+1].toUpperCase());return"0x"+t.join("")}const Nr=9007199254740991;function wr(r){return Math.log10?Math.log10(r):Math.log(r)/Math.LN10}const v={};for(let r=0;r<10;r++)v[String(r)]=String(r);for(let r=0;r<26;r++)v[String.fromCharCode(65+r)]=String(10+r);const X=Math.floor(wr(Nr));function Ar(r){r=r.toUpperCase(),r=r.substring(4)+r.substring(0,2)+"00";let t=r.split("").map(n=>v[n]).join("");for(;t.length>=X;){let n=t.substring(0,X);t=parseInt(n,10)%97+t.substring(n.length)}let e=String(98-parseInt(t,10)%97);for(;e.length<2;)e="0"+e;return e}function yr(r){let t=null;if(typeof r!="string"&&x.throwArgumentError("invalid address","address",r),r.match(/^(0x)?[0-9a-fA-F]{40}$/))r.substring(0,2)!=="0x"&&(r="0x"+r),t=H(r),r.match(/([A-F].*[a-f])|([a-f].*[A-F])/)&&t!==r&&x.throwArgumentError("bad address checksum","address",r);else if(r.match(/^XE[0-9]{2}[0-9A-Za-z]{30,31}$/)){for(r.substring(2,4)!==Ar(r)&&x.throwArgumentError("bad icap checksum","address",r),t=hr(r.substring(4));t.length<40;)t="0"+t;t=H("0x"+t)}else x.throwArgumentError("invalid address","address",r);return t}exports.BigNumber=h;exports.Description=Er;exports.Logger=o;exports.arrayify=A;exports.concat=tr;exports.defineReadOnly=J;exports.getAddress=yr;exports.getStatic=lr;exports.hexConcat=sr;exports.hexDataLength=nr;exports.hexDataSlice=ir;exports.hexZeroPad=_;exports.hexlify=c;exports.isHexString=l;exports.keccak256=q;exports.splitSignature=or;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var $=Object.defineProperty;var U=(k,r,t)=>r in k?$(k,r,{enumerable:!0,configurable:!0,writable:!0,value:t}):k[r]=t;var w=(k,r,t)=>U(k,typeof r!="symbol"?r+"":r,t);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./index-BWJGyl85.js");require("./index-wulEniZp.js");const B=async(k,r,t)=>{var l,n,o;if(!e.isValidSuiType(t))throw new Error(`Invalid Sui type: ${t}`);const c=await e.getObjectFields(k,r);if(!c)throw new Error(`Unable to fetch object fields from token bridge state. Object ID: ${r}`);const i=(n=(l=c.token_registry.fields)==null?void 0:l.id)==null?void 0:n.id;if(!i)throw new Error("Unable to fetch token registry object ID");const a=e.getPackageIdFromType((o=c.token_registry)==null?void 0:o.type);if(!a)throw new Error("Unable to fetch token registry package ID");return k.getDynamicFieldObject({parentId:i,name:{type:`${a}::token_registry::Key<${t}>`,value:{dummy_field:!1}}})},_=async(k,r,t,c)=>{var s,f,p,y;const i=await e.getObjectFields(k,r);if(!i)throw new Error("Unable to fetch object fields from token bridge state");const a=(f=(s=i.token_registry)==null?void 0:s.fields)==null?void 0:f.coin_types,l=(y=(p=a==null?void 0:a.fields)==null?void 0:p.id)==null?void 0:y.id;if(!l)throw new Error("Unable to fetch coin types");const n=e.getTableKeyType(a==null?void 0:a.type);if(!n)throw new Error("Unable to get key type");const o=await k.getDynamicFieldObject({parentId:l,name:{type:n,value:{addr:[...t],chain:c}}});if(o.error){if(o.error.code==="dynamicFieldNotFound")return null;throw new Error(`Unexpected getDynamicFieldObject response ${o.error}`)}const g=e.getFieldsFromObjectResponse(o);if(!g)return null;if(!e.isMoveStructObject(g))throw new Error("What?");return"value"in g?e.trimSuiType(g.value):null};class S{constructor(r,t,c,i){w(this,"network");w(this,"chain");w(this,"provider");w(this,"contracts");w(this,"coreBridgeObjectId");w(this,"tokenBridgeObjectId");w(this,"chainId");this.network=r,this.chain=t,this.provider=c,this.contracts=i,this.chainId=e.networkChainToNativeChainId.get(r,t);const a=this.contracts.tokenBridge;if(!a)throw new Error(`Wormhole Token Bridge contract for domain ${t} not found`);const l=this.contracts.coreBridge;if(!l)throw new Error(`Wormhole Token Bridge contract for domain ${t} not found`);this.tokenBridgeObjectId=a,this.coreBridgeObjectId=l}static async fromRpc(r,t){const[c,i]=await e.SuiPlatform.chainFromRpc(r),a=t[i];if(a.network!==c)throw new Error(`Network mismatch: ${a.network} != ${c}`);return new S(c,i,r,a.contracts)}async isWrappedAsset(r){try{return await this.getOriginalAsset(r),!0}catch{return!1}}async getOriginalAsset(r){let t=r.getCoinType();if(!e.isValidSuiType(t))throw new Error(`Invalid Sui type: ${t}`);const c=await B(this.provider,this.tokenBridgeObjectId,t),i=e.getFieldsFromObjectResponse(c);if(!i)throw e.ErrNotWrapped(t);if(!e.isMoveStructObject(i))throw new Error("Expected fields to be a MoveStruct");if(!("value"in i))throw new Error("Expected a `value` key in fields of MoveStruct");const a=i.value;if(!e.isMoveStructStruct(a))throw new Error("Expected fields to be a MoveStruct");const l=e.trimSuiType(a.type);if(t=e.trimSuiType(t),l.includes(`wrapped_asset::WrappedAsset<${t}>`)){const n=a.fields.info;if(!e.isMoveStructStruct(n))throw new Error("Expected fields to be a MoveStruct");const o=n.fields.token_address;if(!e.isMoveStructStruct(o))throw new Error("Expected fields to be a MoveStruct");if(!e.isMoveStructObject(o.fields))throw new Error("Expected address data to be a MoveObject");if(!("value"in o.fields))throw new Error("Expected a `value` key in fields of MoveStruct");const g=o.fields.value;if(!e.isMoveStructStruct(g))throw new Error("Expected fields to be a MoveStruct");const s=new Uint8Array(g.fields.data);return{chain:e.toChain(Number(n.fields.token_chain)),address:new e.UniversalAddress(s)}}throw e.ErrNotWrapped(t)}async getTokenUniversalAddress(r){let t=r.getCoinType();if(!e.isValidSuiType(t))throw new Error(`Invalid Sui type: ${t}`);const c=await B(this.provider,this.tokenBridgeObjectId,t),i=e.getFieldsFromObjectResponse(c);if(!i)throw new Error(`Token of type ${t} has not been registered with the token bridge. Has it been attested?`);if(!e.isMoveStructObject(i))throw new Error("Expected fields to be a MoveStruct");if(!("value"in i))throw new Error("Expected a `value` key in fields of MoveStruct");const a=i.value;if(!e.isMoveStructStruct(a))throw new Error("Expected fields to be a MoveStruct");const l=e.trimSuiType(a.type);if(t=e.trimSuiType(t),l.includes(`native_asset::NativeAsset<${t}>`)){const n=a.fields.token_address;if(!e.isMoveStructStruct(n))throw new Error("Expected fields to be a MoveStruct");if(!("value"in n.fields))throw new Error("Expected a `value` key in fields of MoveStruct");const o=n.fields.value;if(!e.isMoveStructStruct(o))throw new Error("Expected fields to be a MoveStruct");const g=new Uint8Array(o.fields.data);return new e.UniversalAddress(g)}throw new Error(`Token of type ${t} is not a native asset`)}async getTokenNativeAddress(r,t){const c=await _(this.provider,this.tokenBridgeObjectId,t.toUint8Array(),e.toChainId(r));if(!c)throw new Error(`Token ${t.toString()} not found in token registry`);return new e.SuiAddress(c)}async hasWrappedAsset(r){try{return await this.getWrappedAsset(r),!0}catch{}return!1}async getWrappedAsset(r){if(e.isNative(r.address))throw new Error("Token Address required, 'native' literal not supported");const t=await _(this.provider,this.tokenBridgeObjectId,r.address.toUniversalAddress().toUint8Array(),e.toChainId(r.chain));if(!t)throw e.ErrNotWrapped(e.canonicalAddress(r));return e.toNative(this.chain,t)}async isTransferCompleted(r){var n,o,g,s,f,p,y,m;const t=await e.getObjectFields(this.provider,this.tokenBridgeObjectId);if(!t)throw new Error("Unable to fetch object fields from token bridge state");const c=(o=(n=t.consumed_vaas)==null?void 0:n.fields)==null?void 0:o.hashes,i=e.getTableKeyType((s=(g=c==null?void 0:c.fields)==null?void 0:g.items)==null?void 0:s.type);if(!i)throw new Error("Unable to get key type");const a=(m=(y=(p=(f=c==null?void 0:c.fields)==null?void 0:f.items)==null?void 0:p.fields)==null?void 0:y.id)==null?void 0:m.id;if(!a)throw new Error("Unable to fetch consumed VAAs table");const l=await this.provider.getDynamicFieldObject({parentId:a,name:{type:i,value:{data:[...e.keccak_256(r.hash)]}}});if(!l.error)return!0;if(l.error.code==="dynamicFieldNotFound")return!1;throw new Error(`Unexpected getDynamicFieldObject response ${l.error}`)}async*createAttestation(r){const t=0n,i=r.toString(),a=await this.provider.getCoinMetadata({coinType:i});if(a===null||a.id===null)throw new Error(`Coin metadata ID for type ${i} not found`);const[l,n]=await this.getPackageIds(),o=new e.Transaction$1,[g]=o.splitCoins(o.gas,[o.pure.u64(t)]),[s]=o.moveCall({target:`${n}::attest_token::attest_token`,arguments:[o.object(this.tokenBridgeObjectId),o.object(a.id),o.pure.u32(0)],typeArguments:[i]});o.moveCall({target:`${l}::publish_message::publish_message`,arguments:[o.object(this.coreBridgeObjectId),g,s,o.object(e.SUI_CLOCK_OBJECT_ID)]}),yield this.createUnsignedTx(o,"Sui.TokenBridge.CreateAttestation")}async*submitAttestation(r,t){const[c,i]=await this.getPackageIds(),a=t.toString(),l=Math.min(r.payload.decimals,8),n=await this.getCoinBuildOutput(c,i,l),o=await e.publishPackage(n,a);yield this.createUnsignedTx(o,"Sui.TokenBridge.PrepareCreateWrapped");let g="",s="",f="",p="",y="",m=!1;for(;!m;){await new Promise(h=>setTimeout(h,500));const I=await this.provider.queryTransactionBlocks({filter:{FromAddress:a},options:{showObjectChanges:!0},limit:3});for(const h of I.data)if("objectChanges"in h){for(const u of h.objectChanges)e.isSuiPublishEvent(u)&&u.packageId!==void 0?g=u.packageId:e.isSuiCreateEvent(u)&&u.objectType.includes("WrappedAssetSetup")?(s=u.objectId,y=u.objectType.split(", ")[1].replace(">","")):e.isSuiCreateEvent(u)&&u.objectType.includes("UpgradeCap")?f=u.objectId:e.isSuiCreateEvent(u)&&u.objectType.includes("CoinMetadata")&&(p=u.objectId);if(g!==""&&s!==""&&f!==""&&p!==""){m=!0;break}else g="",s="",f="",p=""}}const b=e.getCoinTypeFromPackageId(g),d=new e.Transaction$1,[j]=d.moveCall({target:`${c}::vaa::parse_and_verify`,arguments:[d.object(this.coreBridgeObjectId),d.pure.vector("u8",e.serialize(r)),d.object(e.SUI_CLOCK_OBJECT_ID)]}),[T]=d.moveCall({target:`${i}::vaa::verify_only_once`,arguments:[d.object(this.tokenBridgeObjectId),j]});d.moveCall({target:`${i}::create_wrapped::complete_registration`,arguments:[d.object(this.tokenBridgeObjectId),d.object(p),d.object(s),d.object(f),T],typeArguments:[b,y]}),yield this.createUnsignedTx(d,"Sui.TokenBridge.SubmitAttestation")}async*transfer(r,t,c,i,a){const l=0n,n=0n,g=r.toString(),s=(e.isNative(c)?e.SUI_TYPE_ARG:c).toString(),f=await e.SuiPlatform.getCoins(this.provider,r,s),[p,...y]=f.filter(h=>e.isSameType(h.coinType,s));if(p===void 0)throw new Error(`Coins array doesn't contain any coins of type ${s}`);const[m,b]=await this.getPackageIds(),d=new e.Transaction$1,[j]=(()=>{if(s===e.SUI_TYPE_ARG)return d.splitCoins(d.gas,[d.pure.u64(i)]);{const h=d.object(p.coinObjectId);return y.length&&d.mergeCoins(h,y.map(u=>d.object(u.coinObjectId))),d.splitCoins(h,[d.pure.u64(i)])}})(),[T]=d.splitCoins(d.gas,[d.pure.u64(l)]),[I]=d.moveCall({target:`${b}::state::verified_asset`,arguments:[d.object(this.tokenBridgeObjectId)],typeArguments:[s]});if(a){if(!g)throw new Error("senderAddress is required for transfer with payload");let h=!1;const u=await(async()=>{const O=await e.getOldestEmitterCapObjectId(this.provider,m,g);if(O!==null)return d.object(O);{const[P]=d.moveCall({target:`${m}::emitter::new`,arguments:[d.object(this.coreBridgeObjectId)]});return h=!0,P}})(),[v,A]=d.moveCall({target:`${b}::transfer_tokens_with_payload::prepare_transfer`,arguments:[u,I,j,d.pure.u16(e.toChainId(t.chain)),d.pure.vector("u8",t.address.toUint8Array()),d.pure.vector("u8",a),d.pure.u32(0)],typeArguments:[s]});d.moveCall({target:`${b}::coin_utils::return_nonzero`,arguments:[A],typeArguments:[s]});const[E]=d.moveCall({target:`${b}::transfer_tokens_with_payload::transfer_tokens_with_payload`,arguments:[d.object(this.tokenBridgeObjectId),v],typeArguments:[s]});d.moveCall({target:`${m}::publish_message::publish_message`,arguments:[d.object(this.coreBridgeObjectId),T,E,d.object(e.SUI_CLOCK_OBJECT_ID)]}),h&&d.transferObjects([u],d.pure.address(g)),yield this.createUnsignedTx(d,"Sui.TokenBridge.TransferWithPayload")}else{const[h,u]=d.moveCall({target:`${b}::transfer_tokens::prepare_transfer`,arguments:[I,j,d.pure.u16(e.toChainId(t.chain)),d.pure.vector("u8",t.address.toUint8Array()),d.pure.u64(n),d.pure.u32(0)],typeArguments:[s]});d.moveCall({target:`${b}::coin_utils::return_nonzero`,arguments:[u],typeArguments:[s]});const[v]=d.moveCall({target:`${b}::transfer_tokens::transfer_tokens`,arguments:[d.object(this.tokenBridgeObjectId),h],typeArguments:[s]});d.moveCall({target:`${m}::publish_message::publish_message`,arguments:[d.object(this.coreBridgeObjectId),T,v,d.object(e.SUI_CLOCK_OBJECT_ID)]}),yield this.createUnsignedTx(d,"Sui.TokenBridge.Transfer")}}async*redeem(r,t,c=!0){const i=await _(this.provider,this.tokenBridgeObjectId,t.payload.token.address.toUint8Array(),e.toChainId(t.payload.token.chain));if(!i)throw new Error("Unable to fetch token coinType");const[a,l]=await this.getPackageIds(),n=new e.Transaction$1,[o]=n.moveCall({target:`${a}::vaa::parse_and_verify`,arguments:[n.object(this.coreBridgeObjectId),n.pure.vector("u8",e.serialize(t)),n.object(e.SUI_CLOCK_OBJECT_ID)]}),[g]=n.moveCall({target:`${l}::vaa::verify_only_once`,arguments:[n.object(this.tokenBridgeObjectId),o]}),[s]=n.moveCall({target:`${l}::complete_transfer::authorize_transfer`,arguments:[n.object(this.tokenBridgeObjectId),g],typeArguments:[i]}),[f]=n.moveCall({target:`${l}::complete_transfer::redeem_relayer_payout`,arguments:[s],typeArguments:[i]});n.moveCall({target:`${l}::coin_utils::return_nonzero`,arguments:[f],typeArguments:[i]}),yield this.createUnsignedTx(n,"Sui.TokenBridge.Redeem")}async getWrappedNative(){return e.toNative(this.chain,e.SUI_TYPE_ARG)}async getPackageIds(){return Promise.all([e.getPackageId(this.provider,this.coreBridgeObjectId),e.getPackageId(this.provider,this.tokenBridgeObjectId)])}async getCoinBuildOutput(r,t,c){var n;if(c>8)throw new Error("Decimals is capped at 8");const i=(n=await e.getOriginalPackageId(this.provider,this.tokenBridgeObjectId))==null?void 0:n.replace("0x","");if(!i)throw new Error(`Original token bridge package ID not found for object ID ${this.tokenBridgeObjectId}`);const a="a11ceb0b060000000901000a020a14031e1704350405392d07669f01088502600ae502050cea02160004010b010c0205020d000002000201020003030c020001000104020700000700010001090801010c020a050600030803040202000302010702080007080100020800080303090002070801010b020209000901010608010105010b0202080008030209000504434f494e095478436f6e7465787408565f5f305f325f3011577261707065644173736574536574757004636f696e0e6372656174655f777261707065640b64756d6d795f6669656c6404696e697414707265706172655f726567697374726174696f6e0f7075626c69635f7472616e736665720673656e646572087472616e736665720a74785f636f6e746578740f76657273696f6e5f636f6e74726f6c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002"+i+"00020106010000000001090b0031"+c.toString(16).padStart(2,"0")+"0a0138000b012e110238010200";return{modules:[e.b64.encode(e.hex.decode(a))],dependencies:["0x1","0x2",t,r].map(o=>e.normalizeSuiObjectId(o))}}createUnsignedTx(r,t,c=!1){return new e.SuiUnsignedTransaction(r,this.network,this.chain,t,c)}}class C{constructor(r,t,c,i){w(this,"network");w(this,"chain");w(this,"connection");w(this,"contracts");w(this,"tokenBridgeRelayerObjectId");w(this,"coreBridgeObjectId");w(this,"tokenBridgeObjectId");w(this,"fields");this.network=r,this.chain=t,this.connection=c,this.contracts=i;const{tokenBridge:a,tokenBridgeRelayer:l,coreBridge:n}=i;if(!a||!l||!n)throw new Error(`Some object IDs for ${t} Automatic Token Bridge not found`);this.tokenBridgeRelayerObjectId=l,this.tokenBridgeObjectId=a,this.coreBridgeObjectId=n}static async fromRpc(r,t){const[c,i]=await e.SuiPlatform.chainFromRpc(r),a=t[i];if(a.network!==c)throw new Error(`Network mismatch for chain ${i}: ${a.network} != ${c}`);return new C(c,i,r,a.contracts)}async*transfer(r,t,c,i,a){const n=new e.SuiAddress(e.isNative(c)?e.SuiPlatform.nativeTokenId(this.network,this.chain).address:c).getCoinType(),{coreBridge:o,tokenBridge:g}=await this.getPackageIds(),s=new e.Transaction$1,f=BigInt(0),[p]=s.splitCoins(s.gas,[s.pure.u64(f)]),[y]=await(async()=>{if(e.isNative(c))return s.splitCoins(s.gas,[s.pure.u64(i)]);{const T=await e.SuiPlatform.getCoins(this.connection,r,n),[I,...h]=T.filter(v=>v.coinType===n);if(I===void 0)throw new Error(`Coins array doesn't contain any coins of type ${n}`);const u=s.object(I.coinObjectId);return h.length&&s.mergeCoins(u,h.map(v=>s.object(v.coinObjectId))),s.splitCoins(u,[s.pure.u64(i)])}})(),[m]=s.moveCall({target:`${g}::state::verified_asset`,arguments:[s.object(this.tokenBridgeObjectId)],typeArguments:[n]}),b=await this.getPackageId(),[d]=s.moveCall({target:`${b}::transfer::transfer_tokens_with_relay`,arguments:[s.object(this.tokenBridgeRelayerObjectId),y,m,s.pure.u64(a??0n),s.pure.u16(e.toChainId(t.chain)),s.pure.address(e.hex.encode(t.address.toUint8Array(),!0)),s.pure.u32(123)],typeArguments:[n]}),[j]=s.moveCall({target:`${g}::transfer_tokens_with_payload::transfer_tokens_with_payload`,arguments:[s.object(this.tokenBridgeObjectId),d],typeArguments:[n]});s.moveCall({target:`${o}::publish_message::publish_message`,arguments:[s.object(this.coreBridgeObjectId),p,j,s.object(e.SUI_CLOCK_OBJECT_ID)]}),yield this.createUnsignedTx(s,"AutomaticTokenBridge.transfer")}async*redeem(r,t){const{coreBridge:c,tokenBridge:i}=await this.getPackageIds(),{address:a,chain:l}=t.payload.token,n=await _(this.connection,this.tokenBridgeObjectId,a.toUniversalAddress().toUint8Array(),e.toChainId(l));if(!n)throw new Error("Unable to fetch token coinType");const o=new e.Transaction$1,[g]=o.moveCall({target:`${c}::vaa::parse_and_verify`,arguments:[o.object(this.coreBridgeObjectId),o.pure.vector("u8",e.serialize(t)),o.object(e.SUI_CLOCK_OBJECT_ID)]}),[s]=o.moveCall({target:`${i}::vaa::verify_only_once`,arguments:[o.object(this.tokenBridgeObjectId),g]}),[f]=o.moveCall({target:`${i}::complete_transfer_with_payload::authorize_transfer`,arguments:[o.object(this.tokenBridgeObjectId),s],typeArguments:[n]}),p=await this.getPackageId();o.moveCall({target:`${p}::redeem::complete_transfer`,arguments:[o.object(this.tokenBridgeRelayerObjectId),f],typeArguments:[n]}),yield this.createUnsignedTx(o,"AutomaticTokenBridge.redeem")}async getRelayerFee(r,t){const c=e.isNative(t)?e.SuiPlatform.nativeTokenId(this.network,this.chain):t,i=await this.getTokenInfo(c.toString());if(i===null)throw new Error("Unsupported token for relay");const a=await this.getFields(),l=await this.connection.getDynamicFieldObject({parentId:this.tokenBridgeRelayerObjectId,name:{type:"vector<u8>",value:Array.from(e.bytes.encode("relayer_fees"))}});if(!l.data||!l.data.content)throw l.error?new Error("Failed to get relayer fees: "+JSON.stringify(l.error)):new Error("Unable to compute relayer fee");const{content:n}=l.data;if(!e.isMoveStructStruct(n)||!e.isMoveStructId(n.fields.id))throw new Error("Unable to compute relayer fee");const o=await this.connection.getDynamicFieldObject({parentId:n.fields.id.id,name:{type:"u16",value:e.toChainId(r)}});if(!o.data||!o.data.content)throw o.error?new Error("Failed to get relayer fees: "+JSON.stringify(l.error)):new Error("Unable to compute relayer fee");const{content:g}=o.data;if(!e.isMoveStructStruct(g))throw new Error("Unable to compute relayer fee");const s=await e.SuiPlatform.getDecimals(this.chain,this.connection,t.toString()),f=i.swap_rate,p=a.relayer_fee_precision,y=a.swap_rate_precision,m=g.fields.value;return 10n**BigInt(s)*BigInt(m)*BigInt(y)/(BigInt(f)*BigInt(p))}async maxSwapAmount(r){var o,g;const c=(e.isNative(r)?e.SuiPlatform.nativeTokenId(this.network,this.chain):r).toString(),i=await this.connection.getCoinMetadata({coinType:c});if(!i)throw new Error("metadata is null");const a=await this.getPackageId(),l=new e.Transaction$1;l.moveCall({target:`${a}::redeem::calculate_max_swap_amount_in`,arguments:[l.object(this.tokenBridgeRelayerObjectId),l.pure.u8(i.decimals)],typeArguments:[c]});const n=await this.connection.devInspectTransactionBlock({transactionBlock:l,sender:e.hex.encode(new Uint8Array(32))});if(!n.results||n.results.length==0||!((o=n.results[0])!=null&&o.returnValues)||((g=n.results[0])==null?void 0:g.returnValues.length)!==1)throw Error("swap rate not set");return e.bignum.decode(new Uint8Array(n.results[0].returnValues[0][0].toReversed()))}async nativeTokenAmount(r,t){var g,s;const i=(e.isNative(r)?e.SuiPlatform.nativeTokenId(this.network,this.chain):r).toString(),a=await this.connection.getCoinMetadata({coinType:i});if(!a)throw new Error("metadata is null");const l=await this.getPackageId(),n=new e.Transaction$1;n.moveCall({target:`${l}::redeem::calculate_native_swap_amount_out`,arguments:[n.object(this.tokenBridgeRelayerObjectId),n.pure.u64(t),n.pure.u8(a.decimals)],typeArguments:[i]});const o=await this.connection.devInspectTransactionBlock({transactionBlock:n,sender:e.hex.encode(new Uint8Array(32))});if(!o.results||o.results.length==0||!((g=o.results[0])!=null&&g.returnValues)||((s=o.results[0])==null?void 0:s.returnValues.length)!==1)throw Error("swap rate not set");return e.bignum.decode(new Uint8Array(o.results[0].returnValues[0][0].toReversed()))}async getRegisteredTokens(){const t=(await this.getFields()).registered_tokens.fields.id.id;return(await this.connection.getDynamicFields({parentId:t})).data.map(a=>{const{address:l,module:n,name:o}=e.parseStructTag(a.objectType);return new e.SuiAddress([l,n,o].join(e.SUI_SEPARATOR))})}async isRegisteredToken(r){const t=new e.SuiAddress(e.isNative(r)?e.SuiPlatform.nativeTokenId(this.network,this.chain).address:r).unwrap();try{return await this.getTokenInfo(t)!==null}catch(c){console.error(c)}return!1}async getTokenInfo(r){var o;const t=await this.getFields(),i=new e.SuiAddress(t.registered_tokens.type).getPackageId(),a=t.registered_tokens.fields.id.id,l=new e.SuiAddress(r),n=e.isSameType(e.SUI_COIN,l.unwrap())?e.SUI_COIN:l.getCoinType();try{const g=await this.connection.getDynamicFieldObject({parentId:a,name:{type:`${i}::registered_tokens::Key<${n}>`,value:{dummy_field:!1}}});if(g.error)throw new Error("Failed to get token info: "+JSON.stringify(g.error));if(!g.data||!g.data.content)throw new Error("Failed to get token info: "+JSON.stringify(g));const{content:s}=g.data;return e.isMoveStructStruct(s)&&e.isMoveStructStruct(s.fields.value)?s.fields.value.fields:null}catch(g){if((g==null?void 0:g.code)===-32e3&&((o=g.message)!=null&&o.includes("RPC Error")))return console.error(g),null;throw g}}async getFields(){if(!this.fields){const r=await e.getObjectFields(this.connection,this.tokenBridgeRelayerObjectId);if(r===null)throw new Error("Failed to get fields from token bridge relayer state");this.fields=r}return this.fields}async getPackageId(){const r=await this.getFields();return new e.SuiAddress(r.registered_tokens.type).getPackageId()}async getPackageIds(){const[r,t]=await Promise.all([e.getPackageId(this.connection,this.coreBridgeObjectId),e.getPackageId(this.connection,this.tokenBridgeObjectId)]);return{coreBridge:r,tokenBridge:t}}createUnsignedTx(r,t,c=!1){return new e.SuiUnsignedTransaction(r,this.network,this.chain,t,c)}}e.registerProtocol("Sui","TokenBridge",S);e.registerProtocol("Sui","AutomaticTokenBridge",C);exports.SuiAutomaticTokenBridge=C;exports.SuiTokenBridge=S;exports.getTokenCoinType=_;exports.getTokenFromTokenRegistry=B;
|
|
1
|
+
"use strict";var $=Object.defineProperty;var U=(k,r,t)=>r in k?$(k,r,{enumerable:!0,configurable:!0,writable:!0,value:t}):k[r]=t;var w=(k,r,t)=>U(k,typeof r!="symbol"?r+"":r,t);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./index-BLlpWXP6.js");require("./index-C4m-IYq4.js");const B=async(k,r,t)=>{var l,n,o;if(!e.isValidSuiType(t))throw new Error(`Invalid Sui type: ${t}`);const c=await e.getObjectFields(k,r);if(!c)throw new Error(`Unable to fetch object fields from token bridge state. Object ID: ${r}`);const i=(n=(l=c.token_registry.fields)==null?void 0:l.id)==null?void 0:n.id;if(!i)throw new Error("Unable to fetch token registry object ID");const a=e.getPackageIdFromType((o=c.token_registry)==null?void 0:o.type);if(!a)throw new Error("Unable to fetch token registry package ID");return k.getDynamicFieldObject({parentId:i,name:{type:`${a}::token_registry::Key<${t}>`,value:{dummy_field:!1}}})},_=async(k,r,t,c)=>{var s,f,p,y;const i=await e.getObjectFields(k,r);if(!i)throw new Error("Unable to fetch object fields from token bridge state");const a=(f=(s=i.token_registry)==null?void 0:s.fields)==null?void 0:f.coin_types,l=(y=(p=a==null?void 0:a.fields)==null?void 0:p.id)==null?void 0:y.id;if(!l)throw new Error("Unable to fetch coin types");const n=e.getTableKeyType(a==null?void 0:a.type);if(!n)throw new Error("Unable to get key type");const o=await k.getDynamicFieldObject({parentId:l,name:{type:n,value:{addr:[...t],chain:c}}});if(o.error){if(o.error.code==="dynamicFieldNotFound")return null;throw new Error(`Unexpected getDynamicFieldObject response ${o.error}`)}const g=e.getFieldsFromObjectResponse(o);if(!g)return null;if(!e.isMoveStructObject(g))throw new Error("What?");return"value"in g?e.trimSuiType(g.value):null};class S{constructor(r,t,c,i){w(this,"network");w(this,"chain");w(this,"provider");w(this,"contracts");w(this,"coreBridgeObjectId");w(this,"tokenBridgeObjectId");w(this,"chainId");this.network=r,this.chain=t,this.provider=c,this.contracts=i,this.chainId=e.networkChainToNativeChainId.get(r,t);const a=this.contracts.tokenBridge;if(!a)throw new Error(`Wormhole Token Bridge contract for domain ${t} not found`);const l=this.contracts.coreBridge;if(!l)throw new Error(`Wormhole Token Bridge contract for domain ${t} not found`);this.tokenBridgeObjectId=a,this.coreBridgeObjectId=l}static async fromRpc(r,t){const[c,i]=await e.SuiPlatform.chainFromRpc(r),a=t[i];if(a.network!==c)throw new Error(`Network mismatch: ${a.network} != ${c}`);return new S(c,i,r,a.contracts)}async isWrappedAsset(r){try{return await this.getOriginalAsset(r),!0}catch{return!1}}async getOriginalAsset(r){let t=r.getCoinType();if(!e.isValidSuiType(t))throw new Error(`Invalid Sui type: ${t}`);const c=await B(this.provider,this.tokenBridgeObjectId,t),i=e.getFieldsFromObjectResponse(c);if(!i)throw e.ErrNotWrapped(t);if(!e.isMoveStructObject(i))throw new Error("Expected fields to be a MoveStruct");if(!("value"in i))throw new Error("Expected a `value` key in fields of MoveStruct");const a=i.value;if(!e.isMoveStructStruct(a))throw new Error("Expected fields to be a MoveStruct");const l=e.trimSuiType(a.type);if(t=e.trimSuiType(t),l.includes(`wrapped_asset::WrappedAsset<${t}>`)){const n=a.fields.info;if(!e.isMoveStructStruct(n))throw new Error("Expected fields to be a MoveStruct");const o=n.fields.token_address;if(!e.isMoveStructStruct(o))throw new Error("Expected fields to be a MoveStruct");if(!e.isMoveStructObject(o.fields))throw new Error("Expected address data to be a MoveObject");if(!("value"in o.fields))throw new Error("Expected a `value` key in fields of MoveStruct");const g=o.fields.value;if(!e.isMoveStructStruct(g))throw new Error("Expected fields to be a MoveStruct");const s=new Uint8Array(g.fields.data);return{chain:e.toChain(Number(n.fields.token_chain)),address:new e.UniversalAddress(s)}}throw e.ErrNotWrapped(t)}async getTokenUniversalAddress(r){let t=r.getCoinType();if(!e.isValidSuiType(t))throw new Error(`Invalid Sui type: ${t}`);const c=await B(this.provider,this.tokenBridgeObjectId,t),i=e.getFieldsFromObjectResponse(c);if(!i)throw new Error(`Token of type ${t} has not been registered with the token bridge. Has it been attested?`);if(!e.isMoveStructObject(i))throw new Error("Expected fields to be a MoveStruct");if(!("value"in i))throw new Error("Expected a `value` key in fields of MoveStruct");const a=i.value;if(!e.isMoveStructStruct(a))throw new Error("Expected fields to be a MoveStruct");const l=e.trimSuiType(a.type);if(t=e.trimSuiType(t),l.includes(`native_asset::NativeAsset<${t}>`)){const n=a.fields.token_address;if(!e.isMoveStructStruct(n))throw new Error("Expected fields to be a MoveStruct");if(!("value"in n.fields))throw new Error("Expected a `value` key in fields of MoveStruct");const o=n.fields.value;if(!e.isMoveStructStruct(o))throw new Error("Expected fields to be a MoveStruct");const g=new Uint8Array(o.fields.data);return new e.UniversalAddress(g)}throw new Error(`Token of type ${t} is not a native asset`)}async getTokenNativeAddress(r,t){const c=await _(this.provider,this.tokenBridgeObjectId,t.toUint8Array(),e.toChainId(r));if(!c)throw new Error(`Token ${t.toString()} not found in token registry`);return new e.SuiAddress(c)}async hasWrappedAsset(r){try{return await this.getWrappedAsset(r),!0}catch{}return!1}async getWrappedAsset(r){if(e.isNative(r.address))throw new Error("Token Address required, 'native' literal not supported");const t=await _(this.provider,this.tokenBridgeObjectId,r.address.toUniversalAddress().toUint8Array(),e.toChainId(r.chain));if(!t)throw e.ErrNotWrapped(e.canonicalAddress(r));return e.toNative(this.chain,t)}async isTransferCompleted(r){var n,o,g,s,f,p,y,m;const t=await e.getObjectFields(this.provider,this.tokenBridgeObjectId);if(!t)throw new Error("Unable to fetch object fields from token bridge state");const c=(o=(n=t.consumed_vaas)==null?void 0:n.fields)==null?void 0:o.hashes,i=e.getTableKeyType((s=(g=c==null?void 0:c.fields)==null?void 0:g.items)==null?void 0:s.type);if(!i)throw new Error("Unable to get key type");const a=(m=(y=(p=(f=c==null?void 0:c.fields)==null?void 0:f.items)==null?void 0:p.fields)==null?void 0:y.id)==null?void 0:m.id;if(!a)throw new Error("Unable to fetch consumed VAAs table");const l=await this.provider.getDynamicFieldObject({parentId:a,name:{type:i,value:{data:[...e.keccak_256(r.hash)]}}});if(!l.error)return!0;if(l.error.code==="dynamicFieldNotFound")return!1;throw new Error(`Unexpected getDynamicFieldObject response ${l.error}`)}async*createAttestation(r){const t=0n,i=r.toString(),a=await this.provider.getCoinMetadata({coinType:i});if(a===null||a.id===null)throw new Error(`Coin metadata ID for type ${i} not found`);const[l,n]=await this.getPackageIds(),o=new e.Transaction$1,[g]=o.splitCoins(o.gas,[o.pure.u64(t)]),[s]=o.moveCall({target:`${n}::attest_token::attest_token`,arguments:[o.object(this.tokenBridgeObjectId),o.object(a.id),o.pure.u32(0)],typeArguments:[i]});o.moveCall({target:`${l}::publish_message::publish_message`,arguments:[o.object(this.coreBridgeObjectId),g,s,o.object(e.SUI_CLOCK_OBJECT_ID)]}),yield this.createUnsignedTx(o,"Sui.TokenBridge.CreateAttestation")}async*submitAttestation(r,t){const[c,i]=await this.getPackageIds(),a=t.toString(),l=Math.min(r.payload.decimals,8),n=await this.getCoinBuildOutput(c,i,l),o=await e.publishPackage(n,a);yield this.createUnsignedTx(o,"Sui.TokenBridge.PrepareCreateWrapped");let g="",s="",f="",p="",y="",m=!1;for(;!m;){await new Promise(h=>setTimeout(h,500));const I=await this.provider.queryTransactionBlocks({filter:{FromAddress:a},options:{showObjectChanges:!0},limit:3});for(const h of I.data)if("objectChanges"in h){for(const u of h.objectChanges)e.isSuiPublishEvent(u)&&u.packageId!==void 0?g=u.packageId:e.isSuiCreateEvent(u)&&u.objectType.includes("WrappedAssetSetup")?(s=u.objectId,y=u.objectType.split(", ")[1].replace(">","")):e.isSuiCreateEvent(u)&&u.objectType.includes("UpgradeCap")?f=u.objectId:e.isSuiCreateEvent(u)&&u.objectType.includes("CoinMetadata")&&(p=u.objectId);if(g!==""&&s!==""&&f!==""&&p!==""){m=!0;break}else g="",s="",f="",p=""}}const b=e.getCoinTypeFromPackageId(g),d=new e.Transaction$1,[j]=d.moveCall({target:`${c}::vaa::parse_and_verify`,arguments:[d.object(this.coreBridgeObjectId),d.pure.vector("u8",e.serialize(r)),d.object(e.SUI_CLOCK_OBJECT_ID)]}),[T]=d.moveCall({target:`${i}::vaa::verify_only_once`,arguments:[d.object(this.tokenBridgeObjectId),j]});d.moveCall({target:`${i}::create_wrapped::complete_registration`,arguments:[d.object(this.tokenBridgeObjectId),d.object(p),d.object(s),d.object(f),T],typeArguments:[b,y]}),yield this.createUnsignedTx(d,"Sui.TokenBridge.SubmitAttestation")}async*transfer(r,t,c,i,a){const l=0n,n=0n,g=r.toString(),s=(e.isNative(c)?e.SUI_TYPE_ARG:c).toString(),f=await e.SuiPlatform.getCoins(this.provider,r,s),[p,...y]=f.filter(h=>e.isSameType(h.coinType,s));if(p===void 0)throw new Error(`Coins array doesn't contain any coins of type ${s}`);const[m,b]=await this.getPackageIds(),d=new e.Transaction$1,[j]=(()=>{if(s===e.SUI_TYPE_ARG)return d.splitCoins(d.gas,[d.pure.u64(i)]);{const h=d.object(p.coinObjectId);return y.length&&d.mergeCoins(h,y.map(u=>d.object(u.coinObjectId))),d.splitCoins(h,[d.pure.u64(i)])}})(),[T]=d.splitCoins(d.gas,[d.pure.u64(l)]),[I]=d.moveCall({target:`${b}::state::verified_asset`,arguments:[d.object(this.tokenBridgeObjectId)],typeArguments:[s]});if(a){if(!g)throw new Error("senderAddress is required for transfer with payload");let h=!1;const u=await(async()=>{const O=await e.getOldestEmitterCapObjectId(this.provider,m,g);if(O!==null)return d.object(O);{const[P]=d.moveCall({target:`${m}::emitter::new`,arguments:[d.object(this.coreBridgeObjectId)]});return h=!0,P}})(),[v,A]=d.moveCall({target:`${b}::transfer_tokens_with_payload::prepare_transfer`,arguments:[u,I,j,d.pure.u16(e.toChainId(t.chain)),d.pure.vector("u8",t.address.toUint8Array()),d.pure.vector("u8",a),d.pure.u32(0)],typeArguments:[s]});d.moveCall({target:`${b}::coin_utils::return_nonzero`,arguments:[A],typeArguments:[s]});const[E]=d.moveCall({target:`${b}::transfer_tokens_with_payload::transfer_tokens_with_payload`,arguments:[d.object(this.tokenBridgeObjectId),v],typeArguments:[s]});d.moveCall({target:`${m}::publish_message::publish_message`,arguments:[d.object(this.coreBridgeObjectId),T,E,d.object(e.SUI_CLOCK_OBJECT_ID)]}),h&&d.transferObjects([u],d.pure.address(g)),yield this.createUnsignedTx(d,"Sui.TokenBridge.TransferWithPayload")}else{const[h,u]=d.moveCall({target:`${b}::transfer_tokens::prepare_transfer`,arguments:[I,j,d.pure.u16(e.toChainId(t.chain)),d.pure.vector("u8",t.address.toUint8Array()),d.pure.u64(n),d.pure.u32(0)],typeArguments:[s]});d.moveCall({target:`${b}::coin_utils::return_nonzero`,arguments:[u],typeArguments:[s]});const[v]=d.moveCall({target:`${b}::transfer_tokens::transfer_tokens`,arguments:[d.object(this.tokenBridgeObjectId),h],typeArguments:[s]});d.moveCall({target:`${m}::publish_message::publish_message`,arguments:[d.object(this.coreBridgeObjectId),T,v,d.object(e.SUI_CLOCK_OBJECT_ID)]}),yield this.createUnsignedTx(d,"Sui.TokenBridge.Transfer")}}async*redeem(r,t,c=!0){const i=await _(this.provider,this.tokenBridgeObjectId,t.payload.token.address.toUint8Array(),e.toChainId(t.payload.token.chain));if(!i)throw new Error("Unable to fetch token coinType");const[a,l]=await this.getPackageIds(),n=new e.Transaction$1,[o]=n.moveCall({target:`${a}::vaa::parse_and_verify`,arguments:[n.object(this.coreBridgeObjectId),n.pure.vector("u8",e.serialize(t)),n.object(e.SUI_CLOCK_OBJECT_ID)]}),[g]=n.moveCall({target:`${l}::vaa::verify_only_once`,arguments:[n.object(this.tokenBridgeObjectId),o]}),[s]=n.moveCall({target:`${l}::complete_transfer::authorize_transfer`,arguments:[n.object(this.tokenBridgeObjectId),g],typeArguments:[i]}),[f]=n.moveCall({target:`${l}::complete_transfer::redeem_relayer_payout`,arguments:[s],typeArguments:[i]});n.moveCall({target:`${l}::coin_utils::return_nonzero`,arguments:[f],typeArguments:[i]}),yield this.createUnsignedTx(n,"Sui.TokenBridge.Redeem")}async getWrappedNative(){return e.toNative(this.chain,e.SUI_TYPE_ARG)}async getPackageIds(){return Promise.all([e.getPackageId(this.provider,this.coreBridgeObjectId),e.getPackageId(this.provider,this.tokenBridgeObjectId)])}async getCoinBuildOutput(r,t,c){var n;if(c>8)throw new Error("Decimals is capped at 8");const i=(n=await e.getOriginalPackageId(this.provider,this.tokenBridgeObjectId))==null?void 0:n.replace("0x","");if(!i)throw new Error(`Original token bridge package ID not found for object ID ${this.tokenBridgeObjectId}`);const a="a11ceb0b060000000901000a020a14031e1704350405392d07669f01088502600ae502050cea02160004010b010c0205020d000002000201020003030c020001000104020700000700010001090801010c020a050600030803040202000302010702080007080100020800080303090002070801010b020209000901010608010105010b0202080008030209000504434f494e095478436f6e7465787408565f5f305f325f3011577261707065644173736574536574757004636f696e0e6372656174655f777261707065640b64756d6d795f6669656c6404696e697414707265706172655f726567697374726174696f6e0f7075626c69635f7472616e736665720673656e646572087472616e736665720a74785f636f6e746578740f76657273696f6e5f636f6e74726f6c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002"+i+"00020106010000000001090b0031"+c.toString(16).padStart(2,"0")+"0a0138000b012e110238010200";return{modules:[e.b64.encode(e.hex.decode(a))],dependencies:["0x1","0x2",t,r].map(o=>e.normalizeSuiObjectId(o))}}createUnsignedTx(r,t,c=!1){return new e.SuiUnsignedTransaction(r,this.network,this.chain,t,c)}}class C{constructor(r,t,c,i){w(this,"network");w(this,"chain");w(this,"connection");w(this,"contracts");w(this,"tokenBridgeRelayerObjectId");w(this,"coreBridgeObjectId");w(this,"tokenBridgeObjectId");w(this,"fields");this.network=r,this.chain=t,this.connection=c,this.contracts=i;const{tokenBridge:a,tokenBridgeRelayer:l,coreBridge:n}=i;if(!a||!l||!n)throw new Error(`Some object IDs for ${t} Automatic Token Bridge not found`);this.tokenBridgeRelayerObjectId=l,this.tokenBridgeObjectId=a,this.coreBridgeObjectId=n}static async fromRpc(r,t){const[c,i]=await e.SuiPlatform.chainFromRpc(r),a=t[i];if(a.network!==c)throw new Error(`Network mismatch for chain ${i}: ${a.network} != ${c}`);return new C(c,i,r,a.contracts)}async*transfer(r,t,c,i,a){const n=new e.SuiAddress(e.isNative(c)?e.SuiPlatform.nativeTokenId(this.network,this.chain).address:c).getCoinType(),{coreBridge:o,tokenBridge:g}=await this.getPackageIds(),s=new e.Transaction$1,f=BigInt(0),[p]=s.splitCoins(s.gas,[s.pure.u64(f)]),[y]=await(async()=>{if(e.isNative(c))return s.splitCoins(s.gas,[s.pure.u64(i)]);{const T=await e.SuiPlatform.getCoins(this.connection,r,n),[I,...h]=T.filter(v=>v.coinType===n);if(I===void 0)throw new Error(`Coins array doesn't contain any coins of type ${n}`);const u=s.object(I.coinObjectId);return h.length&&s.mergeCoins(u,h.map(v=>s.object(v.coinObjectId))),s.splitCoins(u,[s.pure.u64(i)])}})(),[m]=s.moveCall({target:`${g}::state::verified_asset`,arguments:[s.object(this.tokenBridgeObjectId)],typeArguments:[n]}),b=await this.getPackageId(),[d]=s.moveCall({target:`${b}::transfer::transfer_tokens_with_relay`,arguments:[s.object(this.tokenBridgeRelayerObjectId),y,m,s.pure.u64(a??0n),s.pure.u16(e.toChainId(t.chain)),s.pure.address(e.hex.encode(t.address.toUint8Array(),!0)),s.pure.u32(123)],typeArguments:[n]}),[j]=s.moveCall({target:`${g}::transfer_tokens_with_payload::transfer_tokens_with_payload`,arguments:[s.object(this.tokenBridgeObjectId),d],typeArguments:[n]});s.moveCall({target:`${o}::publish_message::publish_message`,arguments:[s.object(this.coreBridgeObjectId),p,j,s.object(e.SUI_CLOCK_OBJECT_ID)]}),yield this.createUnsignedTx(s,"AutomaticTokenBridge.transfer")}async*redeem(r,t){const{coreBridge:c,tokenBridge:i}=await this.getPackageIds(),{address:a,chain:l}=t.payload.token,n=await _(this.connection,this.tokenBridgeObjectId,a.toUniversalAddress().toUint8Array(),e.toChainId(l));if(!n)throw new Error("Unable to fetch token coinType");const o=new e.Transaction$1,[g]=o.moveCall({target:`${c}::vaa::parse_and_verify`,arguments:[o.object(this.coreBridgeObjectId),o.pure.vector("u8",e.serialize(t)),o.object(e.SUI_CLOCK_OBJECT_ID)]}),[s]=o.moveCall({target:`${i}::vaa::verify_only_once`,arguments:[o.object(this.tokenBridgeObjectId),g]}),[f]=o.moveCall({target:`${i}::complete_transfer_with_payload::authorize_transfer`,arguments:[o.object(this.tokenBridgeObjectId),s],typeArguments:[n]}),p=await this.getPackageId();o.moveCall({target:`${p}::redeem::complete_transfer`,arguments:[o.object(this.tokenBridgeRelayerObjectId),f],typeArguments:[n]}),yield this.createUnsignedTx(o,"AutomaticTokenBridge.redeem")}async getRelayerFee(r,t){const c=e.isNative(t)?e.SuiPlatform.nativeTokenId(this.network,this.chain):t,i=await this.getTokenInfo(c.toString());if(i===null)throw new Error("Unsupported token for relay");const a=await this.getFields(),l=await this.connection.getDynamicFieldObject({parentId:this.tokenBridgeRelayerObjectId,name:{type:"vector<u8>",value:Array.from(e.bytes.encode("relayer_fees"))}});if(!l.data||!l.data.content)throw l.error?new Error("Failed to get relayer fees: "+JSON.stringify(l.error)):new Error("Unable to compute relayer fee");const{content:n}=l.data;if(!e.isMoveStructStruct(n)||!e.isMoveStructId(n.fields.id))throw new Error("Unable to compute relayer fee");const o=await this.connection.getDynamicFieldObject({parentId:n.fields.id.id,name:{type:"u16",value:e.toChainId(r)}});if(!o.data||!o.data.content)throw o.error?new Error("Failed to get relayer fees: "+JSON.stringify(l.error)):new Error("Unable to compute relayer fee");const{content:g}=o.data;if(!e.isMoveStructStruct(g))throw new Error("Unable to compute relayer fee");const s=await e.SuiPlatform.getDecimals(this.chain,this.connection,t.toString()),f=i.swap_rate,p=a.relayer_fee_precision,y=a.swap_rate_precision,m=g.fields.value;return 10n**BigInt(s)*BigInt(m)*BigInt(y)/(BigInt(f)*BigInt(p))}async maxSwapAmount(r){var o,g;const c=(e.isNative(r)?e.SuiPlatform.nativeTokenId(this.network,this.chain):r).toString(),i=await this.connection.getCoinMetadata({coinType:c});if(!i)throw new Error("metadata is null");const a=await this.getPackageId(),l=new e.Transaction$1;l.moveCall({target:`${a}::redeem::calculate_max_swap_amount_in`,arguments:[l.object(this.tokenBridgeRelayerObjectId),l.pure.u8(i.decimals)],typeArguments:[c]});const n=await this.connection.devInspectTransactionBlock({transactionBlock:l,sender:e.hex.encode(new Uint8Array(32))});if(!n.results||n.results.length==0||!((o=n.results[0])!=null&&o.returnValues)||((g=n.results[0])==null?void 0:g.returnValues.length)!==1)throw Error("swap rate not set");return e.bignum.decode(new Uint8Array(n.results[0].returnValues[0][0].toReversed()))}async nativeTokenAmount(r,t){var g,s;const i=(e.isNative(r)?e.SuiPlatform.nativeTokenId(this.network,this.chain):r).toString(),a=await this.connection.getCoinMetadata({coinType:i});if(!a)throw new Error("metadata is null");const l=await this.getPackageId(),n=new e.Transaction$1;n.moveCall({target:`${l}::redeem::calculate_native_swap_amount_out`,arguments:[n.object(this.tokenBridgeRelayerObjectId),n.pure.u64(t),n.pure.u8(a.decimals)],typeArguments:[i]});const o=await this.connection.devInspectTransactionBlock({transactionBlock:n,sender:e.hex.encode(new Uint8Array(32))});if(!o.results||o.results.length==0||!((g=o.results[0])!=null&&g.returnValues)||((s=o.results[0])==null?void 0:s.returnValues.length)!==1)throw Error("swap rate not set");return e.bignum.decode(new Uint8Array(o.results[0].returnValues[0][0].toReversed()))}async getRegisteredTokens(){const t=(await this.getFields()).registered_tokens.fields.id.id;return(await this.connection.getDynamicFields({parentId:t})).data.map(a=>{const{address:l,module:n,name:o}=e.parseStructTag(a.objectType);return new e.SuiAddress([l,n,o].join(e.SUI_SEPARATOR))})}async isRegisteredToken(r){const t=new e.SuiAddress(e.isNative(r)?e.SuiPlatform.nativeTokenId(this.network,this.chain).address:r).unwrap();try{return await this.getTokenInfo(t)!==null}catch(c){console.error(c)}return!1}async getTokenInfo(r){var o;const t=await this.getFields(),i=new e.SuiAddress(t.registered_tokens.type).getPackageId(),a=t.registered_tokens.fields.id.id,l=new e.SuiAddress(r),n=e.isSameType(e.SUI_COIN,l.unwrap())?e.SUI_COIN:l.getCoinType();try{const g=await this.connection.getDynamicFieldObject({parentId:a,name:{type:`${i}::registered_tokens::Key<${n}>`,value:{dummy_field:!1}}});if(g.error)throw new Error("Failed to get token info: "+JSON.stringify(g.error));if(!g.data||!g.data.content)throw new Error("Failed to get token info: "+JSON.stringify(g));const{content:s}=g.data;return e.isMoveStructStruct(s)&&e.isMoveStructStruct(s.fields.value)?s.fields.value.fields:null}catch(g){if((g==null?void 0:g.code)===-32e3&&((o=g.message)!=null&&o.includes("RPC Error")))return console.error(g),null;throw g}}async getFields(){if(!this.fields){const r=await e.getObjectFields(this.connection,this.tokenBridgeRelayerObjectId);if(r===null)throw new Error("Failed to get fields from token bridge relayer state");this.fields=r}return this.fields}async getPackageId(){const r=await this.getFields();return new e.SuiAddress(r.registered_tokens.type).getPackageId()}async getPackageIds(){const[r,t]=await Promise.all([e.getPackageId(this.connection,this.coreBridgeObjectId),e.getPackageId(this.connection,this.tokenBridgeObjectId)]);return{coreBridge:r,tokenBridge:t}}createUnsignedTx(r,t,c=!1){return new e.SuiUnsignedTransaction(r,this.network,this.chain,t,c)}}e.registerProtocol("Sui","TokenBridge",S);e.registerProtocol("Sui","AutomaticTokenBridge",C);exports.SuiAutomaticTokenBridge=C;exports.SuiTokenBridge=S;exports.getTokenCoinType=_;exports.getTokenFromTokenRegistry=B;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var v=Object.defineProperty;var y=(b,e,t)=>e in b?v(b,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):b[e]=t;var i=(b,e,t)=>y(b,typeof e!="symbol"?e+"":e,t);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const d=require("./chunk-IMTC3J2M-
|
|
1
|
+
"use strict";var v=Object.defineProperty;var y=(b,e,t)=>e in b?v(b,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):b[e]=t;var i=(b,e,t)=>y(b,typeof e!="symbol"?e+"":e,t);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const d=require("./chunk-IMTC3J2M-DATbOiv9.js"),c=require("./index-BLlpWXP6.js"),k=require("./aptos-DdFczU7e.js"),M=require("./unsignedTransaction-C1YeEl4G.js"),x=[["Mainnet",{depositForBurn:"0xa11ceb0b0700000a0701000802080e031614042a04052e30075e870108e5014000000001000201030004000001050701000100060b0001070304010801020805060108010309080900010002010205060c030e05050208000b010108020108020105010b0101090003060c0b01010900030108000004060c08000e0501030e66756e6769626c655f6173736574066f626a656374167072696d6172795f66756e6769626c655f73746f72650f746f6b656e5f6d657373656e6765720d46756e6769626c654173736574064f626a656374084d6574616461746111616464726573735f746f5f6f626a656374087769746864726177106465706f7369745f666f725f6275726e00000000000000000000000000000000000000000000000000000000000000019bce6734f7b63e835108e3bd8c36743d4709fe435f44791918801d0989640a9d0000010f0b0438000c060a000b060b0138010c050b000b050b020b0311020102",handleReceiveMessage:"0xa11ceb0b0700000a0601000402040403080c051416072a53087d40000001010002000000030203000101040304000103060c0a020a020003060c060a02060a020108000101136d6573736167655f7472616e736d69747465720f746f6b656e5f6d657373656e67657207526563656970740f726563656976655f6d6573736167651668616e646c655f726563656976655f6d657373616765177e17751820e4b4371873ca8c30279be63bdea63b88ed0f2239c2eea10f17729bce6734f7b63e835108e3bd8c36743d4709fe435f44791918801d0989640a9d000001070b000e010e02110011010102"}],["Testnet",{depositForBurn:"0xa11ceb0b0700000a0701000802080e031614042a04052e30075e870108e5014000000001000201030004000001050701000100060b0001070304010801020805060108010309080900010002010205060c030e05050208000b010108020108020105010b0101090003060c0b01010900030108000004060c08000e0501030e66756e6769626c655f6173736574066f626a656374167072696d6172795f66756e6769626c655f73746f72650f746f6b656e5f6d657373656e6765720d46756e6769626c654173736574064f626a656374084d6574616461746111616464726573735f746f5f6f626a656374087769746864726177106465706f7369745f666f725f6275726e00000000000000000000000000000000000000000000000000000000000000015f9b937419dda90aa06c1836b7847f65bbbe3f1217567758dc2488be31a477b90000010f0b0438000c060a000b060b0138010c050b000b050b020b0311020102",handleReceiveMessage:"0xa11ceb0b0700000a0601000402040403080c051416072a53087d40000001010002000000030203000101040304000103060c0a020a020003060c060a02060a020108000101136d6573736167655f7472616e736d69747465720f746f6b656e5f6d657373656e67657207526563656970740f726563656976655f6d6573736167651668616e646c655f726563656976655f6d657373616765081e86cebf457a0c6004f35bd648a2794698f52e0dde09a48619dcd3d4cc23d95f9b937419dda90aa06c1836b7847f65bbbe3f1217567758dc2488be31a477b9000001070b000e010e02110011010102"}]],u=c.constMap(x,[0,1]);class h{constructor(e,t,n,s){i(this,"network");i(this,"chain");i(this,"provider");i(this,"contracts");i(this,"usdcId");i(this,"tokenMessengerId");i(this,"messageTransmitterId");i(this,"moveScripts");var a,f,o;if(this.network=e,this.chain=t,this.provider=n,this.contracts=s,e==="Devnet")throw new Error("CircleBridge not supported on Devnet");const r=c.usdcContract.get(this.network,this.chain);if(!r)throw new Error(`No USDC contract configured for network=${this.network} chain=${this.chain}`);if(!((a=s.cctp)!=null&&a.tokenMessenger))throw new Error(`Circle Token Messenger contract for domain ${t} not found`);if(!((f=s.cctp)!=null&&f.messageTransmitter))throw new Error(`Circle Message Transmitter contract for domain ${t} not found`);if(!u.has(e))throw new Error("No Aptos CCTP move scripts found");this.usdcId=r,this.tokenMessengerId=(o=s.cctp)==null?void 0:o.tokenMessenger,this.messageTransmitterId=s.cctp.messageTransmitter,this.moveScripts=u.get(e)}async*transfer(e,t,n){const s=new d.y$2(c.circleChainId.get(this.network,t.chain)),r=d.l.from(this.usdcId),a=d.l.from(t.address.toUniversalAddress().toUint8Array()),f=[new d.m$1(n),s,a,r],o={bytecode:this.moveScripts.depositForBurn,functionArguments:f};yield this.createUnsignedTx(o,"Aptos.CircleBridge.Transfer")}async isTransferCompleted(e){const t=new d.y$2(e.sourceDomain).bcsToBytes(),n=new d.m$1(e.nonce).bcsToBytes(),s=c.keccak_256(new Uint8Array([...t,45,...n])),r=c.hex.encode(s);return(await this.provider.view({payload:{function:`${this.messageTransmitterId}::message_transmitter::is_nonce_used`,functionArguments:[r]}}))[0]}async*redeem(e,t,n){const s=[d.t$4.U8(c.CircleBridge.serialize(t)),d.t$4.U8(c.hex.decode(n))],r={bytecode:this.moveScripts.handleReceiveMessage,functionArguments:s};yield this.createUnsignedTx(r,"Aptos.CircleBridge.Redeem")}async parseTransactionDetails(e){var g;const t=await this.provider.getTransactionByHash({transactionHash:e}),n=this.messageTransmitterId.replace(/^0x0+/,"0x"),s=(g=t.events)==null?void 0:g.find(C=>C.type===`${n}::message_transmitter::MessageSent`);if(!s)throw new Error("No MessageSent event found");const r=c.hex.decode(s.data.message),[a,f]=c.CircleBridge.deserialize(r),{payload:o}=a,p=o.messageSender,l=o.mintRecipient,m=c.toCircleChain(this.network,a.sourceDomain),w=c.toCircleChain(this.network,a.destinationDomain),T={chain:m,address:o.burnToken};return{from:{chain:m,address:p},to:{chain:w,address:l},token:T,amount:o.amount,message:a,id:{hash:f}}}static async fromRpc(e,t){const[n,s]=await k.AptosPlatform.chainFromRpc(e),r=t[s];if(r.network!==n)throw new Error(`Network mismatch: ${r.network} != ${n}`);return new h(n,s,e,r.contracts)}createUnsignedTx(e,t,n=!1){return new M.AptosUnsignedTransaction(e,this.network,this.chain,t,n)}}c.registerProtocol("Aptos","CircleBridge",h);exports.AptosCircleBridge=h;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { b as vo, d as _o, f as xo, g as Eo, i as Fo, j as Ao, k as So, l as Bo, m as Io, n as Oo, c as To } from "./index-
|
|
2
|
-
import { O as ge, Q as Tn, cI as Co, ax as me } from "./index-
|
|
1
|
+
import { b as vo, d as _o, f as xo, g as Eo, i as Fo, j as Ao, k as So, l as Bo, m as Io, n as Oo, c as To } from "./index-B0GXJEZF.mjs";
|
|
2
|
+
import { O as ge, Q as Tn, cI as Co, ax as me } from "./index-CSzw0A9y.mjs";
|
|
3
3
|
function Cn(e = 0) {
|
|
4
4
|
return globalThis.Buffer != null && globalThis.Buffer.allocUnsafe != null ? globalThis.Buffer.allocUnsafe(e) : new Uint8Array(e);
|
|
5
5
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { s as ce, T as N, o as ot, n as _t, R as Do, t as H, y as gt, a as C, p as K } from "./index-
|
|
1
|
+
import { s as ce, T as N, o as ot, n as _t, R as Do, t as H, y as gt, a as C, p as K } from "./index-DTDaTG6O.mjs";
|
|
2
2
|
import { d as Uo } from "./dijkstra-BZM-8g-B.mjs";
|
|
3
|
-
import { O as Wo } from "./index-
|
|
3
|
+
import { O as Wo } from "./index-CSzw0A9y.mjs";
|
|
4
4
|
/**
|
|
5
5
|
* @license
|
|
6
6
|
* Copyright 2019 Google LLC
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { e as gt, s as xo } from "./events-
|
|
2
|
-
import { cI as Do, cJ as Ow, O as Z, Q as Rw, cG as $u } from "./index-
|
|
3
|
-
import { s as Fo, x as Lh, r as kh, H as $w, c as zh, q as Ss } from "./evm-
|
|
4
|
-
import { c as F } from "./index-
|
|
5
|
-
import { I as ur, f as dt, t as nt, c as Cu, C as Cw, d as Nw, r as Tw, a as xr, g as Hh, i as bt, b as Cs, e as Nu, h as Aw, j as xw, k as Ns, p as Vh, T as Ts, l as As, E as ke, m as Dw, y as Qe, P as Tu, Q as Fw, n as qw, o as qo, q as xs, s as Bt, _ as jw, u as Uw, v as Au } from "./index-
|
|
1
|
+
import { e as gt, s as xo } from "./events-BHzYkXv0.mjs";
|
|
2
|
+
import { cI as Do, cJ as Ow, O as Z, Q as Rw, cG as $u } from "./index-CSzw0A9y.mjs";
|
|
3
|
+
import { s as Fo, x as Lh, r as kh, H as $w, c as zh, q as Ss } from "./evm-Ot6xhgdL.mjs";
|
|
4
|
+
import { c as F } from "./index-B0GXJEZF.mjs";
|
|
5
|
+
import { I as ur, f as dt, t as nt, c as Cu, C as Cw, d as Nw, r as Tw, a as xr, g as Hh, i as bt, b as Cs, e as Nu, h as Aw, j as xw, k as Ns, p as Vh, T as Ts, l as As, E as ke, m as Dw, y as Qe, P as Tu, Q as Fw, n as qw, o as qo, q as xs, s as Bt, _ as jw, u as Uw, v as Au } from "./index-pMNbkZpE.mjs";
|
|
6
6
|
var se = {};
|
|
7
7
|
Object.defineProperty(se, "__esModule", { value: !0 });
|
|
8
8
|
se.getLocalStorage = se.getLocalStorageOrThrow = se.getCrypto = se.getCryptoOrThrow = se.getLocation = se.getLocationOrThrow = se.getNavigator = se.getNavigatorOrThrow = se.getDocument = se.getDocumentOrThrow = se.getFromWindowOrThrow = se.getFromWindow = void 0;
|
|
@@ -7674,7 +7674,7 @@ class Qo {
|
|
|
7674
7674
|
if (this.rpc = this.getRpcConfig(t), this.chainId = this.rpc.chains.length ? $s(this.rpc.chains) : $s(this.rpc.optionalChains), this.signer = await BI.init({ projectId: this.rpc.projectId, metadata: this.rpc.metadata, disableProviderPing: t.disableProviderPing, relayUrl: t.relayUrl, storageOptions: t.storageOptions }), this.registerEventListeners(), await this.loadPersistedSession(), this.rpc.showQrModal) {
|
|
7675
7675
|
let r;
|
|
7676
7676
|
try {
|
|
7677
|
-
const { WalletConnectModal: s } = await import("./index-
|
|
7677
|
+
const { WalletConnectModal: s } = await import("./index-DTDaTG6O.mjs").then((o) => o.i);
|
|
7678
7678
|
r = s;
|
|
7679
7679
|
} catch {
|
|
7680
7680
|
throw new Error("To use QR modal, please install @walletconnect/modal package");
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const He=require("./events-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const He=require("./events-CDKTsN8F.js"),W=require("./index-BLlpWXP6.js"),ze=require("./evm-BiUA3wA6.js"),j=require("./index-Dk5wC_Sb.js"),E=require("./index-F_hsheGy.js");var ne={};Object.defineProperty(ne,"__esModule",{value:!0});ne.getLocalStorage=ne.getLocalStorageOrThrow=ne.getCrypto=ne.getCryptoOrThrow=ne.getLocation=ne.getLocationOrThrow=ne.getNavigator=ne.getNavigatorOrThrow=ne.getDocument=ne.getDocumentOrThrow=ne.getFromWindowOrThrow=ne.getFromWindow=void 0;function nr(a){let t;return typeof window<"u"&&typeof window[a]<"u"&&(t=window[a]),t}ne.getFromWindow=nr;function $r(a){const t=nr(a);if(!t)throw new Error(`${a} is not defined in Window`);return t}ne.getFromWindowOrThrow=$r;function rw(){return $r("document")}ne.getDocumentOrThrow=rw;function iw(){return nr("document")}ne.getDocument=iw;function sw(){return $r("navigator")}ne.getNavigatorOrThrow=sw;function nw(){return nr("navigator")}ne.getNavigator=nw;function ow(){return $r("location")}ne.getLocationOrThrow=ow;function aw(){return nr("location")}ne.getLocation=aw;function cw(){return $r("crypto")}ne.getCryptoOrThrow=cw;function uw(){return nr("crypto")}ne.getCrypto=uw;function hw(){return $r("localStorage")}ne.getLocalStorageOrThrow=hw;function lw(){return nr("localStorage")}ne.getLocalStorage=lw;var Eo={};Object.defineProperty(Eo,"__esModule",{value:!0});Eo.getWindowMetadata=void 0;const pu=ne;function pw(){let a,t;try{a=pu.getDocumentOrThrow(),t=pu.getLocationOrThrow()}catch{return null}function r(){const O=a.getElementsByTagName("link"),N=[];for(let q=0;q<O.length;q++){const x=O[q],K=x.getAttribute("rel");if(K&&K.toLowerCase().indexOf("icon")>-1){const D=x.getAttribute("href");if(D)if(D.toLowerCase().indexOf("https:")===-1&&D.toLowerCase().indexOf("http:")===-1&&D.indexOf("//")!==0){let Q=t.protocol+"//"+t.host;if(D.indexOf("/")===0)Q+=D;else{const fe=t.pathname.split("/");fe.pop();const Z=fe.join("/");Q+=Z+"/"+D}N.push(Q)}else if(D.indexOf("//")===0){const Q=t.protocol+D;N.push(Q)}else N.push(D)}}return N}function s(...O){const N=a.getElementsByTagName("meta");for(let q=0;q<N.length;q++){const x=N[q],K=["itemprop","property","name"].map(D=>x.getAttribute(D)).filter(D=>D?O.includes(D):!1);if(K.length&&K){const D=x.getAttribute("content");if(D)return D}}return""}function o(){let O=s("name","og:site_name","og:title","twitter:title");return O||(O=a.title),O}function u(){return s("description","og:description","twitter:description","keywords")}const l=o(),g=u(),w=t.origin,b=r();return{description:g,url:w,icons:b,name:l}}Eo.getWindowMetadata=pw;function fw(a,t=[]){const r=[];return Object.keys(a).forEach(s=>{if(t.length&&!t.includes(s))return;const o=a[s];r.push(...o.accounts)}),r}const dw={INVALID_METHOD:{message:"Invalid method.",code:1001},INVALID_EVENT:{message:"Invalid event.",code:1002},INVALID_UPDATE_REQUEST:{message:"Invalid update request.",code:1003},INVALID_EXTEND_REQUEST:{message:"Invalid extend request.",code:1004},INVALID_SESSION_SETTLE_REQUEST:{message:"Invalid session settle request.",code:1005},UNAUTHORIZED_METHOD:{message:"Unauthorized method.",code:3001},UNAUTHORIZED_EVENT:{message:"Unauthorized event.",code:3002},UNAUTHORIZED_UPDATE_REQUEST:{message:"Unauthorized update request.",code:3003},UNAUTHORIZED_EXTEND_REQUEST:{message:"Unauthorized extend request.",code:3004},USER_REJECTED:{message:"User rejected.",code:5e3},USER_REJECTED_CHAINS:{message:"User rejected chains.",code:5001},USER_REJECTED_METHODS:{message:"User rejected methods.",code:5002},USER_REJECTED_EVENTS:{message:"User rejected events.",code:5003},UNSUPPORTED_CHAINS:{message:"Unsupported chains.",code:5100},UNSUPPORTED_METHODS:{message:"Unsupported methods.",code:5101},UNSUPPORTED_EVENTS:{message:"Unsupported events.",code:5102},UNSUPPORTED_ACCOUNTS:{message:"Unsupported accounts.",code:5103},UNSUPPORTED_NAMESPACE_KEY:{message:"Unsupported namespace key.",code:5104},USER_DISCONNECTED:{message:"User disconnected.",code:6e3},SESSION_SETTLEMENT_FAILED:{message:"Session settlement failed.",code:7e3},WC_METHOD_UNSUPPORTED:{message:"Unsupported wc_ method.",code:10001}};function gw(a,t){const{message:r,code:s}=dw[a];return{message:r,code:s}}function uo(a,t){return!!Array.isArray(a)}var Tr={};/*! *****************************************************************************
|
|
2
2
|
Copyright (c) Microsoft Corporation.
|
|
3
3
|
|
|
4
4
|
Permission to use, copy, modify, and/or distribute this software for any
|
|
@@ -43,4 +43,4 @@ __p += '`),Y&&(R+=`' +
|
|
|
43
43
|
function print() { __p += __j.call(arguments, '') }
|
|
44
44
|
`:`;
|
|
45
45
|
`)+R+`return __p
|
|
46
|
-
}`;var V=uu(function(){return X(f,F+"return "+R).apply(r,d)});if(V.source=R,Mn(V))throw V;return V}function um(e){return te(e).toLowerCase()}function hm(e){return te(e).toUpperCase()}function lm(e,i,n){if(e=te(e),e&&(n||i===r))return ma(e);if(!e||!(i=Be(i)))return e;var c=ct(e),h=ct(i),f=wa(c,h),d=_a(c,h)+1;return kt(c,f,d).join("")}function pm(e,i,n){if(e=te(e),e&&(n||i===r))return e.slice(0,Ea(e)+1);if(!e||!(i=Be(i)))return e;var c=ct(e),h=_a(c,ct(i))+1;return kt(c,0,h).join("")}function fm(e,i,n){if(e=te(e),e&&(n||i===r))return e.replace(Us,"");if(!e||!(i=Be(i)))return e;var c=ct(e),h=wa(c,ct(i));return kt(c,h).join("")}function dm(e,i){var n=ol,c=al;if(le(i)){var h="separator"in i?i.separator:h;n="length"in i?H(i.length):n,c="omission"in i?Be(i.omission):c}e=te(e);var f=e.length;if(dr(e)){var d=ct(e);f=d.length}if(n>=f)return e;var y=n-gr(c);if(y<1)return c;var m=d?kt(d,0,y).join(""):e.slice(0,y);if(h===r)return m+c;if(d&&(y+=m.length-y),Ln(h)){if(e.slice(y).search(h)){var P,S=m;for(h.global||(h=tn(h.source,te(Lo.exec(h))+"g")),h.lastIndex=0;P=h.exec(S);)var R=P.index;m=m.slice(0,R===r?y:R)}}else if(e.indexOf(Be(h),y)!=y){var T=m.lastIndexOf(h);T>-1&&(m=m.slice(0,T))}return m+c}function gm(e){return e=te(e),e&&Sl.test(e)?e.replace(qo,Hp):e}var ym=Er(function(e,i,n){return e+(n?" ":"")+i.toUpperCase()}),Hn=hc("toUpperCase");function cu(e,i,n){return e=te(e),i=n?r:i,i===r?Up(e)?Bp(e):Cp(e):e.match(i)||[]}var uu=B(function(e,i){try{return Ve(e,r,i)}catch(n){return Mn(n)?n:new k(n)}}),vm=Pt(function(e,i){return Ze(i,function(n){n=vt(n),Et(e,n,qn(e[n],e))}),e});function mm(e){var i=e==null?0:e.length,n=U();return e=i?ce(e,function(c){if(typeof c[1]!="function")throw new Xe(l);return[n(c[0]),c[1]]}):[],B(function(c){for(var h=-1;++h<i;){var f=e[h];if(Ve(f[0],this,c))return Ve(f[1],this,c)}})}function wm(e){return Vf(tt(e,O))}function Vn(e){return function(){return e}}function _m(e,i){return e==null||e!==e?i:e}var bm=pc(),Em=pc(!0);function Me(e){return e}function Kn(e){return za(typeof e=="function"?e:tt(e,O))}function Im(e){return Va(tt(e,O))}function Pm(e,i){return Ka(e,tt(i,O))}var Sm=B(function(e,i){return function(n){return Yr(n,e,i)}}),Om=B(function(e,i){return function(n){return Yr(e,n,i)}});function Bn(e,i,n){var c=be(i),h=Wi(i,c);n==null&&!(le(i)&&(h.length||!c.length))&&(n=i,i=e,e=this,h=Wi(i,be(i)));var f=!(le(n)&&"chain"in n)||!!n.chain,d=Ot(e);return Ze(h,function(y){var m=i[y];e[y]=m,d&&(e.prototype[y]=function(){var P=this.__chain__;if(f||P){var S=e(this.__wrapped__),R=S.__actions__=je(this.__actions__);return R.push({func:m,args:arguments,thisArg:e}),S.__chain__=P,S}return m.apply(e,Ft([this.value()],arguments))})}),e}function Rm(){return Ie._===this&&(Ie._=Zp),this}function Wn(){}function Nm(e){return e=H(e),B(function(i){return Ba(i,e)})}var Cm=Pn(ce),$m=Pn(fa),Tm=Pn(Js);function hu(e){return Tn(e)?Gs(vt(e)):ad(e)}function Am(e){return function(i){return e==null?r:Zt(e,i)}}var xm=dc(),Dm=dc(!0);function Jn(){return[]}function Gn(){return!1}function Fm(){return{}}function jm(){return""}function qm(){return!0}function Um(e,i){if(e=H(e),e<1||e>ur)return[];var n=dt,c=Oe(e,dt);i=U(i),e-=dt;for(var h=Zs(c,i);++n<e;)i(n);return h}function Mm(e){return z(e)?ce(e,vt):We(e)?[e]:je($c(te(e)))}function Lm(e){var i=++Qp;return te(e)+i}var km=Xi(function(e,i){return e+i},0),zm=Sn("ceil"),Hm=Xi(function(e,i){return e/i},1),Vm=Sn("floor");function Km(e){return e&&e.length?Bi(e,Me,hn):r}function Bm(e,i){return e&&e.length?Bi(e,U(i,2),hn):r}function Wm(e){return ya(e,Me)}function Jm(e,i){return ya(e,U(i,2))}function Gm(e){return e&&e.length?Bi(e,Me,dn):r}function Qm(e,i){return e&&e.length?Bi(e,U(i,2),dn):r}var Ym=Xi(function(e,i){return e*i},1),Zm=Sn("round"),Xm=Xi(function(e,i){return e-i},0);function ew(e){return e&&e.length?Ys(e,Me):0}function tw(e,i){return e&&e.length?Ys(e,U(i,2)):0}return p.after=Iy,p.ary=kc,p.assign=hv,p.assignIn=tu,p.assignInWith=ps,p.assignWith=lv,p.at=pv,p.before=zc,p.bind=qn,p.bindAll=vm,p.bindKey=Hc,p.castArray=Fy,p.chain=Uc,p.chunk=Vd,p.compact=Kd,p.concat=Bd,p.cond=mm,p.conforms=wm,p.constant=Vn,p.countBy=ey,p.create=fv,p.curry=Vc,p.curryRight=Kc,p.debounce=Bc,p.defaults=dv,p.defaultsDeep=gv,p.defer=Py,p.delay=Sy,p.difference=Wd,p.differenceBy=Jd,p.differenceWith=Gd,p.drop=Qd,p.dropRight=Yd,p.dropRightWhile=Zd,p.dropWhile=Xd,p.fill=eg,p.filter=ry,p.flatMap=ny,p.flatMapDeep=oy,p.flatMapDepth=ay,p.flatten=Dc,p.flattenDeep=tg,p.flattenDepth=rg,p.flip=Oy,p.flow=bm,p.flowRight=Em,p.fromPairs=ig,p.functions=Ev,p.functionsIn=Iv,p.groupBy=cy,p.initial=ng,p.intersection=og,p.intersectionBy=ag,p.intersectionWith=cg,p.invert=Sv,p.invertBy=Ov,p.invokeMap=hy,p.iteratee=Kn,p.keyBy=ly,p.keys=be,p.keysIn=Ue,p.map=os,p.mapKeys=Nv,p.mapValues=Cv,p.matches=Im,p.matchesProperty=Pm,p.memoize=cs,p.merge=$v,p.mergeWith=ru,p.method=Sm,p.methodOf=Om,p.mixin=Bn,p.negate=us,p.nthArg=Nm,p.omit=Tv,p.omitBy=Av,p.once=Ry,p.orderBy=py,p.over=Cm,p.overArgs=Ny,p.overEvery=$m,p.overSome=Tm,p.partial=Un,p.partialRight=Wc,p.partition=fy,p.pick=xv,p.pickBy=iu,p.property=hu,p.propertyOf=Am,p.pull=pg,p.pullAll=jc,p.pullAllBy=fg,p.pullAllWith=dg,p.pullAt=gg,p.range=xm,p.rangeRight=Dm,p.rearg=Cy,p.reject=yy,p.remove=yg,p.rest=$y,p.reverse=Fn,p.sampleSize=my,p.set=Fv,p.setWith=jv,p.shuffle=wy,p.slice=vg,p.sortBy=Ey,p.sortedUniq=Pg,p.sortedUniqBy=Sg,p.split=nm,p.spread=Ty,p.tail=Og,p.take=Rg,p.takeRight=Ng,p.takeRightWhile=Cg,p.takeWhile=$g,p.tap=Kg,p.throttle=Ay,p.thru=ns,p.toArray=Zc,p.toPairs=su,p.toPairsIn=nu,p.toPath=Mm,p.toPlainObject=eu,p.transform=qv,p.unary=xy,p.union=Tg,p.unionBy=Ag,p.unionWith=xg,p.uniq=Dg,p.uniqBy=Fg,p.uniqWith=jg,p.unset=Uv,p.unzip=jn,p.unzipWith=qc,p.update=Mv,p.updateWith=Lv,p.values=Sr,p.valuesIn=kv,p.without=qg,p.words=cu,p.wrap=Dy,p.xor=Ug,p.xorBy=Mg,p.xorWith=Lg,p.zip=kg,p.zipObject=zg,p.zipObjectDeep=Hg,p.zipWith=Vg,p.entries=su,p.entriesIn=nu,p.extend=tu,p.extendWith=ps,Bn(p,p),p.add=km,p.attempt=uu,p.camelCase=Kv,p.capitalize=ou,p.ceil=zm,p.clamp=zv,p.clone=jy,p.cloneDeep=Uy,p.cloneDeepWith=My,p.cloneWith=qy,p.conformsTo=Ly,p.deburr=au,p.defaultTo=_m,p.divide=Hm,p.endsWith=Bv,p.eq=ht,p.escape=Wv,p.escapeRegExp=Jv,p.every=ty,p.find=iy,p.findIndex=Ac,p.findKey=yv,p.findLast=sy,p.findLastIndex=xc,p.findLastKey=vv,p.floor=Vm,p.forEach=Mc,p.forEachRight=Lc,p.forIn=mv,p.forInRight=wv,p.forOwn=_v,p.forOwnRight=bv,p.get=kn,p.gt=ky,p.gte=zy,p.has=Pv,p.hasIn=zn,p.head=Fc,p.identity=Me,p.includes=uy,p.indexOf=sg,p.inRange=Hv,p.invoke=Rv,p.isArguments=tr,p.isArray=z,p.isArrayBuffer=Hy,p.isArrayLike=qe,p.isArrayLikeObject=ge,p.isBoolean=Vy,p.isBuffer=zt,p.isDate=Ky,p.isElement=By,p.isEmpty=Wy,p.isEqual=Jy,p.isEqualWith=Gy,p.isError=Mn,p.isFinite=Qy,p.isFunction=Ot,p.isInteger=Jc,p.isLength=hs,p.isMap=Gc,p.isMatch=Yy,p.isMatchWith=Zy,p.isNaN=Xy,p.isNative=ev,p.isNil=rv,p.isNull=tv,p.isNumber=Qc,p.isObject=le,p.isObjectLike=pe,p.isPlainObject=ii,p.isRegExp=Ln,p.isSafeInteger=iv,p.isSet=Yc,p.isString=ls,p.isSymbol=We,p.isTypedArray=Pr,p.isUndefined=sv,p.isWeakMap=nv,p.isWeakSet=ov,p.join=ug,p.kebabCase=Gv,p.last=it,p.lastIndexOf=hg,p.lowerCase=Qv,p.lowerFirst=Yv,p.lt=av,p.lte=cv,p.max=Km,p.maxBy=Bm,p.mean=Wm,p.meanBy=Jm,p.min=Gm,p.minBy=Qm,p.stubArray=Jn,p.stubFalse=Gn,p.stubObject=Fm,p.stubString=jm,p.stubTrue=qm,p.multiply=Ym,p.nth=lg,p.noConflict=Rm,p.noop=Wn,p.now=as,p.pad=Zv,p.padEnd=Xv,p.padStart=em,p.parseInt=tm,p.random=Vv,p.reduce=dy,p.reduceRight=gy,p.repeat=rm,p.replace=im,p.result=Dv,p.round=Zm,p.runInContext=v,p.sample=vy,p.size=_y,p.snakeCase=sm,p.some=by,p.sortedIndex=mg,p.sortedIndexBy=wg,p.sortedIndexOf=_g,p.sortedLastIndex=bg,p.sortedLastIndexBy=Eg,p.sortedLastIndexOf=Ig,p.startCase=om,p.startsWith=am,p.subtract=Xm,p.sum=ew,p.sumBy=tw,p.template=cm,p.times=Um,p.toFinite=Rt,p.toInteger=H,p.toLength=Xc,p.toLower=um,p.toNumber=st,p.toSafeInteger=uv,p.toString=te,p.toUpper=hm,p.trim=lm,p.trimEnd=pm,p.trimStart=fm,p.truncate=dm,p.unescape=gm,p.uniqueId=Lm,p.upperCase=ym,p.upperFirst=Hn,p.each=Mc,p.eachRight=Lc,p.first=Fc,Bn(p,function(){var e={};return gt(p,function(i,n){re.call(p.prototype,n)||(e[n]=i)}),e}(),{chain:!1}),p.VERSION=s,Ze(["bind","bindKey","curry","curryRight","partial","partialRight"],function(e){p[e].placeholder=p}),Ze(["drop","take"],function(e,i){G.prototype[e]=function(n){n=n===r?1:_e(H(n),0);var c=this.__filtered__&&!i?new G(this):this.clone();return c.__filtered__?c.__takeCount__=Oe(n,c.__takeCount__):c.__views__.push({size:Oe(n,dt),type:e+(c.__dir__<0?"Right":"")}),c},G.prototype[e+"Right"]=function(n){return this.reverse()[e](n).reverse()}}),Ze(["filter","map","takeWhile"],function(e,i){var n=i+1,c=n==Do||n==ll;G.prototype[e]=function(h){var f=this.clone();return f.__iteratees__.push({iteratee:U(h,3),type:n}),f.__filtered__=f.__filtered__||c,f}}),Ze(["head","last"],function(e,i){var n="take"+(i?"Right":"");G.prototype[e]=function(){return this[n](1).value()[0]}}),Ze(["initial","tail"],function(e,i){var n="drop"+(i?"":"Right");G.prototype[e]=function(){return this.__filtered__?new G(this):this[n](1)}}),G.prototype.compact=function(){return this.filter(Me)},G.prototype.find=function(e){return this.filter(e).head()},G.prototype.findLast=function(e){return this.reverse().find(e)},G.prototype.invokeMap=B(function(e,i){return typeof e=="function"?new G(this):this.map(function(n){return Yr(n,e,i)})}),G.prototype.reject=function(e){return this.filter(us(U(e)))},G.prototype.slice=function(e,i){e=H(e);var n=this;return n.__filtered__&&(e>0||i<0)?new G(n):(e<0?n=n.takeRight(-e):e&&(n=n.drop(e)),i!==r&&(i=H(i),n=i<0?n.dropRight(-i):n.take(i-e)),n)},G.prototype.takeRightWhile=function(e){return this.reverse().takeWhile(e).reverse()},G.prototype.toArray=function(){return this.take(dt)},gt(G.prototype,function(e,i){var n=/^(?:filter|find|map|reject)|While$/.test(i),c=/^(?:head|last)$/.test(i),h=p[c?"take"+(i=="last"?"Right":""):i],f=c||/^find/.test(i);h&&(p.prototype[i]=function(){var d=this.__wrapped__,y=c?[1]:arguments,m=d instanceof G,P=y[0],S=m||z(d),R=function(J){var Y=h.apply(p,Ft([J],y));return c&&T?Y[0]:Y};S&&n&&typeof P=="function"&&P.length!=1&&(m=S=!1);var T=this.__chain__,F=!!this.__actions__.length,M=f&&!T,V=m&&!F;if(!f&&S){d=V?d:new G(this);var L=e.apply(d,y);return L.__actions__.push({func:ns,args:[R],thisArg:r}),new et(L,T)}return M&&V?e.apply(this,y):(L=this.thru(R),M?c?L.value()[0]:L.value():L)})}),Ze(["pop","push","shift","sort","splice","unshift"],function(e){var i=Ti[e],n=/^(?:push|sort|unshift)$/.test(e)?"tap":"thru",c=/^(?:pop|shift)$/.test(e);p.prototype[e]=function(){var h=arguments;if(c&&!this.__chain__){var f=this.value();return i.apply(z(f)?f:[],h)}return this[n](function(d){return i.apply(z(d)?d:[],h)})}}),gt(G.prototype,function(e,i){var n=p[i];if(n){var c=n.name+"";re.call(wr,c)||(wr[c]=[]),wr[c].push({name:i,func:n})}}),wr[Zi(r,Q).name]=[{name:"wrapper",func:r}],G.prototype.clone=gf,G.prototype.reverse=yf,G.prototype.value=vf,p.prototype.at=Bg,p.prototype.chain=Wg,p.prototype.commit=Jg,p.prototype.next=Gg,p.prototype.plant=Yg,p.prototype.reverse=Zg,p.prototype.toJSON=p.prototype.valueOf=p.prototype.value=Xg,p.prototype.first=p.prototype.head,Vr&&(p.prototype[Vr]=Qg),p},yr=Wp();Wt?((Wt.exports=yr)._=yr,Vs._=yr):Ie._=yr}).call(hi)})(bo,bo.exports);var LE=Object.defineProperty,kE=Object.defineProperties,zE=Object.getOwnPropertyDescriptors,lh=Object.getOwnPropertySymbols,HE=Object.prototype.hasOwnProperty,VE=Object.prototype.propertyIsEnumerable,ph=(a,t,r)=>t in a?LE(a,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):a[t]=r,gs=(a,t)=>{for(var r in t||(t={}))HE.call(t,r)&&ph(a,r,t[r]);if(lh)for(var r of lh(t))VE.call(t,r)&&ph(a,r,t[r]);return a},KE=(a,t)=>kE(a,zE(t));function Kt(a,t,r){var s;const o=f_(a);return((s=t.rpcMap)==null?void 0:s[o.reference])||`${ME}?chainId=${o.namespace}:${o.reference}&projectId=${r}`}function cr(a){return a.includes(":")?a.split(":")[1]:a}function rl(a){return a.map(t=>`${t.split(":")[0]}:${t.split(":")[1]}`)}function BE(a,t){const r=Object.keys(t.namespaces).filter(o=>o.includes(a));if(!r.length)return[];const s=[];return r.forEach(o=>{const u=t.namespaces[o].accounts;s.push(...u)}),s}function WE(a={},t={}){const r=fh(a),s=fh(t);return bo.exports.merge(r,s)}function fh(a){var t,r,s,o;const u={};if(!Cr(a))return u;for(const[l,g]of Object.entries(a)){const w=Co(l)?[l]:g.chains,b=g.methods||[],C=g.events||[],O=g.rpcMap||{},N=li(l);u[N]=KE(gs(gs({},u[N]),g),{chains:Zn(w,(t=u[N])==null?void 0:t.chains),methods:Zn(b,(r=u[N])==null?void 0:r.methods),events:Zn(C,(s=u[N])==null?void 0:s.events),rpcMap:gs(gs({},O),(o=u[N])==null?void 0:o.rpcMap)})}return u}function JE(a){return a.includes(":")?a.split(":")[2]:a}function GE(a){const t={};for(const[r,s]of Object.entries(a)){const o=s.methods||[],u=s.events||[],l=s.accounts||[],g=Co(r)?[r]:s.chains?s.chains:rl(s.accounts);t[r]={chains:g,methods:o,events:u,accounts:l}}return t}function no(a){return typeof a=="number"?a:a.includes("0x")?parseInt(a,16):a.includes(":")?Number(a.split(":")[1]):Number(a)}const il={},ue=a=>il[a],oo=(a,t)=>{il[a]=t};class QE{constructor(t){this.name="polkadot",this.namespace=t.namespace,this.events=ue("events"),this.client=ue("client"),this.chainId=this.getDefaultChain(),this.httpProviders=this.createHttpProviders()}updateNamespace(t){this.namespace=Object.assign(this.namespace,t)}requestAccounts(){return this.getAccounts()}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;const t=this.namespace.chains[0];if(!t)throw new Error("ChainId not found");return t.split(":")[1]}request(t){return this.namespace.methods.includes(t.request.method)?this.client.request(t):this.getHttpProvider().request(t.request)}setDefaultChain(t,r){this.httpProviders[t]||this.setHttpProvider(t,r),this.chainId=t,this.events.emit(At.DEFAULT_CHAIN_CHANGED,`${this.name}:${t}`)}getAccounts(){const t=this.namespace.accounts;return t?t.filter(r=>r.split(":")[1]===this.chainId.toString()).map(r=>r.split(":")[2])||[]:[]}createHttpProviders(){const t={};return this.namespace.chains.forEach(r=>{var s;const o=cr(r);t[o]=this.createHttpProvider(o,(s=this.namespace.rpcMap)==null?void 0:s[r])}),t}getHttpProvider(){const t=`${this.name}:${this.chainId}`,r=this.httpProviders[t];if(typeof r>"u")throw new Error(`JSON-RPC provider for ${t} not found`);return r}setHttpProvider(t,r){const s=this.createHttpProvider(t,r);s&&(this.httpProviders[t]=s)}createHttpProvider(t,r){const s=r||Kt(t,this.namespace,this.client.core.projectId);if(!s)throw new Error(`No RPC url provided for chainId: ${t}`);return new Tt(new Bt(s,ue("disableProviderPing")))}}class YE{constructor(t){this.name="eip155",this.namespace=t.namespace,this.events=ue("events"),this.client=ue("client"),this.httpProviders=this.createHttpProviders(),this.chainId=parseInt(this.getDefaultChain())}async request(t){switch(t.request.method){case"eth_requestAccounts":return this.getAccounts();case"eth_accounts":return this.getAccounts();case"wallet_switchEthereumChain":return await this.handleSwitchChain(t);case"eth_chainId":return parseInt(this.getDefaultChain())}return this.namespace.methods.includes(t.request.method)?await this.client.request(t):this.getHttpProvider().request(t.request)}updateNamespace(t){this.namespace=Object.assign(this.namespace,t)}setDefaultChain(t,r){this.httpProviders[t]||this.setHttpProvider(parseInt(t),r),this.chainId=parseInt(t),this.events.emit(At.DEFAULT_CHAIN_CHANGED,`${this.name}:${t}`)}requestAccounts(){return this.getAccounts()}getDefaultChain(){if(this.chainId)return this.chainId.toString();if(this.namespace.defaultChain)return this.namespace.defaultChain;const t=this.namespace.chains[0];if(!t)throw new Error("ChainId not found");return t.split(":")[1]}createHttpProvider(t,r){const s=r||Kt(`${this.name}:${t}`,this.namespace,this.client.core.projectId);if(!s)throw new Error(`No RPC url provided for chainId: ${t}`);return new Tt(new Bt(s,ue("disableProviderPing")))}setHttpProvider(t,r){const s=this.createHttpProvider(t,r);s&&(this.httpProviders[t]=s)}createHttpProviders(){const t={};return this.namespace.chains.forEach(r=>{var s;const o=parseInt(cr(r));t[o]=this.createHttpProvider(o,(s=this.namespace.rpcMap)==null?void 0:s[r])}),t}getAccounts(){const t=this.namespace.accounts;return t?[...new Set(t.filter(r=>r.split(":")[1]===this.chainId.toString()).map(r=>r.split(":")[2]))]:[]}getHttpProvider(){const t=this.chainId,r=this.httpProviders[t];if(typeof r>"u")throw new Error(`JSON-RPC provider for ${t} not found`);return r}async handleSwitchChain(t){var r,s;let o=t.request.params?(r=t.request.params[0])==null?void 0:r.chainId:"0x0";o=o.startsWith("0x")?o:`0x${o}`;const u=parseInt(o,16);if(this.isChainApproved(u))this.setDefaultChain(`${u}`);else if(this.namespace.methods.includes("wallet_switchEthereumChain"))await this.client.request({topic:t.topic,request:{method:t.request.method,params:[{chainId:o}]},chainId:(s=this.namespace.chains)==null?void 0:s[0]}),this.setDefaultChain(`${u}`);else throw new Error(`Failed to switch to chain 'eip155:${u}'. The chain is not approved or the wallet does not support 'wallet_switchEthereumChain' method.`);return null}isChainApproved(t){return this.namespace.chains.includes(`${this.name}:${t}`)}}class ZE{constructor(t){this.name="solana",this.namespace=t.namespace,this.events=ue("events"),this.client=ue("client"),this.chainId=this.getDefaultChain(),this.httpProviders=this.createHttpProviders()}updateNamespace(t){this.namespace=Object.assign(this.namespace,t)}requestAccounts(){return this.getAccounts()}request(t){return this.namespace.methods.includes(t.request.method)?this.client.request(t):this.getHttpProvider().request(t.request)}setDefaultChain(t,r){this.httpProviders[t]||this.setHttpProvider(t,r),this.chainId=t,this.events.emit(At.DEFAULT_CHAIN_CHANGED,`${this.name}:${t}`)}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;const t=this.namespace.chains[0];if(!t)throw new Error("ChainId not found");return t.split(":")[1]}getAccounts(){const t=this.namespace.accounts;return t?[...new Set(t.filter(r=>r.split(":")[1]===this.chainId.toString()).map(r=>r.split(":")[2]))]:[]}createHttpProviders(){const t={};return this.namespace.chains.forEach(r=>{var s;const o=cr(r);t[o]=this.createHttpProvider(o,(s=this.namespace.rpcMap)==null?void 0:s[r])}),t}getHttpProvider(){const t=`${this.name}:${this.chainId}`,r=this.httpProviders[t];if(typeof r>"u")throw new Error(`JSON-RPC provider for ${t} not found`);return r}setHttpProvider(t,r){const s=this.createHttpProvider(t,r);s&&(this.httpProviders[t]=s)}createHttpProvider(t,r){const s=r||Kt(t,this.namespace,this.client.core.projectId);if(!s)throw new Error(`No RPC url provided for chainId: ${t}`);return new Tt(new Bt(s,ue("disableProviderPing")))}}class XE{constructor(t){this.name="cosmos",this.namespace=t.namespace,this.events=ue("events"),this.client=ue("client"),this.chainId=this.getDefaultChain(),this.httpProviders=this.createHttpProviders()}updateNamespace(t){this.namespace=Object.assign(this.namespace,t)}requestAccounts(){return this.getAccounts()}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;const t=this.namespace.chains[0];if(!t)throw new Error("ChainId not found");return t.split(":")[1]}request(t){return this.namespace.methods.includes(t.request.method)?this.client.request(t):this.getHttpProvider().request(t.request)}setDefaultChain(t,r){this.httpProviders[t]||this.setHttpProvider(t,r),this.chainId=t,this.events.emit(At.DEFAULT_CHAIN_CHANGED,`${this.name}:${this.chainId}`)}getAccounts(){const t=this.namespace.accounts;return t?[...new Set(t.filter(r=>r.split(":")[1]===this.chainId.toString()).map(r=>r.split(":")[2]))]:[]}createHttpProviders(){const t={};return this.namespace.chains.forEach(r=>{var s;const o=cr(r);t[o]=this.createHttpProvider(o,(s=this.namespace.rpcMap)==null?void 0:s[r])}),t}getHttpProvider(){const t=`${this.name}:${this.chainId}`,r=this.httpProviders[t];if(typeof r>"u")throw new Error(`JSON-RPC provider for ${t} not found`);return r}setHttpProvider(t,r){const s=this.createHttpProvider(t,r);s&&(this.httpProviders[t]=s)}createHttpProvider(t,r){const s=r||Kt(t,this.namespace,this.client.core.projectId);if(!s)throw new Error(`No RPC url provided for chainId: ${t}`);return new Tt(new Bt(s,ue("disableProviderPing")))}}class eI{constructor(t){this.name="cip34",this.namespace=t.namespace,this.events=ue("events"),this.client=ue("client"),this.chainId=this.getDefaultChain(),this.httpProviders=this.createHttpProviders()}updateNamespace(t){this.namespace=Object.assign(this.namespace,t)}requestAccounts(){return this.getAccounts()}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;const t=this.namespace.chains[0];if(!t)throw new Error("ChainId not found");return t.split(":")[1]}request(t){return this.namespace.methods.includes(t.request.method)?this.client.request(t):this.getHttpProvider().request(t.request)}setDefaultChain(t,r){this.httpProviders[t]||this.setHttpProvider(t,r),this.chainId=t,this.events.emit(At.DEFAULT_CHAIN_CHANGED,`${this.name}:${this.chainId}`)}getAccounts(){const t=this.namespace.accounts;return t?[...new Set(t.filter(r=>r.split(":")[1]===this.chainId.toString()).map(r=>r.split(":")[2]))]:[]}createHttpProviders(){const t={};return this.namespace.chains.forEach(r=>{const s=this.getCardanoRPCUrl(r),o=cr(r);t[o]=this.createHttpProvider(o,s)}),t}getHttpProvider(){const t=`${this.name}:${this.chainId}`,r=this.httpProviders[t];if(typeof r>"u")throw new Error(`JSON-RPC provider for ${t} not found`);return r}getCardanoRPCUrl(t){const r=this.namespace.rpcMap;if(r)return r[t]}setHttpProvider(t,r){const s=this.createHttpProvider(t,r);s&&(this.httpProviders[t]=s)}createHttpProvider(t,r){const s=r||this.getCardanoRPCUrl(t);if(!s)throw new Error(`No RPC url provided for chainId: ${t}`);return new Tt(new Bt(s,ue("disableProviderPing")))}}class tI{constructor(t){this.name="elrond",this.namespace=t.namespace,this.events=ue("events"),this.client=ue("client"),this.chainId=this.getDefaultChain(),this.httpProviders=this.createHttpProviders()}updateNamespace(t){this.namespace=Object.assign(this.namespace,t)}requestAccounts(){return this.getAccounts()}request(t){return this.namespace.methods.includes(t.request.method)?this.client.request(t):this.getHttpProvider().request(t.request)}setDefaultChain(t,r){this.httpProviders[t]||this.setHttpProvider(t,r),this.chainId=t,this.events.emit(At.DEFAULT_CHAIN_CHANGED,`${this.name}:${t}`)}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;const t=this.namespace.chains[0];if(!t)throw new Error("ChainId not found");return t.split(":")[1]}getAccounts(){const t=this.namespace.accounts;return t?[...new Set(t.filter(r=>r.split(":")[1]===this.chainId.toString()).map(r=>r.split(":")[2]))]:[]}createHttpProviders(){const t={};return this.namespace.chains.forEach(r=>{var s;const o=cr(r);t[o]=this.createHttpProvider(o,(s=this.namespace.rpcMap)==null?void 0:s[r])}),t}getHttpProvider(){const t=`${this.name}:${this.chainId}`,r=this.httpProviders[t];if(typeof r>"u")throw new Error(`JSON-RPC provider for ${t} not found`);return r}setHttpProvider(t,r){const s=this.createHttpProvider(t,r);s&&(this.httpProviders[t]=s)}createHttpProvider(t,r){const s=r||Kt(t,this.namespace,this.client.core.projectId);if(!s)throw new Error(`No RPC url provided for chainId: ${t}`);return new Tt(new Bt(s,ue("disableProviderPing")))}}class rI{constructor(t){this.name="multiversx",this.namespace=t.namespace,this.events=ue("events"),this.client=ue("client"),this.chainId=this.getDefaultChain(),this.httpProviders=this.createHttpProviders()}updateNamespace(t){this.namespace=Object.assign(this.namespace,t)}requestAccounts(){return this.getAccounts()}request(t){return this.namespace.methods.includes(t.request.method)?this.client.request(t):this.getHttpProvider().request(t.request)}setDefaultChain(t,r){this.httpProviders[t]||this.setHttpProvider(t,r),this.chainId=t,this.events.emit(At.DEFAULT_CHAIN_CHANGED,`${this.name}:${t}`)}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;const t=this.namespace.chains[0];if(!t)throw new Error("ChainId not found");return t.split(":")[1]}getAccounts(){const t=this.namespace.accounts;return t?[...new Set(t.filter(r=>r.split(":")[1]===this.chainId.toString()).map(r=>r.split(":")[2]))]:[]}createHttpProviders(){const t={};return this.namespace.chains.forEach(r=>{var s;const o=cr(r);t[o]=this.createHttpProvider(o,(s=this.namespace.rpcMap)==null?void 0:s[r])}),t}getHttpProvider(){const t=`${this.name}:${this.chainId}`,r=this.httpProviders[t];if(typeof r>"u")throw new Error(`JSON-RPC provider for ${t} not found`);return r}setHttpProvider(t,r){const s=this.createHttpProvider(t,r);s&&(this.httpProviders[t]=s)}createHttpProvider(t,r){const s=r||Kt(t,this.namespace,this.client.core.projectId);if(!s)throw new Error(`No RPC url provided for chainId: ${t}`);return new Tt(new Bt(s,ue("disableProviderPing")))}}class iI{constructor(t){this.name="near",this.namespace=t.namespace,this.events=ue("events"),this.client=ue("client"),this.chainId=this.getDefaultChain(),this.httpProviders=this.createHttpProviders()}updateNamespace(t){this.namespace=Object.assign(this.namespace,t)}requestAccounts(){return this.getAccounts()}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;const t=this.namespace.chains[0];if(!t)throw new Error("ChainId not found");return t.split(":")[1]}request(t){return this.namespace.methods.includes(t.request.method)?this.client.request(t):this.getHttpProvider().request(t.request)}setDefaultChain(t,r){if(this.chainId=t,!this.httpProviders[t]){const s=r||Kt(`${this.name}:${t}`,this.namespace);if(!s)throw new Error(`No RPC url provided for chainId: ${t}`);this.setHttpProvider(t,s)}this.events.emit(At.DEFAULT_CHAIN_CHANGED,`${this.name}:${this.chainId}`)}getAccounts(){const t=this.namespace.accounts;return t?t.filter(r=>r.split(":")[1]===this.chainId.toString()).map(r=>r.split(":")[2])||[]:[]}createHttpProviders(){const t={};return this.namespace.chains.forEach(r=>{var s;t[r]=this.createHttpProvider(r,(s=this.namespace.rpcMap)==null?void 0:s[r])}),t}getHttpProvider(){const t=`${this.name}:${this.chainId}`,r=this.httpProviders[t];if(typeof r>"u")throw new Error(`JSON-RPC provider for ${t} not found`);return r}setHttpProvider(t,r){const s=this.createHttpProvider(t,r);s&&(this.httpProviders[t]=s)}createHttpProvider(t,r){const s=r||Kt(t,this.namespace);return typeof s>"u"?void 0:new Tt(new Bt(s,ue("disableProviderPing")))}}var sI=Object.defineProperty,nI=Object.defineProperties,oI=Object.getOwnPropertyDescriptors,dh=Object.getOwnPropertySymbols,aI=Object.prototype.hasOwnProperty,cI=Object.prototype.propertyIsEnumerable,gh=(a,t,r)=>t in a?sI(a,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):a[t]=r,ys=(a,t)=>{for(var r in t||(t={}))aI.call(t,r)&&gh(a,r,t[r]);if(dh)for(var r of dh(t))cI.call(t,r)&&gh(a,r,t[r]);return a},ao=(a,t)=>nI(a,oI(t));class xo{constructor(t){this.events=new He.ss,this.rpcProviders={},this.shouldAbortPairingAttempt=!1,this.maxPairingAttempts=10,this.disableProviderPing=!1,this.providerOpts=t,this.logger=typeof(t==null?void 0:t.logger)<"u"&&typeof(t==null?void 0:t.logger)!="string"?t.logger:E.Tt(E.k({level:(t==null?void 0:t.logger)||uh})),this.disableProviderPing=(t==null?void 0:t.disableProviderPing)||!1}static async init(t){const r=new xo(t);return await r.initialize(),r}async request(t,r){const[s,o]=this.validateChain(r);if(!this.session)throw new Error("Please call connect() before request()");return await this.getProvider(s).request({request:ys({},t),chainId:`${s}:${o}`,topic:this.session.topic})}sendAsync(t,r,s){const o=new Date().getTime();this.request(t,s).then(u=>r(null,E.formatJsonRpcResult(o,u))).catch(u=>r(u,void 0))}async enable(){if(!this.client)throw new Error("Sign Client not initialized");return this.session||await this.connect({namespaces:this.namespaces,optionalNamespaces:this.optionalNamespaces,sessionProperties:this.sessionProperties}),await this.requestAccounts()}async disconnect(){var t;if(!this.session)throw new Error("Please call connect() before enable()");await this.client.disconnect({topic:(t=this.session)==null?void 0:t.topic,reason:ve("USER_DISCONNECTED")}),await this.cleanup()}async connect(t){if(!this.client)throw new Error("Sign Client not initialized");if(this.setNamespaces(t),await this.cleanupPendingPairings(),!t.skipPairing)return await this.pair(t.pairingTopic)}on(t,r){this.events.on(t,r)}once(t,r){this.events.once(t,r)}removeListener(t,r){this.events.removeListener(t,r)}off(t,r){this.events.off(t,r)}get isWalletConnect(){return!0}async pair(t){this.shouldAbortPairingAttempt=!1;let r=0;do{if(this.shouldAbortPairingAttempt)throw new Error("Pairing aborted");if(r>=this.maxPairingAttempts)throw new Error("Max auto pairing attempts reached");const{uri:s,approval:o}=await this.client.connect({pairingTopic:t,requiredNamespaces:this.namespaces,optionalNamespaces:this.optionalNamespaces,sessionProperties:this.sessionProperties});s&&(this.uri=s,this.events.emit("display_uri",s)),await o().then(u=>{this.session=u,this.namespaces||(this.namespaces=GE(u.namespaces),this.persist("namespaces",this.namespaces))}).catch(u=>{if(u.message!==el)throw u;r++})}while(!this.session);return this.onConnect(),this.session}setDefaultChain(t,r){try{if(!this.session)return;const[s,o]=this.validateChain(t);this.getProvider(s).setDefaultChain(o,r)}catch(s){if(!/Please call connect/.test(s.message))throw s}}async cleanupPendingPairings(t={}){this.logger.info("Cleaning up inactive pairings...");const r=this.client.pairing.getAll();if(sr(r)){for(const s of r)t.deletePairings?this.client.core.expirer.set(s.topic,0):await this.client.core.relayer.subscriber.unsubscribe(s.topic);this.logger.info(`Inactive pairings cleared: ${r.length}`)}}abortPairingAttempt(){this.shouldAbortPairingAttempt=!0}async checkStorage(){if(this.namespaces=await this.getFromStore("namespaces"),this.optionalNamespaces=await this.getFromStore("optionalNamespaces")||{},this.client.session.length){const t=this.client.session.keys.length-1;this.session=this.client.session.get(this.client.session.keys[t]),this.createProviders()}}async initialize(){this.logger.trace("Initialized"),await this.createClient(),await this.checkStorage(),this.registerEventListeners()}async createClient(){this.client=this.providerOpts.client||await SE.init({logger:this.providerOpts.logger||uh,relayUrl:this.providerOpts.relayUrl||jE,projectId:this.providerOpts.projectId,metadata:this.providerOpts.metadata,storageOptions:this.providerOpts.storageOptions,storage:this.providerOpts.storage,name:this.providerOpts.name}),this.logger.trace("SignClient Initialized")}createProviders(){if(!this.client)throw new Error("Sign Client not initialized");if(!this.session)throw new Error("Session not initialized. Please call connect() before enable()");const t=[...new Set(Object.keys(this.session.namespaces).map(r=>li(r)))];oo("client",this.client),oo("events",this.events),oo("disableProviderPing",this.disableProviderPing),t.forEach(r=>{if(!this.session)return;const s=BE(r,this.session),o=rl(s),u=WE(this.namespaces,this.optionalNamespaces),l=ao(ys({},u[r]),{accounts:s,chains:o});switch(r){case"eip155":this.rpcProviders[r]=new YE({namespace:l});break;case"solana":this.rpcProviders[r]=new ZE({namespace:l});break;case"cosmos":this.rpcProviders[r]=new XE({namespace:l});break;case"polkadot":this.rpcProviders[r]=new QE({namespace:l});break;case"cip34":this.rpcProviders[r]=new eI({namespace:l});break;case"elrond":this.rpcProviders[r]=new tI({namespace:l});break;case"multiversx":this.rpcProviders[r]=new rI({namespace:l});break;case"near":this.rpcProviders[r]=new iI({namespace:l});break}})}registerEventListeners(){if(typeof this.client>"u")throw new Error("Sign Client is not initialized");this.client.on("session_ping",t=>{this.events.emit("session_ping",t)}),this.client.on("session_event",t=>{const{params:r}=t,{event:s}=r;if(s.name==="accountsChanged"){const o=s.data;o&&sr(o)&&this.events.emit("accountsChanged",o.map(JE))}else if(s.name==="chainChanged"){const o=r.chainId,u=r.event.data,l=li(o),g=no(o)!==no(u)?`${l}:${no(u)}`:o;this.onChainChanged(g)}else this.events.emit(s.name,s.data);this.events.emit("session_event",t)}),this.client.on("session_update",({topic:t,params:r})=>{var s;const{namespaces:o}=r,u=(s=this.client)==null?void 0:s.session.get(t);this.session=ao(ys({},u),{namespaces:o}),this.onSessionUpdate(),this.events.emit("session_update",{topic:t,params:r})}),this.client.on("session_delete",async t=>{await this.cleanup(),this.events.emit("session_delete",t),this.events.emit("disconnect",ao(ys({},ve("USER_DISCONNECTED")),{data:t.topic}))}),this.on(At.DEFAULT_CHAIN_CHANGED,t=>{this.onChainChanged(t,!0)})}getProvider(t){if(!this.rpcProviders[t])throw new Error(`Provider not found: ${t}`);return this.rpcProviders[t]}onSessionUpdate(){Object.keys(this.rpcProviders).forEach(t=>{var r;this.getProvider(t).updateNamespace((r=this.session)==null?void 0:r.namespaces[t])})}setNamespaces(t){const{namespaces:r,optionalNamespaces:s,sessionProperties:o}=t;r&&Object.keys(r).length&&(this.namespaces=r),s&&Object.keys(s).length&&(this.optionalNamespaces=s),this.sessionProperties=o,this.persist("namespaces",r),this.persist("optionalNamespaces",s)}validateChain(t){const[r,s]=(t==null?void 0:t.split(":"))||["",""];if(!this.namespaces||!Object.keys(this.namespaces).length)return[r,s];if(r&&!Object.keys(this.namespaces||{}).map(l=>li(l)).includes(r))throw new Error(`Namespace '${r}' is not configured. Please call connect() first with namespace config.`);if(r&&s)return[r,s];const o=li(Object.keys(this.namespaces)[0]),u=this.rpcProviders[o].getDefaultChain();return[o,u]}async requestAccounts(){const[t]=this.validateChain();return await this.getProvider(t).requestAccounts()}onChainChanged(t,r=!1){var s;if(!this.namespaces)return;const[o,u]=this.validateChain(t);r||this.getProvider(o).setDefaultChain(u),((s=this.namespaces[o])!=null?s:this.namespaces[`${o}:${u}`]).defaultChain=u,this.persist("namespaces",this.namespaces),this.events.emit("chainChanged",u)}onConnect(){this.createProviders(),this.events.emit("connect",{session:this.session})}async cleanup(){this.session=void 0,this.namespaces=void 0,this.optionalNamespaces=void 0,this.sessionProperties=void 0,this.persist("namespaces",void 0),this.persist("optionalNamespaces",void 0),this.persist("sessionProperties",void 0),await this.cleanupPendingPairings({deletePairings:!0})}persist(t,r){this.client.core.storage.setItem(`${hh}/${t}`,r)}async getFromStore(t){return await this.client.core.storage.getItem(`${hh}/${t}`)}}const uI=xo,hI="wc",lI="ethereum_provider",pI=`${hI}@2:${lI}:`,fI="https://rpc.walletconnect.com/v1/",bs=["eth_sendTransaction","personal_sign"],sl=["eth_accounts","eth_requestAccounts","eth_sendRawTransaction","eth_sign","eth_signTransaction","eth_signTypedData","eth_signTypedData_v3","eth_signTypedData_v4","eth_sendTransaction","personal_sign","wallet_switchEthereumChain","wallet_addEthereumChain","wallet_getPermissions","wallet_requestPermissions","wallet_registerOnboarding","wallet_watchAsset","wallet_scanQRCode"],Es=["chainChanged","accountsChanged"],nl=["chainChanged","accountsChanged","message","disconnect","connect"];var dI=Object.defineProperty,gI=Object.defineProperties,yI=Object.getOwnPropertyDescriptors,yh=Object.getOwnPropertySymbols,vI=Object.prototype.hasOwnProperty,mI=Object.prototype.propertyIsEnumerable,vh=(a,t,r)=>t in a?dI(a,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):a[t]=r,fi=(a,t)=>{for(var r in t||(t={}))vI.call(t,r)&&vh(a,r,t[r]);if(yh)for(var r of yh(t))mI.call(t,r)&&vh(a,r,t[r]);return a},mh=(a,t)=>gI(a,yI(t));function Is(a){return Number(a[0].split(":")[1])}function co(a){return`0x${a.toString(16)}`}function wI(a){const{chains:t,optionalChains:r,methods:s,optionalMethods:o,events:u,optionalEvents:l,rpcMap:g}=a;if(!uo(t))throw new Error("Invalid chains");const w={chains:t,methods:s||bs,events:u||Es,rpcMap:fi({},t.length?{[Is(t)]:g[Is(t)]}:{})},b=u==null?void 0:u.filter(q=>!Es.includes(q)),C=s==null?void 0:s.filter(q=>!bs.includes(q));if(!r&&!l&&!o&&!(b!=null&&b.length)&&!(C!=null&&C.length))return{required:t.length?w:void 0};const O=(b==null?void 0:b.length)&&(C==null?void 0:C.length)||!r,N={chains:[...new Set(O?w.chains.concat(r||[]):r)],methods:[...new Set(w.methods.concat(o!=null&&o.length?o:sl))],events:[...new Set(w.events.concat(l!=null&&l.length?l:nl))],rpcMap:g};return{required:t.length?w:void 0,optional:r.length?N:void 0}}class Rs{constructor(){this.events=new He.eventsExports.EventEmitter,this.namespace="eip155",this.accounts=[],this.chainId=1,this.STORAGE_KEY=pI,this.on=(t,r)=>(this.events.on(t,r),this),this.once=(t,r)=>(this.events.once(t,r),this),this.removeListener=(t,r)=>(this.events.removeListener(t,r),this),this.off=(t,r)=>(this.events.off(t,r),this),this.parseAccount=t=>this.isCompatibleChainId(t)?this.parseAccountId(t).address:t,this.signer={},this.rpc={}}static async init(t){const r=new Rs;return await r.initialize(t),r}async request(t){return await this.signer.request(t,this.formatChainId(this.chainId))}sendAsync(t,r){this.signer.sendAsync(t,r,this.formatChainId(this.chainId))}get connected(){return this.signer.client?this.signer.client.core.relayer.connected:!1}get connecting(){return this.signer.client?this.signer.client.core.relayer.connecting:!1}async enable(){return this.session||await this.connect(),await this.request({method:"eth_requestAccounts"})}async connect(t){if(!this.signer.client)throw new Error("Provider not initialized. Call init() first");this.loadConnectOpts(t);const{required:r,optional:s}=wI(this.rpc);try{const o=await new Promise(async(l,g)=>{var w;this.rpc.showQrModal&&((w=this.modal)==null||w.subscribeModal(b=>{!b.open&&!this.signer.session&&(this.signer.abortPairingAttempt(),g(new Error("Connection request reset. Please try again.")))})),await this.signer.connect(mh(fi({namespaces:fi({},r&&{[this.namespace]:r})},s&&{optionalNamespaces:{[this.namespace]:s}}),{pairingTopic:t==null?void 0:t.pairingTopic})).then(b=>{l(b)}).catch(b=>{g(new Error(b.message))})});if(!o)return;const u=fw(o.namespaces,[this.namespace]);this.setChainIds(this.rpc.chains.length?this.rpc.chains:u),this.setAccounts(u),this.events.emit("connect",{chainId:co(this.chainId)})}catch(o){throw this.signer.logger.error(o),o}finally{this.modal&&this.modal.closeModal()}}async disconnect(){this.session&&await this.signer.disconnect(),this.reset()}get isWalletConnect(){return!0}get session(){return this.signer.session}registerEventListeners(){this.signer.on("session_event",t=>{const{params:r}=t,{event:s}=r;s.name==="accountsChanged"?(this.accounts=this.parseAccounts(s.data),this.events.emit("accountsChanged",this.accounts)):s.name==="chainChanged"?this.setChainId(this.formatChainId(s.data)):this.events.emit(s.name,s.data),this.events.emit("session_event",t)}),this.signer.on("chainChanged",t=>{const r=parseInt(t);this.chainId=r,this.events.emit("chainChanged",co(this.chainId)),this.persist()}),this.signer.on("session_update",t=>{this.events.emit("session_update",t)}),this.signer.on("session_delete",t=>{this.reset(),this.events.emit("session_delete",t),this.events.emit("disconnect",mh(fi({},gw("USER_DISCONNECTED")),{data:t.topic,name:"USER_DISCONNECTED"}))}),this.signer.on("display_uri",t=>{var r,s;this.rpc.showQrModal&&((r=this.modal)==null||r.closeModal(),(s=this.modal)==null||s.openModal({uri:t})),this.events.emit("display_uri",t)})}switchEthereumChain(t){this.request({method:"wallet_switchEthereumChain",params:[{chainId:t.toString(16)}]})}isCompatibleChainId(t){return typeof t=="string"?t.startsWith(`${this.namespace}:`):!1}formatChainId(t){return`${this.namespace}:${t}`}parseChainId(t){return Number(t.split(":")[1])}setChainIds(t){const r=t.filter(s=>this.isCompatibleChainId(s)).map(s=>this.parseChainId(s));r.length&&(this.chainId=r[0],this.events.emit("chainChanged",co(this.chainId)),this.persist())}setChainId(t){if(this.isCompatibleChainId(t)){const r=this.parseChainId(t);this.chainId=r,this.switchEthereumChain(r)}}parseAccountId(t){const[r,s,o]=t.split(":");return{chainId:`${r}:${s}`,address:o}}setAccounts(t){this.accounts=t.filter(r=>this.parseChainId(this.parseAccountId(r).chainId)===this.chainId).map(r=>this.parseAccountId(r).address),this.events.emit("accountsChanged",this.accounts)}getRpcConfig(t){var r,s;const o=(r=t==null?void 0:t.chains)!=null?r:[],u=(s=t==null?void 0:t.optionalChains)!=null?s:[],l=o.concat(u);if(!l.length)throw new Error("No chains specified in either `chains` or `optionalChains`");const g=o.length?(t==null?void 0:t.methods)||bs:[],w=o.length?(t==null?void 0:t.events)||Es:[],b=(t==null?void 0:t.optionalMethods)||[],C=(t==null?void 0:t.optionalEvents)||[],O=(t==null?void 0:t.rpcMap)||this.buildRpcMap(l,t.projectId),N=(t==null?void 0:t.qrModalOptions)||void 0;return{chains:o==null?void 0:o.map(q=>this.formatChainId(q)),optionalChains:u.map(q=>this.formatChainId(q)),methods:g,events:w,optionalMethods:b,optionalEvents:C,rpcMap:O,showQrModal:!!(t!=null&&t.showQrModal),qrModalOptions:N,projectId:t.projectId,metadata:t.metadata}}buildRpcMap(t,r){const s={};return t.forEach(o=>{s[o]=this.getRpcUrl(o,r)}),s}async initialize(t){if(this.rpc=this.getRpcConfig(t),this.chainId=this.rpc.chains.length?Is(this.rpc.chains):Is(this.rpc.optionalChains),this.signer=await uI.init({projectId:this.rpc.projectId,metadata:this.rpc.metadata,disableProviderPing:t.disableProviderPing,relayUrl:t.relayUrl,storageOptions:t.storageOptions}),this.registerEventListeners(),await this.loadPersistedSession(),this.rpc.showQrModal){let r;try{const{WalletConnectModal:s}=await Promise.resolve().then(()=>require("./index-mCDp1LfO.js")).then(o=>o.index);r=s}catch{throw new Error("To use QR modal, please install @walletconnect/modal package")}if(r)try{this.modal=new r(fi({projectId:this.rpc.projectId},this.rpc.qrModalOptions))}catch(s){throw this.signer.logger.error(s),new Error("Could not generate WalletConnectModal Instance")}}}loadConnectOpts(t){if(!t)return;const{chains:r,optionalChains:s,rpcMap:o}=t;r&&uo(r)&&(this.rpc.chains=r.map(u=>this.formatChainId(u)),r.forEach(u=>{this.rpc.rpcMap[u]=(o==null?void 0:o[u])||this.getRpcUrl(u)})),s&&uo(s)&&(this.rpc.optionalChains=[],this.rpc.optionalChains=s==null?void 0:s.map(u=>this.formatChainId(u)),s.forEach(u=>{this.rpc.rpcMap[u]=(o==null?void 0:o[u])||this.getRpcUrl(u)}))}getRpcUrl(t,r){var s;return((s=this.rpc.rpcMap)==null?void 0:s[t])||`${fI}?chainId=eip155:${t}&projectId=${r||this.rpc.projectId}`}async loadPersistedSession(){if(!this.session)return;const t=await this.signer.client.core.storage.getItem(`${this.STORAGE_KEY}/chainId`),r=this.session.namespaces[`${this.namespace}:${t}`]?this.session.namespaces[`${this.namespace}:${t}`]:this.session.namespaces[this.namespace];this.setChainIds(t?[this.formatChainId(t)]:r==null?void 0:r.accounts),this.setAccounts(r==null?void 0:r.accounts)}reset(){this.chainId=1,this.accounts=[]}persist(){this.session&&this.signer.client.core.storage.setItem(`${this.STORAGE_KEY}/chainId`,this.chainId)}parseAccounts(t){return typeof t=="string"||t instanceof String?[this.parseAccount(t)]:t.map(r=>this.parseAccount(r))}}const _I=Rs;exports.EthereumProvider=_I;exports.OPTIONAL_EVENTS=nl;exports.OPTIONAL_METHODS=sl;exports.REQUIRED_EVENTS=Es;exports.REQUIRED_METHODS=bs;exports.default=Rs;
|
|
46
|
+
}`;var V=uu(function(){return X(f,F+"return "+R).apply(r,d)});if(V.source=R,Mn(V))throw V;return V}function um(e){return te(e).toLowerCase()}function hm(e){return te(e).toUpperCase()}function lm(e,i,n){if(e=te(e),e&&(n||i===r))return ma(e);if(!e||!(i=Be(i)))return e;var c=ct(e),h=ct(i),f=wa(c,h),d=_a(c,h)+1;return kt(c,f,d).join("")}function pm(e,i,n){if(e=te(e),e&&(n||i===r))return e.slice(0,Ea(e)+1);if(!e||!(i=Be(i)))return e;var c=ct(e),h=_a(c,ct(i))+1;return kt(c,0,h).join("")}function fm(e,i,n){if(e=te(e),e&&(n||i===r))return e.replace(Us,"");if(!e||!(i=Be(i)))return e;var c=ct(e),h=wa(c,ct(i));return kt(c,h).join("")}function dm(e,i){var n=ol,c=al;if(le(i)){var h="separator"in i?i.separator:h;n="length"in i?H(i.length):n,c="omission"in i?Be(i.omission):c}e=te(e);var f=e.length;if(dr(e)){var d=ct(e);f=d.length}if(n>=f)return e;var y=n-gr(c);if(y<1)return c;var m=d?kt(d,0,y).join(""):e.slice(0,y);if(h===r)return m+c;if(d&&(y+=m.length-y),Ln(h)){if(e.slice(y).search(h)){var P,S=m;for(h.global||(h=tn(h.source,te(Lo.exec(h))+"g")),h.lastIndex=0;P=h.exec(S);)var R=P.index;m=m.slice(0,R===r?y:R)}}else if(e.indexOf(Be(h),y)!=y){var T=m.lastIndexOf(h);T>-1&&(m=m.slice(0,T))}return m+c}function gm(e){return e=te(e),e&&Sl.test(e)?e.replace(qo,Hp):e}var ym=Er(function(e,i,n){return e+(n?" ":"")+i.toUpperCase()}),Hn=hc("toUpperCase");function cu(e,i,n){return e=te(e),i=n?r:i,i===r?Up(e)?Bp(e):Cp(e):e.match(i)||[]}var uu=B(function(e,i){try{return Ve(e,r,i)}catch(n){return Mn(n)?n:new k(n)}}),vm=Pt(function(e,i){return Ze(i,function(n){n=vt(n),Et(e,n,qn(e[n],e))}),e});function mm(e){var i=e==null?0:e.length,n=U();return e=i?ce(e,function(c){if(typeof c[1]!="function")throw new Xe(l);return[n(c[0]),c[1]]}):[],B(function(c){for(var h=-1;++h<i;){var f=e[h];if(Ve(f[0],this,c))return Ve(f[1],this,c)}})}function wm(e){return Vf(tt(e,O))}function Vn(e){return function(){return e}}function _m(e,i){return e==null||e!==e?i:e}var bm=pc(),Em=pc(!0);function Me(e){return e}function Kn(e){return za(typeof e=="function"?e:tt(e,O))}function Im(e){return Va(tt(e,O))}function Pm(e,i){return Ka(e,tt(i,O))}var Sm=B(function(e,i){return function(n){return Yr(n,e,i)}}),Om=B(function(e,i){return function(n){return Yr(e,n,i)}});function Bn(e,i,n){var c=be(i),h=Wi(i,c);n==null&&!(le(i)&&(h.length||!c.length))&&(n=i,i=e,e=this,h=Wi(i,be(i)));var f=!(le(n)&&"chain"in n)||!!n.chain,d=Ot(e);return Ze(h,function(y){var m=i[y];e[y]=m,d&&(e.prototype[y]=function(){var P=this.__chain__;if(f||P){var S=e(this.__wrapped__),R=S.__actions__=je(this.__actions__);return R.push({func:m,args:arguments,thisArg:e}),S.__chain__=P,S}return m.apply(e,Ft([this.value()],arguments))})}),e}function Rm(){return Ie._===this&&(Ie._=Zp),this}function Wn(){}function Nm(e){return e=H(e),B(function(i){return Ba(i,e)})}var Cm=Pn(ce),$m=Pn(fa),Tm=Pn(Js);function hu(e){return Tn(e)?Gs(vt(e)):ad(e)}function Am(e){return function(i){return e==null?r:Zt(e,i)}}var xm=dc(),Dm=dc(!0);function Jn(){return[]}function Gn(){return!1}function Fm(){return{}}function jm(){return""}function qm(){return!0}function Um(e,i){if(e=H(e),e<1||e>ur)return[];var n=dt,c=Oe(e,dt);i=U(i),e-=dt;for(var h=Zs(c,i);++n<e;)i(n);return h}function Mm(e){return z(e)?ce(e,vt):We(e)?[e]:je($c(te(e)))}function Lm(e){var i=++Qp;return te(e)+i}var km=Xi(function(e,i){return e+i},0),zm=Sn("ceil"),Hm=Xi(function(e,i){return e/i},1),Vm=Sn("floor");function Km(e){return e&&e.length?Bi(e,Me,hn):r}function Bm(e,i){return e&&e.length?Bi(e,U(i,2),hn):r}function Wm(e){return ya(e,Me)}function Jm(e,i){return ya(e,U(i,2))}function Gm(e){return e&&e.length?Bi(e,Me,dn):r}function Qm(e,i){return e&&e.length?Bi(e,U(i,2),dn):r}var Ym=Xi(function(e,i){return e*i},1),Zm=Sn("round"),Xm=Xi(function(e,i){return e-i},0);function ew(e){return e&&e.length?Ys(e,Me):0}function tw(e,i){return e&&e.length?Ys(e,U(i,2)):0}return p.after=Iy,p.ary=kc,p.assign=hv,p.assignIn=tu,p.assignInWith=ps,p.assignWith=lv,p.at=pv,p.before=zc,p.bind=qn,p.bindAll=vm,p.bindKey=Hc,p.castArray=Fy,p.chain=Uc,p.chunk=Vd,p.compact=Kd,p.concat=Bd,p.cond=mm,p.conforms=wm,p.constant=Vn,p.countBy=ey,p.create=fv,p.curry=Vc,p.curryRight=Kc,p.debounce=Bc,p.defaults=dv,p.defaultsDeep=gv,p.defer=Py,p.delay=Sy,p.difference=Wd,p.differenceBy=Jd,p.differenceWith=Gd,p.drop=Qd,p.dropRight=Yd,p.dropRightWhile=Zd,p.dropWhile=Xd,p.fill=eg,p.filter=ry,p.flatMap=ny,p.flatMapDeep=oy,p.flatMapDepth=ay,p.flatten=Dc,p.flattenDeep=tg,p.flattenDepth=rg,p.flip=Oy,p.flow=bm,p.flowRight=Em,p.fromPairs=ig,p.functions=Ev,p.functionsIn=Iv,p.groupBy=cy,p.initial=ng,p.intersection=og,p.intersectionBy=ag,p.intersectionWith=cg,p.invert=Sv,p.invertBy=Ov,p.invokeMap=hy,p.iteratee=Kn,p.keyBy=ly,p.keys=be,p.keysIn=Ue,p.map=os,p.mapKeys=Nv,p.mapValues=Cv,p.matches=Im,p.matchesProperty=Pm,p.memoize=cs,p.merge=$v,p.mergeWith=ru,p.method=Sm,p.methodOf=Om,p.mixin=Bn,p.negate=us,p.nthArg=Nm,p.omit=Tv,p.omitBy=Av,p.once=Ry,p.orderBy=py,p.over=Cm,p.overArgs=Ny,p.overEvery=$m,p.overSome=Tm,p.partial=Un,p.partialRight=Wc,p.partition=fy,p.pick=xv,p.pickBy=iu,p.property=hu,p.propertyOf=Am,p.pull=pg,p.pullAll=jc,p.pullAllBy=fg,p.pullAllWith=dg,p.pullAt=gg,p.range=xm,p.rangeRight=Dm,p.rearg=Cy,p.reject=yy,p.remove=yg,p.rest=$y,p.reverse=Fn,p.sampleSize=my,p.set=Fv,p.setWith=jv,p.shuffle=wy,p.slice=vg,p.sortBy=Ey,p.sortedUniq=Pg,p.sortedUniqBy=Sg,p.split=nm,p.spread=Ty,p.tail=Og,p.take=Rg,p.takeRight=Ng,p.takeRightWhile=Cg,p.takeWhile=$g,p.tap=Kg,p.throttle=Ay,p.thru=ns,p.toArray=Zc,p.toPairs=su,p.toPairsIn=nu,p.toPath=Mm,p.toPlainObject=eu,p.transform=qv,p.unary=xy,p.union=Tg,p.unionBy=Ag,p.unionWith=xg,p.uniq=Dg,p.uniqBy=Fg,p.uniqWith=jg,p.unset=Uv,p.unzip=jn,p.unzipWith=qc,p.update=Mv,p.updateWith=Lv,p.values=Sr,p.valuesIn=kv,p.without=qg,p.words=cu,p.wrap=Dy,p.xor=Ug,p.xorBy=Mg,p.xorWith=Lg,p.zip=kg,p.zipObject=zg,p.zipObjectDeep=Hg,p.zipWith=Vg,p.entries=su,p.entriesIn=nu,p.extend=tu,p.extendWith=ps,Bn(p,p),p.add=km,p.attempt=uu,p.camelCase=Kv,p.capitalize=ou,p.ceil=zm,p.clamp=zv,p.clone=jy,p.cloneDeep=Uy,p.cloneDeepWith=My,p.cloneWith=qy,p.conformsTo=Ly,p.deburr=au,p.defaultTo=_m,p.divide=Hm,p.endsWith=Bv,p.eq=ht,p.escape=Wv,p.escapeRegExp=Jv,p.every=ty,p.find=iy,p.findIndex=Ac,p.findKey=yv,p.findLast=sy,p.findLastIndex=xc,p.findLastKey=vv,p.floor=Vm,p.forEach=Mc,p.forEachRight=Lc,p.forIn=mv,p.forInRight=wv,p.forOwn=_v,p.forOwnRight=bv,p.get=kn,p.gt=ky,p.gte=zy,p.has=Pv,p.hasIn=zn,p.head=Fc,p.identity=Me,p.includes=uy,p.indexOf=sg,p.inRange=Hv,p.invoke=Rv,p.isArguments=tr,p.isArray=z,p.isArrayBuffer=Hy,p.isArrayLike=qe,p.isArrayLikeObject=ge,p.isBoolean=Vy,p.isBuffer=zt,p.isDate=Ky,p.isElement=By,p.isEmpty=Wy,p.isEqual=Jy,p.isEqualWith=Gy,p.isError=Mn,p.isFinite=Qy,p.isFunction=Ot,p.isInteger=Jc,p.isLength=hs,p.isMap=Gc,p.isMatch=Yy,p.isMatchWith=Zy,p.isNaN=Xy,p.isNative=ev,p.isNil=rv,p.isNull=tv,p.isNumber=Qc,p.isObject=le,p.isObjectLike=pe,p.isPlainObject=ii,p.isRegExp=Ln,p.isSafeInteger=iv,p.isSet=Yc,p.isString=ls,p.isSymbol=We,p.isTypedArray=Pr,p.isUndefined=sv,p.isWeakMap=nv,p.isWeakSet=ov,p.join=ug,p.kebabCase=Gv,p.last=it,p.lastIndexOf=hg,p.lowerCase=Qv,p.lowerFirst=Yv,p.lt=av,p.lte=cv,p.max=Km,p.maxBy=Bm,p.mean=Wm,p.meanBy=Jm,p.min=Gm,p.minBy=Qm,p.stubArray=Jn,p.stubFalse=Gn,p.stubObject=Fm,p.stubString=jm,p.stubTrue=qm,p.multiply=Ym,p.nth=lg,p.noConflict=Rm,p.noop=Wn,p.now=as,p.pad=Zv,p.padEnd=Xv,p.padStart=em,p.parseInt=tm,p.random=Vv,p.reduce=dy,p.reduceRight=gy,p.repeat=rm,p.replace=im,p.result=Dv,p.round=Zm,p.runInContext=v,p.sample=vy,p.size=_y,p.snakeCase=sm,p.some=by,p.sortedIndex=mg,p.sortedIndexBy=wg,p.sortedIndexOf=_g,p.sortedLastIndex=bg,p.sortedLastIndexBy=Eg,p.sortedLastIndexOf=Ig,p.startCase=om,p.startsWith=am,p.subtract=Xm,p.sum=ew,p.sumBy=tw,p.template=cm,p.times=Um,p.toFinite=Rt,p.toInteger=H,p.toLength=Xc,p.toLower=um,p.toNumber=st,p.toSafeInteger=uv,p.toString=te,p.toUpper=hm,p.trim=lm,p.trimEnd=pm,p.trimStart=fm,p.truncate=dm,p.unescape=gm,p.uniqueId=Lm,p.upperCase=ym,p.upperFirst=Hn,p.each=Mc,p.eachRight=Lc,p.first=Fc,Bn(p,function(){var e={};return gt(p,function(i,n){re.call(p.prototype,n)||(e[n]=i)}),e}(),{chain:!1}),p.VERSION=s,Ze(["bind","bindKey","curry","curryRight","partial","partialRight"],function(e){p[e].placeholder=p}),Ze(["drop","take"],function(e,i){G.prototype[e]=function(n){n=n===r?1:_e(H(n),0);var c=this.__filtered__&&!i?new G(this):this.clone();return c.__filtered__?c.__takeCount__=Oe(n,c.__takeCount__):c.__views__.push({size:Oe(n,dt),type:e+(c.__dir__<0?"Right":"")}),c},G.prototype[e+"Right"]=function(n){return this.reverse()[e](n).reverse()}}),Ze(["filter","map","takeWhile"],function(e,i){var n=i+1,c=n==Do||n==ll;G.prototype[e]=function(h){var f=this.clone();return f.__iteratees__.push({iteratee:U(h,3),type:n}),f.__filtered__=f.__filtered__||c,f}}),Ze(["head","last"],function(e,i){var n="take"+(i?"Right":"");G.prototype[e]=function(){return this[n](1).value()[0]}}),Ze(["initial","tail"],function(e,i){var n="drop"+(i?"":"Right");G.prototype[e]=function(){return this.__filtered__?new G(this):this[n](1)}}),G.prototype.compact=function(){return this.filter(Me)},G.prototype.find=function(e){return this.filter(e).head()},G.prototype.findLast=function(e){return this.reverse().find(e)},G.prototype.invokeMap=B(function(e,i){return typeof e=="function"?new G(this):this.map(function(n){return Yr(n,e,i)})}),G.prototype.reject=function(e){return this.filter(us(U(e)))},G.prototype.slice=function(e,i){e=H(e);var n=this;return n.__filtered__&&(e>0||i<0)?new G(n):(e<0?n=n.takeRight(-e):e&&(n=n.drop(e)),i!==r&&(i=H(i),n=i<0?n.dropRight(-i):n.take(i-e)),n)},G.prototype.takeRightWhile=function(e){return this.reverse().takeWhile(e).reverse()},G.prototype.toArray=function(){return this.take(dt)},gt(G.prototype,function(e,i){var n=/^(?:filter|find|map|reject)|While$/.test(i),c=/^(?:head|last)$/.test(i),h=p[c?"take"+(i=="last"?"Right":""):i],f=c||/^find/.test(i);h&&(p.prototype[i]=function(){var d=this.__wrapped__,y=c?[1]:arguments,m=d instanceof G,P=y[0],S=m||z(d),R=function(J){var Y=h.apply(p,Ft([J],y));return c&&T?Y[0]:Y};S&&n&&typeof P=="function"&&P.length!=1&&(m=S=!1);var T=this.__chain__,F=!!this.__actions__.length,M=f&&!T,V=m&&!F;if(!f&&S){d=V?d:new G(this);var L=e.apply(d,y);return L.__actions__.push({func:ns,args:[R],thisArg:r}),new et(L,T)}return M&&V?e.apply(this,y):(L=this.thru(R),M?c?L.value()[0]:L.value():L)})}),Ze(["pop","push","shift","sort","splice","unshift"],function(e){var i=Ti[e],n=/^(?:push|sort|unshift)$/.test(e)?"tap":"thru",c=/^(?:pop|shift)$/.test(e);p.prototype[e]=function(){var h=arguments;if(c&&!this.__chain__){var f=this.value();return i.apply(z(f)?f:[],h)}return this[n](function(d){return i.apply(z(d)?d:[],h)})}}),gt(G.prototype,function(e,i){var n=p[i];if(n){var c=n.name+"";re.call(wr,c)||(wr[c]=[]),wr[c].push({name:i,func:n})}}),wr[Zi(r,Q).name]=[{name:"wrapper",func:r}],G.prototype.clone=gf,G.prototype.reverse=yf,G.prototype.value=vf,p.prototype.at=Bg,p.prototype.chain=Wg,p.prototype.commit=Jg,p.prototype.next=Gg,p.prototype.plant=Yg,p.prototype.reverse=Zg,p.prototype.toJSON=p.prototype.valueOf=p.prototype.value=Xg,p.prototype.first=p.prototype.head,Vr&&(p.prototype[Vr]=Qg),p},yr=Wp();Wt?((Wt.exports=yr)._=yr,Vs._=yr):Ie._=yr}).call(hi)})(bo,bo.exports);var LE=Object.defineProperty,kE=Object.defineProperties,zE=Object.getOwnPropertyDescriptors,lh=Object.getOwnPropertySymbols,HE=Object.prototype.hasOwnProperty,VE=Object.prototype.propertyIsEnumerable,ph=(a,t,r)=>t in a?LE(a,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):a[t]=r,gs=(a,t)=>{for(var r in t||(t={}))HE.call(t,r)&&ph(a,r,t[r]);if(lh)for(var r of lh(t))VE.call(t,r)&&ph(a,r,t[r]);return a},KE=(a,t)=>kE(a,zE(t));function Kt(a,t,r){var s;const o=f_(a);return((s=t.rpcMap)==null?void 0:s[o.reference])||`${ME}?chainId=${o.namespace}:${o.reference}&projectId=${r}`}function cr(a){return a.includes(":")?a.split(":")[1]:a}function rl(a){return a.map(t=>`${t.split(":")[0]}:${t.split(":")[1]}`)}function BE(a,t){const r=Object.keys(t.namespaces).filter(o=>o.includes(a));if(!r.length)return[];const s=[];return r.forEach(o=>{const u=t.namespaces[o].accounts;s.push(...u)}),s}function WE(a={},t={}){const r=fh(a),s=fh(t);return bo.exports.merge(r,s)}function fh(a){var t,r,s,o;const u={};if(!Cr(a))return u;for(const[l,g]of Object.entries(a)){const w=Co(l)?[l]:g.chains,b=g.methods||[],C=g.events||[],O=g.rpcMap||{},N=li(l);u[N]=KE(gs(gs({},u[N]),g),{chains:Zn(w,(t=u[N])==null?void 0:t.chains),methods:Zn(b,(r=u[N])==null?void 0:r.methods),events:Zn(C,(s=u[N])==null?void 0:s.events),rpcMap:gs(gs({},O),(o=u[N])==null?void 0:o.rpcMap)})}return u}function JE(a){return a.includes(":")?a.split(":")[2]:a}function GE(a){const t={};for(const[r,s]of Object.entries(a)){const o=s.methods||[],u=s.events||[],l=s.accounts||[],g=Co(r)?[r]:s.chains?s.chains:rl(s.accounts);t[r]={chains:g,methods:o,events:u,accounts:l}}return t}function no(a){return typeof a=="number"?a:a.includes("0x")?parseInt(a,16):a.includes(":")?Number(a.split(":")[1]):Number(a)}const il={},ue=a=>il[a],oo=(a,t)=>{il[a]=t};class QE{constructor(t){this.name="polkadot",this.namespace=t.namespace,this.events=ue("events"),this.client=ue("client"),this.chainId=this.getDefaultChain(),this.httpProviders=this.createHttpProviders()}updateNamespace(t){this.namespace=Object.assign(this.namespace,t)}requestAccounts(){return this.getAccounts()}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;const t=this.namespace.chains[0];if(!t)throw new Error("ChainId not found");return t.split(":")[1]}request(t){return this.namespace.methods.includes(t.request.method)?this.client.request(t):this.getHttpProvider().request(t.request)}setDefaultChain(t,r){this.httpProviders[t]||this.setHttpProvider(t,r),this.chainId=t,this.events.emit(At.DEFAULT_CHAIN_CHANGED,`${this.name}:${t}`)}getAccounts(){const t=this.namespace.accounts;return t?t.filter(r=>r.split(":")[1]===this.chainId.toString()).map(r=>r.split(":")[2])||[]:[]}createHttpProviders(){const t={};return this.namespace.chains.forEach(r=>{var s;const o=cr(r);t[o]=this.createHttpProvider(o,(s=this.namespace.rpcMap)==null?void 0:s[r])}),t}getHttpProvider(){const t=`${this.name}:${this.chainId}`,r=this.httpProviders[t];if(typeof r>"u")throw new Error(`JSON-RPC provider for ${t} not found`);return r}setHttpProvider(t,r){const s=this.createHttpProvider(t,r);s&&(this.httpProviders[t]=s)}createHttpProvider(t,r){const s=r||Kt(t,this.namespace,this.client.core.projectId);if(!s)throw new Error(`No RPC url provided for chainId: ${t}`);return new Tt(new Bt(s,ue("disableProviderPing")))}}class YE{constructor(t){this.name="eip155",this.namespace=t.namespace,this.events=ue("events"),this.client=ue("client"),this.httpProviders=this.createHttpProviders(),this.chainId=parseInt(this.getDefaultChain())}async request(t){switch(t.request.method){case"eth_requestAccounts":return this.getAccounts();case"eth_accounts":return this.getAccounts();case"wallet_switchEthereumChain":return await this.handleSwitchChain(t);case"eth_chainId":return parseInt(this.getDefaultChain())}return this.namespace.methods.includes(t.request.method)?await this.client.request(t):this.getHttpProvider().request(t.request)}updateNamespace(t){this.namespace=Object.assign(this.namespace,t)}setDefaultChain(t,r){this.httpProviders[t]||this.setHttpProvider(parseInt(t),r),this.chainId=parseInt(t),this.events.emit(At.DEFAULT_CHAIN_CHANGED,`${this.name}:${t}`)}requestAccounts(){return this.getAccounts()}getDefaultChain(){if(this.chainId)return this.chainId.toString();if(this.namespace.defaultChain)return this.namespace.defaultChain;const t=this.namespace.chains[0];if(!t)throw new Error("ChainId not found");return t.split(":")[1]}createHttpProvider(t,r){const s=r||Kt(`${this.name}:${t}`,this.namespace,this.client.core.projectId);if(!s)throw new Error(`No RPC url provided for chainId: ${t}`);return new Tt(new Bt(s,ue("disableProviderPing")))}setHttpProvider(t,r){const s=this.createHttpProvider(t,r);s&&(this.httpProviders[t]=s)}createHttpProviders(){const t={};return this.namespace.chains.forEach(r=>{var s;const o=parseInt(cr(r));t[o]=this.createHttpProvider(o,(s=this.namespace.rpcMap)==null?void 0:s[r])}),t}getAccounts(){const t=this.namespace.accounts;return t?[...new Set(t.filter(r=>r.split(":")[1]===this.chainId.toString()).map(r=>r.split(":")[2]))]:[]}getHttpProvider(){const t=this.chainId,r=this.httpProviders[t];if(typeof r>"u")throw new Error(`JSON-RPC provider for ${t} not found`);return r}async handleSwitchChain(t){var r,s;let o=t.request.params?(r=t.request.params[0])==null?void 0:r.chainId:"0x0";o=o.startsWith("0x")?o:`0x${o}`;const u=parseInt(o,16);if(this.isChainApproved(u))this.setDefaultChain(`${u}`);else if(this.namespace.methods.includes("wallet_switchEthereumChain"))await this.client.request({topic:t.topic,request:{method:t.request.method,params:[{chainId:o}]},chainId:(s=this.namespace.chains)==null?void 0:s[0]}),this.setDefaultChain(`${u}`);else throw new Error(`Failed to switch to chain 'eip155:${u}'. The chain is not approved or the wallet does not support 'wallet_switchEthereumChain' method.`);return null}isChainApproved(t){return this.namespace.chains.includes(`${this.name}:${t}`)}}class ZE{constructor(t){this.name="solana",this.namespace=t.namespace,this.events=ue("events"),this.client=ue("client"),this.chainId=this.getDefaultChain(),this.httpProviders=this.createHttpProviders()}updateNamespace(t){this.namespace=Object.assign(this.namespace,t)}requestAccounts(){return this.getAccounts()}request(t){return this.namespace.methods.includes(t.request.method)?this.client.request(t):this.getHttpProvider().request(t.request)}setDefaultChain(t,r){this.httpProviders[t]||this.setHttpProvider(t,r),this.chainId=t,this.events.emit(At.DEFAULT_CHAIN_CHANGED,`${this.name}:${t}`)}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;const t=this.namespace.chains[0];if(!t)throw new Error("ChainId not found");return t.split(":")[1]}getAccounts(){const t=this.namespace.accounts;return t?[...new Set(t.filter(r=>r.split(":")[1]===this.chainId.toString()).map(r=>r.split(":")[2]))]:[]}createHttpProviders(){const t={};return this.namespace.chains.forEach(r=>{var s;const o=cr(r);t[o]=this.createHttpProvider(o,(s=this.namespace.rpcMap)==null?void 0:s[r])}),t}getHttpProvider(){const t=`${this.name}:${this.chainId}`,r=this.httpProviders[t];if(typeof r>"u")throw new Error(`JSON-RPC provider for ${t} not found`);return r}setHttpProvider(t,r){const s=this.createHttpProvider(t,r);s&&(this.httpProviders[t]=s)}createHttpProvider(t,r){const s=r||Kt(t,this.namespace,this.client.core.projectId);if(!s)throw new Error(`No RPC url provided for chainId: ${t}`);return new Tt(new Bt(s,ue("disableProviderPing")))}}class XE{constructor(t){this.name="cosmos",this.namespace=t.namespace,this.events=ue("events"),this.client=ue("client"),this.chainId=this.getDefaultChain(),this.httpProviders=this.createHttpProviders()}updateNamespace(t){this.namespace=Object.assign(this.namespace,t)}requestAccounts(){return this.getAccounts()}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;const t=this.namespace.chains[0];if(!t)throw new Error("ChainId not found");return t.split(":")[1]}request(t){return this.namespace.methods.includes(t.request.method)?this.client.request(t):this.getHttpProvider().request(t.request)}setDefaultChain(t,r){this.httpProviders[t]||this.setHttpProvider(t,r),this.chainId=t,this.events.emit(At.DEFAULT_CHAIN_CHANGED,`${this.name}:${this.chainId}`)}getAccounts(){const t=this.namespace.accounts;return t?[...new Set(t.filter(r=>r.split(":")[1]===this.chainId.toString()).map(r=>r.split(":")[2]))]:[]}createHttpProviders(){const t={};return this.namespace.chains.forEach(r=>{var s;const o=cr(r);t[o]=this.createHttpProvider(o,(s=this.namespace.rpcMap)==null?void 0:s[r])}),t}getHttpProvider(){const t=`${this.name}:${this.chainId}`,r=this.httpProviders[t];if(typeof r>"u")throw new Error(`JSON-RPC provider for ${t} not found`);return r}setHttpProvider(t,r){const s=this.createHttpProvider(t,r);s&&(this.httpProviders[t]=s)}createHttpProvider(t,r){const s=r||Kt(t,this.namespace,this.client.core.projectId);if(!s)throw new Error(`No RPC url provided for chainId: ${t}`);return new Tt(new Bt(s,ue("disableProviderPing")))}}class eI{constructor(t){this.name="cip34",this.namespace=t.namespace,this.events=ue("events"),this.client=ue("client"),this.chainId=this.getDefaultChain(),this.httpProviders=this.createHttpProviders()}updateNamespace(t){this.namespace=Object.assign(this.namespace,t)}requestAccounts(){return this.getAccounts()}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;const t=this.namespace.chains[0];if(!t)throw new Error("ChainId not found");return t.split(":")[1]}request(t){return this.namespace.methods.includes(t.request.method)?this.client.request(t):this.getHttpProvider().request(t.request)}setDefaultChain(t,r){this.httpProviders[t]||this.setHttpProvider(t,r),this.chainId=t,this.events.emit(At.DEFAULT_CHAIN_CHANGED,`${this.name}:${this.chainId}`)}getAccounts(){const t=this.namespace.accounts;return t?[...new Set(t.filter(r=>r.split(":")[1]===this.chainId.toString()).map(r=>r.split(":")[2]))]:[]}createHttpProviders(){const t={};return this.namespace.chains.forEach(r=>{const s=this.getCardanoRPCUrl(r),o=cr(r);t[o]=this.createHttpProvider(o,s)}),t}getHttpProvider(){const t=`${this.name}:${this.chainId}`,r=this.httpProviders[t];if(typeof r>"u")throw new Error(`JSON-RPC provider for ${t} not found`);return r}getCardanoRPCUrl(t){const r=this.namespace.rpcMap;if(r)return r[t]}setHttpProvider(t,r){const s=this.createHttpProvider(t,r);s&&(this.httpProviders[t]=s)}createHttpProvider(t,r){const s=r||this.getCardanoRPCUrl(t);if(!s)throw new Error(`No RPC url provided for chainId: ${t}`);return new Tt(new Bt(s,ue("disableProviderPing")))}}class tI{constructor(t){this.name="elrond",this.namespace=t.namespace,this.events=ue("events"),this.client=ue("client"),this.chainId=this.getDefaultChain(),this.httpProviders=this.createHttpProviders()}updateNamespace(t){this.namespace=Object.assign(this.namespace,t)}requestAccounts(){return this.getAccounts()}request(t){return this.namespace.methods.includes(t.request.method)?this.client.request(t):this.getHttpProvider().request(t.request)}setDefaultChain(t,r){this.httpProviders[t]||this.setHttpProvider(t,r),this.chainId=t,this.events.emit(At.DEFAULT_CHAIN_CHANGED,`${this.name}:${t}`)}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;const t=this.namespace.chains[0];if(!t)throw new Error("ChainId not found");return t.split(":")[1]}getAccounts(){const t=this.namespace.accounts;return t?[...new Set(t.filter(r=>r.split(":")[1]===this.chainId.toString()).map(r=>r.split(":")[2]))]:[]}createHttpProviders(){const t={};return this.namespace.chains.forEach(r=>{var s;const o=cr(r);t[o]=this.createHttpProvider(o,(s=this.namespace.rpcMap)==null?void 0:s[r])}),t}getHttpProvider(){const t=`${this.name}:${this.chainId}`,r=this.httpProviders[t];if(typeof r>"u")throw new Error(`JSON-RPC provider for ${t} not found`);return r}setHttpProvider(t,r){const s=this.createHttpProvider(t,r);s&&(this.httpProviders[t]=s)}createHttpProvider(t,r){const s=r||Kt(t,this.namespace,this.client.core.projectId);if(!s)throw new Error(`No RPC url provided for chainId: ${t}`);return new Tt(new Bt(s,ue("disableProviderPing")))}}class rI{constructor(t){this.name="multiversx",this.namespace=t.namespace,this.events=ue("events"),this.client=ue("client"),this.chainId=this.getDefaultChain(),this.httpProviders=this.createHttpProviders()}updateNamespace(t){this.namespace=Object.assign(this.namespace,t)}requestAccounts(){return this.getAccounts()}request(t){return this.namespace.methods.includes(t.request.method)?this.client.request(t):this.getHttpProvider().request(t.request)}setDefaultChain(t,r){this.httpProviders[t]||this.setHttpProvider(t,r),this.chainId=t,this.events.emit(At.DEFAULT_CHAIN_CHANGED,`${this.name}:${t}`)}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;const t=this.namespace.chains[0];if(!t)throw new Error("ChainId not found");return t.split(":")[1]}getAccounts(){const t=this.namespace.accounts;return t?[...new Set(t.filter(r=>r.split(":")[1]===this.chainId.toString()).map(r=>r.split(":")[2]))]:[]}createHttpProviders(){const t={};return this.namespace.chains.forEach(r=>{var s;const o=cr(r);t[o]=this.createHttpProvider(o,(s=this.namespace.rpcMap)==null?void 0:s[r])}),t}getHttpProvider(){const t=`${this.name}:${this.chainId}`,r=this.httpProviders[t];if(typeof r>"u")throw new Error(`JSON-RPC provider for ${t} not found`);return r}setHttpProvider(t,r){const s=this.createHttpProvider(t,r);s&&(this.httpProviders[t]=s)}createHttpProvider(t,r){const s=r||Kt(t,this.namespace,this.client.core.projectId);if(!s)throw new Error(`No RPC url provided for chainId: ${t}`);return new Tt(new Bt(s,ue("disableProviderPing")))}}class iI{constructor(t){this.name="near",this.namespace=t.namespace,this.events=ue("events"),this.client=ue("client"),this.chainId=this.getDefaultChain(),this.httpProviders=this.createHttpProviders()}updateNamespace(t){this.namespace=Object.assign(this.namespace,t)}requestAccounts(){return this.getAccounts()}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;const t=this.namespace.chains[0];if(!t)throw new Error("ChainId not found");return t.split(":")[1]}request(t){return this.namespace.methods.includes(t.request.method)?this.client.request(t):this.getHttpProvider().request(t.request)}setDefaultChain(t,r){if(this.chainId=t,!this.httpProviders[t]){const s=r||Kt(`${this.name}:${t}`,this.namespace);if(!s)throw new Error(`No RPC url provided for chainId: ${t}`);this.setHttpProvider(t,s)}this.events.emit(At.DEFAULT_CHAIN_CHANGED,`${this.name}:${this.chainId}`)}getAccounts(){const t=this.namespace.accounts;return t?t.filter(r=>r.split(":")[1]===this.chainId.toString()).map(r=>r.split(":")[2])||[]:[]}createHttpProviders(){const t={};return this.namespace.chains.forEach(r=>{var s;t[r]=this.createHttpProvider(r,(s=this.namespace.rpcMap)==null?void 0:s[r])}),t}getHttpProvider(){const t=`${this.name}:${this.chainId}`,r=this.httpProviders[t];if(typeof r>"u")throw new Error(`JSON-RPC provider for ${t} not found`);return r}setHttpProvider(t,r){const s=this.createHttpProvider(t,r);s&&(this.httpProviders[t]=s)}createHttpProvider(t,r){const s=r||Kt(t,this.namespace);return typeof s>"u"?void 0:new Tt(new Bt(s,ue("disableProviderPing")))}}var sI=Object.defineProperty,nI=Object.defineProperties,oI=Object.getOwnPropertyDescriptors,dh=Object.getOwnPropertySymbols,aI=Object.prototype.hasOwnProperty,cI=Object.prototype.propertyIsEnumerable,gh=(a,t,r)=>t in a?sI(a,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):a[t]=r,ys=(a,t)=>{for(var r in t||(t={}))aI.call(t,r)&&gh(a,r,t[r]);if(dh)for(var r of dh(t))cI.call(t,r)&&gh(a,r,t[r]);return a},ao=(a,t)=>nI(a,oI(t));class xo{constructor(t){this.events=new He.ss,this.rpcProviders={},this.shouldAbortPairingAttempt=!1,this.maxPairingAttempts=10,this.disableProviderPing=!1,this.providerOpts=t,this.logger=typeof(t==null?void 0:t.logger)<"u"&&typeof(t==null?void 0:t.logger)!="string"?t.logger:E.Tt(E.k({level:(t==null?void 0:t.logger)||uh})),this.disableProviderPing=(t==null?void 0:t.disableProviderPing)||!1}static async init(t){const r=new xo(t);return await r.initialize(),r}async request(t,r){const[s,o]=this.validateChain(r);if(!this.session)throw new Error("Please call connect() before request()");return await this.getProvider(s).request({request:ys({},t),chainId:`${s}:${o}`,topic:this.session.topic})}sendAsync(t,r,s){const o=new Date().getTime();this.request(t,s).then(u=>r(null,E.formatJsonRpcResult(o,u))).catch(u=>r(u,void 0))}async enable(){if(!this.client)throw new Error("Sign Client not initialized");return this.session||await this.connect({namespaces:this.namespaces,optionalNamespaces:this.optionalNamespaces,sessionProperties:this.sessionProperties}),await this.requestAccounts()}async disconnect(){var t;if(!this.session)throw new Error("Please call connect() before enable()");await this.client.disconnect({topic:(t=this.session)==null?void 0:t.topic,reason:ve("USER_DISCONNECTED")}),await this.cleanup()}async connect(t){if(!this.client)throw new Error("Sign Client not initialized");if(this.setNamespaces(t),await this.cleanupPendingPairings(),!t.skipPairing)return await this.pair(t.pairingTopic)}on(t,r){this.events.on(t,r)}once(t,r){this.events.once(t,r)}removeListener(t,r){this.events.removeListener(t,r)}off(t,r){this.events.off(t,r)}get isWalletConnect(){return!0}async pair(t){this.shouldAbortPairingAttempt=!1;let r=0;do{if(this.shouldAbortPairingAttempt)throw new Error("Pairing aborted");if(r>=this.maxPairingAttempts)throw new Error("Max auto pairing attempts reached");const{uri:s,approval:o}=await this.client.connect({pairingTopic:t,requiredNamespaces:this.namespaces,optionalNamespaces:this.optionalNamespaces,sessionProperties:this.sessionProperties});s&&(this.uri=s,this.events.emit("display_uri",s)),await o().then(u=>{this.session=u,this.namespaces||(this.namespaces=GE(u.namespaces),this.persist("namespaces",this.namespaces))}).catch(u=>{if(u.message!==el)throw u;r++})}while(!this.session);return this.onConnect(),this.session}setDefaultChain(t,r){try{if(!this.session)return;const[s,o]=this.validateChain(t);this.getProvider(s).setDefaultChain(o,r)}catch(s){if(!/Please call connect/.test(s.message))throw s}}async cleanupPendingPairings(t={}){this.logger.info("Cleaning up inactive pairings...");const r=this.client.pairing.getAll();if(sr(r)){for(const s of r)t.deletePairings?this.client.core.expirer.set(s.topic,0):await this.client.core.relayer.subscriber.unsubscribe(s.topic);this.logger.info(`Inactive pairings cleared: ${r.length}`)}}abortPairingAttempt(){this.shouldAbortPairingAttempt=!0}async checkStorage(){if(this.namespaces=await this.getFromStore("namespaces"),this.optionalNamespaces=await this.getFromStore("optionalNamespaces")||{},this.client.session.length){const t=this.client.session.keys.length-1;this.session=this.client.session.get(this.client.session.keys[t]),this.createProviders()}}async initialize(){this.logger.trace("Initialized"),await this.createClient(),await this.checkStorage(),this.registerEventListeners()}async createClient(){this.client=this.providerOpts.client||await SE.init({logger:this.providerOpts.logger||uh,relayUrl:this.providerOpts.relayUrl||jE,projectId:this.providerOpts.projectId,metadata:this.providerOpts.metadata,storageOptions:this.providerOpts.storageOptions,storage:this.providerOpts.storage,name:this.providerOpts.name}),this.logger.trace("SignClient Initialized")}createProviders(){if(!this.client)throw new Error("Sign Client not initialized");if(!this.session)throw new Error("Session not initialized. Please call connect() before enable()");const t=[...new Set(Object.keys(this.session.namespaces).map(r=>li(r)))];oo("client",this.client),oo("events",this.events),oo("disableProviderPing",this.disableProviderPing),t.forEach(r=>{if(!this.session)return;const s=BE(r,this.session),o=rl(s),u=WE(this.namespaces,this.optionalNamespaces),l=ao(ys({},u[r]),{accounts:s,chains:o});switch(r){case"eip155":this.rpcProviders[r]=new YE({namespace:l});break;case"solana":this.rpcProviders[r]=new ZE({namespace:l});break;case"cosmos":this.rpcProviders[r]=new XE({namespace:l});break;case"polkadot":this.rpcProviders[r]=new QE({namespace:l});break;case"cip34":this.rpcProviders[r]=new eI({namespace:l});break;case"elrond":this.rpcProviders[r]=new tI({namespace:l});break;case"multiversx":this.rpcProviders[r]=new rI({namespace:l});break;case"near":this.rpcProviders[r]=new iI({namespace:l});break}})}registerEventListeners(){if(typeof this.client>"u")throw new Error("Sign Client is not initialized");this.client.on("session_ping",t=>{this.events.emit("session_ping",t)}),this.client.on("session_event",t=>{const{params:r}=t,{event:s}=r;if(s.name==="accountsChanged"){const o=s.data;o&&sr(o)&&this.events.emit("accountsChanged",o.map(JE))}else if(s.name==="chainChanged"){const o=r.chainId,u=r.event.data,l=li(o),g=no(o)!==no(u)?`${l}:${no(u)}`:o;this.onChainChanged(g)}else this.events.emit(s.name,s.data);this.events.emit("session_event",t)}),this.client.on("session_update",({topic:t,params:r})=>{var s;const{namespaces:o}=r,u=(s=this.client)==null?void 0:s.session.get(t);this.session=ao(ys({},u),{namespaces:o}),this.onSessionUpdate(),this.events.emit("session_update",{topic:t,params:r})}),this.client.on("session_delete",async t=>{await this.cleanup(),this.events.emit("session_delete",t),this.events.emit("disconnect",ao(ys({},ve("USER_DISCONNECTED")),{data:t.topic}))}),this.on(At.DEFAULT_CHAIN_CHANGED,t=>{this.onChainChanged(t,!0)})}getProvider(t){if(!this.rpcProviders[t])throw new Error(`Provider not found: ${t}`);return this.rpcProviders[t]}onSessionUpdate(){Object.keys(this.rpcProviders).forEach(t=>{var r;this.getProvider(t).updateNamespace((r=this.session)==null?void 0:r.namespaces[t])})}setNamespaces(t){const{namespaces:r,optionalNamespaces:s,sessionProperties:o}=t;r&&Object.keys(r).length&&(this.namespaces=r),s&&Object.keys(s).length&&(this.optionalNamespaces=s),this.sessionProperties=o,this.persist("namespaces",r),this.persist("optionalNamespaces",s)}validateChain(t){const[r,s]=(t==null?void 0:t.split(":"))||["",""];if(!this.namespaces||!Object.keys(this.namespaces).length)return[r,s];if(r&&!Object.keys(this.namespaces||{}).map(l=>li(l)).includes(r))throw new Error(`Namespace '${r}' is not configured. Please call connect() first with namespace config.`);if(r&&s)return[r,s];const o=li(Object.keys(this.namespaces)[0]),u=this.rpcProviders[o].getDefaultChain();return[o,u]}async requestAccounts(){const[t]=this.validateChain();return await this.getProvider(t).requestAccounts()}onChainChanged(t,r=!1){var s;if(!this.namespaces)return;const[o,u]=this.validateChain(t);r||this.getProvider(o).setDefaultChain(u),((s=this.namespaces[o])!=null?s:this.namespaces[`${o}:${u}`]).defaultChain=u,this.persist("namespaces",this.namespaces),this.events.emit("chainChanged",u)}onConnect(){this.createProviders(),this.events.emit("connect",{session:this.session})}async cleanup(){this.session=void 0,this.namespaces=void 0,this.optionalNamespaces=void 0,this.sessionProperties=void 0,this.persist("namespaces",void 0),this.persist("optionalNamespaces",void 0),this.persist("sessionProperties",void 0),await this.cleanupPendingPairings({deletePairings:!0})}persist(t,r){this.client.core.storage.setItem(`${hh}/${t}`,r)}async getFromStore(t){return await this.client.core.storage.getItem(`${hh}/${t}`)}}const uI=xo,hI="wc",lI="ethereum_provider",pI=`${hI}@2:${lI}:`,fI="https://rpc.walletconnect.com/v1/",bs=["eth_sendTransaction","personal_sign"],sl=["eth_accounts","eth_requestAccounts","eth_sendRawTransaction","eth_sign","eth_signTransaction","eth_signTypedData","eth_signTypedData_v3","eth_signTypedData_v4","eth_sendTransaction","personal_sign","wallet_switchEthereumChain","wallet_addEthereumChain","wallet_getPermissions","wallet_requestPermissions","wallet_registerOnboarding","wallet_watchAsset","wallet_scanQRCode"],Es=["chainChanged","accountsChanged"],nl=["chainChanged","accountsChanged","message","disconnect","connect"];var dI=Object.defineProperty,gI=Object.defineProperties,yI=Object.getOwnPropertyDescriptors,yh=Object.getOwnPropertySymbols,vI=Object.prototype.hasOwnProperty,mI=Object.prototype.propertyIsEnumerable,vh=(a,t,r)=>t in a?dI(a,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):a[t]=r,fi=(a,t)=>{for(var r in t||(t={}))vI.call(t,r)&&vh(a,r,t[r]);if(yh)for(var r of yh(t))mI.call(t,r)&&vh(a,r,t[r]);return a},mh=(a,t)=>gI(a,yI(t));function Is(a){return Number(a[0].split(":")[1])}function co(a){return`0x${a.toString(16)}`}function wI(a){const{chains:t,optionalChains:r,methods:s,optionalMethods:o,events:u,optionalEvents:l,rpcMap:g}=a;if(!uo(t))throw new Error("Invalid chains");const w={chains:t,methods:s||bs,events:u||Es,rpcMap:fi({},t.length?{[Is(t)]:g[Is(t)]}:{})},b=u==null?void 0:u.filter(q=>!Es.includes(q)),C=s==null?void 0:s.filter(q=>!bs.includes(q));if(!r&&!l&&!o&&!(b!=null&&b.length)&&!(C!=null&&C.length))return{required:t.length?w:void 0};const O=(b==null?void 0:b.length)&&(C==null?void 0:C.length)||!r,N={chains:[...new Set(O?w.chains.concat(r||[]):r)],methods:[...new Set(w.methods.concat(o!=null&&o.length?o:sl))],events:[...new Set(w.events.concat(l!=null&&l.length?l:nl))],rpcMap:g};return{required:t.length?w:void 0,optional:r.length?N:void 0}}class Rs{constructor(){this.events=new He.eventsExports.EventEmitter,this.namespace="eip155",this.accounts=[],this.chainId=1,this.STORAGE_KEY=pI,this.on=(t,r)=>(this.events.on(t,r),this),this.once=(t,r)=>(this.events.once(t,r),this),this.removeListener=(t,r)=>(this.events.removeListener(t,r),this),this.off=(t,r)=>(this.events.off(t,r),this),this.parseAccount=t=>this.isCompatibleChainId(t)?this.parseAccountId(t).address:t,this.signer={},this.rpc={}}static async init(t){const r=new Rs;return await r.initialize(t),r}async request(t){return await this.signer.request(t,this.formatChainId(this.chainId))}sendAsync(t,r){this.signer.sendAsync(t,r,this.formatChainId(this.chainId))}get connected(){return this.signer.client?this.signer.client.core.relayer.connected:!1}get connecting(){return this.signer.client?this.signer.client.core.relayer.connecting:!1}async enable(){return this.session||await this.connect(),await this.request({method:"eth_requestAccounts"})}async connect(t){if(!this.signer.client)throw new Error("Provider not initialized. Call init() first");this.loadConnectOpts(t);const{required:r,optional:s}=wI(this.rpc);try{const o=await new Promise(async(l,g)=>{var w;this.rpc.showQrModal&&((w=this.modal)==null||w.subscribeModal(b=>{!b.open&&!this.signer.session&&(this.signer.abortPairingAttempt(),g(new Error("Connection request reset. Please try again.")))})),await this.signer.connect(mh(fi({namespaces:fi({},r&&{[this.namespace]:r})},s&&{optionalNamespaces:{[this.namespace]:s}}),{pairingTopic:t==null?void 0:t.pairingTopic})).then(b=>{l(b)}).catch(b=>{g(new Error(b.message))})});if(!o)return;const u=fw(o.namespaces,[this.namespace]);this.setChainIds(this.rpc.chains.length?this.rpc.chains:u),this.setAccounts(u),this.events.emit("connect",{chainId:co(this.chainId)})}catch(o){throw this.signer.logger.error(o),o}finally{this.modal&&this.modal.closeModal()}}async disconnect(){this.session&&await this.signer.disconnect(),this.reset()}get isWalletConnect(){return!0}get session(){return this.signer.session}registerEventListeners(){this.signer.on("session_event",t=>{const{params:r}=t,{event:s}=r;s.name==="accountsChanged"?(this.accounts=this.parseAccounts(s.data),this.events.emit("accountsChanged",this.accounts)):s.name==="chainChanged"?this.setChainId(this.formatChainId(s.data)):this.events.emit(s.name,s.data),this.events.emit("session_event",t)}),this.signer.on("chainChanged",t=>{const r=parseInt(t);this.chainId=r,this.events.emit("chainChanged",co(this.chainId)),this.persist()}),this.signer.on("session_update",t=>{this.events.emit("session_update",t)}),this.signer.on("session_delete",t=>{this.reset(),this.events.emit("session_delete",t),this.events.emit("disconnect",mh(fi({},gw("USER_DISCONNECTED")),{data:t.topic,name:"USER_DISCONNECTED"}))}),this.signer.on("display_uri",t=>{var r,s;this.rpc.showQrModal&&((r=this.modal)==null||r.closeModal(),(s=this.modal)==null||s.openModal({uri:t})),this.events.emit("display_uri",t)})}switchEthereumChain(t){this.request({method:"wallet_switchEthereumChain",params:[{chainId:t.toString(16)}]})}isCompatibleChainId(t){return typeof t=="string"?t.startsWith(`${this.namespace}:`):!1}formatChainId(t){return`${this.namespace}:${t}`}parseChainId(t){return Number(t.split(":")[1])}setChainIds(t){const r=t.filter(s=>this.isCompatibleChainId(s)).map(s=>this.parseChainId(s));r.length&&(this.chainId=r[0],this.events.emit("chainChanged",co(this.chainId)),this.persist())}setChainId(t){if(this.isCompatibleChainId(t)){const r=this.parseChainId(t);this.chainId=r,this.switchEthereumChain(r)}}parseAccountId(t){const[r,s,o]=t.split(":");return{chainId:`${r}:${s}`,address:o}}setAccounts(t){this.accounts=t.filter(r=>this.parseChainId(this.parseAccountId(r).chainId)===this.chainId).map(r=>this.parseAccountId(r).address),this.events.emit("accountsChanged",this.accounts)}getRpcConfig(t){var r,s;const o=(r=t==null?void 0:t.chains)!=null?r:[],u=(s=t==null?void 0:t.optionalChains)!=null?s:[],l=o.concat(u);if(!l.length)throw new Error("No chains specified in either `chains` or `optionalChains`");const g=o.length?(t==null?void 0:t.methods)||bs:[],w=o.length?(t==null?void 0:t.events)||Es:[],b=(t==null?void 0:t.optionalMethods)||[],C=(t==null?void 0:t.optionalEvents)||[],O=(t==null?void 0:t.rpcMap)||this.buildRpcMap(l,t.projectId),N=(t==null?void 0:t.qrModalOptions)||void 0;return{chains:o==null?void 0:o.map(q=>this.formatChainId(q)),optionalChains:u.map(q=>this.formatChainId(q)),methods:g,events:w,optionalMethods:b,optionalEvents:C,rpcMap:O,showQrModal:!!(t!=null&&t.showQrModal),qrModalOptions:N,projectId:t.projectId,metadata:t.metadata}}buildRpcMap(t,r){const s={};return t.forEach(o=>{s[o]=this.getRpcUrl(o,r)}),s}async initialize(t){if(this.rpc=this.getRpcConfig(t),this.chainId=this.rpc.chains.length?Is(this.rpc.chains):Is(this.rpc.optionalChains),this.signer=await uI.init({projectId:this.rpc.projectId,metadata:this.rpc.metadata,disableProviderPing:t.disableProviderPing,relayUrl:t.relayUrl,storageOptions:t.storageOptions}),this.registerEventListeners(),await this.loadPersistedSession(),this.rpc.showQrModal){let r;try{const{WalletConnectModal:s}=await Promise.resolve().then(()=>require("./index-DJjvM0nk.js")).then(o=>o.index);r=s}catch{throw new Error("To use QR modal, please install @walletconnect/modal package")}if(r)try{this.modal=new r(fi({projectId:this.rpc.projectId},this.rpc.qrModalOptions))}catch(s){throw this.signer.logger.error(s),new Error("Could not generate WalletConnectModal Instance")}}}loadConnectOpts(t){if(!t)return;const{chains:r,optionalChains:s,rpcMap:o}=t;r&&uo(r)&&(this.rpc.chains=r.map(u=>this.formatChainId(u)),r.forEach(u=>{this.rpc.rpcMap[u]=(o==null?void 0:o[u])||this.getRpcUrl(u)})),s&&uo(s)&&(this.rpc.optionalChains=[],this.rpc.optionalChains=s==null?void 0:s.map(u=>this.formatChainId(u)),s.forEach(u=>{this.rpc.rpcMap[u]=(o==null?void 0:o[u])||this.getRpcUrl(u)}))}getRpcUrl(t,r){var s;return((s=this.rpc.rpcMap)==null?void 0:s[t])||`${fI}?chainId=eip155:${t}&projectId=${r||this.rpc.projectId}`}async loadPersistedSession(){if(!this.session)return;const t=await this.signer.client.core.storage.getItem(`${this.STORAGE_KEY}/chainId`),r=this.session.namespaces[`${this.namespace}:${t}`]?this.session.namespaces[`${this.namespace}:${t}`]:this.session.namespaces[this.namespace];this.setChainIds(t?[this.formatChainId(t)]:r==null?void 0:r.accounts),this.setAccounts(r==null?void 0:r.accounts)}reset(){this.chainId=1,this.accounts=[]}persist(){this.session&&this.signer.client.core.storage.setItem(`${this.STORAGE_KEY}/chainId`,this.chainId)}parseAccounts(t){return typeof t=="string"||t instanceof String?[this.parseAccount(t)]:t.map(r=>this.parseAccount(r))}}const _I=Rs;exports.EthereumProvider=_I;exports.OPTIONAL_EVENTS=nl;exports.OPTIONAL_METHODS=sl;exports.REQUIRED_EVENTS=Es;exports.REQUIRED_METHODS=bs;exports.default=Rs;
|
package/lib/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const R=require("./index-
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const R=require("./index-BLlpWXP6.js");exports.AutomaticCCTPRoute=R.AutomaticCCTPRoute;exports.AutomaticPorticoRoute=R.AutomaticPorticoRoute;exports.AutomaticTokenBridgeRoute=R.AutomaticTokenBridgeRoute;exports.CCTPRoute=R.CCTPRoute;exports.DEFAULT_ROUTES=R.DEFAULT_ROUTES;exports.ERR_AMOUNT_TOO_LARGE=R.ERR_AMOUNT_TOO_LARGE;exports.ERR_AMOUNT_TOO_SMALL=R.ERR_AMOUNT_TOO_SMALL;exports.ERR_DESTINATION_CONTRACT_PAUSED=R.ERR_DESTINATION_CONTRACT_PAUSED;exports.ERR_INSUFFICIENT_ALLOWANCE=R.ERR_INSUFFICIENT_ALLOWANCE;exports.ERR_INSUFFICIENT_GAS=R.ERR_INSUFFICIENT_GAS;exports.ERR_NOT_ENOUGH_CAPACITY=R.ERR_NOT_ENOUGH_CAPACITY;exports.ERR_SOURCE_CONTRACT_PAUSED=R.ERR_SOURCE_CONTRACT_PAUSED;exports.ERR_TIMEOUT=R.ERR_TIMEOUT;exports.ERR_UNKNOWN=R.ERR_UNKNOWN;exports.ERR_UNSUPPORTED_ABI_VERSION=R.ERR_UNSUPPORTED_ABI_VERSION;exports.ERR_USER_REJECTED=R.ERR_USER_REJECTED;exports.MAINNET=R.MAINNET;exports.MayanRoute=R.MayanRoute;exports.MayanRouteMCTP=R.MayanRouteMCTP;exports.MayanRouteSHUTTLE=R.MayanRouteSHUTTLE;exports.MayanRouteSWIFT=R.MayanRouteSWIFT;exports.MayanRouteWH=R.MayanRouteWH;exports.TESTNET=R.TESTNET;exports.Token=R.Token;exports.TokenBridgeRoute=R.TokenBridgeRoute;exports.buildConfig=R.buildConfig;exports.default=R.WormholeConnect;exports.getTokenDetails=R.getTokenDetails;exports.getTransferDetails=R.getTransferDetails;exports.nttAutomaticRoute=R.nttAutomaticRoute;exports.nttManualRoute=R.nttManualRoute;exports.nttRoutes=R.nttRoutes;exports.wormholeConnectHosted=R.wormholeConnectHosted;
|
package/lib/index.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { d7 as s, d9 as t, d5 as d, d8 as T, d1 as E, dp as e, dq as o, dl as _, di as A, dn as N, dj as u, dk as n, ds as C, dt as O, dm as U, dr as S, cZ as I, da as i, dc as M, de as c, dd as r, db as P, c_ as D, d0 as l, d6 as m, c$ as L, cY as g, dg as F, dh as f, d3 as k, d4 as y, d2 as H, df as W } from "./index-
|
|
1
|
+
import { d7 as s, d9 as t, d5 as d, d8 as T, d1 as E, dp as e, dq as o, dl as _, di as A, dn as N, dj as u, dk as n, ds as C, dt as O, dm as U, dr as S, cZ as I, da as i, dc as M, de as c, dd as r, db as P, c_ as D, d0 as l, d6 as m, c$ as L, cY as g, dg as F, dh as f, d3 as k, d4 as y, d2 as H, df as W } from "./index-CSzw0A9y.mjs";
|
|
2
2
|
export {
|
|
3
3
|
s as AutomaticCCTPRoute,
|
|
4
4
|
t as AutomaticPorticoRoute,
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
var S = Object.defineProperty;
|
|
2
2
|
var x = (i, t, e) => t in i ? S(i, t, { enumerable: !0, configurable: !0, writable: !0, value: e }) : i[t] = e;
|
|
3
3
|
var m = (i, t, e) => x(i, typeof t != "symbol" ? t + "" : t, e);
|
|
4
|
-
import { am as I, an as R, ae as y, e as _, ao as A, ap as M, aq as L, ar as U, af as O, ah as w, r as C } from "./index-
|
|
4
|
+
import { am as I, an as R, ae as y, e as _, ao as A, ap as M, aq as L, ar as U, af as O, ah as w, r as C } from "./index-CSzw0A9y.mjs";
|
|
5
5
|
const F = 0.5, b = 1, E = 1, T = 1e8, k = 5, D = 25e4;
|
|
6
6
|
async function N(i, t, e) {
|
|
7
7
|
const [s, r] = await _.chainFromRpc(i), n = typeof t == "string" ? A.fromSecretKey(M.decode(t)) : t;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var k=Object.defineProperty;var B=(i,t,e)=>t in i?k(i,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):i[t]=e;var f=(i,t,e)=>B(i,typeof t!="symbol"?t+"":t,e);const a=require("./index-
|
|
1
|
+
"use strict";var k=Object.defineProperty;var B=(i,t,e)=>t in i?k(i,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):i[t]=e;var f=(i,t,e)=>B(i,typeof t!="symbol"?t+"":t,e);const a=require("./index-BLlpWXP6.js"),y=.5,F=1,b=1,E=1e8,T=5,x=25e4;async function I(i,t,e){const[n,r]=await a.SolanaPlatform.chainFromRpc(i),s=typeof t=="string"?a.Keypair.fromSecretKey(a.b58.decode(t)):t;if(e!=null&&e.priorityFee&&e.priorityFee.percentile&&e.priorityFee.percentile>1)throw new Error("priorityFeePercentile must be a number between 0 and 1");return new R(i,r,s,(e==null?void 0:e.debug)??!1,(e==null?void 0:e.priorityFee)??{},(e==null?void 0:e.retries)??T,e==null?void 0:e.sendOpts)}class R{constructor(t,e,n,r=!1,s,c=T,d){f(this,"_rpc");f(this,"_chain");f(this,"_keypair");f(this,"_debug");f(this,"_priorityFee");f(this,"_maxResubmits");f(this,"_sendOpts");this._rpc=t,this._chain=e,this._keypair=n,this._debug=r,this._priorityFee=s,this._maxResubmits=c,this._sendOpts=d,this._sendOpts=this._sendOpts??{preflightCommitment:this._rpc.commitment}}chain(){return this._chain}address(){return this._keypair.publicKey.toBase58()}retryable(t){var n;if(t instanceof a.TransactionExpiredBlockheightExceededError)return!0;if(!(t instanceof a.SendTransactionError)||!t.message.includes("Transaction simulation failed"))return!1;if(t.message.includes("Blockhash not found"))return!0;const e=(n=t.logs)==null?void 0:n.find(r=>r.startsWith("Program log: Error: "));return e?!!(e.includes("Not enough bytes")||e.includes("Unexpected length of input")):!1}async signAndSend(t){var d;let{blockhash:e,lastValidBlockHeight:n}=await a.SolanaPlatform.latestBlock(this._rpc);const r=[];for(const l of t){const{description:g,transaction:{transaction:o,signers:u}}=l;this._debug&&console.log(`Signing: ${g} for ${this.address()}`);let h;(d=this._priorityFee)!=null&&d.percentile&&this._priorityFee.percentile>0&&(h=await M(this._rpc,o,this._priorityFee.percentile,this._priorityFee.percentileMultiple,this._priorityFee.min,this._priorityFee.max)),this._debug&&A(o);for(let m=0;m<this._maxResubmits;m++)try{if(a.isVersionedTransaction(o)){if(h&&m===0){const _=a.TransactionMessage.decompile(o.message);_.instructions.push(...h),o.message=_.compileToV0Message()}o.message.recentBlockhash=e,o.sign([this._keypair,...u??[]])}else h&&m===0&&o.add(...h),o.recentBlockhash=e,o.lastValidBlockHeight=n,o.partialSign(this._keypair,...u??[]);this._debug&&console.log("Submitting transactions ");const{signature:p}=await a.SolanaPlatform.sendTxWithRetry(this._rpc,o.serialize(),this._sendOpts);r.push(p);break}catch(p){if(m===this._maxResubmits-1||!this.retryable(p))throw p;this._debug&&console.log(`Failed to send transaction on attempt ${m}, retrying: `,p);const{blockhash:_,lastValidBlockHeight:S}=await a.SolanaPlatform.latestBlock(this._rpc);n=S,e=_}}this._debug&&console.log("Waiting for confirmation for: ",r);const c=(await Promise.all(r.map(async l=>{try{return await this._rpc.confirmTransaction({signature:l,blockhash:e,lastValidBlockHeight:n},this._rpc.commitment)}catch(g){throw console.error("Failed to confirm transaction: ",g),g}}))).filter(l=>l.value.err).map(l=>l.value.err);if(c.length>0)throw new Error(`Failed to confirm transaction: ${c}`);return r}}function A(i){if(a.isVersionedTransaction(i)){console.log(i.signatures);const t=i.message,e=t.getAccountKeys();t.compiledInstructions.forEach(n=>{console.log("Program",e.get(n.programIdIndex).toBase58()),console.log("Data: ",a.hex.encode(n.data)),console.log("Keys: ",n.accountKeyIndexes.map(r=>[r,e.get(r).toBase58()]))})}else console.log(i.signatures),console.log(i.feePayer),i.instructions.forEach(t=>{console.log("Program",t.programId.toBase58()),console.log("Data: ",t.data.toString("hex")),console.log("Keys: ",t.keys.map(e=>[e,e.pubkey.toBase58()]))})}async function M(i,t,e=y,n=F,r=b,s=E){const[c,d]=await Promise.all([L(i,t),P(i,t,e,n,r,s)]);return[a.ComputeBudgetProgram.setComputeUnitLimit({units:c}),a.ComputeBudgetProgram.setComputeUnitPrice({microLamports:d})]}async function L(i,t){var n;let e=x;try{const r=await(a.isVersionedTransaction(t),i.simulateTransaction(t));r.value.err&&console.error(`Error simulating Solana transaction: ${r.value.err}`),(n=r==null?void 0:r.value)!=null&&n.unitsConsumed&&(e=Math.round(r.value.unitsConsumed*1.2))}catch(r){console.error(`Failed to calculate compute unit limit for Solana transaction: ${r}`)}return e}async function w(i,t){if(a.isVersionedTransaction(t)){const e=(await Promise.all(t.message.addressTableLookups.map(s=>i.getAddressLookupTable(s.accountKey)))).map(s=>s.value).filter(s=>s!==null),n=t.message,r=n.getAccountKeys({addressLookupTableAccounts:e??void 0});return n.compiledInstructions.flatMap(s=>s.accountKeyIndexes).map(s=>n.isAccountWritable(s)?r.get(s):null).filter(Boolean)}else return t.instructions.flatMap(e=>e.keys).map(e=>e.isWritable?e.pubkey:null).filter(Boolean)}async function P(i,t,e=y,n=F,r=b,s=E){let c=r;const d=await w(i,t);try{const l=await i.getRecentPrioritizationFees({lockedWritableAccounts:d});if(l){const g=l.map(u=>u.prioritizationFee).sort((u,h)=>u-h),o=Math.ceil(g.length*e);if(g.length>o){let u=g[o];n>0&&(u*=n),c=Math.max(c,u)}}}catch(l){console.error("Error fetching Solana recent fees",l)}return Math.min(Math.max(c,r),s)}async function U(i,t,e=y,n=F,r=b,s=E){const c=e*1e4;if(c<1||c>1e4)throw new Error("percentile must be between 0.0001 and 1");const d=i._rpcRequest,g=[await w(i,t),{percentile:c}],o=await d("getRecentPrioritizationFees",g);if(o.error)throw new Error(o.error);const u=o.result.map(m=>m.prioritizationFee);if(u.length===0)return r;const h=Math.floor(a.median(u)*(n>0?n:1));return a.bound(h,r,s)}exports.determinePriorityFee=P;exports.determinePriorityFeeTritonOne=U;exports.getSolanaSignAndSendSigner=I;
|