@avalabs/avalanche-module 3.7.3 → 3.8.1
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/index.cjs +31 -29
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +4 -2
- package/dist/index.d.ts +4 -2
- package/dist/index.js +10 -10
- package/dist/index.js.map +1 -1
- package/package.json +12 -12
package/dist/index.cjs
CHANGED
|
@@ -7,40 +7,42 @@ var glacierSdk = require('@avalabs/glacier-sdk');
|
|
|
7
7
|
var rpcErrors = require('@metamask/rpc-errors');
|
|
8
8
|
var coreWalletsSdk = require('@avalabs/core-wallets-sdk');
|
|
9
9
|
var avalanchejs = require('@avalabs/avalanchejs');
|
|
10
|
-
var
|
|
10
|
+
var X = require('big.js');
|
|
11
11
|
var coreUtilsSdk = require('@avalabs/core-utils-sdk');
|
|
12
|
-
var
|
|
12
|
+
var en = require('crypto');
|
|
13
13
|
|
|
14
14
|
function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
|
|
15
15
|
|
|
16
|
-
var
|
|
17
|
-
var
|
|
16
|
+
var X__default = /*#__PURE__*/_interopDefault(X);
|
|
17
|
+
var en__default = /*#__PURE__*/_interopDefault(en);
|
|
18
18
|
|
|
19
|
-
var Lr=Object.defineProperty;var Ur=(e,t,r)=>t in e?Lr(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;var X=(e,t,r)=>(Ur(e,typeof t!="symbol"?t+"":t,r),r),Je=(e,t,r)=>{if(!t.has(e))throw TypeError("Cannot "+r)};var y=(e,t,r)=>(Je(e,t,"read from private field"),r?r.call(e):t.get(e)),v=(e,t,r)=>{if(t.has(e))throw TypeError("Cannot add the same private member more than once");t instanceof WeakSet?t.add(e):t.set(e,r);},S=(e,t,r,a)=>(Je(e,t,"write to private field"),a?a.call(e,r):t.set(e,r),r);var Ke=(e,t,r)=>(Je(e,t,"access private method"),r);function bt(e){let t,r=0;for(t=0;t<e.length;t++)r+=e.charCodeAt(t)*(t+1);return r}function ze(e){let t,r=0;for(t=0;t<e.length;t++){let a=bt(e[t]??"");r=r+65027/a;}return (""+r).slice(0,16)}var G=async({operation:e,isSuccess:t,maxRetries:r=10,backoffPolicy:a=L.exponential()})=>{let n=0,o=0,s;for(;o<r;){o>0&&await _r(n);try{let c=await e(o);if(t(c))return c}catch(c){s=c;}n=a(o),o++;}let i=s?`Max retry exceeded. ${s}`:"Max retry exceeded.";throw new Error(i)},L=class{static exponential(){return t=>Math.pow(2,t)*1e3}static constant(t){return r=>t*1e3}static constantMs(t){return r=>t}static linearThenExponential(t,r){return a=>{if(a<t)return (a+1)*r;let n=a-t+1,o=t*r,s=2*r*(Math.pow(2,n)-1);return o+s}}};function _r(e){return new Promise(t=>setTimeout(t,e))}var Ye=e=>G({operation:t=>e(t>0),maxRetries:2,backoffPolicy:L.constant(1),isSuccess:t=>t?.status?.error_code!==429});async function q(e,t,r=fetch){let a=await r(...e);if(!a.ok)throw new Error(`Request failed with status ${a.status}`);let n=await a.json();return t.parse(n)}var fe=class{constructor(t,r){this.proxyApiUrl=t;this.fetchFn=r;}simplePrice(t){let r=new URLSearchParams(t);return q([`${this.proxyApiUrl}/proxy/coingecko/simple/price?${r}`,{method:"POST",headers:{"Content-Type":"application/json"}}],vmModuleTypes.RawSimplePriceResponseSchema,this.fetchFn)}simplePriceByContractAddresses(t){let{id:r,...a}=t,n=new URLSearchParams(a);return q([`${this.proxyApiUrl}/proxy/coingecko/simple/token_price/${r}?${n}`,{method:"POST",headers:{"Content-Type":"application/json"}}],vmModuleTypes.RawSimplePriceResponseSchema,this.fetchFn)}};var Fr=zod.z.array(zod.z.object({internalId:zod.z.string(),id:zod.z.string(),symbol:zod.z.string(),name:zod.z.string(),image:zod.z.string().optional().nullable(),current_price:zod.z.number().optional().nullable(),price_change_percentage_24h:zod.z.number().optional().nullable(),market_cap:zod.z.number().optional().nullable(),total_volume:zod.z.number().optional().nullable(),platforms:zod.z.record(zod.z.string(),zod.z.string())})),Ve=class{constructor(t){this.proxyApiUrl=t;}watchlistToken(t){let r=new URLSearchParams(t);return q([`${this.proxyApiUrl}/watchlist/tokens?${r}`,{method:"GET",headers:{"Content-Type":"application/json"}}],Fr)}};var U,W,$,re,ye=class{constructor({storage:t,proxyApiUrl:r,fetch:a}){v(this,U,void 0);v(this,W,void 0);v(this,$,void 0);v(this,re,void 0);X(this,"transformSimplePriceResponse",(t,r=[coreCoingeckoSdk.VsCurrencyType.USD])=>{let a={};return Object.keys(t).forEach(n=>{let o=t[n];a[n]={},r.forEach(s=>{a[n]={[s]:{price:o?.[s],change24:o?.[`${s}_24h_change`],vol24:o?.[`${s}_24h_vol`],marketCap:o?.[`${s}_market_cap`]}};});}),a});S(this,U,t),S(this,W,r),S(this,$,a??globalThis.fetch),S(this,re,coreCoingeckoSdk.getBasicCoingeckoHttp(void 0,y(this,$)));}async getWatchlistDataForToken({tokenDetails:t,currency:r=coreCoingeckoSdk.VsCurrencyType.USD}){let a=(await new Ve(y(this,W)).watchlistToken({tokens:t.symbol,currency:r})).filter(o=>t.isNative?o.internalId===`NATIVE-${t.symbol.toLowerCase()}`:o.platforms[t.caip2Id]===t.address),[n]=a;return n?{priceInCurrency:n.current_price??0,change24:n.price_change_percentage_24h??0,marketCap:n.market_cap??0,vol24:n.total_volume??0}:{priceInCurrency:0,change24:0,marketCap:0,vol24:0}}async getSimplePrice({coinIds:t=[],currencies:r=[coreCoingeckoSdk.VsCurrencyType.USD]}){let a,o=`getSimplePrice-${t?`${ze(t)}-${r.toString()}`:`${r.toString()}`}`;if(a=y(this,U)?.get?.(o),a)return a;try{a=await Ye(s=>this.simplePrice({coinIds:t,currencies:r,marketCap:!0,vol24:!0,change24:!0,useCoingeckoProxy:s}));}catch{a=void 0;}return y(this,U)?.set?.(o,a),a}async getPricesByAddresses(t,r,a=coreCoingeckoSdk.VsCurrencyType.USD){let n,s=`getPricesWithMarketDataByAddresses-${`${ze(t)}-${r}-${a}`}`;if(n=y(this,U)?.get?.(s),n)return n;try{n=await Ye(i=>this.fetchPricesByAddresses({assetPlatformId:r,tokenAddresses:t,currency:a,useCoingeckoProxy:i}));}catch(i){console.error(i),n=void 0;}return y(this,U)?.set?.(s,n),n}async fetchPricesByAddresses({assetPlatformId:t,tokenAddresses:r,currency:a=coreCoingeckoSdk.VsCurrencyType.USD,useCoingeckoProxy:n=!1}){if(n){let o=await new fe(y(this,W),y(this,$)).simplePriceByContractAddresses({id:t,contract_addresses:r,vs_currencies:[a],include_market_cap:!0,include_24hr_vol:!0,include_24hr_change:!0});return this.transformSimplePriceResponse(o,[a])}return coreCoingeckoSdk.simpleTokenPrice(y(this,re),{assetPlatformId:t,tokenAddresses:r,currencies:[a],marketCap:!0,vol24:!0,change24:!0})}async simplePrice({coinIds:t=[],currencies:r=[coreCoingeckoSdk.VsCurrencyType.USD],marketCap:a=!1,vol24:n=!1,change24:o=!1,lastUpdated:s=!1,useCoingeckoProxy:i=!1,shouldThrow:c=!0}){if(i){let l=await new fe(y(this,W),y(this,$)).simplePrice({ids:t,vs_currencies:r,include_market_cap:a,include_24hr_vol:n,include_24hr_change:o,include_last_updated_at:s});return this.transformSimplePriceResponse(l,r)}return coreCoingeckoSdk.simplePrice(y(this,re),{coinIds:t,currencies:r,marketCap:a,vol24:n,change24:o,lastUpdated:s,shouldThrow:c})}};U=new WeakMap,W=new WeakMap,$=new WeakMap,re=new WeakMap;zod.object({date:zod.string(),usd:zod.record(zod.number())});var u=(e,t,r,a)=>({label:e,type:vmModuleTypes.DetailItemType.CURRENCY,value:t,maxDecimals:r,symbol:a}),x=(e,t,r="horizontal")=>({label:e,alignment:r,type:vmModuleTypes.DetailItemType.TEXT,value:t});var V=(e,t)=>({label:e,type:vmModuleTypes.DetailItemType.ADDRESS,value:t}),Rt=(e,t)=>({label:e,type:vmModuleTypes.DetailItemType.ADDRESS_LIST,value:t}),A=(e,t)=>({label:e,type:vmModuleTypes.DetailItemType.NODE_ID,value:t}),Qe=(e,t)=>({label:e,type:vmModuleTypes.DetailItemType.DATA,value:t}),w=(e,t)=>({label:e,type:vmModuleTypes.DetailItemType.DATE,value:t}),Be=(e,t)=>({label:e,type:vmModuleTypes.DetailItemType.NETWORK,value:t});var j=({name:e,version:t})=>{switch(e){case vmModuleTypes.AppName.CORE_MOBILE_IOS:case vmModuleTypes.AppName.CORE_MOBILE_ANDROID:case vmModuleTypes.AppName.CORE_WEB:case vmModuleTypes.AppName.CORE_EXTENSION:case vmModuleTypes.AppName.EXPLORER:return {"x-application-name":e,"x-application-version":t};case vmModuleTypes.AppName.OTHER:return}};var Nt=process.env.GLACIER_API_KEY;var J=()=>Nt;var Kr={rltoken:J()},K,Ee,Me,Vt,Le,Bt,xe=class extends glacierSdk.FetchHttpRequest{constructor(r){super(r);v(this,Me);v(this,Le);v(this,K,0);v(this,Ee,L.exponential());}request(r){let a={...Kr,...r.query||{}},n={...r,query:Object.keys(a).length>0?a:void 0},o=()=>super.request(n);return y(this,K)>0?Ke(this,Le,Bt).call(this,o):Ke(this,Me,Vt).call(this,o)}};K=new WeakMap,Ee=new WeakMap,Me=new WeakSet,Vt=function(r){let a=r();return new glacierSdk.CancelablePromise((n,o,s)=>{s(()=>a.cancel()),a.then(i=>{S(this,K,0),n(i);}).catch(i=>{if(i instanceof glacierSdk.ApiError){let c=i.status===429,l=i.status>=500&&i.status<600;S(this,K,y(this,K)+Number(c||l));}o(i);});})},Le=new WeakSet,Bt=function(r){let a=y(this,Ee).call(this,y(this,K));return new glacierSdk.CancelablePromise((n,o,s)=>{let i=setTimeout(()=>{let c=r();s(()=>{c.cancel(),clearTimeout(i);}),c.then(n).catch(o);},a);})};var z=(e,t)=>({message:`${e}${t instanceof Error?`: ${t.message}`:""}`,data:{cause:t}});var Et={name:"Avalanche",description:"",version:"0.0.1",sources:{module:{checksum:"",location:{npm:{filePath:"dist/index.js",packageName:"@avalabs/avalanche-module",registry:"https://registry.npmjs.org"}}}},network:{chainIds:["avax:8aDU0Kqh-5d23op-B-r-4YbQFRbsgF9a","avax:YRLfeDBJpfEqUWe2FYR1OpXsnDDZeKWd","avax:Rr9hnPVPxuUvrdCul-vjEsU1zmqKqRDo","avax:Sj7NVE3jXTbJvwFAiu7OEUo_8g8ctXMG","avax:imji8papUf2EhV3le337w1vgFauqkJg-","avax:8AJTpRj3SAqv1e80Mtl9em08LhvKEbkl","avax:N5PeRoKwDDREF0awn2GPsb9sHnGRzdEX"],namespaces:["avax"]},cointype:"9000",permissions:{rpc:{dapps:!0,methods:["avalanche_sendTransaction","avalanche_signTransaction","avalanche_signMessage"],nonRestrictedMethods:[]}},manifestVersion:"0.1"};var Yr={glacierApiUrl:"https://glacier-api.avax.network",proxyApiUrl:"https://proxy-api.avax.network"},Qr={glacierApiUrl:"https://glacier-api-dev.avax.network",proxyApiUrl:"https://proxy-api-dev.avax.network"},Lt=e=>{switch(e){case vmModuleTypes.Environment.PRODUCTION:return Yr;case vmModuleTypes.Environment.DEV:return Qr}};var Zr=zod.z.object({transactionHex:zod.z.string(),chainAlias:zod.z.enum(["X","P","C"]),externalIndices:zod.z.number().array().optional(),internalIndices:zod.z.number().array().optional(),utxos:zod.z.string().array().optional()}),Ut=e=>Zr.safeParse(e);var D=async({isTestnet:e,customRpcHeaders:t})=>{let r=t?{headers:t}:void 0;return e?coreWalletsSdk.Avalanche.JsonRpcProvider.getDefaultFujiProvider(r):coreWalletsSdk.Avalanche.JsonRpcProvider.getDefaultMainnetProvider(r)};var Ue=({utxoHexes:e=[],vm:t})=>{try{let r=avalanchejs.utils.getManagerForVM(t).getDefaultCodec();return e.map(a=>{let n=avalanchejs.utils.hexToBuffer(a);return avalanchejs.Utxo.fromBytes(n,r)[0]})}catch{return []}};var _e=e=>{switch(e.type){case vmModuleTypes.TxType.AddPermissionlessDelegator:case vmModuleTypes.TxType.AddPermissionlessValidator:case vmModuleTypes.TxType.AddSubnetValidator:case vmModuleTypes.TxType.CreateChain:case vmModuleTypes.TxType.CreateSubnet:case vmModuleTypes.TxType.RemoveSubnetValidator:return e;case vmModuleTypes.TxType.ConvertSubnetToL1:case vmModuleTypes.TxType.SetL1ValidatorWeight:case vmModuleTypes.TxType.DisableL1Validator:case vmModuleTypes.TxType.IncreaseL1ValidatorBalance:case vmModuleTypes.TxType.RegisterL1Validator:return {...e,chain:e.chain};case vmModuleTypes.TxType.Export:return {...e,type:vmModuleTypes.TxType.Export,chain:e.chain,destination:e.destination};case vmModuleTypes.TxType.Import:return {...e,type:vmModuleTypes.TxType.Import,chain:e.chain,source:e.source};case vmModuleTypes.TxType.Base:return {...e,type:vmModuleTypes.TxType.Base,chain:e.chain};default:return}};var Ot=e=>{switch(e.type){case vmModuleTypes.TxType.AddPermissionlessDelegator:return "Do you want to add this delegator?";case vmModuleTypes.TxType.AddPermissionlessValidator:return "Do you want to add this validator?";case vmModuleTypes.TxType.Export:return "Do you approve this export?";case vmModuleTypes.TxType.Import:return "Do you approve this import?";case vmModuleTypes.TxType.Base:return "Do you approve this transaction?";case vmModuleTypes.TxType.AddSubnetValidator:return "Do you want to add this subnet validator?";case vmModuleTypes.TxType.CreateChain:return "Do you want to create this chain?";case vmModuleTypes.TxType.CreateSubnet:return "Do you want to create this L1?";case vmModuleTypes.TxType.RemoveSubnetValidator:return "Do you want to remove this subnet validator?";case vmModuleTypes.TxType.ConvertSubnetToL1:return "Do you want to convert this subnet?";case vmModuleTypes.TxType.DisableL1Validator:return "Do you want to disable this validator?";case vmModuleTypes.TxType.IncreaseL1ValidatorBalance:return "Do you want to increase this validator balance?";case vmModuleTypes.TxType.RegisterL1Validator:return "Do you want to register this validator?";case vmModuleTypes.TxType.SetL1ValidatorWeight:return "Do you want to set this validator weight?";default:return "Sign Message"}};var Ze=async({indices:e,chainAlias:t,isChange:r,isTestnet:a,xpubXP:n,externalXPAddresses:o,customRpcHeaders:s})=>{if(n){let i=await D({isTestnet:a,customRpcHeaders:s});return e.map(c=>coreWalletsSdk.Avalanche.getAddressFromXpub(n,c,i,t,r))}return o&&Array.isArray(o)?e.map(c=>o.find(l=>l.index===c)).filter(c=>c!==void 0).map(c=>c.address):[]};var et=e=>e.type===vmModuleTypes.TxType.AddPermissionlessDelegator,tt=e=>e.type===vmModuleTypes.TxType.AddPermissionlessValidator,rt=e=>e.type===vmModuleTypes.TxType.Export,at=e=>e.type===vmModuleTypes.TxType.Import,ra=e=>e.type===vmModuleTypes.TxType.Base,nt=e=>e.type===vmModuleTypes.TxType.AddSubnetValidator,aa=e=>e.type===vmModuleTypes.TxType.CreateChain,na=e=>e.type===vmModuleTypes.TxType.CreateSubnet,ot=e=>e.type===vmModuleTypes.TxType.RemoveSubnetValidator,Ht=e=>e.type===vmModuleTypes.TxType.ConvertSubnetToL1,Xt=e=>e.type===vmModuleTypes.TxType.DisableL1Validator,Gt=e=>e.type===vmModuleTypes.TxType.IncreaseL1ValidatorBalance,qt=e=>e.type===vmModuleTypes.TxType.RegisterL1Validator,Wt=e=>e.type===vmModuleTypes.TxType.SetL1ValidatorWeight,no=e=>et(e)||tt(e)||nt(e)||ot(e),oo=e=>rt(e)||at(e),$t=e=>ra(e),jt=e=>aa(e),Jt=e=>na(e);var B=(a=>(a.AVM="X-Chain",a.PVM="P-Chain",a.EVM="C-Chain",a))(B||{});var st=({tx:e,symbol:t,network:r,signerAccount:a})=>{let n=[],{txFee:o,nodeID:s,start:i,end:c,stake:l}=e,m={items:[V("Account",a),Be("Network",{name:r.chainName,logoUri:r.logoUri})]};n.push(m);let p=[A("Node",s),u("Stake Amount",l,9,t),w("Start",i),w("End",c)];return n.push({title:"Staking Details",items:p}),o&&n.push({title:"Network Fee",items:[u("Fee Amount",o,9,t)]}),n};var it=({tx:e,symbol:t,network:r,signerAccount:a})=>{let n=[],{txFee:o,nodeID:s,delegationFee:i,start:c,end:l,stake:m}=e,p={items:[V("Account",a),Be("Network",{name:r.chainName,logoUri:r.logoUri})]};n.push(p);let d=[A("Node",s)];return d.push(u("Stake Amount",m,9,t),x("Delegation Fee",`${i/1e4} %`),w("Start",c),w("End",l)),n.push({title:"Staking Details",items:d}),o&&n.push({title:"Network Fee",items:[u("Fee Amount",o,9,t)]}),n};var ct=(e,t)=>{let r=[],{txFee:a,nodeID:n,start:o,end:s,subnetID:i}=e,c=[A("Subnet ID",i),A("Node ID",n),w("Start Date",o),w("End Date",s)];return r.push({title:"Staking Details",items:c}),a&&r.push({title:"Network Fee",items:[u("Fee Amount",a,9,t)]}),r};var lt=(e,t)=>{let r=[],{txFee:a,chainID:n,managerAddress:o,subnetID:s,validators:i}=e,c=[A("Subnet ID",s),A("Chain ID",n),V("Manager Address",o)];return r.push({title:"L1 Details",items:c}),i.forEach(({balance:l,stake:m,nodeId:p,remainingBalanceOwners:d,deactivationOwners:g},f)=>{let T=[A("Node ID",p),u("Balance",l,9,t),u("Stake",m,9,t)];g.length>0&&T.push(x(`${g.length>1?"Owners":"Owner"} Able to Deactivate`,g.join(`
|
|
20
|
-
`),"vertical")),
|
|
21
|
-
`),"vertical")),r.push({title:f===0?"Validators":void 0,items:T});}),a&&r.push({title:"Network Fee",items:[u("Fee Amount",a,9,t)]}),r};var pt=(e,t)=>{let r=[],{txFee:a,amount:n,chain:o,destination:s,type:i}=e;return r.push({items:[x("Source Chain",`Avalanche ${B[o]}`),x("Target Chain",`Avalanche ${B[s]}`)]}),r.push({items:[x("Transaction Type",i?(i[0]||"").toUpperCase()+i.slice(1):""),u("Amount",n,9,t)]}),a&&r.push({title:"Network Fee",items:[u("Fee Amount",a,9,t)]}),r};var mt=(e,t)=>{let r=[],{txFee:a,amount:n,chain:o,source:s,type:i}=e;return r.push({items:[x("Source Chain",`Avalanche ${B[s]}`),x("Destination Chain",`Avalanche ${B[o]}`)]}),r.push({items:[x("Transaction Type",i?(i[0]||"").toUpperCase()+i.slice(1):""),u("Amount",n,9,t)]}),a&&r.push({title:"Network Fee",items:[u("Fee Amount",a,9,t)]}),r};var dt=(e,t)=>{let r=[],{txFee:a,nodeID:n,subnetID:o}=e,s=[A("Node ID",n),A("Subnet ID",o)];return r.push({title:"Staking Details",items:s}),a&&r.push({title:"Network Fee",items:[u("Fee Amount",a,9,t)]}),r};var ut=(e,t)=>{let r=[],{txFee:a,chain:n,outputs:o,memo:s}=e;return r.push({title:"Chain Details",items:[x("Active chain",`Avalanche ${B[n]}`)]}),o.forEach((i,c)=>{let l=i.owners.flatMap(m=>[V("To",m),u("Amount",i.amount,9,t)]);i.owners.length>1&&l.push(x("Threshold",i.threshold.toString())),r.push({title:c===0?"Balance Change":void 0,items:l});}),n!==avalanchejs.PVM&&s&&r.push({title:"Memo",items:[s]}),a&&r.push({title:"Network Fee",items:[u("Fee Amount",a,9,t)]}),r};var ht=(e,t)=>{let r=[],{txFee:a,threshold:n,controlKeys:o}=e;return r.push({title:"L1 Details",items:[Rt(o.length>1?"Owners":"Owner",o),x("Signature Threshold",`${n}/${o.length}`,"horizontal")]}),a&&r.push({title:"Network Fee",items:[u("Fee Amount",a,9,t)]}),r};var sa=e=>{try{let t=JSON.parse(e);return JSON.stringify(t,null,2)}catch(t){return console.error("Failed to format genesis data:",t),e}},gt=(e,t)=>{let r=[],{txFee:a,chainID:n,chainName:o,vmID:s,genesisData:i}=e,c=[x("Blockchain name",o,"vertical"),x("Blockchain ID",n,"vertical"),x("Virtual Machine ID",s,"vertical"),Qe("Genesis Data",sa(i))];return r.push({title:"Blockchain Details",items:c}),a&&r.push({title:"Network Fee",items:[u("Fee Amount",a,9,t)]}),r};var ft=(e,t)=>{let r=[],{txFee:a,validationId:n}=e,o=[A("Validation ID",n)];return r.push({title:"L1 Details",items:o}),a&&r.push({title:"Network Fee",items:[u("Fee Amount",a,9,t)]}),r};var yt=(e,t)=>{let r=[],{txFee:a,balance:n,validationId:o}=e,s=[A("Validation ID",o),u("Increase by amount",n,9,t)];return r.push({title:"L1 Details",items:s}),a&&r.push({title:"Network Fee",items:[u("Fee Amount",a,9,t)]}),r};var xt=(e,t)=>{let r=[],{txFee:a,balance:n}=e,o=[u("Initial balance",n,9,t)];return r.push({title:"L1 Details",items:o}),a&&r.push({title:"Network Fee",items:[u("Fee Amount",a,9,t)]}),r};var Tt=(e,t)=>{let r=[],{txFee:a}=e;return a&&r.push({title:"Network Fee",items:[u("Fee Amount",a,9,t)]}),r};var Fe=(e,t,r)=>{if($t(e))return ut(e,t);if(rt(e))return pt(e,t);if(at(e))return mt(e,t);if(Jt(e))return ht(e,t);if(et(e)){if(!r)throw new Error("context (network, signerAccount) is required for AddPermissionlessDelegator");return st({tx:e,symbol:t,network:r.network,signerAccount:r.signerAccount})}else if(tt(e)){if(!r)throw new Error("context (network, signerAccount) is required for AddPermissionlessValidator");return it({tx:e,symbol:t,network:r.network,signerAccount:r.signerAccount})}else {if(jt(e))return gt(e,t);if(nt(e))return ct(e,t);if(ot(e))return dt(e,t);if(Ht(e))return lt(e,t);if(Xt(e))return ft(e,t);if(Gt(e))return yt(e,t);if(qt(e))return xt(e,t);if(Wt(e))return Tt(e,t)}};var Yt=e=>e.chainInfo.chainName===glacierSdk.PrimaryNetworkChainName.P_CHAIN,Qt=e=>e.chainInfo.chainName===glacierSdk.PrimaryNetworkChainName.X_CHAIN;function oe(e,t,r="tx"){return `${e}/${r}/${t}`}function Y({amount:e,decimals:t}){return e===void 0?new O__default.default(0):new O__default.default(e/10**t)}var ia=zod.z.object({currentAddress:zod.z.string({required_error:"No active account found"}),currentEvmAddress:zod.z.string().optional(),xpubXP:zod.z.string({invalid_type_error:"xpubXP must be a string"}).optional()}),ca=zod.z.object({account:zod.z.object({xpAddress:zod.z.string({required_error:"XP address is required",invalid_type_error:"XP address must be a string"}),evmAddress:zod.z.string().optional(),xpubXP:zod.z.string({invalid_type_error:"xpubXP must be a string"}).optional(),externalXPAddresses:zod.z.array(zod.z.object({index:zod.z.number(),address:zod.z.string()}))})}),la=e=>({xpAddress:e.currentAddress,evmAddress:e.currentEvmAddress,xpubXP:e.xpubXP,externalXPAddresses:[]}),pa=e=>e.account,ma=e=>e!=null&&typeof e=="object"&&"account"in e&&e.account!=null&&typeof e.account=="object",Oe=e=>{if(!e)return {success:!1,error:"Missing Avalanche transaction context"};if(ma(e)){let{success:n,data:o,error:s}=ca.safeParse(e);return n?{success:!0,data:pa(o)}:{success:!1,error:s.errors[0]?.message||"Invalid or missing Avalanche transaction context"}}let{success:t,data:r,error:a}=ia.safeParse(e);return t?{success:!0,data:la(r)}:{success:!1,error:a.errors[0]?.message||"Invalid or missing Avalanche transaction context"}};var er=async({request:e,network:t,approvalController:r,glacierApiUrl:a,appInfo:n})=>{let o=Ut(e.params);if(!o.success)return {error:rpcErrors.rpcErrors.invalidParams(z("Transaction params are invalid",o.error))};try{let{transactionHex:s,chainAlias:i,externalIndices:c,internalIndices:l,utxos:m}=o.data,p=coreWalletsSdk.Avalanche.getVmByChainAlias(i),d=avalanchejs.utils.hexToBuffer(s),g=t.isTestnet??!1,f=await D({isTestnet:g,customRpcHeaders:t.customRpcHeaders}),T=Oe(e.context);if(!T.success)return {error:rpcErrors.rpcErrors.invalidParams(T.error)};let{xpAddress:k,xpubXP:E,externalXPAddresses:N}=T.data,me=Ue({utxoHexes:m,vm:p}),Z=me.length?me:await coreWalletsSdk.Avalanche.getUtxosByTxFromGlacier({transactionHex:s,chainAlias:i,network:g?glacierSdk.Network.FUJI:glacierSdk.Network.MAINNET,url:a,token:J(),headers:j(n)}),ee;if(i==="C")ee=await coreWalletsSdk.Avalanche.createAvalancheEvmUnsignedTx({txBytes:d,vm:p,utxos:Z,fromAddress:k});else {let ge=avalanchejs.utils.unpackWithManager(p,d);if(E!==void 0&&typeof E!="string")return {error:rpcErrors.rpcErrors.invalidParams("xpubXP must be a string")};let je=await Ze({indices:c??[],chainAlias:i,isChange:!1,isTestnet:g,xpubXP:E,externalXPAddresses:N,customRpcHeaders:t.customRpcHeaders}),Br=await Ze({indices:l??[],chainAlias:i,isChange:!0,isTestnet:g,xpubXP:E,externalXPAddresses:N,customRpcHeaders:t.customRpcHeaders}),Er=[...new Set([k,...je,...Br])].map(Mr=>avalanchejs.utils.parse(Mr)[2]);ee=await coreWalletsSdk.Avalanche.createAvalancheUnsignedTx({tx:ge,utxos:Z,provider:f,fromAddressBytes:Er});}let de=await coreWalletsSdk.Avalanche.parseAvalancheTx(ee,f,k),Ce=_e(de),ue=Ot(de);if(de.type==="unknown"||Ce===void 0)return {error:rpcErrors.rpcErrors.internal("Unable to parse transaction data. Unsupported tx type")};let Re={type:vmModuleTypes.RpcMethod.AVALANCHE_SEND_TRANSACTION,unsignedTxJson:JSON.stringify(ee.toJSON()),data:de,vm:p,externalIndices:c,internalIndices:l},Ne=Fe(Ce,t.networkToken.symbol,{network:t,signerAccount:k});if(Ne===void 0)return {error:rpcErrors.rpcErrors.internal("Unable to parse transaction display data. Unsupported tx type")};let we={title:ue,network:{chainId:t.chainId,name:t.chainName,logoUri:t.logoUri},details:Ne,networkFeeSelector:!1},he=await r.requestApproval({request:e,displayData:we,signingData:Re});if("error"in he)return {error:he.error};let M;try{M=await ga(f,he,p);}catch(ge){return {error:rpcErrors.rpcErrors.internal(z("Unable to broadcast transaction",ge))}}return fa({explorerUrl:t.explorerUrl??"",provider:f,txHash:M,vm:p,onTransactionPending:r.onTransactionPending,onTransactionConfirmed:r.onTransactionConfirmed,onTransactionReverted:r.onTransactionReverted,request:e}),{result:M}}catch(s){return console.error(s),{error:rpcErrors.rpcErrors.internal(z("Unable to create transaction",s))}}},ga=async(e,t,r)=>{if("txHash"in t)return t.txHash;let{txID:a}=await e.issueTxHex(t.signedData,r);return a},fa=async({explorerUrl:e,provider:t,txHash:r,vm:a,onTransactionPending:n,onTransactionConfirmed:o,onTransactionReverted:s,request:i})=>{let l=oe(e,r);try{n({txHash:r,request:i,explorerLink:l}),a===avalanchejs.PVM?(await G({operation:()=>t.getApiP().getTxStatus({txID:r}),isSuccess:p=>["Committed","Dropped"].includes(p.status),maxRetries:7})).status==="Committed"?o({txHash:r,explorerLink:l,request:i}):s({txHash:r,request:i}):a===avalanchejs.AVM?(await G({operation:()=>t.getApiX().getTxStatus({txID:r}),isSuccess:p=>["Accepted","Rejected"].includes(p.status),maxRetries:7})).status==="Accepted"?o({txHash:r,explorerLink:l,request:i}):s({txHash:r,request:i}):(await G({operation:()=>t.getApiC().getAtomicTxStatus(r),isSuccess:p=>["Accepted","Dropped"].includes(p.status),maxRetries:7})).status==="Accepted"?o({txHash:r,explorerLink:l,request:i}):s({txHash:r,request:i});}catch(m){console.error(m),m instanceof Error&&m.message.startsWith("Max retry exceeded.")||s({txHash:r,request:i});}};var ya=zod.z.union([zod.z.tuple([zod.z.string()]).describe("message to sign"),zod.z.tuple([zod.z.string().describe("message to sign"),zod.z.number().nonnegative().describe("account index")])]),tr=e=>ya.safeParse(e);var ar=async({request:e,network:t,approvalController:r})=>{let a=tr(e.params);if(!a.success)return console.error("invalid params",a.error),{error:rpcErrors.rpcErrors.invalidParams(z("Params are invalid",a.error))};let[n,o]=a.data,s=Buffer.from(n,"utf-8").toString("hex"),i={type:vmModuleTypes.RpcMethod.AVALANCHE_SIGN_MESSAGE,data:s,accountIndex:o},c={title:"Sign Message",dAppInfo:{name:e.dappInfo.name,action:`${e.dappInfo.name} is requesting to sign the following message`,logoUri:e.dappInfo.icon},network:{chainId:t.chainId,name:t.chainName,logoUri:t.logoUri},details:[{title:"Message",items:[n]}]},l=await r.requestApproval({request:e,displayData:c,signingData:i});return "error"in l?{error:l.error}:"signedData"in l?{result:l.signedData}:{error:rpcErrors.rpcErrors.internal("No signed data returned")}};var Ta=zod.z.object({from:zod.z.string().optional().describe("Avalanche receiving address"),transactionHex:zod.z.string(),chainAlias:zod.z.enum(["X","P","C"]),utxos:zod.z.string().array().optional()}),nr=e=>Ta.safeParse(e);var cr=async({vm:e,txBytes:t,utxos:r,currentAddress:a,currentEvmAddress:n,provider:o})=>{let s,i,c=avalanchejs.utils.unpackWithManager(e,t);if(avalanchejs.evmSerial.isExportTx(c)){let l=c.ins[0]?.address.toHex();if(!n)throw rpcErrors.rpcErrors.invalidRequest("Missing EVM address");if(l?.toLowerCase()!==n.toLowerCase())throw new Error("This account has nothing to sign");return coreWalletsSdk.Avalanche.createAvalancheEvmUnsignedTx({txBytes:t,vm:e,utxos:r,fromAddress:a})}try{let m=avalanchejs.utils.getManagerForVM(e).unpack(t,avalanchejs.avaxSerial.SignedTx);avalanchejs.evmSerial.isImportTx(c)?i=await coreWalletsSdk.Avalanche.createAvalancheEvmUnsignedTx({txBytes:t,vm:e,utxos:r,fromAddress:a}):i=await coreWalletsSdk.Avalanche.createAvalancheUnsignedTx({tx:c,provider:o,credentials:m.getCredentials(),utxos:r}),s=c.getSigIndices().map((p,d)=>new avalanchejs.Credential(coreWalletsSdk.Avalanche.populateCredential(p,{unsignedTx:i,credentialIndex:d})));}catch{s=c.getSigIndices().map(m=>new avalanchejs.Credential(coreWalletsSdk.Avalanche.populateCredential(m)));}return coreWalletsSdk.Avalanche.createAvalancheUnsignedTx({tx:c,provider:o,credentials:s,utxos:r})};var pr=async({request:e,network:t,approvalController:r,glacierApiUrl:a,appInfo:n})=>{let o=nr(e.params);if(!o.success)return console.error("invalid params",o.error),{error:rpcErrors.rpcErrors.invalidParams("Params are invalid")};let{transactionHex:s,chainAlias:i,from:c,utxos:l}=o.data,m=coreWalletsSdk.Avalanche.getVmByChainAlias(i),p=t.isTestnet??!1,d=await D({isTestnet:p,customRpcHeaders:t.customRpcHeaders}),g=Oe(e.context);if(!g.success)return {error:rpcErrors.rpcErrors.invalidParams(g.error)};let{xpAddress:f,evmAddress:T}=g.data,k=Ue({utxoHexes:l,vm:m}),E=k.length?k:await coreWalletsSdk.Avalanche.getUtxosByTxFromGlacier({transactionHex:s,chainAlias:i,network:p?glacierSdk.Network.FUJI:glacierSdk.Network.MAINNET,url:a,token:J(),headers:j(n)}),N=await cr({txBytes:avalanchejs.utils.hexToBuffer(s),vm:m,utxos:E,currentAddress:f,currentEvmAddress:T,provider:d}),me=avalanchejs.utils.addressesFromBytes([avalanchejs.utils.parse(c??f)[2]])[0];if(!me)return {error:rpcErrors.rpcErrors.invalidRequest("Missing signer address")};let Z=N.getSigIndicesForAddress(me);if(!Z)return {error:rpcErrors.rpcErrors.invalidRequest("This account has nothing to sign")};let ee=N.getSigIndices();if(!Z.some(([ge,je])=>ee[ge]?.includes(je)))return {error:rpcErrors.rpcErrors.invalidRequest("This account has nothing to sign")};let Ce=c??f,ue=await coreWalletsSdk.Avalanche.parseAvalancheTx(N,d,c??f),Re=_e(ue);if(ue.type==="unknown"||Re===void 0)return {error:rpcErrors.rpcErrors.invalidParams("Unable to parse transaction data. Unsupported tx type")};let Ne={type:vmModuleTypes.RpcMethod.AVALANCHE_SIGN_TRANSACTION,data:ue,vm:m,unsignedTxJson:JSON.stringify(N.toJSON()),ownSignatureIndices:Z},we=Fe(Re,t.networkToken.symbol,{network:t,signerAccount:Ce});if(we===void 0)return {error:rpcErrors.rpcErrors.internal("Unable to parse transaction display data. Unsupported tx type")};let he={title:"Do you approve this transaction?",dAppInfo:{name:e.dappInfo.name,action:`${e.dappInfo.name} requests you to sign the following transaction`,logoUri:e.dappInfo.icon},network:{chainId:t.chainId,name:t.chainName,logoUri:t.logoUri},details:we},M=await r.requestApproval({request:e,displayData:he,signingData:Ne});return "error"in M?{error:M.error}:"signedData"in M?{result:M.signedData}:{error:rpcErrors.rpcErrors.invalidRequest("No signed data returned")}};var ve=({accountIndex:e,derivationPathType:t,addressIndex:r=0})=>{if(e<0)throw rpcErrors.rpcErrors.invalidParams("Account index must be a non-negative integer");if(r!==void 0&&r<0)throw rpcErrors.rpcErrors.invalidParams("Address index must be a non-negative integer");switch(t){case"bip44":return {[vmModuleTypes.NetworkVMType.AVM]:`m/44'/9000'/${e}'/0/${r}`,[vmModuleTypes.NetworkVMType.CoreEth]:`m/44'/60'/0'/0/${e}`};case"ledger_live":return {[vmModuleTypes.NetworkVMType.AVM]:`m/44'/9000'/${e}'/0/${r}`,[vmModuleTypes.NetworkVMType.CoreEth]:`m/44'/60'/${e}'/0/0`};default:throw rpcErrors.rpcErrors.invalidParams(`Unsupported derivation path type: ${t}`)}};var kt=e=>"derivationPathType"in e&&"accountIndex"in e&&typeof e.accountIndex=="number"&&typeof e.derivationPathType=="string";var mr=async e=>{let{approvalController:t,network:r,secretId:a}=e,n=kt(e)?ve(e).AVM:void 0,o=kt(e)?ve(e).CoreEth:void 0,s=await D({isTestnet:!!r.isTestnet,customRpcHeaders:r.customRpcHeaders}),i=await t.requestPublicKey({curve:"secp256k1",secretId:a,derivationPath:n}).catch(()=>null),c=await t.requestPublicKey({curve:"secp256k1",secretId:a,derivationPath:o}).catch(()=>null),l=c?{[vmModuleTypes.NetworkVMType.CoreEth]:s.getAddress(Buffer.from(c,"hex"),"C")}:{},m=i?{[vmModuleTypes.NetworkVMType.AVM]:s.getAddress(Buffer.from(i,"hex"),"X"),[vmModuleTypes.NetworkVMType.PVM]:s.getAddress(Buffer.from(i,"hex"),"P")}:{};return {...l,...m}};var hr=async({accountIndex:e,xpubXP:t,walletType:r,network:a})=>{let n=!!a?.isTestnet;if(t===void 0)throw rpcErrors.rpcErrors.invalidParams("xpubXP is required to get address");let o=await D({isTestnet:n,customRpcHeaders:a?.customRpcHeaders}),s;switch(r){case vmModuleTypes.WalletType.Mnemonic:case vmModuleTypes.WalletType.Ledger:case vmModuleTypes.WalletType.Keystone:{s=coreWalletsSdk.Avalanche.getAddressPublicKeyFromXpub(t,e);break}case vmModuleTypes.WalletType.LedgerLive:case vmModuleTypes.WalletType.Seedless:{s=Buffer.from(t,"hex");break}default:throw rpcErrors.rpcErrors.invalidParams(`Unsupported wallet type: ${r}`)}return {[vmModuleTypes.NetworkVMType.AVM]:o.getAddress(s,"X"),[vmModuleTypes.NetworkVMType.PVM]:o.getAddress(s,"P")}};var Xe=class extends Error{constructor(){super(...arguments);X(this,"message","Glacier is unhealthy. Try again later.");}},Ge=class{constructor({glacierApiUrl:t,headers:r}){X(this,"glacierSdk");X(this,"isGlacierHealthy",!0);X(this,"isHealthy",()=>this.isGlacierHealthy);this.glacierSdk=new glacierSdk.Glacier({BASE:t,HEADERS:r},xe);}setGlacierToUnhealthy(){this.isGlacierHealthy=!1,setTimeout(()=>{this.isGlacierHealthy=!0;},5*60*1e3);}async listLatestPrimaryNetworkTransactions(t){try{return this.glacierSdk.primaryNetworkTransactions.listLatestPrimaryNetworkTransactions(t)}catch(r){throw r instanceof Xe&&this.setGlacierToUnhealthy(),r}}async getChainBalance(t){try{return this.glacierSdk.primaryNetworkBalances.getBalancesByAddresses(t)}catch(r){throw r instanceof Xe&&this.setGlacierToUnhealthy(),r}}};var gr=e=>Object.keys(e).includes("unlockedUnstaked"),fr=e=>Object.keys(e).includes("locked");function qe(e,t){let r=Object.values(e).reduce(function(a,n){let o=n.reduce(function(s,i){if(i.assetId!==t)return s;let c=Number(i.amount);return s+c},0);return a+o},0);return BigInt(r)}var xr=({balance:e,networkToken:t,priceInCurrency:r,marketCap:a,vol24:n,change24:o,coingeckoId:s,avaxAssetId:i})=>{let c={},l={unlockedUnstaked:e.unlockedUnstaked,unlockedStaked:e.unlockedStaked,pendingStaked:e.pendingStaked,lockedStaked:e.lockedStaked,lockedStakeable:e.lockedStakeable,lockedPlatform:e.lockedPlatform,atomicMemoryLocked:e.atomicMemoryLocked,atomicMemoryUnlocked:e.atomicMemoryUnlocked};for(let f in l){let T=l[f];if(!T||!T.length){c[f]=0n;continue}T.forEach(k=>{if(k.assetId!==i)return;let N=(c[f]??0n)+BigInt(k.amount);c[f]=N;});}let m=new coreUtilsSdk.TokenUnit(c.unlockedUnstaked?c.unlockedUnstaked:0n,t.decimals,t.symbol),p=r?m.mul(r).toDisplay({fixedDp:2,asNumber:!0}):void 0,d=new coreUtilsSdk.TokenUnit(qe(e,i),t.decimals,t.symbol),g=r?d.mul(r).toDisplay({fixedDp:2,asNumber:!0}):void 0;return {...t,type:vmModuleTypes.TokenType.NATIVE,priceInCurrency:r,balance:d.toSubUnit(),balanceInCurrency:g,balanceDisplayValue:d.toDisplay(),balanceCurrencyDisplayValue:g?.toFixed(2),available:m.toSubUnit(),availableInCurrency:p,availableDisplayValue:m.toDisplay(),availableCurrencyDisplayValue:p?.toFixed(2),utxos:e,balancePerType:{lockedStaked:c.lockedStaked,lockedStakeable:c.lockedStakeable,lockedPlatform:c.lockedPlatform,atomicMemoryLocked:c.atomicMemoryLocked,atomicMemoryUnlocked:c.atomicMemoryUnlocked,unlockedUnstaked:c.unlockedUnstaked,unlockedStaked:c.unlockedStaked,pendingStaked:c.pendingStaked},marketCap:a,vol24:n,change24:o,coingeckoId:s}};var Ar=({balance:e,networkToken:t,priceInCurrency:r,marketCap:a,vol24:n,change24:o,coingeckoId:s,avaxAssetId:i})=>{let c={},l={unlocked:e.unlocked,locked:e.locked,atomicMemoryUnlocked:e.atomicMemoryUnlocked,atomicMemoryLocked:e.atomicMemoryLocked};for(let f in l){let T=l[f];if(!T||!T.length){c[f]=0n;continue}T.forEach(k=>{if(k.assetId!==i)return;let N=(c[f]??0n)+BigInt(k.amount);c[f]=N;});}let m=new coreUtilsSdk.TokenUnit(c.unlocked?c.unlocked:0n,t.decimals,t.symbol),p=r?m.mul(r).toDisplay({fixedDp:2,asNumber:!0}):void 0,d=new coreUtilsSdk.TokenUnit(qe(e,i),t.decimals,t.symbol),g=r!==void 0?d.mul(r):void 0;return {...t,coingeckoId:s,type:vmModuleTypes.TokenType.NATIVE,priceInCurrency:r,balance:d.toSubUnit(),balanceInCurrency:g?.toDisplay({fixedDp:2,asNumber:!0}),balanceDisplayValue:d.toDisplay(),balanceCurrencyDisplayValue:g?.toDisplay({fixedDp:2}),available:m.toSubUnit(),availableInCurrency:p,availableDisplayValue:m.toDisplay(),availableCurrencyDisplayValue:p?.toFixed(2),utxos:e,balancePerType:{unlocked:c.unlocked,locked:c.locked,atomicMemoryUnlocked:c.atomicMemoryUnlocked,atomicMemoryLocked:c.atomicMemoryLocked},marketCap:a,vol24:n,change24:o}};var Dr=async({addresses:e,currency:t,network:r,glacierService:a,tokenService:n})=>{let o=await D({isTestnet:!!r.isTestnet,customRpcHeaders:r.customRpcHeaders});if(!a.isHealthy())return Promise.reject("Glacier is unhealthy. Try again later.");let i=t.toLowerCase(),c=e[0]??"",l=r.networkToken,m=r.pricingProviders?.coingecko.nativeTokenId,p=r.vmName===vmModuleTypes.NetworkVMType.PVM?glacierSdk.BlockchainId.P_CHAIN:glacierSdk.BlockchainId.X_CHAIN,d=r.isTestnet?glacierSdk.Network.FUJI:glacierSdk.Network.MAINNET,g=await a.getChainBalance({blockchainId:p,network:d,addresses:e.join(",")}).then(k=>k.balances),f=await n.getWatchlistDataForToken({tokenDetails:{symbol:r.networkToken.symbol,isNative:!0,caip2Id:r.caipId??""},currency:i}),T;return gr(g)?(T=xr({balance:g,networkToken:l,priceInCurrency:f.priceInCurrency??void 0,marketCap:f.marketCap??void 0,vol24:f.vol24??void 0,change24:f.change24??void 0,coingeckoId:m??"",avaxAssetId:o.getContext().avaxAssetID}),{[c]:{[l.symbol]:T}}):fr(g)?(T=Ar({balance:g,networkToken:l,priceInCurrency:f.priceInCurrency??void 0,marketCap:f.marketCap??void 0,vol24:f.vol24??void 0,change24:f.change24??void 0,coingeckoId:m??"",avaxAssetId:o.getContext().avaxAssetID}),{[c]:{[l.symbol]:T}}):Promise.reject("Incorrect type balance was returned from glacier")};async function kr({isTestnet:e,vmName:t,customRpcHeaders:r}){let a=await D({isTestnet:e,customRpcHeaders:r});if(t===vmModuleTypes.NetworkVMType.AVM)return {baseFee:BigInt(1e6),low:{maxFeePerGas:BigInt(1e6)},medium:{maxFeePerGas:BigInt(1e6)},high:{maxFeePerGas:BigInt(1e6)},isFixedFee:!0};let{price:n}=await a.getApiP().getFeeState(),o=100/Number(n)/100,s=Math.min(1,Math.max(o,.15)),i=Math.min(1,Math.max(o*2,.3)),c=1+s,l=1+i;return {baseFee:n,low:{maxFeePerGas:n},medium:{maxFeePerGas:n*BigInt(Math.round(100*c))/100n},high:{maxFeePerGas:n*BigInt(Math.round(100*l))/100n},isFixedFee:!1}}function Pr({tx:e,address:t,networkToken:r,chainId:a,explorerUrl:n,isTestnet:o}){let s=new Set(e.consumedUtxos.flatMap(d=>d.addresses)||[]),i=new Set(e.emittedUtxos.flatMap(d=>d.addresses)||[]),c=Na({tx:e,isTestnet:o,networkToken:r,froms:s}),l=wa({tx:e,isTestnet:o,networkToken:r}),m=t.toLowerCase().startsWith("p-")?t.slice(2):t,p=s.has(m);return {hash:e.txHash,isContractCall:!1,isIncoming:!p,isOutgoing:p,from:[...s.values()].join(","),to:[...i.values()].join(","),isSender:p,timestamp:e.blockTimestamp*1e3,tokens:[{decimal:r.decimals.toString(),name:r.name,symbol:r.symbol,type:vmModuleTypes.TokenType.NATIVE,amount:c.toString()}],gasUsed:l.toString(),explorerLink:oe(n??"",e.txHash,"tx"),txType:e.txType,chainId:a.toString()}}function Na({tx:e,isTestnet:t,networkToken:r,froms:a}){let n=["ImportTx","ExportTx"].includes(e.txType),o=e.txType==="BaseTx",s=e.emittedUtxos.filter(d=>d.asset.assetId===De(!!t)&&!d.addresses.some(g=>a.has(g))).reduce((d,g)=>d.add(g.asset.amount),new O__default.default(0)),i=e.value.find(d=>d.assetId===De(!!t))?.amount,c=s.gt(new O__default.default(0))?s:i?new O__default.default(i):new O__default.default(0)??new O__default.default(0),l=t?coreWalletsSdk.Avalanche.FujiContext.pBlockchainID:coreWalletsSdk.Avalanche.MainnetContext.pBlockchainID,m=e.emittedUtxos.filter(d=>d.asset.assetId===De(!!t)&&(e.txType==="ImportTx"&&d.consumedOnChainId===l||e.txType==="ExportTx"&&d.consumedOnChainId!==l)).reduce((d,g)=>d.add(g.amount),new O__default.default(0)),p=o?c:n?m:e.amountStaked.length===0?Sr(e.value,!!t):Sr(e.amountStaked,!!t);return Y({amount:p?.toNumber(),decimals:r.decimals})}function wa({tx:e,isTestnet:t,networkToken:r}){let a=e.amountBurned?.filter(n=>n.assetId===De(!!t)).reduce((n,o)=>n.add(o.amount),new O__default.default(0));return Y({amount:a?.toNumber(),decimals:r.decimals})}function Sr(e,t){return e.filter(r=>r.assetId===De(t)).reduce((r,a)=>r.add(a.amount),new O__default.default(0))}function De(e){return e?coreWalletsSdk.Avalanche.FujiContext.avaxAssetID:coreWalletsSdk.Avalanche.MainnetContext.avaxAssetID}function br({tx:e,address:t,networkToken:r,chainId:a,explorerUrl:n,isTestnet:o}){let s=new Set(e.consumedUtxos.flatMap(f=>f.addresses)||[]),i=new Set(e.emittedUtxos.flatMap(f=>f.addresses)||[]),c=t.toLowerCase().startsWith("x-")?t.slice(2):t,l=["ImportTx","ExportTx"].includes(e.txType),{amount:m,isSender:p}=Ba({tx:e,isTestnet:o,networkToken:r,chainAddress:c,isImportExport:l}),d=Ea({isTestnet:o,tx:e,networkToken:r}),g=l?m.toString():p?m.minus(d).toString():m.toString();return {hash:e.txHash,isContractCall:!1,isIncoming:!p,isOutgoing:p,from:[...s.values()].join(","),to:[...i.values()].join(","),isSender:p,timestamp:e.timestamp*1e3,tokens:[{decimal:r.decimals.toString(),name:r.name,symbol:r.symbol,type:vmModuleTypes.TokenType.NATIVE,amount:g}],gasUsed:d.toString(),explorerLink:oe(n??"",e.txHash,"tx"),txType:e.txType,chainId:a.toString()}}function Ba({tx:e,isTestnet:t,networkToken:r,chainAddress:a,isImportExport:n}){if(n){let l=t?coreWalletsSdk.Avalanche.FujiContext.xBlockchainID:coreWalletsSdk.Avalanche.MainnetContext.xBlockchainID,m=e.emittedUtxos.filter(p=>p.asset.assetId===Se(!!t)&&(e.txType==="ImportTx"&&p.consumedOnChainId===l||e.txType==="ExportTx"&&p.consumedOnChainId!==l)).reduce((p,d)=>p.add(d.asset.amount),new O__default.default(0));return {amount:Y({amount:m.toNumber(),decimals:r.decimals}),isSender:!0}}let o=e.consumedUtxos.filter(l=>l.asset.assetId===Se(!!t)&&l.addresses.includes(a)).reduce((l,m)=>l.add(m.asset.amount),new O__default.default(0)),s=e.emittedUtxos.filter(l=>l.asset.assetId===Se(!!t)&&l.addresses.includes(a)).reduce((l,m)=>l.add(m.asset.amount),new O__default.default(0)),i=o.gte(s),c=i?o.minus(s):s.minus(o);return {amount:Y({amount:c.toNumber(),decimals:r.decimals}),isSender:i}}function Ea({isTestnet:e,tx:t,networkToken:r}){let a=t.amountUnlocked.filter(s=>s.assetId===Se(!!e)).reduce((s,i)=>s.add(i.amount),new O__default.default(0)),n=t.amountCreated.filter(s=>s.assetId===Se(!!e)).reduce((s,i)=>s.add(i.amount),new O__default.default(0)),o=a.minus(n);return Y({amount:o.toNumber(),decimals:r.decimals})}function Se(e){return e?coreWalletsSdk.Avalanche.FujiContext.avaxAssetID:coreWalletsSdk.Avalanche.MainnetContext.avaxAssetID}var Nr=async({address:e,nextPageToken:t,offset:r,network:a,glacierService:n})=>{let{isTestnet:o,networkToken:s,explorerUrl:i,chainId:c}=a;if(!n.isHealthy())return {transactions:[],nextPageToken:""};let m=a.isTestnet?glacierSdk.Network.FUJI:glacierSdk.Network.MAINNET,p=await n.listLatestPrimaryNetworkTransactions({addresses:e,blockchainId:La(e),network:m,pageSize:r,pageToken:t,sortOrder:glacierSdk.SortOrder.DESC}),d=[];return Yt(p)&&(d=p.transactions.map(g=>Pr({tx:g,isTestnet:o,address:e,networkToken:s,explorerUrl:i,chainId:c}))),Qt(p)&&(d=p.transactions.map(g=>br({tx:g,isTestnet:o,address:e,networkToken:s,explorerUrl:i,chainId:c}))),{transactions:d,nextPageToken:p.nextPageToken}},La=e=>e.split(",")[0]?.toLowerCase().startsWith("p-")?glacierSdk.BlockchainId.P_CHAIN:glacierSdk.BlockchainId.X_CHAIN;function wr({blockchainId:e,isTestnet:t}){let r=t?"fuji"+e:e,a=Ua__default.default.createHash("sha256").update(r).digest("base64");return "avax:"+_a(a).substring(0,32)}var _a=e=>e.replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,"");var ce,Pe,le,H,pe,be,Vr=class{constructor({approvalController:t,environment:r,appInfo:a,runtime:n}){v(this,ce,void 0);v(this,Pe,void 0);v(this,le,void 0);v(this,H,void 0);v(this,pe,void 0);v(this,be,void 0);let{glacierApiUrl:o,proxyApiUrl:s}=Lt(r);S(this,pe,a),S(this,be,n),S(this,ce,new Ge({glacierApiUrl:o,headers:j(a)})),S(this,Pe,s),S(this,le,o),S(this,H,t);}getProvider(t){return D({isTestnet:!!t.isTestnet,customRpcHeaders:t.customRpcHeaders})}getAddress({accountIndex:t,xpubXP:r,walletType:a,network:n}){return hr({accountIndex:t,xpubXP:r,walletType:a,network:n})}getBalances({addresses:t,network:r,storage:a,currency:n}){let o=new ye({storage:a,proxyApiUrl:y(this,Pe),fetch:y(this,be)?.fetch});return Dr({addresses:t,currency:n,network:r,glacierService:y(this,ce),tokenService:o})}getManifest(){let t=vmModuleTypes.parseManifest(Et);return t.success?t.data:void 0}getNetworkFee(t){let{isTestnet:r,vmName:a,customRpcHeaders:n}=t;return kr({isTestnet:!!r,vmName:a,customRpcHeaders:n})}getTransactionHistory({network:t,address:r,nextPageToken:a,offset:n}){return Nr({network:t,address:r,nextPageToken:a,offset:n,glacierService:y(this,ce)})}getTokens(t){return Promise.resolve([])}buildDerivationPath(t){return ve(t)}async deriveAddress(t){return mr({...t,approvalController:y(this,H)})}async onRpcRequest(t,r){switch(t.method){case vmModuleTypes.RpcMethod.AVALANCHE_SIGN_MESSAGE:return ar({request:t,network:r,approvalController:y(this,H)});case vmModuleTypes.RpcMethod.AVALANCHE_SIGN_TRANSACTION:return pr({request:t,network:r,approvalController:y(this,H),glacierApiUrl:y(this,le),appInfo:y(this,pe)});case vmModuleTypes.RpcMethod.AVALANCHE_SEND_TRANSACTION:return er({request:t,network:r,approvalController:y(this,H),glacierApiUrl:y(this,le),appInfo:y(this,pe)});default:return {error:rpcErrors.rpcErrors.methodNotSupported(`Method ${t.method} not supported`)}}}static getHashedBlockchainId({blockchainId:t,isTestnet:r}){return wr({blockchainId:t,isTestnet:r})}};ce=new WeakMap,Pe=new WeakMap,le=new WeakMap,H=new WeakMap,pe=new WeakMap,be=new WeakMap;var jc=e=>"balancePerType"in e&&"unlockedUnstaked"in e.balancePerType,Jc=e=>"balancePerType"in e&&"unlocked"in e.balancePerType;
|
|
19
|
+
var Ht=Object.defineProperty;var Yr=(e,t,r)=>t in e?Ht(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;var a=(e,t)=>Ht(e,"name",{value:t,configurable:!0});var G=(e,t,r)=>(Yr(e,typeof t!="symbol"?t+"":t,r),r),Ke=(e,t,r)=>{if(!t.has(e))throw TypeError("Cannot "+r)};var A=(e,t,r)=>(Ke(e,t,"read from private field"),r?r.call(e):t.get(e)),D=(e,t,r)=>{if(t.has(e))throw TypeError("Cannot add the same private member more than once");t instanceof WeakSet?t.add(e):t.set(e,r);},C=(e,t,r,n)=>(Ke(e,t,"write to private field"),n?n.call(e,r):t.set(e,r),r);var ze=(e,t,r)=>(Ke(e,t,"access private method"),r);function Gt(e){let t,r=0;for(t=0;t<e.length;t++)r+=e.charCodeAt(t)*(t+1);return r}a(Gt,"charsum");function Ye(e){let t,r=0;for(t=0;t<e.length;t++){let n=Gt(e[t]??"");r=r+65027/n;}return (""+r).slice(0,16)}a(Ye,"arrayHash");var q=a(async({operation:e,isSuccess:t,maxRetries:r=10,backoffPolicy:n=_.exponential()})=>{let o=0,s=0,i;for(;s<r;){s>0&&await Qr(o);try{let l=await e(s);if(t(l))return l}catch(l){i=l;}o=n(s),s++;}let c=i?`Max retry exceeded. ${i}`:"Max retry exceeded.";throw new Error(c)},"retry"),Qe=class Qe{static exponential(){return t=>Math.pow(2,t)*1e3}static constant(t){return r=>t*1e3}static constantMs(t){return r=>t}static linearThenExponential(t,r){return n=>{if(n<t)return (n+1)*r;let o=n-t+1,s=t*r,i=2*r*(Math.pow(2,o)-1);return s+i}}};a(Qe,"RetryBackoffPolicy");var _=Qe;function Qr(e){return new Promise(t=>setTimeout(t,e))}a(Qr,"delay");var Ze=a(e=>q({operation:t=>e(t>0),maxRetries:2,backoffPolicy:_.constant(1),isSuccess:t=>t?.status?.error_code!==429}),"coingeckoRetry");async function $(e,t,r=fetch){let n=await r(...e);if(!n.ok)throw new Error(`Request failed with status ${n.status}`);let o=await n.json();return t.parse(o)}a($,"fetchAndVerify");var et=class et{constructor(t,r){this.proxyApiUrl=t;this.fetchFn=r;}simplePrice(t){let r=new URLSearchParams(t);return $([`${this.proxyApiUrl}/proxy/coingecko/simple/price?${r}`,{method:"POST",headers:{"Content-Type":"application/json"}}],vmModuleTypes.RawSimplePriceResponseSchema,this.fetchFn)}simplePriceByContractAddresses(t){let{id:r,...n}=t,o=new URLSearchParams(n);return $([`${this.proxyApiUrl}/proxy/coingecko/simple/token_price/${r}?${o}`,{method:"POST",headers:{"Content-Type":"application/json"}}],vmModuleTypes.RawSimplePriceResponseSchema,this.fetchFn)}};a(et,"CoingeckoProxyClient");var xe=et;var Zr=zod.z.array(zod.z.object({internalId:zod.z.string(),id:zod.z.string(),symbol:zod.z.string(),name:zod.z.string(),image:zod.z.string().optional().nullable(),current_price:zod.z.number().optional().nullable(),price_change_percentage_24h:zod.z.number().optional().nullable(),market_cap:zod.z.number().optional().nullable(),total_volume:zod.z.number().optional().nullable(),platforms:zod.z.record(zod.z.string(),zod.z.string())})),tt=class tt{constructor(t){this.proxyApiUrl=t;}watchlistToken(t){let r=new URLSearchParams(t);return $([`${this.proxyApiUrl}/watchlist/tokens?${r}`,{method:"GET",headers:{"Content-Type":"application/json"}}],Zr)}};a(tt,"WatchlistProxyClient");var Be=tt;var U,W,j,ae,rt=class rt{constructor({storage:t,proxyApiUrl:r,fetch:n}){D(this,U,void 0);D(this,W,void 0);D(this,j,void 0);D(this,ae,void 0);G(this,"transformSimplePriceResponse",a((t,r=[coreCoingeckoSdk.VsCurrencyType.USD])=>{let n={};return Object.keys(t).forEach(o=>{let s=t[o];n[o]={},r.forEach(i=>{n[o]={[i]:{price:s?.[i],change24:s?.[`${i}_24h_change`],vol24:s?.[`${i}_24h_vol`],marketCap:s?.[`${i}_market_cap`]}};});}),n},"transformSimplePriceResponse"));C(this,U,t),C(this,W,r),C(this,j,n??globalThis.fetch),C(this,ae,coreCoingeckoSdk.getBasicCoingeckoHttp(void 0,A(this,j)));}async getWatchlistDataForToken({tokenDetails:t,currency:r=coreCoingeckoSdk.VsCurrencyType.USD}){let n=(await new Be(A(this,W)).watchlistToken({tokens:t.symbol,currency:r})).filter(s=>t.isNative?s.internalId===`NATIVE-${t.symbol.toLowerCase()}`:s.platforms[t.caip2Id]===t.address),[o]=n;return o?{priceInCurrency:o.current_price??0,change24:o.price_change_percentage_24h??0,marketCap:o.market_cap??0,vol24:o.total_volume??0}:{priceInCurrency:0,change24:0,marketCap:0,vol24:0}}async getSimplePrice({coinIds:t=[],currencies:r=[coreCoingeckoSdk.VsCurrencyType.USD]}){let n,s=`getSimplePrice-${t?`${Ye(t)}-${r.toString()}`:`${r.toString()}`}`;if(n=A(this,U)?.get?.(s),n)return n;try{n=await Ze(i=>this.simplePrice({coinIds:t,currencies:r,marketCap:!0,vol24:!0,change24:!0,useCoingeckoProxy:i}));}catch{n=void 0;}return A(this,U)?.set?.(s,n),n}async getPricesByAddresses(t,r,n=coreCoingeckoSdk.VsCurrencyType.USD){let o,i=`getPricesWithMarketDataByAddresses-${`${Ye(t)}-${r}-${n}`}`;if(o=A(this,U)?.get?.(i),o)return o;try{o=await Ze(c=>this.fetchPricesByAddresses({assetPlatformId:r,tokenAddresses:t,currency:n,useCoingeckoProxy:c}));}catch(c){console.error(c),o=void 0;}return A(this,U)?.set?.(i,o),o}async fetchPricesByAddresses({assetPlatformId:t,tokenAddresses:r,currency:n=coreCoingeckoSdk.VsCurrencyType.USD,useCoingeckoProxy:o=!1}){if(o){let s=await new xe(A(this,W),A(this,j)).simplePriceByContractAddresses({id:t,contract_addresses:r,vs_currencies:[n],include_market_cap:!0,include_24hr_vol:!0,include_24hr_change:!0});return this.transformSimplePriceResponse(s,[n])}return coreCoingeckoSdk.simpleTokenPrice(A(this,ae),{assetPlatformId:t,tokenAddresses:r,currencies:[n],marketCap:!0,vol24:!0,change24:!0})}async simplePrice({coinIds:t=[],currencies:r=[coreCoingeckoSdk.VsCurrencyType.USD],marketCap:n=!1,vol24:o=!1,change24:s=!1,lastUpdated:i=!1,useCoingeckoProxy:c=!1,shouldThrow:l=!0}){if(c){let d=await new xe(A(this,W),A(this,j)).simplePrice({ids:t,vs_currencies:r,include_market_cap:n,include_24hr_vol:o,include_24hr_change:s,include_last_updated_at:i});return this.transformSimplePriceResponse(d,r)}return coreCoingeckoSdk.simplePrice(A(this,ae),{coinIds:t,currencies:r,marketCap:n,vol24:o,change24:s,lastUpdated:i,shouldThrow:l})}};U=new WeakMap,W=new WeakMap,j=new WeakMap,ae=new WeakMap,a(rt,"TokenService");var Ae=rt;zod.object({date:zod.string(),usd:zod.record(zod.number())});var h=a((e,t,r,n)=>({label:e,type:vmModuleTypes.DetailItemType.CURRENCY,value:t,maxDecimals:r,symbol:n}),"currencyItem"),T=a((e,t,r="horizontal")=>({label:e,alignment:r,type:vmModuleTypes.DetailItemType.TEXT,value:t}),"textItem");var V=a((e,t)=>({label:e,type:vmModuleTypes.DetailItemType.ADDRESS,value:t}),"addressItem"),$t=a((e,t)=>({label:e,type:vmModuleTypes.DetailItemType.ADDRESS_LIST,value:t}),"addressListItem"),v=a((e,t)=>({label:e,type:vmModuleTypes.DetailItemType.NODE_ID,value:t}),"nodeIDItem"),at=a((e,t)=>({label:e,type:vmModuleTypes.DetailItemType.DATA,value:t}),"dataItem"),E=a((e,t)=>({label:e,type:vmModuleTypes.DetailItemType.DATE,value:t}),"dateItem"),ne=a((e,t)=>({label:e,type:vmModuleTypes.DetailItemType.NETWORK,value:t}),"networkItem");var J=a(({name:e,version:t})=>{switch(e){case vmModuleTypes.AppName.CORE_MOBILE_IOS:case vmModuleTypes.AppName.CORE_MOBILE_ANDROID:case vmModuleTypes.AppName.CORE_WEB:case vmModuleTypes.AppName.CORE_EXTENSION:case vmModuleTypes.AppName.EXPLORER:return {"x-application-name":e,"x-application-version":t};case vmModuleTypes.AppName.OTHER:return}},"getCoreHeaders");var Wt=process.env.GLACIER_API_KEY;var K=a(()=>Wt,"getGlacierApiKey");var la={rltoken:K()},z,Me,Le,Jt,_e,Kt,nt=class nt extends glacierSdk.FetchHttpRequest{constructor(r){super(r);D(this,Le);D(this,_e);D(this,z,0);D(this,Me,_.exponential());}request(r){let n={...la,...r.query||{}},o={...r,query:Object.keys(n).length>0?n:void 0},s=a(()=>super.request(o),"getRequest");return A(this,z)>0?ze(this,_e,Kt).call(this,s):ze(this,Le,Jt).call(this,s)}};z=new WeakMap,Me=new WeakMap,Le=new WeakSet,Jt=a(function(r){let n=r();return new glacierSdk.CancelablePromise((o,s,i)=>{i(()=>n.cancel()),n.then(c=>{C(this,z,0),o(c);}).catch(c=>{if(c instanceof glacierSdk.ApiError){let l=c.status===429,d=c.status>=500&&c.status<600;C(this,z,A(this,z)+Number(l||d));}s(c);});})},"#request"),_e=new WeakSet,Kt=a(function(r){let n=A(this,Me).call(this,A(this,z));return new glacierSdk.CancelablePromise((o,s,i)=>{let c=setTimeout(()=>{let l=r();i(()=>{l.cancel(),clearTimeout(c);}),l.then(o).catch(s);},n);})},"#postponeRequest"),a(nt,"GlacierFetchHttpRequest");var Te=nt;var Y=a((e,t)=>({message:`${e}${t instanceof Error?`: ${t.message}`:""}`,data:{cause:t}}),"rpcErrorOpts");var zt={name:"Avalanche",description:"",version:"0.0.1",sources:{module:{checksum:"",location:{npm:{filePath:"dist/index.js",packageName:"@avalabs/avalanche-module",registry:"https://registry.npmjs.org"}}}},network:{chainIds:["avax:8aDU0Kqh-5d23op-B-r-4YbQFRbsgF9a","avax:YRLfeDBJpfEqUWe2FYR1OpXsnDDZeKWd","avax:Rr9hnPVPxuUvrdCul-vjEsU1zmqKqRDo","avax:Sj7NVE3jXTbJvwFAiu7OEUo_8g8ctXMG","avax:imji8papUf2EhV3le337w1vgFauqkJg-","avax:8AJTpRj3SAqv1e80Mtl9em08LhvKEbkl","avax:N5PeRoKwDDREF0awn2GPsb9sHnGRzdEX"],namespaces:["avax"]},cointype:"9000",permissions:{rpc:{dapps:!0,methods:["avalanche_sendTransaction","avalanche_signTransaction","avalanche_signMessage"],nonRestrictedMethods:[]}},manifestVersion:"0.1"};var pa={glacierApiUrl:"https://glacier-api.avax.network",proxyApiUrl:"https://proxy-api.avax.network"},ma={glacierApiUrl:"https://glacier-api-dev.avax.network",proxyApiUrl:"https://proxy-api-dev.avax.network"},Qt=a(e=>{switch(e){case vmModuleTypes.Environment.PRODUCTION:return pa;case vmModuleTypes.Environment.DEV:return ma}},"getEnv");var ua=zod.z.object({transactionHex:zod.z.string(),chainAlias:zod.z.enum(["X","P","C"]),externalIndices:zod.z.number().array().optional(),internalIndices:zod.z.number().array().optional(),utxos:zod.z.string().array().optional()}),Zt=a(e=>ua.safeParse(e),"parseRequestParams");var S=a(async e=>{let{isTestnet:t,isDevnet:r,rpcUrl:n,customRpcHeaders:o}=e,s=o?{headers:o}:void 0;return r?coreWalletsSdk.Avalanche.JsonRpcProvider.fromBaseURL(n):t?coreWalletsSdk.Avalanche.JsonRpcProvider.getDefaultFujiProvider(s):coreWalletsSdk.Avalanche.JsonRpcProvider.getDefaultMainnetProvider(s)},"getProvider");var Ue=a(({utxoHexes:e=[],vm:t})=>{try{let r=avalanchejs.utils.getManagerForVM(t).getDefaultCodec();return e.map(n=>{let o=avalanchejs.utils.hexToBuffer(n);return avalanchejs.Utxo.fromBytes(o,r)[0]})}catch(r){return console.error("Error getting provided utxos",r),[]}},"getProvidedUtxos");var Fe=a(e=>{switch(e.type){case vmModuleTypes.TxType.AddPermissionlessDelegator:return {...e,type:vmModuleTypes.TxType.AddPermissionlessDelegator};case vmModuleTypes.TxType.AddPermissionlessValidator:return {...e,type:vmModuleTypes.TxType.AddPermissionlessValidator};case vmModuleTypes.TxType.AddSubnetValidator:return {...e,type:vmModuleTypes.TxType.AddSubnetValidator};case vmModuleTypes.TxType.CreateChain:return {...e,type:vmModuleTypes.TxType.CreateChain};case vmModuleTypes.TxType.CreateSubnet:return {...e,type:vmModuleTypes.TxType.CreateSubnet};case vmModuleTypes.TxType.RemoveSubnetValidator:return {...e,type:vmModuleTypes.TxType.RemoveSubnetValidator};case vmModuleTypes.TxType.AddAutoRenewedValidator:return {...e,type:vmModuleTypes.TxType.AddAutoRenewedValidator};case vmModuleTypes.TxType.SetAutoRenewedValidatorConfig:return {...e,type:vmModuleTypes.TxType.SetAutoRenewedValidatorConfig};case vmModuleTypes.TxType.ConvertSubnetToL1:return {...e,type:vmModuleTypes.TxType.ConvertSubnetToL1,chain:e.chain};case vmModuleTypes.TxType.SetL1ValidatorWeight:return {...e,type:vmModuleTypes.TxType.SetL1ValidatorWeight,chain:e.chain};case vmModuleTypes.TxType.DisableL1Validator:return {...e,type:vmModuleTypes.TxType.DisableL1Validator,chain:e.chain};case vmModuleTypes.TxType.IncreaseL1ValidatorBalance:return {...e,type:vmModuleTypes.TxType.IncreaseL1ValidatorBalance,chain:e.chain};case vmModuleTypes.TxType.RegisterL1Validator:return {...e,type:vmModuleTypes.TxType.RegisterL1Validator,chain:e.chain};case vmModuleTypes.TxType.Export:return {...e,type:vmModuleTypes.TxType.Export,chain:e.chain,destination:e.destination};case vmModuleTypes.TxType.Import:return {...e,type:vmModuleTypes.TxType.Import,chain:e.chain,source:e.source};case vmModuleTypes.TxType.Base:return {...e,type:vmModuleTypes.TxType.Base,chain:e.chain};default:return}},"parseTxDetails");var tr=a(e=>{switch(e.type){case vmModuleTypes.TxType.AddPermissionlessDelegator:return "Do you want to add this delegator?";case vmModuleTypes.TxType.AddPermissionlessValidator:return "Do you want to add this validator?";case vmModuleTypes.TxType.Export:return "Do you approve this export?";case vmModuleTypes.TxType.Import:return "Do you approve this import?";case vmModuleTypes.TxType.Base:return "Do you approve this transaction?";case vmModuleTypes.TxType.AddSubnetValidator:return "Do you want to add this subnet validator?";case vmModuleTypes.TxType.CreateChain:return "Do you want to create this chain?";case vmModuleTypes.TxType.CreateSubnet:return "Do you want to create this L1?";case vmModuleTypes.TxType.RemoveSubnetValidator:return "Do you want to remove this subnet validator?";case vmModuleTypes.TxType.ConvertSubnetToL1:return "Do you want to convert this subnet?";case vmModuleTypes.TxType.DisableL1Validator:return "Do you want to disable this validator?";case vmModuleTypes.TxType.IncreaseL1ValidatorBalance:return "Do you want to increase this validator balance?";case vmModuleTypes.TxType.RegisterL1Validator:return "Do you want to register this validator?";case vmModuleTypes.TxType.SetL1ValidatorWeight:return "Do you want to set this validator weight?";case vmModuleTypes.TxType.AddAutoRenewedValidator:return "Do you want to add this auto-renewed validator?";case vmModuleTypes.TxType.SetAutoRenewedValidatorConfig:return "Do you want to update this auto-renewed validator config?";default:return "Sign Message"}},"parseTxDisplayTitle");var st=a(async({indices:e,chainAlias:t,isChange:r,network:n,xpubXP:o,externalXPAddresses:s})=>{if(o){let i=await S(n);return e.map(c=>coreWalletsSdk.Avalanche.getAddressFromXpub(o,c,i,t,r))}return s&&Array.isArray(s)?e.map(c=>s.find(l=>l.index===c)).filter(c=>c!==void 0).map(c=>c.address):[]},"getAddressesByIndices");var it=a(e=>e.type===vmModuleTypes.TxType.AddPermissionlessDelegator,"isAddPermissionlessDelegatorTx"),ct=a(e=>e.type===vmModuleTypes.TxType.AddPermissionlessValidator,"isAddPermissionlessValidatorTx"),lt=a(e=>e.type===vmModuleTypes.TxType.Export,"isExportTx"),dt=a(e=>e.type===vmModuleTypes.TxType.Import,"isImportTx"),fa=a(e=>e.type===vmModuleTypes.TxType.Base,"isBaseTx"),pt=a(e=>e.type===vmModuleTypes.TxType.AddSubnetValidator,"isAddSubnetValidatorTx"),ya=a(e=>e.type===vmModuleTypes.TxType.CreateChain,"isCreateChainTx"),xa=a(e=>e.type===vmModuleTypes.TxType.CreateSubnet,"isCreateSubnetTx"),mt=a(e=>e.type===vmModuleTypes.TxType.RemoveSubnetValidator,"isRemoveSubnetValidatorTx"),rr=a(e=>e.type===vmModuleTypes.TxType.ConvertSubnetToL1,"isConvertSubnetToL1Tx"),ar=a(e=>e.type===vmModuleTypes.TxType.DisableL1Validator,"isDisableL1ValidatorTx"),nr=a(e=>e.type===vmModuleTypes.TxType.IncreaseL1ValidatorBalance,"isIncreaseL1ValidatorBalanceTx"),or=a(e=>e.type===vmModuleTypes.TxType.RegisterL1Validator,"isRegisterL1ValidatorTx"),sr=a(e=>e.type===vmModuleTypes.TxType.SetL1ValidatorWeight,"isSetL1ValidatorWeightTx"),ut=a(e=>e.type===vmModuleTypes.TxType.AddAutoRenewedValidator,"isAddAutoRenewedValidatorTx"),ht=a(e=>e.type===vmModuleTypes.TxType.SetAutoRenewedValidatorConfig,"isSetAutoRenewedValidatorConfigTx"),Xo=a(e=>it(e)||ct(e)||pt(e)||mt(e)||ut(e)||ht(e),"isStakingDetails"),Ho=a(e=>lt(e)||dt(e),"isExportImportTxDetails"),ir=a(e=>fa(e),"isChainDetails"),cr=a(e=>ya(e),"isBlockchainDetails"),lr=a(e=>xa(e),"isSubnetDetails");var B=(n=>(n.AVM="X-Chain",n.PVM="P-Chain",n.EVM="C-Chain",n))(B||{});var gt=a(({tx:e,symbol:t,network:r,signerAccount:n})=>{let o=[],{txFee:s,nodeID:i,start:c,end:l,stake:d}=e,p={items:[V("Account",n),ne("Network",{name:r.chainName,logoUri:r.logoUri})]};o.push(p);let m=[v("Node",i),h("Stake Amount",d,9,t),E("Start",c),E("End",l)];return o.push({title:"Staking Details",items:m}),s&&o.push({title:"Network Fee",items:[h("Fee Amount",s,9,t)]}),o},"addPermissionlessDelegatorDetailSection");var ft=a(({tx:e,symbol:t,network:r,signerAccount:n})=>{let o=[],{txFee:s,nodeID:i,delegationFee:c,start:l,end:d,stake:p}=e,m={items:[V("Account",n),ne("Network",{name:r.chainName,logoUri:r.logoUri})]};o.push(m);let u=[v("Node",i)];return u.push(h("Stake Amount",p,9,t),T("Delegation Fee",`${c/1e4} %`),E("Start",l),E("End",d)),o.push({title:"Staking Details",items:u}),s&&o.push({title:"Network Fee",items:[h("Fee Amount",s,9,t)]}),o},"addPermissionlessValidatorDetailSection");var yt=a((e,t)=>{let r=[],{txFee:n,nodeID:o,start:s,end:i,subnetID:c}=e,l=[v("Subnet ID",c),v("Node ID",o),E("Start Date",s),E("End Date",i)];return r.push({title:"Staking Details",items:l}),n&&r.push({title:"Network Fee",items:[h("Fee Amount",n,9,t)]}),r},"addSubnetValidatorDetailSection");var xt=a((e,t)=>{let r=[],{txFee:n,chainID:o,managerAddress:s,subnetID:i,validators:c}=e,l=[v("Subnet ID",i),v("Chain ID",o),V("Manager Address",s)];return r.push({title:"L1 Details",items:l}),c.forEach(({balance:d,stake:p,nodeId:m,remainingBalanceOwners:u,deactivationOwners:y},f)=>{let I=[v("Node ID",m),h("Balance",d,9,t),h("Stake",p,9,t)];y.length>0&&I.push(T(`${y.length>1?"Owners":"Owner"} Able to Deactivate`,y.join(`
|
|
20
|
+
`),"vertical")),u.length>0&&I.push(T(`${u.length>1?"Owners":"Owner"} of the Remaining Balance`,u.join(`
|
|
21
|
+
`),"vertical")),r.push({title:f===0?"Validators":void 0,items:I});}),n&&r.push({title:"Network Fee",items:[h("Fee Amount",n,9,t)]}),r},"convertSubnetToL1DetailSection");var At=a((e,t)=>{let r=[],{txFee:n,amount:o,chain:s,destination:i,type:c}=e;return r.push({items:[T("Source Chain",`Avalanche ${B[s]}`),T("Target Chain",`Avalanche ${B[i]}`)]}),r.push({items:[T("Transaction Type",c?(c[0]||"").toUpperCase()+c.slice(1):""),h("Amount",o,9,t)]}),n&&r.push({title:"Network Fee",items:[h("Fee Amount",n,9,t)]}),r},"exportDetailSection");var Tt=a((e,t)=>{let r=[],{txFee:n,amount:o,chain:s,source:i,type:c}=e;return r.push({items:[T("Source Chain",`Avalanche ${B[i]}`),T("Destination Chain",`Avalanche ${B[s]}`)]}),r.push({items:[T("Transaction Type",c?(c[0]||"").toUpperCase()+c.slice(1):""),h("Amount",o,9,t)]}),n&&r.push({title:"Network Fee",items:[h("Fee Amount",n,9,t)]}),r},"importDetailSection");var vt=a((e,t)=>{let r=[],{txFee:n,nodeID:o,subnetID:s}=e,i=[v("Node ID",o),v("Subnet ID",s)];return r.push({title:"Staking Details",items:i}),n&&r.push({title:"Network Fee",items:[h("Fee Amount",n,9,t)]}),r},"removeSubnetValidatorDetailSection");var It=a((e,t)=>{let r=[],{txFee:n,chain:o,outputs:s,memo:i}=e;return r.push({title:"Chain Details",items:[T("Active chain",`Avalanche ${B[o]}`)]}),s.forEach((c,l)=>{let d=c.owners.flatMap(p=>[V("To",p),h("Amount",c.amount,9,t)]);c.owners.length>1&&d.push(T("Threshold",c.threshold.toString())),r.push({title:l===0?"Balance Change":void 0,items:d});}),o!==avalanchejs.PVM&&i&&r.push({title:"Memo",items:[i]}),n&&r.push({title:"Network Fee",items:[h("Fee Amount",n,9,t)]}),r},"chainDetailSection");var Dt=a((e,t)=>{let r=[],{txFee:n,threshold:o,controlKeys:s}=e;return r.push({title:"L1 Details",items:[$t(s.length>1?"Owners":"Owner",s),T("Signature Threshold",`${o}/${s.length}`,"horizontal")]}),n&&r.push({title:"Network Fee",items:[h("Fee Amount",n,9,t)]}),r},"subnetDetailSection");var Ta=a(e=>{try{let t=JSON.parse(e);return JSON.stringify(t,null,2)}catch(t){return console.error("Failed to format genesis data:",t),e}},"formatGenesisData"),St=a((e,t)=>{let r=[],{txFee:n,chainID:o,chainName:s,vmID:i,genesisData:c}=e,l=[T("Blockchain name",s,"vertical"),T("Blockchain ID",o,"vertical"),T("Virtual Machine ID",i,"vertical"),at("Genesis Data",Ta(c))];return r.push({title:"Blockchain Details",items:l}),n&&r.push({title:"Network Fee",items:[h("Fee Amount",n,9,t)]}),r},"blockChainDetailSection");var kt=a((e,t)=>{let r=[],{txFee:n,validationId:o}=e,s=[v("Validation ID",o)];return r.push({title:"L1 Details",items:s}),n&&r.push({title:"Network Fee",items:[h("Fee Amount",n,9,t)]}),r},"disableL1ValidatorDetailSection");var Pt=a((e,t)=>{let r=[],{txFee:n,balance:o,validationId:s}=e,i=[v("Validation ID",s),h("Increase by amount",o,9,t)];return r.push({title:"L1 Details",items:i}),n&&r.push({title:"Network Fee",items:[h("Fee Amount",n,9,t)]}),r},"increaseL1ValidatorBalanceDetailSection");var bt=a((e,t)=>{let r=[],{txFee:n,balance:o}=e,s=[h("Initial balance",o,9,t)];return r.push({title:"L1 Details",items:s}),n&&r.push({title:"Network Fee",items:[h("Fee Amount",n,9,t)]}),r},"registerL1ValidatorDetailSection");var Ct=a((e,t)=>{let r=[],{txFee:n}=e;return n&&r.push({title:"Network Fee",items:[h("Fee Amount",n,9,t)]}),r},"setL1ValidatorWeightDetailSection");var va=60*60*24,dr=1e4,wt=a(({tx:e,symbol:t,network:r,signerAccount:n})=>{let o=[],{txFee:s,nodeID:i,stake:c,delegationFee:l,autoCompoundRewardShares:d,period:p}=e,m={items:[V("Account",n),ne("Network",{name:r.chainName,logoUri:r.logoUri})]};o.push(m);let u=[v("Node",i),h("Stake Amount",c,9,t),T("Delegation fee",`${l/dr} %`),T("Cycle duration",`${Number(p)/va} days`),T("Compound rewards percentage",`${d/dr} %`)];return o.push({title:"Staking Details",items:u}),s&&o.push({title:"Network Fee",items:[h("Fee Amount",s,9,t)]}),o},"addAutoRenewedValidatorDetailSection");var Ia=60*60*24,Da=1e4,Nt=a((e,t)=>{let r=[],{txFee:n,txId:o,autoCompoundRewardShares:s,period:i}=e,c=[v("Validator Tx ID",o),T("Cycle duration",`${Number(i)/Ia} days`),T("Compound rewards percentage",`${s/Da} %`)];return r.push({title:"Staking Details",items:c}),n&&r.push({title:"Network Fee",items:[h("Fee Amount",n,9,t)]}),r},"setAutoRenewedValidatorConfigDetailSection");var Oe=a((e,t,r)=>{if(ir(e))return It(e,t);if(lt(e))return At(e,t);if(dt(e))return Tt(e,t);if(lr(e))return Dt(e,t);if(it(e)){if(!r)throw new Error("context (network, signerAccount) is required for AddPermissionlessDelegator");return gt({tx:e,symbol:t,network:r.network,signerAccount:r.signerAccount})}else if(ct(e)){if(!r)throw new Error("context (network, signerAccount) is required for AddPermissionlessValidator");return ft({tx:e,symbol:t,network:r.network,signerAccount:r.signerAccount})}else {if(cr(e))return St(e,t);if(pt(e))return yt(e,t);if(mt(e))return vt(e,t);if(rr(e))return xt(e,t);if(ar(e))return kt(e,t);if(nr(e))return Pt(e,t);if(or(e))return bt(e,t);if(sr(e))return Ct(e,t);if(ut(e)){if(!r)throw new Error("context (network, signerAccount) is required for AddAutoRenewedValidator");return wt({tx:e,symbol:t,network:r.network,signerAccount:r.signerAccount})}else if(ht(e))return Nt(e,t)}},"getTransactionDetailSections");var ur=a(e=>e.chainInfo.chainName===glacierSdk.PrimaryNetworkChainName.P_CHAIN,"isPChainTransactions"),hr=a(e=>e.chainInfo.chainName===glacierSdk.PrimaryNetworkChainName.X_CHAIN,"isXChainTransactions");function ie(e,t,r="tx"){return `${e}/${r}/${t}`}a(ie,"getExplorerAddressByNetwork");function Q({amount:e,decimals:t}){return e===void 0?new X__default.default(0):new X__default.default(e/10**t)}a(Q,"getTokenValue");var Sa=zod.z.object({currentAddress:zod.z.string({required_error:"No active account found"}),currentEvmAddress:zod.z.string().optional(),xpubXP:zod.z.string({invalid_type_error:"xpubXP must be a string"}).optional()}),ka=zod.z.object({account:zod.z.object({xpAddress:zod.z.string({required_error:"XP address is required",invalid_type_error:"XP address must be a string"}),evmAddress:zod.z.string().optional(),xpubXP:zod.z.string({invalid_type_error:"xpubXP must be a string"}).optional(),externalXPAddresses:zod.z.array(zod.z.object({index:zod.z.number(),address:zod.z.string()}))})}),Pa=a(e=>({xpAddress:e.currentAddress,evmAddress:e.currentEvmAddress,xpubXP:e.xpubXP,externalXPAddresses:[]}),"getAccountFromLegacyContext"),ba=a(e=>e.account,"getAccountFromNewContext"),Ca=a(e=>e!=null&&typeof e=="object"&&"account"in e&&e.account!=null&&typeof e.account=="object","hasAccountField"),Xe=a(e=>{if(!e)return {success:!1,error:"Missing Avalanche transaction context"};if(Ca(e)){let{success:o,data:s,error:i}=ka.safeParse(e);return o?{success:!0,data:ba(s)}:{success:!1,error:i.errors[0]?.message||"Invalid or missing Avalanche transaction context"}}let{success:t,data:r,error:n}=Sa.safeParse(e);return t?{success:!0,data:Pa(r)}:{success:!1,error:n.errors[0]?.message||"Invalid or missing Avalanche transaction context"}},"getAccountFromContext");var fr=a(async({request:e,network:t,approvalController:r,glacierApiUrl:n,appInfo:o})=>{let s=Zt(e.params);if(!s.success)return {error:rpcErrors.rpcErrors.invalidParams(Y("Transaction params are invalid",s.error))};try{let{transactionHex:i,chainAlias:c,externalIndices:l,internalIndices:d,utxos:p}=s.data,m=coreWalletsSdk.Avalanche.getVmByChainAlias(c),u=avalanchejs.utils.hexToBuffer(i),y=t.isTestnet??!1,f=await S(t),I=Xe(e.context);if(!I.success)return {error:rpcErrors.rpcErrors.invalidParams(I.error)};let{xpAddress:b,xpubXP:M,externalXPAddresses:R}=I.data,ue=Ue({utxoHexes:p,vm:m}),ee=ue.length?ue:await coreWalletsSdk.Avalanche.getUtxosByTxFromGlacier({transactionHex:i,chainAlias:c,network:y?glacierSdk.Network.FUJI:glacierSdk.Network.MAINNET,url:n,token:K(),headers:J(o)}),te;if(c==="C")te=await coreWalletsSdk.Avalanche.createAvalancheEvmUnsignedTx({txBytes:u,vm:m,utxos:ee,fromAddress:b});else {let ye=avalanchejs.utils.unpackWithManager(m,u);if(M!==void 0&&typeof M!="string")return {error:rpcErrors.rpcErrors.invalidParams("xpubXP must be a string")};let Je=await st({indices:l??[],chainAlias:c,isChange:!1,network:t,xpubXP:M,externalXPAddresses:R}),Jr=await st({indices:d??[],chainAlias:c,isChange:!0,network:t,xpubXP:M,externalXPAddresses:R}),Kr=[...new Set([b,...Je,...Jr])].map(zr=>avalanchejs.utils.parse(zr)[2]);te=await coreWalletsSdk.Avalanche.createAvalancheUnsignedTx({tx:ye,utxos:ee,provider:f,fromAddressBytes:Kr});}let he=await coreWalletsSdk.Avalanche.parseAvalancheTx(te,f,b),Ne=Fe(he),ge=tr(he);if(he.type==="unknown"||Ne===void 0)return {error:rpcErrors.rpcErrors.internal("Unable to parse transaction data. Unsupported tx type")};let Re={type:vmModuleTypes.RpcMethod.AVALANCHE_SEND_TRANSACTION,unsignedTxJson:JSON.stringify(te.toJSON()),data:he,vm:m,externalIndices:l,internalIndices:d},Ve=Oe(Ne,t.networkToken.symbol,{network:t,signerAccount:b});if(Ve===void 0)return {error:rpcErrors.rpcErrors.internal("Unable to parse transaction display data. Unsupported tx type")};let Ee={title:ge,network:{chainId:t.chainId,name:t.chainName,logoUri:t.logoUri},details:Ve,networkFeeSelector:!1},fe=await r.requestApproval({request:e,displayData:Ee,signingData:Re});if("error"in fe)return {error:fe.error};let L;try{L=await Va(f,fe,m);}catch(ye){return {error:rpcErrors.rpcErrors.internal(Y("Unable to broadcast transaction",ye))}}return Ea({explorerUrl:t.explorerUrl??"",provider:f,txHash:L,vm:m,onTransactionPending:r.onTransactionPending,onTransactionConfirmed:r.onTransactionConfirmed,onTransactionReverted:r.onTransactionReverted,request:e}),{result:L}}catch(i){return console.error(i),{error:rpcErrors.rpcErrors.internal(Y("Unable to create transaction",i))}}},"avalancheSendTransaction"),Va=a(async(e,t,r)=>{if("txHash"in t)return t.txHash;let{txID:n}=await e.issueTxHex(t.signedData,r);return n},"getTxHash"),Ea=a(async({explorerUrl:e,provider:t,txHash:r,vm:n,onTransactionPending:o,onTransactionConfirmed:s,onTransactionReverted:i,request:c})=>{let d=ie(e,r);try{o({txHash:r,request:c,explorerLink:d}),n===avalanchejs.PVM?(await q({operation:()=>t.getApiP().getTxStatus({txID:r}),isSuccess:m=>["Committed","Dropped"].includes(m.status),maxRetries:7})).status==="Committed"?s({txHash:r,explorerLink:d,request:c}):i({txHash:r,request:c}):n===avalanchejs.AVM?(await q({operation:()=>t.getApiX().getTxStatus({txID:r}),isSuccess:m=>["Accepted","Rejected"].includes(m.status),maxRetries:7})).status==="Accepted"?s({txHash:r,explorerLink:d,request:c}):i({txHash:r,request:c}):(await q({operation:()=>t.getApiC().getAtomicTxStatus(r),isSuccess:m=>["Accepted","Dropped"].includes(m.status),maxRetries:7})).status==="Accepted"?s({txHash:r,explorerLink:d,request:c}):i({txHash:r,request:c});}catch(p){console.error(p),p instanceof Error&&p.message.startsWith("Max retry exceeded.")||i({txHash:r,request:c});}},"waitForTransactionReceipt");var Ba=zod.z.union([zod.z.tuple([zod.z.string()]).describe("message to sign"),zod.z.tuple([zod.z.string().describe("message to sign"),zod.z.number().nonnegative().describe("account index")])]),yr=a(e=>Ba.safeParse(e),"parseRequestParams");var Ar=a(async({request:e,network:t,approvalController:r})=>{let n=yr(e.params);if(!n.success)return console.error("invalid params",n.error),{error:rpcErrors.rpcErrors.invalidParams(Y("Params are invalid",n.error))};let[o,s]=n.data,i=Buffer.from(o,"utf-8").toString("hex"),c={type:vmModuleTypes.RpcMethod.AVALANCHE_SIGN_MESSAGE,data:i,accountIndex:s},l={title:"Sign Message",dAppInfo:{name:e.dappInfo.name,action:`${e.dappInfo.name} is requesting to sign the following message`,logoUri:e.dappInfo.icon},network:{chainId:t.chainId,name:t.chainName,logoUri:t.logoUri},details:[{title:"Message",items:[o]}]},d=await r.requestApproval({request:e,displayData:l,signingData:c});return "error"in d?{error:d.error}:"signedData"in d?{result:d.signedData}:{error:rpcErrors.rpcErrors.internal("No signed data returned")}},"avalancheSignMessage");var La=zod.z.object({from:zod.z.string().optional().describe("Avalanche receiving address"),transactionHex:zod.z.string(),chainAlias:zod.z.enum(["X","P","C"]),utxos:zod.z.string().array().optional()}),Tr=a(e=>La.safeParse(e),"parseRequestParams");var Sr=a(async({vm:e,txBytes:t,utxos:r,currentAddress:n,currentEvmAddress:o,provider:s})=>{let i,c,l=avalanchejs.utils.unpackWithManager(e,t);if(avalanchejs.evmSerial.isExportTx(l)){let d=l.ins[0]?.address.toHex();if(!o)throw rpcErrors.rpcErrors.invalidRequest("Missing EVM address");if(d?.toLowerCase()!==o.toLowerCase())throw new Error("This account has nothing to sign");return coreWalletsSdk.Avalanche.createAvalancheEvmUnsignedTx({txBytes:t,vm:e,utxos:r,fromAddress:n})}try{let p=avalanchejs.utils.getManagerForVM(e).unpack(t,avalanchejs.avaxSerial.SignedTx);avalanchejs.evmSerial.isImportTx(l)?c=await coreWalletsSdk.Avalanche.createAvalancheEvmUnsignedTx({txBytes:t,vm:e,utxos:r,fromAddress:n}):c=await coreWalletsSdk.Avalanche.createAvalancheUnsignedTx({tx:l,provider:s,credentials:p.getCredentials(),utxos:r}),i=l.getSigIndices().map((m,u)=>new avalanchejs.Credential(coreWalletsSdk.Avalanche.populateCredential(m,{unsignedTx:c,credentialIndex:u})));}catch{i=l.getSigIndices().map(p=>new avalanchejs.Credential(coreWalletsSdk.Avalanche.populateCredential(p)));}return coreWalletsSdk.Avalanche.createAvalancheUnsignedTx({tx:l,provider:s,credentials:i,utxos:r})},"getUnsignedOrPartiallySignedTx");var Pr=a(async({request:e,network:t,approvalController:r,glacierApiUrl:n,appInfo:o})=>{let s=Tr(e.params);if(!s.success)return console.error("invalid params",s.error),{error:rpcErrors.rpcErrors.invalidParams("Params are invalid")};let{transactionHex:i,chainAlias:c,from:l,utxos:d}=s.data,p=coreWalletsSdk.Avalanche.getVmByChainAlias(c),m=t.isTestnet??!1,u=await S(t),y=Xe(e.context);if(!y.success)return {error:rpcErrors.rpcErrors.invalidParams(y.error)};let{xpAddress:f,evmAddress:I}=y.data,b=Ue({utxoHexes:d,vm:p}),M=b.length?b:await coreWalletsSdk.Avalanche.getUtxosByTxFromGlacier({transactionHex:i,chainAlias:c,network:m?glacierSdk.Network.FUJI:glacierSdk.Network.MAINNET,url:n,token:K(),headers:J(o)}),R=await Sr({txBytes:avalanchejs.utils.hexToBuffer(i),vm:p,utxos:M,currentAddress:f,currentEvmAddress:I,provider:u}),ue=avalanchejs.utils.addressesFromBytes([avalanchejs.utils.parse(l??f)[2]])[0];if(!ue)return {error:rpcErrors.rpcErrors.invalidRequest("Missing signer address")};let ee=R.getSigIndicesForAddress(ue);if(!ee)return {error:rpcErrors.rpcErrors.invalidRequest("This account has nothing to sign")};let te=R.getSigIndices();if(!ee.some(([ye,Je])=>te[ye]?.includes(Je)))return {error:rpcErrors.rpcErrors.invalidRequest("This account has nothing to sign")};let Ne=l??f,ge=await coreWalletsSdk.Avalanche.parseAvalancheTx(R,u,l??f),Re=Fe(ge);if(ge.type==="unknown"||Re===void 0)return {error:rpcErrors.rpcErrors.invalidParams("Unable to parse transaction data. Unsupported tx type")};let Ve={type:vmModuleTypes.RpcMethod.AVALANCHE_SIGN_TRANSACTION,data:ge,vm:p,unsignedTxJson:JSON.stringify(R.toJSON()),ownSignatureIndices:ee},Ee=Oe(Re,t.networkToken.symbol,{network:t,signerAccount:Ne});if(Ee===void 0)return {error:rpcErrors.rpcErrors.internal("Unable to parse transaction display data. Unsupported tx type")};let fe={title:"Do you approve this transaction?",dAppInfo:{name:e.dappInfo.name,action:`${e.dappInfo.name} requests you to sign the following transaction`,logoUri:e.dappInfo.icon},network:{chainId:t.chainId,name:t.chainName,logoUri:t.logoUri},details:Ee},L=await r.requestApproval({request:e,displayData:fe,signingData:Ve});return "error"in L?{error:L.error}:"signedData"in L?{result:L.signedData}:{error:rpcErrors.rpcErrors.invalidRequest("No signed data returned")}},"avalancheSignTransaction");var De=a(({accountIndex:e,derivationPathType:t,addressIndex:r=0})=>{if(e<0)throw rpcErrors.rpcErrors.invalidParams("Account index must be a non-negative integer");if(r!==void 0&&r<0)throw rpcErrors.rpcErrors.invalidParams("Address index must be a non-negative integer");switch(t){case"bip44":return {[vmModuleTypes.NetworkVMType.AVM]:`m/44'/9000'/${e}'/0/${r}`,[vmModuleTypes.NetworkVMType.CoreEth]:`m/44'/60'/0'/0/${e}`};case"ledger_live":return {[vmModuleTypes.NetworkVMType.AVM]:`m/44'/9000'/${e}'/0/${r}`,[vmModuleTypes.NetworkVMType.CoreEth]:`m/44'/60'/${e}'/0/0`};default:throw rpcErrors.rpcErrors.invalidParams(`Unsupported derivation path type: ${t}`)}},"buildDerivationPath");var Mt=a(e=>"derivationPathType"in e&&"accountIndex"in e&&typeof e.accountIndex=="number"&&typeof e.derivationPathType=="string","hasDerivationDetails");var br=a(async e=>{let{approvalController:t,network:r,secretId:n}=e,o=Mt(e)?De(e).AVM:void 0,s=Mt(e)?De(e).CoreEth:void 0,i=await S(r),c=await t.requestPublicKey({curve:"secp256k1",secretId:n,derivationPath:o}).catch(()=>null),l=await t.requestPublicKey({curve:"secp256k1",secretId:n,derivationPath:s}).catch(()=>null),d=l?{[vmModuleTypes.NetworkVMType.CoreEth]:i.getAddress(Buffer.from(l,"hex"),"C")}:{},p=c?{[vmModuleTypes.NetworkVMType.AVM]:i.getAddress(Buffer.from(c,"hex"),"X"),[vmModuleTypes.NetworkVMType.PVM]:i.getAddress(Buffer.from(c,"hex"),"P")}:{};return {...d,...p}},"deriveAddress");var wr=a(async({accountIndex:e,xpubXP:t,walletType:r,network:n})=>{if(!n)throw rpcErrors.rpcErrors.invalidParams("network is required to get address");if(t===void 0)throw rpcErrors.rpcErrors.invalidParams("xpubXP is required to get address");let o=await S(n),s;switch(r){case vmModuleTypes.WalletType.Mnemonic:case vmModuleTypes.WalletType.Ledger:case vmModuleTypes.WalletType.Keystone:{s=coreWalletsSdk.Avalanche.getAddressPublicKeyFromXpub(t,e);break}case vmModuleTypes.WalletType.LedgerLive:case vmModuleTypes.WalletType.Seedless:{s=Buffer.from(t,"hex");break}default:throw rpcErrors.rpcErrors.invalidParams(`Unsupported wallet type: ${r}`)}return {[vmModuleTypes.NetworkVMType.AVM]:o.getAddress(s,"X"),[vmModuleTypes.NetworkVMType.PVM]:o.getAddress(s,"P")}},"getAddress");var Ut=class Ut extends Error{constructor(){super(...arguments);G(this,"message","Glacier is unhealthy. Try again later.");}};a(Ut,"GlacierUnhealthyError");var Ge=Ut,Ft=class Ft{constructor({glacierApiUrl:t,headers:r}){G(this,"glacierSdk");G(this,"isGlacierHealthy",!0);G(this,"isHealthy",a(()=>this.isGlacierHealthy,"isHealthy"));this.glacierSdk=new glacierSdk.Glacier({BASE:t,HEADERS:r},Te);}setGlacierToUnhealthy(){this.isGlacierHealthy=!1,setTimeout(()=>{this.isGlacierHealthy=!0;},5*60*1e3);}async listLatestPrimaryNetworkTransactions(t){try{return this.glacierSdk.primaryNetworkTransactions.listLatestPrimaryNetworkTransactions(t)}catch(r){throw r instanceof Ge&&this.setGlacierToUnhealthy(),r}}async getChainBalance(t){try{return this.glacierSdk.primaryNetworkBalances.getBalancesByAddresses(t)}catch(r){throw r instanceof Ge&&this.setGlacierToUnhealthy(),r}}};a(Ft,"AvalancheGlacierService");var qe=Ft;var Nr=a(e=>Object.keys(e).includes("unlockedUnstaked"),"isPchainBalance"),Rr=a(e=>Object.keys(e).includes("locked"),"isXchainBalance");function $e(e,t){let r=Object.values(e).reduce(function(n,o){let s=o.reduce(function(i,c){if(c.assetId!==t)return i;let l=Number(c.amount);return i+l},0);return n+s},0);return BigInt(r)}a($e,"calculateAvaxTotalBalance");var Er=a(({balance:e,networkToken:t,priceInCurrency:r,marketCap:n,vol24:o,change24:s,coingeckoId:i,avaxAssetId:c})=>{let l={},d={unlockedUnstaked:e.unlockedUnstaked,unlockedStaked:e.unlockedStaked,pendingStaked:e.pendingStaked,lockedStaked:e.lockedStaked,lockedStakeable:e.lockedStakeable,lockedPlatform:e.lockedPlatform,atomicMemoryLocked:e.atomicMemoryLocked,atomicMemoryUnlocked:e.atomicMemoryUnlocked};for(let f in d){let I=d[f];if(!I||!I.length){l[f]=0n;continue}I.forEach(b=>{if(b.assetId!==c)return;let R=(l[f]??0n)+BigInt(b.amount);l[f]=R;});}let p=new coreUtilsSdk.TokenUnit(l.unlockedUnstaked?l.unlockedUnstaked:0n,t.decimals,t.symbol),m=r?p.mul(r).toDisplay({fixedDp:2,asNumber:!0}):void 0,u=new coreUtilsSdk.TokenUnit($e(e,c),t.decimals,t.symbol),y=r?u.mul(r).toDisplay({fixedDp:2,asNumber:!0}):void 0;return {...t,type:vmModuleTypes.TokenType.NATIVE,priceInCurrency:r,balance:u.toSubUnit(),balanceInCurrency:y,balanceDisplayValue:u.toDisplay(),balanceCurrencyDisplayValue:y?.toFixed(2),available:p.toSubUnit(),availableInCurrency:m,availableDisplayValue:p.toDisplay(),availableCurrencyDisplayValue:m?.toFixed(2),utxos:e,balancePerType:{lockedStaked:l.lockedStaked,lockedStakeable:l.lockedStakeable,lockedPlatform:l.lockedPlatform,atomicMemoryLocked:l.atomicMemoryLocked,atomicMemoryUnlocked:l.atomicMemoryUnlocked,unlockedUnstaked:l.unlockedUnstaked,unlockedStaked:l.unlockedStaked,pendingStaked:l.pendingStaked},marketCap:n,vol24:o,change24:s,coingeckoId:i}},"convertPChainBalance");var Mr=a(({balance:e,networkToken:t,priceInCurrency:r,marketCap:n,vol24:o,change24:s,coingeckoId:i,avaxAssetId:c})=>{let l={},d={unlocked:e.unlocked,locked:e.locked,atomicMemoryUnlocked:e.atomicMemoryUnlocked,atomicMemoryLocked:e.atomicMemoryLocked};for(let f in d){let I=d[f];if(!I||!I.length){l[f]=0n;continue}I.forEach(b=>{if(b.assetId!==c)return;let R=(l[f]??0n)+BigInt(b.amount);l[f]=R;});}let p=new coreUtilsSdk.TokenUnit(l.unlocked?l.unlocked:0n,t.decimals,t.symbol),m=r?p.mul(r).toDisplay({fixedDp:2,asNumber:!0}):void 0,u=new coreUtilsSdk.TokenUnit($e(e,c),t.decimals,t.symbol),y=r!==void 0?u.mul(r):void 0;return {...t,coingeckoId:i,type:vmModuleTypes.TokenType.NATIVE,priceInCurrency:r,balance:u.toSubUnit(),balanceInCurrency:y?.toDisplay({fixedDp:2,asNumber:!0}),balanceDisplayValue:u.toDisplay(),balanceCurrencyDisplayValue:y?.toDisplay({fixedDp:2}),available:p.toSubUnit(),availableInCurrency:m,availableDisplayValue:p.toDisplay(),availableCurrencyDisplayValue:m?.toFixed(2),utxos:e,balancePerType:{unlocked:l.unlocked,locked:l.locked,atomicMemoryUnlocked:l.atomicMemoryUnlocked,atomicMemoryLocked:l.atomicMemoryLocked},marketCap:n,vol24:o,change24:s}},"convertXChainBalance");var Ur=a(async({addresses:e,currency:t,network:r,glacierService:n,tokenService:o})=>{let s=await S(r);if(!n.isHealthy())return Promise.reject("Glacier is unhealthy. Try again later.");let c=t.toLowerCase(),l=e[0]??"",d=r.networkToken,p=r.pricingProviders?.coingecko.nativeTokenId,m=r.vmName===vmModuleTypes.NetworkVMType.PVM?glacierSdk.BlockchainId.P_CHAIN:glacierSdk.BlockchainId.X_CHAIN,u=r.isDevnet?null:r.isTestnet?glacierSdk.Network.FUJI:glacierSdk.Network.MAINNET;if(!u)return Promise.reject("Glacier does not supported local devnets");let y=await n.getChainBalance({blockchainId:m,network:u,addresses:e.join(",")}).then(b=>b.balances),f=await o.getWatchlistDataForToken({tokenDetails:{symbol:r.networkToken.symbol,isNative:!0,caip2Id:r.caipId??""},currency:c}),I;return Nr(y)?(I=Er({balance:y,networkToken:d,priceInCurrency:f.priceInCurrency??void 0,marketCap:f.marketCap??void 0,vol24:f.vol24??void 0,change24:f.change24??void 0,coingeckoId:p??"",avaxAssetId:s.getContext().avaxAssetID}),{[l]:{[d.symbol]:I}}):Rr(y)?(I=Mr({balance:y,networkToken:d,priceInCurrency:f.priceInCurrency??void 0,marketCap:f.marketCap??void 0,vol24:f.vol24??void 0,change24:f.change24??void 0,coingeckoId:p??"",avaxAssetId:s.getContext().avaxAssetID}),{[l]:{[d.symbol]:I}}):Promise.reject("Incorrect type balance was returned from glacier")},"getBalances");async function Fr(e){let{vmName:t}=e,r=await S(e);if(t===vmModuleTypes.NetworkVMType.AVM)return {baseFee:BigInt(1e6),low:{maxFeePerGas:BigInt(1e6)},medium:{maxFeePerGas:BigInt(1e6)},high:{maxFeePerGas:BigInt(1e6)},isFixedFee:!0};let{price:n}=await r.getApiP().getFeeState(),o=100/Number(n)/100,s=Math.min(1,Math.max(o,.15)),i=Math.min(1,Math.max(o*2,.3)),c=1+s,l=1+i;return {baseFee:n,low:{maxFeePerGas:n},medium:{maxFeePerGas:n*BigInt(Math.round(100*c))/100n},high:{maxFeePerGas:n*BigInt(Math.round(100*l))/100n},isFixedFee:!1}}a(Fr,"getNetworkFee");function Xr({tx:e,address:t,networkToken:r,chainId:n,explorerUrl:o,isTestnet:s}){let i=new Set(e.consumedUtxos.flatMap(u=>u.addresses)||[]),c=new Set(e.emittedUtxos.flatMap(u=>u.addresses)||[]),l=ja({tx:e,isTestnet:s,networkToken:r,froms:i}),d=Ja({tx:e,isTestnet:s,networkToken:r}),p=t.toLowerCase().startsWith("p-")?t.slice(2):t,m=i.has(p);return {hash:e.txHash,isContractCall:!1,isIncoming:!m,isOutgoing:m,from:[...i.values()].join(","),to:[...c.values()].join(","),isSender:m,timestamp:e.blockTimestamp*1e3,tokens:[{decimal:r.decimals.toString(),name:r.name,symbol:r.symbol,type:vmModuleTypes.TokenType.NATIVE,amount:l.toString()}],gasUsed:d.toString(),explorerLink:ie(o??"",e.txHash,"tx"),txType:e.txType,chainId:n.toString()}}a(Xr,"convertPChainTransaction");function ja({tx:e,isTestnet:t,networkToken:r,froms:n}){let o=["ImportTx","ExportTx"].includes(e.txType),s=e.txType==="BaseTx",i=e.emittedUtxos.filter(u=>u.asset.assetId===ke(!!t)&&!u.addresses.some(y=>n.has(y))).reduce((u,y)=>u.add(y.asset.amount),new X__default.default(0)),c=e.value.find(u=>u.assetId===ke(!!t))?.amount,l=i.gt(new X__default.default(0))?i:c?new X__default.default(c):new X__default.default(0)??new X__default.default(0),d=t?coreWalletsSdk.Avalanche.FujiContext.pBlockchainID:coreWalletsSdk.Avalanche.MainnetContext.pBlockchainID,p=e.emittedUtxos.filter(u=>u.asset.assetId===ke(!!t)&&(e.txType==="ImportTx"&&u.consumedOnChainId===d||e.txType==="ExportTx"&&u.consumedOnChainId!==d)).reduce((u,y)=>u.add(y.amount),new X__default.default(0)),m=s?l:o?p:e.amountStaked.length===0?Or(e.value,!!t):Or(e.amountStaked,!!t);return Q({amount:m?.toNumber(),decimals:r.decimals})}a(ja,"getAmount");function Ja({tx:e,isTestnet:t,networkToken:r}){let n=e.amountBurned?.filter(o=>o.assetId===ke(!!t)).reduce((o,s)=>o.add(s.amount),new X__default.default(0));return Q({amount:n?.toNumber(),decimals:r.decimals})}a(Ja,"getBurnedAmount");function Or(e,t){return e.filter(r=>r.assetId===ke(t)).reduce((r,n)=>r.add(n.amount),new X__default.default(0))}a(Or,"aggregateValue");function ke(e){return e?coreWalletsSdk.Avalanche.FujiContext.avaxAssetID:coreWalletsSdk.Avalanche.MainnetContext.avaxAssetID}a(ke,"getAvaxAssetId");function Hr({tx:e,address:t,networkToken:r,chainId:n,explorerUrl:o,isTestnet:s}){let i=new Set(e.consumedUtxos.flatMap(f=>f.addresses)||[]),c=new Set(e.emittedUtxos.flatMap(f=>f.addresses)||[]),l=t.toLowerCase().startsWith("x-")?t.slice(2):t,d=["ImportTx","ExportTx"].includes(e.txType),{amount:p,isSender:m}=za({tx:e,isTestnet:s,networkToken:r,chainAddress:l,isImportExport:d}),u=Ya({isTestnet:s,tx:e,networkToken:r}),y=d?p.toString():m?p.minus(u).toString():p.toString();return {hash:e.txHash,isContractCall:!1,isIncoming:!m,isOutgoing:m,from:[...i.values()].join(","),to:[...c.values()].join(","),isSender:m,timestamp:e.timestamp*1e3,tokens:[{decimal:r.decimals.toString(),name:r.name,symbol:r.symbol,type:vmModuleTypes.TokenType.NATIVE,amount:y}],gasUsed:u.toString(),explorerLink:ie(o??"",e.txHash,"tx"),txType:e.txType,chainId:n.toString()}}a(Hr,"convertXChainTransaction");function za({tx:e,isTestnet:t,networkToken:r,chainAddress:n,isImportExport:o}){if(o){let d=t?coreWalletsSdk.Avalanche.FujiContext.xBlockchainID:coreWalletsSdk.Avalanche.MainnetContext.xBlockchainID,p=e.emittedUtxos.filter(m=>m.asset.assetId===be(!!t)&&(e.txType==="ImportTx"&&m.consumedOnChainId===d||e.txType==="ExportTx"&&m.consumedOnChainId!==d)).reduce((m,u)=>m.add(u.asset.amount),new X__default.default(0));return {amount:Q({amount:p.toNumber(),decimals:r.decimals}),isSender:!0}}let s=e.consumedUtxos.filter(d=>d.asset.assetId===be(!!t)&&d.addresses.includes(n)).reduce((d,p)=>d.add(p.asset.amount),new X__default.default(0)),i=e.emittedUtxos.filter(d=>d.asset.assetId===be(!!t)&&d.addresses.includes(n)).reduce((d,p)=>d.add(p.asset.amount),new X__default.default(0)),c=s.gte(i),l=c?s.minus(i):i.minus(s);return {amount:Q({amount:l.toNumber(),decimals:r.decimals}),isSender:c}}a(za,"getAmount");function Ya({isTestnet:e,tx:t,networkToken:r}){let n=t.amountUnlocked.filter(i=>i.assetId===be(!!e)).reduce((i,c)=>i.add(c.amount),new X__default.default(0)),o=t.amountCreated.filter(i=>i.assetId===be(!!e)).reduce((i,c)=>i.add(c.amount),new X__default.default(0)),s=n.minus(o);return Q({amount:s.toNumber(),decimals:r.decimals})}a(Ya,"getBurnedAmount");function be(e){return e?coreWalletsSdk.Avalanche.FujiContext.avaxAssetID:coreWalletsSdk.Avalanche.MainnetContext.avaxAssetID}a(be,"getAvaxAssetId");var $r=a(async({address:e,nextPageToken:t,offset:r,network:n,glacierService:o})=>{let{isTestnet:s,networkToken:i,explorerUrl:c,chainId:l}=n;if(!o.isHealthy())return {transactions:[],nextPageToken:""};let p=n.isTestnet?glacierSdk.Network.FUJI:glacierSdk.Network.MAINNET,m=await o.listLatestPrimaryNetworkTransactions({addresses:e,blockchainId:Za(e),network:p,pageSize:r,pageToken:t,sortOrder:glacierSdk.SortOrder.DESC}),u=[];return ur(m)&&(u=m.transactions.map(y=>Xr({tx:y,isTestnet:s,address:e,networkToken:i,explorerUrl:c,chainId:l}))),hr(m)&&(u=m.transactions.map(y=>Hr({tx:y,isTestnet:s,address:e,networkToken:i,explorerUrl:c,chainId:l}))),{transactions:u,nextPageToken:m.nextPageToken}},"getTransactionHistory"),Za=a(e=>e.split(",")[0]?.toLowerCase().startsWith("p-")?glacierSdk.BlockchainId.P_CHAIN:glacierSdk.BlockchainId.X_CHAIN,"getBlockchainIdByAddress");function Wr({blockchainId:e,isTestnet:t}){let r=t?"fuji"+e:e,n=en__default.default.createHash("sha256").update(r).digest("base64");return "avax:"+tn(n).substring(0,32)}a(Wr,"hashBlockchainId");var tn=a(e=>e.replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,""),"convertBase64ToBase64Url");var de,Ce,pe,H,me,we,Xt=class Xt{constructor({approvalController:t,environment:r,appInfo:n,runtime:o}){D(this,de,void 0);D(this,Ce,void 0);D(this,pe,void 0);D(this,H,void 0);D(this,me,void 0);D(this,we,void 0);let{glacierApiUrl:s,proxyApiUrl:i}=Qt(r);C(this,me,n),C(this,we,o),C(this,de,new qe({glacierApiUrl:s,headers:J(n)})),C(this,Ce,i),C(this,pe,s),C(this,H,t);}getProvider(t){return S(t)}getAddress({accountIndex:t,xpubXP:r,walletType:n,network:o}){return wr({accountIndex:t,xpubXP:r,walletType:n,network:o})}getBalances({addresses:t,network:r,storage:n,currency:o}){let s=new Ae({storage:n,proxyApiUrl:A(this,Ce),fetch:A(this,we)?.fetch});return Ur({addresses:t,currency:o,network:r,glacierService:A(this,de),tokenService:s})}getManifest(){let t=vmModuleTypes.parseManifest(zt);return t.success?t.data:void 0}getNetworkFee(t){return Fr(t)}getTransactionHistory({network:t,address:r,nextPageToken:n,offset:o}){return $r({network:t,address:r,nextPageToken:n,offset:o,glacierService:A(this,de)})}getTokens(t){return Promise.resolve([])}buildDerivationPath(t){return De(t)}async deriveAddress(t){return br({...t,approvalController:A(this,H)})}async onRpcRequest(t,r){switch(t.method){case vmModuleTypes.RpcMethod.AVALANCHE_SIGN_MESSAGE:return Ar({request:t,network:r,approvalController:A(this,H)});case vmModuleTypes.RpcMethod.AVALANCHE_SIGN_TRANSACTION:return Pr({request:t,network:r,approvalController:A(this,H),glacierApiUrl:A(this,pe),appInfo:A(this,me)});case vmModuleTypes.RpcMethod.AVALANCHE_SEND_TRANSACTION:return fr({request:t,network:r,approvalController:A(this,H),glacierApiUrl:A(this,pe),appInfo:A(this,me)});default:return {error:rpcErrors.rpcErrors.methodNotSupported(`Method ${t.method} not supported`)}}}static getHashedBlockchainId({blockchainId:t,isTestnet:r}){return Wr({blockchainId:t,isTestnet:r})}};de=new WeakMap,Ce=new WeakMap,pe=new WeakMap,H=new WeakMap,me=new WeakMap,we=new WeakMap,a(Xt,"AvalancheModule");var jr=Xt;var Dd=a(e=>"balancePerType"in e&&"unlockedUnstaked"in e.balancePerType,"isTokenWithBalancePVM"),Sd=a(e=>"balancePerType"in e&&"unlocked"in e.balancePerType,"isTokenWithBalanceAVM");
|
|
22
22
|
|
|
23
|
-
exports.AvalancheModule =
|
|
24
|
-
exports.
|
|
25
|
-
exports.
|
|
26
|
-
exports.
|
|
27
|
-
exports.
|
|
28
|
-
exports.
|
|
29
|
-
exports.
|
|
30
|
-
exports.
|
|
31
|
-
exports.
|
|
32
|
-
exports.
|
|
33
|
-
exports.
|
|
34
|
-
exports.
|
|
35
|
-
exports.
|
|
36
|
-
exports.
|
|
37
|
-
exports.
|
|
38
|
-
exports.
|
|
39
|
-
exports.
|
|
40
|
-
exports.
|
|
41
|
-
exports.
|
|
42
|
-
exports.
|
|
43
|
-
exports.
|
|
44
|
-
exports.
|
|
23
|
+
exports.AvalancheModule = jr;
|
|
24
|
+
exports.isAddAutoRenewedValidatorTx = ut;
|
|
25
|
+
exports.isAddPermissionlessDelegatorTx = it;
|
|
26
|
+
exports.isAddPermissionlessValidatorTx = ct;
|
|
27
|
+
exports.isAddSubnetValidatorTx = pt;
|
|
28
|
+
exports.isBaseTx = fa;
|
|
29
|
+
exports.isBlockchainDetails = cr;
|
|
30
|
+
exports.isChainDetails = ir;
|
|
31
|
+
exports.isConvertSubnetToL1Tx = rr;
|
|
32
|
+
exports.isCreateChainTx = ya;
|
|
33
|
+
exports.isCreateSubnetTx = xa;
|
|
34
|
+
exports.isDisableL1ValidatorTx = ar;
|
|
35
|
+
exports.isExportImportTxDetails = Ho;
|
|
36
|
+
exports.isExportTx = lt;
|
|
37
|
+
exports.isImportTx = dt;
|
|
38
|
+
exports.isIncreaseL1ValidatorBalanceTx = nr;
|
|
39
|
+
exports.isRegisterL1ValidatorTx = or;
|
|
40
|
+
exports.isRemoveSubnetValidatorTx = mt;
|
|
41
|
+
exports.isSetAutoRenewedValidatorConfigTx = ht;
|
|
42
|
+
exports.isSetL1ValidatorWeightTx = sr;
|
|
43
|
+
exports.isStakingDetails = Xo;
|
|
44
|
+
exports.isSubnetDetails = lr;
|
|
45
|
+
exports.isTokenWithBalanceAVM = Sd;
|
|
46
|
+
exports.isTokenWithBalancePVM = Dd;
|
|
45
47
|
//# sourceMappingURL=out.js.map
|
|
46
48
|
//# sourceMappingURL=index.cjs.map
|