@xchainjs/xchain-avax 0.4.6 → 0.5.1

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,4 @@
1
+ import { ClientKeystore as EVMClientKeystore } from '@xchainjs/xchain-evm';
2
+ export declare class ClientKeystore extends EVMClientKeystore {
3
+ constructor(config?: import("@xchainjs/xchain-evm").EVMClientParams);
4
+ }
@@ -0,0 +1,20 @@
1
+ /**
2
+ * Import statements
3
+ * Importing the `Client` class from the '@xchainjs/xchain-evm' module
4
+ * Importing the `defaultEthParams` constant from the './const' file
5
+ */
6
+ import { ClientLedger as EVMClientLedger, EVMClientParams } from '@xchainjs/xchain-evm';
7
+ /**
8
+ * Class definition for the Avalanche EVM client.
9
+ * Extends the `XchainEvmClient` class.
10
+ */
11
+ export declare class ClientLedger extends EVMClientLedger {
12
+ /**
13
+ * Constructor for the Avalanche EVM client.
14
+ * @param {Object} config - Configuration object for the client (optional).
15
+ * Defaults to `defaultEthParams` if not provided.
16
+ */
17
+ constructor(config: EVMClientParams & {
18
+ transport: any;
19
+ });
20
+ }
package/lib/index.d.ts CHANGED
@@ -1,2 +1,5 @@
1
- export * from './client';
1
+ import { ClientKeystore } from './ClientKeystore';
2
+ export { ClientKeystore, ClientKeystore as Client } from './ClientKeystore';
3
+ export { ClientLedger } from './ClientLedger';
2
4
  export * from './const';
5
+ export default ClientKeystore;
package/lib/index.esm.js CHANGED
@@ -1,4 +1,4 @@
1
- import { Client as Client$1 } from '@xchainjs/xchain-evm';
1
+ import { ClientKeystore as ClientKeystore$1, ClientLedger as ClientLedger$1 } from '@xchainjs/xchain-evm';
2
2
  import { Network, ExplorerProvider } from '@xchainjs/xchain-client';
3
3
  import { EtherscanProvider, RoutescanProvider } from '@xchainjs/xchain-evm-providers';
4
4
  import { ethers, BigNumber } from 'ethers';
@@ -92,14 +92,36 @@ const defaultAvaxParams = {
92
92
  };
93
93
 
94
94
  // Import the Client class from '@xchainjs/xchain-evm' module
