@liberfi.io/utils 0.1.19 → 0.1.21

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.d.mts CHANGED
@@ -9,7 +9,7 @@ declare global {
9
9
  };
10
10
  }
11
11
  }
12
- declare const _default: "0.1.19";
12
+ declare const _default: "0.1.21";
13
13
 
14
14
  /** Returns the chain namespace (EVM or SOLANA) for a given chain */
15
15
  declare function chainToNamespace(chain: Chain): ChainNamespace;
@@ -18,7 +18,8 @@ declare function chainIcon(chain: Chain | string): string | undefined;
18
18
  declare function chainSlug(chainId: Chain): string | undefined;
19
19
  declare function chainDisplayName(chainId: Chain): string;
20
20
  declare function chainIdBySlug(slug: string): Chain | undefined;
21
- declare function isValidWalletAddress(chain: Chain | string, address: string): boolean;
21
+ declare function isValidWalletAddress(chain: Chain | string, addr: string): boolean;
22
+ declare function isValidEvmAddress(value: string): boolean;
22
23
  declare function isValidSolanaAddress(value: string): boolean;
23
24
 
24
25
  declare const millisecondsToHMS: (milliseconds: number) => [number, number, number];
@@ -150,20 +151,30 @@ declare function formatSymbol(symbol: string, formatString?: string): string;
150
151
  declare const parseTokenProtocolFamily: (chain: Chain, protocolFamily: string) => TokenProtocol | undefined;
151
152
  declare const formatTokenProtocolName: (protocol: TokenProtocol) => string;
152
153
 
153
- declare const SOL_TOKEN_ADDRESS = "11111111111111111111111111111111";
154
- declare const SOL_TOKEN_SYMBOL = "SOL";
155
- declare const SOL_TOKEN_DECIMALS = 9;
156
- declare const SOL_USDC_TOKEN_ADDRESS = "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v";
157
- declare const SOL_USDC_TOKEN_SYMBOL = "USDC";
158
- declare const SOL_USDT_TOKEN_ADDRESS = "Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB";
159
- declare const SOL_USDT_TOKEN_SYMBOL = "USDT";
160
- declare const SOL_WRAPPED_TOKEN_ADDRESS = "So11111111111111111111111111111111111111112";
161
- declare const SOL_WRAPPED_TOKEN_SYMBOL = "SOL";
162
- declare const SOL_USD1_TOKEN_ADDRESS = "USD1ttGY1N17NEEHLmELoaybftRBUSErhqYiQzvEmuB";
163
- declare const SOL_USD1_TOKEN_SYMBOL = "USD1";
164
- declare const COMMON_TOKEN_ADDRESSES: string[];
165
- declare const COMMON_TOKEN_SYMBOLS: string[];
166
- declare const COMMON_TOKEN_SYMBOLS_MAP: Record<string, string>;
154
+ interface PredefinedToken {
155
+ address: string;
156
+ symbol: string;
157
+ decimals: number;
158
+ }
159
+ interface ChainPredefinedTokens {
160
+ native: PredefinedToken;
161
+ wrapped: PredefinedToken;
162
+ stablecoins: Record<string, PredefinedToken>;
163
+ }
164
+ declare const SOLANA_TOKENS: ChainPredefinedTokens;
165
+ declare const ETHEREUM_TOKENS: ChainPredefinedTokens;
166
+ declare const BSC_TOKENS: ChainPredefinedTokens;
167
+ declare const ARBITRUM_TOKENS: ChainPredefinedTokens;
168
+ declare const OPTIMISM_TOKENS: ChainPredefinedTokens;
169
+ declare const AVALANCHE_TOKENS: ChainPredefinedTokens;
170
+ declare const CHAIN_TOKENS: Partial<Record<Chain, ChainPredefinedTokens>>;
171
+ declare function getNativeToken(chain: Chain): PredefinedToken | undefined;
172
+ declare function getWrappedToken(chain: Chain): PredefinedToken | undefined;
173
+ declare function getStablecoins(chain: Chain): Record<string, PredefinedToken> | undefined;
174
+ /** Returns all predefined token addresses for the given chain (native + wrapped + stablecoins). */
175
+ declare function getCommonTokenAddresses(chain: Chain): string[];
176
+ /** Returns an address -> symbol map for all predefined tokens on the given chain. */
177
+ declare function getCommonTokenSymbolsMap(chain: Chain): Record<string, string>;
167
178
 
168
179
  declare function txExplorerUrl(chainId: Chain, txHash: string): string | undefined;
169
180
  declare const accountExplorerUrl: (chainId: Chain, account: string) => string | undefined;
@@ -177,4 +188,4 @@ declare const windowGuard: (cb: Function) => void;
177
188
  declare const getGlobalObject: () => typeof globalThis;
178
189
  declare const getTimestamp: () => number;
179
190
 
180
- export { COMMON_TOKEN_ADDRESSES, COMMON_TOKEN_SYMBOLS, COMMON_TOKEN_SYMBOLS_MAP, type FormatAmountOptions, type FormatMultiplierOptions, type FormatPercentOptions, type FormatPriceOptions, type FormatReadableTimeOptions, SOL_TOKEN_ADDRESS, SOL_TOKEN_DECIMALS, SOL_TOKEN_SYMBOL, SOL_USD1_TOKEN_ADDRESS, SOL_USD1_TOKEN_SYMBOL, SOL_USDC_TOKEN_ADDRESS, SOL_USDC_TOKEN_SYMBOL, SOL_USDT_TOKEN_ADDRESS, SOL_USDT_TOKEN_SYMBOL, SOL_WRAPPED_TOKEN_ADDRESS, SOL_WRAPPED_TOKEN_SYMBOL, SafeBigNumber, accountExplorerUrl, camelCaseToSnakeCase, canConvertToNumber, capitalizeString, chainColor, chainDisplayName, chainIcon, chainIdBySlug, chainSlug, chainToNamespace, del, displayCount3, displayCount4, findLongestCommonSubString, formatAge, formatAgeInSeconds, formatAmount, formatAmount2, formatAmount3, formatAmountUSD, formatAmountUSD2, formatAmountUSD3, formatAmountUSD4, formatAmountUSD5, formatCount, formatCount2, formatCount3, formatMultiplier, formatPercent, formatPrice, formatPriceUSD, formatReadableTime, formatSymbol, formatTimeAgo, formatTokenProtocolName, get, getGlobalObject, getTimestamp, isHex, isHexString, isValidNumber, isValidSolanaAddress, isValidTimeframe, isValidWalletAddress, millisecondsToHMS, mutate, parseTokenProtocolFamily, post, put, request, searchImageUrl, searchTwitterUrl, secondsSince, shortAddress, subtractDaysFromCurrentDate, timestampToString, twitterMediaUrl, twitterTweetUrl, twitterUserUrl, txExplorerUrl, _default as version, windowGuard };
191
+ export { ARBITRUM_TOKENS, AVALANCHE_TOKENS, BSC_TOKENS, CHAIN_TOKENS, type ChainPredefinedTokens, ETHEREUM_TOKENS, type FormatAmountOptions, type FormatMultiplierOptions, type FormatPercentOptions, type FormatPriceOptions, type FormatReadableTimeOptions, OPTIMISM_TOKENS, type PredefinedToken, SOLANA_TOKENS, SafeBigNumber, accountExplorerUrl, camelCaseToSnakeCase, canConvertToNumber, capitalizeString, chainColor, chainDisplayName, chainIcon, chainIdBySlug, chainSlug, chainToNamespace, del, displayCount3, displayCount4, findLongestCommonSubString, formatAge, formatAgeInSeconds, formatAmount, formatAmount2, formatAmount3, formatAmountUSD, formatAmountUSD2, formatAmountUSD3, formatAmountUSD4, formatAmountUSD5, formatCount, formatCount2, formatCount3, formatMultiplier, formatPercent, formatPrice, formatPriceUSD, formatReadableTime, formatSymbol, formatTimeAgo, formatTokenProtocolName, get, getCommonTokenAddresses, getCommonTokenSymbolsMap, getGlobalObject, getNativeToken, getStablecoins, getTimestamp, getWrappedToken, isHex, isHexString, isValidEvmAddress, isValidNumber, isValidSolanaAddress, isValidTimeframe, isValidWalletAddress, millisecondsToHMS, mutate, parseTokenProtocolFamily, post, put, request, searchImageUrl, searchTwitterUrl, secondsSince, shortAddress, subtractDaysFromCurrentDate, timestampToString, twitterMediaUrl, twitterTweetUrl, twitterUserUrl, txExplorerUrl, _default as version, windowGuard };
package/dist/index.d.ts CHANGED
@@ -9,7 +9,7 @@ declare global {
9
9
  };
10
10
  }
11
11
  }
12
- declare const _default: "0.1.19";
12
+ declare const _default: "0.1.21";
13
13
 
14
14
  /** Returns the chain namespace (EVM or SOLANA) for a given chain */
15
15
  declare function chainToNamespace(chain: Chain): ChainNamespace;
@@ -18,7 +18,8 @@ declare function chainIcon(chain: Chain | string): string | undefined;
18
18
  declare function chainSlug(chainId: Chain): string | undefined;
19
19
  declare function chainDisplayName(chainId: Chain): string;
20
20
  declare function chainIdBySlug(slug: string): Chain | undefined;
21
- declare function isValidWalletAddress(chain: Chain | string, address: string): boolean;
21
+ declare function isValidWalletAddress(chain: Chain | string, addr: string): boolean;
22
+ declare function isValidEvmAddress(value: string): boolean;
22
23
  declare function isValidSolanaAddress(value: string): boolean;
23
24
 
24
25
  declare const millisecondsToHMS: (milliseconds: number) => [number, number, number];
@@ -150,20 +151,30 @@ declare function formatSymbol(symbol: string, formatString?: string): string;
150
151
  declare const parseTokenProtocolFamily: (chain: Chain, protocolFamily: string) => TokenProtocol | undefined;
151
152
  declare const formatTokenProtocolName: (protocol: TokenProtocol) => string;
152
153
 
153
- declare const SOL_TOKEN_ADDRESS = "11111111111111111111111111111111";
154
- declare const SOL_TOKEN_SYMBOL = "SOL";
155
- declare const SOL_TOKEN_DECIMALS = 9;
156
- declare const SOL_USDC_TOKEN_ADDRESS = "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v";
157
- declare const SOL_USDC_TOKEN_SYMBOL = "USDC";
158
- declare const SOL_USDT_TOKEN_ADDRESS = "Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB";
159
- declare const SOL_USDT_TOKEN_SYMBOL = "USDT";
160
- declare const SOL_WRAPPED_TOKEN_ADDRESS = "So11111111111111111111111111111111111111112";
161
- declare const SOL_WRAPPED_TOKEN_SYMBOL = "SOL";
162
- declare const SOL_USD1_TOKEN_ADDRESS = "USD1ttGY1N17NEEHLmELoaybftRBUSErhqYiQzvEmuB";
163
- declare const SOL_USD1_TOKEN_SYMBOL = "USD1";
164
- declare const COMMON_TOKEN_ADDRESSES: string[];
165
- declare const COMMON_TOKEN_SYMBOLS: string[];
166
- declare const COMMON_TOKEN_SYMBOLS_MAP: Record<string, string>;
154
+ interface PredefinedToken {
155
+ address: string;
156
+ symbol: string;
157
+ decimals: number;
158
+ }
159
+ interface ChainPredefinedTokens {
160
+ native: PredefinedToken;
161
+ wrapped: PredefinedToken;
162
+ stablecoins: Record<string, PredefinedToken>;
163
+ }
164
+ declare const SOLANA_TOKENS: ChainPredefinedTokens;
165
+ declare const ETHEREUM_TOKENS: ChainPredefinedTokens;
166
+ declare const BSC_TOKENS: ChainPredefinedTokens;
167
+ declare const ARBITRUM_TOKENS: ChainPredefinedTokens;
168
+ declare const OPTIMISM_TOKENS: ChainPredefinedTokens;
169
+ declare const AVALANCHE_TOKENS: ChainPredefinedTokens;
170
+ declare const CHAIN_TOKENS: Partial<Record<Chain, ChainPredefinedTokens>>;
171
+ declare function getNativeToken(chain: Chain): PredefinedToken | undefined;
172
+ declare function getWrappedToken(chain: Chain): PredefinedToken | undefined;
173
+ declare function getStablecoins(chain: Chain): Record<string, PredefinedToken> | undefined;
174
+ /** Returns all predefined token addresses for the given chain (native + wrapped + stablecoins). */
175
+ declare function getCommonTokenAddresses(chain: Chain): string[];
176
+ /** Returns an address -> symbol map for all predefined tokens on the given chain. */
177
+ declare function getCommonTokenSymbolsMap(chain: Chain): Record<string, string>;
167
178
 
