@xchainjs/xchain-arbitrum 0.1.5 → 0.1.7

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/const.d.ts CHANGED
@@ -4,14 +4,7 @@ export declare const ARB_DECIMAL = 18;
4
4
  export declare const LOWER_FEE_BOUND = 100000000;
5
5
  export declare const UPPER_FEE_BOUND = 1000000000;
6
6
  export declare const ARB_GAS_ASSET_DECIMAL = 18;
7
- /**
8
- * Chain identifier for ARB.
9
- *
10
- */
11
7
  export declare const ARBChain: "ARB";
12
- /**
13
- * Base "chain" asset of Arbitrum chain.
14
- *
15
- */
8
+ export declare const AssetAETH: Asset;
16
9
  export declare const AssetARB: Asset;
17
10
  export declare const defaultArbParams: EVMClientParams;
package/lib/index.esm.js CHANGED
@@ -3,50 +3,56 @@ import { Network, ExplorerProvider } from '@xchainjs/xchain-client';
3
3
  import { EtherscanProvider } from '@xchainjs/xchain-evm-providers';
4
4
  import { ethers, BigNumber } from 'ethers';
5
5
 
6
+ // Import necessary modules and classes from external packages and files
7
+ // Define constants related to Arbitrum
6
8
  const ARB_DECIMAL = 18;
7
9
  const LOWER_FEE_BOUND = 100000000;
8
10
  const UPPER_FEE_BOUND = 1000000000;
9
11
  const ARB_GAS_ASSET_DECIMAL = 18;
10
- /**
11
- * Chain identifier for ARB.
12
- *
13
- */
14
12
  const ARBChain = 'ARB';
15
- /**
16
- * Base "chain" asset of Arbitrum chain.
17
- *
18
- */
19
- const AssetARB = { chain: ARBChain, symbol: 'ARB', ticker: 'ETH', synth: false };
20
- // =====Ethers providers=====
13
+ // ARB ETH Gas asset
14
+ const AssetAETH = { chain: ARBChain, symbol: 'ETH', ticker: 'ETH', synth: false };
15
+ // ARB
16
+ const AssetARB = {
17
+ chain: ARBChain,
18
+ symbol: 'ARB-0x912ce59144191c1204e64559fe8253a0e49e6548',
19
+ ticker: 'ARB',
20
+ synth: false,
21
+ };
22
+ // Define JSON-RPC providers for mainnet and testnet
21
23
  const ARBITRUM_MAINNET_ETHERS_PROVIDER = new ethers.providers.JsonRpcProvider('https://arb1.arbitrum.io/rpc');
22
24
  const ARBITRUM_TESTNET_ETHERS_PROVIDER = new ethers.providers.JsonRpcProvider('https://goerli-rollup.arbitrum.io/rpc');
25
+ // Define ethers providers for different networks
23
26
  const ethersJSProviders = {
24
27
  [Network.Mainnet]: ARBITRUM_MAINNET_ETHERS_PROVIDER,
25
28
  [Network.Testnet]: ARBITRUM_TESTNET_ETHERS_PROVIDER,
26
29
  [Network.Stagenet]: ARBITRUM_MAINNET_ETHERS_PROVIDER,
27
30
  };
28
- // =====ONLINE providers=====
29
- const ARB_ONLINE_PROVIDER_MAINNET = new EtherscanProvider(ARBITRUM_MAINNET_ETHERS_PROVIDER, 'https://api.arbiscan.io', process.env.ARBISCAN_API_KEY || '', ARBChain, AssetARB, 18);
30
- const ARB_ONLINE_PROVIDER_TESTNET = new EtherscanProvider(ARBITRUM_TESTNET_ETHERS_PROVIDER, 'https://api-goerli.arbiscan.io', process.env.ARBISCAN_API_KEY || '', ARBChain, AssetARB, 18);
31
+ // Define online providers (Etherscan) for mainnet and testnet
32
+ const ARB_ONLINE_PROVIDER_MAINNET = new EtherscanProvider(ARBITRUM_MAINNET_ETHERS_PROVIDER, 'https://api.arbiscan.io', process.env.ARBISCAN_API_KEY || '', ARBChain, AssetAETH, 18);
33
+ const ARB_ONLINE_PROVIDER_TESTNET = new EtherscanProvider(ARBITRUM_TESTNET_ETHERS_PROVIDER, 'https://api-goerli.arbiscan.io', process.env.ARBISCAN_API_KEY || '', ARBChain, AssetAETH, 18);
34
+ // Define providers for different networks
31
35
  const arbProviders = {
32
36
  [Network.Mainnet]: ARB_ONLINE_PROVIDER_MAINNET,
33
37
  [Network.Testnet]: ARB_ONLINE_PROVIDER_TESTNET,
34
38
  [Network.Stagenet]: ARB_ONLINE_PROVIDER_MAINNET,
35
39
  };
36
- // =====Explorers=====
40
+ // Define explorer providers for mainnet and testnet
37
41
  const ARB_MAINNET_EXPLORER = new ExplorerProvider('https://arbiscan.io/', 'https://arbiscan.io/address/%%ADDRESS%%', 'https://arbiscan.io/tx/%%TX_ID%%');
38
42
  const ARB_TESTNET_EXPLORER = new ExplorerProvider('https://goerli.arbiscan.io', 'https://goerli.arbiscan.io/address/%%ADDRESS%%', 'https://goerli.arbiscan.io/tx/%%TX_ID%%');
43
+ // Define explorer providers for different networks
39
44
  const arbExplorerProviders = {
40
45
  [Network.Mainnet]: ARB_MAINNET_EXPLORER,
41
46
  [Network.Testnet]: ARB_TESTNET_EXPLORER,
42
47
  [Network.Stagenet]: ARB_MAINNET_EXPLORER,
43
48
  };
44
- // =====Explorers=====
49
+ // Define root derivation paths for different networks
45
50
  const ethRootDerivationPaths = {
46
51
  [Network.Mainnet]: `m/44'/60'/0'/0/`,
47
52
  [Network.Testnet]: `m/44'/60'/0'/0/`,
48
53
  [Network.Stagenet]: `m/44'/60'/0'/0/`,
49
54
  };
