@railgun-community/shared-models 4.1.7 → 4.1.9
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.
|
@@ -40,6 +40,7 @@ export declare type Network = {
|
|
|
40
40
|
defaultEVMGasType: EVMGasType;
|
|
41
41
|
shouldQuickSync: boolean;
|
|
42
42
|
deprecated?: boolean;
|
|
43
|
+
enableKoinlyTaxExport: boolean;
|
|
43
44
|
};
|
|
44
45
|
export declare enum RailgunProxyContract {
|
|
45
46
|
Ethereum = "0xfa7093cdd9ee6932b4eb2c9e1cde7ce00b1fa4b9",
|
|
@@ -77,7 +77,7 @@ var BaseTokenWrappedAddress;
|
|
|
77
77
|
exports.NETWORK_CONFIG = (_a = {},
|
|
78
78
|
_a[NetworkName.Railgun] = {
|
|
79
79
|
chain: {
|
|
80
|
-
type:
|
|
80
|
+
type: response_types_1.ChainType.EVM,
|
|
81
81
|
id: -1
|
|
82
82
|
},
|
|
83
83
|
name: NetworkName.Railgun,
|
|
@@ -89,7 +89,8 @@ exports.NETWORK_CONFIG = (_a = {},
|
|
|
89
89
|
relayAdaptContract: RelayAdaptContract.Ethereum,
|
|
90
90
|
deploymentBlock: RailgunProxyDeploymentBlock.Ethereum,
|
|
91
91
|
defaultEVMGasType: response_types_1.EVMGasType.Type2,
|
|
92
|
-
shouldQuickSync: false
|
|
92
|
+
shouldQuickSync: false,
|
|
93
|
+
enableKoinlyTaxExport: true
|
|
93
94
|
},
|
|
94
95
|
_a[NetworkName.Ethereum] = {
|
|
95
96
|
chain: {
|
|
@@ -110,7 +111,8 @@ exports.NETWORK_CONFIG = (_a = {},
|
|
|
110
111
|
relayAdaptContract: RelayAdaptContract.Ethereum,
|
|
111
112
|
deploymentBlock: RailgunProxyDeploymentBlock.Ethereum,
|
|
112
113
|
defaultEVMGasType: response_types_1.EVMGasType.Type2,
|
|
113
|
-
shouldQuickSync: true
|
|
114
|
+
shouldQuickSync: true,
|
|
115
|
+
enableKoinlyTaxExport: true
|
|
114
116
|
},
|
|
115
117
|
_a[NetworkName.BNBChain] = {
|
|
116
118
|
chain: {
|
|
@@ -131,7 +133,8 @@ exports.NETWORK_CONFIG = (_a = {},
|
|
|
131
133
|
relayAdaptContract: RelayAdaptContract.BNBChain,
|
|
132
134
|
deploymentBlock: RailgunProxyDeploymentBlock.BNBChain,
|
|
133
135
|
defaultEVMGasType: response_types_1.EVMGasType.Type0,
|
|
134
|
-
shouldQuickSync: true
|
|
136
|
+
shouldQuickSync: true,
|
|
137
|
+
enableKoinlyTaxExport: true
|
|
135
138
|
},
|
|
136
139
|
_a[NetworkName.Polygon] = {
|
|
137
140
|
chain: {
|
|
@@ -152,7 +155,8 @@ exports.NETWORK_CONFIG = (_a = {},
|
|
|
152
155
|
relayAdaptContract: RelayAdaptContract.PolygonPOS,
|
|
153
156
|
deploymentBlock: RailgunProxyDeploymentBlock.PolygonPOS,
|
|
154
157
|
defaultEVMGasType: response_types_1.EVMGasType.Type2,
|
|
155
|
-
shouldQuickSync: true
|
|
158
|
+
shouldQuickSync: true,
|
|
159
|
+
enableKoinlyTaxExport: true
|
|
156
160
|
},
|
|
157
161
|
_a[NetworkName.Arbitrum] = {
|
|
158
162
|
chain: {
|
|
@@ -173,7 +177,8 @@ exports.NETWORK_CONFIG = (_a = {},
|
|
|
173
177
|
relayAdaptContract: RelayAdaptContract.Arbitrum,
|
|
174
178
|
deploymentBlock: RailgunProxyDeploymentBlock.Arbitrum,
|
|
175
179
|
defaultEVMGasType: response_types_1.EVMGasType.Type2,
|
|
176
|
-
shouldQuickSync: true
|
|
180
|
+
shouldQuickSync: true,
|
|
181
|
+
enableKoinlyTaxExport: true
|
|
177
182
|
},
|
|
178
183
|
// TEST NETS
|
|
179
184
|
_a[NetworkName.EthereumRopsten_DEPRECATED] = {
|
|
@@ -198,7 +203,8 @@ exports.NETWORK_CONFIG = (_a = {},
|
|
|
198
203
|
isDevOnlyNetwork: true,
|
|
199
204
|
isTestnet: true,
|
|
200
205
|
defaultEVMGasType: response_types_1.EVMGasType.Type2,
|
|
201
|
-
shouldQuickSync: false
|
|
206
|
+
shouldQuickSync: false,
|
|
207
|
+
enableKoinlyTaxExport: false
|
|
202
208
|
},
|
|
203
209
|
_a[NetworkName.EthereumGoerli] = {
|
|
204
210
|
chain: {
|
|
@@ -221,7 +227,8 @@ exports.NETWORK_CONFIG = (_a = {},
|
|
|
221
227
|
isDevOnlyNetwork: true,
|
|
222
228
|
isTestnet: true,
|
|
223
229
|
defaultEVMGasType: response_types_1.EVMGasType.Type2,
|
|
224
|
-
shouldQuickSync: true
|
|
230
|
+
shouldQuickSync: true,
|
|
231
|
+
enableKoinlyTaxExport: false
|
|
225
232
|
},
|
|
226
233
|
_a[NetworkName.PolygonMumbai] = {
|
|
227
234
|
chain: {
|
|
@@ -244,7 +251,8 @@ exports.NETWORK_CONFIG = (_a = {},
|
|
|
244
251
|
isDevOnlyNetwork: true,
|
|
245
252
|
isTestnet: true,
|
|
246
253
|
defaultEVMGasType: response_types_1.EVMGasType.Type2,
|
|
247
|
-
shouldQuickSync: true
|
|
254
|
+
shouldQuickSync: true,
|
|
255
|
+
enableKoinlyTaxExport: false
|
|
248
256
|
},
|
|
249
257
|
_a[NetworkName.ArbitrumGoerli] = {
|
|
250
258
|
chain: {
|
|
@@ -267,7 +275,8 @@ exports.NETWORK_CONFIG = (_a = {},
|
|
|
267
275
|
isDevOnlyNetwork: true,
|
|
268
276
|
isTestnet: true,
|
|
269
277
|
defaultEVMGasType: response_types_1.EVMGasType.Type2,
|
|
270
|
-
shouldQuickSync: true
|
|
278
|
+
shouldQuickSync: true,
|
|
279
|
+
enableKoinlyTaxExport: false
|
|
271
280
|
},
|
|
272
281
|
_a[NetworkName.Hardhat] = {
|
|
273
282
|
chain: {
|
|
@@ -290,7 +299,8 @@ exports.NETWORK_CONFIG = (_a = {},
|
|
|
290
299
|
isDevOnlyNetwork: true,
|
|
291
300
|
isTestnet: true,
|
|
292
301
|
defaultEVMGasType: response_types_1.EVMGasType.Type2,
|
|
293
|
-
shouldQuickSync: false
|
|
302
|
+
shouldQuickSync: false,
|
|
303
|
+
enableKoinlyTaxExport: false
|
|
294
304
|
},
|
|
295
305
|
_a);
|
|
296
306
|
//# sourceMappingURL=network-config.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"network-config.js","sourceRoot":"","sources":["../../src/models/network-config.ts"],"names":[],"mappings":"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","sourcesContent":["import { Chain, ChainType, EVMGasType } from './response-types';\n\n/**\n * DO NOT CHANGE THESE ENUM STRINGS.\n */\nexport enum NetworkName {\n // Mainnets\n Railgun = 'Railgun',\n Ethereum = 'Ethereum',\n BNBChain = 'BNB_Chain',\n Polygon = 'Polygon',\n Arbitrum = 'Arbitrum',\n\n // Testnets\n EthereumRopsten_DEPRECATED = 'Ethereum_Ropsten',\n EthereumGoerli = 'Ethereum_Goerli',\n PolygonMumbai = 'Polygon_Mumbai',\n ArbitrumGoerli = 'Arbitrum_Goerli',\n\n // Dev only\n Hardhat = 'Hardhat',\n}\n\nexport type FeesSerialized = {\n shield: string;\n unshield: string;\n nft: string;\n};\n\ntype BaseToken = {\n symbol: string;\n wrappedSymbol: string;\n wrappedAddress: BaseTokenWrappedAddress;\n decimals: number;\n};\n\nexport type Network = {\n chain: Chain;\n name: NetworkName;\n publicName: string;\n shortPublicName: string;\n coingeckoId: string;\n baseToken: BaseToken;\n proxyContract: RailgunProxyContract;\n relayAdaptContract: RelayAdaptContract;\n deploymentBlock: RailgunProxyDeploymentBlock;\n isDevOnlyNetwork?: boolean;\n isTestnet?: boolean;\n defaultEVMGasType: EVMGasType;\n shouldQuickSync: boolean;\n deprecated?: boolean;\n};\n\nexport enum RailgunProxyContract {\n Ethereum = '0xfa7093cdd9ee6932b4eb2c9e1cde7ce00b1fa4b9',\n BNBChain = '0x590162bf4b50f6576a459b75309ee21d92178a10',\n PolygonPOS = '0x19b620929f97b7b990801496c3b361ca5def8c71',\n Arbitrum = '0xFA7093CDD9EE6932B4eb2c9e1cde7CE00B1FA4b9',\n\n // Test nets\n EthereumRopsten = '',\n EthereumGoerli = '0xe8bEa99BB438C2f3D533604D33258d74d5eE4824',\n PolygonMumbai = '0x3ee8306321d992483BDC9c69B8F622Ba3FFF05B6',\n ArbitrumGoerli = '0xA0603e598F9Ac2fc7475a3fA08D0794066615D9a',\n Hardhat = '0x610178dA211FEF7D417bC0e6FeD39F05609AD788',\n}\n\nexport enum RelayAdaptContract {\n Ethereum = '0x4025ee6512DBbda97049Bcf5AA5D38C54aF6bE8a',\n BNBChain = '0x741936fb83DDf324636D3048b3E6bC800B8D9e12',\n PolygonPOS = '0xc7FfA542736321A3dd69246d73987566a5486968',\n Arbitrum = '0x5aD95C537b002770a39dea342c4bb2b68B1497aA',\n\n // Test nets\n EthereumRopsten = '',\n EthereumGoerli = '0x14a57CA7C5c1AD54fB6c642f428d973fcD696ED4',\n PolygonMumbai = '0x17D36875D723Cf0dA250d404Ef4cA0aABE105837',\n ArbitrumGoerli = '0x3eAf99B5EDc79D833AA8B6d18F0a8dd041e13eF6',\n Hardhat = '0x0355B7B8cb128fA5692729Ab3AAa199C1753f726',\n}\n\nexport enum RailgunProxyDeploymentBlock {\n Ethereum = 14737691,\n BNBChain = 17633701,\n PolygonPOS = 28083766,\n Arbitrum = 56109834,\n\n // Test nets\n EthereumRopsten = 12226000,\n EthereumGoerli = 7795991,\n PolygonMumbai = 28697343,\n ArbitrumGoerli = 2611949,\n Hardhat = 0,\n}\n\nexport enum BaseTokenWrappedAddress {\n EthereumWETH = '0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2', // WETH\n BinanceWBNB = '0xbb4cdb9cbd36b01bd1cbaebf2de08d9173bc095c', // WBNB\n PolygonWMATIC = '0x0d500b1d8e8ef31e21c99d1db9a6444d3adf1270', // WMATIC\n ArbitrumWETH = '0x82af49447d8a07e3bd95bd0d56f35241523fbab1', // (Arbitrum) WETH\n\n // Test nets\n EthereumRopstenWETH = '0xc778417e063141139fce010982780140aa0cd5ab', // (Ropsten) WETH\n EthereumGoerliWETH = '0xb4fbf271143f4fbf7b91a5ded31805e42b2208d6', // (Goerli) WETH\n PolygonMumbaiWMATIC = '0x9c3C9283D3e44854697Cd22D3Faa240Cfb032889', // (Mumbai) WMATIC\n ArbitrumGoerliWETH = '0xe39Ab88f8A4777030A534146A9Ca3B52bd5D43A3', // (Arbitrum Goerli) WETH\n HardhatWETH = '0x09635F643e140090A9A8Dcd712eD6285858ceBef', // (Hardhat) WETH\n}\n\nexport const NETWORK_CONFIG: { [name in NetworkName]: Network } = {\n [NetworkName.Railgun]: {\n chain: {\n type: -1,\n id: -1,\n },\n name: NetworkName.Railgun,\n publicName: 'RAILGUN',\n shortPublicName: '',\n coingeckoId: '',\n baseToken: {} as BaseToken,\n proxyContract: RailgunProxyContract.Ethereum,\n relayAdaptContract: RelayAdaptContract.Ethereum,\n deploymentBlock: RailgunProxyDeploymentBlock.Ethereum,\n defaultEVMGasType: EVMGasType.Type2,\n shouldQuickSync: false,\n },\n [NetworkName.Ethereum]: {\n chain: {\n type: ChainType.EVM,\n id: 1,\n },\n name: NetworkName.Ethereum,\n publicName: 'Ethereum',\n shortPublicName: 'Ethereum',\n coingeckoId: 'ethereum',\n baseToken: {\n symbol: 'ETH',\n wrappedSymbol: 'WETH',\n wrappedAddress: BaseTokenWrappedAddress.EthereumWETH,\n decimals: 18,\n },\n proxyContract: RailgunProxyContract.Ethereum,\n relayAdaptContract: RelayAdaptContract.Ethereum,\n deploymentBlock: RailgunProxyDeploymentBlock.Ethereum,\n defaultEVMGasType: EVMGasType.Type2,\n shouldQuickSync: true,\n },\n [NetworkName.BNBChain]: {\n chain: {\n type: ChainType.EVM,\n id: 56,\n },\n name: NetworkName.BNBChain,\n publicName: 'BNB Smart Chain',\n shortPublicName: 'BSC',\n coingeckoId: 'binance-smart-chain',\n baseToken: {\n symbol: 'BNB',\n wrappedSymbol: 'WBNB',\n wrappedAddress: BaseTokenWrappedAddress.BinanceWBNB,\n decimals: 18,\n },\n proxyContract: RailgunProxyContract.BNBChain,\n relayAdaptContract: RelayAdaptContract.BNBChain,\n deploymentBlock: RailgunProxyDeploymentBlock.BNBChain,\n defaultEVMGasType: EVMGasType.Type0,\n shouldQuickSync: true,\n },\n [NetworkName.Polygon]: {\n chain: {\n type: ChainType.EVM,\n id: 137,\n },\n name: NetworkName.Polygon,\n publicName: 'Polygon',\n shortPublicName: 'Polygon',\n coingeckoId: 'polygon-pos',\n baseToken: {\n symbol: 'MATIC',\n wrappedSymbol: 'WMATIC',\n wrappedAddress: BaseTokenWrappedAddress.PolygonWMATIC,\n decimals: 18,\n },\n proxyContract: RailgunProxyContract.PolygonPOS,\n relayAdaptContract: RelayAdaptContract.PolygonPOS,\n deploymentBlock: RailgunProxyDeploymentBlock.PolygonPOS,\n defaultEVMGasType: EVMGasType.Type2,\n shouldQuickSync: true,\n },\n [NetworkName.Arbitrum]: {\n chain: {\n type: ChainType.EVM,\n id: 42161,\n },\n name: NetworkName.Arbitrum,\n publicName: 'Arbitrum',\n shortPublicName: 'Arbitrum',\n coingeckoId: 'arbitrum-one',\n baseToken: {\n symbol: 'ETH',\n wrappedSymbol: 'WETH',\n wrappedAddress: BaseTokenWrappedAddress.ArbitrumWETH,\n decimals: 18,\n },\n proxyContract: RailgunProxyContract.Arbitrum,\n relayAdaptContract: RelayAdaptContract.Arbitrum,\n deploymentBlock: RailgunProxyDeploymentBlock.Arbitrum,\n defaultEVMGasType: EVMGasType.Type2,\n shouldQuickSync: true,\n },\n\n // TEST NETS\n [NetworkName.EthereumRopsten_DEPRECATED]: {\n deprecated: true,\n chain: {\n type: ChainType.EVM,\n id: 3,\n },\n name: NetworkName.EthereumRopsten_DEPRECATED,\n publicName: 'Ropsten Testnet',\n shortPublicName: 'Ropsten',\n coingeckoId: 'ethereum',\n baseToken: {\n symbol: 'ETH',\n wrappedSymbol: 'WETH',\n wrappedAddress: BaseTokenWrappedAddress.EthereumRopstenWETH,\n decimals: 18,\n },\n proxyContract: RailgunProxyContract.EthereumRopsten,\n relayAdaptContract: RelayAdaptContract.EthereumRopsten,\n deploymentBlock: RailgunProxyDeploymentBlock.EthereumRopsten,\n isDevOnlyNetwork: true,\n isTestnet: true,\n defaultEVMGasType: EVMGasType.Type2,\n shouldQuickSync: false,\n },\n [NetworkName.EthereumGoerli]: {\n chain: {\n type: ChainType.EVM,\n id: 5,\n },\n name: NetworkName.EthereumGoerli,\n publicName: 'Görli Testnet',\n shortPublicName: 'Görli',\n coingeckoId: 'ethereum',\n baseToken: {\n symbol: 'ETH',\n wrappedSymbol: 'WETH',\n wrappedAddress: BaseTokenWrappedAddress.EthereumGoerliWETH,\n decimals: 18,\n },\n proxyContract: RailgunProxyContract.EthereumGoerli,\n relayAdaptContract: RelayAdaptContract.EthereumGoerli,\n deploymentBlock: RailgunProxyDeploymentBlock.EthereumGoerli,\n isDevOnlyNetwork: true,\n isTestnet: true,\n defaultEVMGasType: EVMGasType.Type2,\n shouldQuickSync: true,\n },\n [NetworkName.PolygonMumbai]: {\n chain: {\n type: ChainType.EVM,\n id: 80001,\n },\n name: NetworkName.PolygonMumbai,\n publicName: 'Mumbai Testnet',\n shortPublicName: 'Mumbai',\n coingeckoId: 'polygon-pos',\n baseToken: {\n symbol: 'MATIC',\n wrappedSymbol: 'WMATIC',\n wrappedAddress: BaseTokenWrappedAddress.PolygonMumbaiWMATIC,\n decimals: 18,\n },\n proxyContract: RailgunProxyContract.PolygonMumbai,\n relayAdaptContract: RelayAdaptContract.PolygonMumbai,\n deploymentBlock: RailgunProxyDeploymentBlock.PolygonMumbai,\n isDevOnlyNetwork: true,\n isTestnet: true,\n defaultEVMGasType: EVMGasType.Type2,\n shouldQuickSync: true,\n },\n [NetworkName.ArbitrumGoerli]: {\n chain: {\n type: ChainType.EVM,\n id: 421613,\n },\n name: NetworkName.ArbitrumGoerli,\n publicName: 'Arbitrum Görli Testnet',\n shortPublicName: 'Arbitrum Görli',\n coingeckoId: 'arbitrum-one',\n baseToken: {\n symbol: 'ETH',\n wrappedSymbol: 'WETH',\n wrappedAddress: BaseTokenWrappedAddress.ArbitrumGoerliWETH,\n decimals: 18,\n },\n proxyContract: RailgunProxyContract.ArbitrumGoerli,\n relayAdaptContract: RelayAdaptContract.ArbitrumGoerli,\n deploymentBlock: RailgunProxyDeploymentBlock.ArbitrumGoerli,\n isDevOnlyNetwork: true,\n isTestnet: true,\n defaultEVMGasType: EVMGasType.Type2,\n shouldQuickSync: true,\n },\n [NetworkName.Hardhat]: {\n chain: {\n type: ChainType.EVM,\n id: 31337,\n },\n name: NetworkName.Hardhat,\n publicName: 'Hardhat Testnet',\n shortPublicName: 'Hardhat',\n coingeckoId: '',\n baseToken: {\n symbol: 'ETH',\n wrappedSymbol: 'WETH',\n wrappedAddress: BaseTokenWrappedAddress.HardhatWETH,\n decimals: 18,\n },\n proxyContract: RailgunProxyContract.Hardhat,\n relayAdaptContract: RelayAdaptContract.Hardhat,\n deploymentBlock: RailgunProxyDeploymentBlock.Hardhat,\n isDevOnlyNetwork: true,\n isTestnet: true,\n defaultEVMGasType: EVMGasType.Type2,\n shouldQuickSync: false,\n },\n};\n"]}
|
|
1
|
+
{"version":3,"file":"network-config.js","sourceRoot":"","sources":["../../src/models/network-config.ts"],"names":[],"mappings":"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","sourcesContent":["import { Chain, ChainType, EVMGasType } from './response-types';\n\n/**\n * DO NOT CHANGE THESE ENUM STRINGS.\n */\nexport enum NetworkName {\n // Mainnets\n Railgun = 'Railgun',\n Ethereum = 'Ethereum',\n BNBChain = 'BNB_Chain',\n Polygon = 'Polygon',\n Arbitrum = 'Arbitrum',\n\n // Testnets\n EthereumRopsten_DEPRECATED = 'Ethereum_Ropsten',\n EthereumGoerli = 'Ethereum_Goerli',\n PolygonMumbai = 'Polygon_Mumbai',\n ArbitrumGoerli = 'Arbitrum_Goerli',\n\n // Dev only\n Hardhat = 'Hardhat',\n}\n\nexport type FeesSerialized = {\n shield: string;\n unshield: string;\n nft: string;\n};\n\ntype BaseToken = {\n symbol: string;\n wrappedSymbol: string;\n wrappedAddress: BaseTokenWrappedAddress;\n decimals: number;\n};\n\nexport type Network = {\n chain: Chain;\n name: NetworkName;\n publicName: string;\n shortPublicName: string;\n coingeckoId: string;\n baseToken: BaseToken;\n proxyContract: RailgunProxyContract;\n relayAdaptContract: RelayAdaptContract;\n deploymentBlock: RailgunProxyDeploymentBlock;\n isDevOnlyNetwork?: boolean;\n isTestnet?: boolean;\n defaultEVMGasType: EVMGasType;\n shouldQuickSync: boolean;\n deprecated?: boolean;\n enableKoinlyTaxExport: boolean; // Let Koinly engineers know to add this network (hardcoded in their Railway Tax parser)\n};\n\nexport enum RailgunProxyContract {\n Ethereum = '0xfa7093cdd9ee6932b4eb2c9e1cde7ce00b1fa4b9',\n BNBChain = '0x590162bf4b50f6576a459b75309ee21d92178a10',\n PolygonPOS = '0x19b620929f97b7b990801496c3b361ca5def8c71',\n Arbitrum = '0xFA7093CDD9EE6932B4eb2c9e1cde7CE00B1FA4b9',\n\n // Test nets\n EthereumRopsten = '',\n EthereumGoerli = '0xe8bEa99BB438C2f3D533604D33258d74d5eE4824',\n PolygonMumbai = '0x3ee8306321d992483BDC9c69B8F622Ba3FFF05B6',\n ArbitrumGoerli = '0xA0603e598F9Ac2fc7475a3fA08D0794066615D9a',\n Hardhat = '0x610178dA211FEF7D417bC0e6FeD39F05609AD788',\n}\n\nexport enum RelayAdaptContract {\n Ethereum = '0x4025ee6512DBbda97049Bcf5AA5D38C54aF6bE8a',\n BNBChain = '0x741936fb83DDf324636D3048b3E6bC800B8D9e12',\n PolygonPOS = '0xc7FfA542736321A3dd69246d73987566a5486968',\n Arbitrum = '0x5aD95C537b002770a39dea342c4bb2b68B1497aA',\n\n // Test nets\n EthereumRopsten = '',\n EthereumGoerli = '0x14a57CA7C5c1AD54fB6c642f428d973fcD696ED4',\n PolygonMumbai = '0x17D36875D723Cf0dA250d404Ef4cA0aABE105837',\n ArbitrumGoerli = '0x3eAf99B5EDc79D833AA8B6d18F0a8dd041e13eF6',\n Hardhat = '0x0355B7B8cb128fA5692729Ab3AAa199C1753f726',\n}\n\nexport enum RailgunProxyDeploymentBlock {\n Ethereum = 14737691,\n BNBChain = 17633701,\n PolygonPOS = 28083766,\n Arbitrum = 56109834,\n\n // Test nets\n EthereumRopsten = 12226000,\n EthereumGoerli = 7795991,\n PolygonMumbai = 28697343,\n ArbitrumGoerli = 2611949,\n Hardhat = 0,\n}\n\nexport enum BaseTokenWrappedAddress {\n EthereumWETH = '0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2', // WETH\n BinanceWBNB = '0xbb4cdb9cbd36b01bd1cbaebf2de08d9173bc095c', // WBNB\n PolygonWMATIC = '0x0d500b1d8e8ef31e21c99d1db9a6444d3adf1270', // WMATIC\n ArbitrumWETH = '0x82af49447d8a07e3bd95bd0d56f35241523fbab1', // (Arbitrum) WETH\n\n // Test nets\n EthereumRopstenWETH = '0xc778417e063141139fce010982780140aa0cd5ab', // (Ropsten) WETH\n EthereumGoerliWETH = '0xb4fbf271143f4fbf7b91a5ded31805e42b2208d6', // (Goerli) WETH\n PolygonMumbaiWMATIC = '0x9c3C9283D3e44854697Cd22D3Faa240Cfb032889', // (Mumbai) WMATIC\n ArbitrumGoerliWETH = '0xe39Ab88f8A4777030A534146A9Ca3B52bd5D43A3', // (Arbitrum Goerli) WETH\n HardhatWETH = '0x09635F643e140090A9A8Dcd712eD6285858ceBef', // (Hardhat) WETH\n}\n\nexport const NETWORK_CONFIG: { [name in NetworkName]: Network } = {\n [NetworkName.Railgun]: {\n chain: {\n type: ChainType.EVM,\n id: -1,\n },\n name: NetworkName.Railgun,\n publicName: 'RAILGUN',\n shortPublicName: '',\n coingeckoId: '',\n baseToken: {} as BaseToken,\n proxyContract: RailgunProxyContract.Ethereum,\n relayAdaptContract: RelayAdaptContract.Ethereum,\n deploymentBlock: RailgunProxyDeploymentBlock.Ethereum,\n defaultEVMGasType: EVMGasType.Type2,\n shouldQuickSync: false,\n enableKoinlyTaxExport: true,\n },\n [NetworkName.Ethereum]: {\n chain: {\n type: ChainType.EVM,\n id: 1,\n },\n name: NetworkName.Ethereum,\n publicName: 'Ethereum',\n shortPublicName: 'Ethereum',\n coingeckoId: 'ethereum',\n baseToken: {\n symbol: 'ETH',\n wrappedSymbol: 'WETH',\n wrappedAddress: BaseTokenWrappedAddress.EthereumWETH,\n decimals: 18,\n },\n proxyContract: RailgunProxyContract.Ethereum,\n relayAdaptContract: RelayAdaptContract.Ethereum,\n deploymentBlock: RailgunProxyDeploymentBlock.Ethereum,\n defaultEVMGasType: EVMGasType.Type2,\n shouldQuickSync: true,\n enableKoinlyTaxExport: true,\n },\n [NetworkName.BNBChain]: {\n chain: {\n type: ChainType.EVM,\n id: 56,\n },\n name: NetworkName.BNBChain,\n publicName: 'BNB Smart Chain',\n shortPublicName: 'BSC',\n coingeckoId: 'binance-smart-chain',\n baseToken: {\n symbol: 'BNB',\n wrappedSymbol: 'WBNB',\n wrappedAddress: BaseTokenWrappedAddress.BinanceWBNB,\n decimals: 18,\n },\n proxyContract: RailgunProxyContract.BNBChain,\n relayAdaptContract: RelayAdaptContract.BNBChain,\n deploymentBlock: RailgunProxyDeploymentBlock.BNBChain,\n defaultEVMGasType: EVMGasType.Type0,\n shouldQuickSync: true,\n enableKoinlyTaxExport: true,\n },\n [NetworkName.Polygon]: {\n chain: {\n type: ChainType.EVM,\n id: 137,\n },\n name: NetworkName.Polygon,\n publicName: 'Polygon',\n shortPublicName: 'Polygon',\n coingeckoId: 'polygon-pos',\n baseToken: {\n symbol: 'MATIC',\n wrappedSymbol: 'WMATIC',\n wrappedAddress: BaseTokenWrappedAddress.PolygonWMATIC,\n decimals: 18,\n },\n proxyContract: RailgunProxyContract.PolygonPOS,\n relayAdaptContract: RelayAdaptContract.PolygonPOS,\n deploymentBlock: RailgunProxyDeploymentBlock.PolygonPOS,\n defaultEVMGasType: EVMGasType.Type2,\n shouldQuickSync: true,\n enableKoinlyTaxExport: true,\n },\n [NetworkName.Arbitrum]: {\n chain: {\n type: ChainType.EVM,\n id: 42161,\n },\n name: NetworkName.Arbitrum,\n publicName: 'Arbitrum',\n shortPublicName: 'Arbitrum',\n coingeckoId: 'arbitrum-one',\n baseToken: {\n symbol: 'ETH',\n wrappedSymbol: 'WETH',\n wrappedAddress: BaseTokenWrappedAddress.ArbitrumWETH,\n decimals: 18,\n },\n proxyContract: RailgunProxyContract.Arbitrum,\n relayAdaptContract: RelayAdaptContract.Arbitrum,\n deploymentBlock: RailgunProxyDeploymentBlock.Arbitrum,\n defaultEVMGasType: EVMGasType.Type2,\n shouldQuickSync: true,\n enableKoinlyTaxExport: true,\n },\n\n // TEST NETS\n [NetworkName.EthereumRopsten_DEPRECATED]: {\n deprecated: true,\n chain: {\n type: ChainType.EVM,\n id: 3,\n },\n name: NetworkName.EthereumRopsten_DEPRECATED,\n publicName: 'Ropsten Testnet',\n shortPublicName: 'Ropsten',\n coingeckoId: 'ethereum',\n baseToken: {\n symbol: 'ETH',\n wrappedSymbol: 'WETH',\n wrappedAddress: BaseTokenWrappedAddress.EthereumRopstenWETH,\n decimals: 18,\n },\n proxyContract: RailgunProxyContract.EthereumRopsten,\n relayAdaptContract: RelayAdaptContract.EthereumRopsten,\n deploymentBlock: RailgunProxyDeploymentBlock.EthereumRopsten,\n isDevOnlyNetwork: true,\n isTestnet: true,\n defaultEVMGasType: EVMGasType.Type2,\n shouldQuickSync: false,\n enableKoinlyTaxExport: false,\n },\n [NetworkName.EthereumGoerli]: {\n chain: {\n type: ChainType.EVM,\n id: 5,\n },\n name: NetworkName.EthereumGoerli,\n publicName: 'Görli Testnet',\n shortPublicName: 'Görli',\n coingeckoId: 'ethereum',\n baseToken: {\n symbol: 'ETH',\n wrappedSymbol: 'WETH',\n wrappedAddress: BaseTokenWrappedAddress.EthereumGoerliWETH,\n decimals: 18,\n },\n proxyContract: RailgunProxyContract.EthereumGoerli,\n relayAdaptContract: RelayAdaptContract.EthereumGoerli,\n deploymentBlock: RailgunProxyDeploymentBlock.EthereumGoerli,\n isDevOnlyNetwork: true,\n isTestnet: true,\n defaultEVMGasType: EVMGasType.Type2,\n shouldQuickSync: true,\n enableKoinlyTaxExport: false,\n },\n [NetworkName.PolygonMumbai]: {\n chain: {\n type: ChainType.EVM,\n id: 80001,\n },\n name: NetworkName.PolygonMumbai,\n publicName: 'Mumbai Testnet',\n shortPublicName: 'Mumbai',\n coingeckoId: 'polygon-pos',\n baseToken: {\n symbol: 'MATIC',\n wrappedSymbol: 'WMATIC',\n wrappedAddress: BaseTokenWrappedAddress.PolygonMumbaiWMATIC,\n decimals: 18,\n },\n proxyContract: RailgunProxyContract.PolygonMumbai,\n relayAdaptContract: RelayAdaptContract.PolygonMumbai,\n deploymentBlock: RailgunProxyDeploymentBlock.PolygonMumbai,\n isDevOnlyNetwork: true,\n isTestnet: true,\n defaultEVMGasType: EVMGasType.Type2,\n shouldQuickSync: true,\n enableKoinlyTaxExport: false,\n },\n [NetworkName.ArbitrumGoerli]: {\n chain: {\n type: ChainType.EVM,\n id: 421613,\n },\n name: NetworkName.ArbitrumGoerli,\n publicName: 'Arbitrum Görli Testnet',\n shortPublicName: 'Arbitrum Görli',\n coingeckoId: 'arbitrum-one',\n baseToken: {\n symbol: 'ETH',\n wrappedSymbol: 'WETH',\n wrappedAddress: BaseTokenWrappedAddress.ArbitrumGoerliWETH,\n decimals: 18,\n },\n proxyContract: RailgunProxyContract.ArbitrumGoerli,\n relayAdaptContract: RelayAdaptContract.ArbitrumGoerli,\n deploymentBlock: RailgunProxyDeploymentBlock.ArbitrumGoerli,\n isDevOnlyNetwork: true,\n isTestnet: true,\n defaultEVMGasType: EVMGasType.Type2,\n shouldQuickSync: true,\n enableKoinlyTaxExport: false,\n },\n [NetworkName.Hardhat]: {\n chain: {\n type: ChainType.EVM,\n id: 31337,\n },\n name: NetworkName.Hardhat,\n publicName: 'Hardhat Testnet',\n shortPublicName: 'Hardhat',\n coingeckoId: '',\n baseToken: {\n symbol: 'ETH',\n wrappedSymbol: 'WETH',\n wrappedAddress: BaseTokenWrappedAddress.HardhatWETH,\n decimals: 18,\n },\n proxyContract: RailgunProxyContract.Hardhat,\n relayAdaptContract: RelayAdaptContract.Hardhat,\n deploymentBlock: RailgunProxyDeploymentBlock.Hardhat,\n isDevOnlyNetwork: true,\n isTestnet: true,\n defaultEVMGasType: EVMGasType.Type2,\n shouldQuickSync: false,\n enableKoinlyTaxExport: false,\n },\n};\n"]}
|
|
@@ -40,7 +40,7 @@ exports.getAvailableProviderJSONs = void 0;
|
|
|
40
40
|
var providers_1 = require("@ethersproject/providers");
|
|
41
41
|
var median_1 = require("./median");
|
|
42
42
|
var promises_1 = require("./promises");
|
|
43
|
-
var BLOCK_NUMBER_TIMEOUT_MS =
|
|
43
|
+
var BLOCK_NUMBER_TIMEOUT_MS = 5000;
|
|
44
44
|
/**
|
|
45
45
|
* Health checks ProviderJson inputs, and returns an array of available RPC providers.
|
|
46
46
|
* Available means that they respond to getBlockNumber(), and they are +/- 100 blocks from the median.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"available-rpc.js","sourceRoot":"","sources":["../../src/utils/available-rpc.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,sDAA2D;AAE3D,mCAA+C;AAC/C,uCAA4C;AAI5C,IAAM,uBAAuB,GAAG,IAAI,CAAC;AAErC;;;GAGG;AACI,IAAM,yBAAyB,GAAG,UACvC,aAA6B,EAC7B,QAAkB;;;;oBAEa,qBAAM,OAAO,CAAC,GAAG,CAC9C,aAAa,CAAC,GAAG,CACf,UAAM,YAAY;;gCAChB,qBAAM,cAAc,CAAC,YAAY,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAA;gCAArD,sBAAA,SAAqD,EAAA;;yBAAA,CACxD,CACF,EAAA;;gBALK,YAAY,GAAa,SAK9B;gBAEK,mBAAmB,GAAG,YAAY,CAAC,MAAM,CAC7C,UAAA,WAAW,IAAI,OAAA,WAAW,GAAG,CAAC,EAAf,CAAe,CAC/B,CAAC;gBACI,iBAAiB,GAAG,IAAA,4BAAmB,EAAC,mBAAmB,CAAC,CAAC;gBAC7D,eAAe,GAAG,iBAAiB,GAAG,GAAG,CAAC;gBAC1C,eAAe,GAAG,iBAAiB,GAAG,GAAG,CAAC;gBAEhD,sBAAO,aAAa,CAAC,MAAM,CAAC,UAAC,YAAY,EAAE,KAAK;wBAC9C,IAAM,WAAW,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;wBACxC,IAAI,WAAW,KAAK,CAAC,EAAE;4BACrB,QAAQ,CACN,sCAA+B,YAAY,CAAC,QAAQ,sBAAmB,CACxE,CAAC;4BACF,OAAO,KAAK,CAAC;yBACd;wBACD,IAAI,WAAW,GAAG,eAAe,EAAE;4BACjC,QAAQ,CACN,sCAA+B,YAAY,CAAC,QAAQ,6BAClD,iBAAiB,GAAG,WAAW,iBACnB,CACf,CAAC;4BACF,OAAO,KAAK,CAAC;yBACd;wBACD,IAAI,WAAW,GAAG,eAAe,EAAE;4BACjC,QAAQ,CACN,sCAA+B,YAAY,CAAC,QAAQ,6BAClD,WAAW,GAAG,iBAAiB,iBACnB,CACf,CAAC;4BACF,OAAO,KAAK,CAAC;yBACd;wBACD,OAAO,IAAI,CAAC;oBACd,CAAC,CAAC,EAAC;;;KACJ,CAAC;AA5CW,QAAA,yBAAyB,6BA4CpC;AAEF,IAAM,cAAc,GAAG,UACrB,QAAgB,EAChB,QAAkB;;;;;;gBAGV,WAAW,GAAG,IAAI,2BAAe,CAAC,QAAQ,CAAC,CAAC;gBAC9B,qBAAM,IAAA,yBAAc,EACtC,WAAW,CAAC,cAAc,EAAE,EAC5B,uBAAuB,CACxB,EAAA;;gBAHK,WAAW,GAAG,SAGnB;gBACD,sBAAO,WAAW,EAAC;;;gBAEnB,IAAI,CAAC,CAAC,KAAG,YAAY,KAAK,CAAC,EAAE;oBAC3B,MAAM,KAAG,CAAC;iBACX;gBACD,QAAQ,CAAC,KAAG,CAAC,OAAO,CAAC,CAAC;gBACtB,sBAAO,CAAC,EAAC;;;;KAEZ,CAAC","sourcesContent":["import { JsonRpcProvider } from '@ethersproject/providers';\nimport { ProviderJson } from './fallback-provider';\nimport { getUpperBoundMedian } from './median';\nimport { promiseTimeout } from './promises';\n\ntype LogError = (err: string) => void;\n\nconst BLOCK_NUMBER_TIMEOUT_MS =
|
|
1
|
+
{"version":3,"file":"available-rpc.js","sourceRoot":"","sources":["../../src/utils/available-rpc.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,sDAA2D;AAE3D,mCAA+C;AAC/C,uCAA4C;AAI5C,IAAM,uBAAuB,GAAG,IAAI,CAAC;AAErC;;;GAGG;AACI,IAAM,yBAAyB,GAAG,UACvC,aAA6B,EAC7B,QAAkB;;;;oBAEa,qBAAM,OAAO,CAAC,GAAG,CAC9C,aAAa,CAAC,GAAG,CACf,UAAM,YAAY;;gCAChB,qBAAM,cAAc,CAAC,YAAY,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAA;gCAArD,sBAAA,SAAqD,EAAA;;yBAAA,CACxD,CACF,EAAA;;gBALK,YAAY,GAAa,SAK9B;gBAEK,mBAAmB,GAAG,YAAY,CAAC,MAAM,CAC7C,UAAA,WAAW,IAAI,OAAA,WAAW,GAAG,CAAC,EAAf,CAAe,CAC/B,CAAC;gBACI,iBAAiB,GAAG,IAAA,4BAAmB,EAAC,mBAAmB,CAAC,CAAC;gBAC7D,eAAe,GAAG,iBAAiB,GAAG,GAAG,CAAC;gBAC1C,eAAe,GAAG,iBAAiB,GAAG,GAAG,CAAC;gBAEhD,sBAAO,aAAa,CAAC,MAAM,CAAC,UAAC,YAAY,EAAE,KAAK;wBAC9C,IAAM,WAAW,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;wBACxC,IAAI,WAAW,KAAK,CAAC,EAAE;4BACrB,QAAQ,CACN,sCAA+B,YAAY,CAAC,QAAQ,sBAAmB,CACxE,CAAC;4BACF,OAAO,KAAK,CAAC;yBACd;wBACD,IAAI,WAAW,GAAG,eAAe,EAAE;4BACjC,QAAQ,CACN,sCAA+B,YAAY,CAAC,QAAQ,6BAClD,iBAAiB,GAAG,WAAW,iBACnB,CACf,CAAC;4BACF,OAAO,KAAK,CAAC;yBACd;wBACD,IAAI,WAAW,GAAG,eAAe,EAAE;4BACjC,QAAQ,CACN,sCAA+B,YAAY,CAAC,QAAQ,6BAClD,WAAW,GAAG,iBAAiB,iBACnB,CACf,CAAC;4BACF,OAAO,KAAK,CAAC;yBACd;wBACD,OAAO,IAAI,CAAC;oBACd,CAAC,CAAC,EAAC;;;KACJ,CAAC;AA5CW,QAAA,yBAAyB,6BA4CpC;AAEF,IAAM,cAAc,GAAG,UACrB,QAAgB,EAChB,QAAkB;;;;;;gBAGV,WAAW,GAAG,IAAI,2BAAe,CAAC,QAAQ,CAAC,CAAC;gBAC9B,qBAAM,IAAA,yBAAc,EACtC,WAAW,CAAC,cAAc,EAAE,EAC5B,uBAAuB,CACxB,EAAA;;gBAHK,WAAW,GAAG,SAGnB;gBACD,sBAAO,WAAW,EAAC;;;gBAEnB,IAAI,CAAC,CAAC,KAAG,YAAY,KAAK,CAAC,EAAE;oBAC3B,MAAM,KAAG,CAAC;iBACX;gBACD,QAAQ,CAAC,KAAG,CAAC,OAAO,CAAC,CAAC;gBACtB,sBAAO,CAAC,EAAC;;;;KAEZ,CAAC","sourcesContent":["import { JsonRpcProvider } from '@ethersproject/providers';\nimport { ProviderJson } from './fallback-provider';\nimport { getUpperBoundMedian } from './median';\nimport { promiseTimeout } from './promises';\n\ntype LogError = (err: string) => void;\n\nconst BLOCK_NUMBER_TIMEOUT_MS = 5000;\n\n/**\n * Health checks ProviderJson inputs, and returns an array of available RPC providers.\n * Available means that they respond to getBlockNumber(), and they are +/- 100 blocks from the median.\n */\nexport const getAvailableProviderJSONs = async (\n providerJsons: ProviderJson[],\n logError: LogError,\n): Promise<ProviderJson[]> => {\n const blockNumbers: number[] = await Promise.all(\n providerJsons.map(\n async providerJson =>\n await getBlockNumber(providerJson.provider, logError),\n ),\n );\n\n const nonZeroBlockNumbers = blockNumbers.filter(\n blockNumber => blockNumber > 0,\n );\n const medianBlockNumber = getUpperBoundMedian(nonZeroBlockNumbers);\n const lowerBoundRange = medianBlockNumber - 100;\n const upperBoundRange = medianBlockNumber + 100;\n\n return providerJsons.filter((providerJson, index) => {\n const blockNumber = blockNumbers[index];\n if (blockNumber === 0) {\n logError(\n `RPC Health Check failed for ${providerJson.provider}: No Block Number`,\n );\n return false;\n }\n if (blockNumber < lowerBoundRange) {\n logError(\n `RPC Health Check failed for ${providerJson.provider}: Block Number -${\n medianBlockNumber - blockNumber\n } from median`,\n );\n return false;\n }\n if (blockNumber > upperBoundRange) {\n logError(\n `RPC Health Check failed for ${providerJson.provider}: Block Number +${\n blockNumber - medianBlockNumber\n } from median`,\n );\n return false;\n }\n return true;\n });\n};\n\nconst getBlockNumber = async (\n provider: string,\n logError: LogError,\n): Promise<number> => {\n try {\n const rpcProvider = new JsonRpcProvider(provider);\n const blockNumber = await promiseTimeout(\n rpcProvider.getBlockNumber(),\n BLOCK_NUMBER_TIMEOUT_MS,\n );\n return blockNumber;\n } catch (err) {\n if (!(err instanceof Error)) {\n throw err;\n }\n logError(err.message);\n return 0;\n }\n};\n"]}
|