95
- // Define and export the Client class as the default export
96
- class Client extends Client$1 {
95
+ // Define and export the Client class as the default exportClientKeystore
96
+ class ClientKeystore extends ClientKeystore$1 {
97
97
  // Constructor function that takes an optional config parameter, defaulting to defaultAvaxParams
98
98
  constructor(config = defaultAvaxParams) {
99
- // Call the constructor of the parent class (XchainEvmClient) with the provided config
100
99
  super(config);
101
100
  }
102
101
  }
103
102
 
104
- export { AVAXChain, AVAX_DECIMAL, AVAX_GAS_ASSET_DECIMAL, AssetAVAX, Client, LOWER_FEE_BOUND, UPPER_FEE_BOUND, defaultAvaxParams };
103
+ /**
104
+ * Import statements
105
+ * Importing the `Client` class from the '@xchainjs/xchain-evm' module
106
+ * Importing the `defaultEthParams` constant from the './const' file
107
+ */
108
+ /**
109
+ * Class definition for the Avalanche EVM client.
110
+ * Extends the `XchainEvmClient` class.
111
+ */
112
+ class ClientLedger extends ClientLedger$1 {
113
+ /**
114
+ * Constructor for the Avalanche EVM client.
115
+ * @param {Object} config - Configuration object for the client (optional).
116
+ * Defaults to `defaultEthParams` if not provided.
117
+ */
118
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
119
+ constructor(config) {
120
+ super(config); // Call the constructor of the parent class with the provided config or the default parameters
121
+ }
122
+ }
123
+
124
+ // Export all elements from the 'client' module
125
+
126
+ export { AVAXChain, AVAX_DECIMAL, AVAX_GAS_ASSET_DECIMAL, AssetAVAX, ClientKeystore as Client, ClientKeystore, ClientLedger, LOWER_FEE_BOUND, UPPER_FEE_BOUND, ClientKeystore as default, defaultAvaxParams };
105
127
  //# sourceMappingURL=index.esm.js.map
@@ -1 +1 @@
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, RoutescanProvider } from '@xchainjs/xchain-evm-providers'\nimport { Asset } from '@xchainjs/xchain-util'\nimport { BigNumber, ethers } from 'ethers'\n\n// Define constants related to Avalanche\nexport const AVAX_DECIMAL = 18\nexport const LOWER_FEE_BOUND = 2_000_000_000\nexport const UPPER_FEE_BOUND = 1_000_000_000_000\nexport const AVAX_GAS_ASSET_DECIMAL = 18\nexport const AVAXChain = 'AVAX' as const\nexport const AssetAVAX: Asset = { chain: AVAXChain, symbol: 'AVAX', ticker: 'AVAX', synth: false }\n\n// Define JSON-RPC providers for mainnet and testnet\nconst AVALANCHE_MAINNET_ETHERS_PROVIDER = new ethers.providers.JsonRpcProvider('https://rpc.ankr.com/avalanche')\nconst AVALANCHE_TESTNET_ETHERS_PROVIDER = new ethers.providers.JsonRpcProvider('https://rpc.ankr.com/avalanche_fuji')\n\n// Define ethers providers for different networks\nconst ethersJSProviders = {\n [Network.Mainnet]: AVALANCHE_MAINNET_ETHERS_PROVIDER,\n [Network.Testnet]: AVALANCHE_TESTNET_ETHERS_PROVIDER,\n [Network.Stagenet]: AVALANCHE_MAINNET_ETHERS_PROVIDER,\n}\n\n// Define online providers (Etherscan) for mainnet and testnet\nconst AVAX_ONLINE_PROVIDER_TESTNET = new EtherscanProvider(\n AVALANCHE_TESTNET_ETHERS_PROVIDER,\n 'https://api-testnet.snowtrace.io',\n process.env.SNOWTRACE_API_KEY || '',\n AVAXChain,\n AssetAVAX,\n 18,\n)\nconst AVAX_ONLINE_PROVIDER_MAINNET = new EtherscanProvider(\n AVALANCHE_MAINNET_ETHERS_PROVIDER,\n 'https://api.snowtrace.io',\n process.env.SNOWTRACE_API_KEY || '',\n AVAXChain,\n AssetAVAX,\n 18,\n)\n\n// Define providers for different networks\nconst avaxProviders = {\n [Network.Mainnet]: AVAX_ONLINE_PROVIDER_MAINNET,\n [Network.Testnet]: AVAX_ONLINE_PROVIDER_TESTNET,\n [Network.Stagenet]: AVAX_ONLINE_PROVIDER_MAINNET,\n}\n\n// Define Routescan providers for mainnet and testnet\nconst ROUTESCAN_PROVIDER_MAINNET = new RoutescanProvider(\n AVALANCHE_MAINNET_ETHERS_PROVIDER,\n 'https://api.routescan.io',\n 43114,\n AssetAVAX,\n AVAX_DECIMAL,\n)\n\nconst ROUTESCAN_PROVIDER_TESTNET = new RoutescanProvider(\n AVALANCHE_TESTNET_ETHERS_PROVIDER,\n 'https://api.routescan.io',\n 43113,\n AssetAVAX,\n AVAX_DECIMAL,\n true,\n)\n\n// Define Routescan providers for different networks\nconst routescanProviders = {\n [Network.Mainnet]: ROUTESCAN_PROVIDER_MAINNET,\n [Network.Testnet]: ROUTESCAN_PROVIDER_TESTNET,\n [Network.Stagenet]: ROUTESCAN_PROVIDER_MAINNET,\n}\n\n// Define explorer providers for mainnet and testnet\nconst AVAX_MAINNET_EXPLORER = new ExplorerProvider(\n 'https://snowtrace.dev/',\n 'https://snowtrace.dev/address/%%ADDRESS%%',\n 'https://snowtrace.dev/tx/%%TX_ID%%',\n)\nconst AVAX_TESTNET_EXPLORER = new ExplorerProvider(\n 'https://testnet.snowtrace.dev/',\n 'https://testnet.snowtrace.dev/address/%%ADDRESS%%',\n 'https://testnet.snowtrace.dev/tx/%%TX_ID%%',\n)\n\n// Define explorer providers for different networks\nconst avaxExplorerProviders = {\n [Network.Mainnet]: AVAX_MAINNET_EXPLORER,\n [Network.Testnet]: AVAX_TESTNET_EXPLORER,\n [Network.Stagenet]: AVAX_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 Avalanche 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(30 * 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(30 * 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(30 * 10 ** 9),\n },\n}\n\n// Define the default parameters for the Avalanche client\nexport const defaultAvaxParams: EVMClientParams = {\n chain: AVAXChain,\n gasAsset: AssetAVAX,\n gasAssetDecimals: AVAX_GAS_ASSET_DECIMAL,\n defaults,\n providers: ethersJSProviders,\n explorerProviders: avaxExplorerProviders,\n dataProviders: [avaxProviders, routescanProviders],\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 defaultAvaxParams constant from './const' file\nimport { defaultAvaxParams } from './const'\n\n// Define and export the Client class as the default export\nexport default class Client extends XchainEvmClient {\n // Constructor function that takes an optional config parameter, defaulting to defaultAvaxParams\n constructor(config = defaultAvaxParams) {\n // Call the constructor of the parent class (XchainEvmClient) with the provided config\n super(config)\n }\n}\n\n// Export the Client class explicitly (not as a default export)\nexport { Client }\n"],"names":["XchainEvmClient"],"mappings":"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"}
1
+ {"version":3,"file":"index.esm.js","sources":["../src/const.ts","../src/ClientKeystore.ts","../src/ClientLedger.ts","../src/index.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, RoutescanProvider } from '@xchainjs/xchain-evm-providers'\nimport { Asset } from '@xchainjs/xchain-util'\nimport { BigNumber, ethers } from 'ethers'\n\n// Define constants related to Avalanche\nexport const AVAX_DECIMAL = 18\nexport const LOWER_FEE_BOUND = 2_000_000_000\nexport const UPPER_FEE_BOUND = 1_000_000_000_000\nexport const AVAX_GAS_ASSET_DECIMAL = 18\nexport const AVAXChain = 'AVAX' as const\nexport const AssetAVAX: Asset = { chain: AVAXChain, symbol: 'AVAX', ticker: 'AVAX', synth: false }\n\n// Define JSON-RPC providers for mainnet and testnet\nconst AVALANCHE_MAINNET_ETHERS_PROVIDER = new ethers.providers.JsonRpcProvider('https://rpc.ankr.com/avalanche')\nconst AVALANCHE_TESTNET_ETHERS_PROVIDER = new ethers.providers.JsonRpcProvider('https://rpc.ankr.com/avalanche_fuji')\n\n// Define ethers providers for different networks\nconst ethersJSProviders = {\n [Network.Mainnet]: AVALANCHE_MAINNET_ETHERS_PROVIDER,\n [Network.Testnet]: AVALANCHE_TESTNET_ETHERS_PROVIDER,\n [Network.Stagenet]: AVALANCHE_MAINNET_ETHERS_PROVIDER,\n}\n\n// Define online providers (Etherscan) for mainnet and testnet\nconst AVAX_ONLINE_PROVIDER_TESTNET = new EtherscanProvider(\n AVALANCHE_TESTNET_ETHERS_PROVIDER,\n 'https://api-testnet.snowtrace.io',\n process.env.SNOWTRACE_API_KEY || '',\n AVAXChain,\n AssetAVAX,\n 18,\n)\nconst AVAX_ONLINE_PROVIDER_MAINNET = new EtherscanProvider(\n AVALANCHE_MAINNET_ETHERS_PROVIDER,\n 'https://api.snowtrace.io',\n process.env.SNOWTRACE_API_KEY || '',\n AVAXChain,\n AssetAVAX,\n 18,\n)\n\n// Define providers for different networks\nconst avaxProviders = {\n [Network.Mainnet]: AVAX_ONLINE_PROVIDER_MAINNET,\n [Network.Testnet]: AVAX_ONLINE_PROVIDER_TESTNET,\n [Network.Stagenet]: AVAX_ONLINE_PROVIDER_MAINNET,\n}\n\n// Define Routescan providers for mainnet and testnet\nconst ROUTESCAN_PROVIDER_MAINNET = new RoutescanProvider(\n AVALANCHE_MAINNET_ETHERS_PROVIDER,\n 'https://api.routescan.io',\n 43114,\n AssetAVAX,\n AVAX_DECIMAL,\n)\n\nconst ROUTESCAN_PROVIDER_TESTNET = new RoutescanProvider(\n AVALANCHE_TESTNET_ETHERS_PROVIDER,\n 'https://api.routescan.io',\n 43113,\n AssetAVAX,\n AVAX_DECIMAL,\n true,\n)\n\n// Define Routescan providers for different networks\nconst routescanProviders = {\n [Network.Mainnet]: ROUTESCAN_PROVIDER_MAINNET,\n [Network.Testnet]: ROUTESCAN_PROVIDER_TESTNET,\n [Network.Stagenet]: ROUTESCAN_PROVIDER_MAINNET,\n}\n\n// Define explorer providers for mainnet and testnet\nconst AVAX_MAINNET_EXPLORER = new ExplorerProvider(\n 'https://snowtrace.dev/',\n 'https://snowtrace.dev/address/%%ADDRESS%%',\n 'https://snowtrace.dev/tx/%%TX_ID%%',\n)\nconst AVAX_TESTNET_EXPLORER = new ExplorerProvider(\n 'https://testnet.snowtrace.dev/',\n 'https://testnet.snowtrace.dev/address/%%ADDRESS%%',\n 'https://testnet.snowtrace.dev/tx/%%TX_ID%%',\n)\n\n// Define explorer providers for different networks\nconst avaxExplorerProviders = {\n [Network.Mainnet]: AVAX_MAINNET_EXPLORER,\n [Network.Testnet]: AVAX_TESTNET_EXPLORER,\n [Network.Stagenet]: AVAX_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 Avalanche 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(30 * 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(30 * 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(30 * 10 ** 9),\n },\n}\n\n// Define the default parameters for the Avalanche client\nexport const defaultAvaxParams: EVMClientParams = {\n chain: AVAXChain,\n gasAsset: AssetAVAX,\n gasAssetDecimals: AVAX_GAS_ASSET_DECIMAL,\n defaults,\n providers: ethersJSProviders,\n explorerProviders: avaxExplorerProviders,\n dataProviders: [avaxProviders, routescanProviders],\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 { ClientKeystore as EVMClientKeystore } from '@xchainjs/xchain-evm'\n\n// Import defaultAvaxParams constant from './const' file\nimport { defaultAvaxParams } from './const'\n\n// Define and export the Client class as the default exportClientKeystore\nexport class ClientKeystore extends EVMClientKeystore {\n // Constructor function that takes an optional config parameter, defaulting to defaultAvaxParams\n constructor(config = defaultAvaxParams) {\n super(config)\n }\n}\n","/**\n * Import statements\n * Importing the `Client` class from the '@xchainjs/xchain-evm' module\n * Importing the `defaultEthParams` constant from the './const' file\n */\nimport { ClientLedger as EVMClientLedger, EVMClientParams } from '@xchainjs/xchain-evm'\n\n/**\n * Class definition for the Avalanche EVM client.\n * Extends the `XchainEvmClient` class.\n */\nexport class ClientLedger extends EVMClientLedger {\n /**\n * Constructor for the Avalanche EVM client.\n * @param {Object} config - Configuration object for the client (optional).\n * Defaults to `defaultEthParams` if not provided.\n */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n constructor(config: EVMClientParams & { transport: any }) {\n super(config) // Call the constructor of the parent class with the provided config or the default parameters\n }\n}\n","// Export all elements from the 'client' module\nimport { ClientKeystore } from './ClientKeystore'\n\nexport { ClientKeystore, ClientKeystore as Client } from './ClientKeystore'\nexport { ClientLedger } from './ClientLedger'\n\n// Export all elements from the 'const' module\nexport * from './const'\n\nexport default ClientKeystore\n"],"names":["EVMClientKeystore","EVMClientLedger"],"mappings":"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"}
package/lib/index.js CHANGED
@@ -96,21 +96,46 @@ const defaultAvaxParams = {
96
96
  };