168
179
  declare function txExplorerUrl(chainId: Chain, txHash: string): string | undefined;
169
180
  declare const accountExplorerUrl: (chainId: Chain, account: string) => string | undefined;
@@ -177,4 +188,4 @@ declare const windowGuard: (cb: Function) => void;
177
188
  declare const getGlobalObject: () => typeof globalThis;
178
189
  declare const getTimestamp: () => number;
179
190
 
180
- export { COMMON_TOKEN_ADDRESSES, COMMON_TOKEN_SYMBOLS, COMMON_TOKEN_SYMBOLS_MAP, type FormatAmountOptions, type FormatMultiplierOptions, type FormatPercentOptions, type FormatPriceOptions, type FormatReadableTimeOptions, SOL_TOKEN_ADDRESS, SOL_TOKEN_DECIMALS, SOL_TOKEN_SYMBOL, SOL_USD1_TOKEN_ADDRESS, SOL_USD1_TOKEN_SYMBOL, SOL_USDC_TOKEN_ADDRESS, SOL_USDC_TOKEN_SYMBOL, SOL_USDT_TOKEN_ADDRESS, SOL_USDT_TOKEN_SYMBOL, SOL_WRAPPED_TOKEN_ADDRESS, SOL_WRAPPED_TOKEN_SYMBOL, SafeBigNumber, accountExplorerUrl, camelCaseToSnakeCase, canConvertToNumber, capitalizeString, chainColor, chainDisplayName, chainIcon, chainIdBySlug, chainSlug, chainToNamespace, del, displayCount3, displayCount4, findLongestCommonSubString, formatAge, formatAgeInSeconds, formatAmount, formatAmount2, formatAmount3, formatAmountUSD, formatAmountUSD2, formatAmountUSD3, formatAmountUSD4, formatAmountUSD5, formatCount, formatCount2, formatCount3, formatMultiplier, formatPercent, formatPrice, formatPriceUSD, formatReadableTime, formatSymbol, formatTimeAgo, formatTokenProtocolName, get, getGlobalObject, getTimestamp, isHex, isHexString, isValidNumber, isValidSolanaAddress, isValidTimeframe, isValidWalletAddress, millisecondsToHMS, mutate, parseTokenProtocolFamily, post, put, request, searchImageUrl, searchTwitterUrl, secondsSince, shortAddress, subtractDaysFromCurrentDate, timestampToString, twitterMediaUrl, twitterTweetUrl, twitterUserUrl, txExplorerUrl, _default as version, windowGuard };
191
+ export { ARBITRUM_TOKENS, AVALANCHE_TOKENS, BSC_TOKENS, CHAIN_TOKENS, type ChainPredefinedTokens, ETHEREUM_TOKENS, type FormatAmountOptions, type FormatMultiplierOptions, type FormatPercentOptions, type FormatPriceOptions, type FormatReadableTimeOptions, OPTIMISM_TOKENS, type PredefinedToken, SOLANA_TOKENS, SafeBigNumber, accountExplorerUrl, camelCaseToSnakeCase, canConvertToNumber, capitalizeString, chainColor, chainDisplayName, chainIcon, chainIdBySlug, chainSlug, chainToNamespace, del, displayCount3, displayCount4, findLongestCommonSubString, formatAge, formatAgeInSeconds, formatAmount, formatAmount2, formatAmount3, formatAmountUSD, formatAmountUSD2, formatAmountUSD3, formatAmountUSD4, formatAmountUSD5, formatCount, formatCount2, formatCount3, formatMultiplier, formatPercent, formatPrice, formatPriceUSD, formatReadableTime, formatSymbol, formatTimeAgo, formatTokenProtocolName, get, getCommonTokenAddresses, getCommonTokenSymbolsMap, getGlobalObject, getNativeToken, getStablecoins, getTimestamp, getWrappedToken, isHex, isHexString, isValidEvmAddress, isValidNumber, isValidSolanaAddress, isValidTimeframe, isValidWalletAddress, millisecondsToHMS, mutate, parseTokenProtocolFamily, post, put, request, searchImageUrl, searchTwitterUrl, secondsSince, shortAddress, subtractDaysFromCurrentDate, timestampToString, twitterMediaUrl, twitterTweetUrl, twitterUserUrl, txExplorerUrl, _default as version, windowGuard };
package/dist/index.js CHANGED
@@ -1,2 +1,2 @@
1
- "use strict";var st=Object.create;var x=Object.defineProperty,at=Object.defineProperties,it=Object.getOwnPropertyDescriptor,ct=Object.getOwnPropertyDescriptors,ut=Object.getOwnPropertyNames,W=Object.getOwnPropertySymbols,lt=Object.getPrototypeOf,Y=Object.prototype.hasOwnProperty,mt=Object.prototype.propertyIsEnumerable;var k=(t,e,n)=>e in t?x(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,p=(t,e)=>{for(var n in e||(e={}))Y.call(e,n)&&k(t,n,e[n]);if(W)for(var n of W(e))mt.call(e,n)&&k(t,n,e[n]);return t},S=(t,e)=>at(t,ct(e));var ft=(t,e)=>{for(var n in e)x(t,n,{get:e[n],enumerable:!0})},v=(t,e,n,s)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of ut(e))!Y.call(t,o)&&o!==n&&x(t,o,{get:()=>e[o],enumerable:!(s=it(e,o))||s.enumerable});return t};var Nt=(t,e,n)=>(n=t!=null?st(lt(t)):{},v(e||!t||!t.__esModule?x(n,"default",{value:t,enumerable:!0}):n,t)),gt=t=>v(x({},"__esModule",{value:!0}),t);var b=(t,e,n)=>new Promise((s,o)=>{var a=m=>{try{N(n.next(m))}catch(d){o(d)}},i=m=>{try{N(n.throw(m))}catch(d){o(d)}},N=m=>m.done?s(m.value):Promise.resolve(m.value).then(a,i);N((n=n.apply(t,e)).next())});var Te={};ft(Te,{COMMON_TOKEN_ADDRESSES:()=>le,COMMON_TOKEN_SYMBOLS:()=>me,COMMON_TOKEN_SYMBOLS_MAP:()=>fe,SOL_TOKEN_ADDRESS:()=>P,SOL_TOKEN_DECIMALS:()=>Fe,SOL_TOKEN_SYMBOL:()=>He,SOL_USD1_TOKEN_ADDRESS:()=>V,SOL_USD1_TOKEN_SYMBOL:()=>K,SOL_USDC_TOKEN_ADDRESS:()=>M,SOL_USDC_TOKEN_SYMBOL:()=>B,SOL_USDT_TOKEN_ADDRESS:()=>U,SOL_USDT_TOKEN_SYMBOL:()=>H,SOL_WRAPPED_TOKEN_ADDRESS:()=>F,SOL_WRAPPED_TOKEN_SYMBOL:()=>Ve,SafeBigNumber:()=>l,accountExplorerUrl:()=>Oe,camelCaseToSnakeCase:()=>ne,canConvertToNumber:()=>Mt,capitalizeString:()=>re,chainColor:()=>dt,chainDisplayName:()=>St,chainIcon:()=>ht,chainIdBySlug:()=>y,chainSlug:()=>pt,chainToNamespace:()=>At,debounce:()=>A.debounce,del:()=>Lt,displayCount3:()=>Jt,displayCount4:()=>Qt,findLongestCommonSubString:()=>oe,formatAge:()=>_t,formatAgeInSeconds:()=>Q,formatAmount:()=>Ut,formatAmount2:()=>Ht,formatAmount3:()=>Ft,formatAmountUSD:()=>Vt,formatAmountUSD2:()=>Kt,formatAmountUSD3:()=>Wt,formatAmountUSD4:()=>kt,formatAmountUSD5:()=>Yt,formatCount:()=>jt,formatCount2:()=>qt,formatCount3:()=>Xt,formatMultiplier:()=>zt,formatPercent:()=>Zt,formatPrice:()=>vt,formatPriceUSD:()=>Gt,formatReadableTime:()=>It,formatSymbol:()=>ie,formatTimeAgo:()=>Dt,formatTokenProtocolName:()=>ue,get:()=>Ct,getGlobalObject:()=>ot,getTimestamp:()=>Re,groupBy:()=>A.groupBy,intersectionBy:()=>A.intersectionBy,isHex:()=>nt,isHexString:()=>se,isValidNumber:()=>f,isValidSolanaAddress:()=>z,isValidTimeframe:()=>Bt,isValidWalletAddress:()=>bt,keyBy:()=>A.keyBy,mapKeys:()=>A.mapKeys,mapValues:()=>A.mapValues,millisecondsToHMS:()=>Et,mutate:()=>Pt,parseTokenProtocolFamily:()=>ce,post:()=>$t,put:()=>wt,request:()=>E,searchImageUrl:()=>de,searchTwitterUrl:()=>he,secondsSince:()=>X,shortAddress:()=>ae,subtractDaysFromCurrentDate:()=>Tt,throttle:()=>A.throttle,timestampToString:()=>Rt,twitterMediaUrl:()=>be,twitterTweetUrl:()=>Se,twitterUserUrl:()=>pe,txExplorerUrl:()=>ge,uniqBy:()=>A.uniqBy,version:()=>G,windowGuard:()=>Ee});module.exports=gt(Te);typeof window!="undefined"&&(window.__LIBERFI_VERSION__=window.__LIBERFI_VERSION__||{},window.__LIBERFI_VERSION__["@liberfi.io/utils"]="0.1.19");var G="0.1.19";var Z=require("@solana/kit"),r=require("@liberfi.io/types");function At(t){return t===r.Chain.SOLANA||t===r.Chain.SOLANA_TESTNET||t===r.Chain.SOLANA_DEVNET?r.ChainNamespace.SOLANA:r.ChainNamespace.EVM}var D={[r.Chain.ETHEREUM]:"ethereum",[r.Chain.UBIQ]:"ubiq",[r.Chain.OPTIMISM]:"optimism",[r.Chain.FLARE]:"flare",[r.Chain.SONGBIRD]:"songbird",[r.Chain.ELASTOS]:"elastos",[r.Chain.KARDIA]:"kardia",[r.Chain.CRONOS]:"cronos",[r.Chain.RSK]:"rsk",[r.Chain.TELOS]:"telos",[r.Chain.LUKSO]:"lukso",[r.Chain.CRAB]:"crab",[r.Chain.DARWINIA]:"darwinia",[r.Chain.XDC]:"xdc",[r.Chain.CSC]:"csc",[r.Chain.ZYX]:"zyx",[r.Chain.BINANCE]:"binance",[r.Chain.SYSCOIN]:"syscoin",[r.Chain.GOCHAIN]:"gochain",[r.Chain.ETHEREUMCLASSIC]:"ethereumclassic",[r.Chain.OKEXCHAIN]:"okexchain",[r.Chain.HOO]:"hoo",[r.Chain.METER]:"meter",[r.Chain.NOVA_NETWORK]:"nova network",[r.Chain.TOMOCHAIN]:"tomochain",[r.Chain.BITKUB]:"bitkub",[r.Chain.XDAI]:"xdai",[r.Chain.SOLANA]:"solana",[r.Chain.VELAS]:"velas",[r.Chain.THUNDERCORE]:"thundercore",[r.Chain.ENULS]:"enuls",[r.Chain.FUSE]:"fuse",[r.Chain.HECO]:"heco",[r.Chain.UNICHAIN]:"unichain",[r.Chain.POLYGON]:"polygon",[r.Chain.SONIC]:"sonic",[r.Chain.SHIMMER_EVM]:"shimmer_evm",[r.Chain.RBN]:"rbn",[r.Chain.OMNI]:"omni",[r.Chain.MANTA]:"manta",[r.Chain.HSK]:"hsk",[r.Chain.WATER]:"water",[r.Chain.XLAYER]:"xlayer",[r.Chain.XDAIARB]:"xdaiarb",[r.Chain.OP_BNB]:"op_bnb",[r.Chain.VINUCHAIN]:"vinuchain",[r.Chain.ENERGYWEB]:"energyweb",[r.Chain.OASYS]:"oasys",[r.Chain.FANTOM]:"fantom",[r.Chain.FRAXTAL]:"fraxtal",[r.Chain.HPB]:"hpb",[r.Chain.BOBA]:"boba",[r.Chain.OMAX]:"omax",[r.Chain.FILECOIN]:"filecoin",[r.Chain.KUCOIN]:"kucoin",[r.Chain.ZKSYNC_ERA]:"zksync era",[r.Chain.SHIDEN]:"shiden",[r.Chain.THETA]:"theta",[r.Chain.PULSE]:"pulse",[r.Chain.CRONOS_ZKEVM]:"cronos zkevm",[r.Chain.SX]:"sx",[r.Chain.AREON]:"areon",[r.Chain.WC]:"wc",[r.Chain.CANDLE]:"candle",[r.Chain.ROLLUX]:"rollux",[r.Chain.ASTAR]:"astar",[r.Chain.REDSTONE]:"redstone",[r.Chain.MATCHAIN]:"matchain",[r.Chain.CALLISTO]:"callisto",[r.Chain.TARA]:"tara",[r.Chain.WANCHAIN]:"wanchain",[r.Chain.LYRA_CHAIN]:"lyra chain",[r.Chain.BIFROST]:"bifrost",[r.Chain.CONFLUX]:"conflux",[r.Chain.METIS]:"metis",[r.Chain.DYMENSION]:"dymension",[r.Chain.POLYGON_ZKEVM]:"polygon zkevm",[r.Chain.CORE]:"core",[r.Chain.LISK]:"lisk",[r.Chain.ULTRON]:"ultron",[r.Chain.STEP]:"step",[r.Chain.MOONBEAM]:"moonbeam",[r.Chain.MOONRIVER]:"moonriver",[r.Chain.SEI]:"sei",[r.Chain.LIVING_ASSETS_MAINNET]:"living assets mainnet",[r.Chain.STY]:"sty",[r.Chain.TENET]:"tenet",[r.Chain.GRAVITY]:"gravity",[r.Chain.REYA_NETWORK]:"reya network",[r.Chain.SONEIUM]:"soneium",[r.Chain.SWELLCHAIN]:"swellchain",[r.Chain.ONUS]:"onus",[r.Chain.HUBBLENET]:"hubblenet",[r.Chain.SANKO]:"sanko",[r.Chain.DOGECHAIN]:"dogechain",[r.Chain.MILKOMEDA]:"milkomeda",[r.Chain.MILKOMEDA_A1]:"milkomeda_a1",[r.Chain.KAVA]:"kava",[r.Chain.SOMA]:"soma",[r.Chain.KARAK]:"karak",[r.Chain.ABSTRACT]:"abstract",[r.Chain.MORPH]:"morph",[r.Chain.CROSSFI]:"crossfi",[r.Chain.BEAM]:"beam",[r.Chain.IOTEX]:"iotex",[r.Chain.MANTLE]:"mantle",[r.Chain.XLC]:"xlc",[r.Chain.NAHMII]:"nahmii",[r.Chain.BOUNCEBIT]:"bouncebit",[r.Chain.TOMBCHAIN]:"tombchain",[r.Chain.ZETACHAIN]:"zetachain",[r.Chain.PLANQ]:"planq",[r.Chain.BITROCK]:"bitrock",[r.Chain.XSAT]:"xsat",[r.Chain.CYETH]:"cyeth",[r.Chain.CANTO]:"canto",[r.Chain.KLAYTN]:"klaytn",[r.Chain.THAT]:"that",[r.Chain.BASE]:"base",[r.Chain.HELA]:"hela",[r.Chain.IOTAEVM]:"iotaevm",[r.Chain.JBC]:"jbc",[r.Chain.EVMOS]:"evmos",[r.Chain.CARBON]:"carbon",[r.Chain.SMARTBCH]:"smartbch",[r.Chain.ARTELA]:"artela",[r.Chain.IMMUTABLE_ZKEVM]:"immutable zkevm",[r.Chain.LOOP]:"loop",[r.Chain.GENESYS]:"genesys",[r.Chain.EOS_EVM]:"eos evm",[r.Chain.MAP_PROTOCOL]:"map protocol",[r.Chain.SAPPHIRE]:"sapphire",[r.Chain.BITGERT]:"bitgert",[r.Chain.FUSION]:"fusion",[r.Chain.ZILLIQA]:"zilliqa",[r.Chain.APECHAIN]:"apechain",[r.Chain.EDU_CHAIN]:"edu chain",[r.Chain.ARBITRUM]:"arbitrum",[r.Chain.ARBITRUM_NOVA]:"arbitrum nova",[r.Chain.CELO]:"celo",[r.Chain.OASIS]:"oasis",[r.Chain.ASSETCHAIN]:"assetchain",[r.Chain.ETHERLINK]:"etherlink",[r.Chain.AVALANCHE]:"avalanche",[r.Chain.REI]:"rei",[r.Chain.ZIRCUIT]:"zircuit",[r.Chain.SOPHON]:"sophon",[r.Chain.ETN]:"etn",[r.Chain.SUPERPOSITION]:"superposition",[r.Chain.REICHAIN]:"reichain",[r.Chain.BOBA_BNB]:"boba_bnb",[r.Chain.INK]:"ink",[r.Chain.LINEA]:"linea",[r.Chain.BOB]:"bob",[r.Chain.GODWOKEN]:"godwoken",[r.Chain.BERACHAIN]:"berachain",[r.Chain.BLAST]:"blast",[r.Chain.CHILIZ]:"chiliz",[r.Chain.STRATIS]:"stratis",[r.Chain.REAL]:"real",[r.Chain.ODYSSEY]:"odyssey",[r.Chain.TAIKO]:"taiko",[r.Chain.BITLAYER]:"bitlayer",[r.Chain.HYDRATION]:"hydration",[r.Chain.PAREX]:"parex",[r.Chain.POLIS]:"polis",[r.Chain.KEKCHAIN]:"kekchain",[r.Chain.SCROLL]:"scroll",[r.Chain.ZERO_NETWORK]:"zero_network",[r.Chain.ZKLINK_NOVA]:"zklink nova",[r.Chain.VISION]:"vision",[r.Chain.SAAKURU]:"saakuru",[r.Chain.ZORA]:"zora",[r.Chain.CORN]:"corn",[r.Chain.NEON]:"neon",[r.Chain.LUMIA]:"lumia",[r.Chain.AURORA]:"aurora",[r.Chain.HARMONY]:"harmony",[r.Chain.PALM]:"palm",[r.Chain.ZENIQ]:"zeniq",[r.Chain.CURIO]:"curio",[r.Chain.MODE]:"mode"},_={[r.Chain.SOLANA]:"sol",[r.Chain.ETHEREUM]:"eth",[r.Chain.BINANCE]:"bsc",[r.Chain.ARBITRUM]:"arb",[r.Chain.OPTIMISM]:"opt",[r.Chain.AVALANCHE]:"avax"},Ot={[r.Chain.SOLANA]:"#9945FF",[r.Chain.ETHEREUM]:"#627EEA",[r.Chain.BINANCE]:"#F0B90B",[r.Chain.ARBITRUM]:"#28A0F0",[r.Chain.OPTIMISM]:"#FF0420",[r.Chain.AVALANCHE]:"#E84142",[r.Chain.POLYGON]:"#8247E5",[r.Chain.BASE]:"#0052FF",[r.Chain.SONIC]:"#5B6EF5",[r.Chain.LINEA]:"#61DFFF",[r.Chain.SCROLL]:"#FFEEDA",[r.Chain.BLAST]:"#FCFC03",[r.Chain.CRONOS]:"#002D74",[r.Chain.BERACHAIN]:"#964B00"};function dt(t){return Ot[t]}function ht(t){var s;let e=(s=y(t))!=null?s:t,n=D[e];return n?`https://icons.llamao.fi/icons/chains/rsz_${encodeURIComponent(n)}.jpg`:void 0}function pt(t){return D[t]}function St(t){let e=_[t];if(e)return e.toUpperCase();let n=D[t];return n?n.charAt(0).toUpperCase()+n.slice(1):t}function y(t){let e=Object.keys(_).find(s=>{var o;return((o=_[s])==null?void 0:o.toLowerCase())===t.toLowerCase()});if(e)return e;let n=Object.keys(D).find(s=>{var o;return((o=D[s])==null?void 0:o.toLowerCase())===t.toLowerCase()});return n||void 0}function bt(t,e){var s;switch((s=y(t))!=null?s:t){case r.Chain.SOLANA:return z(e);default:throw new Error(`Unsupported chain: ${t}`)}}function z(t){try{return(0,Z.address)(t),!0}catch(e){return!1}}var C=Date.now(),$=60,w=60*$,L=24*w,j=365*L,Et=t=>{let e=Math.floor(t/1e3),n=Math.floor(e/3600),s=Math.floor(e%3600/60),o=e%60;return[n,s,o]},Rt=t=>{let e=t instanceof Date?t:new Date(t),n=e.getFullYear(),s=String(e.getMonth()+1).padStart(2,"0"),o=String(e.getDate()).padStart(2,"0"),a=String(e.getHours()).padStart(2,"0"),i=String(e.getMinutes()).padStart(2,"0"),N=String(e.getSeconds()).padStart(2,"0");return`${n}-${s}-${o} ${a}:${i}:${N}`};function Tt(t,e){let n=e||new Date,s=new Date(n);return s.setDate(n.getDate()-t),s}function q(t){return!t||Number.isNaN(t)||t<=0?C:t<1e10?t*1e3:t}function xt(t){if(!t)return C;if(typeof t=="number")return q(t);if(typeof t=="string"){let e=Date.parse(t);return q(e)}return t instanceof Date?t.getTime():C}function Dt(t){let e=Math.floor((Date.now()-xt(t))/1e3);return e>=j?`${Math.floor(e/j)}Y`:e>=L?`${Math.floor(e/L)}D`:e>=w?`${Math.floor(e/w)}h`:e>=$?`${Math.floor(e/$)}m`:`${e}s`}function X(t,e){let n=e?e instanceof Date?e.getTime():e:Date.now(),s=t instanceof Date?t.getTime():t,o=n-s;return Math.floor(o/1e3)}var h={justNow:"just now",secondsAgo:"{n}s",minutesAgo:"{n}m",hoursAgo:"{n}h",daysAgo:"{n}d",yearsAgo:"{n}y"};function It(t,e={}){let n=X(t),s={justNow:e.justNow||h.justNow,secondsAgo:e.secondsAgo||h.secondsAgo,minutesAgo:e.minutesAgo||h.minutesAgo,hoursAgo:e.hoursAgo||h.hoursAgo,daysAgo:e.daysAgo||h.daysAgo,yearsAgo:e.yearsAgo||h.yearsAgo},o=60,a=60*o,i=24*a,N=365*i;if(n<10)return s.justNow;if(n<o)return s.secondsAgo.replace("{n}",n.toString());if(n<a){let d=Math.floor(n/o);return s.minutesAgo.replace("{n}",d.toString())}if(n<i){let d=Math.floor(n/a);return s.hoursAgo.replace("{n}",d.toString())}if(n<N){let d=Math.floor(n/i);return s.daysAgo.replace("{n}",d.toString())}let m=Math.floor(n/N);return s.yearsAgo.replace("{n}",m.toString())}function _t(t,e={}){let n=Math.floor(t/1e3);return Q(n,e)}function Q(t,e={}){let n={justNow:e.justNow||h.justNow,secondsAgo:e.secondsAgo||h.secondsAgo,minutesAgo:e.minutesAgo||h.minutesAgo,hoursAgo:e.hoursAgo||h.hoursAgo,daysAgo:e.daysAgo||h.daysAgo,yearsAgo:e.yearsAgo||h.yearsAgo},s=60,o=60*s,a=24*o,i=365*a;if(t<10)return n.justNow;if(t<s)return n.secondsAgo.replace("{n}",t.toString());if(t<o){let m=Math.floor(t/s);return n.minutesAgo.replace("{n}",m.toString())}if(t<a){let m=Math.floor(t/o);return n.hoursAgo.replace("{n}",m.toString())}if(t<i){let m=Math.floor(t/a);return n.daysAgo.replace("{n}",m.toString())}let N=Math.floor(t/i);return n.yearsAgo.replace("{n}",N.toString())}var J=require("@liberfi.io/types");function E(t,e){return b(this,null,function*(){if(!t.startsWith("http"))throw new Error("url must start with http(s)");let n=yield fetch(t,S(p({},e),{headers:yt(e.headers,e.method)}));if(n.ok)return yield n.json();try{let s=yield n.json();throw n.status===400?new J.ApiError(s.message||s.code||n.statusText,s.code):new Error(s.message||s.code||n.statusText)}catch(s){throw s}})}function yt(t={},e){let n=new Headers(t);return n.has("Content-Type")||(e!=="DELETE"?n.append("Content-Type","application/json;charset=utf-8"):n.append("Content-Type","application/x-www-form-urlencoded")),n}function Ct(t,e){return b(this,null,function*(){return yield E(t,p({method:"GET"},e))})}function $t(t,e,n){return b(this,null,function*(){return yield E(t,p({method:"POST",body:JSON.stringify(e)},n))})}function wt(t,e,n){return b(this,null,function*(){return yield E(t,p({method:"PUT",body:JSON.stringify(e)},n))})}function Lt(t,e){return b(this,null,function*(){return yield E(t,p({method:"DELETE"},e))})}function Pt(t,e){return b(this,null,function*(){return yield E(t,e)})}var c=Nt(require("bignumber.js"));var l=class extends c.default{constructor(e,n){try{super(e!=null?e:0,n)}catch(s){console.error("SafeBigNumber constructor error",s),super(0,n)}}},f=t=>{if(typeof t=="number"&&!isNaN(t)||t instanceof l||t instanceof c.default)return!0;if(typeof t!="string")return!1;let e=Number.parseFloat(t);return!isNaN(e)},Mt=t=>(typeof t=="number"||!!t)&&f(typeof t=="string"?Number(t):t),Bt=(t="")=>/^(\d+\.?\d*|\.\d+)([hm]?)$$/.test(t),Ut=(t="",e={showPlusGtThanZero:!1})=>{if(!f(t))return"--";let n=new l(t),s=n.lt(0),o=n.abs(),a=o.lt(.001)?o.decimalPlaces(5,c.default.ROUND_DOWN).toString():o.lt(1)?o.decimalPlaces(3,c.default.ROUND_DOWN).toString():o.lt(100)?o.decimalPlaces(2,c.default.ROUND_DOWN).toString():o.lt(1e5)?u(o,2):O(o);return Number(a)===0?`${a}`:s?`-${a}`:e!=null&&e.showPlusGtThanZero?`+${a}`:`${a}`},Ht=(t="",e={showPlusGtThanZero:!1})=>{if(!f(t))return"--";let n=new l(t),s=n.lt(0),o=n.abs(),a=o.lt(.001)?o.decimalPlaces(5,c.default.ROUND_DOWN).toString():o.lt(1)?o.decimalPlaces(3,c.default.ROUND_DOWN).toString():o.lt(100)?o.decimalPlaces(1,c.default.ROUND_DOWN).toString():o.lt(1e3)?u(o,1):O(o);return Number(a)===0?`${a}`:s?`-${a}`:e!=null&&e.showPlusGtThanZero?`+${a}`:`${a}`},Ft=(t="",e={showPlusGtThanZero:!1})=>{if(!f(t))return"--";let n=new l(t),s=n.lt(0),o=n.abs(),a=o.lt(.001)?o.decimalPlaces(5,c.default.ROUND_DOWN).toString():o.lt(1)?o.decimalPlaces(3,c.default.ROUND_DOWN).toString():o.lt(100)?o.decimalPlaces(1,c.default.ROUND_DOWN).toString():o.lt(1e3)?u(o,1):O(o,0);return Number(a)===0?`${a}`:s?`-${a}`:e!=null&&e.showPlusGtThanZero?`+${a}`:`${a}`},Vt=(t="",e={showPlusGtThanZero:!1})=>{if(!f(t))return"--";let n=new l(t),s=n.lt(0),o=n.abs(),a=o.lt(.001)?"$0":o.lt(1)?`$${o.decimalPlaces(3,c.default.ROUND_DOWN)}`:o.lt(100)?`$${o.decimalPlaces(2,c.default.ROUND_DOWN)}`:o.lt(1e4)?`$${u(o,2)}`:`$${O(o)}`;return a==="$0"?a:s?`-${a}`:e!=null&&e.showPlusGtThanZero?`+${a}`:a},Kt=(t="",e={showPlusGtThanZero:!1})=>{if(!f(t))return"--";let n=new l(t),s=n.lt(0),o=n.abs(),a=o.div(100).integerValue(c.default.ROUND_DOWN).times(100),i=o.lt(1e-4)||o.lt(.001)?"$0":o.lt(1)?`$${o.decimalPlaces(3,c.default.ROUND_DOWN)}`:o.lt(100)?`$${o.decimalPlaces(2,c.default.ROUND_DOWN)}`:o.lt(1e3)?`$${o.decimalPlaces(1,c.default.ROUND_DOWN)}`:o.lt(1e15)?`$${O(a)}`:`$${ee(o,{acronymMin:1e5,groupingSeparator:!0})}`;return i==="$0"?i:s?`-${i}`:e!=null&&e.showPlusGtThanZero?`+${i}`:i},Wt=(t="",e={showPlusGtThanZero:!1})=>{if(!f(t))return"--";let n=new l(t),s=n.lt(0),o=n.abs(),a=o.div(100).integerValue(c.default.ROUND_DOWN).times(100),i=o.lt(1e-4)||o.lt(.001)?"$0":o.lt(1)?`$${o.decimalPlaces(3,c.default.ROUND_DOWN)}`:o.lt(100)?`$${o.decimalPlaces(2,c.default.ROUND_DOWN)}`:o.lt(1e3)?`$${o.decimalPlaces(0,c.default.ROUND_DOWN)}`:`$${O(a,0)}`;return i==="$0"?i:s?`-${i}`:e!=null&&e.showPlusGtThanZero?`+${i}`:i},kt=(t="",e={showPlusGtThanZero:!1})=>{if(!f(t))return"--";let n=new l(t),s=n.lt(0),o=n.abs(),a=o.lt(1e-4)||o.lt(.001)?"$0":o.lt(1)?`$${o.decimalPlaces(3,c.default.ROUND_DOWN)}`:o.lt(100)?`$${o.decimalPlaces(2,c.default.ROUND_DOWN)}`:o.lt(1e3)?`$${u(o,2)}`:`$${O(o)}`;return a==="$0"?a:s?`-${a}`:e!=null&&e.showPlusGtThanZero?`+${a}`:a},Yt=(t="",e={showPlusGtThanZero:!1})=>{if(!f(t))return"--";let n=new l(t),s=n.lt(0),o=n.abs(),a=o.lt(1e-4)||o.lt(.001)?"$0":o.lt(100)?`$${o.decimalPlaces(0,c.default.ROUND_DOWN)}`:o.lt(1e3)?`$${u(o,0)}`:`$${O(o,0)}`;return a==="$0"?a:s?`-${a}`:e!=null&&e.showPlusGtThanZero?`+${a}`:a},vt=(t="",e={isHighPrecise:!0})=>{if(!f(t))return"--";let n=new l(t);if(n.lt(0))return"--";let s=n.abs(),{isHighPrecise:o}=e;return`${s.lt(1e-4)?et(s,o?4:2):s.lt(1)?o?u(s,4):rt(s,2):s.lt(100)||s.lt(1e4)?u(s,o?4:2):s.lt(1e5)?u(s,2):O(s)}`},Gt=(t="",e={isHighPrecise:!0})=>{if(!f(t))return"--";let n=new l(t);if(n.lt(0))return"--";let s=n.abs(),{isHighPrecise:o}=e;return`$${s.lt(1e-4)?et(s,o?4:2):s.lt(1)?o?u(s,4):rt(s,2):s.lt(100)||s.lt(1e4)?u(s,o?4:2):s.lt(1e5)?u(s,2):O(s)}`},Zt=(t="",e={})=>{var i,N;if(!f(t))return"-- %";let n=new l(t),s=n.lt(0),o=n.abs(),a=s?"-":e!=null&&e.showPlusGtThanZero?"+":"";return o.lt(1e-4)?"0%":o.lt(100)?`${a}${tt(o,(i=e==null?void 0:e.precision)!=null?i:2)}`:o.lt(1e3)?`${a}${tt(o,(N=e==null?void 0:e.precision)!=null?N:1)}`:`${a}> 99,999%`},tt=(t,e)=>`${t.times(100).decimalPlaces(e,c.default.ROUND_HALF_UP).toString()}%`,zt=(t="",e={showPlusGtThanZero:!0})=>{if(!f(t))return"0%";let n=new l(t),s=n.lt(0),o=n.abs(),a=s?"-":e!=null&&e.showPlusGtThanZero?"+":"";return o.lt(.01)?"0%":o.lt(10)?`${a}${u(o,2)}X`:o.lt(100)?`${a}${u(o,1)}X`:o.lt(1e5)?`${a}${u(o,0)}X`:`${a}>99,999%`},jt=(t="")=>{if(!f(t))return"--";let e=new l(t);return e.lt(1e5)?u(e,0):O(e)},qt=(t="")=>{if(!f(t))return"--";let e=new l(t);return e.lt(1e3)?u(e,0):O(e.div(1e3).integerValue(c.default.ROUND_DOWN).times(1e3),0)},Xt=(t="")=>{if(!f(t))return"--";let e=new l(t);return u(e,0)},Qt=(t="")=>f(t)?u(t,0):"--",Jt=(t="")=>{if(!f(t))return"--";let e=new l(t);return e.lt(1e3)?u(e,0):O(e.div(100).integerValue(c.default.ROUND_DOWN).times(100))},te=["\u2080","\u2081","\u2082","\u2083","\u2084","\u2085","\u2086","\u2087","\u2088","\u2089","\u2081\u2080","\u2081\u2081","\u2081\u2082","\u2081\u2083","\u2081\u2084","\u2081\u2085","\u2081\u2086","\u2081\u2087","\u2081\u2088","\u2081\u2089","\u2082\u2080","\u2082\u2081","\u2082\u2082","\u2082\u2083","\u2082\u2084","\u2082\u2085","\u2082\u2086","\u2082\u2087","\u2082\u2088","\u2082\u2089","\u2083\u2080","\u2083\u2081","\u2083\u2082","\u2083\u2083","\u2083\u2084","\u2083\u2085","\u2083\u2086","\u2083\u2087","\u2083\u2088","\u2083\u2089","\u2084\u2080"],u=(t,e=0,n=c.default.ROUND_DOWN)=>{let o=new l(t).decimalPlaces(e,n).toString().split(".");return o[0]=o[0].replace(/\B(?=(\d{3})+(?!\d))/g,","),o.join(".")},O=(t,e=1)=>{let n=new l(t);return n.lt(1e3)?n.toNumber():n.lt(1e6)?`${u(n.div(1e3),e)}K`:n.lt(1e9)?`${u(n.div(1e6),e)}M`:n.lt(1e12)?`${u(n.dividedBy(1e9),e)}B`:`${u(n.dividedBy(1e12),e)}T`},et=(t,e=5)=>{let n=new l(t);if(n.eq(0))return"0";let[s,o]=n.toFixed().split("."),a=o.split(""),i=a.findIndex(m=>m!=="0"),N=Math.min(a.length-i,e);return`${u(s)}.0`.concat(te[i]).concat(a.slice(i,i+N).join("").replace(/\.?0+$/,""))},rt=(t,e)=>{let n=t.toString().match(/\.0*/),s=(n?n[0].length-1:0)+e;return u(t,s)},R=(t,e={})=>{let{precision:n=4,min:s,max:o,groupingSeparator:a,rounding:i,zeroDisplay:N}=e,m={up:c.default.ROUND_UP,down:c.default.ROUND_DOWN,ceil:c.default.ROUND_CEIL,floor:c.default.ROUND_FLOOR},d=new l(t);if(d.eq(0))return N||"0";let T=d.abs();return s&&T.lt(s)?`<${s}`:o&&T.gt(o)?`>${o}`:a?u(T,n,i?m[i]:void 0):(i?T.decimalPlaces(n,m[i]):T.decimalPlaces(n)).toString()},ee=(t,e={})=>{let n=new l(t);if(n.eq(0))return e.zeroDisplay?e.zeroDisplay:"";let{acronymMin:s=1e4}=e,o=n.abs();return o.lt(s)?R(n,e):o.gte(1e15)?n.toExponential(2):o.gte(1e12)?`${R(n.div(1e12),S(p({},e),{precision:0}))}T`:o.gte(1e9)?`${R(n.div(1e9),S(p({},e),{precision:0}))}B`:o.gte(1e6)?`${R(n.div(1e6),S(p({},e),{precision:1}))}M`:o.gte(1e4)?`${R(n.div(1e3),S(p({},e),{precision:1}))}K`:R(n,e)};function re(t){let e=t.toLowerCase();return e.charAt(0).toUpperCase()+e.slice(1)}function ne(t){return t.replace(/([a-z])([A-Z])/g,"$1_$2").toLowerCase()}var oe=(t,e)=>{for(let n=0;n<t.length;n++){let s=t.at(n),o=e.at(n);if(s!==o)return n}return-1};function nt(t){return/^[a-f0-9]+$/iu.test(t)}function se(t){return typeof t=="string"&&t.startsWith("0x")&&nt(t)}function ae(t,e=6,n=4){return t.slice(0,e)+"..."+t.slice(-n)}function ie(t,e="base-type"){if(!t)return"";let n=t.split("_"),s=n[0],o=n[1],a=n[2];return e.replace("type",s).replace("base",o).replace("quote",a)}var I=require("@liberfi.io/types"),ce=(t,e)=>{switch(t){case I.Chain.SOLANA:return I.SOLANA_TOKEN_PROTOCOLS.find(n=>new RegExp(n,"i").test(e));default:return}},ue=t=>t.split("-").map(e=>e.charAt(0).toUpperCase()+e.slice(1)).join(" ");var P="11111111111111111111111111111111",He="SOL",Fe=9,M="EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",B="USDC",U="Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB",H="USDT",F="So11111111111111111111111111111111111111112",Ve="SOL",V="USD1ttGY1N17NEEHLmELoaybftRBUSErhqYiQzvEmuB",K="USD1",le=[P,M,U,F,V],me=["SOL",B,H,"SOL",K],fe={[P]:"SOL",[M]:B,[U]:H,[F]:"SOL",[V]:K};var g=require("@liberfi.io/types"),Ne={[g.Chain.SOLANA]:"https://solscan.io/tx/${txHash}",[g.Chain.ETHEREUM]:"https://etherscan.io/tx/${txHash}",[g.Chain.POLYGON]:"https://polygonscan.com/tx/${txHash}",[g.Chain.BINANCE]:"https://bscscan.com/tx/${txHash}",[g.Chain.BINANCE_TESTNET]:"https://testnet.bscscan.com/tx/${txHash}",[g.Chain.AVALANCHE]:"https://snowtrace.io/tx/${txHash}",[g.Chain.BASE]:"https://basescan.org/tx/${txHash}",[g.Chain.BLAST]:"https://blastracker.xyz/tx/${txHash}",[g.Chain.ARBITRUM]:"https://arbiscan.io/tx/${txHash}",[g.Chain.ARBITRUM_NOVA]:"https://nova.arbiscan.io/tx/${txHash}",[g.Chain.ARBITRUM_TESTNET_GOERLI]:"https://goerli.arbiscan.io/tx/${txHash}",[g.Chain.ARBITRUM_TESTNET_SEPOLIA]:"https://sepolia.arbiscan.io/tx/${txHash}"};function ge(t,e){var n;return(n=Ne[t])==null?void 0:n.replace("${txHash}",e)}var Ae={[g.Chain.SOLANA]:"https://solscan.io/account/${account}",[g.Chain.ETHEREUM]:"https://etherscan.io/address/${account}",[g.Chain.POLYGON]:"https://polygonscan.com/address/${account}",[g.Chain.BINANCE]:"https://bscscan.com/address/${account}"},Oe=(t,e)=>{var n;return(n=Ae[t])==null?void 0:n.replace("${account}",e)};function de(t){return`https://lens.google.com/uploadbyurl?url=${encodeURIComponent(t)}`}function he(t){return`https://x.com/search?q=${encodeURIComponent(t)}`}function pe(t){return`https://x.com/${t}`}function Se(t){return`https://x.com/${t}`}function be(t){return`https://x.com/${t}`}var Ee=t=>{typeof window!="undefined"&&t()},ot=()=>{if(typeof globalThis!="undefined")return globalThis;if(typeof self!="undefined")return self;if(typeof window!="undefined")return window;if(typeof global!="undefined")return global;throw new Error("cannot find the global object")},Re=()=>{var t;if(typeof window!="undefined"){let e=(t=ot())==null?void 0:t.__LIBERFI_timestamp_offset;if(typeof e=="number")return Date.now()+(e||0)}return Date.now()};var A=require("lodash-es");0&&(module.exports={COMMON_TOKEN_ADDRESSES,COMMON_TOKEN_SYMBOLS,COMMON_TOKEN_SYMBOLS_MAP,SOL_TOKEN_ADDRESS,SOL_TOKEN_DECIMALS,SOL_TOKEN_SYMBOL,SOL_USD1_TOKEN_ADDRESS,SOL_USD1_TOKEN_SYMBOL,SOL_USDC_TOKEN_ADDRESS,SOL_USDC_TOKEN_SYMBOL,SOL_USDT_TOKEN_ADDRESS,SOL_USDT_TOKEN_SYMBOL,SOL_WRAPPED_TOKEN_ADDRESS,SOL_WRAPPED_TOKEN_SYMBOL,SafeBigNumber,accountExplorerUrl,camelCaseToSnakeCase,canConvertToNumber,capitalizeString,chainColor,chainDisplayName,chainIcon,chainIdBySlug,chainSlug,chainToNamespace,debounce,del,displayCount3,displayCount4,findLongestCommonSubString,formatAge,formatAgeInSeconds,formatAmount,formatAmount2,formatAmount3,formatAmountUSD,formatAmountUSD2,formatAmountUSD3,formatAmountUSD4,formatAmountUSD5,formatCount,formatCount2,formatCount3,formatMultiplier,formatPercent,formatPrice,formatPriceUSD,formatReadableTime,formatSymbol,formatTimeAgo,formatTokenProtocolName,get,getGlobalObject,getTimestamp,groupBy,intersectionBy,isHex,isHexString,isValidNumber,isValidSolanaAddress,isValidTimeframe,isValidWalletAddress,keyBy,mapKeys,mapValues,millisecondsToHMS,mutate,parseTokenProtocolFamily,post,put,request,searchImageUrl,searchTwitterUrl,secondsSince,shortAddress,subtractDaysFromCurrentDate,throttle,timestampToString,twitterMediaUrl,twitterTweetUrl,twitterUserUrl,txExplorerUrl,uniqBy,version,windowGuard});
1
+ "use strict";var ce=Object.create;var D=Object.defineProperty,ue=Object.defineProperties,le=Object.getOwnPropertyDescriptor,de=Object.getOwnPropertyDescriptors,me=Object.getOwnPropertyNames,_=Object.getOwnPropertySymbols,fe=Object.getPrototypeOf,F=Object.prototype.hasOwnProperty,Ae=Object.prototype.propertyIsEnumerable;var H=(e,t,n)=>t in e?D(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,h=(e,t)=>{for(var n in t||(t={}))F.call(t,n)&&H(e,n,t[n]);if(_)for(var n of _(t))Ae.call(t,n)&&H(e,n,t[n]);return e},O=(e,t)=>ue(e,de(t));var ge=(e,t)=>{for(var n in t)D(e,n,{get:t[n],enumerable:!0})},V=(e,t,n,s)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of me(t))!F.call(e,o)&&o!==n&&D(e,o,{get:()=>t[o],enumerable:!(s=le(t,o))||s.enumerable});return e};var be=(e,t,n)=>(n=e!=null?ce(fe(e)):{},V(t||!e||!e.__esModule?D(n,"default",{value:e,enumerable:!0}):n,e)),Ne=e=>V(D({},"__esModule",{value:!0}),e);var E=(e,t,n)=>new Promise((s,o)=>{var a=d=>{try{f(n.next(d))}catch(N){o(N)}},i=d=>{try{f(n.throw(d))}catch(N){o(N)}},f=d=>d.done?s(d.value):Promise.resolve(d.value).then(a,i);f((n=n.apply(e,t)).next())});var yt={};ge(yt,{ARBITRUM_TOKENS:()=>oe,AVALANCHE_TOKENS:()=>ae,BSC_TOKENS:()=>ne,CHAIN_TOKENS:()=>C,ETHEREUM_TOKENS:()=>re,OPTIMISM_TOKENS:()=>se,SOLANA_TOKENS:()=>te,SafeBigNumber:()=>l,accountExplorerUrl:()=>Ot,camelCaseToSnakeCase:()=>st,canConvertToNumber:()=>_e,capitalizeString:()=>ot,chainColor:()=>he,chainDisplayName:()=>Se,chainIcon:()=>Oe,chainIdBySlug:()=>P,chainSlug:()=>Ee,chainToNamespace:()=>W,debounce:()=>g.debounce,del:()=>Me,displayCount3:()=>tt,displayCount4:()=>et,findLongestCommonSubString:()=>at,formatAge:()=>we,formatAgeInSeconds:()=>z,formatAmount:()=>Fe,formatAmount2:()=>Ve,formatAmount3:()=>ke,formatAmountUSD:()=>ve,formatAmountUSD2:()=>We,formatAmountUSD3:()=>Ke,formatAmountUSD4:()=>Ge,formatAmountUSD5:()=>Ze,formatCount:()=>qe,formatCount2:()=>Qe,formatCount3:()=>Je,formatMultiplier:()=>Xe,formatPercent:()=>ze,formatPrice:()=>Ye,formatPriceUSD:()=>je,formatReadableTime:()=>Ie,formatSymbol:()=>ut,formatTimeAgo:()=>ye,formatTokenProtocolName:()=>dt,get:()=>Pe,getCommonTokenAddresses:()=>gt,getCommonTokenSymbolsMap:()=>bt,getGlobalObject:()=>ie,getNativeToken:()=>mt,getStablecoins:()=>At,getTimestamp:()=>Dt,getWrappedToken:()=>ft,groupBy:()=>g.groupBy,intersectionBy:()=>g.intersectionBy,isHex:()=>ee,isHexString:()=>it,isValidEvmAddress:()=>K,isValidNumber:()=>m,isValidSolanaAddress:()=>G,isValidTimeframe:()=>He,isValidWalletAddress:()=>Te,keyBy:()=>g.keyBy,mapKeys:()=>g.mapKeys,mapValues:()=>g.mapValues,millisecondsToHMS:()=>Re,mutate:()=>Le,parseTokenProtocolFamily:()=>lt,post:()=>Ue,put:()=>Be,request:()=>T,searchImageUrl:()=>Et,searchTwitterUrl:()=>St,secondsSince:()=>j,shortAddress:()=>ct,subtractDaysFromCurrentDate:()=>xe,throttle:()=>g.throttle,timestampToString:()=>Ce,twitterMediaUrl:()=>Ct,twitterTweetUrl:()=>Rt,twitterUserUrl:()=>Tt,txExplorerUrl:()=>pt,uniqBy:()=>g.uniqBy,version:()=>k,windowGuard:()=>xt});module.exports=Ne(yt);typeof window!="undefined"&&(window.__LIBERFI_VERSION__=window.__LIBERFI_VERSION__||{},window.__LIBERFI_VERSION__["@liberfi.io/utils"]="0.1.21");var k="0.1.21";var v=require("@solana/kit"),r=require("@liberfi.io/types");function W(e){return e===r.Chain.SOLANA||e===r.Chain.SOLANA_TESTNET||e===r.Chain.SOLANA_DEVNET?r.ChainNamespace.SOLANA:r.ChainNamespace.EVM}var y={[r.Chain.ETHEREUM]:"ethereum",[r.Chain.UBIQ]:"ubiq",[r.Chain.OPTIMISM]:"optimism",[r.Chain.FLARE]:"flare",[r.Chain.SONGBIRD]:"songbird",[r.Chain.ELASTOS]:"elastos",[r.Chain.KARDIA]:"kardia",[r.Chain.CRONOS]:"cronos",[r.Chain.RSK]:"rsk",[r.Chain.TELOS]:"telos",[r.Chain.LUKSO]:"lukso",[r.Chain.CRAB]:"crab",[r.Chain.DARWINIA]:"darwinia",[r.Chain.XDC]:"xdc",[r.Chain.CSC]:"csc",[r.Chain.ZYX]:"zyx",[r.Chain.BINANCE]:"binance",[r.Chain.SYSCOIN]:"syscoin",[r.Chain.GOCHAIN]:"gochain",[r.Chain.ETHEREUMCLASSIC]:"ethereumclassic",[r.Chain.OKEXCHAIN]:"okexchain",[r.Chain.HOO]:"hoo",[r.Chain.METER]:"meter",[r.Chain.NOVA_NETWORK]:"nova network",[r.Chain.TOMOCHAIN]:"tomochain",[r.Chain.BITKUB]:"bitkub",[r.Chain.XDAI]:"xdai",[r.Chain.SOLANA]:"solana",[r.Chain.VELAS]:"velas",[r.Chain.THUNDERCORE]:"thundercore",[r.Chain.ENULS]:"enuls",[r.Chain.FUSE]:"fuse",[r.Chain.HECO]:"heco",[r.Chain.UNICHAIN]:"unichain",[r.Chain.POLYGON]:"polygon",[r.Chain.SONIC]:"sonic",[r.Chain.SHIMMER_EVM]:"shimmer_evm",[r.Chain.RBN]:"rbn",[r.Chain.OMNI]:"omni",[r.Chain.MANTA]:"manta",[r.Chain.HSK]:"hsk",[r.Chain.WATER]:"water",[r.Chain.XLAYER]:"xlayer",[r.Chain.XDAIARB]:"xdaiarb",[r.Chain.OP_BNB]:"op_bnb",[r.Chain.VINUCHAIN]:"vinuchain",[r.Chain.ENERGYWEB]:"energyweb",[r.Chain.OASYS]:"oasys",[r.Chain.FANTOM]:"fantom",[r.Chain.FRAXTAL]:"fraxtal",[r.Chain.HPB]:"hpb",[r.Chain.BOBA]:"boba",[r.Chain.OMAX]:"omax",[r.Chain.FILECOIN]:"filecoin",[r.Chain.KUCOIN]:"kucoin",[r.Chain.ZKSYNC_ERA]:"zksync era",[r.Chain.SHIDEN]:"shiden",[r.Chain.THETA]:"theta",[r.Chain.PULSE]:"pulse",[r.Chain.CRONOS_ZKEVM]:"cronos zkevm",[r.Chain.SX]:"sx",[r.Chain.AREON]:"areon",[r.Chain.WC]:"wc",[r.Chain.CANDLE]:"candle",[r.Chain.ROLLUX]:"rollux",[r.Chain.ASTAR]:"astar",[r.Chain.REDSTONE]:"redstone",[r.Chain.MATCHAIN]:"matchain",[r.Chain.CALLISTO]:"callisto",[r.Chain.TARA]:"tara",[r.Chain.WANCHAIN]:"wanchain",[r.Chain.LYRA_CHAIN]:"lyra chain",[r.Chain.BIFROST]:"bifrost",[r.Chain.CONFLUX]:"conflux",[r.Chain.METIS]:"metis",[r.Chain.DYMENSION]:"dymension",[r.Chain.POLYGON_ZKEVM]:"polygon zkevm",[r.Chain.CORE]:"core",[r.Chain.LISK]:"lisk",[r.Chain.ULTRON]:"ultron",[r.Chain.STEP]:"step",[r.Chain.MOONBEAM]:"moonbeam",[r.Chain.MOONRIVER]:"moonriver",[r.Chain.SEI]:"sei",[r.Chain.LIVING_ASSETS_MAINNET]:"living assets mainnet",[r.Chain.STY]:"sty",[r.Chain.TENET]:"tenet",[r.Chain.GRAVITY]:"gravity",[r.Chain.REYA_NETWORK]:"reya network",[r.Chain.SONEIUM]:"soneium",[r.Chain.SWELLCHAIN]:"swellchain",[r.Chain.ONUS]:"onus",[r.Chain.HUBBLENET]:"hubblenet",[r.Chain.SANKO]:"sanko",[r.Chain.DOGECHAIN]:"dogechain",[r.Chain.MILKOMEDA]:"milkomeda",[r.Chain.MILKOMEDA_A1]:"milkomeda_a1",[r.Chain.KAVA]:"kava",[r.Chain.SOMA]:"soma",[r.Chain.KARAK]:"karak",[r.Chain.ABSTRACT]:"abstract",[r.Chain.MORPH]:"morph",[r.Chain.CROSSFI]:"crossfi",[r.Chain.BEAM]:"beam",[r.Chain.IOTEX]:"iotex",[r.Chain.MANTLE]:"mantle",[r.Chain.XLC]:"xlc",[r.Chain.NAHMII]:"nahmii",[r.Chain.BOUNCEBIT]:"bouncebit",[r.Chain.TOMBCHAIN]:"tombchain",[r.Chain.ZETACHAIN]:"zetachain",[r.Chain.PLANQ]:"planq",[r.Chain.BITROCK]:"bitrock",[r.Chain.XSAT]:"xsat",[r.Chain.CYETH]:"cyeth",[r.Chain.CANTO]:"canto",[r.Chain.KLAYTN]:"klaytn",[r.Chain.THAT]:"that",[r.Chain.BASE]:"base",[r.Chain.HELA]:"hela",[r.Chain.IOTAEVM]:"iotaevm",[r.Chain.JBC]:"jbc",[r.Chain.EVMOS]:"evmos",[r.Chain.CARBON]:"carbon",[r.Chain.SMARTBCH]:"smartbch",[r.Chain.ARTELA]:"artela",[r.Chain.IMMUTABLE_ZKEVM]:"immutable zkevm",[r.Chain.LOOP]:"loop",[r.Chain.GENESYS]:"genesys",[r.Chain.EOS_EVM]:"eos evm",[r.Chain.MAP_PROTOCOL]:"map protocol",[r.Chain.SAPPHIRE]:"sapphire",[r.Chain.BITGERT]:"bitgert",[r.Chain.FUSION]:"fusion",[r.Chain.ZILLIQA]:"zilliqa",[r.Chain.APECHAIN]:"apechain",[r.Chain.EDU_CHAIN]:"edu chain",[r.Chain.ARBITRUM]:"arbitrum",[r.Chain.ARBITRUM_NOVA]:"arbitrum nova",[r.Chain.CELO]:"celo",[r.Chain.OASIS]:"oasis",[r.Chain.ASSETCHAIN]:"assetchain",[r.Chain.ETHERLINK]:"etherlink",[r.Chain.AVALANCHE]:"avalanche",[r.Chain.REI]:"rei",[r.Chain.ZIRCUIT]:"zircuit",[r.Chain.SOPHON]:"sophon",[r.Chain.ETN]:"etn",[r.Chain.SUPERPOSITION]:"superposition",[r.Chain.REICHAIN]:"reichain",[r.Chain.BOBA_BNB]:"boba_bnb",[r.Chain.INK]:"ink",[r.Chain.LINEA]:"linea",[r.Chain.BOB]:"bob",[r.Chain.GODWOKEN]:"godwoken",[r.Chain.BERACHAIN]:"berachain",[r.Chain.BLAST]:"blast",[r.Chain.CHILIZ]:"chiliz",[r.Chain.STRATIS]:"stratis",[r.Chain.REAL]:"real",[r.Chain.ODYSSEY]:"odyssey",[r.Chain.TAIKO]:"taiko",[r.Chain.BITLAYER]:"bitlayer",[r.Chain.HYDRATION]:"hydration",[r.Chain.PAREX]:"parex",[r.Chain.POLIS]:"polis",[r.Chain.KEKCHAIN]:"kekchain",[r.Chain.SCROLL]:"scroll",[r.Chain.ZERO_NETWORK]:"zero_network",[r.Chain.ZKLINK_NOVA]:"zklink nova",[r.Chain.VISION]:"vision",[r.Chain.SAAKURU]:"saakuru",[r.Chain.ZORA]:"zora",[r.Chain.CORN]:"corn",[r.Chain.NEON]:"neon",[r.Chain.LUMIA]:"lumia",[r.Chain.AURORA]:"aurora",[r.Chain.HARMONY]:"harmony",[r.Chain.PALM]:"palm",[r.Chain.ZENIQ]:"zeniq",[r.Chain.CURIO]:"curio",[r.Chain.MODE]:"mode"},$={[r.Chain.SOLANA]:"sol",[r.Chain.ETHEREUM]:"eth",[r.Chain.BINANCE]:"bsc",[r.Chain.ARBITRUM]:"arb",[r.Chain.OPTIMISM]:"opt",[r.Chain.AVALANCHE]:"avax"},pe={[r.Chain.SOLANA]:"#9945FF",[r.Chain.ETHEREUM]:"#627EEA",[r.Chain.BINANCE]:"#F0B90B",[r.Chain.ARBITRUM]:"#28A0F0",[r.Chain.OPTIMISM]:"#FF0420",[r.Chain.AVALANCHE]:"#E84142",[r.Chain.POLYGON]:"#8247E5",[r.Chain.BASE]:"#0052FF",[r.Chain.SONIC]:"#5B6EF5",[r.Chain.LINEA]:"#61DFFF",[r.Chain.SCROLL]:"#FFEEDA",[r.Chain.BLAST]:"#FCFC03",[r.Chain.CRONOS]:"#002D74",[r.Chain.BERACHAIN]:"#964B00"};function he(e){return pe[e]}function Oe(e){var s;let t=(s=P(e))!=null?s:e,n=y[t];return n?`https://icons.llamao.fi/icons/chains/rsz_${encodeURIComponent(n)}.jpg`:void 0}function Ee(e){return y[e]}function Se(e){let t=$[e];if(t)return t.toUpperCase();let n=y[e];return n?n.charAt(0).toUpperCase()+n.slice(1):e}function P(e){let t=Object.keys($).find(s=>{var o;return((o=$[s])==null?void 0:o.toLowerCase())===e.toLowerCase()});if(t)return t;let n=Object.keys(y).find(s=>{var o;return((o=y[s])==null?void 0:o.toLowerCase())===e.toLowerCase()});return n||void 0}function Te(e,t){var o;let n=(o=P(e))!=null?o:e;switch(W(n)){case r.ChainNamespace.SOLANA:return G(t);case r.ChainNamespace.EVM:return K(t);default:throw new Error(`Unsupported chain: ${e}`)}}function K(e){return/^0x[0-9a-fA-F]{40}$/.test(e)}function G(e){try{return(0,v.address)(e),!0}catch(t){return!1}}var U=Date.now(),B=60,M=60*B,L=24*M,Z=365*L,Re=e=>{let t=Math.floor(e/1e3),n=Math.floor(t/3600),s=Math.floor(t%3600/60),o=t%60;return[n,s,o]},Ce=e=>{let t=e instanceof Date?e:new Date(e),n=t.getFullYear(),s=String(t.getMonth()+1).padStart(2,"0"),o=String(t.getDate()).padStart(2,"0"),a=String(t.getHours()).padStart(2,"0"),i=String(t.getMinutes()).padStart(2,"0"),f=String(t.getSeconds()).padStart(2,"0");return`${n}-${s}-${o} ${a}:${i}:${f}`};function xe(e,t){let n=t||new Date,s=new Date(n);return s.setDate(n.getDate()-e),s}function Y(e){return!e||Number.isNaN(e)||e<=0?U:e<1e10?e*1e3:e}function De(e){if(!e)return U;if(typeof e=="number")return Y(e);if(typeof e=="string"){let t=Date.parse(e);return Y(t)}return e instanceof Date?e.getTime():U}function ye(e){let t=Math.floor((Date.now()-De(e))/1e3);return t>=Z?`${Math.floor(t/Z)}Y`:t>=L?`${Math.floor(t/L)}D`:t>=M?`${Math.floor(t/M)}h`:t>=B?`${Math.floor(t/B)}m`:`${t}s`}function j(e,t){let n=t?t instanceof Date?t.getTime():t:Date.now(),s=e instanceof Date?e.getTime():e,o=n-s;return Math.floor(o/1e3)}var p={justNow:"just now",secondsAgo:"{n}s",minutesAgo:"{n}m",hoursAgo:"{n}h",daysAgo:"{n}d",yearsAgo:"{n}y"};function Ie(e,t={}){let n=j(e),s={justNow:t.justNow||p.justNow,secondsAgo:t.secondsAgo||p.secondsAgo,minutesAgo:t.minutesAgo||p.minutesAgo,hoursAgo:t.hoursAgo||p.hoursAgo,daysAgo:t.daysAgo||p.daysAgo,yearsAgo:t.yearsAgo||p.yearsAgo},o=60,a=60*o,i=24*a,f=365*i;if(n<10)return s.justNow;if(n<o)return s.secondsAgo.replace("{n}",n.toString());if(n<a){let N=Math.floor(n/o);return s.minutesAgo.replace("{n}",N.toString())}if(n<i){let N=Math.floor(n/a);return s.hoursAgo.replace("{n}",N.toString())}if(n<f){let N=Math.floor(n/i);return s.daysAgo.replace("{n}",N.toString())}let d=Math.floor(n/f);return s.yearsAgo.replace("{n}",d.toString())}function we(e,t={}){let n=Math.floor(e/1e3);return z(n,t)}function z(e,t={}){let n={justNow:t.justNow||p.justNow,secondsAgo:t.secondsAgo||p.secondsAgo,minutesAgo:t.minutesAgo||p.minutesAgo,hoursAgo:t.hoursAgo||p.hoursAgo,daysAgo:t.daysAgo||p.daysAgo,yearsAgo:t.yearsAgo||p.yearsAgo},s=60,o=60*s,a=24*o,i=365*a;if(e<10)return n.justNow;if(e<s)return n.secondsAgo.replace("{n}",e.toString());if(e<o){let d=Math.floor(e/s);return n.minutesAgo.replace("{n}",d.toString())}if(e<a){let d=Math.floor(e/o);return n.hoursAgo.replace("{n}",d.toString())}if(e<i){let d=Math.floor(e/a);return n.daysAgo.replace("{n}",d.toString())}let f=Math.floor(e/i);return n.yearsAgo.replace("{n}",f.toString())}var X=require("@liberfi.io/types");function T(e,t){return E(this,null,function*(){if(!e.startsWith("http"))throw new Error("url must start with http(s)");let n=yield fetch(e,O(h({},t),{headers:$e(t.headers,t.method)}));if(n.ok)return yield n.json();try{let s=yield n.json();throw n.status===400?new X.ApiError(s.message||s.code||n.statusText,s.code):new Error(s.message||s.code||n.statusText)}catch(s){throw s}})}function $e(e={},t){let n=new Headers(e);return n.has("Content-Type")||(t!=="DELETE"?n.append("Content-Type","application/json;charset=utf-8"):n.append("Content-Type","application/x-www-form-urlencoded")),n}function Pe(e,t){return E(this,null,function*(){return yield T(e,h({method:"GET"},t))})}function Ue(e,t,n){return E(this,null,function*(){return yield T(e,h({method:"POST",body:JSON.stringify(t)},n))})}function Be(e,t,n){return E(this,null,function*(){return yield T(e,h({method:"PUT",body:JSON.stringify(t)},n))})}function Me(e,t){return E(this,null,function*(){return yield T(e,h({method:"DELETE"},t))})}function Le(e,t){return E(this,null,function*(){return yield T(e,t)})}var c=be(require("bignumber.js"));var l=class extends c.default{constructor(t,n){try{super(t!=null?t:0,n)}catch(s){console.error("SafeBigNumber constructor error",s),super(0,n)}}},m=e=>{if(typeof e=="number"&&!isNaN(e)||e instanceof l||e instanceof c.default)return!0;if(typeof e!="string")return!1;let t=Number.parseFloat(e);return!isNaN(t)},_e=e=>(typeof e=="number"||!!e)&&m(typeof e=="string"?Number(e):e),He=(e="")=>/^(\d+\.?\d*|\.\d+)([hm]?)$$/.test(e),Fe=(e="",t={showPlusGtThanZero:!1})=>{if(!m(e))return"--";let n=new l(e),s=n.lt(0),o=n.abs(),a=o.lt(.001)?o.decimalPlaces(5,c.default.ROUND_DOWN).toString():o.lt(1)?o.decimalPlaces(3,c.default.ROUND_DOWN).toString():o.lt(100)?o.decimalPlaces(2,c.default.ROUND_DOWN).toString():o.lt(1e5)?u(o,2):b(o);return Number(a)===0?`${a}`:s?`-${a}`:t!=null&&t.showPlusGtThanZero?`+${a}`:`${a}`},Ve=(e="",t={showPlusGtThanZero:!1})=>{if(!m(e))return"--";let n=new l(e),s=n.lt(0),o=n.abs(),a=o.lt(.001)?o.decimalPlaces(5,c.default.ROUND_DOWN).toString():o.lt(1)?o.decimalPlaces(3,c.default.ROUND_DOWN).toString():o.lt(100)?o.decimalPlaces(1,c.default.ROUND_DOWN).toString():o.lt(1e3)?u(o,1):b(o);return Number(a)===0?`${a}`:s?`-${a}`:t!=null&&t.showPlusGtThanZero?`+${a}`:`${a}`},ke=(e="",t={showPlusGtThanZero:!1})=>{if(!m(e))return"--";let n=new l(e),s=n.lt(0),o=n.abs(),a=o.lt(.001)?o.decimalPlaces(5,c.default.ROUND_DOWN).toString():o.lt(1)?o.decimalPlaces(3,c.default.ROUND_DOWN).toString():o.lt(100)?o.decimalPlaces(1,c.default.ROUND_DOWN).toString():o.lt(1e3)?u(o,1):b(o,0);return Number(a)===0?`${a}`:s?`-${a}`:t!=null&&t.showPlusGtThanZero?`+${a}`:`${a}`},ve=(e="",t={showPlusGtThanZero:!1})=>{if(!m(e))return"--";let n=new l(e),s=n.lt(0),o=n.abs(),a=o.lt(.001)?"$0":o.lt(1)?`$${o.decimalPlaces(3,c.default.ROUND_DOWN)}`:o.lt(100)?`$${o.decimalPlaces(2,c.default.ROUND_DOWN)}`:o.lt(1e4)?`$${u(o,2)}`:`$${b(o)}`;return a==="$0"?a:s?`-${a}`:t!=null&&t.showPlusGtThanZero?`+${a}`:a},We=(e="",t={showPlusGtThanZero:!1})=>{if(!m(e))return"--";let n=new l(e),s=n.lt(0),o=n.abs(),a=o.div(100).integerValue(c.default.ROUND_DOWN).times(100),i=o.lt(1e-4)||o.lt(.001)?"$0":o.lt(1)?`$${o.decimalPlaces(3,c.default.ROUND_DOWN)}`:o.lt(100)?`$${o.decimalPlaces(2,c.default.ROUND_DOWN)}`:o.lt(1e3)?`$${o.decimalPlaces(1,c.default.ROUND_DOWN)}`:o.lt(1e15)?`$${b(a)}`:`$${nt(o,{acronymMin:1e5,groupingSeparator:!0})}`;return i==="$0"?i:s?`-${i}`:t!=null&&t.showPlusGtThanZero?`+${i}`:i},Ke=(e="",t={showPlusGtThanZero:!1})=>{if(!m(e))return"--";let n=new l(e),s=n.lt(0),o=n.abs(),a=o.div(100).integerValue(c.default.ROUND_DOWN).times(100),i=o.lt(1e-4)||o.lt(.001)?"$0":o.lt(1)?`$${o.decimalPlaces(3,c.default.ROUND_DOWN)}`:o.lt(100)?`$${o.decimalPlaces(2,c.default.ROUND_DOWN)}`:o.lt(1e3)?`$${o.decimalPlaces(0,c.default.ROUND_DOWN)}`:`$${b(a,0)}`;return i==="$0"?i:s?`-${i}`:t!=null&&t.showPlusGtThanZero?`+${i}`:i},Ge=(e="",t={showPlusGtThanZero:!1})=>{if(!m(e))return"--";let n=new l(e),s=n.lt(0),o=n.abs(),a=o.lt(1e-4)||o.lt(.001)?"$0":o.lt(1)?`$${o.decimalPlaces(3,c.default.ROUND_DOWN)}`:o.lt(100)?`$${o.decimalPlaces(2,c.default.ROUND_DOWN)}`:o.lt(1e3)?`$${u(o,2)}`:`$${b(o)}`;return a==="$0"?a:s?`-${a}`:t!=null&&t.showPlusGtThanZero?`+${a}`:a},Ze=(e="",t={showPlusGtThanZero:!1})=>{if(!m(e))return"--";let n=new l(e),s=n.lt(0),o=n.abs(),a=o.lt(1e-4)||o.lt(.001)?"$0":o.lt(100)?`$${o.decimalPlaces(0,c.default.ROUND_DOWN)}`:o.lt(1e3)?`$${u(o,0)}`:`$${b(o,0)}`;return a==="$0"?a:s?`-${a}`:t!=null&&t.showPlusGtThanZero?`+${a}`:a},Ye=(e="",t={isHighPrecise:!0})=>{if(!m(e))return"--";let n=new l(e);if(n.lt(0))return"--";let s=n.abs(),{isHighPrecise:o}=t;return`${s.lt(1e-4)?Q(s,o?4:2):s.lt(1)?o?u(s,4):J(s,2):s.lt(100)||s.lt(1e4)?u(s,o?4:2):s.lt(1e5)?u(s,2):b(s)}`},je=(e="",t={isHighPrecise:!0})=>{if(!m(e))return"--";let n=new l(e);if(n.lt(0))return"--";let s=n.abs(),{isHighPrecise:o}=t;return`$${s.lt(1e-4)?Q(s,o?4:2):s.lt(1)?o?u(s,4):J(s,2):s.lt(100)||s.lt(1e4)?u(s,o?4:2):s.lt(1e5)?u(s,2):b(s)}`},ze=(e="",t={})=>{var i,f;if(!m(e))return"-- %";let n=new l(e),s=n.lt(0),o=n.abs(),a=s?"-":t!=null&&t.showPlusGtThanZero?"+":"";return o.lt(1e-4)?"0%":o.lt(100)?`${a}${q(o,(i=t==null?void 0:t.precision)!=null?i:2)}`:o.lt(1e3)?`${a}${q(o,(f=t==null?void 0:t.precision)!=null?f:1)}`:`${a}> 99,999%`},q=(e,t)=>`${e.times(100).decimalPlaces(t,c.default.ROUND_HALF_UP).toString()}%`,Xe=(e="",t={showPlusGtThanZero:!0})=>{if(!m(e))return"0%";let n=new l(e),s=n.lt(0),o=n.abs(),a=s?"-":t!=null&&t.showPlusGtThanZero?"+":"";return o.lt(.01)?"0%":o.lt(10)?`${a}${u(o,2)}X`:o.lt(100)?`${a}${u(o,1)}X`:o.lt(1e5)?`${a}${u(o,0)}X`:`${a}>99,999%`},qe=(e="")=>{if(!m(e))return"--";let t=new l(e);return t.lt(1e5)?u(t,0):b(t)},Qe=(e="")=>{if(!m(e))return"--";let t=new l(e);return t.lt(1e3)?u(t,0):b(t.div(1e3).integerValue(c.default.ROUND_DOWN).times(1e3),0)},Je=(e="")=>{if(!m(e))return"--";let t=new l(e);return u(t,0)},et=(e="")=>m(e)?u(e,0):"--",tt=(e="")=>{if(!m(e))return"--";let t=new l(e);return t.lt(1e3)?u(t,0):b(t.div(100).integerValue(c.default.ROUND_DOWN).times(100))},rt=["\u2080","\u2081","\u2082","\u2083","\u2084","\u2085","\u2086","\u2087","\u2088","\u2089","\u2081\u2080","\u2081\u2081","\u2081\u2082","\u2081\u2083","\u2081\u2084","\u2081\u2085","\u2081\u2086","\u2081\u2087","\u2081\u2088","\u2081\u2089","\u2082\u2080","\u2082\u2081","\u2082\u2082","\u2082\u2083","\u2082\u2084","\u2082\u2085","\u2082\u2086","\u2082\u2087","\u2082\u2088","\u2082\u2089","\u2083\u2080","\u2083\u2081","\u2083\u2082","\u2083\u2083","\u2083\u2084","\u2083\u2085","\u2083\u2086","\u2083\u2087","\u2083\u2088","\u2083\u2089","\u2084\u2080"],u=(e,t=0,n=c.default.ROUND_DOWN)=>{let o=new l(e).decimalPlaces(t,n).toString().split(".");return o[0]=o[0].replace(/\B(?=(\d{3})+(?!\d))/g,","),o.join(".")},b=(e,t=1)=>{let n=new l(e);return n.lt(1e3)?n.toNumber():n.lt(1e6)?`${u(n.div(1e3),t)}K`:n.lt(1e9)?`${u(n.div(1e6),t)}M`:n.lt(1e12)?`${u(n.dividedBy(1e9),t)}B`:`${u(n.dividedBy(1e12),t)}T`},Q=(e,t=5)=>{let n=new l(e);if(n.eq(0))return"0";let[s,o]=n.toFixed().split("."),a=o.split(""),i=a.findIndex(d=>d!=="0"),f=Math.min(a.length-i,t);return`${u(s)}.0`.concat(rt[i]).concat(a.slice(i,i+f).join("").replace(/\.?0+$/,""))},J=(e,t)=>{let n=e.toString().match(/\.0*/),s=(n?n[0].length-1:0)+t;return u(e,s)},R=(e,t={})=>{let{precision:n=4,min:s,max:o,groupingSeparator:a,rounding:i,zeroDisplay:f}=t,d={up:c.default.ROUND_UP,down:c.default.ROUND_DOWN,ceil:c.default.ROUND_CEIL,floor:c.default.ROUND_FLOOR},N=new l(e);if(N.eq(0))return f||"0";let x=N.abs();return s&&x.lt(s)?`<${s}`:o&&x.gt(o)?`>${o}`:a?u(x,n,i?d[i]:void 0):(i?x.decimalPlaces(n,d[i]):x.decimalPlaces(n)).toString()},nt=(e,t={})=>{let n=new l(e);if(n.eq(0))return t.zeroDisplay?t.zeroDisplay:"";let{acronymMin:s=1e4}=t,o=n.abs();return o.lt(s)?R(n,t):o.gte(1e15)?n.toExponential(2):o.gte(1e12)?`${R(n.div(1e12),O(h({},t),{precision:0}))}T`:o.gte(1e9)?`${R(n.div(1e9),O(h({},t),{precision:0}))}B`:o.gte(1e6)?`${R(n.div(1e6),O(h({},t),{precision:1}))}M`:o.gte(1e4)?`${R(n.div(1e3),O(h({},t),{precision:1}))}K`:R(n,t)};function ot(e){let t=e.toLowerCase();return t.charAt(0).toUpperCase()+t.slice(1)}function st(e){return e.replace(/([a-z])([A-Z])/g,"$1_$2").toLowerCase()}var at=(e,t)=>{for(let n=0;n<e.length;n++){let s=e.at(n),o=t.at(n);if(s!==o)return n}return-1};function ee(e){return/^[a-f0-9]+$/iu.test(e)}function it(e){return typeof e=="string"&&e.startsWith("0x")&&ee(e)}function ct(e,t=6,n=4){return e.slice(0,t)+"..."+e.slice(-n)}function ut(e,t="base-type"){if(!e)return"";let n=e.split("_"),s=n[0],o=n[1],a=n[2];return t.replace("type",s).replace("base",o).replace("quote",a)}var w=require("@liberfi.io/types"),lt=(e,t)=>{switch(e){case w.Chain.SOLANA:return w.SOLANA_TOKEN_PROTOCOLS.find(n=>new RegExp(n,"i").test(t));default:return}},dt=e=>e.split("-").map(t=>t.charAt(0).toUpperCase()+t.slice(1)).join(" ");var S=require("@liberfi.io/types"),I="0x0000000000000000000000000000000000000000",te={native:{address:"11111111111111111111111111111111",symbol:"SOL",decimals:9},wrapped:{address:"So11111111111111111111111111111111111111112",symbol:"SOL",decimals:9},stablecoins:{USDC:{address:"EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",symbol:"USDC",decimals:6},USDT:{address:"Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB",symbol:"USDT",decimals:6},USD1:{address:"USD1ttGY1N17NEEHLmELoaybftRBUSErhqYiQzvEmuB",symbol:"USD1",decimals:6}}},re={native:{address:I,symbol:"ETH",decimals:18},wrapped:{address:"0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2",symbol:"WETH",decimals:18},stablecoins:{USDC:{address:"0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",symbol:"USDC",decimals:6},USDT:{address:"0xdAC17F958D2ee523a2206206994597C13D831ec7",symbol:"USDT",decimals:6}}},ne={native:{address:I,symbol:"BNB",decimals:18},wrapped:{address:"0xbb4CdB9CBd36B01bD1cBaEBF2De08d9173bc095c",symbol:"WBNB",decimals:18},stablecoins:{USDC:{address:"0x8AC76a51cc950d9822D68b83fE1Ad97B32Cd580d",symbol:"USDC",decimals:18},USDT:{address:"0x55d398326f99059fF775485246999027B3197955",symbol:"USDT",decimals:18}}},oe={native:{address:I,symbol:"ETH",decimals:18},wrapped:{address:"0x82aF49447D8a07e3bd95BD0d56f35241523fBab1",symbol:"WETH",decimals:18},stablecoins:{USDC:{address:"0xaf88d065e77c8cC2239327C5EDb3A432268e5831",symbol:"USDC",decimals:6},USDT:{address:"0xFd086bC7CD5C481DCC9C85ebE478A1C0b69FCbb9",symbol:"USDT",decimals:6}}},se={native:{address:I,symbol:"ETH",decimals:18},wrapped:{address:"0x4200000000000000000000000000000000000006",symbol:"WETH",decimals:18},stablecoins:{USDC:{address:"0x0b2C639c533813f4Aa9D7837CAf62653d097Ff85",symbol:"USDC",decimals:6},USDT:{address:"0x94b008aA00579c1307B0EF2c499aD98a8ce58e58",symbol:"USDT",decimals:6}}},ae={native:{address:I,symbol:"AVAX",decimals:18},wrapped:{address:"0xB31f66AA3C1e785363F0875A1B74E27b85FD66c7",symbol:"WAVAX",decimals:18},stablecoins:{USDC:{address:"0xB97EF9Ef8734C71904D8002F8b6Bc66Dd9c48a6E",symbol:"USDC",decimals:6},USDT:{address:"0x9702230A8Ea53601f5cD2dc00fDBc13d4dF4A8c7",symbol:"USDT",decimals:6}}},C={[S.Chain.SOLANA]:te,[S.Chain.ETHEREUM]:re,[S.Chain.BINANCE]:ne,[S.Chain.ARBITRUM]:oe,[S.Chain.OPTIMISM]:se,[S.Chain.AVALANCHE]:ae};function mt(e){var t;return(t=C[e])==null?void 0:t.native}function ft(e){var t;return(t=C[e])==null?void 0:t.wrapped}function At(e){var t;return(t=C[e])==null?void 0:t.stablecoins}function gt(e){let t=C[e];return t?[t.native.address,t.wrapped.address,...Object.values(t.stablecoins).map(n=>n.address)]:[]}function bt(e){let t=C[e];if(!t)return{};let n={[t.native.address]:t.native.symbol,[t.wrapped.address]:t.wrapped.symbol};for(let s of Object.values(t.stablecoins))n[s.address]=s.symbol;return n}var A=require("@liberfi.io/types"),Nt={[A.Chain.SOLANA]:"https://solscan.io/tx/${txHash}",[A.Chain.ETHEREUM]:"https://etherscan.io/tx/${txHash}",[A.Chain.POLYGON]:"https://polygonscan.com/tx/${txHash}",[A.Chain.BINANCE]:"https://bscscan.com/tx/${txHash}",[A.Chain.BINANCE_TESTNET]:"https://testnet.bscscan.com/tx/${txHash}",[A.Chain.AVALANCHE]:"https://snowtrace.io/tx/${txHash}",[A.Chain.BASE]:"https://basescan.org/tx/${txHash}",[A.Chain.BLAST]:"https://blastracker.xyz/tx/${txHash}",[A.Chain.ARBITRUM]:"https://arbiscan.io/tx/${txHash}",[A.Chain.ARBITRUM_NOVA]:"https://nova.arbiscan.io/tx/${txHash}",[A.Chain.ARBITRUM_TESTNET_GOERLI]:"https://goerli.arbiscan.io/tx/${txHash}",[A.Chain.ARBITRUM_TESTNET_SEPOLIA]:"https://sepolia.arbiscan.io/tx/${txHash}"};function pt(e,t){var n;return(n=Nt[e])==null?void 0:n.replace("${txHash}",t)}var ht={[A.Chain.SOLANA]:"https://solscan.io/account/${account}",[A.Chain.ETHEREUM]:"https://etherscan.io/address/${account}",[A.Chain.POLYGON]:"https://polygonscan.com/address/${account}",[A.Chain.BINANCE]:"https://bscscan.com/address/${account}"},Ot=(e,t)=>{var n;return(n=ht[e])==null?void 0:n.replace("${account}",t)};function Et(e){return`https://lens.google.com/uploadbyurl?url=${encodeURIComponent(e)}`}function St(e){return`https://x.com/search?q=${encodeURIComponent(e)}`}function Tt(e){return`https://x.com/${e}`}function Rt(e){return`https://x.com/${e}`}function Ct(e){return`https://x.com/${e}`}var xt=e=>{typeof window!="undefined"&&e()},ie=()=>{if(typeof globalThis!="undefined")return globalThis;if(typeof self!="undefined")return self;if(typeof window!="undefined")return window;if(typeof global!="undefined")return global;throw new Error("cannot find the global object")},Dt=()=>{var e;if(typeof window!="undefined"){let t=(e=ie())==null?void 0:e.__LIBERFI_timestamp_offset;if(typeof t=="number")return Date.now()+(t||0)}return Date.now()};var g=require("lodash-es");0&&(module.exports={ARBITRUM_TOKENS,AVALANCHE_TOKENS,BSC_TOKENS,CHAIN_TOKENS,ETHEREUM_TOKENS,OPTIMISM_TOKENS,SOLANA_TOKENS,SafeBigNumber,accountExplorerUrl,camelCaseToSnakeCase,canConvertToNumber,capitalizeString,chainColor,chainDisplayName,chainIcon,chainIdBySlug,chainSlug,chainToNamespace,debounce,del,displayCount3,displayCount4,findLongestCommonSubString,formatAge,formatAgeInSeconds,formatAmount,formatAmount2,formatAmount3,formatAmountUSD,formatAmountUSD2,formatAmountUSD3,formatAmountUSD4,formatAmountUSD5,formatCount,formatCount2,formatCount3,formatMultiplier,formatPercent,formatPrice,formatPriceUSD,formatReadableTime,formatSymbol,formatTimeAgo,formatTokenProtocolName,get,getCommonTokenAddresses,getCommonTokenSymbolsMap,getGlobalObject,getNativeToken,getStablecoins,getTimestamp,getWrappedToken,groupBy,intersectionBy,isHex,isHexString,isValidEvmAddress,isValidNumber,isValidSolanaAddress,isValidTimeframe,isValidWalletAddress,keyBy,mapKeys,mapValues,millisecondsToHMS,mutate,parseTokenProtocolFamily,post,put,request,searchImageUrl,searchTwitterUrl,secondsSince,shortAddress,subtractDaysFromCurrentDate,throttle,timestampToString,twitterMediaUrl,twitterTweetUrl,twitterUserUrl,txExplorerUrl,uniqBy,version,windowGuard});
2
2
  //# sourceMappingURL=index.js.map