carbon-js-sdk 0.3.50 → 0.3.52

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.
@@ -69,6 +69,8 @@ declare class CarbonSDK {
69
69
  eth: ETHClient;
70
70
  bsc: ETHClient;
71
71
  arbitrum: ETHClient;
72
+ polygon: ETHClient;
73
+ okc: ETHClient;
72
74
  zil: ZILClient;
73
75
  n3: N3Client;
74
76
  chainId: string;
package/lib/CarbonSDK.js CHANGED
@@ -115,6 +115,16 @@ class CarbonSDK {
115
115
  blockchain: blockchain_1.Blockchain.Arbitrum,
116
116
  tokenClient: this.token,
117
117
  });
118
+ this.polygon = clients_1.ETHClient.instance({
119
+ configProvider: this,
120
+ blockchain: blockchain_1.Blockchain.Polygon,
121
+ tokenClient: this.token,
122
+ });
123
+ this.okc = clients_1.ETHClient.instance({
124
+ configProvider: this,
125
+ blockchain: blockchain_1.Blockchain.Okc,
126
+ tokenClient: this.token,
127
+ });
118
128
  }
119
129
  static instance(opts = DEFAULT_SDK_INIT_OPTS) {
120
130
  var _a, _b, _c, _d;
@@ -54,6 +54,8 @@ export declare class ETHClient {
54
54
  bsc: string;
55
55
  eth: string;
56
56
  arbitrum: string;
57
+ polygon: string;
58
+ okc: string;
57
59
  };
58
60
  private constructor();
59
61
  static instance(opts: ETHClientOpts): CarbonSDK.ETHClient;
@@ -350,10 +350,12 @@ class ETHClient {
350
350
  }
351
351
  }
352
352
  exports.ETHClient = ETHClient;
353
- ETHClient.SUPPORTED_BLOCKCHAINS = [blockchain_1.Blockchain.BinanceSmartChain, blockchain_1.Blockchain.Ethereum, blockchain_1.Blockchain.Arbitrum];
353
+ ETHClient.SUPPORTED_BLOCKCHAINS = [blockchain_1.Blockchain.BinanceSmartChain, blockchain_1.Blockchain.Ethereum, blockchain_1.Blockchain.Arbitrum, blockchain_1.Blockchain.Polygon, blockchain_1.Blockchain.Okc];
354
354
  ETHClient.BLOCKCHAIN_KEY = {
355
355
  [blockchain_1.Blockchain.BinanceSmartChain]: "bsc",
356
356
  [blockchain_1.Blockchain.Ethereum]: "eth",
357
357
  [blockchain_1.Blockchain.Arbitrum]: "arbitrum",
358
+ [blockchain_1.Blockchain.Polygon]: "polygon",
359
+ [blockchain_1.Blockchain.Okc]: "okc",
358
360
  };
359
361
  exports.default = ETHClient;