97
97
 
98
98
  // Import the Client class from '@xchainjs/xchain-evm' module
99
- // Define and export the Client class as the default export
100
- class Client extends xchainEvm.Client {
99
+ // Define and export the Client class as the default exportClientKeystore
100
+ class ClientKeystore extends xchainEvm.ClientKeystore {
101
101
  // Constructor function that takes an optional config parameter, defaulting to defaultAvaxParams
102
102
  constructor(config = defaultAvaxParams) {
103
- // Call the constructor of the parent class (XchainEvmClient) with the provided config
104
103
  super(config);
105
104
  }
106
105
  }
107
106
 
107
+ /**
108
+ * Import statements
109
+ * Importing the `Client` class from the '@xchainjs/xchain-evm' module
110
+ * Importing the `defaultEthParams` constant from the './const' file
111
+ */
112
+ /**
113
+ * Class definition for the Avalanche EVM client.
114
+ * Extends the `XchainEvmClient` class.
115
+ */
116
+ class ClientLedger extends xchainEvm.ClientLedger {
117
+ /**
118
+ * Constructor for the Avalanche EVM client.
119
+ * @param {Object} config - Configuration object for the client (optional).
120
+ * Defaults to `defaultEthParams` if not provided.
121
+ */
122
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
123
+ constructor(config) {
124
+ super(config); // Call the constructor of the parent class with the provided config or the default parameters
125
+ }
126
+ }
127
+
128
+ // Export all elements from the 'client' module
129
+
108
130
  exports.AVAXChain = AVAXChain;
109
131
  exports.AVAX_DECIMAL = AVAX_DECIMAL;
110
132
  exports.AVAX_GAS_ASSET_DECIMAL = AVAX_GAS_ASSET_DECIMAL;
111
133
  exports.AssetAVAX = AssetAVAX;
112
- exports.Client = Client;
134
+ exports.Client = ClientKeystore;
135
+ exports.ClientKeystore = ClientKeystore;
136
+ exports.ClientLedger = ClientLedger;
113
137
  exports.LOWER_FEE_BOUND = LOWER_FEE_BOUND;
114
138
  exports.UPPER_FEE_BOUND = UPPER_FEE_BOUND;
139
+ exports["default"] = ClientKeystore;
115
140
  exports.defaultAvaxParams = defaultAvaxParams;
116
141
  //# sourceMappingURL=index.js.map
package/lib/index.js.map CHANGED
@@ -1 +1 @@
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, RoutescanProvider } from '@xchainjs/xchain-evm-providers'\nimport { Asset } from '@xchainjs/xchain-util'\nimport { BigNumber, ethers } from 'ethers'\n\n// Define constants related to Avalanche\nexport const AVAX_DECIMAL = 18\nexport const LOWER_FEE_BOUND = 2_000_000_000\nexport const UPPER_FEE_BOUND = 1_000_000_000_000\nexport const AVAX_GAS_ASSET_DECIMAL = 18\nexport const AVAXChain = 'AVAX' as const\nexport const AssetAVAX: Asset = { chain: AVAXChain, symbol: 'AVAX', ticker: 'AVAX', synth: false }\n\n// Define JSON-RPC providers for mainnet and testnet\nconst AVALANCHE_MAINNET_ETHERS_PROVIDER = new ethers.providers.JsonRpcProvider('https://rpc.ankr.com/avalanche')\nconst AVALANCHE_TESTNET_ETHERS_PROVIDER = new ethers.providers.JsonRpcProvider('https://rpc.ankr.com/avalanche_fuji')\n\n// Define ethers providers for different networks\nconst ethersJSProviders = {\n [Network.Mainnet]: AVALANCHE_MAINNET_ETHERS_PROVIDER,\n [Network.Testnet]: AVALANCHE_TESTNET_ETHERS_PROVIDER,\n [Network.Stagenet]: AVALANCHE_MAINNET_ETHERS_PROVIDER,\n}\n\n// Define online providers (Etherscan) for mainnet and testnet\nconst AVAX_ONLINE_PROVIDER_TESTNET = new EtherscanProvider(\n AVALANCHE_TESTNET_ETHERS_PROVIDER,\n 'https://api-testnet.snowtrace.io',\n process.env.SNOWTRACE_API_KEY || '',\n AVAXChain,\n AssetAVAX,\n 18,\n)\nconst AVAX_ONLINE_PROVIDER_MAINNET = new EtherscanProvider(\n AVALANCHE_MAINNET_ETHERS_PROVIDER,\n 'https://api.snowtrace.io',\n process.env.SNOWTRACE_API_KEY || '',\n AVAXChain,\n AssetAVAX,\n 18,\n)\n\n// Define providers for different networks\nconst avaxProviders = {\n [Network.Mainnet]: AVAX_ONLINE_PROVIDER_MAINNET,\n [Network.Testnet]: AVAX_ONLINE_PROVIDER_TESTNET,\n [Network.Stagenet]: AVAX_ONLINE_PROVIDER_MAINNET,\n}\n\n// Define Routescan providers for mainnet and testnet\nconst ROUTESCAN_PROVIDER_MAINNET = new RoutescanProvider(\n AVALANCHE_MAINNET_ETHERS_PROVIDER,\n 'https://api.routescan.io',\n 43114,\n AssetAVAX,\n AVAX_DECIMAL,\n)\n\nconst ROUTESCAN_PROVIDER_TESTNET = new RoutescanProvider(\n AVALANCHE_TESTNET_ETHERS_PROVIDER,\n 'https://api.routescan.io',\n 43113,\n AssetAVAX,\n AVAX_DECIMAL,\n true,\n)\n\n// Define Routescan providers for different networks\nconst routescanProviders = {\n [Network.Mainnet]: ROUTESCAN_PROVIDER_MAINNET,\n [Network.Testnet]: ROUTESCAN_PROVIDER_TESTNET,\n [Network.Stagenet]: ROUTESCAN_PROVIDER_MAINNET,\n}\n\n// Define explorer providers for mainnet and testnet\nconst AVAX_MAINNET_EXPLORER = new ExplorerProvider(\n 'https://snowtrace.dev/',\n 'https://snowtrace.dev/address/%%ADDRESS%%',\n 'https://snowtrace.dev/tx/%%TX_ID%%',\n)\nconst AVAX_TESTNET_EXPLORER = new ExplorerProvider(\n 'https://testnet.snowtrace.dev/',\n 'https://testnet.snowtrace.dev/address/%%ADDRESS%%',\n 'https://testnet.snowtrace.dev/tx/%%TX_ID%%',\n)\n\n// Define explorer providers for different networks\nconst avaxExplorerProviders = {\n [Network.Mainnet]: AVAX_MAINNET_EXPLORER,\n [Network.Testnet]: AVAX_TESTNET_EXPLORER,\n [Network.Stagenet]: AVAX_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 Avalanche 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(30 * 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(30 * 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(30 * 10 ** 9),\n },\n}\n\n// Define the default parameters for the Avalanche client\nexport const defaultAvaxParams: EVMClientParams = {\n chain: AVAXChain,\n gasAsset: AssetAVAX,\n gasAssetDecimals: AVAX_GAS_ASSET_DECIMAL,\n defaults,\n providers: ethersJSProviders,\n explorerProviders: avaxExplorerProviders,\n dataProviders: [avaxProviders, routescanProviders],\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 defaultAvaxParams constant from './const' file\nimport { defaultAvaxParams } from './const'\n\n// Define and export the Client class as the default export\nexport default class Client extends XchainEvmClient {\n // Constructor function that takes an optional config parameter, defaulting to defaultAvaxParams\n constructor(config = defaultAvaxParams) {\n // Call the constructor of the parent class (XchainEvmClient) with the provided config\n super(config)\n }\n}\n\n// Export the Client class explicitly (not as a default export)\nexport { Client }\n"],"names":["ethers","Network","EtherscanProvider","RoutescanProvider","ExplorerProvider","BigNumber","XchainEvmClient"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../src/const.ts","../src/ClientKeystore.ts","../src/ClientLedger.ts","../src/index.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, RoutescanProvider } from '@xchainjs/xchain-evm-providers'\nimport { Asset } from '@xchainjs/xchain-util'\nimport { BigNumber, ethers } from 'ethers'\n\n// Define constants related to Avalanche\nexport const AVAX_DECIMAL = 18\nexport const LOWER_FEE_BOUND = 2_000_000_000\nexport const UPPER_FEE_BOUND = 1_000_000_000_000\nexport const AVAX_GAS_ASSET_DECIMAL = 18\nexport const AVAXChain = 'AVAX' as const\nexport const AssetAVAX: Asset = { chain: AVAXChain, symbol: 'AVAX', ticker: 'AVAX', synth: false }\n\n// Define JSON-RPC providers for mainnet and testnet\nconst AVALANCHE_MAINNET_ETHERS_PROVIDER = new ethers.providers.JsonRpcProvider('https://rpc.ankr.com/avalanche')\nconst AVALANCHE_TESTNET_ETHERS_PROVIDER = new ethers.providers.JsonRpcProvider('https://rpc.ankr.com/avalanche_fuji')\n\n// Define ethers providers for different networks\nconst ethersJSProviders = {\n [Network.Mainnet]: AVALANCHE_MAINNET_ETHERS_PROVIDER,\n [Network.Testnet]: AVALANCHE_TESTNET_ETHERS_PROVIDER,\n [Network.Stagenet]: AVALANCHE_MAINNET_ETHERS_PROVIDER,\n}\n\n// Define online providers (Etherscan) for mainnet and testnet\nconst AVAX_ONLINE_PROVIDER_TESTNET = new EtherscanProvider(\n AVALANCHE_TESTNET_ETHERS_PROVIDER,\n 'https://api-testnet.snowtrace.io',\n process.env.SNOWTRACE_API_KEY || '',\n AVAXChain,\n AssetAVAX,\n 18,\n)\nconst AVAX_ONLINE_PROVIDER_MAINNET = new EtherscanProvider(\n AVALANCHE_MAINNET_ETHERS_PROVIDER,\n 'https://api.snowtrace.io',\n process.env.SNOWTRACE_API_KEY || '',\n AVAXChain,\n AssetAVAX,\n 18,\n)\n\n// Define providers for different networks\nconst avaxProviders = {\n [Network.Mainnet]: AVAX_ONLINE_PROVIDER_MAINNET,\n [Network.Testnet]: AVAX_ONLINE_PROVIDER_TESTNET,\n [Network.Stagenet]: AVAX_ONLINE_PROVIDER_MAINNET,\n}\n\n// Define Routescan providers for mainnet and testnet\nconst ROUTESCAN_PROVIDER_MAINNET = new RoutescanProvider(\n AVALANCHE_MAINNET_ETHERS_PROVIDER,\n 'https://api.routescan.io',\n 43114,\n AssetAVAX,\n AVAX_DECIMAL,\n)\n\nconst ROUTESCAN_PROVIDER_TESTNET = new RoutescanProvider(\n AVALANCHE_TESTNET_ETHERS_PROVIDER,\n 'https://api.routescan.io',\n 43113,\n AssetAVAX,\n AVAX_DECIMAL,\n true,\n)\n\n// Define Routescan providers for different networks\nconst routescanProviders = {\n [Network.Mainnet]: ROUTESCAN_PROVIDER_MAINNET,\n [Network.Testnet]: ROUTESCAN_PROVIDER_TESTNET,\n [Network.Stagenet]: ROUTESCAN_PROVIDER_MAINNET,\n}\n\n// Define explorer providers for mainnet and testnet\nconst AVAX_MAINNET_EXPLORER = new ExplorerProvider(\n 'https://snowtrace.dev/',\n 'https://snowtrace.dev/address/%%ADDRESS%%',\n 'https://snowtrace.dev/tx/%%TX_ID%%',\n)\nconst AVAX_TESTNET_EXPLORER = new ExplorerProvider(\n 'https://testnet.snowtrace.dev/',\n 'https://testnet.snowtrace.dev/address/%%ADDRESS%%',\n 'https://testnet.snowtrace.dev/tx/%%TX_ID%%',\n)\n\n// Define explorer providers for different networks\nconst avaxExplorerProviders = {\n [Network.Mainnet]: AVAX_MAINNET_EXPLORER,\n [Network.Testnet]: AVAX_TESTNET_EXPLORER,\n [Network.Stagenet]: AVAX_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 Avalanche 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(30 * 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(30 * 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(30 * 10 ** 9),\n },\n}\n\n// Define the default parameters for the Avalanche client\nexport const defaultAvaxParams: EVMClientParams = {\n chain: AVAXChain,\n gasAsset: AssetAVAX,\n gasAssetDecimals: AVAX_GAS_ASSET_DECIMAL,\n defaults,\n providers: ethersJSProviders,\n explorerProviders: avaxExplorerProviders,\n dataProviders: [avaxProviders, routescanProviders],\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 { ClientKeystore as EVMClientKeystore } from '@xchainjs/xchain-evm'\n\n// Import defaultAvaxParams constant from './const' file\nimport { defaultAvaxParams } from './const'\n\n// Define and export the Client class as the default exportClientKeystore\nexport class ClientKeystore extends EVMClientKeystore {\n // Constructor function that takes an optional config parameter, defaulting to defaultAvaxParams\n constructor(config = defaultAvaxParams) {\n super(config)\n }\n}\n","/**\n * Import statements\n * Importing the `Client` class from the '@xchainjs/xchain-evm' module\n * Importing the `defaultEthParams` constant from the './const' file\n */\nimport { ClientLedger as EVMClientLedger, EVMClientParams } from '@xchainjs/xchain-evm'\n\n/**\n * Class definition for the Avalanche EVM client.\n * Extends the `XchainEvmClient` class.\n */\nexport class ClientLedger extends EVMClientLedger {\n /**\n * Constructor for the Avalanche EVM client.\n * @param {Object} config - Configuration object for the client (optional).\n * Defaults to `defaultEthParams` if not provided.\n */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n constructor(config: EVMClientParams & { transport: any }) {\n super(config) // Call the constructor of the parent class with the provided config or the default parameters\n }\n}\n","// Export all elements from the 'client' module\nimport { ClientKeystore } from './ClientKeystore'\n\nexport { ClientKeystore, ClientKeystore as Client } from './ClientKeystore'\nexport { ClientLedger } from './ClientLedger'\n\n// Export all elements from the 'const' module\nexport * from './const'\n\nexport default ClientKeystore\n"],"names":["ethers","Network","EtherscanProvider","RoutescanProvider","ExplorerProvider","BigNumber","EVMClientKeystore","EVMClientLedger"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@xchainjs/xchain-avax",
3
- "version": "0.4.6",
3
+ "version": "0.5.1",
4
4
  "description": "Avax EVM client for XChainJS",