55
+ // Define default parameters for the Arbitrum client
50
56
  const defaults = {
51
57
  [Network.Mainnet]: {
52
58
  approveGasLimit: BigNumber.from(200000),
@@ -67,9 +73,10 @@ const defaults = {
67
73
  gasPrice: BigNumber.from(0.2 * Math.pow(10, 9)),
68
74
  },
69
75
  };
76
+ // Define the default parameters for the Arbitrum client
70
77
  const defaultArbParams = {
71
78
  chain: ARBChain,
72
- gasAsset: AssetARB,
79
+ gasAsset: AssetAETH,
73
80
  gasAssetDecimals: ARB_GAS_ASSET_DECIMAL,
74
81
  defaults,
75
82
  providers: ethersJSProviders,
@@ -83,11 +90,15 @@ const defaultArbParams = {
83
90
  rootDerivationPaths: ethRootDerivationPaths,
84
91
  };
85
92
 
93
+ // Import the Client class from '@xchainjs/xchain-evm' module
94
+ // Create a class called Client that extends the XchainEvmClient class
86
95
  class Client extends Client$1 {
96
+ // Constructor function that takes an optional config parameter, defaulting to defaultArbParams
87
97
  constructor(config = defaultArbParams) {
98
+ // Call the constructor of the parent class (XchainEvmClient) with the provided config
88
99
  super(config);
89
100
  }
90
101
  }
91
102
 
92
- export { ARBChain, ARB_DECIMAL, ARB_GAS_ASSET_DECIMAL, AssetARB, Client, LOWER_FEE_BOUND, UPPER_FEE_BOUND, defaultArbParams };
103
+ export { ARBChain, ARB_DECIMAL, ARB_GAS_ASSET_DECIMAL, AssetAETH, AssetARB, Client, LOWER_FEE_BOUND, UPPER_FEE_BOUND, defaultArbParams };
93
104
  //# sourceMappingURL=index.esm.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.esm.js","sources":["../src/const.ts","../src/client.ts"],"sourcesContent":["import { ExplorerProvider, Network } from '@xchainjs/xchain-client'\nimport { EVMClientParams } from '@xchainjs/xchain-evm'\nimport { EtherscanProvider } from '@xchainjs/xchain-evm-providers'\nimport { Asset } from '@xchainjs/xchain-util'\nimport { BigNumber, ethers } from 'ethers'\n\nexport const ARB_DECIMAL = 18\n\nexport const LOWER_FEE_BOUND = 100_000_000\nexport const UPPER_FEE_BOUND = 1_000_000_000\n\nexport const ARB_GAS_ASSET_DECIMAL = 18\n\n/**\n * Chain identifier for ARB.\n *\n */\nexport const ARBChain = 'ARB' as const\n\n/**\n * Base \"chain\" asset of Arbitrum chain.\n *\n */\nexport const AssetARB: Asset = { chain: ARBChain, symbol: 'ARB', ticker: 'ETH', synth: false }\n\n// =====Ethers providers=====\nconst ARBITRUM_MAINNET_ETHERS_PROVIDER = new ethers.providers.JsonRpcProvider('https://arb1.arbitrum.io/rpc')\nconst ARBITRUM_TESTNET_ETHERS_PROVIDER = new ethers.providers.JsonRpcProvider('https://goerli-rollup.arbitrum.io/rpc')\n\nconst ethersJSProviders = {\n [Network.Mainnet]: ARBITRUM_MAINNET_ETHERS_PROVIDER,\n [Network.Testnet]: ARBITRUM_TESTNET_ETHERS_PROVIDER,\n [Network.Stagenet]: ARBITRUM_MAINNET_ETHERS_PROVIDER,\n}\n\n// =====ONLINE providers=====\n\nconst ARB_ONLINE_PROVIDER_MAINNET = new EtherscanProvider(\n ARBITRUM_MAINNET_ETHERS_PROVIDER,\n 'https://api.arbiscan.io',\n process.env.ARBISCAN_API_KEY || '',\n ARBChain,\n AssetARB,\n 18,\n)\n\nconst ARB_ONLINE_PROVIDER_TESTNET = new EtherscanProvider(\n ARBITRUM_TESTNET_ETHERS_PROVIDER,\n 'https://api-goerli.arbiscan.io',\n process.env.ARBISCAN_API_KEY || '',\n ARBChain,\n AssetARB,\n 18,\n)\n\nconst arbProviders = {\n [Network.Mainnet]: ARB_ONLINE_PROVIDER_MAINNET,\n [Network.Testnet]: ARB_ONLINE_PROVIDER_TESTNET,\n [Network.Stagenet]: ARB_ONLINE_PROVIDER_MAINNET,\n}\n\n// =====Explorers=====\nconst ARB_MAINNET_EXPLORER = new ExplorerProvider(\n 'https://arbiscan.io/',\n 'https://arbiscan.io/address/%%ADDRESS%%',\n 'https://arbiscan.io/tx/%%TX_ID%%',\n)\nconst ARB_TESTNET_EXPLORER = new ExplorerProvider(\n 'https://goerli.arbiscan.io',\n 'https://goerli.arbiscan.io/address/%%ADDRESS%%',\n 'https://goerli.arbiscan.io/tx/%%TX_ID%%',\n)\nconst arbExplorerProviders = {\n [Network.Mainnet]: ARB_MAINNET_EXPLORER,\n [Network.Testnet]: ARB_TESTNET_EXPLORER,\n [Network.Stagenet]: ARB_MAINNET_EXPLORER,\n}\n// =====Explorers=====\n\nconst ethRootDerivationPaths = {\n [Network.Mainnet]: `m/44'/60'/0'/0/`,\n [Network.Testnet]: `m/44'/60'/0'/0/`,\n [Network.Stagenet]: `m/44'/60'/0'/0/`,\n}\n\nconst defaults = {\n [Network.Mainnet]: {\n approveGasLimit: BigNumber.from(200000),\n transferGasAssetGasLimit: BigNumber.from(23000),\n transferTokenGasLimit: BigNumber.from(100000),\n gasPrice: BigNumber.from(0.2 * 10 ** 9),\n },\n [Network.Testnet]: {\n approveGasLimit: BigNumber.from(200000),\n transferGasAssetGasLimit: BigNumber.from(23000),\n transferTokenGasLimit: BigNumber.from(100000),\n gasPrice: BigNumber.from(0.2 * 10 ** 9),\n },\n [Network.Stagenet]: {\n approveGasLimit: BigNumber.from(200000),\n transferGasAssetGasLimit: BigNumber.from(23000),\n transferTokenGasLimit: BigNumber.from(100000),\n gasPrice: BigNumber.from(0.2 * 10 ** 9),\n },\n}\n\nexport const defaultArbParams: EVMClientParams = {\n chain: ARBChain,\n gasAsset: AssetARB,\n gasAssetDecimals: ARB_GAS_ASSET_DECIMAL,\n defaults,\n providers: ethersJSProviders,\n explorerProviders: arbExplorerProviders,\n dataProviders: [arbProviders],\n network: Network.Mainnet,\n feeBounds: {\n lower: LOWER_FEE_BOUND,\n upper: UPPER_FEE_BOUND,\n },\n rootDerivationPaths: ethRootDerivationPaths,\n}\n","import { Client as XchainEvmClient } from '@xchainjs/xchain-evm'\n\nimport { defaultArbParams } from './const'\n\nexport class Client extends XchainEvmClient {\n constructor(config = defaultArbParams) {\n super(config)\n }\n}\n"],"names":["XchainEvmClient"],"mappings":"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"}
1
+ {"version":3,"file":"index.esm.js","sources":["../src/const.ts","../src/client.ts"],"sourcesContent":["// Import necessary modules and classes from external packages and files\nimport { ExplorerProvider, Network } from '@xchainjs/xchain-client'\nimport { EVMClientParams } from '@xchainjs/xchain-evm'\nimport { EtherscanProvider } from '@xchainjs/xchain-evm-providers'\nimport { Asset } from '@xchainjs/xchain-util'\nimport { BigNumber, ethers } from 'ethers'\n\n// Define constants related to Arbitrum\nexport const ARB_DECIMAL = 18\nexport const LOWER_FEE_BOUND = 100_000_000\nexport const UPPER_FEE_BOUND = 1_000_000_000\nexport const ARB_GAS_ASSET_DECIMAL = 18\nexport const ARBChain = 'ARB' as const\n// ARB ETH Gas asset\nexport const AssetAETH: Asset = { chain: ARBChain, symbol: 'ETH', ticker: 'ETH', synth: false }\n\n// ARB\nexport const AssetARB: Asset = {\n chain: ARBChain,\n symbol: 'ARB-0x912ce59144191c1204e64559fe8253a0e49e6548',\n ticker: 'ARB',\n synth: false,\n}\n\n// Define JSON-RPC providers for mainnet and testnet\nconst ARBITRUM_MAINNET_ETHERS_PROVIDER = new ethers.providers.JsonRpcProvider('https://arb1.arbitrum.io/rpc')\nconst ARBITRUM_TESTNET_ETHERS_PROVIDER = new ethers.providers.JsonRpcProvider('https://goerli-rollup.arbitrum.io/rpc')\n\n// Define ethers providers for different networks\nconst ethersJSProviders = {\n [Network.Mainnet]: ARBITRUM_MAINNET_ETHERS_PROVIDER,\n [Network.Testnet]: ARBITRUM_TESTNET_ETHERS_PROVIDER,\n [Network.Stagenet]: ARBITRUM_MAINNET_ETHERS_PROVIDER,\n}\n\n// Define online providers (Etherscan) for mainnet and testnet\nconst ARB_ONLINE_PROVIDER_MAINNET = new EtherscanProvider(\n ARBITRUM_MAINNET_ETHERS_PROVIDER,\n 'https://api.arbiscan.io',\n process.env.ARBISCAN_API_KEY || '',\n ARBChain,\n AssetAETH,\n 18,\n)\n\nconst ARB_ONLINE_PROVIDER_TESTNET = new EtherscanProvider(\n ARBITRUM_TESTNET_ETHERS_PROVIDER,\n 'https://api-goerli.arbiscan.io',\n process.env.ARBISCAN_API_KEY || '',\n ARBChain,\n AssetAETH,\n 18,\n)\n\n// Define providers for different networks\nconst arbProviders = {\n [Network.Mainnet]: ARB_ONLINE_PROVIDER_MAINNET,\n [Network.Testnet]: ARB_ONLINE_PROVIDER_TESTNET,\n [Network.Stagenet]: ARB_ONLINE_PROVIDER_MAINNET,\n}\n\n// Define explorer providers for mainnet and testnet\nconst ARB_MAINNET_EXPLORER = new ExplorerProvider(\n 'https://arbiscan.io/',\n 'https://arbiscan.io/address/%%ADDRESS%%',\n 'https://arbiscan.io/tx/%%TX_ID%%',\n)\n\nconst ARB_TESTNET_EXPLORER = new ExplorerProvider(\n 'https://goerli.arbiscan.io',\n 'https://goerli.arbiscan.io/address/%%ADDRESS%%',\n 'https://goerli.arbiscan.io/tx/%%TX_ID%%',\n)\n\n// Define explorer providers for different networks\nconst arbExplorerProviders = {\n [Network.Mainnet]: ARB_MAINNET_EXPLORER,\n [Network.Testnet]: ARB_TESTNET_EXPLORER,\n [Network.Stagenet]: ARB_MAINNET_EXPLORER,\n}\n\n// Define root derivation paths for different networks\nconst ethRootDerivationPaths = {\n [Network.Mainnet]: `m/44'/60'/0'/0/`,\n [Network.Testnet]: `m/44'/60'/0'/0/`,\n [Network.Stagenet]: `m/44'/60'/0'/0/`,\n}\n\n// Define default parameters for the Arbitrum client\nconst defaults = {\n [Network.Mainnet]: {\n approveGasLimit: BigNumber.from(200000),\n transferGasAssetGasLimit: BigNumber.from(23000),\n transferTokenGasLimit: BigNumber.from(100000),\n gasPrice: BigNumber.from(0.2 * 10 ** 9),\n },\n [Network.Testnet]: {\n approveGasLimit: BigNumber.from(200000),\n transferGasAssetGasLimit: BigNumber.from(23000),\n transferTokenGasLimit: BigNumber.from(100000),\n gasPrice: BigNumber.from(0.2 * 10 ** 9),\n },\n [Network.Stagenet]: {\n approveGasLimit: BigNumber.from(200000),\n transferGasAssetGasLimit: BigNumber.from(23000),\n transferTokenGasLimit: BigNumber.from(100000),\n gasPrice: BigNumber.from(0.2 * 10 ** 9),\n },\n}\n\n// Define the default parameters for the Arbitrum client\nexport const defaultArbParams: EVMClientParams = {\n chain: ARBChain,\n gasAsset: AssetAETH,\n gasAssetDecimals: ARB_GAS_ASSET_DECIMAL,\n defaults,\n providers: ethersJSProviders,\n explorerProviders: arbExplorerProviders,\n dataProviders: [arbProviders],\n network: Network.Mainnet,\n feeBounds: {\n lower: LOWER_FEE_BOUND,\n upper: UPPER_FEE_BOUND,\n },\n rootDerivationPaths: ethRootDerivationPaths,\n}\n","// Import the Client class from '@xchainjs/xchain-evm' module\nimport { Client as XchainEvmClient } from '@xchainjs/xchain-evm'\n\n// Import defaultArbParams constant from './const' file\nimport { defaultArbParams } from './const'\n\n// Create a class called Client that extends the XchainEvmClient class\nexport class Client extends XchainEvmClient {\n // Constructor function that takes an optional config parameter, defaulting to defaultArbParams\n constructor(config = defaultArbParams) {\n // Call the constructor of the parent class (XchainEvmClient) with the provided config\n super(config)\n }\n}\n"],"names":["XchainEvmClient"],"mappings":"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"}
package/lib/index.js CHANGED
@@ -7,50 +7,56 @@ var xchainClient = require('@xchainjs/xchain-client');
7
7
  var xchainEvmProviders = require('@xchainjs/xchain-evm-providers');
8
8
  var ethers = require('ethers');
9
9
 
10
+ // Import necessary modules and classes from external packages and files
11
+ // Define constants related to Arbitrum
10
12
  const ARB_DECIMAL = 18;
11
13
  const LOWER_FEE_BOUND = 100000000;
12
14
  const UPPER_FEE_BOUND = 1000000000;
13
15
  const ARB_GAS_ASSET_DECIMAL = 18;
14
- /**
15
- * Chain identifier for ARB.
16
- *
17
- */
18
16
  const ARBChain = 'ARB';
19
- /**
20
- * Base "chain" asset of Arbitrum chain.
21
- *
22
- */
23
- const AssetARB = { chain: ARBChain, symbol: 'ARB', ticker: 'ETH', synth: false };
24
- // =====Ethers providers=====
17
+ // ARB ETH Gas asset
18
+ const AssetAETH = { chain: ARBChain, symbol: 'ETH', ticker: 'ETH', synth: false };
19
+ // ARB
20
+ const AssetARB = {
21
+ chain: ARBChain,
22
+ symbol: 'ARB-0x912ce59144191c1204e64559fe8253a0e49e6548',
23
+ ticker: 'ARB',
24
+ synth: false,
25
+ };
26
+ // Define JSON-RPC providers for mainnet and testnet
25
27
  const ARBITRUM_MAINNET_ETHERS_PROVIDER = new ethers.ethers.providers.JsonRpcProvider('https://arb1.arbitrum.io/rpc');
26
28
  const ARBITRUM_TESTNET_ETHERS_PROVIDER = new ethers.ethers.providers.JsonRpcProvider('https://goerli-rollup.arbitrum.io/rpc');
29
+ // Define ethers providers for different networks
27
30
  const ethersJSProviders = {
28
31
  [xchainClient.Network.Mainnet]: ARBITRUM_MAINNET_ETHERS_PROVIDER,
29
32
  [xchainClient.Network.Testnet]: ARBITRUM_TESTNET_ETHERS_PROVIDER,
30
33
  [xchainClient.Network.Stagenet]: ARBITRUM_MAINNET_ETHERS_PROVIDER,
31
34
  };
32
- // =====ONLINE providers=====
33
- const ARB_ONLINE_PROVIDER_MAINNET = new xchainEvmProviders.EtherscanProvider(ARBITRUM_MAINNET_ETHERS_PROVIDER, 'https://api.arbiscan.io', process.env.ARBISCAN_API_KEY || '', ARBChain, AssetARB, 18);
34
- const ARB_ONLINE_PROVIDER_TESTNET = new xchainEvmProviders.EtherscanProvider(ARBITRUM_TESTNET_ETHERS_PROVIDER, 'https://api-goerli.arbiscan.io', process.env.ARBISCAN_API_KEY || '', ARBChain, AssetARB, 18);
35
+ // Define online providers (Etherscan) for mainnet and testnet
36
+ const ARB_ONLINE_PROVIDER_MAINNET = new xchainEvmProviders.EtherscanProvider(ARBITRUM_MAINNET_ETHERS_PROVIDER, 'https://api.arbiscan.io', process.env.ARBISCAN_API_KEY || '', ARBChain, AssetAETH, 18);
37
+ const ARB_ONLINE_PROVIDER_TESTNET = new xchainEvmProviders.EtherscanProvider(ARBITRUM_TESTNET_ETHERS_PROVIDER, 'https://api-goerli.arbiscan.io', process.env.ARBISCAN_API_KEY || '', ARBChain, AssetAETH, 18);
38
+ // Define providers for different networks
35
39
  const arbProviders = {
36
40
  [xchainClient.Network.Mainnet]: ARB_ONLINE_PROVIDER_MAINNET,
37
41
  [xchainClient.Network.Testnet]: ARB_ONLINE_PROVIDER_TESTNET,
38
42
  [xchainClient.Network.Stagenet]: ARB_ONLINE_PROVIDER_MAINNET,
39
43
  };
40
- // =====Explorers=====
44
+ // Define explorer providers for mainnet and testnet
41
45
  const ARB_MAINNET_EXPLORER = new xchainClient.ExplorerProvider('https://arbiscan.io/', 'https://arbiscan.io/address/%%ADDRESS%%', 'https://arbiscan.io/tx/%%TX_ID%%');
42
46
  const ARB_TESTNET_EXPLORER = new xchainClient.ExplorerProvider('https://goerli.arbiscan.io', 'https://goerli.arbiscan.io/address/%%ADDRESS%%', 'https://goerli.arbiscan.io/tx/%%TX_ID%%');
47
+ // Define explorer providers for different networks
43
48
  const arbExplorerProviders = {
44
49
  [xchainClient.Network.Mainnet]: ARB_MAINNET_EXPLORER,
45
50
  [xchainClient.Network.Testnet]: ARB_TESTNET_EXPLORER,
46
51
  [xchainClient.Network.Stagenet]: ARB_MAINNET_EXPLORER,
47
52
  };
48
- // =====Explorers=====
53
+ // Define root derivation paths for different networks
49
54
  const ethRootDerivationPaths = {
50
55
  [xchainClient.Network.Mainnet]: `m/44'/60'/0'/0/`,
51
56
  [xchainClient.Network.Testnet]: `m/44'/60'/0'/0/`,
52
57
  [xchainClient.Network.Stagenet]: `m/44'/60'/0'/0/`,
53
58
  };
59
+ // Define default parameters for the Arbitrum client
54
60
  const defaults = {
55
61
  [xchainClient.Network.Mainnet]: {
56
62
  approveGasLimit: ethers.BigNumber.from(200000),
@@ -71,9 +77,10 @@ const defaults = {
71
77
  gasPrice: ethers.BigNumber.from(0.2 * Math.pow(10, 9)),
72
78
  },
73
79
  };
80
+ // Define the default parameters for the Arbitrum client
74
81
  const defaultArbParams = {
75
82
  chain: ARBChain,
76
- gasAsset: AssetARB,
83
+ gasAsset: AssetAETH,
77
84
  gasAssetDecimals: ARB_GAS_ASSET_DECIMAL,
78
85
  defaults,
79
86
  providers: ethersJSProviders,
@@ -87,8 +94,12 @@ const defaultArbParams = {
87
94
  rootDerivationPaths: ethRootDerivationPaths,
88
95
  };
89
96
 
97
+ // Import the Client class from '@xchainjs/xchain-evm' module
98
+ // Create a class called Client that extends the XchainEvmClient class
90
99
  class Client extends xchainEvm.Client {
100
+ // Constructor function that takes an optional config parameter, defaulting to defaultArbParams
91
101
  constructor(config = defaultArbParams) {
102
+ // Call the constructor of the parent class (XchainEvmClient) with the provided config
92
103
  super(config);
93
104
  }
94
105
  }
@@ -96,6 +107,7 @@ class Client extends xchainEvm.Client {
96
107
  exports.ARBChain = ARBChain;
97
108
  exports.ARB_DECIMAL = ARB_DECIMAL;
98
109
  exports.ARB_GAS_ASSET_DECIMAL = ARB_GAS_ASSET_DECIMAL;
110
+ exports.AssetAETH = AssetAETH;
99
111
  exports.AssetARB = AssetARB;
100
112
  exports.Client = Client;
101
113
  exports.LOWER_FEE_BOUND = LOWER_FEE_BOUND;
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../src/const.ts","../src/client.ts"],"sourcesContent":["import { ExplorerProvider, Network } from '@xchainjs/xchain-client'\nimport { EVMClientParams } from '@xchainjs/xchain-evm'\nimport { EtherscanProvider } from '@xchainjs/xchain-evm-providers'\nimport { Asset } from '@xchainjs/xchain-util'\nimport { BigNumber, ethers } from 'ethers'\n\nexport const ARB_DECIMAL = 18\n\nexport const LOWER_FEE_BOUND = 100_000_000\nexport const UPPER_FEE_BOUND = 1_000_000_000\n\nexport const ARB_GAS_ASSET_DECIMAL = 18\n\n/**\n * Chain identifier for ARB.\n *\n */\nexport const ARBChain = 'ARB' as const\n\n/**\n * Base \"chain\" asset of Arbitrum chain.\n *\n */\nexport const AssetARB: Asset = { chain: ARBChain, symbol: 'ARB', ticker: 'ETH', synth: false }\n\n// =====Ethers providers=====\nconst ARBITRUM_MAINNET_ETHERS_PROVIDER = new ethers.providers.JsonRpcProvider('https://arb1.arbitrum.io/rpc')\nconst ARBITRUM_TESTNET_ETHERS_PROVIDER = new ethers.providers.JsonRpcProvider('https://goerli-rollup.arbitrum.io/rpc')\n\nconst ethersJSProviders = {\n [Network.Mainnet]: ARBITRUM_MAINNET_ETHERS_PROVIDER,\n [Network.Testnet]: ARBITRUM_TESTNET_ETHERS_PROVIDER,\n [Network.Stagenet]: ARBITRUM_MAINNET_ETHERS_PROVIDER,\n}\n\n// =====ONLINE providers=====\n\nconst ARB_ONLINE_PROVIDER_MAINNET = new EtherscanProvider(\n ARBITRUM_MAINNET_ETHERS_PROVIDER,\n 'https://api.arbiscan.io',\n process.env.ARBISCAN_API_KEY || '',\n ARBChain,\n AssetARB,\n 18,\n)\n\nconst ARB_ONLINE_PROVIDER_TESTNET = new EtherscanProvider(\n ARBITRUM_TESTNET_ETHERS_PROVIDER,\n 'https://api-goerli.arbiscan.io',\n process.env.ARBISCAN_API_KEY || '',\n ARBChain,\n AssetARB,\n 18,\n)\n\nconst arbProviders = {\n [Network.Mainnet]: ARB_ONLINE_PROVIDER_MAINNET,\n [Network.Testnet]: ARB_ONLINE_PROVIDER_TESTNET,\n [Network.Stagenet]: ARB_ONLINE_PROVIDER_MAINNET,\n}\n\n// =====Explorers=====\nconst ARB_MAINNET_EXPLORER = new ExplorerProvider(\n 'https://arbiscan.io/',\n 'https://arbiscan.io/address/%%ADDRESS%%',\n 'https://arbiscan.io/tx/%%TX_ID%%',\n)\nconst ARB_TESTNET_EXPLORER = new ExplorerProvider(\n 'https://goerli.arbiscan.io',\n 'https://goerli.arbiscan.io/address/%%ADDRESS%%',\n 'https://goerli.arbiscan.io/tx/%%TX_ID%%',\n)\nconst arbExplorerProviders = {\n [Network.Mainnet]: ARB_MAINNET_EXPLORER,\n [Network.Testnet]: ARB_TESTNET_EXPLORER,\n [Network.Stagenet]: ARB_MAINNET_EXPLORER,\n}\n// =====Explorers=====\n\nconst ethRootDerivationPaths = {\n [Network.Mainnet]: `m/44'/60'/0'/0/`,\n [Network.Testnet]: `m/44'/60'/0'/0/`,\n [Network.Stagenet]: `m/44'/60'/0'/0/`,\n}\n\nconst defaults = {\n [Network.Mainnet]: {\n approveGasLimit: BigNumber.from(200000),\n transferGasAssetGasLimit: BigNumber.from(23000),\n transferTokenGasLimit: BigNumber.from(100000),\n gasPrice: BigNumber.from(0.2 * 10 ** 9),\n },\n [Network.Testnet]: {\n approveGasLimit: BigNumber.from(200000),\n transferGasAssetGasLimit: BigNumber.from(23000),\n transferTokenGasLimit: BigNumber.from(100000),\n gasPrice: BigNumber.from(0.2 * 10 ** 9),\n },\n [Network.Stagenet]: {\n approveGasLimit: BigNumber.from(200000),\n transferGasAssetGasLimit: BigNumber.from(23000),\n transferTokenGasLimit: BigNumber.from(100000),\n gasPrice: BigNumber.from(0.2 * 10 ** 9),\n },\n}\n\nexport const defaultArbParams: EVMClientParams = {\n chain: ARBChain,\n gasAsset: AssetARB,\n gasAssetDecimals: ARB_GAS_ASSET_DECIMAL,\n defaults,\n providers: ethersJSProviders,\n explorerProviders: arbExplorerProviders,\n dataProviders: [arbProviders],\n network: Network.Mainnet,\n feeBounds: {\n lower: LOWER_FEE_BOUND,\n upper: UPPER_FEE_BOUND,\n },\n rootDerivationPaths: ethRootDerivationPaths,\n}\n","import { Client as XchainEvmClient } from '@xchainjs/xchain-evm'\n\nimport { defaultArbParams } from './const'\n\nexport class Client extends XchainEvmClient {\n constructor(config = defaultArbParams) {\n super(config)\n }\n}\n"],"names":["ethers","Network","EtherscanProvider","ExplorerProvider","BigNumber","XchainEvmClient"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../src/const.ts","../src/client.ts"],"sourcesContent":["// Import necessary modules and classes from external packages and files\nimport { ExplorerProvider, Network } from '@xchainjs/xchain-client'\nimport { EVMClientParams } from '@xchainjs/xchain-evm'\nimport { EtherscanProvider } from '@xchainjs/xchain-evm-providers'\nimport { Asset } from '@xchainjs/xchain-util'\nimport { BigNumber, ethers } from 'ethers'\n\n// Define constants related to Arbitrum\nexport const ARB_DECIMAL = 18\nexport const LOWER_FEE_BOUND = 100_000_000\nexport const UPPER_FEE_BOUND = 1_000_000_000\nexport const ARB_GAS_ASSET_DECIMAL = 18\nexport const ARBChain = 'ARB' as const\n// ARB ETH Gas asset\nexport const AssetAETH: Asset = { chain: ARBChain, symbol: 'ETH', ticker: 'ETH', synth: false }\n\n// ARB\nexport const AssetARB: Asset = {\n chain: ARBChain,\n symbol: 'ARB-0x912ce59144191c1204e64559fe8253a0e49e6548',\n ticker: 'ARB',\n synth: false,\n}\n\n// Define JSON-RPC providers for mainnet and testnet\nconst ARBITRUM_MAINNET_ETHERS_PROVIDER = new ethers.providers.JsonRpcProvider('https://arb1.arbitrum.io/rpc')\nconst ARBITRUM_TESTNET_ETHERS_PROVIDER = new ethers.providers.JsonRpcProvider('https://goerli-rollup.arbitrum.io/rpc')\n\n// Define ethers providers for different networks\nconst ethersJSProviders = {\n [Network.Mainnet]: ARBITRUM_MAINNET_ETHERS_PROVIDER,\n [Network.Testnet]: ARBITRUM_TESTNET_ETHERS_PROVIDER,\n [Network.Stagenet]: ARBITRUM_MAINNET_ETHERS_PROVIDER,\n}\n\n// Define online providers (Etherscan) for mainnet and testnet\nconst ARB_ONLINE_PROVIDER_MAINNET = new EtherscanProvider(\n ARBITRUM_MAINNET_ETHERS_PROVIDER,\n 'https://api.arbiscan.io',\n process.env.ARBISCAN_API_KEY || '',\n ARBChain,\n AssetAETH,\n 18,\n)\n\nconst ARB_ONLINE_PROVIDER_TESTNET = new EtherscanProvider(\n ARBITRUM_TESTNET_ETHERS_PROVIDER,\n 'https://api-goerli.arbiscan.io',\n process.env.ARBISCAN_API_KEY || '',\n ARBChain,\n AssetAETH,\n 18,\n)\n\n// Define providers for different networks\nconst arbProviders = {\n [Network.Mainnet]: ARB_ONLINE_PROVIDER_MAINNET,\n [Network.Testnet]: ARB_ONLINE_PROVIDER_TESTNET,\n [Network.Stagenet]: ARB_ONLINE_PROVIDER_MAINNET,\n}\n\n// Define explorer providers for mainnet and testnet\nconst ARB_MAINNET_EXPLORER = new ExplorerProvider(\n 'https://arbiscan.io/',\n 'https://arbiscan.io/address/%%ADDRESS%%',\n 'https://arbiscan.io/tx/%%TX_ID%%',\n)\n\nconst ARB_TESTNET_EXPLORER = new ExplorerProvider(\n 'https://goerli.arbiscan.io',\n 'https://goerli.arbiscan.io/address/%%ADDRESS%%',\n 'https://goerli.arbiscan.io/tx/%%TX_ID%%',\n)\n\n// Define explorer providers for different networks\nconst arbExplorerProviders = {\n [Network.Mainnet]: ARB_MAINNET_EXPLORER,\n [Network.Testnet]: ARB_TESTNET_EXPLORER,\n [Network.Stagenet]: ARB_MAINNET_EXPLORER,\n}\n\n// Define root derivation paths for different networks\nconst ethRootDerivationPaths = {\n [Network.Mainnet]: `m/44'/60'/0'/0/`,\n [Network.Testnet]: `m/44'/60'/0'/0/`,\n [Network.Stagenet]: `m/44'/60'/0'/0/`,\n}\n\n// Define default parameters for the Arbitrum client\nconst defaults = {\n [Network.Mainnet]: {\n approveGasLimit: BigNumber.from(200000),\n transferGasAssetGasLimit: BigNumber.from(23000),\n transferTokenGasLimit: BigNumber.from(100000),\n gasPrice: BigNumber.from(0.2 * 10 ** 9),\n },\n [Network.Testnet]: {\n approveGasLimit: BigNumber.from(200000),\n transferGasAssetGasLimit: BigNumber.from(23000),\n transferTokenGasLimit: BigNumber.from(100000),\n gasPrice: BigNumber.from(0.2 * 10 ** 9),\n },\n [Network.Stagenet]: {\n approveGasLimit: BigNumber.from(200000),\n transferGasAssetGasLimit: BigNumber.from(23000),\n transferTokenGasLimit: BigNumber.from(100000),\n gasPrice: BigNumber.from(0.2 * 10 ** 9),\n },\n}\n\n// Define the default parameters for the Arbitrum client\nexport const defaultArbParams: EVMClientParams = {\n chain: ARBChain,\n gasAsset: AssetAETH,\n gasAssetDecimals: ARB_GAS_ASSET_DECIMAL,\n defaults,\n providers: ethersJSProviders,\n explorerProviders: arbExplorerProviders,\n dataProviders: [arbProviders],\n network: Network.Mainnet,\n feeBounds: {\n lower: LOWER_FEE_BOUND,\n upper: UPPER_FEE_BOUND,\n },\n rootDerivationPaths: ethRootDerivationPaths,\n}\n","// Import the Client class from '@xchainjs/xchain-evm' module\nimport { Client as XchainEvmClient } from '@xchainjs/xchain-evm'\n\n// Import defaultArbParams constant from './const' file\nimport { defaultArbParams } from './const'\n\n// Create a class called Client that extends the XchainEvmClient class\nexport class Client extends XchainEvmClient {\n // Constructor function that takes an optional config parameter, defaulting to defaultArbParams\n constructor(config = defaultArbParams) {\n // Call the constructor of the parent class (XchainEvmClient) with the provided config\n super(config)\n }\n}\n"],"names":["ethers","Network","EtherscanProvider","ExplorerProvider","BigNumber","XchainEvmClient"],"mappings":";;;;;;;;;AAAA;AAOA;AACO,MAAM,WAAW,GAAG,GAAE;AACtB,MAAM,eAAe,GAAG,UAAW;AACnC,MAAM,eAAe,GAAG,WAAa;AACrC,MAAM,qBAAqB,GAAG,GAAE;AAChC,MAAM,QAAQ,GAAG,MAAc;AACtC;MACa,SAAS,GAAU,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,GAAE;AAE/F;AACa,MAAA,QAAQ,GAAU;AAC7B,IAAA,KAAK,EAAE,QAAQ;AACf,IAAA,MAAM,EAAE,gDAAgD;AACxD,IAAA,MAAM,EAAE,KAAK;AACb,IAAA,KAAK,EAAE,KAAK;EACb;AAED;AACA,MAAM,gCAAgC,GAAG,IAAIA,aAAM,CAAC,SAAS,CAAC,eAAe,CAAC,8BAA8B,CAAC,CAAA;AAC7G,MAAM,gCAAgC,GAAG,IAAIA,aAAM,CAAC,SAAS,CAAC,eAAe,CAAC,uCAAuC,CAAC,CAAA;AAEtH;AACA,MAAM,iBAAiB,GAAG;AACxB,IAAA,CAACC,oBAAO,CAAC,OAAO,GAAG,gCAAgC;AACnD,IAAA,CAACA,oBAAO,CAAC,OAAO,GAAG,gCAAgC;AACnD,IAAA,CAACA,oBAAO,CAAC,QAAQ,GAAG,gCAAgC;CACrD,CAAA;AAED;AACA,MAAM,2BAA2B,GAAG,IAAIC,oCAAiB,CACvD,gCAAgC,EAChC,yBAAyB,EACzB,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,EAAE,EAClC,QAAQ,EACR,SAAS,EACT,EAAE,CACH,CAAA;AAED,MAAM,2BAA2B,GAAG,IAAIA,oCAAiB,CACvD,gCAAgC,EAChC,gCAAgC,EAChC,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,EAAE,EAClC,QAAQ,EACR,SAAS,EACT,EAAE,CACH,CAAA;AAED;AACA,MAAM,YAAY,GAAG;AACnB,IAAA,CAACD,oBAAO,CAAC,OAAO,GAAG,2BAA2B;AAC9C,IAAA,CAACA,oBAAO,CAAC,OAAO,GAAG,2BAA2B;AAC9C,IAAA,CAACA,oBAAO,CAAC,QAAQ,GAAG,2BAA2B;CAChD,CAAA;AAED;AACA,MAAM,oBAAoB,GAAG,IAAIE,6BAAgB,CAC/C,sBAAsB,EACtB,yCAAyC,EACzC,kCAAkC,CACnC,CAAA;AAED,MAAM,oBAAoB,GAAG,IAAIA,6BAAgB,CAC/C,4BAA4B,EAC5B,gDAAgD,EAChD,yCAAyC,CAC1C,CAAA;AAED;AACA,MAAM,oBAAoB,GAAG;AAC3B,IAAA,CAACF,oBAAO,CAAC,OAAO,GAAG,oBAAoB;AACvC,IAAA,CAACA,oBAAO,CAAC,OAAO,GAAG,oBAAoB;AACvC,IAAA,CAACA,oBAAO,CAAC,QAAQ,GAAG,oBAAoB;CACzC,CAAA;AAED;AACA,MAAM,sBAAsB,GAAG;AAC7B,IAAA,CAACA,oBAAO,CAAC,OAAO,GAAG,CAAiB,eAAA,CAAA;AACpC,IAAA,CAACA,oBAAO,CAAC,OAAO,GAAG,CAAiB,eAAA,CAAA;AACpC,IAAA,CAACA,oBAAO,CAAC,QAAQ,GAAG,CAAiB,eAAA,CAAA;CACtC,CAAA;AAED;AACA,MAAM,QAAQ,GAAG;AACf,IAAA,CAACA,oBAAO,CAAC,OAAO,GAAG;AACjB,QAAA,eAAe,EAAEG,gBAAS,CAAC,IAAI,CAAC,MAAM,CAAC;AACvC,QAAA,wBAAwB,EAAEA,gBAAS,CAAC,IAAI,CAAC,KAAK,CAAC;AAC/C,QAAA,qBAAqB,EAAEA,gBAAS,CAAC,IAAI,CAAC,MAAM,CAAC;AAC7C,QAAA,QAAQ,EAAEA,gBAAS,CAAC,IAAI,CAAC,GAAG,GAAG,IAAA,CAAA,GAAA,CAAA,EAAE,EAAI,CAAC,CAAA,CAAC;AACxC,KAAA;AACD,IAAA,CAACH,oBAAO,CAAC,OAAO,GAAG;AACjB,QAAA,eAAe,EAAEG,gBAAS,CAAC,IAAI,CAAC,MAAM,CAAC;AACvC,QAAA,wBAAwB,EAAEA,gBAAS,CAAC,IAAI,CAAC,KAAK,CAAC;AAC/C,QAAA,qBAAqB,EAAEA,gBAAS,CAAC,IAAI,CAAC,MAAM,CAAC;AAC7C,QAAA,QAAQ,EAAEA,gBAAS,CAAC,IAAI,CAAC,GAAG,GAAG,IAAA,CAAA,GAAA,CAAA,EAAE,EAAI,CAAC,CAAA,CAAC;AACxC,KAAA;AACD,IAAA,CAACH,oBAAO,CAAC,QAAQ,GAAG;AAClB,QAAA,eAAe,EAAEG,gBAAS,CAAC,IAAI,CAAC,MAAM,CAAC;AACvC,QAAA,wBAAwB,EAAEA,gBAAS,CAAC,IAAI,CAAC,KAAK,CAAC;AAC/C,QAAA,qBAAqB,EAAEA,gBAAS,CAAC,IAAI,CAAC,MAAM,CAAC;AAC7C,QAAA,QAAQ,EAAEA,gBAAS,CAAC,IAAI,CAAC,GAAG,GAAG,IAAA,CAAA,GAAA,CAAA,EAAE,EAAI,CAAC,CAAA,CAAC;AACxC,KAAA;CACF,CAAA;AAED;AACa,MAAA,gBAAgB,GAAoB;AAC/C,IAAA,KAAK,EAAE,QAAQ;AACf,IAAA,QAAQ,EAAE,SAAS;AACnB,IAAA,gBAAgB,EAAE,qBAAqB;IACvC,QAAQ;AACR,IAAA,SAAS,EAAE,iBAAiB;AAC5B,IAAA,iBAAiB,EAAE,oBAAoB;IACvC,aAAa,EAAE,CAAC,YAAY,CAAC;IAC7B,OAAO,EAAEH,oBAAO,CAAC,OAAO;AACxB,IAAA,SAAS,EAAE;AACT,QAAA,KAAK,EAAE,eAAe;AACtB,QAAA,KAAK,EAAE,eAAe;AACvB,KAAA;AACD,IAAA,mBAAmB,EAAE,sBAAsB;;;AC5H7C;AAMA;AACM,MAAO,MAAO,SAAQI,gBAAe,CAAA;;IAEzC,WAAY,CAAA,MAAM,GAAG,gBAAgB,EAAA;;QAEnC,KAAK,CAAC,MAAM,CAAC,CAAA;KACd;AACF;;;;;;;;;;;;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@xchainjs/xchain-arbitrum",
3
- "version": "0.1.5",
3
+ "version": "0.1.7",
4
4
  "description": "Arbitrum EVM client for XChainJS",
5
5
  "keywords": [
6
6
  "XChain",
@@ -24,31 +24,30 @@
24
24
  "url": "git@github.com:xchainjs/xchainjs-lib.git"
25
25
  },
26
26
  "scripts": {
27
- "clean": "rimraf lib/**",
27
+ "clean": "rm -rf .turbo && rm -rf lib",
28
28
  "build": "yarn clean && rollup -c",
29
29
  "test": "jest --passWithNoTests",
30
30
  "e2e": "jest --config jest.config.e2e.js",
31
- "lint": "eslint \"{src,__tests__, __mocks__}/**/*.ts\" --fix --max-warnings 0",
32
- "prepublishOnly": "yarn build"
31
+ "lint": "eslint \"{src,__tests__, __mocks__}/**/*.ts\" --fix --max-warnings 0"
33
32
  },
34
33
  "publishConfig": {
35
34
  "access": "public"
36
35
  },
37
36
  "devDependencies": {
38
- "@xchainjs/xchain-client": "^0.16.1",
37
+ "@xchainjs/xchain-client": "^0.16.2",
39
38
  "@xchainjs/xchain-crypto": "^0.3.1",
40
- "@xchainjs/xchain-evm": "^0.4.4",
41
- "@xchainjs/xchain-util": "^0.13.1",
42
- "@xchainjs/xchain-evm-providers": "^0.1.6",
39
+ "@xchainjs/xchain-evm": "^0.4.5",
40
+ "@xchainjs/xchain-util": "^0.13.3",
41
+ "@xchainjs/xchain-evm-providers": "^0.1.7",
43
42
  "axios": "^1.3.6",
44
43
  "ethers": "^5.7.2"
45
44
  },
46
45
  "peerDependencies": {
47
- "@xchainjs/xchain-client": "^0.16.1",
46
+ "@xchainjs/xchain-client": "^0.16.2",
48
47
  "@xchainjs/xchain-crypto": "^0.3.1",
49
- "@xchainjs/xchain-evm": "^0.4.4",
50
- "@xchainjs/xchain-util": "^0.13.1",
51
- "@xchainjs/xchain-evm-providers": "^0.1.6",
48
+ "@xchainjs/xchain-evm": "^0.4.5",
49
+ "@xchainjs/xchain-util": "^0.13.3",
50
+ "@xchainjs/xchain-evm-providers": "^0.1.7",
52
51
  "axios": "^1.3.6",
53
52
  "ethers": "^5.7.2"
54
53
  }