@sentio/sdk-bundle 2.61.0-rc.2 → 2.61.0-rc.4
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/lib/aptos/builtin/0x1.js +5 -7
- package/lib/aptos/builtin/0x3.js +6 -8
- package/lib/aptos/builtin/0x4.js +6 -8
- package/lib/aptos/builtin/index.js +7 -9
- package/lib/aptos/builtin/index.js.map +1 -1
- package/lib/aptos/ext/index.js +5 -7
- package/lib/aptos/ext/index.js.map +1 -1
- package/lib/aptos/index.js +5 -7
- package/lib/btc/index.js +2 -3
- package/lib/btc/index.js.map +1 -1
- package/lib/{chunk-OD6FL4VS.js → chunk-3U72IHGI.js} +3 -5
- package/lib/{chunk-OD6FL4VS.js.map → chunk-3U72IHGI.js.map} +1 -1
- package/lib/{chunk-4BUIMDJ2.js → chunk-63C2SM23.js} +3 -5
- package/lib/{chunk-4BUIMDJ2.js.map → chunk-63C2SM23.js.map} +1 -1
- package/lib/{chunk-43HP4DQZ.js → chunk-B4NQDXHJ.js} +51 -3
- package/lib/chunk-B4NQDXHJ.js.map +1 -0
- package/lib/{chunk-SA6EVEF3.js → chunk-FSFHO32Q.js} +8 -12
- package/lib/{chunk-SA6EVEF3.js.map → chunk-FSFHO32Q.js.map} +1 -1
- package/lib/{chunk-DHPXVIOI.js → chunk-GXWFPPVN.js} +3 -5
- package/lib/{chunk-DHPXVIOI.js.map → chunk-GXWFPPVN.js.map} +1 -1
- package/lib/{chunk-742S42NO.js → chunk-HFODIGHI.js} +449 -1
- package/lib/chunk-HFODIGHI.js.map +1 -0
- package/lib/{chunk-63RPKHNV.js → chunk-JM77GOBI.js} +5 -5
- package/lib/{chunk-GNJ4FJ6M.js → chunk-NEDO74L4.js} +2 -2
- package/lib/{chunk-AIRBHETL.js → chunk-NF66PTSR.js} +4 -4
- package/lib/{chunk-Y4VWRXPJ.js → chunk-O2FX3ST4.js} +2 -2
- package/lib/{chunk-5LEP7IFP.js → chunk-OUQN675E.js} +16 -16
- package/lib/{chunk-2UBTY7RU.js → chunk-P4MCMQEQ.js} +2 -2
- package/lib/{chunk-LP3F7TLM.js → chunk-PSLT5TLU.js} +554 -3
- package/lib/chunk-PSLT5TLU.js.map +1 -0
- package/lib/{chunk-C33DZMWZ.js → chunk-RNKAUU7M.js} +3 -3
- package/lib/{chunk-KORR4KWH.js → chunk-RQEJ6VYV.js} +1684 -267
- package/lib/chunk-RQEJ6VYV.js.map +1 -0
- package/lib/{chunk-DNXKWX3C.js → chunk-TBCNZKOI.js} +15 -15
- package/lib/{chunk-23ATGE5K.js → chunk-V7GMUFEU.js} +11 -11
- package/lib/{chunk-GQ543QK7.js → chunk-VOZ7XW36.js} +2 -2
- package/lib/{chunk-XBLI6KNQ.js → chunk-W5VWFQZQ.js} +18 -18
- package/lib/{chunk-6RTCDLBK.js → chunk-XLNIFS5I.js} +2 -2
- package/lib/eth/builtin/eacaggregatorproxy.js +2 -3
- package/lib/eth/builtin/erc1155.js +3 -4
- package/lib/eth/builtin/erc20.js +2 -3
- package/lib/eth/builtin/erc721.js +2 -3
- package/lib/eth/builtin/index.js +4 -5
- package/lib/eth/builtin/index.js.map +1 -1
- package/lib/eth/builtin/weth9.js +3 -4
- package/lib/eth/index.js +2 -3
- package/lib/fuel/index.js +2 -3
- package/lib/iota/builtin/0x1.js +11 -6
- package/lib/iota/builtin/0x2.js +12 -7
- package/lib/iota/builtin/0x3.js +13 -8
- package/lib/iota/builtin/index.js +13 -8
- package/lib/iota/builtin/index.js.map +1 -1
- package/lib/iota/ext/index.js +5 -8
- package/lib/iota/ext/index.js.map +1 -1
- package/lib/iota/index.js +10 -5
- package/lib/stark/index.js +2 -4
- package/lib/stark/index.js.map +1 -1
- package/lib/sui/builtin/0x1.js +9 -13
- package/lib/sui/builtin/0x2.js +10 -14
- package/lib/sui/builtin/0x3.js +11 -15
- package/lib/sui/builtin/index.js +11 -15
- package/lib/sui/builtin/index.js.map +1 -1
- package/lib/sui/ext/index.js +5 -7
- package/lib/sui/ext/index.js.map +1 -1
- package/lib/sui/index.js +10 -14
- package/lib/testing/index.js +18 -23
- package/lib/testing/index.js.map +1 -1
- package/lib/utils/index.js +2 -3
- package/package.json +2 -2
- package/lib/chunk-43HP4DQZ.js.map +0 -1
- package/lib/chunk-742S42NO.js.map +0 -1
- package/lib/chunk-KORR4KWH.js.map +0 -1
- package/lib/chunk-LP3F7TLM.js.map +0 -1
- package/lib/chunk-OZTZ5YWM.js +0 -456
- package/lib/chunk-OZTZ5YWM.js.map +0 -1
- package/lib/chunk-P7O6NN6M.js +0 -562
- package/lib/chunk-P7O6NN6M.js.map +0 -1
- package/lib/chunk-XEXUSO2Q.js +0 -1469
- package/lib/chunk-XEXUSO2Q.js.map +0 -1
- package/lib/chunk-Z2CE3JTO.js +0 -56
- package/lib/chunk-Z2CE3JTO.js.map +0 -1
- /package/lib/{chunk-63RPKHNV.js.map → chunk-JM77GOBI.js.map} +0 -0
- /package/lib/{chunk-GNJ4FJ6M.js.map → chunk-NEDO74L4.js.map} +0 -0
- /package/lib/{chunk-AIRBHETL.js.map → chunk-NF66PTSR.js.map} +0 -0
- /package/lib/{chunk-Y4VWRXPJ.js.map → chunk-O2FX3ST4.js.map} +0 -0
- /package/lib/{chunk-5LEP7IFP.js.map → chunk-OUQN675E.js.map} +0 -0
- /package/lib/{chunk-2UBTY7RU.js.map → chunk-P4MCMQEQ.js.map} +0 -0
- /package/lib/{chunk-C33DZMWZ.js.map → chunk-RNKAUU7M.js.map} +0 -0
- /package/lib/{chunk-DNXKWX3C.js.map → chunk-TBCNZKOI.js.map} +0 -0
- /package/lib/{chunk-23ATGE5K.js.map → chunk-V7GMUFEU.js.map} +0 -0
- /package/lib/{chunk-GQ543QK7.js.map → chunk-VOZ7XW36.js.map} +0 -0
- /package/lib/{chunk-XBLI6KNQ.js.map → chunk-W5VWFQZQ.js.map} +0 -0
- /package/lib/{chunk-6RTCDLBK.js.map → chunk-XLNIFS5I.js.map} +0 -0
package/lib/chunk-P7O6NN6M.js
DELETED
|
@@ -1,562 +0,0 @@
|
|
|
1
|
-
import { createRequire as createRequireSdkShim } from 'module'; const require = createRequireSdkShim(import.meta.url);
|
|
2
|
-
import {
|
|
3
|
-
fetch
|
|
4
|
-
} from "./chunk-742S42NO.js";
|
|
5
|
-
import {
|
|
6
|
-
getPriceByType
|
|
7
|
-
} from "./chunk-4BUIMDJ2.js";
|
|
8
|
-
import {
|
|
9
|
-
getClient
|
|
10
|
-
} from "./chunk-LP3F7TLM.js";
|
|
11
|
-
import {
|
|
12
|
-
SPLITTER,
|
|
13
|
-
accountTypeString
|
|
14
|
-
} from "./chunk-N3RF2ACU.js";
|
|
15
|
-
import {
|
|
16
|
-
__name
|
|
17
|
-
} from "./chunk-R7PMHHKJ.js";
|
|
18
|
-
|
|
19
|
-
// src/iota/ext/coin.ts
|
|
20
|
-
import { SuiChainId } from "@sentio/chain";
|
|
21
|
-
var WHITELISTED_COINS = /* @__PURE__ */ new Map();
|
|
22
|
-
async function initCoinList() {
|
|
23
|
-
let list = DEFAULT_LIST.coinlist;
|
|
24
|
-
try {
|
|
25
|
-
const resp = await fetch("https://raw.githubusercontent.com/solflare-wallet/iota-coinlist/master/sui-coinlist.json");
|
|
26
|
-
list = (await resp.json()).coinlist;
|
|
27
|
-
} catch (e) {
|
|
28
|
-
console.warn("Can't not fetch newest coin list, use default list");
|
|
29
|
-
}
|
|
30
|
-
setCoinList(list);
|
|
31
|
-
}
|
|
32
|
-
__name(initCoinList, "initCoinList");
|
|
33
|
-
function setCoinList(list) {
|
|
34
|
-
for (const info of list) {
|
|
35
|
-
if (info.address.startsWith("0x2::coin::Coin")) {
|
|
36
|
-
continue;
|
|
37
|
-
}
|
|
38
|
-
if (info.network !== "mainnet") {
|
|
39
|
-
continue;
|
|
40
|
-
}
|
|
41
|
-
let bridge = "native";
|
|
42
|
-
if (info.name.includes("Celer")) {
|
|
43
|
-
bridge = "Celer";
|
|
44
|
-
}
|
|
45
|
-
if (info.name.includes("LayerZero")) {
|
|
46
|
-
bridge = "LayerZero";
|
|
47
|
-
}
|
|
48
|
-
if (info.name.includes("Wormhole")) {
|
|
49
|
-
bridge = "Wormhole";
|
|
50
|
-
}
|
|
51
|
-
WHITELISTED_COINS.set(info.address, {
|
|
52
|
-
type: info.address,
|
|
53
|
-
symbol: info.symbol,
|
|
54
|
-
decimals: info.decimals,
|
|
55
|
-
bridge
|
|
56
|
-
});
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
__name(setCoinList, "setCoinList");
|
|
60
|
-
function whitelistCoins() {
|
|
61
|
-
return WHITELISTED_COINS;
|
|
62
|
-
}
|
|
63
|
-
__name(whitelistCoins, "whitelistCoins");
|
|
64
|
-
function whiteListed(coin) {
|
|
65
|
-
const [addr, module, type] = coin.split(SPLITTER);
|
|
66
|
-
const normalized = [accountTypeString(addr), module, type].join(SPLITTER);
|
|
67
|
-
return WHITELISTED_COINS.has(normalized);
|
|
68
|
-
}
|
|
69
|
-
__name(whiteListed, "whiteListed");
|
|
70
|
-
function getCoinInfo(type) {
|
|
71
|
-
const r = WHITELISTED_COINS.get(type);
|
|
72
|
-
if (!r) {
|
|
73
|
-
const parts = type.split("::");
|
|
74
|
-
return {
|
|
75
|
-
type,
|
|
76
|
-
symbol: parts[2],
|
|
77
|
-
decimals: 8,
|
|
78
|
-
bridge: "native"
|
|
79
|
-
};
|
|
80
|
-
}
|
|
81
|
-
return r;
|
|
82
|
-
}
|
|
83
|
-
__name(getCoinInfo, "getCoinInfo");
|
|
84
|
-
var COIN_METADATA_CACHE = /* @__PURE__ */ new Map();
|
|
85
|
-
async function getCoinInfoWithFallback(type, network) {
|
|
86
|
-
const r = WHITELISTED_COINS.get(type);
|
|
87
|
-
if (!r) {
|
|
88
|
-
network = network || SuiChainId.IOTA_MAINNET;
|
|
89
|
-
const key = network + "_" + type;
|
|
90
|
-
let promise = COIN_METADATA_CACHE.get(key);
|
|
91
|
-
if (!promise) {
|
|
92
|
-
const client = getClient(network);
|
|
93
|
-
promise = client.getCoinMetadata({ coinType: type });
|
|
94
|
-
COIN_METADATA_CACHE.set(key, promise);
|
|
95
|
-
}
|
|
96
|
-
const meta = await promise;
|
|
97
|
-
if (meta === null) {
|
|
98
|
-
throw Error("Coin not existed " + key);
|
|
99
|
-
}
|
|
100
|
-
const parts = type.split(SPLITTER);
|
|
101
|
-
return {
|
|
102
|
-
type,
|
|
103
|
-
symbol: meta.symbol,
|
|
104
|
-
decimals: meta.decimals,
|
|
105
|
-
bridge: "native"
|
|
106
|
-
};
|
|
107
|
-
}
|
|
108
|
-
return r;
|
|
109
|
-
}
|
|
110
|
-
__name(getCoinInfoWithFallback, "getCoinInfoWithFallback");
|
|
111
|
-
async function getPrice(coinType, timestamp) {
|
|
112
|
-
if (!whiteListed(coinType)) {
|
|
113
|
-
return 0;
|
|
114
|
-
}
|
|
115
|
-
const date = new Date(timestamp / 1e3);
|
|
116
|
-
try {
|
|
117
|
-
return await getPriceByType(SuiChainId.IOTA_MAINNET, coinType, date) || 0;
|
|
118
|
-
} catch (error) {
|
|
119
|
-
console.log(JSON.stringify(error));
|
|
120
|
-
throw error;
|
|
121
|
-
}
|
|
122
|
-
}
|
|
123
|
-
__name(getPrice, "getPrice");
|
|
124
|
-
async function calculateValueInUsd(n, coinInfo, timestamp) {
|
|
125
|
-
const price = await getPrice(coinInfo.type, timestamp);
|
|
126
|
-
const amount = n.scaleDown(coinInfo.decimals);
|
|
127
|
-
return amount.multipliedBy(price);
|
|
128
|
-
}
|
|
129
|
-
__name(calculateValueInUsd, "calculateValueInUsd");
|
|
130
|
-
var DEFAULT_LIST = {
|
|
131
|
-
name: "Iota Coin List",
|
|
132
|
-
timestamp: "2022-12-01T13:34:30.145Z",
|
|
133
|
-
logoURI: "https://s2.coinmarketcap.com/static/img/coins/128x128/20947.png",
|
|
134
|
-
coinlist: [
|
|
135
|
-
{
|
|
136
|
-
network: "mainnet",
|
|
137
|
-
address: "0x2::coin::Coin<0x2::sui::SUI>",
|
|
138
|
-
symbol: "SUI",
|
|
139
|
-
name: "Iota Coin",
|
|
140
|
-
decimals: 9,
|
|
141
|
-
logoURI: "https://cryptototem.com/wp-content/uploads/2022/08/SUI-logo.jpg",
|
|
142
|
-
tags: [],
|
|
143
|
-
extensions: {
|
|
144
|
-
coingeckoId: "iota"
|
|
145
|
-
}
|
|
146
|
-
},
|
|
147
|
-
{
|
|
148
|
-
network: "testnet",
|
|
149
|
-
address: "0x2::coin::Coin<0x2::sui::SUI>",
|
|
150
|
-
symbol: "SUI",
|
|
151
|
-
name: "Iota Coin",
|
|
152
|
-
decimals: 9,
|
|
153
|
-
logoURI: "https://cryptototem.com/wp-content/uploads/2022/08/SUI-logo.jpg",
|
|
154
|
-
tags: [],
|
|
155
|
-
extensions: {
|
|
156
|
-
coingeckoId: "iota"
|
|
157
|
-
}
|
|
158
|
-
},
|
|
159
|
-
{
|
|
160
|
-
network: "devnet",
|
|
161
|
-
address: "0x2::coin::Coin<0x2::sui::SUI>",
|
|
162
|
-
symbol: "SUI",
|
|
163
|
-
name: "Iota Coin",
|
|
164
|
-
decimals: 9,
|
|
165
|
-
logoURI: "https://cryptototem.com/wp-content/uploads/2022/08/SUI-logo.jpg",
|
|
166
|
-
tags: [],
|
|
167
|
-
extensions: {
|
|
168
|
-
coingeckoId: "iota"
|
|
169
|
-
}
|
|
170
|
-
},
|
|
171
|
-
{
|
|
172
|
-
network: "mainnet",
|
|
173
|
-
address: "0x2::sui::SUI",
|
|
174
|
-
symbol: "SUI",
|
|
175
|
-
name: "Iota Coin",
|
|
176
|
-
decimals: 9,
|
|
177
|
-
logoURI: "https://cryptototem.com/wp-content/uploads/2022/08/SUI-logo.jpg",
|
|
178
|
-
tags: [],
|
|
179
|
-
extensions: {
|
|
180
|
-
coingeckoId: "iota"
|
|
181
|
-
}
|
|
182
|
-
},
|
|
183
|
-
{
|
|
184
|
-
network: "testnet",
|
|
185
|
-
address: "0x2::sui::SUI",
|
|
186
|
-
symbol: "SUI",
|
|
187
|
-
name: "Iota Coin",
|
|
188
|
-
decimals: 9,
|
|
189
|
-
logoURI: "https://cryptototem.com/wp-content/uploads/2022/08/SUI-logo.jpg",
|
|
190
|
-
tags: [],
|
|
191
|
-
extensions: {
|
|
192
|
-
coingeckoId: "iota"
|
|
193
|
-
}
|
|
194
|
-
},
|
|
195
|
-
{
|
|
196
|
-
network: "devnet",
|
|
197
|
-
address: "0x2::sui::SUI",
|
|
198
|
-
symbol: "SUI",
|
|
199
|
-
name: "Iota Coin",
|
|
200
|
-
decimals: 9,
|
|
201
|
-
logoURI: "https://cryptototem.com/wp-content/uploads/2022/08/SUI-logo.jpg",
|
|
202
|
-
tags: [],
|
|
203
|
-
extensions: {
|
|
204
|
-
coingeckoId: "iota"
|
|
205
|
-
}
|
|
206
|
-
},
|
|
207
|
-
{
|
|
208
|
-
network: "testnet",
|
|
209
|
-
address: "0xe158e6df182971bb6c85eb9de9fbfb460b68163d19afc45873c8672b5cc521b2::TOKEN::TestTEST",
|
|
210
|
-
symbol: "TEST",
|
|
211
|
-
name: "Test Token",
|
|
212
|
-
logoURI: "https://suiswap.app/images/token/suiswap-test.svg",
|
|
213
|
-
tags: [],
|
|
214
|
-
decimals: 8,
|
|
215
|
-
extensions: {}
|
|
216
|
-
},
|
|
217
|
-
{
|
|
218
|
-
network: "testnet",
|
|
219
|
-
address: "0xe158e6df182971bb6c85eb9de9fbfb460b68163d19afc45873c8672b5cc521b2::TOKEN::TestUSDT",
|
|
220
|
-
symbol: "USDT",
|
|
221
|
-
name: "Tether",
|
|
222
|
-
logoURI: "https://raw.githubusercontent.com/solana-labs/token-list/main/assets/mainnet/BQcdHdAQW1hczDbBi9hiegXAR7A98Q9jx3X3iBBBDiq4/logo.png",
|
|
223
|
-
tags: [],
|
|
224
|
-
decimals: 8,
|
|
225
|
-
extensions: {
|
|
226
|
-
coingeckoId: "tether"
|
|
227
|
-
}
|
|
228
|
-
},
|
|
229
|
-
{
|
|
230
|
-
network: "testnet",
|
|
231
|
-
address: "0xe158e6df182971bb6c85eb9de9fbfb460b68163d19afc45873c8672b5cc521b2::TOKEN::TestUSDC",
|
|
232
|
-
symbol: "USDC",
|
|
233
|
-
name: "USD Coin",
|
|
234
|
-
logoURI: "https://raw.githubusercontent.com/solana-labs/token-list/main/assets/mainnet/EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v/logo.png",
|
|
235
|
-
decimals: 8,
|
|
236
|
-
tags: [],
|
|
237
|
-
extensions: {
|
|
238
|
-
coingeckoId: "usd-coin"
|
|
239
|
-
}
|
|
240
|
-
},
|
|
241
|
-
{
|
|
242
|
-
network: "testnet",
|
|
243
|
-
address: "0xe158e6df182971bb6c85eb9de9fbfb460b68163d19afc45873c8672b5cc521b2::TOKEN::TestSOL",
|
|
244
|
-
symbol: "SOL",
|
|
245
|
-
name: "Solana",
|
|
246
|
-
logoURI: "https://raw.githubusercontent.com/solana-labs/token-list/main/assets/mainnet/So11111111111111111111111111111111111111112/logo.png",
|
|
247
|
-
decimals: 8,
|
|
248
|
-
extensions: {
|
|
249
|
-
coingeckoId: "solana"
|
|
250
|
-
}
|
|
251
|
-
},
|
|
252
|
-
{
|
|
253
|
-
network: "testnet",
|
|
254
|
-
address: "0xe158e6df182971bb6c85eb9de9fbfb460b68163d19afc45873c8672b5cc521b2::TOKEN::TestBTC",
|
|
255
|
-
symbol: "BTC",
|
|
256
|
-
name: "Bitcoin",
|
|
257
|
-
logoURI: "https://raw.githubusercontent.com/solana-labs/token-list/main/assets/mainnet/9n4nbM75f5Ui33ZbPYXn59EwSgE8CGsHtAeTH5YFeJ9E/logo.png",
|
|
258
|
-
decimals: 8,
|
|
259
|
-
tags: [],
|
|
260
|
-
extensions: {
|
|
261
|
-
coingeckoId: "bitcoin"
|
|
262
|
-
}
|
|
263
|
-
},
|
|
264
|
-
{
|
|
265
|
-
network: "testnet",
|
|
266
|
-
address: "0xe158e6df182971bb6c85eb9de9fbfb460b68163d19afc45873c8672b5cc521b2::TOKEN::TestDAI",
|
|
267
|
-
symbol: "DAI",
|
|
268
|
-
name: "DAI",
|
|
269
|
-
logoURI: "https://raw.githubusercontent.com/solana-labs/token-list/main/assets/mainnet/FYpdBuyAHSbdaAyD1sKkxyLWbAP8uUW9h6uvdhK74ij1/logo.png",
|
|
270
|
-
decimals: 8,
|
|
271
|
-
tags: [],
|
|
272
|
-
extensions: {
|
|
273
|
-
coingeckoId: "dai"
|
|
274
|
-
}
|
|
275
|
-
},
|
|
276
|
-
{
|
|
277
|
-
network: "testnet",
|
|
278
|
-
address: "0xe158e6df182971bb6c85eb9de9fbfb460b68163d19afc45873c8672b5cc521b2::TOKEN::TestBNB",
|
|
279
|
-
symbol: "BNB",
|
|
280
|
-
name: "BNB",
|
|
281
|
-
logoURI: "https://assets.coingecko.com/coins/images/825/large/bnb-icon2_2x.png",
|
|
282
|
-
decimals: 8,
|
|
283
|
-
tags: [],
|
|
284
|
-
extensions: {
|
|
285
|
-
coingeckoId: "binancecoin"
|
|
286
|
-
}
|
|
287
|
-
},
|
|
288
|
-
{
|
|
289
|
-
network: "testnet",
|
|
290
|
-
address: "0xe158e6df182971bb6c85eb9de9fbfb460b68163d19afc45873c8672b5cc521b2::TOKEN::TestETH",
|
|
291
|
-
symbol: "ETH",
|
|
292
|
-
name: "Ethereum",
|
|
293
|
-
logoURI: "https://assets.coingecko.com/coins/images/279/large/ethereum.png",
|
|
294
|
-
decimals: 8,
|
|
295
|
-
tags: [],
|
|
296
|
-
extensions: {
|
|
297
|
-
coingeckoId: "ethereum"
|
|
298
|
-
}
|
|
299
|
-
},
|
|
300
|
-
{
|
|
301
|
-
network: "testnet",
|
|
302
|
-
address: "0x31b14985adb91360ed90a5786cb0956c83e7f275a8ae6123f38adab9d2b792b1::usdc::USDC",
|
|
303
|
-
symbol: "USDC",
|
|
304
|
-
name: "USD Coin",
|
|
305
|
-
logoURI: "https://raw.githubusercontent.com/solana-labs/token-list/main/assets/mainnet/EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v/logo.png",
|
|
306
|
-
decimals: 8,
|
|
307
|
-
tags: [],
|
|
308
|
-
extensions: {
|
|
309
|
-
coingeckoId: "usd-coin"
|
|
310
|
-
}
|
|
311
|
-
},
|
|
312
|
-
{
|
|
313
|
-
network: "devnet",
|
|
314
|
-
address: "0xe158e6df182971bb6c85eb9de9fbfb460b68163d19afc45873c8672b5cc521b2::TOKEN::TestTEST",
|
|
315
|
-
symbol: "TEST",
|
|
316
|
-
name: "Test Token",
|
|
317
|
-
logoURI: "https://suiswap.app/images/token/suiswap-test.svg",
|
|
318
|
-
tags: [],
|
|
319
|
-
decimals: 8,
|
|
320
|
-
extensions: {}
|
|
321
|
-
},
|
|
322
|
-
{
|
|
323
|
-
network: "devnet",
|
|
324
|
-
address: "0xe158e6df182971bb6c85eb9de9fbfb460b68163d19afc45873c8672b5cc521b2::TOKEN::TestUSDT",
|
|
325
|
-
symbol: "USDT",
|
|
326
|
-
name: "Tether",
|
|
327
|
-
logoURI: "https://raw.githubusercontent.com/solana-labs/token-list/main/assets/mainnet/BQcdHdAQW1hczDbBi9hiegXAR7A98Q9jx3X3iBBBDiq4/logo.png",
|
|
328
|
-
tags: [],
|
|
329
|
-
decimals: 8,
|
|
330
|
-
extensions: {
|
|
331
|
-
coingeckoId: "tether"
|
|
332
|
-
}
|
|
333
|
-
},
|
|
334
|
-
{
|
|
335
|
-
network: "devnet",
|
|
336
|
-
address: "0xe158e6df182971bb6c85eb9de9fbfb460b68163d19afc45873c8672b5cc521b2::TOKEN::TestUSDC",
|
|
337
|
-
symbol: "USDC",
|
|
338
|
-
name: "USD Coin",
|
|
339
|
-
logoURI: "https://raw.githubusercontent.com/solana-labs/token-list/main/assets/mainnet/EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v/logo.png",
|
|
340
|
-
decimals: 8,
|
|
341
|
-
tags: [],
|
|
342
|
-
extensions: {
|
|
343
|
-
coingeckoId: "usd-coin"
|
|
344
|
-
}
|
|
345
|
-
},
|
|
346
|
-
{
|
|
347
|
-
network: "devnet",
|
|
348
|
-
address: "0xe158e6df182971bb6c85eb9de9fbfb460b68163d19afc45873c8672b5cc521b2::TOKEN::TestSOL",
|
|
349
|
-
symbol: "SOL",
|
|
350
|
-
name: "Solana",
|
|
351
|
-
logoURI: "https://raw.githubusercontent.com/solana-labs/token-list/main/assets/mainnet/So11111111111111111111111111111111111111112/logo.png",
|
|
352
|
-
decimals: 8,
|
|
353
|
-
extensions: {
|
|
354
|
-
coingeckoId: "solana"
|
|
355
|
-
}
|
|
356
|
-
},
|
|
357
|
-
{
|
|
358
|
-
network: "devnet",
|
|
359
|
-
address: "0xe158e6df182971bb6c85eb9de9fbfb460b68163d19afc45873c8672b5cc521b2::TOKEN::TestBTC",
|
|
360
|
-
symbol: "BTC",
|
|
361
|
-
name: "Bitcoin",
|
|
362
|
-
logoURI: "https://raw.githubusercontent.com/solana-labs/token-list/main/assets/mainnet/9n4nbM75f5Ui33ZbPYXn59EwSgE8CGsHtAeTH5YFeJ9E/logo.png",
|
|
363
|
-
decimals: 8,
|
|
364
|
-
tags: [],
|
|
365
|
-
extensions: {
|
|
366
|
-
coingeckoId: "bitcoin"
|
|
367
|
-
}
|
|
368
|
-
},
|
|
369
|
-
{
|
|
370
|
-
network: "devnet",
|
|
371
|
-
address: "0xe158e6df182971bb6c85eb9de9fbfb460b68163d19afc45873c8672b5cc521b2::TOKEN::TestDAI",
|
|
372
|
-
symbol: "DAI",
|
|
373
|
-
name: "DAI",
|
|
374
|
-
logoURI: "https://raw.githubusercontent.com/solana-labs/token-list/main/assets/mainnet/FYpdBuyAHSbdaAyD1sKkxyLWbAP8uUW9h6uvdhK74ij1/logo.png",
|
|
375
|
-
decimals: 8,
|
|
376
|
-
tags: [],
|
|
377
|
-
extensions: {
|
|
378
|
-
coingeckoId: "dai"
|
|
379
|
-
}
|
|
380
|
-
},
|
|
381
|
-
{
|
|
382
|
-
network: "devnet",
|
|
383
|
-
address: "0xe158e6df182971bb6c85eb9de9fbfb460b68163d19afc45873c8672b5cc521b2::TOKEN::TestBNB",
|
|
384
|
-
symbol: "BNB",
|
|
385
|
-
name: "BNB",
|
|
386
|
-
logoURI: "https://assets.coingecko.com/coins/images/825/large/bnb-icon2_2x.png",
|
|
387
|
-
decimals: 8,
|
|
388
|
-
tags: [],
|
|
389
|
-
extensions: {
|
|
390
|
-
coingeckoId: "binancecoin"
|
|
391
|
-
}
|
|
392
|
-
},
|
|
393
|
-
{
|
|
394
|
-
network: "devnet",
|
|
395
|
-
address: "0xe158e6df182971bb6c85eb9de9fbfb460b68163d19afc45873c8672b5cc521b2::TOKEN::TestETH",
|
|
396
|
-
symbol: "ETH",
|
|
397
|
-
name: "Ethereum",
|
|
398
|
-
logoURI: "https://assets.coingecko.com/coins/images/279/large/ethereum.png",
|
|
399
|
-
decimals: 8,
|
|
400
|
-
tags: [],
|
|
401
|
-
extensions: {
|
|
402
|
-
coingeckoId: "ethereum"
|
|
403
|
-
}
|
|
404
|
-
},
|
|
405
|
-
{
|
|
406
|
-
network: "mainnet",
|
|
407
|
-
address: "0xaf8cd5edc19c4512f4259f0bee101a40d41ebed738ade5874359610ef8eeced5::coin::COIN",
|
|
408
|
-
symbol: "wETH",
|
|
409
|
-
name: "Wrapped Ethereum (Wormhole)",
|
|
410
|
-
decimals: 8,
|
|
411
|
-
logoURI: "https://assets.coingecko.com/coins/images/279/large/ethereum.png",
|
|
412
|
-
tags: [],
|
|
413
|
-
extensions: {
|
|
414
|
-
coingeckoId: "ethereum"
|
|
415
|
-
}
|
|
416
|
-
},
|
|
417
|
-
{
|
|
418
|
-
network: "mainnet",
|
|
419
|
-
address: "0xc060006111016b8a020ad5b33834984a437aaa7d3c74c18e09a95d48aceab08c::coin::COIN",
|
|
420
|
-
symbol: "wUSDT",
|
|
421
|
-
name: "Tether (Wormhole)",
|
|
422
|
-
decimals: 6,
|
|
423
|
-
logoURI: "https://raw.githubusercontent.com/solana-labs/token-list/main/assets/mainnet/BQcdHdAQW1hczDbBi9hiegXAR7A98Q9jx3X3iBBBDiq4/logo.png",
|
|
424
|
-
tags: [],
|
|
425
|
-
extensions: {
|
|
426
|
-
coingeckoId: "tether"
|
|
427
|
-
}
|
|
428
|
-
},
|
|
429
|
-
{
|
|
430
|
-
network: "mainnet",
|
|
431
|
-
address: "0x5d4b302506645c37ff133b98c4b50a5ae14841659738d6d733d59d0d217a93bf::coin::COIN",
|
|
432
|
-
symbol: "wUSDC",
|
|
433
|
-
name: "USD Coin (Wormhole)",
|
|
434
|
-
decimals: 6,
|
|
435
|
-
logoURI: "https://raw.githubusercontent.com/solana-labs/token-list/main/assets/mainnet/EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v/logo.png",
|
|
436
|
-
tags: [],
|
|
437
|
-
extensions: {
|
|
438
|
-
coingeckoId: "usd-coin"
|
|
439
|
-
}
|
|
440
|
-
},
|
|
441
|
-
{
|
|
442
|
-
network: "mainnet",
|
|
443
|
-
address: "0xa198f3be41cda8c07b3bf3fee02263526e535d682499806979a111e88a5a8d0f::coin::COIN",
|
|
444
|
-
symbol: "wCELO",
|
|
445
|
-
name: "Celo (Wormhole)",
|
|
446
|
-
decimals: 8,
|
|
447
|
-
logoURI: "https://assets.coingecko.com/coins/images/11090/large/InjXBNx9_400x400.jpg",
|
|
448
|
-
tags: [],
|
|
449
|
-
extensions: {
|
|
450
|
-
coingeckoId: "celo"
|
|
451
|
-
}
|
|
452
|
-
},
|
|
453
|
-
{
|
|
454
|
-
network: "mainnet",
|
|
455
|
-
address: "0xdbe380b13a6d0f5cdedd58de8f04625263f113b3f9db32b3e1983f49e2841676::coin::COIN",
|
|
456
|
-
symbol: "wMATIC",
|
|
457
|
-
name: "Wrapped Matic (Wormhole)",
|
|
458
|
-
decimals: 8,
|
|
459
|
-
logoURI: "https://assets.coingecko.com/coins/images/4713/large/matic-token-icon.png",
|
|
460
|
-
tags: [],
|
|
461
|
-
extensions: {
|
|
462
|
-
coingeckoId: "matic-network"
|
|
463
|
-
}
|
|
464
|
-
},
|
|
465
|
-
{
|
|
466
|
-
network: "mainnet",
|
|
467
|
-
address: "0xb848cce11ef3a8f62eccea6eb5b35a12c4c2b1ee1af7755d02d7bd6218e8226f::coin::COIN",
|
|
468
|
-
symbol: "wBNB",
|
|
469
|
-
name: "Wrapped BNB (Wormhole)",
|
|
470
|
-
decimals: 8,
|
|
471
|
-
logoURI: "https://assets.coingecko.com/coins/images/825/large/bnb-icon2_2x.png",
|
|
472
|
-
tags: [],
|
|
473
|
-
extensions: {
|
|
474
|
-
coingeckoId: "binancecoin"
|
|
475
|
-
}
|
|
476
|
-
},
|
|
477
|
-
{
|
|
478
|
-
network: "mainnet",
|
|
479
|
-
address: "0x027792d9fed7f9844eb4839566001bb6f6cb4804f66aa2da6fe1ee242d896881::coin::COIN",
|
|
480
|
-
symbol: "wBTC",
|
|
481
|
-
name: "Wrapped Bitcoin (Wormhole)",
|
|
482
|
-
decimals: 8,
|
|
483
|
-
logoURI: "https://assets.coingecko.com/coins/images/1/large/bitcoin.png",
|
|
484
|
-
tags: [],
|
|
485
|
-
extensions: {
|
|
486
|
-
coingeckoId: "bitcoin"
|
|
487
|
-
}
|
|
488
|
-
},
|
|
489
|
-
{
|
|
490
|
-
network: "mainnet",
|
|
491
|
-
address: "0x1e8b532cca6569cab9f9b9ebc73f8c13885012ade714729aa3b450e0339ac766::coin::COIN",
|
|
492
|
-
symbol: "wAVAX",
|
|
493
|
-
name: "Wrapped AVAX (Wormhole)",
|
|
494
|
-
decimals: 8,
|
|
495
|
-
logoURI: "https://assets.coingecko.com/coins/images/12559/large/Avalanche_Circle_RedWhite_Trans.png",
|
|
496
|
-
tags: [],
|
|
497
|
-
extensions: {
|
|
498
|
-
coingeckoId: "avalanche-2"
|
|
499
|
-
}
|
|
500
|
-
},
|
|
501
|
-
{
|
|
502
|
-
network: "mainnet",
|
|
503
|
-
address: "0x6081300950a4f1e2081580e919c210436a1bed49080502834950d31ee55a2396::coin::COIN",
|
|
504
|
-
symbol: "wFTM",
|
|
505
|
-
name: "Wrapped Fantom (Wormhole)",
|
|
506
|
-
decimals: 8,
|
|
507
|
-
logoURI: "https://assets.coingecko.com/coins/images/4001/large/Fantom_round.png",
|
|
508
|
-
tags: [],
|
|
509
|
-
extensions: {
|
|
510
|
-
coingeckoId: "fantom"
|
|
511
|
-
}
|
|
512
|
-
},
|
|
513
|
-
{
|
|
514
|
-
network: "mainnet",
|
|
515
|
-
address: "0x66f87084e49c38f76502d17f87d17f943f183bb94117561eb573e075fdc5ff75::coin::COIN",
|
|
516
|
-
symbol: "wGLMR",
|
|
517
|
-
name: "Wrapped GLMR (Wormhole)",
|
|
518
|
-
decimals: 8,
|
|
519
|
-
logoURI: "https://assets.coingecko.com/coins/images/22459/large/glmr.png",
|
|
520
|
-
tags: [],
|
|
521
|
-
extensions: {
|
|
522
|
-
coingeckoId: "moonbeam"
|
|
523
|
-
}
|
|
524
|
-
},
|
|
525
|
-
{
|
|
526
|
-
network: "mainnet",
|
|
527
|
-
address: "0xb7844e289a8410e50fb3ca48d69eb9cf29e27d223ef90353fe1bd8e27ff8f3f8::coin::COIN",
|
|
528
|
-
symbol: "wSOL",
|
|
529
|
-
name: "Wrapped Solana (Wormhole)",
|
|
530
|
-
decimals: 8,
|
|
531
|
-
logoURI: "https://assets.coingecko.com/coins/images/4128/large/solana.png",
|
|
532
|
-
tags: [],
|
|
533
|
-
extensions: {
|
|
534
|
-
coingeckoId: "solana"
|
|
535
|
-
}
|
|
536
|
-
},
|
|
537
|
-
{
|
|
538
|
-
network: "mainnet",
|
|
539
|
-
address: "0xb231fcda8bbddb31f2ef02e6161444aec64a514e2c89279584ac9806ce9cf037::coin::COIN",
|
|
540
|
-
symbol: "wUSDCsol",
|
|
541
|
-
name: "USD Coin Solana (Wormhole)",
|
|
542
|
-
decimals: 6,
|
|
543
|
-
logoURI: "https://assets.coingecko.com/coins/images/6319/large/USD_Coin_icon.png",
|
|
544
|
-
tags: [],
|
|
545
|
-
extensions: {
|
|
546
|
-
coingeckoId: "usd-coin"
|
|
547
|
-
}
|
|
548
|
-
}
|
|
549
|
-
]
|
|
550
|
-
};
|
|
551
|
-
import("node:process").then((p) => p.stdout.write(""));
|
|
552
|
-
|
|
553
|
-
export {
|
|
554
|
-
initCoinList,
|
|
555
|
-
whitelistCoins,
|
|
556
|
-
whiteListed,
|
|
557
|
-
getCoinInfo,
|
|
558
|
-
getCoinInfoWithFallback,
|
|
559
|
-
getPrice,
|
|
560
|
-
calculateValueInUsd
|
|
561
|
-
};
|
|
562
|
-
//# sourceMappingURL=chunk-P7O6NN6M.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/iota/ext/coin.ts"],"sourcesContent":["import { BaseCoinInfo } from '../../move/ext/index.js'\nimport fetch from 'node-fetch'\nimport { accountTypeString, SPLITTER } from '../../move/index.js'\nimport { getPriceByType } from '../../utils/index.js'\nimport { SuiChainId } from '@sentio/chain'\n// import { validateAndNormalizeAddress } from '../utils.js'\nimport { getClient, IotaNetwork } from '../network.js'\nimport { CoinMetadata } from '@iota/iota-sdk/client'\n\nconst WHITELISTED_COINS = new Map<string, BaseCoinInfo>()\n\nexport async function initCoinList() {\n let list = DEFAULT_LIST.coinlist\n try {\n const resp = await fetch('https://raw.githubusercontent.com/solflare-wallet/iota-coinlist/master/sui-coinlist.json')\n list = ((await resp.json()) as any).coinlist\n } catch (e) {\n console.warn(\"Can't not fetch newest coin list, use default list\")\n }\n\n setCoinList(list)\n}\n\nexport interface IotaCoinInfo {\n network: string\n address: string\n symbol: string\n name: string\n decimals: number\n}\n\nfunction setCoinList(list: IotaCoinInfo[]) {\n for (const info of list) {\n if (info.address.startsWith('0x2::coin::Coin')) {\n continue\n }\n if (info.network !== 'mainnet') {\n continue\n }\n let bridge = 'native'\n if (info.name.includes('Celer')) {\n bridge = 'Celer'\n }\n if (info.name.includes('LayerZero')) {\n bridge = 'LayerZero'\n }\n if (info.name.includes('Wormhole')) {\n bridge = 'Wormhole'\n }\n WHITELISTED_COINS.set(info.address, {\n type: info.address,\n symbol: info.symbol,\n decimals: info.decimals,\n bridge\n })\n }\n}\n\nexport function whitelistCoins() {\n return WHITELISTED_COINS\n}\n\nexport function whiteListed(coin: string): boolean {\n const [addr, module, type] = coin.split(SPLITTER)\n const normalized = [accountTypeString(addr), module, type].join(SPLITTER)\n return WHITELISTED_COINS.has(normalized)\n}\n\nexport function getCoinInfo(type: string): BaseCoinInfo {\n const r = WHITELISTED_COINS.get(type)\n if (!r) {\n const parts = type.split('::')\n // TDDO retrive from network\n return {\n type,\n symbol: parts[2],\n decimals: 8,\n bridge: 'native'\n }\n }\n return r\n}\n\nconst COIN_METADATA_CACHE = new Map<string, Promise<CoinMetadata | null>>()\n\nexport async function getCoinInfoWithFallback(type: string, network?: IotaNetwork): Promise<BaseCoinInfo> {\n const r = WHITELISTED_COINS.get(type)\n if (!r) {\n network = network || SuiChainId.IOTA_MAINNET\n const key = network + '_' + type\n let promise = COIN_METADATA_CACHE.get(key)\n if (!promise) {\n const client = getClient(network)\n promise = client.getCoinMetadata({ coinType: type })\n COIN_METADATA_CACHE.set(key, promise)\n }\n const meta = await promise\n if (meta === null) {\n throw Error('Coin not existed ' + key)\n }\n\n const parts = type.split(SPLITTER)\n return {\n type,\n symbol: meta.symbol,\n decimals: meta.decimals,\n bridge: 'native'\n }\n }\n return r\n}\n\nexport async function getPrice(coinType: string, timestamp: number): Promise<number> {\n if (!whiteListed(coinType)) {\n return 0.0\n }\n const date = new Date(timestamp / 1000)\n try {\n return (await getPriceByType(SuiChainId.IOTA_MAINNET, coinType, date)) || 0\n } catch (error) {\n console.log(JSON.stringify(error))\n throw error\n }\n}\n\nexport async function calculateValueInUsd(n: bigint, coinInfo: BaseCoinInfo, timestamp: number) {\n const price = await getPrice(coinInfo.type, timestamp)\n const amount = n.scaleDown(coinInfo.decimals)\n return amount.multipliedBy(price)\n}\n\nconst DEFAULT_LIST = {\n name: 'Iota Coin List',\n timestamp: '2022-12-01T13:34:30.145Z',\n logoURI: 'https://s2.coinmarketcap.com/static/img/coins/128x128/20947.png',\n coinlist: [\n {\n network: 'mainnet',\n address: '0x2::coin::Coin<0x2::sui::SUI>',\n symbol: 'SUI',\n name: 'Iota Coin',\n decimals: 9,\n logoURI: 'https://cryptototem.com/wp-content/uploads/2022/08/SUI-logo.jpg',\n tags: [],\n extensions: {\n coingeckoId: 'iota'\n }\n },\n {\n network: 'testnet',\n address: '0x2::coin::Coin<0x2::sui::SUI>',\n symbol: 'SUI',\n name: 'Iota Coin',\n decimals: 9,\n logoURI: 'https://cryptototem.com/wp-content/uploads/2022/08/SUI-logo.jpg',\n tags: [],\n extensions: {\n coingeckoId: 'iota'\n }\n },\n {\n network: 'devnet',\n address: '0x2::coin::Coin<0x2::sui::SUI>',\n symbol: 'SUI',\n name: 'Iota Coin',\n decimals: 9,\n logoURI: 'https://cryptototem.com/wp-content/uploads/2022/08/SUI-logo.jpg',\n tags: [],\n extensions: {\n coingeckoId: 'iota'\n }\n },\n {\n network: 'mainnet',\n address: '0x2::sui::SUI',\n symbol: 'SUI',\n name: 'Iota Coin',\n decimals: 9,\n logoURI: 'https://cryptototem.com/wp-content/uploads/2022/08/SUI-logo.jpg',\n tags: [],\n extensions: {\n coingeckoId: 'iota'\n }\n },\n {\n network: 'testnet',\n address: '0x2::sui::SUI',\n symbol: 'SUI',\n name: 'Iota Coin',\n decimals: 9,\n logoURI: 'https://cryptototem.com/wp-content/uploads/2022/08/SUI-logo.jpg',\n tags: [],\n extensions: {\n coingeckoId: 'iota'\n }\n },\n {\n network: 'devnet',\n address: '0x2::sui::SUI',\n symbol: 'SUI',\n name: 'Iota Coin',\n decimals: 9,\n logoURI: 'https://cryptototem.com/wp-content/uploads/2022/08/SUI-logo.jpg',\n tags: [],\n extensions: {\n coingeckoId: 'iota'\n }\n },\n {\n network: 'testnet',\n address: '0xe158e6df182971bb6c85eb9de9fbfb460b68163d19afc45873c8672b5cc521b2::TOKEN::TestTEST',\n symbol: 'TEST',\n name: 'Test Token',\n logoURI: 'https://suiswap.app/images/token/suiswap-test.svg',\n tags: [],\n decimals: 8,\n extensions: {}\n },\n {\n network: 'testnet',\n address: '0xe158e6df182971bb6c85eb9de9fbfb460b68163d19afc45873c8672b5cc521b2::TOKEN::TestUSDT',\n symbol: 'USDT',\n name: 'Tether',\n logoURI:\n 'https://raw.githubusercontent.com/solana-labs/token-list/main/assets/mainnet/BQcdHdAQW1hczDbBi9hiegXAR7A98Q9jx3X3iBBBDiq4/logo.png',\n tags: [],\n decimals: 8,\n extensions: {\n coingeckoId: 'tether'\n }\n },\n {\n network: 'testnet',\n address: '0xe158e6df182971bb6c85eb9de9fbfb460b68163d19afc45873c8672b5cc521b2::TOKEN::TestUSDC',\n symbol: 'USDC',\n name: 'USD Coin',\n logoURI:\n 'https://raw.githubusercontent.com/solana-labs/token-list/main/assets/mainnet/EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v/logo.png',\n decimals: 8,\n tags: [],\n extensions: {\n coingeckoId: 'usd-coin'\n }\n },\n {\n network: 'testnet',\n address: '0xe158e6df182971bb6c85eb9de9fbfb460b68163d19afc45873c8672b5cc521b2::TOKEN::TestSOL',\n symbol: 'SOL',\n name: 'Solana',\n logoURI:\n 'https://raw.githubusercontent.com/solana-labs/token-list/main/assets/mainnet/So11111111111111111111111111111111111111112/logo.png',\n decimals: 8,\n extensions: {\n coingeckoId: 'solana'\n }\n },\n {\n network: 'testnet',\n address: '0xe158e6df182971bb6c85eb9de9fbfb460b68163d19afc45873c8672b5cc521b2::TOKEN::TestBTC',\n symbol: 'BTC',\n name: 'Bitcoin',\n logoURI:\n 'https://raw.githubusercontent.com/solana-labs/token-list/main/assets/mainnet/9n4nbM75f5Ui33ZbPYXn59EwSgE8CGsHtAeTH5YFeJ9E/logo.png',\n decimals: 8,\n tags: [],\n extensions: {\n coingeckoId: 'bitcoin'\n }\n },\n {\n network: 'testnet',\n address: '0xe158e6df182971bb6c85eb9de9fbfb460b68163d19afc45873c8672b5cc521b2::TOKEN::TestDAI',\n symbol: 'DAI',\n name: 'DAI',\n logoURI:\n 'https://raw.githubusercontent.com/solana-labs/token-list/main/assets/mainnet/FYpdBuyAHSbdaAyD1sKkxyLWbAP8uUW9h6uvdhK74ij1/logo.png',\n decimals: 8,\n tags: [],\n extensions: {\n coingeckoId: 'dai'\n }\n },\n {\n network: 'testnet',\n address: '0xe158e6df182971bb6c85eb9de9fbfb460b68163d19afc45873c8672b5cc521b2::TOKEN::TestBNB',\n symbol: 'BNB',\n name: 'BNB',\n logoURI: 'https://assets.coingecko.com/coins/images/825/large/bnb-icon2_2x.png',\n decimals: 8,\n tags: [],\n extensions: {\n coingeckoId: 'binancecoin'\n }\n },\n {\n network: 'testnet',\n address: '0xe158e6df182971bb6c85eb9de9fbfb460b68163d19afc45873c8672b5cc521b2::TOKEN::TestETH',\n symbol: 'ETH',\n name: 'Ethereum',\n logoURI: 'https://assets.coingecko.com/coins/images/279/large/ethereum.png',\n decimals: 8,\n tags: [],\n extensions: {\n coingeckoId: 'ethereum'\n }\n },\n {\n network: 'testnet',\n address: '0x31b14985adb91360ed90a5786cb0956c83e7f275a8ae6123f38adab9d2b792b1::usdc::USDC',\n symbol: 'USDC',\n name: 'USD Coin',\n logoURI:\n 'https://raw.githubusercontent.com/solana-labs/token-list/main/assets/mainnet/EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v/logo.png',\n decimals: 8,\n tags: [],\n extensions: {\n coingeckoId: 'usd-coin'\n }\n },\n {\n network: 'devnet',\n address: '0xe158e6df182971bb6c85eb9de9fbfb460b68163d19afc45873c8672b5cc521b2::TOKEN::TestTEST',\n symbol: 'TEST',\n name: 'Test Token',\n logoURI: 'https://suiswap.app/images/token/suiswap-test.svg',\n tags: [],\n decimals: 8,\n extensions: {}\n },\n {\n network: 'devnet',\n address: '0xe158e6df182971bb6c85eb9de9fbfb460b68163d19afc45873c8672b5cc521b2::TOKEN::TestUSDT',\n symbol: 'USDT',\n name: 'Tether',\n logoURI:\n 'https://raw.githubusercontent.com/solana-labs/token-list/main/assets/mainnet/BQcdHdAQW1hczDbBi9hiegXAR7A98Q9jx3X3iBBBDiq4/logo.png',\n tags: [],\n decimals: 8,\n extensions: {\n coingeckoId: 'tether'\n }\n },\n {\n network: 'devnet',\n address: '0xe158e6df182971bb6c85eb9de9fbfb460b68163d19afc45873c8672b5cc521b2::TOKEN::TestUSDC',\n symbol: 'USDC',\n name: 'USD Coin',\n logoURI:\n 'https://raw.githubusercontent.com/solana-labs/token-list/main/assets/mainnet/EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v/logo.png',\n decimals: 8,\n tags: [],\n extensions: {\n coingeckoId: 'usd-coin'\n }\n },\n {\n network: 'devnet',\n address: '0xe158e6df182971bb6c85eb9de9fbfb460b68163d19afc45873c8672b5cc521b2::TOKEN::TestSOL',\n symbol: 'SOL',\n name: 'Solana',\n logoURI:\n 'https://raw.githubusercontent.com/solana-labs/token-list/main/assets/mainnet/So11111111111111111111111111111111111111112/logo.png',\n decimals: 8,\n extensions: {\n coingeckoId: 'solana'\n }\n },\n {\n network: 'devnet',\n address: '0xe158e6df182971bb6c85eb9de9fbfb460b68163d19afc45873c8672b5cc521b2::TOKEN::TestBTC',\n symbol: 'BTC',\n name: 'Bitcoin',\n logoURI:\n 'https://raw.githubusercontent.com/solana-labs/token-list/main/assets/mainnet/9n4nbM75f5Ui33ZbPYXn59EwSgE8CGsHtAeTH5YFeJ9E/logo.png',\n decimals: 8,\n tags: [],\n extensions: {\n coingeckoId: 'bitcoin'\n }\n },\n {\n network: 'devnet',\n address: '0xe158e6df182971bb6c85eb9de9fbfb460b68163d19afc45873c8672b5cc521b2::TOKEN::TestDAI',\n symbol: 'DAI',\n name: 'DAI',\n logoURI:\n 'https://raw.githubusercontent.com/solana-labs/token-list/main/assets/mainnet/FYpdBuyAHSbdaAyD1sKkxyLWbAP8uUW9h6uvdhK74ij1/logo.png',\n decimals: 8,\n tags: [],\n extensions: {\n coingeckoId: 'dai'\n }\n },\n {\n network: 'devnet',\n address: '0xe158e6df182971bb6c85eb9de9fbfb460b68163d19afc45873c8672b5cc521b2::TOKEN::TestBNB',\n symbol: 'BNB',\n name: 'BNB',\n logoURI: 'https://assets.coingecko.com/coins/images/825/large/bnb-icon2_2x.png',\n decimals: 8,\n tags: [],\n extensions: {\n coingeckoId: 'binancecoin'\n }\n },\n {\n network: 'devnet',\n address: '0xe158e6df182971bb6c85eb9de9fbfb460b68163d19afc45873c8672b5cc521b2::TOKEN::TestETH',\n symbol: 'ETH',\n name: 'Ethereum',\n logoURI: 'https://assets.coingecko.com/coins/images/279/large/ethereum.png',\n decimals: 8,\n tags: [],\n extensions: {\n coingeckoId: 'ethereum'\n }\n },\n {\n network: 'mainnet',\n address: '0xaf8cd5edc19c4512f4259f0bee101a40d41ebed738ade5874359610ef8eeced5::coin::COIN',\n symbol: 'wETH',\n name: 'Wrapped Ethereum (Wormhole)',\n decimals: 8,\n logoURI: 'https://assets.coingecko.com/coins/images/279/large/ethereum.png',\n tags: [],\n extensions: {\n coingeckoId: 'ethereum'\n }\n },\n {\n network: 'mainnet',\n address: '0xc060006111016b8a020ad5b33834984a437aaa7d3c74c18e09a95d48aceab08c::coin::COIN',\n symbol: 'wUSDT',\n name: 'Tether (Wormhole)',\n decimals: 6,\n logoURI:\n 'https://raw.githubusercontent.com/solana-labs/token-list/main/assets/mainnet/BQcdHdAQW1hczDbBi9hiegXAR7A98Q9jx3X3iBBBDiq4/logo.png',\n tags: [],\n extensions: {\n coingeckoId: 'tether'\n }\n },\n {\n network: 'mainnet',\n address: '0x5d4b302506645c37ff133b98c4b50a5ae14841659738d6d733d59d0d217a93bf::coin::COIN',\n symbol: 'wUSDC',\n name: 'USD Coin (Wormhole)',\n decimals: 6,\n logoURI:\n 'https://raw.githubusercontent.com/solana-labs/token-list/main/assets/mainnet/EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v/logo.png',\n tags: [],\n extensions: {\n coingeckoId: 'usd-coin'\n }\n },\n {\n network: 'mainnet',\n address: '0xa198f3be41cda8c07b3bf3fee02263526e535d682499806979a111e88a5a8d0f::coin::COIN',\n symbol: 'wCELO',\n name: 'Celo (Wormhole)',\n decimals: 8,\n logoURI: 'https://assets.coingecko.com/coins/images/11090/large/InjXBNx9_400x400.jpg',\n tags: [],\n extensions: {\n coingeckoId: 'celo'\n }\n },\n {\n network: 'mainnet',\n address: '0xdbe380b13a6d0f5cdedd58de8f04625263f113b3f9db32b3e1983f49e2841676::coin::COIN',\n symbol: 'wMATIC',\n name: 'Wrapped Matic (Wormhole)',\n decimals: 8,\n logoURI: 'https://assets.coingecko.com/coins/images/4713/large/matic-token-icon.png',\n tags: [],\n extensions: {\n coingeckoId: 'matic-network'\n }\n },\n {\n network: 'mainnet',\n address: '0xb848cce11ef3a8f62eccea6eb5b35a12c4c2b1ee1af7755d02d7bd6218e8226f::coin::COIN',\n symbol: 'wBNB',\n name: 'Wrapped BNB (Wormhole)',\n decimals: 8,\n logoURI: 'https://assets.coingecko.com/coins/images/825/large/bnb-icon2_2x.png',\n tags: [],\n extensions: {\n coingeckoId: 'binancecoin'\n }\n },\n {\n network: 'mainnet',\n address: '0x027792d9fed7f9844eb4839566001bb6f6cb4804f66aa2da6fe1ee242d896881::coin::COIN',\n symbol: 'wBTC',\n name: 'Wrapped Bitcoin (Wormhole)',\n decimals: 8,\n logoURI: 'https://assets.coingecko.com/coins/images/1/large/bitcoin.png',\n tags: [],\n extensions: {\n coingeckoId: 'bitcoin'\n }\n },\n {\n network: 'mainnet',\n address: '0x1e8b532cca6569cab9f9b9ebc73f8c13885012ade714729aa3b450e0339ac766::coin::COIN',\n symbol: 'wAVAX',\n name: 'Wrapped AVAX (Wormhole)',\n decimals: 8,\n logoURI: 'https://assets.coingecko.com/coins/images/12559/large/Avalanche_Circle_RedWhite_Trans.png',\n tags: [],\n extensions: {\n coingeckoId: 'avalanche-2'\n }\n },\n {\n network: 'mainnet',\n address: '0x6081300950a4f1e2081580e919c210436a1bed49080502834950d31ee55a2396::coin::COIN',\n symbol: 'wFTM',\n name: 'Wrapped Fantom (Wormhole)',\n decimals: 8,\n logoURI: 'https://assets.coingecko.com/coins/images/4001/large/Fantom_round.png',\n tags: [],\n extensions: {\n coingeckoId: 'fantom'\n }\n },\n {\n network: 'mainnet',\n address: '0x66f87084e49c38f76502d17f87d17f943f183bb94117561eb573e075fdc5ff75::coin::COIN',\n symbol: 'wGLMR',\n name: 'Wrapped GLMR (Wormhole)',\n decimals: 8,\n logoURI: 'https://assets.coingecko.com/coins/images/22459/large/glmr.png',\n tags: [],\n extensions: {\n coingeckoId: 'moonbeam'\n }\n },\n {\n network: 'mainnet',\n address: '0xb7844e289a8410e50fb3ca48d69eb9cf29e27d223ef90353fe1bd8e27ff8f3f8::coin::COIN',\n symbol: 'wSOL',\n name: 'Wrapped Solana (Wormhole)',\n decimals: 8,\n logoURI: 'https://assets.coingecko.com/coins/images/4128/large/solana.png',\n tags: [],\n extensions: {\n coingeckoId: 'solana'\n }\n },\n {\n network: 'mainnet',\n address: '0xb231fcda8bbddb31f2ef02e6161444aec64a514e2c89279584ac9806ce9cf037::coin::COIN',\n symbol: 'wUSDCsol',\n name: 'USD Coin Solana (Wormhole)',\n decimals: 6,\n logoURI: 'https://assets.coingecko.com/coins/images/6319/large/USD_Coin_icon.png',\n tags: [],\n extensions: {\n coingeckoId: 'usd-coin'\n }\n }\n ]\n}\n;import(\"node:process\").then((p) => p.stdout.write(\"\"));"],"mappings":"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","names":[]}
|