5
5
  "keywords": [
6
6
  "XChain",
@@ -24,32 +24,20 @@
24
24
  "url": "git@github.com:xchainjs/xchainjs-lib.git"
25
25
  },
26
26
  "scripts": {
27
- "clean": "rimraf --glob ./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
- "devDependencies": {
38
- "@xchainjs/xchain-client": "^0.16.2",
39
- "@xchainjs/xchain-crypto": "^0.3.1",
40
- "@xchainjs/xchain-evm": "^0.4.5",
41
- "@xchainjs/xchain-util": "^0.13.3",
42
- "@xchainjs/xchain-evm-providers": "^0.1.7",
43
- "axios": "^1.3.6",
44
- "ethers": "^5.7.2"
45
- },
46
- "peerDependencies": {
47
- "@xchainjs/xchain-client": "^0.16.2",
48
- "@xchainjs/xchain-crypto": "^0.3.1",
49
- "@xchainjs/xchain-evm": "^0.4.5",
50
- "@xchainjs/xchain-util": "^0.13.3",
51
- "@xchainjs/xchain-evm-providers": "^0.1.7",
52
- "axios": "^1.3.6",
53
- "ethers": "^5.7.2"
36
+ "dependencies": {
37
+ "@xchainjs/xchain-client": "*",
38
+ "@xchainjs/xchain-evm": "*",
39
+ "@xchainjs/xchain-evm-providers": "*",
40
+ "@xchainjs/xchain-util": "*",
41
+ "ethers": "5.7.2"
54
42
  }
55
- }
43
+ }
package/lib/client.d.ts DELETED
@@ -1,5 +0,0 @@
1
- import { Client as XchainEvmClient } from '@xchainjs/xchain-evm';
2
- export default class Client extends XchainEvmClient {
3
- constructor(config?: import("@xchainjs/xchain-evm").EVMClientParams);
4
- }
5
- export { Client };