@pancakeswap/swap-sdk-evm 1.0.0

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.
@@ -0,0 +1,27 @@
1
+ export declare const erc20Abi: readonly [{
2
+ readonly constant: true;
3
+ readonly inputs: readonly [];
4
+ readonly name: "decimals";
5
+ readonly outputs: readonly [{
6
+ readonly name: "";
7
+ readonly type: "uint8";
8
+ }];
9
+ readonly payable: false;
10
+ readonly stateMutability: "view";
11
+ readonly type: "function";
12
+ }, {
13
+ readonly constant: true;
14
+ readonly inputs: readonly [{
15
+ readonly name: "";
16
+ readonly type: "address";
17
+ }];
18
+ readonly name: "balanceOf";
19
+ readonly outputs: readonly [{
20
+ readonly name: "";
21
+ readonly type: "uint256";
22
+ }];
23
+ readonly payable: false;
24
+ readonly stateMutability: "view";
25
+ readonly type: "function";
26
+ }];
27
+ //# sourceMappingURL=ERC20.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ERC20.d.ts","sourceRoot":"","sources":["../../src/abis/ERC20.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;EAmBX,CAAA"}
@@ -0,0 +1,158 @@
1
+ import { Percent } from '@pancakeswap/swap-sdk-core';
2
+ import { ERC20Token } from './entities/erc20Token';
3
+ export declare const ZERO_PERCENT: Percent;
4
+ export declare const ONE_HUNDRED_PERCENT: Percent;
5
+ export declare const WETH9: {
6
+ 1: ERC20Token;
7
+ 5: ERC20Token;
8
+ 56: ERC20Token;
9
+ 97: ERC20Token;
10
+ 42161: ERC20Token;
11
+ 421613: ERC20Token;
12
+ 324: ERC20Token;
13
+ 280: ERC20Token;
14
+ 1101: ERC20Token;
15
+ 1442: ERC20Token;
16
+ 59144: ERC20Token;
17
+ 59140: ERC20Token;
18
+ 5611: ERC20Token;
19
+ 204: ERC20Token;
20
+ 8453: ERC20Token;
21
+ 84531: ERC20Token;
22
+ 534351: ERC20Token;
23
+ 11155111: ERC20Token;
24
+ 421614: ERC20Token;
25
+ 84532: ERC20Token;
26
+ };
27
+ export declare const WBNB: {
28
+ 1: ERC20Token;
29
+ 56: ERC20Token;
30
+ 97: ERC20Token;
31
+ 5611: ERC20Token;
32
+ 204: ERC20Token;
33
+ };
34
+ export declare const WNATIVE: {
35
+ 1: ERC20Token;
36
+ 5: ERC20Token;
37
+ 56: ERC20Token;
38
+ 97: ERC20Token;
39
+ 42161: ERC20Token;
40
+ 421613: ERC20Token;
41
+ 1101: ERC20Token;
42
+ 1442: ERC20Token;
43
+ 324: ERC20Token;
44
+ 280: ERC20Token;
45
+ 59144: ERC20Token;
46
+ 59140: ERC20Token;
47
+ 5611: ERC20Token;
48
+ 204: ERC20Token;
49
+ 8453: ERC20Token;
50
+ 84531: ERC20Token;
51
+ 534351: ERC20Token;
52
+ 11155111: ERC20Token;
53
+ 421614: ERC20Token;
54
+ 84532: ERC20Token;
55
+ };
56
+ export declare const NATIVE: {
57
+ 1: {
58
+ readonly name: "Ether";
59
+ readonly symbol: "ETH";
60
+ readonly decimals: 18;
61
+ };
62
+ 5: {
63
+ name: string;
64
+ symbol: string;
65
+ decimals: number;
66
+ };
67
+ 56: {
68
+ readonly name: "Binance Chain Native Token";
69
+ readonly symbol: "BNB";
70
+ readonly decimals: 18;
71
+ };
72
+ 97: {
73
+ name: string;
74
+ symbol: string;
75
+ decimals: number;
76
+ };
77
+ 42161: {
78
+ readonly name: "Ether";
79
+ readonly symbol: "ETH";
80
+ readonly decimals: 18;
81
+ };
82
+ 421613: {
83
+ name: string;
84
+ symbol: string;
85
+ decimals: number;
86
+ };
87
+ 1101: {
88
+ readonly name: "Ether";
89
+ readonly symbol: "ETH";
90
+ readonly decimals: 18;
91
+ };
92
+ 1442: {
93
+ readonly name: "Ether";
94
+ readonly symbol: "ETH";
95
+ readonly decimals: 18;
96
+ };
97
+ 324: {
98
+ readonly name: "Ether";
99
+ readonly symbol: "ETH";
100
+ readonly decimals: 18;
101
+ };
102
+ 280: {
103
+ readonly name: "Ether";
104
+ readonly symbol: "ETH";
105
+ readonly decimals: 18;
106
+ };
107
+ 59144: {
108
+ readonly name: "Ether";
109
+ readonly symbol: "ETH";
110
+ readonly decimals: 18;
111
+ };
112
+ 59140: {
113
+ readonly name: "Ether";
114
+ readonly symbol: "ETH";
115
+ readonly decimals: 18;
116
+ };
117
+ 204: {
118
+ readonly name: "Binance Chain Native Token";
119
+ readonly symbol: "BNB";
120
+ readonly decimals: 18;
121
+ };
122
+ 5611: {
123
+ name: string;
124
+ symbol: string;
125
+ decimals: number;
126
+ };
127
+ 8453: {
128
+ readonly name: "Ether";
129
+ readonly symbol: "ETH";
130
+ readonly decimals: 18;
131
+ };
132
+ 84531: {
133
+ readonly name: "Ether";
134
+ readonly symbol: "ETH";
135
+ readonly decimals: 18;
136
+ };
137
+ 534351: {
138
+ readonly name: "Ether";
139
+ readonly symbol: "ETH";
140
+ readonly decimals: 18;
141
+ };
142
+ 11155111: {
143
+ name: string;
144
+ symbol: string;
145
+ decimals: number;
146
+ };
147
+ 421614: {
148
+ name: string;
149
+ symbol: string;
150
+ decimals: number;
151
+ };
152
+ 84532: {
153
+ name: string;
154
+ symbol: string;
155
+ decimals: number;
156
+ };
157
+ };
158
+ //# sourceMappingURL=constants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAEpD,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAA;AAElD,eAAO,MAAM,YAAY,SAAmB,CAAA;AAC5C,eAAO,MAAM,mBAAmB,SAAmB,CAAA;AAEnD,eAAO,MAAM,KAAK;;;;;;;;;;;;;;;;;;;;;CAiKjB,CAAA;AAED,eAAO,MAAM,IAAI;;;;;;CAyChB,CAAA;AAED,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;CAqBmB,CAAA;AAUvC,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoDlB,CAAA"}
@@ -0,0 +1,6 @@
1
+ import { Token } from '@pancakeswap/swap-sdk-core';
2
+ import { Address } from 'viem';
3
+ export declare class ERC20Token extends Token {
4
+ constructor(chainId: number, address: Address, decimals: number, symbol: string, name?: string, projectLink?: string);
5
+ }
6
+ //# sourceMappingURL=erc20Token.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"erc20Token.d.ts","sourceRoot":"","sources":["../../src/entities/erc20Token.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,4BAA4B,CAAA;AAClD,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAA;AAO9B,qBAAa,UAAW,SAAQ,KAAK;gBAEjC,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EACd,IAAI,CAAC,EAAE,MAAM,EACb,WAAW,CAAC,EAAE,MAAM;CAIvB"}
@@ -0,0 +1,3 @@
1
+ export * from './erc20Token';
2
+ export * from './native';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/entities/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAA;AAC5B,cAAc,UAAU,CAAA"}
@@ -0,0 +1,18 @@
1
+ import { Currency, Token, NativeCurrency } from '@pancakeswap/swap-sdk-core';
2
+ /**
3
+ *
4
+ * Native is the main usage of a 'native' currency, i.e. for BSC mainnet and all testnets
5
+ */
6
+ export declare class Native extends NativeCurrency {
7
+ protected constructor({ chainId, decimals, name, symbol, }: {
8
+ chainId: number;
9
+ decimals: number;
10
+ symbol: string;
11
+ name: string;
12
+ });
13
+ get wrapped(): Token;
14
+ private static cache;
15
+ static onChain(chainId: number): Native;
16
+ equals(other: Currency): boolean;
17
+ }
18
+ //# sourceMappingURL=native.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"native.d.ts","sourceRoot":"","sources":["../../src/entities/native.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAA;AAI5E;;;GAGG;AACH,qBAAa,MAAO,SAAQ,cAAc;IACxC,SAAS,aAAa,EACpB,OAAO,EACP,QAAQ,EACR,IAAI,EACJ,MAAM,GACP,EAAE;QACD,OAAO,EAAE,MAAM,CAAA;QACf,QAAQ,EAAE,MAAM,CAAA;QAChB,MAAM,EAAE,MAAM,CAAA;QACd,IAAI,EAAE,MAAM,CAAA;KACb;IAID,IAAW,OAAO,IAAI,KAAK,CAI1B;IAED,OAAO,CAAC,MAAM,CAAC,KAAK,CAAoC;WAE1C,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;IAUvC,MAAM,CAAC,KAAK,EAAE,QAAQ,GAAG,OAAO;CAGxC"}
@@ -0,0 +1,12 @@
1
+ import { Currency, NativeCurrency, Token } from '@pancakeswap/swap-sdk-core';
2
+ /**
3
+ * Ether is the main usage of a 'native' currency, i.e. for Ethereum mainnet and all testnets
4
+ */
5
+ export declare class Ether extends NativeCurrency {
6
+ protected constructor(chainId: number);
7
+ get wrapped(): Token;
8
+ private static _etherCache;
9
+ static onChain(chainId: number): Ether;
10
+ equals(other: Currency): boolean;
11
+ }
12
+ //# sourceMappingURL=ether.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ether.d.ts","sourceRoot":"","sources":["../src/ether.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,4BAA4B,CAAA;AAK5E;;GAEG;AACH,qBAAa,KAAM,SAAQ,cAAc;IACvC,SAAS,aAAa,OAAO,EAAE,MAAM;IAIrC,IAAW,OAAO,IAAI,KAAK,CAM1B;IAED,OAAO,CAAC,MAAM,CAAC,WAAW,CAAmC;WAE/C,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,KAAK;IAQtC,MAAM,CAAC,KAAK,EAAE,QAAQ,GAAG,OAAO;CAGxC"}
@@ -0,0 +1,6 @@
1
+ export * from './constants';
2
+ export * from './entities';
3
+ export * from './abis/ERC20';
4
+ export * from './utils';
5
+ export * from './ether';
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAA;AAC3B,cAAc,YAAY,CAAA;AAC1B,cAAc,cAAc,CAAA;AAC5B,cAAc,SAAS,CAAA;AACvB,cAAc,SAAS,CAAA"}
package/dist/index.js ADDED
@@ -0,0 +1,397 @@
1
+ 'use strict';
2
+
3
+ var chains = require('@pancakeswap/chains');
4
+ var swapSdkCore = require('@pancakeswap/swap-sdk-core');
5
+ var viem = require('viem');
6
+ var invariant2 = require('tiny-invariant');
7
+ var warning = require('tiny-warning');
8
+
9
+ function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
10
+
11
+ var invariant2__default = /*#__PURE__*/_interopDefault(invariant2);
12
+ var warning__default = /*#__PURE__*/_interopDefault(warning);
13
+
14
+ // src/constants.ts
15
+ function validateAndParseAddress(address) {
16
+ try {
17
+ const checksummedAddress = viem.getAddress(address);
18
+ warning__default.default(address === checksummedAddress, `${address} is not checksummed.`);
19
+ return checksummedAddress;
20
+ } catch (error) {
21
+ invariant2__default.default(false, `${address} is not a valid address.`);
22
+ }
23
+ }
24
+
25
+ // src/entities/erc20Token.ts
26
+ var ERC20Token = class extends swapSdkCore.Token {
27
+ constructor(chainId, address, decimals, symbol, name, projectLink) {
28
+ super(chainId, validateAndParseAddress(address), decimals, symbol, name, projectLink);
29
+ }
30
+ };
31
+
32
+ // src/constants.ts
33
+ var ZERO_PERCENT = new swapSdkCore.Percent("0");
34
+ var ONE_HUNDRED_PERCENT = new swapSdkCore.Percent("1");
35
+ var WETH9 = {
36
+ [chains.ChainId.ETHEREUM]: new ERC20Token(
37
+ chains.ChainId.ETHEREUM,
38
+ "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2",
39
+ 18,
40
+ "WETH",
41
+ "Wrapped Ether",
42
+ "https://weth.io"
43
+ ),
44
+ [chains.ChainId.GOERLI]: new ERC20Token(
45
+ chains.ChainId.GOERLI,
46
+ "0xB4FBF271143F4FBf7B91A5ded31805e42b2208d6",
47
+ 18,
48
+ "WETH",
49
+ "Wrapped Ether",
50
+ "https://weth.io"
51
+ ),
52
+ [chains.ChainId.BSC]: new ERC20Token(
53
+ chains.ChainId.BSC,
54
+ "0x2170Ed0880ac9A755fd29B2688956BD959F933F8",
55
+ 18,
56
+ "ETH",
57
+ "Binance-Peg Ethereum Token",
58
+ "https://ethereum.org"
59
+ ),
60
+ [chains.ChainId.BSC_TESTNET]: new ERC20Token(
61
+ chains.ChainId.BSC,
62
+ "0xE7bCB9e341D546b66a46298f4893f5650a56e99E",
63
+ 18,
64
+ "ETH",
65
+ "ETH",
66
+ "https://ethereum.org"
67
+ ),
68
+ [chains.ChainId.ARBITRUM_ONE]: new ERC20Token(
69
+ chains.ChainId.ARBITRUM_ONE,
70
+ "0x82aF49447D8a07e3bd95BD0d56f35241523fBab1",
71
+ 18,
72
+ "WETH",
73
+ "Wrapped Ether",
74
+ "https://weth.io"
75
+ ),
76
+ [chains.ChainId.ARBITRUM_GOERLI]: new ERC20Token(
77
+ chains.ChainId.ARBITRUM_GOERLI,
78
+ "0xEe01c0CD76354C383B8c7B4e65EA88D00B06f36f",
79
+ 18,
80
+ "WETH",
81
+ "Wrapped Ether",
82
+ "https://weth.io"
83
+ ),
84
+ [chains.ChainId.ZKSYNC]: new ERC20Token(
85
+ chains.ChainId.ZKSYNC,
86
+ "0x5AEa5775959fBC2557Cc8789bC1bf90A239D9a91",
87
+ 18,
88
+ "WETH",
89
+ "Wrapped Ether",
90
+ "https://weth.io"
91
+ ),
92
+ [chains.ChainId.ZKSYNC_TESTNET]: new ERC20Token(
93
+ chains.ChainId.ZKSYNC_TESTNET,
94
+ "0x02968DB286f24cB18bB5b24903eC8eBFAcf591C0",
95
+ 18,
96
+ "WETH",
97
+ "Wrapped Ether",
98
+ "https://weth.io"
99
+ ),
100
+ [chains.ChainId.POLYGON_ZKEVM]: new ERC20Token(
101
+ chains.ChainId.POLYGON_ZKEVM,
102
+ "0x4F9A0e7FD2Bf6067db6994CF12E4495Df938E6e9",
103
+ 18,
104
+ "WETH",
105
+ "Wrapped Ether",
106
+ "https://weth.io"
107
+ ),
108
+ [chains.ChainId.POLYGON_ZKEVM_TESTNET]: new ERC20Token(
109
+ chains.ChainId.POLYGON_ZKEVM_TESTNET,
110
+ "0x30ec47F7DFae72eA79646e6cf64a8A7db538915b",
111
+ 18,
112
+ "WETH",
113
+ "Wrapped Ether",
114
+ "https://weth.io"
115
+ ),
116
+ [chains.ChainId.LINEA]: new ERC20Token(
117
+ chains.ChainId.LINEA,
118
+ "0xe5D7C2a44FfDDf6b295A15c148167daaAf5Cf34f",
119
+ 18,
120
+ "WETH",
121
+ "Wrapped Ether",
122
+ "https://weth.io"
123
+ ),
124
+ [chains.ChainId.LINEA_TESTNET]: new ERC20Token(
125
+ chains.ChainId.LINEA_TESTNET,
126
+ "0x2C1b868d6596a18e32E61B901E4060C872647b6C",
127
+ 18,
128
+ "WETH",
129
+ "Wrapped Ether",
130
+ "https://weth.io"
131
+ ),
132
+ [chains.ChainId.OPBNB_TESTNET]: new ERC20Token(
133
+ chains.ChainId.OPBNB_TESTNET,
134
+ "0x584f7b986d9942B0859a1E6921efA5342A673d04",
135
+ 18,
136
+ "WETH",
137
+ "Wrapped Ether",
138
+ "https://weth.io"
139
+ ),
140
+ [chains.ChainId.OPBNB]: new ERC20Token(
141
+ chains.ChainId.OPBNB,
142
+ "0xE7798f023fC62146e8Aa1b36Da45fb70855a77Ea",
143
+ 18,
144
+ "ETH",
145
+ "Binance-Peg Ethereum Token",
146
+ "https://ethereum.org"
147
+ ),
148
+ [chains.ChainId.BASE]: new ERC20Token(
149
+ chains.ChainId.BASE,
150
+ "0x4200000000000000000000000000000000000006",
151
+ 18,
152
+ "WETH",
153
+ "Wrapped Ether",
154
+ "https://weth.io"
155
+ ),
156
+ [chains.ChainId.BASE_TESTNET]: new ERC20Token(
157
+ chains.ChainId.BASE_TESTNET,
158
+ "0x4200000000000000000000000000000000000006",
159
+ 18,
160
+ "WETH",
161
+ "Wrapped Ether",
162
+ "https://weth.io"
163
+ ),
164
+ [chains.ChainId.SCROLL_SEPOLIA]: new ERC20Token(
165
+ chains.ChainId.SCROLL_SEPOLIA,
166
+ "0x5300000000000000000000000000000000000004",
167
+ 18,
168
+ "WETH",
169
+ "Wrapped Ether",
170
+ "https://weth.io"
171
+ ),
172
+ [chains.ChainId.SEPOLIA]: new ERC20Token(
173
+ chains.ChainId.SEPOLIA,
174
+ "0xfFf9976782d46CC05630D1f6eBAb18b2324d6B14",
175
+ 18,
176
+ "WETH",
177
+ "Wrapped Ether",
178
+ "https://weth.io"
179
+ ),
180
+ [chains.ChainId.ARBITRUM_SEPOLIA]: new ERC20Token(
181
+ chains.ChainId.ARBITRUM_SEPOLIA,
182
+ "0x1bdc540dEB9Ed1fA29964DeEcCc524A8f5e2198e",
183
+ 18,
184
+ "WETH",
185
+ "Wrapped Ether",
186
+ "https://weth.io"
187
+ ),
188
+ [chains.ChainId.BASE_SEPOLIA]: new ERC20Token(
189
+ chains.ChainId.BASE_SEPOLIA,
190
+ "0x4200000000000000000000000000000000000006",
191
+ 18,
192
+ "WETH",
193
+ "Wrapped Ether",
194
+ "https://weth.io"
195
+ )
196
+ };
197
+ var WBNB = {
198
+ [chains.ChainId.ETHEREUM]: new ERC20Token(
199
+ chains.ChainId.ETHEREUM,
200
+ "0x418D75f65a02b3D53B2418FB8E1fe493759c7605",
201
+ 18,
202
+ "WBNB",
203
+ "Wrapped BNB",
204
+ "https://www.binance.org"
205
+ ),
206
+ [chains.ChainId.BSC]: new ERC20Token(
207
+ chains.ChainId.BSC,
208
+ "0xbb4CdB9CBd36B01bD1cBaEBF2De08d9173bc095c",
209
+ 18,
210
+ "WBNB",
211
+ "Wrapped BNB",
212
+ "https://www.binance.org"
213
+ ),
214
+ [chains.ChainId.BSC_TESTNET]: new ERC20Token(
215
+ chains.ChainId.BSC_TESTNET,
216
+ "0xae13d989daC2f0dEbFf460aC112a837C89BAa7cd",
217
+ 18,
218
+ "WBNB",
219
+ "Wrapped BNB",
220
+ "https://www.binance.org"
221
+ ),
222
+ [chains.ChainId.OPBNB_TESTNET]: new ERC20Token(
223
+ chains.ChainId.OPBNB_TESTNET,
224
+ "0x4200000000000000000000000000000000000006",
225
+ 18,
226
+ "WBNB",
227
+ "Wrapped BNB",
228
+ "https://www.binance.org"
229
+ ),
230
+ [chains.ChainId.OPBNB]: new ERC20Token(
231
+ chains.ChainId.OPBNB,
232
+ "0x4200000000000000000000000000000000000006",
233
+ 18,
234
+ "WBNB",
235
+ "Wrapped BNB",
236
+ "https://www.binance.org"
237
+ )
238
+ };
239
+ var WNATIVE = {
240
+ [chains.ChainId.ETHEREUM]: WETH9[chains.ChainId.ETHEREUM],
241
+ [chains.ChainId.GOERLI]: WETH9[chains.ChainId.GOERLI],
242
+ [chains.ChainId.BSC]: WBNB[chains.ChainId.BSC],
243
+ [chains.ChainId.BSC_TESTNET]: WBNB[chains.ChainId.BSC_TESTNET],
244
+ [chains.ChainId.ARBITRUM_ONE]: WETH9[chains.ChainId.ARBITRUM_ONE],
245
+ [chains.ChainId.ARBITRUM_GOERLI]: WETH9[chains.ChainId.ARBITRUM_GOERLI],
246
+ [chains.ChainId.POLYGON_ZKEVM]: WETH9[chains.ChainId.POLYGON_ZKEVM],
247
+ [chains.ChainId.POLYGON_ZKEVM_TESTNET]: WETH9[chains.ChainId.POLYGON_ZKEVM_TESTNET],
248
+ [chains.ChainId.ZKSYNC]: WETH9[chains.ChainId.ZKSYNC],
249
+ [chains.ChainId.ZKSYNC_TESTNET]: WETH9[chains.ChainId.ZKSYNC_TESTNET],
250
+ [chains.ChainId.LINEA]: WETH9[chains.ChainId.LINEA],
251
+ [chains.ChainId.LINEA_TESTNET]: WETH9[chains.ChainId.LINEA_TESTNET],
252
+ [chains.ChainId.OPBNB_TESTNET]: WBNB[chains.ChainId.OPBNB_TESTNET],
253
+ [chains.ChainId.OPBNB]: WBNB[chains.ChainId.OPBNB],
254
+ [chains.ChainId.BASE]: WETH9[chains.ChainId.BASE],
255
+ [chains.ChainId.BASE_TESTNET]: WETH9[chains.ChainId.BASE_TESTNET],
256
+ [chains.ChainId.SCROLL_SEPOLIA]: WETH9[chains.ChainId.SCROLL_SEPOLIA],
257
+ [chains.ChainId.SEPOLIA]: WETH9[chains.ChainId.SEPOLIA],
258
+ [chains.ChainId.ARBITRUM_SEPOLIA]: WETH9[chains.ChainId.ARBITRUM_SEPOLIA],
259
+ [chains.ChainId.BASE_SEPOLIA]: WETH9[chains.ChainId.BASE_SEPOLIA]
260
+ };
261
+ var ETHER = { name: "Ether", symbol: "ETH", decimals: 18 };
262
+ var BNB = {
263
+ name: "Binance Chain Native Token",
264
+ symbol: "BNB",
265
+ decimals: 18
266
+ };
267
+ var NATIVE = {
268
+ [chains.ChainId.ETHEREUM]: ETHER,
269
+ [chains.ChainId.GOERLI]: { name: "Goerli Ether", symbol: "GOR", decimals: 18 },
270
+ [chains.ChainId.BSC]: BNB,
271
+ [chains.ChainId.BSC_TESTNET]: {
272
+ name: "Binance Chain Native Token",
273
+ symbol: "tBNB",
274
+ decimals: 18
275
+ },
276
+ [chains.ChainId.ARBITRUM_ONE]: ETHER,
277
+ [chains.ChainId.ARBITRUM_GOERLI]: {
278
+ name: "Arbitrum Goerli Ether",
279
+ symbol: "AGOR",
280
+ decimals: 18
281
+ },
282
+ [chains.ChainId.POLYGON_ZKEVM]: ETHER,
283
+ [chains.ChainId.POLYGON_ZKEVM_TESTNET]: ETHER,
284
+ [chains.ChainId.ZKSYNC]: ETHER,
285
+ [chains.ChainId.ZKSYNC_TESTNET]: ETHER,
286
+ [chains.ChainId.LINEA]: ETHER,
287
+ [chains.ChainId.LINEA_TESTNET]: ETHER,
288
+ [chains.ChainId.OPBNB]: BNB,
289
+ [chains.ChainId.OPBNB_TESTNET]: {
290
+ name: "Binance Chain Native Token",
291
+ symbol: "tBNB",
292
+ decimals: 18
293
+ },
294
+ [chains.ChainId.BASE]: ETHER,
295
+ [chains.ChainId.BASE_TESTNET]: ETHER,
296
+ [chains.ChainId.SCROLL_SEPOLIA]: ETHER,
297
+ [chains.ChainId.SEPOLIA]: {
298
+ name: "Sepolia Ether",
299
+ symbol: "SEP",
300
+ decimals: 18
301
+ },
302
+ [chains.ChainId.ARBITRUM_SEPOLIA]: {
303
+ name: "Arbitrum Sepolia Ether",
304
+ symbol: "ETH",
305
+ decimals: 18
306
+ },
307
+ [chains.ChainId.BASE_SEPOLIA]: {
308
+ name: "Sepolia Ether",
309
+ symbol: "ETH",
310
+ decimals: 18
311
+ }
312
+ };
313
+ var _Native = class extends swapSdkCore.NativeCurrency {
314
+ constructor({
315
+ chainId,
316
+ decimals,
317
+ name,
318
+ symbol
319
+ }) {
320
+ super(chainId, decimals, symbol, name);
321
+ }
322
+ get wrapped() {
323
+ const wnative = WNATIVE[this.chainId];
324
+ invariant2__default.default(!!wnative, "WRAPPED");
325
+ return wnative;
326
+ }
327
+ static onChain(chainId) {
328
+ if (chainId in this.cache) {
329
+ return this.cache[chainId];
330
+ }
331
+ invariant2__default.default(!!NATIVE[chainId], "NATIVE_CURRENCY");
332
+ const { decimals, name, symbol } = NATIVE[chainId];
333
+ return this.cache[chainId] = new _Native({ chainId, decimals, symbol, name });
334
+ }
335
+ equals(other) {
336
+ return other.isNative && other.chainId === this.chainId;
337
+ }
338
+ };
339
+ var Native = _Native;
340
+ Native.cache = {};
341
+
342
+ // src/abis/ERC20.ts
343
+ var erc20Abi = [
344
+ {
345
+ constant: true,
346
+ inputs: [],
347
+ name: "decimals",
348
+ outputs: [{ name: "", type: "uint8" }],
349
+ payable: false,
350
+ stateMutability: "view",
351
+ type: "function"
352
+ },
353
+ {
354
+ constant: true,
355
+ inputs: [{ name: "", type: "address" }],
356
+ name: "balanceOf",
357
+ outputs: [{ name: "", type: "uint256" }],
358
+ payable: false,
359
+ stateMutability: "view",
360
+ type: "function"
361
+ }
362
+ ];
363
+ var _Ether = class extends swapSdkCore.NativeCurrency {
364
+ constructor(chainId) {
365
+ super(chainId, 18, "ETH", "Ether");
366
+ }
367
+ get wrapped() {
368
+ const weth9 = WETH9[this.chainId];
369
+ invariant2__default.default(!!weth9, "WRAPPED");
370
+ return weth9;
371
+ }
372
+ static onChain(chainId) {
373
+ if (!this._etherCache[chainId]) {
374
+ this._etherCache[chainId] = new _Ether(chainId);
375
+ }
376
+ return this._etherCache[chainId];
377
+ }
378
+ equals(other) {
379
+ return other.isNative && other.chainId === this.chainId;
380
+ }
381
+ };
382
+ var Ether = _Ether;
383
+ Ether._etherCache = {};
384
+
385
+ exports.ERC20Token = ERC20Token;
386
+ exports.Ether = Ether;
387
+ exports.NATIVE = NATIVE;
388
+ exports.Native = Native;
389
+ exports.ONE_HUNDRED_PERCENT = ONE_HUNDRED_PERCENT;
390
+ exports.WBNB = WBNB;
391
+ exports.WETH9 = WETH9;
392
+ exports.WNATIVE = WNATIVE;
393
+ exports.ZERO_PERCENT = ZERO_PERCENT;
394
+ exports.erc20Abi = erc20Abi;
395
+ exports.validateAndParseAddress = validateAndParseAddress;
396
+ //# sourceMappingURL=out.js.map
397
+ //# sourceMappingURL=index.js.map