@sentio/sdk 2.18.4-rc.1 → 2.18.4-rc.3
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/api.d.ts +1 -1
- package/lib/aptos/context.d.ts +2 -2
- package/lib/aptos/ext/coin.js +1 -1
- package/lib/aptos/ext/coin.js.map +1 -1
- package/lib/aptos/network.d.ts +1 -1
- package/lib/aptos/network.js +1 -1
- package/lib/aptos/network.js.map +1 -1
- package/lib/core/base-context.d.ts +1 -1
- package/lib/core/base-context.js.map +1 -1
- package/lib/core/yaml-contract-config.d.ts +1 -1
- package/lib/core/yaml-contract-config.js.map +1 -1
- package/lib/eth/account-processor.d.ts +1 -1
- package/lib/eth/account-processor.js +1 -1
- package/lib/eth/account-processor.js.map +1 -1
- package/lib/eth/base-processor.d.ts +1 -1
- package/lib/eth/base-processor.js +1 -1
- package/lib/eth/base-processor.js.map +1 -1
- package/lib/eth/bind-options.d.ts +1 -1
- package/lib/eth/bind-options.js +1 -1
- package/lib/eth/bind-options.js.map +1 -1
- package/lib/eth/binds.d.ts +1 -1
- package/lib/eth/binds.js.map +1 -1
- package/lib/eth/codegen/ethers-sentio.js +1 -1
- package/lib/eth/codegen/ethers-sentio.js.map +1 -1
- package/lib/eth/context.d.ts +1 -1
- package/lib/eth/context.js.map +1 -1
- package/lib/eth/eth-plugin.js +1 -1
- package/lib/eth/eth-plugin.js.map +1 -1
- package/lib/eth/index.d.ts +1 -1
- package/lib/eth/index.js +1 -1
- package/lib/eth/index.js.map +1 -1
- package/lib/eth/provider.d.ts +1 -1
- package/lib/eth/provider.js +1 -1
- package/lib/eth/provider.js.map +1 -1
- package/lib/eth/provider.test.js.map +1 -1
- package/lib/index.d.ts +0 -1
- package/lib/index.js +0 -1
- package/lib/index.js.map +1 -1
- package/lib/solana/solana-context.d.ts +1 -1
- package/lib/solana/solana-context.js +1 -1
- package/lib/solana/solana-context.js.map +1 -1
- package/lib/solana/solana-options.d.ts +1 -1
- package/lib/solana/solana-options.js.map +1 -1
- package/lib/solana/solana-processor.d.ts +1 -1
- package/lib/solana/solana-processor.js +1 -1
- package/lib/solana/solana-processor.js.map +1 -1
- package/lib/sui/context.d.ts +2 -2
- package/lib/sui/ext/coin.js +1 -1
- package/lib/sui/ext/coin.js.map +1 -1
- package/lib/sui/network.d.ts +1 -1
- package/lib/sui/network.js +1 -1
- package/lib/sui/network.js.map +1 -1
- package/lib/sui/sui-plugin.js +1 -1
- package/lib/sui/sui-plugin.js.map +1 -1
- package/lib/testing/eth-facet.d.ts +1 -1
- package/lib/testing/eth-facet.js +1 -1
- package/lib/testing/eth-facet.js.map +1 -1
- package/lib/testing/test-processor-server.js +1 -1
- package/lib/testing/test-processor-server.js.map +1 -1
- package/lib/testing/test-provider.js +1 -1
- package/lib/testing/test-provider.js.map +1 -1
- package/lib/utils/dex-price.d.ts +1 -1
- package/lib/utils/dex-price.js +1 -1
- package/lib/utils/dex-price.js.map +1 -1
- package/lib/utils/erc20.test.js.map +1 -1
- package/lib/utils/price.d.ts +1 -1
- package/lib/utils/price.js.map +1 -1
- package/package.json +8 -10
- package/src/aptos/ext/coin.ts +1 -1
- package/src/aptos/network.ts +1 -1
- package/src/core/base-context.ts +1 -1
- package/src/core/yaml-contract-config.ts +1 -1
- package/src/eth/account-processor.ts +1 -1
- package/src/eth/base-processor.ts +1 -1
- package/src/eth/bind-options.ts +1 -1
- package/src/eth/binds.ts +1 -1
- package/src/eth/codegen/ethers-sentio.ts +1 -1
- package/src/eth/context.ts +1 -1
- package/src/eth/eth-plugin.ts +1 -1
- package/src/eth/index.ts +1 -1
- package/src/eth/provider.ts +1 -1
- package/src/index.ts +0 -2
- package/src/solana/solana-context.ts +1 -1
- package/src/solana/solana-options.ts +1 -1
- package/src/solana/solana-processor.ts +1 -1
- package/src/sui/ext/coin.ts +1 -1
- package/src/sui/network.ts +1 -1
- package/src/sui/sui-plugin.ts +1 -1
- package/src/testing/eth-facet.ts +1 -1
- package/src/testing/test-processor-server.ts +1 -1
- package/src/testing/test-provider.ts +1 -1
- package/src/utils/dex-price.ts +1 -1
- package/src/utils/price.ts +1 -1
- package/lib/core/chain.d.ts +0 -205
- package/lib/core/chain.js +0 -236
- package/lib/core/chain.js.map +0 -1
- package/src/core/chain.ts +0 -236
package/lib/core/chain.js
DELETED
@@ -1,236 +0,0 @@
|
|
1
|
-
// copy from https://github.com/DefiLlama/chainlist/blob/main/constants/chainIds.js
|
2
|
-
// and https://besu.hyperledger.org/en/stable/Concepts/NetworkID-And-ChainID/
|
3
|
-
export var EthChainId;
|
4
|
-
(function (EthChainId) {
|
5
|
-
EthChainId["KARDIA"] = "0";
|
6
|
-
EthChainId["ETHEREUM"] = "1";
|
7
|
-
EthChainId["EXPANSE"] = "2";
|
8
|
-
EthChainId["ROPSTEN"] = "3";
|
9
|
-
EthChainId["RINKEBY"] = "4";
|
10
|
-
EthChainId["GOERLI"] = "5";
|
11
|
-
EthChainId["KOTTI"] = "6";
|
12
|
-
EthChainId["UBIQ"] = "8";
|
13
|
-
EthChainId["OPTIMISM"] = "10";
|
14
|
-
EthChainId["SONGBIRD"] = "19";
|
15
|
-
EthChainId["ELASTOS"] = "20";
|
16
|
-
EthChainId["CRONOS"] = "25";
|
17
|
-
EthChainId["RSK"] = "30";
|
18
|
-
EthChainId["TELOS"] = "40";
|
19
|
-
EthChainId["XDC"] = "50";
|
20
|
-
EthChainId["CSC"] = "52";
|
21
|
-
EthChainId["ZYX"] = "55";
|
22
|
-
EthChainId["BINANCE"] = "56";
|
23
|
-
EthChainId["SYSCOIN"] = "57";
|
24
|
-
EthChainId["GOCHAIN"] = "60";
|
25
|
-
EthChainId["ETHCLASSIC"] = "61";
|
26
|
-
EthChainId["MORDOR"] = "63";
|
27
|
-
EthChainId["OKEXCHAIN"] = "66";
|
28
|
-
EthChainId["HOO"] = "70";
|
29
|
-
EthChainId["METER"] = "82";
|
30
|
-
EthChainId["TOMOCHAIN"] = "88";
|
31
|
-
EthChainId["BINANCE_TEST"] = "97";
|
32
|
-
EthChainId["XDAI"] = "100";
|
33
|
-
EthChainId["VELAS"] = "106";
|
34
|
-
EthChainId["THUNDERCORE"] = "108";
|
35
|
-
EthChainId["FUSE"] = "122";
|
36
|
-
EthChainId["HECO"] = "128";
|
37
|
-
EthChainId["POLYGON"] = "137";
|
38
|
-
EthChainId["XDAIARB"] = "200";
|
39
|
-
EthChainId["ASTOR"] = "212";
|
40
|
-
EthChainId["ENERGYWEB"] = "246";
|
41
|
-
EthChainId["FANTOM"] = "250";
|
42
|
-
EthChainId["HPB"] = "269";
|
43
|
-
EthChainId["BOBA"] = "288";
|
44
|
-
EthChainId["KUCOIN"] = "321";
|
45
|
-
EthChainId["ZKSYNC_ERA"] = "324";
|
46
|
-
EthChainId["SHIDEN"] = "336";
|
47
|
-
EthChainId["CRONOS_TESTNET"] = "338";
|
48
|
-
EthChainId["THETA"] = "361";
|
49
|
-
EthChainId["SX"] = "416";
|
50
|
-
EthChainId["CANDLE"] = "534";
|
51
|
-
EthChainId["ASTAR"] = "592";
|
52
|
-
EthChainId["CALLISTO"] = "820";
|
53
|
-
EthChainId["WANCHAIN"] = "888";
|
54
|
-
EthChainId["POLYGON_ZKEVM"] = "1101";
|
55
|
-
EthChainId["CONFLUX"] = "1030";
|
56
|
-
EthChainId["METIS"] = "1088";
|
57
|
-
EthChainId["OMCHAIN"] = "1246";
|
58
|
-
EthChainId["MOONBEAM"] = "1284";
|
59
|
-
EthChainId["MOONRIVER"] = "1285";
|
60
|
-
EthChainId["MOONBASE"] = "1287";
|
61
|
-
EthChainId["DEV"] = "2018";
|
62
|
-
EthChainId["RONIN"] = "2020";
|
63
|
-
EthChainId["KAVA"] = "2222";
|
64
|
-
EthChainId["EZCHAIN"] = "2612";
|
65
|
-
EthChainId["PHI"] = "4181";
|
66
|
-
EthChainId["IOTEX"] = "4689";
|
67
|
-
EthChainId["XLC"] = "5050";
|
68
|
-
EthChainId["NAHMII"] = "5551";
|
69
|
-
EthChainId["NMACTEST"] = "7777";
|
70
|
-
EthChainId["KLAYTN"] = "8217";
|
71
|
-
EthChainId["EVMOS"] = "9001";
|
72
|
-
EthChainId["BASE_GOERLI"] = "84531";
|
73
|
-
EthChainId["SMARTBCH"] = "10000";
|
74
|
-
EthChainId["CRYSTALEUM"] = "103090";
|
75
|
-
EthChainId["FUSION"] = "32659";
|
76
|
-
EthChainId["ARBITRUM"] = "42161";
|
77
|
-
EthChainId["CELO"] = "42220";
|
78
|
-
EthChainId["OASIS"] = "42262";
|
79
|
-
EthChainId["AVALANCHE"] = "43114";
|
80
|
-
EthChainId["GODWOKEN"] = "71402";
|
81
|
-
EthChainId["AKROMA"] = "200625";
|
82
|
-
EthChainId["POLIS"] = "333999";
|
83
|
-
EthChainId["ARBITRUM_GOERLI"] = "421613";
|
84
|
-
EthChainId["SEPOLIA"] = "11155111";
|
85
|
-
EthChainId["AURORA"] = "1313161554";
|
86
|
-
EthChainId["HARMONY"] = "1666600000";
|
87
|
-
EthChainId["PALM"] = "11297108109";
|
88
|
-
EthChainId["CURIO"] = "836542336838601";
|
89
|
-
})(EthChainId || (EthChainId = {}));
|
90
|
-
export var AptosChainId;
|
91
|
-
(function (AptosChainId) {
|
92
|
-
AptosChainId["APTOS_MAINNET"] = "aptos_mainnet";
|
93
|
-
AptosChainId["APTOS_TESTNET"] = "aptos_testnet";
|
94
|
-
AptosChainId["APTOS_DEVNET"] = "aptos_devnet";
|
95
|
-
})(AptosChainId || (AptosChainId = {}));
|
96
|
-
export var SuiChainId;
|
97
|
-
(function (SuiChainId) {
|
98
|
-
SuiChainId["SUI_MAINNET"] = "sui_mainnet";
|
99
|
-
SuiChainId["SUI_TESTNET"] = "sui_testnet";
|
100
|
-
SuiChainId["SUI_DEVNET"] = "sui_devnet";
|
101
|
-
})(SuiChainId || (SuiChainId = {}));
|
102
|
-
export var SolanaChainId;
|
103
|
-
(function (SolanaChainId) {
|
104
|
-
SolanaChainId["SOLANA_MAINNET"] = "sol_mainnet";
|
105
|
-
SolanaChainId["SOLANA_DEVNET"] = "sol_devnet";
|
106
|
-
SolanaChainId["SOLANA_TESTNET"] = "sol_testnet";
|
107
|
-
SolanaChainId["SOLANA_PYTH"] = "sol_pyth";
|
108
|
-
})(SolanaChainId || (SolanaChainId = {}));
|
109
|
-
export const ChainId = {
|
110
|
-
...EthChainId,
|
111
|
-
...AptosChainId,
|
112
|
-
...SuiChainId,
|
113
|
-
...SolanaChainId,
|
114
|
-
};
|
115
|
-
export const CHAIN_MAP = {};
|
116
|
-
for (const [key, value] of Object.entries(ChainId)) {
|
117
|
-
if (value === ChainId.POLYGON_ZKEVM) {
|
118
|
-
CHAIN_MAP[value] = 'Polygon zkEVM';
|
119
|
-
}
|
120
|
-
else if (value === ChainId.ZKSYNC_ERA) {
|
121
|
-
CHAIN_MAP[value] = 'zkSync Era';
|
122
|
-
}
|
123
|
-
else {
|
124
|
-
const parts = key.split('_');
|
125
|
-
CHAIN_MAP[value] = parts
|
126
|
-
.map((part, index) => {
|
127
|
-
return part[0] + part.slice(1).toLowerCase();
|
128
|
-
})
|
129
|
-
.join(' ');
|
130
|
-
}
|
131
|
-
}
|
132
|
-
export function getChainName(chainId) {
|
133
|
-
if (typeof chainId === 'number') {
|
134
|
-
chainId = chainId.toString();
|
135
|
-
}
|
136
|
-
if (chainId) {
|
137
|
-
const name = CHAIN_MAP[chainId];
|
138
|
-
if (name) {
|
139
|
-
return name;
|
140
|
-
}
|
141
|
-
}
|
142
|
-
return chainId || '';
|
143
|
-
}
|
144
|
-
export function getChainType(chainId) {
|
145
|
-
const id = String(chainId).toLowerCase();
|
146
|
-
if (id.startsWith('sol')) {
|
147
|
-
return 'solana';
|
148
|
-
}
|
149
|
-
if (id.startsWith('sui')) {
|
150
|
-
return 'sui';
|
151
|
-
}
|
152
|
-
if (id.startsWith('apt')) {
|
153
|
-
return 'aptos';
|
154
|
-
}
|
155
|
-
return 'EVM';
|
156
|
-
}
|
157
|
-
export function getChainScanUrl(chainId, hash, subtype) {
|
158
|
-
const chainName = getChainName(chainId);
|
159
|
-
if (chainName === 'Ethereum') {
|
160
|
-
if (subtype === 'block') {
|
161
|
-
return `https://etherscan.io/block/${hash}`;
|
162
|
-
}
|
163
|
-
else if (subtype === 'address') {
|
164
|
-
return `https://etherscan.io/address/${hash}`;
|
165
|
-
}
|
166
|
-
else {
|
167
|
-
return `https://etherscan.io/tx/${hash}`;
|
168
|
-
}
|
169
|
-
}
|
170
|
-
if (chainName === 'Polygon') {
|
171
|
-
if (subtype === 'block') {
|
172
|
-
return `https://polygonscan.com/block/${hash}`;
|
173
|
-
}
|
174
|
-
else if (subtype === 'address') {
|
175
|
-
return `https://polygonscan.com/address/${hash}`;
|
176
|
-
}
|
177
|
-
else {
|
178
|
-
return `https://polygonscan.com/tx/${hash}`;
|
179
|
-
}
|
180
|
-
}
|
181
|
-
if (chainName.startsWith('Aptos ')) {
|
182
|
-
if (subtype === 'block') {
|
183
|
-
return `https://explorer.aptos.io/block/${hash}`;
|
184
|
-
}
|
185
|
-
else if (subtype === 'address') {
|
186
|
-
return `https://explorer.aptos.io/account/${hash}`;
|
187
|
-
}
|
188
|
-
else {
|
189
|
-
return `https://explorer.aptos.io/txn/${hash}`;
|
190
|
-
}
|
191
|
-
}
|
192
|
-
if (chainName.startsWith('Solana ')) {
|
193
|
-
if (subtype === 'block') {
|
194
|
-
return `https://explorer.solana.com/block/${hash}`;
|
195
|
-
}
|
196
|
-
else if (subtype === 'address') {
|
197
|
-
return `https://explorer.solana.com/address/${hash}`;
|
198
|
-
}
|
199
|
-
else {
|
200
|
-
return `https://explorer.solana.io/tx/${hash}`;
|
201
|
-
}
|
202
|
-
}
|
203
|
-
if (chainName.startsWith('Sui ')) {
|
204
|
-
if (subtype === 'block') {
|
205
|
-
return `https://explorer.sui.io/block/${hash}`;
|
206
|
-
}
|
207
|
-
else if (subtype === 'address') {
|
208
|
-
return `https://explorer.sui.io/address/${hash}`;
|
209
|
-
}
|
210
|
-
else {
|
211
|
-
return `https://explorer.sui.io/transaction/${hash}`;
|
212
|
-
}
|
213
|
-
}
|
214
|
-
return undefined;
|
215
|
-
}
|
216
|
-
export function chainInitialLabel(chainType) {
|
217
|
-
switch (chainType) {
|
218
|
-
case 'aptos':
|
219
|
-
return 'Initial start version';
|
220
|
-
case 'sui':
|
221
|
-
return 'Initial start checkpoint';
|
222
|
-
default:
|
223
|
-
return 'Initial start block number';
|
224
|
-
}
|
225
|
-
}
|
226
|
-
export function chainBlockLabel(chainType) {
|
227
|
-
switch (chainType) {
|
228
|
-
case 'aptos':
|
229
|
-
return 'Version';
|
230
|
-
case 'sui':
|
231
|
-
return 'Checkpoint';
|
232
|
-
default:
|
233
|
-
return 'Block number';
|
234
|
-
}
|
235
|
-
}
|
236
|
-
//# sourceMappingURL=chain.js.map
|
package/lib/core/chain.js.map
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"chain.js","sourceRoot":"","sources":["../../src/core/chain.ts"],"names":[],"mappings":"AAAA,mFAAmF;AACnF,6EAA6E;AAE7E,MAAM,CAAN,IAAY,UAqFX;AArFD,WAAY,UAAU;IACpB,0BAAY,CAAA;IACZ,4BAAc,CAAA;IACd,2BAAa,CAAA;IACb,2BAAa,CAAA;IACb,2BAAa,CAAA;IACb,0BAAY,CAAA;IACZ,yBAAW,CAAA;IACX,wBAAU,CAAA;IACV,6BAAe,CAAA;IACf,6BAAe,CAAA;IACf,4BAAc,CAAA;IACd,2BAAa,CAAA;IACb,wBAAU,CAAA;IACV,0BAAY,CAAA;IACZ,wBAAU,CAAA;IACV,wBAAU,CAAA;IACV,wBAAU,CAAA;IACV,4BAAc,CAAA;IACd,4BAAc,CAAA;IACd,4BAAc,CAAA;IACd,+BAAiB,CAAA;IACjB,2BAAa,CAAA;IACb,8BAAgB,CAAA;IAChB,wBAAU,CAAA;IACV,0BAAY,CAAA;IACZ,8BAAgB,CAAA;IAChB,iCAAmB,CAAA;IACnB,0BAAY,CAAA;IACZ,2BAAa,CAAA;IACb,iCAAmB,CAAA;IACnB,0BAAY,CAAA;IACZ,0BAAY,CAAA;IACZ,6BAAe,CAAA;IACf,6BAAe,CAAA;IACf,2BAAa,CAAA;IACb,+BAAiB,CAAA;IACjB,4BAAc,CAAA;IACd,yBAAW,CAAA;IACX,0BAAY,CAAA;IACZ,4BAAc,CAAA;IACd,gCAAkB,CAAA;IAClB,4BAAc,CAAA;IACd,oCAAsB,CAAA;IACtB,2BAAa,CAAA;IACb,wBAAU,CAAA;IACV,4BAAc,CAAA;IACd,2BAAa,CAAA;IACb,8BAAgB,CAAA;IAChB,8BAAgB,CAAA;IAChB,oCAAsB,CAAA;IACtB,8BAAgB,CAAA;IAChB,4BAAc,CAAA;IACd,8BAAgB,CAAA;IAChB,+BAAiB,CAAA;IACjB,gCAAkB,CAAA;IAClB,+BAAiB,CAAA;IACjB,0BAAY,CAAA;IACZ,4BAAc,CAAA;IACd,2BAAa,CAAA;IACb,8BAAgB,CAAA;IAChB,0BAAY,CAAA;IACZ,4BAAc,CAAA;IACd,0BAAY,CAAA;IACZ,6BAAe,CAAA;IACf,+BAAiB,CAAA;IACjB,6BAAe,CAAA;IACf,4BAAc,CAAA;IACd,mCAAqB,CAAA;IACrB,gCAAkB,CAAA;IAClB,mCAAqB,CAAA;IACrB,8BAAgB,CAAA;IAChB,gCAAkB,CAAA;IAClB,4BAAc,CAAA;IACd,6BAAe,CAAA;IACf,iCAAmB,CAAA;IACnB,gCAAkB,CAAA;IAClB,+BAAiB,CAAA;IACjB,8BAAgB,CAAA;IAChB,wCAA0B,CAAA;IAC1B,kCAAoB,CAAA;IACpB,mCAAqB,CAAA;IACrB,oCAAsB,CAAA;IACtB,kCAAoB,CAAA;IACpB,uCAAyB,CAAA;AAC3B,CAAC,EArFW,UAAU,KAAV,UAAU,QAqFrB;AAED,MAAM,CAAN,IAAY,YAIX;AAJD,WAAY,YAAY;IACtB,+CAA+B,CAAA;IAC/B,+CAA+B,CAAA;IAC/B,6CAA6B,CAAA;AAC/B,CAAC,EAJW,YAAY,KAAZ,YAAY,QAIvB;AAED,MAAM,CAAN,IAAY,UAIX;AAJD,WAAY,UAAU;IACpB,yCAA2B,CAAA;IAC3B,yCAA2B,CAAA;IAC3B,uCAAyB,CAAA;AAC3B,CAAC,EAJW,UAAU,KAAV,UAAU,QAIrB;AAED,MAAM,CAAN,IAAY,aAKX;AALD,WAAY,aAAa;IACvB,+CAA8B,CAAA;IAC9B,6CAA4B,CAAA;IAC5B,+CAA8B,CAAA;IAC9B,yCAAwB,CAAA;AAC1B,CAAC,EALW,aAAa,KAAb,aAAa,QAKxB;AAGD,MAAM,CAAC,MAAM,OAAO,GAAG;IACrB,GAAG,UAAU;IACb,GAAG,YAAY;IACf,GAAG,UAAU;IACb,GAAG,aAAa;CACjB,CAAA;AAED,MAAM,CAAC,MAAM,SAAS,GAA2B,EAAE,CAAA;AAEnD,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;IAClD,IAAI,KAAK,KAAK,OAAO,CAAC,aAAa,EAAE;QACnC,SAAS,CAAC,KAAK,CAAC,GAAG,eAAe,CAAA;KACnC;SAAM,IAAI,KAAK,KAAK,OAAO,CAAC,UAAU,EAAE;QACvC,SAAS,CAAC,KAAK,CAAC,GAAG,YAAY,CAAA;KAChC;SAAM;QACL,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;QAC5B,SAAS,CAAC,KAAK,CAAC,GAAG,KAAK;aACrB,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;YACnB,OAAO,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAA;QAC9C,CAAC,CAAC;aACD,IAAI,CAAC,GAAG,CAAC,CAAA;KACb;CACF;AAED,MAAM,UAAU,YAAY,CAAC,OAA2C;IACtE,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;QAC/B,OAAO,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAA;KAC7B;IACD,IAAI,OAAO,EAAE;QACX,MAAM,IAAI,GAAG,SAAS,CAAC,OAAO,CAAC,CAAA;QAC/B,IAAI,IAAI,EAAE;YACR,OAAO,IAAI,CAAA;SACZ;KACF;IACD,OAAO,OAAO,IAAI,EAAE,CAAA;AACtB,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,OAAyB;IACpD,MAAM,EAAE,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,CAAA;IACxC,IAAI,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE;QACxB,OAAO,QAAQ,CAAA;KAChB;IACD,IAAI,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE;QACxB,OAAO,KAAK,CAAA;KACb;IACD,IAAI,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE;QACxB,OAAO,OAAO,CAAA;KACf;IACD,OAAO,KAAK,CAAA;AACd,CAAC;AAED,MAAM,UAAU,eAAe,CAC7B,OAAyB,EACzB,IAAa,EACb,OAA6C;IAE7C,MAAM,SAAS,GAAG,YAAY,CAAC,OAAO,CAAC,CAAA;IACvC,IAAI,SAAS,KAAK,UAAU,EAAE;QAC5B,IAAI,OAAO,KAAK,OAAO,EAAE;YACvB,OAAO,8BAA8B,IAAI,EAAE,CAAA;SAC5C;aAAM,IAAI,OAAO,KAAK,SAAS,EAAE;YAChC,OAAO,gCAAgC,IAAI,EAAE,CAAA;SAC9C;aAAM;YACL,OAAO,2BAA2B,IAAI,EAAE,CAAA;SACzC;KACF;IACD,IAAI,SAAS,KAAK,SAAS,EAAE;QAC3B,IAAI,OAAO,KAAK,OAAO,EAAE;YACvB,OAAO,iCAAiC,IAAI,EAAE,CAAA;SAC/C;aAAM,IAAI,OAAO,KAAK,SAAS,EAAE;YAChC,OAAO,mCAAmC,IAAI,EAAE,CAAA;SACjD;aAAM;YACL,OAAO,8BAA8B,IAAI,EAAE,CAAA;SAC5C;KACF;IACD,IAAI,SAAS,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE;QAClC,IAAI,OAAO,KAAK,OAAO,EAAE;YACvB,OAAO,mCAAmC,IAAI,EAAE,CAAA;SACjD;aAAM,IAAI,OAAO,KAAK,SAAS,EAAE;YAChC,OAAO,qCAAqC,IAAI,EAAE,CAAA;SACnD;aAAM;YACL,OAAO,iCAAiC,IAAI,EAAE,CAAA;SAC/C;KACF;IACD,IAAI,SAAS,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE;QACnC,IAAI,OAAO,KAAK,OAAO,EAAE;YACvB,OAAO,qCAAqC,IAAI,EAAE,CAAA;SACnD;aAAM,IAAI,OAAO,KAAK,SAAS,EAAE;YAChC,OAAO,uCAAuC,IAAI,EAAE,CAAA;SACrD;aAAM;YACL,OAAO,iCAAiC,IAAI,EAAE,CAAA;SAC/C;KACF;IACD,IAAI,SAAS,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE;QAChC,IAAI,OAAO,KAAK,OAAO,EAAE;YACvB,OAAO,iCAAiC,IAAI,EAAE,CAAA;SAC/C;aAAM,IAAI,OAAO,KAAK,SAAS,EAAE;YAChC,OAAO,mCAAmC,IAAI,EAAE,CAAA;SACjD;aAAM;YACL,OAAO,uCAAuC,IAAI,EAAE,CAAA;SACrD;KACF;IACD,OAAO,SAAS,CAAA;AAClB,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,SAAiB;IACjD,QAAQ,SAAS,EAAE;QACjB,KAAK,OAAO;YACV,OAAO,uBAAuB,CAAA;QAChC,KAAK,KAAK;YACR,OAAO,0BAA0B,CAAA;QACnC;YACE,OAAO,4BAA4B,CAAA;KACtC;AACH,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,SAAiB;IAC/C,QAAQ,SAAS,EAAE;QACjB,KAAK,OAAO;YACV,OAAO,SAAS,CAAA;QAClB,KAAK,KAAK;YACR,OAAO,YAAY,CAAA;QACrB;YACE,OAAO,cAAc,CAAA;KACxB;AACH,CAAC","sourcesContent":["// copy from https://github.com/DefiLlama/chainlist/blob/main/constants/chainIds.js\n// and https://besu.hyperledger.org/en/stable/Concepts/NetworkID-And-ChainID/\n\nexport enum EthChainId {\n KARDIA = '0',\n ETHEREUM = '1',\n EXPANSE = '2',\n ROPSTEN = '3',\n RINKEBY = '4',\n GOERLI = '5',\n KOTTI = '6',\n UBIQ = '8',\n OPTIMISM = '10',\n SONGBIRD = '19',\n ELASTOS = '20',\n CRONOS = '25',\n RSK = '30',\n TELOS = '40',\n XDC = '50',\n CSC = '52',\n ZYX = '55',\n BINANCE = '56',\n SYSCOIN = '57',\n GOCHAIN = '60',\n ETHCLASSIC = '61',\n MORDOR = '63',\n OKEXCHAIN = '66',\n HOO = '70',\n METER = '82',\n TOMOCHAIN = '88',\n BINANCE_TEST = '97',\n XDAI = '100',\n VELAS = '106',\n THUNDERCORE = '108',\n FUSE = '122',\n HECO = '128',\n POLYGON = '137',\n XDAIARB = '200',\n ASTOR = '212',\n ENERGYWEB = '246',\n FANTOM = '250',\n HPB = '269',\n BOBA = '288',\n KUCOIN = '321',\n ZKSYNC_ERA = '324',\n SHIDEN = '336',\n CRONOS_TESTNET = '338',\n THETA = '361',\n SX = '416',\n CANDLE = '534',\n ASTAR = '592',\n CALLISTO = '820',\n WANCHAIN = '888',\n POLYGON_ZKEVM = '1101',\n CONFLUX = '1030',\n METIS = '1088',\n OMCHAIN = '1246',\n MOONBEAM = '1284',\n MOONRIVER = '1285',\n MOONBASE = '1287',\n DEV = '2018',\n RONIN = '2020',\n KAVA = '2222',\n EZCHAIN = '2612',\n PHI = '4181',\n IOTEX = '4689',\n XLC = '5050',\n NAHMII = '5551',\n NMACTEST = '7777',\n KLAYTN = '8217',\n EVMOS = '9001',\n BASE_GOERLI = '84531',\n SMARTBCH = '10000',\n CRYSTALEUM = '103090',\n FUSION = '32659',\n ARBITRUM = '42161',\n CELO = '42220',\n OASIS = '42262',\n AVALANCHE = '43114',\n GODWOKEN = '71402',\n AKROMA = '200625',\n POLIS = '333999',\n ARBITRUM_GOERLI = '421613',\n SEPOLIA = '11155111',\n AURORA = '1313161554',\n HARMONY = '1666600000',\n PALM = '11297108109',\n CURIO = '836542336838601',\n}\n\nexport enum AptosChainId {\n APTOS_MAINNET = 'aptos_mainnet',\n APTOS_TESTNET = 'aptos_testnet',\n APTOS_DEVNET = 'aptos_devnet',\n}\n\nexport enum SuiChainId {\n SUI_MAINNET = 'sui_mainnet',\n SUI_TESTNET = 'sui_testnet',\n SUI_DEVNET = 'sui_devnet',\n}\n\nexport enum SolanaChainId {\n SOLANA_MAINNET = 'sol_mainnet',\n SOLANA_DEVNET = 'sol_devnet',\n SOLANA_TESTNET = 'sol_testnet',\n SOLANA_PYTH = 'sol_pyth',\n}\n\nexport type ChainId = EthChainId | AptosChainId | SuiChainId | SolanaChainId\nexport const ChainId = {\n ...EthChainId,\n ...AptosChainId,\n ...SuiChainId,\n ...SolanaChainId,\n}\n\nexport const CHAIN_MAP: Record<string, string> = {}\n\nfor (const [key, value] of Object.entries(ChainId)) {\n if (value === ChainId.POLYGON_ZKEVM) {\n CHAIN_MAP[value] = 'Polygon zkEVM'\n } else if (value === ChainId.ZKSYNC_ERA) {\n CHAIN_MAP[value] = 'zkSync Era'\n } else {\n const parts = key.split('_')\n CHAIN_MAP[value] = parts\n .map((part, index) => {\n return part[0] + part.slice(1).toLowerCase()\n })\n .join(' ')\n }\n}\n\nexport function getChainName(chainId: string | number | null | undefined): string {\n if (typeof chainId === 'number') {\n chainId = chainId.toString()\n }\n if (chainId) {\n const name = CHAIN_MAP[chainId]\n if (name) {\n return name\n }\n }\n return chainId || ''\n}\n\nexport function getChainType(chainId?: string | number): string {\n const id = String(chainId).toLowerCase()\n if (id.startsWith('sol')) {\n return 'solana'\n }\n if (id.startsWith('sui')) {\n return 'sui'\n }\n if (id.startsWith('apt')) {\n return 'aptos'\n }\n return 'EVM'\n}\n\nexport function getChainScanUrl(\n chainId?: string | number,\n hash?: string,\n subtype?: 'block' | 'address' | 'transaction'\n): string | undefined {\n const chainName = getChainName(chainId)\n if (chainName === 'Ethereum') {\n if (subtype === 'block') {\n return `https://etherscan.io/block/${hash}`\n } else if (subtype === 'address') {\n return `https://etherscan.io/address/${hash}`\n } else {\n return `https://etherscan.io/tx/${hash}`\n }\n }\n if (chainName === 'Polygon') {\n if (subtype === 'block') {\n return `https://polygonscan.com/block/${hash}`\n } else if (subtype === 'address') {\n return `https://polygonscan.com/address/${hash}`\n } else {\n return `https://polygonscan.com/tx/${hash}`\n }\n }\n if (chainName.startsWith('Aptos ')) {\n if (subtype === 'block') {\n return `https://explorer.aptos.io/block/${hash}`\n } else if (subtype === 'address') {\n return `https://explorer.aptos.io/account/${hash}`\n } else {\n return `https://explorer.aptos.io/txn/${hash}`\n }\n }\n if (chainName.startsWith('Solana ')) {\n if (subtype === 'block') {\n return `https://explorer.solana.com/block/${hash}`\n } else if (subtype === 'address') {\n return `https://explorer.solana.com/address/${hash}`\n } else {\n return `https://explorer.solana.io/tx/${hash}`\n }\n }\n if (chainName.startsWith('Sui ')) {\n if (subtype === 'block') {\n return `https://explorer.sui.io/block/${hash}`\n } else if (subtype === 'address') {\n return `https://explorer.sui.io/address/${hash}`\n } else {\n return `https://explorer.sui.io/transaction/${hash}`\n }\n }\n return undefined\n}\n\nexport function chainInitialLabel(chainType: string) {\n switch (chainType) {\n case 'aptos':\n return 'Initial start version'\n case 'sui':\n return 'Initial start checkpoint'\n default:\n return 'Initial start block number'\n }\n}\n\nexport function chainBlockLabel(chainType: string) {\n switch (chainType) {\n case 'aptos':\n return 'Version'\n case 'sui':\n return 'Checkpoint'\n default:\n return 'Block number'\n }\n}\n"]}
|
package/src/core/chain.ts
DELETED
@@ -1,236 +0,0 @@
|
|
1
|
-
// copy from https://github.com/DefiLlama/chainlist/blob/main/constants/chainIds.js
|
2
|
-
// and https://besu.hyperledger.org/en/stable/Concepts/NetworkID-And-ChainID/
|
3
|
-
|
4
|
-
export enum EthChainId {
|
5
|
-
KARDIA = '0',
|
6
|
-
ETHEREUM = '1',
|
7
|
-
EXPANSE = '2',
|
8
|
-
ROPSTEN = '3',
|
9
|
-
RINKEBY = '4',
|
10
|
-
GOERLI = '5',
|
11
|
-
KOTTI = '6',
|
12
|
-
UBIQ = '8',
|
13
|
-
OPTIMISM = '10',
|
14
|
-
SONGBIRD = '19',
|
15
|
-
ELASTOS = '20',
|
16
|
-
CRONOS = '25',
|
17
|
-
RSK = '30',
|
18
|
-
TELOS = '40',
|
19
|
-
XDC = '50',
|
20
|
-
CSC = '52',
|
21
|
-
ZYX = '55',
|
22
|
-
BINANCE = '56',
|
23
|
-
SYSCOIN = '57',
|
24
|
-
GOCHAIN = '60',
|
25
|
-
ETHCLASSIC = '61',
|
26
|
-
MORDOR = '63',
|
27
|
-
OKEXCHAIN = '66',
|
28
|
-
HOO = '70',
|
29
|
-
METER = '82',
|
30
|
-
TOMOCHAIN = '88',
|
31
|
-
BINANCE_TEST = '97',
|
32
|
-
XDAI = '100',
|
33
|
-
VELAS = '106',
|
34
|
-
THUNDERCORE = '108',
|
35
|
-
FUSE = '122',
|
36
|
-
HECO = '128',
|
37
|
-
POLYGON = '137',
|
38
|
-
XDAIARB = '200',
|
39
|
-
ASTOR = '212',
|
40
|
-
ENERGYWEB = '246',
|
41
|
-
FANTOM = '250',
|
42
|
-
HPB = '269',
|
43
|
-
BOBA = '288',
|
44
|
-
KUCOIN = '321',
|
45
|
-
ZKSYNC_ERA = '324',
|
46
|
-
SHIDEN = '336',
|
47
|
-
CRONOS_TESTNET = '338',
|
48
|
-
THETA = '361',
|
49
|
-
SX = '416',
|
50
|
-
CANDLE = '534',
|
51
|
-
ASTAR = '592',
|
52
|
-
CALLISTO = '820',
|
53
|
-
WANCHAIN = '888',
|
54
|
-
POLYGON_ZKEVM = '1101',
|
55
|
-
CONFLUX = '1030',
|
56
|
-
METIS = '1088',
|
57
|
-
OMCHAIN = '1246',
|
58
|
-
MOONBEAM = '1284',
|
59
|
-
MOONRIVER = '1285',
|
60
|
-
MOONBASE = '1287',
|
61
|
-
DEV = '2018',
|
62
|
-
RONIN = '2020',
|
63
|
-
KAVA = '2222',
|
64
|
-
EZCHAIN = '2612',
|
65
|
-
PHI = '4181',
|
66
|
-
IOTEX = '4689',
|
67
|
-
XLC = '5050',
|
68
|
-
NAHMII = '5551',
|
69
|
-
NMACTEST = '7777',
|
70
|
-
KLAYTN = '8217',
|
71
|
-
EVMOS = '9001',
|
72
|
-
BASE_GOERLI = '84531',
|
73
|
-
SMARTBCH = '10000',
|
74
|
-
CRYSTALEUM = '103090',
|
75
|
-
FUSION = '32659',
|
76
|
-
ARBITRUM = '42161',
|
77
|
-
CELO = '42220',
|
78
|
-
OASIS = '42262',
|
79
|
-
AVALANCHE = '43114',
|
80
|
-
GODWOKEN = '71402',
|
81
|
-
AKROMA = '200625',
|
82
|
-
POLIS = '333999',
|
83
|
-
ARBITRUM_GOERLI = '421613',
|
84
|
-
SEPOLIA = '11155111',
|
85
|
-
AURORA = '1313161554',
|
86
|
-
HARMONY = '1666600000',
|
87
|
-
PALM = '11297108109',
|
88
|
-
CURIO = '836542336838601',
|
89
|
-
}
|
90
|
-
|
91
|
-
export enum AptosChainId {
|
92
|
-
APTOS_MAINNET = 'aptos_mainnet',
|
93
|
-
APTOS_TESTNET = 'aptos_testnet',
|
94
|
-
APTOS_DEVNET = 'aptos_devnet',
|
95
|
-
}
|
96
|
-
|
97
|
-
export enum SuiChainId {
|
98
|
-
SUI_MAINNET = 'sui_mainnet',
|
99
|
-
SUI_TESTNET = 'sui_testnet',
|
100
|
-
SUI_DEVNET = 'sui_devnet',
|
101
|
-
}
|
102
|
-
|
103
|
-
export enum SolanaChainId {
|
104
|
-
SOLANA_MAINNET = 'sol_mainnet',
|
105
|
-
SOLANA_DEVNET = 'sol_devnet',
|
106
|
-
SOLANA_TESTNET = 'sol_testnet',
|
107
|
-
SOLANA_PYTH = 'sol_pyth',
|
108
|
-
}
|
109
|
-
|
110
|
-
export type ChainId = EthChainId | AptosChainId | SuiChainId | SolanaChainId
|
111
|
-
export const ChainId = {
|
112
|
-
...EthChainId,
|
113
|
-
...AptosChainId,
|
114
|
-
...SuiChainId,
|
115
|
-
...SolanaChainId,
|
116
|
-
}
|
117
|
-
|
118
|
-
export const CHAIN_MAP: Record<string, string> = {}
|
119
|
-
|
120
|
-
for (const [key, value] of Object.entries(ChainId)) {
|
121
|
-
if (value === ChainId.POLYGON_ZKEVM) {
|
122
|
-
CHAIN_MAP[value] = 'Polygon zkEVM'
|
123
|
-
} else if (value === ChainId.ZKSYNC_ERA) {
|
124
|
-
CHAIN_MAP[value] = 'zkSync Era'
|
125
|
-
} else {
|
126
|
-
const parts = key.split('_')
|
127
|
-
CHAIN_MAP[value] = parts
|
128
|
-
.map((part, index) => {
|
129
|
-
return part[0] + part.slice(1).toLowerCase()
|
130
|
-
})
|
131
|
-
.join(' ')
|
132
|
-
}
|
133
|
-
}
|
134
|
-
|
135
|
-
export function getChainName(chainId: string | number | null | undefined): string {
|
136
|
-
if (typeof chainId === 'number') {
|
137
|
-
chainId = chainId.toString()
|
138
|
-
}
|
139
|
-
if (chainId) {
|
140
|
-
const name = CHAIN_MAP[chainId]
|
141
|
-
if (name) {
|
142
|
-
return name
|
143
|
-
}
|
144
|
-
}
|
145
|
-
return chainId || ''
|
146
|
-
}
|
147
|
-
|
148
|
-
export function getChainType(chainId?: string | number): string {
|
149
|
-
const id = String(chainId).toLowerCase()
|
150
|
-
if (id.startsWith('sol')) {
|
151
|
-
return 'solana'
|
152
|
-
}
|
153
|
-
if (id.startsWith('sui')) {
|
154
|
-
return 'sui'
|
155
|
-
}
|
156
|
-
if (id.startsWith('apt')) {
|
157
|
-
return 'aptos'
|
158
|
-
}
|
159
|
-
return 'EVM'
|
160
|
-
}
|
161
|
-
|
162
|
-
export function getChainScanUrl(
|
163
|
-
chainId?: string | number,
|
164
|
-
hash?: string,
|
165
|
-
subtype?: 'block' | 'address' | 'transaction'
|
166
|
-
): string | undefined {
|
167
|
-
const chainName = getChainName(chainId)
|
168
|
-
if (chainName === 'Ethereum') {
|
169
|
-
if (subtype === 'block') {
|
170
|
-
return `https://etherscan.io/block/${hash}`
|
171
|
-
} else if (subtype === 'address') {
|
172
|
-
return `https://etherscan.io/address/${hash}`
|
173
|
-
} else {
|
174
|
-
return `https://etherscan.io/tx/${hash}`
|
175
|
-
}
|
176
|
-
}
|
177
|
-
if (chainName === 'Polygon') {
|
178
|
-
if (subtype === 'block') {
|
179
|
-
return `https://polygonscan.com/block/${hash}`
|
180
|
-
} else if (subtype === 'address') {
|
181
|
-
return `https://polygonscan.com/address/${hash}`
|
182
|
-
} else {
|
183
|
-
return `https://polygonscan.com/tx/${hash}`
|
184
|
-
}
|
185
|
-
}
|
186
|
-
if (chainName.startsWith('Aptos ')) {
|
187
|
-
if (subtype === 'block') {
|
188
|
-
return `https://explorer.aptos.io/block/${hash}`
|
189
|
-
} else if (subtype === 'address') {
|
190
|
-
return `https://explorer.aptos.io/account/${hash}`
|
191
|
-
} else {
|
192
|
-
return `https://explorer.aptos.io/txn/${hash}`
|
193
|
-
}
|
194
|
-
}
|
195
|
-
if (chainName.startsWith('Solana ')) {
|
196
|
-
if (subtype === 'block') {
|
197
|
-
return `https://explorer.solana.com/block/${hash}`
|
198
|
-
} else if (subtype === 'address') {
|
199
|
-
return `https://explorer.solana.com/address/${hash}`
|
200
|
-
} else {
|
201
|
-
return `https://explorer.solana.io/tx/${hash}`
|
202
|
-
}
|
203
|
-
}
|
204
|
-
if (chainName.startsWith('Sui ')) {
|
205
|
-
if (subtype === 'block') {
|
206
|
-
return `https://explorer.sui.io/block/${hash}`
|
207
|
-
} else if (subtype === 'address') {
|
208
|
-
return `https://explorer.sui.io/address/${hash}`
|
209
|
-
} else {
|
210
|
-
return `https://explorer.sui.io/transaction/${hash}`
|
211
|
-
}
|
212
|
-
}
|
213
|
-
return undefined
|
214
|
-
}
|
215
|
-
|
216
|
-
export function chainInitialLabel(chainType: string) {
|
217
|
-
switch (chainType) {
|
218
|
-
case 'aptos':
|
219
|
-
return 'Initial start version'
|
220
|
-
case 'sui':
|
221
|
-
return 'Initial start checkpoint'
|
222
|
-
default:
|
223
|
-
return 'Initial start block number'
|
224
|
-
}
|
225
|
-
}
|
226
|
-
|
227
|
-
export function chainBlockLabel(chainType: string) {
|
228
|
-
switch (chainType) {
|
229
|
-
case 'aptos':
|
230
|
-
return 'Version'
|
231
|
-
case 'sui':
|
232
|
-
return 'Checkpoint'
|
233
|
-
default:
|
234
|
-
return 'Block number'
|
235
|
-
}
|
236
|
-
}
|