@@ -52,6 +52,8 @@ export interface NetworkConfig {
52
52
  eth: EthNetworkConfig;
53
53
  bsc: EthNetworkConfig;
54
54
  arbitrum: EthNetworkConfig;
55
+ polygon: EthNetworkConfig;
56
+ okc: EthNetworkConfig;
55
57
  neo: NeoNetworkConfig;
56
58
  n3: N3NetworkConfig;
57
59
  zil: ZilNetworkConfig;
@@ -59,6 +59,24 @@ exports.NetworkConfigs = {
59
59
  balanceReader: "0x7e8d8c98a016877cb3103e837fc71d41b155af70",
60
60
  byteCodeHash: "", // TODO: update when byteCodeHash is added
61
61
  },
62
+ polygon: {
63
+ rpcURL: "https://polygon-rpc.com",
64
+ wsURL: "",
65
+ payerURL: "https://payer.carbon.network",
66
+ bridgeEntranceAddr: "0x75d302266926CB34B7564AAF3102c258234A35F2",
67
+ lockProxyAddr: "0x43138036d1283413035B8eca403559737E8f7980",
68
+ balanceReader: "0x7F31D17944a3147C31C3b55B71ebDcC57B6aCC84",
69
+ byteCodeHash: "", // TODO: update when byteCodeHash is added
70
+ },
71
+ okc: {
72
+ rpcURL: "https://exchainrpc.okex.org",
73
+ wsURL: "",
74
+ payerURL: "https://payer.carbon.network",
75
+ bridgeEntranceAddr: "0x7b1c7216c117cc62d875e3086518b238392cf04d",
76
+ lockProxyAddr: "0xb1e6f8820826491fcc5519f84ff4e2bdbb6e3cad",
77
+ balanceReader: "0x43138036d1283413035B8eca403559737E8f7980",
78
+ byteCodeHash: "", // TODO: update when byteCodeHash is added
79
+ },
62
80
  neo: {
63
81
  rpcURL: "https://mainnet2.neo2.coz.io:443",
64
82
  wrapperScriptHash: "f46719e2d16bf50cddcef9d4bbfece901f73cbb6",
@@ -116,6 +134,24 @@ exports.NetworkConfigs = {
116
134
  balanceReader: "",
117
135
  byteCodeHash: "",
118
136
  },
137
+ polygon: {
138
+ rpcURL: "https://rpc-mumbai.maticvigil.com",
139
+ wsURL: "",
140
+ payerURL: "https://test-payer.carbon.network",
141
+ bridgeEntranceAddr: "",
142
+ lockProxyAddr: "",
143
+ balanceReader: "",
144
+ byteCodeHash: "",
145
+ },
146
+ okc: {
147
+ rpcURL: "https://exchaintestrpc.okex.org",
148
+ wsURL: "",
149
+ payerURL: "https://test-payer.carbon.network",
150
+ bridgeEntranceAddr: "",
151
+ lockProxyAddr: "",
152
+ balanceReader: "",
153
+ byteCodeHash: "",
154
+ },
119
155
  neo: {
120
156
  rpcURL: "https://g30trj885e.execute-api.ap-southeast-1.amazonaws.com",
121
157
  wrapperScriptHash: "f46719e2d16bf50cddcef9d4bbfece901f73cbb6",
@@ -173,6 +209,24 @@ exports.NetworkConfigs = {
173
209
  balanceReader: "",
174
210
  byteCodeHash: "",
175
211
  },
212
+ polygon: {
213
+ rpcURL: "https://rpc-mumbai.maticvigil.com",
214
+ wsURL: "",
215
+ payerURL: "https://test-payer.carbon.network",
216
+ bridgeEntranceAddr: "",
217
+ lockProxyAddr: "",
218
+ balanceReader: "",
219
+ byteCodeHash: "",
220
+ },
221
+ okc: {
222
+ rpcURL: "https://exchaintestrpc.okex.org",
223
+ wsURL: "",
224
+ payerURL: "https://test-payer.carbon.network",
225
+ bridgeEntranceAddr: "",
226
+ lockProxyAddr: "",
227
+ balanceReader: "",
228
+ byteCodeHash: "",
229
+ },
176
230
  neo: {
177
231
  rpcURL: "https://g30trj885e.execute-api.ap-southeast-1.amazonaws.com",
178
232
  wrapperScriptHash: "f46719e2d16bf50cddcef9d4bbfece901f73cbb6",
@@ -230,6 +284,24 @@ exports.NetworkConfigs = {
230
284
  balanceReader: "",
231
285
  byteCodeHash: "",
232
286
  },
287
+ polygon: {
288
+ rpcURL: "https://rpc-mumbai.maticvigil.com",
289
+ wsURL: "",
290
+ payerURL: "https://test-payer.carbon.network",
291
+ bridgeEntranceAddr: "",
292
+ lockProxyAddr: "",
293
+ balanceReader: "",
294
+ byteCodeHash: "",
295
+ },
296
+ okc: {
297
+ rpcURL: "https://exchaintestrpc.okex.org",
298
+ wsURL: "",
299
+ payerURL: "https://test-payer.carbon.network",
300
+ bridgeEntranceAddr: "",
301
+ lockProxyAddr: "",
302
+ balanceReader: "",
303
+ byteCodeHash: "",
304
+ },
233
305
  neo: {
234
306
  rpcURL: "https://g30trj885e.execute-api.ap-southeast-1.amazonaws.com",
235
307
  wrapperScriptHash: "f46719e2d16bf50cddcef9d4bbfece901f73cbb6",
@@ -46,6 +46,7 @@ export interface PNLLeaderboardEntry {
46
46
  initialBalance: string;
47
47
  totalPnl: string;
48
48
  PnlPercent: string;
49
+ finalPnlPercent: string;
49
50
  rank: string;
50
51
  username: string | null;
51
52
  twitter: string | null;
@@ -1,7 +1,7 @@
1
1
  import { Network } from "../../constant";
2
2
  import { Blockchain } from "../../util/blockchain";
3
3
  import { ethers } from "ethers";
4
- export declare type EVMChain = Blockchain.Ethereum | Blockchain.BinanceSmartChain | Blockchain.Arbitrum;
4
+ export declare type EVMChain = Blockchain.Ethereum | Blockchain.BinanceSmartChain | Blockchain.Arbitrum | Blockchain.Polygon | Blockchain.Okc;
5
5
  interface RequestArguments {
6
6
  method: string;
7
7
  params?: unknown[] | object;
@@ -38,7 +38,7 @@ export declare class MetaMask {
38
38
  readonly network: Network;
39
39
  private blockchain;
40
40
  static getNetworkParams(network: Network, blockchain?: EVMChain): MetaMaskChangeNetworkParam;
41
- static getRequiredChainId(network: Network, blockchain?: Blockchain): 1 | 5 | 56 | 97 | 42161 | 421611;
41
+ static getRequiredChainId(network: Network, blockchain?: Blockchain): 1 | 5 | 66 | 56 | 137 | 97 | 65 | 80001 | 42161 | 421611;
42
42
  constructor(network: Network);
43
43
  private checkProvider;
44
44
  getBlockchain(): Blockchain;
@@ -56,6 +56,20 @@ const CONTRACT_HASH = {
56
56
  [constant_1.Network.LocalHost]: "",
57
57
  [constant_1.Network.MainNet]: "0x43138036d1283413035b8eca403559737e8f7980",
58
58
  },
59
+ [blockchain_1.Blockchain.Polygon]: {
60
+ // use same testnet contract for all non-mainnet uses
61
+ [constant_1.Network.TestNet]: "",
62
+ [constant_1.Network.DevNet]: "",
63
+ [constant_1.Network.LocalHost]: "",
64
+ [constant_1.Network.MainNet]: "0x61B9503Fe023E1F1Dd0ab7417923cB0A41DD9E0c",
65
+ },
66
+ [blockchain_1.Blockchain.Okc]: {
67
+ // use same testnet contract for all non-mainnet uses
68
+ [constant_1.Network.TestNet]: "",
69
+ [constant_1.Network.DevNet]: "",
70
+ [constant_1.Network.LocalHost]: "",
71
+ [constant_1.Network.MainNet]: "0x7e8D8c98a016877Cb3103e837Fc71D41b155aF70",
72
+ },
59
73
  };
60
74
  const REGISTRY_CONTRACT_ABI = eth_1.ABIs.keyStorage;
61
75
  const ENCRYPTION_VERSION = "x25519-xsalsa20-poly1305";
@@ -143,6 +157,50 @@ const ARBITRUM_TESTNET = {
143
157
  symbol: "ETH",
144
158
  },
145
159
  };
160
+ const POLYGON_MAINNET = {
161
+ chainId: "0x89",
162
+ blockExplorerUrls: ["https://polygonscan.com/"],
163
+ chainName: "Polygon Mainnet",
164
+ rpcUrls: ["https://polygon-rpc.com"],
165
+ nativeCurrency: {
166
+ decimals: 18,
167
+ name: "Matic",
168
+ symbol: "MATIC",
169
+ },
170
+ };
171
+ const POLYGON_TESTNET = {
172
+ chainId: "0x13881",
173
+ blockExplorerUrls: ["https://mumbai.polygonscan.com"],
174
+ chainName: "Polygon Mumbai",
175
+ rpcUrls: ["https://polygon-mumbai.infura.io/v3/4458cf4d1689497b9a38b1d6bbf05e78"],
176
+ nativeCurrency: {
177
+ decimals: 18,
178
+ name: "Matic",
179
+ symbol: "MATIC",
180
+ },
181
+ };
182
+ const OKC_MAINNET = {
183
+ chainId: "0x42",
184
+ blockExplorerUrls: ["https://www.oklink.com/okc"],
185
+ chainName: "OKC Mainnet",
186
+ rpcUrls: ["https://exchainrpc.okex.org"],
187
+ nativeCurrency: {
188
+ decimals: 18,
189
+ name: "OKT",
190
+ symbol: "OKT",
191
+ },
192
+ };
193
+ const OKC_TESTNET = {
194
+ chainId: "0x41",
195
+ blockExplorerUrls: ["https://www.oklink.com/okc-test"],
196
+ chainName: "OKC Testnet",
197
+ rpcUrls: ["https://exchaintestrpc.okex.org"],
198
+ nativeCurrency: {
199
+ decimals: 18,
200
+ name: "OKT",
201
+ symbol: "OKT",
202
+ },
203
+ };
146
204
  /**
147
205
  * TODO: Add docs
148
206
  */
@@ -158,6 +216,10 @@ class MetaMask {
158
216
  return BSC_MAINNET;
159
217
  case blockchain_1.Blockchain.Arbitrum:
160
218
  return ARBITRUM_MAINNET;
219
+ case blockchain_1.Blockchain.Polygon:
220
+ return POLYGON_MAINNET;
221
+ case blockchain_1.Blockchain.Okc:
222
+ return OKC_MAINNET;
161
223
  default:
162
224
  // metamask should come with Ethereum configs
163
225
  return ETH_MAINNET;
@@ -168,6 +230,10 @@ class MetaMask {
168
230
  return BSC_TESTNET;
169
231
  case blockchain_1.Blockchain.Arbitrum:
170
232
  return ARBITRUM_TESTNET;
233
+ case blockchain_1.Blockchain.Polygon:
234
+ return POLYGON_TESTNET;
235
+ case blockchain_1.Blockchain.Okc:
236
+ return OKC_TESTNET;
171
237
  default:
172
238
  // metamask should come with Ethereum configs
173
239
  return ETH_TESTNET;
@@ -180,6 +246,10 @@ class MetaMask {
180
246
  return 56;
181
247
  case blockchain_1.Blockchain.Arbitrum:
182
248
  return 42161;
249
+ case blockchain_1.Blockchain.Polygon:
250
+ return 137;
251
+ case blockchain_1.Blockchain.Okc:
252
+ return 66;
183
253
  default:
184
254
  return 1;
185
255
  }
@@ -189,6 +259,10 @@ class MetaMask {
189
259
  return 97;
190
260
  case blockchain_1.Blockchain.Arbitrum:
191
261
  return 421611;
262
+ case blockchain_1.Blockchain.Polygon:
263
+ return 80001;
264
+ case blockchain_1.Blockchain.Okc:
265
+ return 65;
192
266
  default:
193
267
  return 5;
194
268
  }
@@ -363,6 +437,14 @@ class MetaMask {
363
437
  this.blockchain = blockchain_1.Blockchain.Arbitrum;
364
438
  return currentChainId;
365
439
  }
440
+ if (currentChainId === 137) {
441
+ this.blockchain = blockchain_1.Blockchain.Polygon;
442
+ return currentChainId;
443
+ }
444
+ if (currentChainId === 66) {
445
+ this.blockchain = blockchain_1.Blockchain.Okc;
446
+ return currentChainId;
447
+ }
366
448
  return 1;
367
449
  }
368
450
  if (currentChainId === 5) {
@@ -377,6 +459,14 @@ class MetaMask {
377
459
  this.blockchain = blockchain_1.Blockchain.Arbitrum;
378
460
  return currentChainId;
379
461
  }
462
+ if (currentChainId === 80001) {
463
+ this.blockchain = blockchain_1.Blockchain.Polygon;
464
+ return currentChainId;
465
+ }
466
+ if (currentChainId === 65) {
467
+ this.blockchain = blockchain_1.Blockchain.Okc;
468
+ return currentChainId;
469
+ }
380
470
  // Deal with cases where users are logging in to devnet using mainnet chains
381
471
  if (currentChainId === 56) {
382
472
  return 97;
@@ -6,6 +6,8 @@ export declare enum Blockchain {
6
6
  BinanceSmartChain = "bsc",
7
7
  Zilliqa = "zil",
8
8
  Arbitrum = "arbitrum",
9
+ Polygon = "polygon",
10
+ Okc = "okc",
9
11
  Native = "native",
10
12
  Btc = "btc",
11
13
  Carbon = "carbon",
@@ -46,6 +48,10 @@ export declare const ChainNames: {
46
48
  readonly 97: "BSC TestNet";
47
49
  readonly 110: "ZIL DevNet";
48
50
  readonly 111: "ZIL TestNet";
51
+ readonly 65: "Okc TestNet";
52
+ readonly 66: "Okc MainNet";
53
+ readonly 137: "Polygon MainNet";
54
+ readonly 80001: "Polygon Mumbai";
49
55
  readonly 42161: "Arbitrum MainNet";
50
56
  readonly 421611: "Arbitrum TestNet";
51
57
  };
@@ -55,5 +61,5 @@ export declare const CHAIN_IDS_TEST: ChainIds;
55
61
  export declare const chainIdsByBlockchain: SimpleMap<ChainIds>;
56
62
  export declare function parseBlockchain(value: string | null): Blockchain | null;
57
63
  export declare function getChainFromID(id: number): string | undefined;
58
- export declare const getBlockchainFromChain: (chainId?: number | undefined) => Blockchain.Ethereum | Blockchain.BinanceSmartChain | Blockchain.Zilliqa | Blockchain.Arbitrum | undefined;
64
+ export declare const getBlockchainFromChain: (chainId?: number | undefined) => Blockchain.Ethereum | Blockchain.BinanceSmartChain | Blockchain.Zilliqa | Blockchain.Arbitrum | Blockchain.Polygon | Blockchain.Okc | undefined;
59
65
  export declare const blockchainForChainId: (chainId?: number | undefined, network?: Network) => Blockchain | undefined;
@@ -9,6 +9,8 @@ var Blockchain;
9
9
  Blockchain["BinanceSmartChain"] = "bsc";
10
10
  Blockchain["Zilliqa"] = "zil";
11
11
  Blockchain["Arbitrum"] = "arbitrum";
12
+ Blockchain["Polygon"] = "polygon";
13
+ Blockchain["Okc"] = "okc";
12
14
  Blockchain["Native"] = "native";
13
15
  Blockchain["Btc"] = "btc";
14
16
  Blockchain["Carbon"] = "carbon";
@@ -48,6 +50,10 @@ exports.ChainNames = {
48
50
  97: "BSC TestNet",
49
51
  110: "ZIL DevNet",
50
52
  111: "ZIL TestNet",
53
+ 65: "Okc TestNet",
54
+ 66: "Okc MainNet",
55
+ 137: "Polygon MainNet",
56
+ 80001: "Polygon Mumbai",
51
57
  42161: "Arbitrum MainNet",
52
58
  421611: "Arbitrum TestNet",
53
59
  };
@@ -60,6 +66,8 @@ exports.CHAIN_IDS = {
60
66
  neo3: 14,
61
67
  zil: 18,
62
68
  arbitrum: 19,
69
+ okc: 66,
70
+ polygon: 137,
63
71
  osmosis: 244,
64
72
  terra: 245,
65
73
  cosmoshub: 246,
@@ -119,6 +127,12 @@ const getBlockchainFromChain = (chainId) => {
119
127
  case 56:
120
128
  case 97:
121
129
  return Blockchain.BinanceSmartChain;
130
+ case 65:
131
+ case 66:
132
+ return Blockchain.Okc;
133
+ case 137:
134
+ case 80001:
135
+ return Blockchain.Polygon;
122
136
  case 110:
123
137
  case 111:
124
138
  return Blockchain.Zilliqa;
@@ -148,6 +162,12 @@ const blockchainForChainId = (chainId, network = network_1.Network.MainNet) => {
148
162
  case 9: /* FALLTHROUGH */
149
163
  case 18:
150
164
  return Blockchain.Zilliqa;
165
+ case 12: /* FALLTHROUGH */
166
+ case 66:
167
+ return Blockchain.Okc;
168
+ case 17: /* FALLTHROUGH */
169
+ case 137:
170
+ return Blockchain.Polygon;
151
171
  case 244:
152
172
  return Blockchain.Osmosis;
153
173
  case 13: /* FALLTHROUGH */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "carbon-js-sdk",
3
- "version": "0.3.50",
3
+ "version": "0.3.52",
4
4
  "description": "TypeScript SDK for Carbon blockchain",
5
5
  "main": "lib/index.js",
6
6
  "types": "lib/index.d.ts",