@railgun-community/shared-models 6.3.2 → 6.4.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.
package/README.md
CHANGED
|
@@ -8,12 +8,12 @@ export declare enum NetworkName {
|
|
|
8
8
|
BNBChain = "BNB_Chain",
|
|
9
9
|
Polygon = "Polygon",
|
|
10
10
|
Arbitrum = "Arbitrum",
|
|
11
|
-
EthereumGoerli = "Ethereum_Goerli",
|
|
12
11
|
EthereumSepolia = "Ethereum_Sepolia",
|
|
13
12
|
PolygonMumbai = "Polygon_Mumbai",
|
|
14
13
|
ArbitrumGoerli = "Arbitrum_Goerli",
|
|
15
14
|
Hardhat = "Hardhat",
|
|
16
|
-
EthereumRopsten_DEPRECATED = "Ethereum_Ropsten"
|
|
15
|
+
EthereumRopsten_DEPRECATED = "Ethereum_Ropsten",
|
|
16
|
+
EthereumGoerli_DEPRECATED = "Ethereum_Goerli"
|
|
17
17
|
}
|
|
18
18
|
export type FeesSerialized = {
|
|
19
19
|
shieldFeeV2: string;
|
|
@@ -13,7 +13,6 @@ var NetworkName;
|
|
|
13
13
|
NetworkName["Polygon"] = "Polygon";
|
|
14
14
|
NetworkName["Arbitrum"] = "Arbitrum";
|
|
15
15
|
// Testnets
|
|
16
|
-
NetworkName["EthereumGoerli"] = "Ethereum_Goerli";
|
|
17
16
|
NetworkName["EthereumSepolia"] = "Ethereum_Sepolia";
|
|
18
17
|
NetworkName["PolygonMumbai"] = "Polygon_Mumbai";
|
|
19
18
|
NetworkName["ArbitrumGoerli"] = "Arbitrum_Goerli";
|
|
@@ -21,6 +20,7 @@ var NetworkName;
|
|
|
21
20
|
NetworkName["Hardhat"] = "Hardhat";
|
|
22
21
|
// Deprecated
|
|
23
22
|
NetworkName["EthereumRopsten_DEPRECATED"] = "Ethereum_Ropsten";
|
|
23
|
+
NetworkName["EthereumGoerli_DEPRECATED"] = "Ethereum_Goerli";
|
|
24
24
|
})(NetworkName || (exports.NetworkName = NetworkName = {}));
|
|
25
25
|
exports.RailgunProxyContract = {
|
|
26
26
|
[NetworkName.Ethereum]: '0xfa7093cdd9ee6932b4eb2c9e1cde7ce00b1fa4b9',
|
|
@@ -29,7 +29,7 @@ exports.RailgunProxyContract = {
|
|
|
29
29
|
[NetworkName.Arbitrum]: '0xFA7093CDD9EE6932B4eb2c9e1cde7CE00B1FA4b9',
|
|
30
30
|
// Test nets
|
|
31
31
|
[NetworkName.EthereumRopsten_DEPRECATED]: '',
|
|
32
|
-
[NetworkName.
|
|
32
|
+
[NetworkName.EthereumGoerli_DEPRECATED]: '',
|
|
33
33
|
[NetworkName.EthereumSepolia]: '0x942D5026b421cf2705363A525897576cFAdA5964',
|
|
34
34
|
[NetworkName.PolygonMumbai]: '0x3ee8306321d992483BDC9c69B8F622Ba3FFF05B6',
|
|
35
35
|
[NetworkName.ArbitrumGoerli]: '0xA0603e598F9Ac2fc7475a3fA08D0794066615D9a',
|
|
@@ -42,7 +42,7 @@ exports.RelayAdaptContract = {
|
|
|
42
42
|
[NetworkName.Arbitrum]: '0x5aD95C537b002770a39dea342c4bb2b68B1497aA',
|
|
43
43
|
// Test nets
|
|
44
44
|
[NetworkName.EthereumRopsten_DEPRECATED]: '',
|
|
45
|
-
[NetworkName.
|
|
45
|
+
[NetworkName.EthereumGoerli_DEPRECATED]: '',
|
|
46
46
|
[NetworkName.EthereumSepolia]: '0xCc1C4D2B362c3a0Fb19f734A896A58C81A062dc8',
|
|
47
47
|
[NetworkName.PolygonMumbai]: '0x17D36875D723Cf0dA250d404Ef4cA0aABE105837',
|
|
48
48
|
[NetworkName.ArbitrumGoerli]: '0x3eAf99B5EDc79D833AA8B6d18F0a8dd041e13eF6',
|
|
@@ -55,7 +55,7 @@ exports.RailgunProxyDeploymentBlock = {
|
|
|
55
55
|
[NetworkName.Arbitrum]: 56109834,
|
|
56
56
|
// Test nets
|
|
57
57
|
[NetworkName.EthereumRopsten_DEPRECATED]: 12226000,
|
|
58
|
-
[NetworkName.
|
|
58
|
+
[NetworkName.EthereumGoerli_DEPRECATED]: 7795991,
|
|
59
59
|
[NetworkName.EthereumSepolia]: 4495479,
|
|
60
60
|
[NetworkName.PolygonMumbai]: 28697343,
|
|
61
61
|
[NetworkName.ArbitrumGoerli]: 2611949,
|
|
@@ -68,7 +68,7 @@ exports.BaseTokenWrappedAddress = {
|
|
|
68
68
|
[NetworkName.Arbitrum]: '0x82af49447d8a07e3bd95bd0d56f35241523fbab1',
|
|
69
69
|
// Test nets
|
|
70
70
|
[NetworkName.EthereumRopsten_DEPRECATED]: '0xc778417e063141139fce010982780140aa0cd5ab',
|
|
71
|
-
[NetworkName.
|
|
71
|
+
[NetworkName.EthereumGoerli_DEPRECATED]: '0xb4fbf271143f4fbf7b91a5ded31805e42b2208d6',
|
|
72
72
|
[NetworkName.EthereumSepolia]: '0x97a36608DA67AF0A79e50cb6343f86F340B3b49e',
|
|
73
73
|
[NetworkName.PolygonMumbai]: '0x9c3C9283D3e44854697Cd22D3Faa240Cfb032889',
|
|
74
74
|
[NetworkName.ArbitrumGoerli]: '0xe39Ab88f8A4777030A534146A9Ca3B52bd5D43A3',
|
|
@@ -81,7 +81,7 @@ exports.RailgunPoseidonMerkleAccumulatorV3Contract = {
|
|
|
81
81
|
[NetworkName.Arbitrum]: '',
|
|
82
82
|
// Test nets
|
|
83
83
|
[NetworkName.EthereumRopsten_DEPRECATED]: '',
|
|
84
|
-
[NetworkName.
|
|
84
|
+
[NetworkName.EthereumGoerli_DEPRECATED]: '',
|
|
85
85
|
[NetworkName.EthereumSepolia]: '',
|
|
86
86
|
[NetworkName.PolygonMumbai]: '0xc7212d4efBf7425Ea07f4d9770f5809578557bC0',
|
|
87
87
|
[NetworkName.ArbitrumGoerli]: '',
|
|
@@ -94,7 +94,7 @@ exports.RailgunPoseidonMerkleVerifierV3Contract = {
|
|
|
94
94
|
[NetworkName.Arbitrum]: '',
|
|
95
95
|
// Test nets
|
|
96
96
|
[NetworkName.EthereumRopsten_DEPRECATED]: '',
|
|
97
|
-
[NetworkName.
|
|
97
|
+
[NetworkName.EthereumGoerli_DEPRECATED]: '',
|
|
98
98
|
[NetworkName.EthereumSepolia]: '',
|
|
99
99
|
[NetworkName.PolygonMumbai]: '0x86CcC111692422173D8b36F693E2525606438E43',
|
|
100
100
|
[NetworkName.ArbitrumGoerli]: '',
|
|
@@ -107,7 +107,7 @@ exports.RailgunTokenVaultV3Contract = {
|
|
|
107
107
|
[NetworkName.Arbitrum]: '',
|
|
108
108
|
// Test nets
|
|
109
109
|
[NetworkName.EthereumRopsten_DEPRECATED]: '',
|
|
110
|
-
[NetworkName.
|
|
110
|
+
[NetworkName.EthereumGoerli_DEPRECATED]: '',
|
|
111
111
|
[NetworkName.EthereumSepolia]: '',
|
|
112
112
|
[NetworkName.PolygonMumbai]: '0x0D7A2Fe88552eFEDEdb3798308a49ddB202982ef',
|
|
113
113
|
[NetworkName.ArbitrumGoerli]: '',
|
|
@@ -119,7 +119,7 @@ exports.RailgunPoseidonMerkleAccumulatorV3DeploymentBlock = {
|
|
|
119
119
|
[NetworkName.Polygon]: 0,
|
|
120
120
|
[NetworkName.Arbitrum]: 0,
|
|
121
121
|
// Test nets
|
|
122
|
-
[NetworkName.
|
|
122
|
+
[NetworkName.EthereumGoerli_DEPRECATED]: 0,
|
|
123
123
|
[NetworkName.EthereumSepolia]: 0,
|
|
124
124
|
[NetworkName.PolygonMumbai]: 42082388,
|
|
125
125
|
[NetworkName.ArbitrumGoerli]: 0,
|
|
@@ -278,40 +278,41 @@ exports.NETWORK_CONFIG = {
|
|
|
278
278
|
deploymentBlockPoseidonMerkleAccumulatorV3: exports.RailgunPoseidonMerkleAccumulatorV3DeploymentBlock[NetworkName.EthereumRopsten_DEPRECATED],
|
|
279
279
|
supportsV3: false,
|
|
280
280
|
},
|
|
281
|
-
[NetworkName.
|
|
281
|
+
[NetworkName.EthereumGoerli_DEPRECATED]: {
|
|
282
|
+
deprecated: true,
|
|
282
283
|
chain: {
|
|
283
284
|
type: response_types_1.ChainType.EVM,
|
|
284
285
|
id: 5,
|
|
285
286
|
},
|
|
286
|
-
name: NetworkName.
|
|
287
|
+
name: NetworkName.EthereumGoerli_DEPRECATED,
|
|
287
288
|
publicName: 'Görli Testnet',
|
|
288
289
|
shortPublicName: 'Görli',
|
|
289
290
|
coingeckoId: 'ethereum',
|
|
290
291
|
baseToken: {
|
|
291
292
|
symbol: 'ETH',
|
|
292
293
|
wrappedSymbol: 'WETH',
|
|
293
|
-
wrappedAddress: exports.BaseTokenWrappedAddress[NetworkName.
|
|
294
|
+
wrappedAddress: exports.BaseTokenWrappedAddress[NetworkName.EthereumGoerli_DEPRECATED],
|
|
294
295
|
decimals: 18,
|
|
295
296
|
},
|
|
296
|
-
proxyContract: exports.RailgunProxyContract[NetworkName.
|
|
297
|
-
relayAdaptContract: exports.RelayAdaptContract[NetworkName.
|
|
297
|
+
proxyContract: exports.RailgunProxyContract[NetworkName.EthereumGoerli_DEPRECATED],
|
|
298
|
+
relayAdaptContract: exports.RelayAdaptContract[NetworkName.EthereumGoerli_DEPRECATED],
|
|
298
299
|
relayAdaptHistory: [
|
|
299
300
|
'0xD147B7Dfa636a1c50A52bF6A6FE910680274eE24',
|
|
300
301
|
'0x57F5925FeB79B1fd7Cc491F858D7fBc65502D3FE',
|
|
301
302
|
'0x6E9C59F042acB1577A297eDE607c21Ff284846F3',
|
|
302
303
|
'0x14a57CA7C5c1AD54fB6c642f428d973fcD696ED4', // V3.1 Update - Jan 2023
|
|
303
304
|
],
|
|
304
|
-
deploymentBlock: exports.RailgunProxyDeploymentBlock[NetworkName.
|
|
305
|
+
deploymentBlock: exports.RailgunProxyDeploymentBlock[NetworkName.EthereumGoerli_DEPRECATED],
|
|
305
306
|
isTestnet: true,
|
|
306
307
|
defaultEVMGasType: response_types_1.EVMGasType.Type2,
|
|
307
308
|
poi: {
|
|
308
309
|
launchBlock: 9802000,
|
|
309
310
|
launchTimestamp: 1380794400, // Unix timestamp in seconds — Oct 3, 2023, 12:00pm ET
|
|
310
311
|
},
|
|
311
|
-
poseidonMerkleAccumulatorV3Contract: exports.RailgunPoseidonMerkleAccumulatorV3Contract[NetworkName.
|
|
312
|
-
poseidonMerkleVerifierV3Contract: exports.RailgunPoseidonMerkleVerifierV3Contract[NetworkName.
|
|
313
|
-
tokenVaultV3Contract: exports.RailgunTokenVaultV3Contract[NetworkName.
|
|
314
|
-
deploymentBlockPoseidonMerkleAccumulatorV3: exports.RailgunPoseidonMerkleAccumulatorV3DeploymentBlock[NetworkName.
|
|
312
|
+
poseidonMerkleAccumulatorV3Contract: exports.RailgunPoseidonMerkleAccumulatorV3Contract[NetworkName.EthereumGoerli_DEPRECATED],
|
|
313
|
+
poseidonMerkleVerifierV3Contract: exports.RailgunPoseidonMerkleVerifierV3Contract[NetworkName.EthereumGoerli_DEPRECATED],
|
|
314
|
+
tokenVaultV3Contract: exports.RailgunTokenVaultV3Contract[NetworkName.EthereumGoerli_DEPRECATED],
|
|
315
|
+
deploymentBlockPoseidonMerkleAccumulatorV3: exports.RailgunPoseidonMerkleAccumulatorV3DeploymentBlock[NetworkName.EthereumGoerli_DEPRECATED],
|
|
315
316
|
supportsV3: false,
|
|
316
317
|
},
|
|
317
318
|
[NetworkName.EthereumSepolia]: {
|
|
@@ -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 Ethereum = 'Ethereum',\n BNBChain = 'BNB_Chain',\n Polygon = 'Polygon',\n Arbitrum = 'Arbitrum',\n\n // Testnets\n EthereumGoerli = 'Ethereum_Goerli',\n EthereumSepolia = 'Ethereum_Sepolia',\n PolygonMumbai = 'Polygon_Mumbai',\n ArbitrumGoerli = 'Arbitrum_Goerli',\n\n // Dev only\n Hardhat = 'Hardhat',\n\n // Deprecated\n EthereumRopsten_DEPRECATED = 'Ethereum_Ropsten',\n}\n\nexport type FeesSerialized = {\n shieldFeeV2: string;\n unshieldFeeV2: string;\n shieldFeeV3: Optional<string>;\n unshieldFeeV3: Optional<string>;\n};\n\ntype BaseToken = {\n symbol: string;\n wrappedSymbol: string;\n wrappedAddress: string;\n decimals: number;\n};\n\ntype POISettings = {\n launchBlock: number;\n launchTimestamp: 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: string;\n relayAdaptContract: string;\n relayAdaptHistory: string[];\n deploymentBlock: number;\n poseidonMerkleAccumulatorV3Contract: string;\n poseidonMerkleVerifierV3Contract: string;\n tokenVaultV3Contract: string;\n deploymentBlockPoseidonMerkleAccumulatorV3: number;\n isDevOnlyNetwork?: boolean;\n isTestnet?: boolean;\n defaultEVMGasType: EVMGasType;\n supportsV3: boolean;\n deprecated?: boolean;\n poi?: POISettings;\n};\n\nexport const RailgunProxyContract: Record<NetworkName, string> = {\n [NetworkName.Ethereum]: '0xfa7093cdd9ee6932b4eb2c9e1cde7ce00b1fa4b9',\n [NetworkName.BNBChain]: '0x590162bf4b50f6576a459b75309ee21d92178a10',\n [NetworkName.Polygon]: '0x19b620929f97b7b990801496c3b361ca5def8c71',\n [NetworkName.Arbitrum]: '0xFA7093CDD9EE6932B4eb2c9e1cde7CE00B1FA4b9',\n\n // Test nets\n [NetworkName.EthereumRopsten_DEPRECATED]: '',\n [NetworkName.EthereumGoerli]: '0xe8bEa99BB438C2f3D533604D33258d74d5eE4824',\n [NetworkName.EthereumSepolia]: '0x942D5026b421cf2705363A525897576cFAdA5964',\n [NetworkName.PolygonMumbai]: '0x3ee8306321d992483BDC9c69B8F622Ba3FFF05B6',\n [NetworkName.ArbitrumGoerli]: '0xA0603e598F9Ac2fc7475a3fA08D0794066615D9a',\n [NetworkName.Hardhat]: '0x610178dA211FEF7D417bC0e6FeD39F05609AD788',\n};\n\nexport const RelayAdaptContract: Record<NetworkName, string> = {\n [NetworkName.Ethereum]: '0x4025ee6512DBbda97049Bcf5AA5D38C54aF6bE8a',\n [NetworkName.BNBChain]: '0x741936fb83DDf324636D3048b3E6bC800B8D9e12',\n [NetworkName.Polygon]: '0xc7FfA542736321A3dd69246d73987566a5486968',\n [NetworkName.Arbitrum]: '0x5aD95C537b002770a39dea342c4bb2b68B1497aA',\n\n // Test nets\n [NetworkName.EthereumRopsten_DEPRECATED]: '',\n [NetworkName.EthereumGoerli]: '0x14a57CA7C5c1AD54fB6c642f428d973fcD696ED4',\n [NetworkName.EthereumSepolia]: '0xCc1C4D2B362c3a0Fb19f734A896A58C81A062dc8',\n [NetworkName.PolygonMumbai]: '0x17D36875D723Cf0dA250d404Ef4cA0aABE105837',\n [NetworkName.ArbitrumGoerli]: '0x3eAf99B5EDc79D833AA8B6d18F0a8dd041e13eF6',\n [NetworkName.Hardhat]: '0x0355B7B8cb128fA5692729Ab3AAa199C1753f726',\n};\n\nexport const RailgunProxyDeploymentBlock: Record<NetworkName, number> = {\n [NetworkName.Ethereum]: 14737691,\n [NetworkName.BNBChain]: 17633701,\n [NetworkName.Polygon]: 28083766,\n [NetworkName.Arbitrum]: 56109834,\n\n // Test nets\n [NetworkName.EthereumRopsten_DEPRECATED]: 12226000,\n [NetworkName.EthereumGoerli]: 7795991,\n [NetworkName.EthereumSepolia]: 4495479,\n [NetworkName.PolygonMumbai]: 28697343,\n [NetworkName.ArbitrumGoerli]: 2611949,\n\n [NetworkName.Hardhat]: 0,\n};\n\nexport const BaseTokenWrappedAddress: Record<NetworkName, string> = {\n [NetworkName.Ethereum]: '0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2', // WETH\n [NetworkName.BNBChain]: '0xbb4cdb9cbd36b01bd1cbaebf2de08d9173bc095c', // WBNB\n [NetworkName.Polygon]: '0x0d500b1d8e8ef31e21c99d1db9a6444d3adf1270', // WMATIC\n [NetworkName.Arbitrum]: '0x82af49447d8a07e3bd95bd0d56f35241523fbab1', // (Arbitrum) WETH\n\n // Test nets\n [NetworkName.EthereumRopsten_DEPRECATED]:\n '0xc778417e063141139fce010982780140aa0cd5ab', // (Ropsten) WETH\n [NetworkName.EthereumGoerli]: '0xb4fbf271143f4fbf7b91a5ded31805e42b2208d6', // (Goerli) WETH\n [NetworkName.EthereumSepolia]: '0x97a36608DA67AF0A79e50cb6343f86F340B3b49e', // (Sepolia) WETH\n [NetworkName.PolygonMumbai]: '0x9c3C9283D3e44854697Cd22D3Faa240Cfb032889', // (Mumbai) WMATIC\n [NetworkName.ArbitrumGoerli]: '0xe39Ab88f8A4777030A534146A9Ca3B52bd5D43A3', // (Arbitrum Goerli) WETH\n [NetworkName.Hardhat]: '0x8198f5d8F8CfFE8f9C413d98a0A55aEB8ab9FbB7', // (Hardhat) WETH\n};\n\nexport const RailgunPoseidonMerkleAccumulatorV3Contract: Record<\n NetworkName,\n string\n> = {\n [NetworkName.Ethereum]: '', // TODO\n [NetworkName.BNBChain]: '', // TODO\n [NetworkName.Polygon]: '', // TODO\n [NetworkName.Arbitrum]: '', // TODO\n\n // Test nets\n [NetworkName.EthereumRopsten_DEPRECATED]: '', // TODO\n [NetworkName.EthereumGoerli]: '', // TODO\n [NetworkName.EthereumSepolia]: '', // TODO\n [NetworkName.PolygonMumbai]: '0xc7212d4efBf7425Ea07f4d9770f5809578557bC0',\n [NetworkName.ArbitrumGoerli]: '', // TODO\n [NetworkName.Hardhat]: '0x2B0d36FACD61B71CC05ab8F3D2355ec3631C0dd5',\n};\n\nexport const RailgunPoseidonMerkleVerifierV3Contract: Record<\n NetworkName,\n string\n> = {\n [NetworkName.Ethereum]: '', // TODO\n [NetworkName.BNBChain]: '', // TODO\n [NetworkName.Polygon]: '', // TODO\n [NetworkName.Arbitrum]: '', // TODO\n\n // Test nets\n [NetworkName.EthereumRopsten_DEPRECATED]: '', // TODO\n [NetworkName.EthereumGoerli]: '', // TODO\n [NetworkName.EthereumSepolia]: '', // TODO\n [NetworkName.PolygonMumbai]: '0x86CcC111692422173D8b36F693E2525606438E43',\n [NetworkName.ArbitrumGoerli]: '', // TODO\n [NetworkName.Hardhat]: '0xfbC22278A96299D91d41C453234d97b4F5Eb9B2d',\n};\n\nexport const RailgunTokenVaultV3Contract: Record<NetworkName, string> = {\n [NetworkName.Ethereum]: '', // TODO\n [NetworkName.BNBChain]: '', // TODO\n [NetworkName.Polygon]: '', // TODO\n [NetworkName.Arbitrum]: '', // TODO\n\n // Test nets\n [NetworkName.EthereumRopsten_DEPRECATED]: '', // TODO\n [NetworkName.EthereumGoerli]: '', // TODO\n [NetworkName.EthereumSepolia]: '', // TODO\n [NetworkName.PolygonMumbai]: '0x0D7A2Fe88552eFEDEdb3798308a49ddB202982ef',\n [NetworkName.ArbitrumGoerli]: '', // TODO\n [NetworkName.Hardhat]: '0xD84379CEae14AA33C123Af12424A37803F885889',\n};\n\nexport const RailgunPoseidonMerkleAccumulatorV3DeploymentBlock: Record<\n NetworkName,\n number\n> = {\n [NetworkName.Ethereum]: 0, // TODO\n [NetworkName.BNBChain]: 0, // TODO\n [NetworkName.Polygon]: 0, // TODO\n [NetworkName.Arbitrum]: 0, // TODO\n\n // Test nets\n [NetworkName.EthereumGoerli]: 0, // TODO\n [NetworkName.EthereumSepolia]: 0, // TODO\n [NetworkName.PolygonMumbai]: 42082388,\n [NetworkName.ArbitrumGoerli]: 0, // TODO\n\n [NetworkName.EthereumRopsten_DEPRECATED]: 0,\n [NetworkName.Hardhat]: 0,\n};\n\nexport const NETWORK_CONFIG: Record<NetworkName, Network> = {\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[NetworkName.Ethereum],\n decimals: 18,\n },\n proxyContract: RailgunProxyContract[NetworkName.Ethereum],\n relayAdaptContract: RelayAdaptContract[NetworkName.Ethereum],\n relayAdaptHistory: [\n '0x22af4EDBeA3De885dDa8f0a0653E6209e44e5B84', // Initial deployment\n '0xc3f2C8F9d5F0705De706b1302B7a039e1e11aC88', // V3.0 Update - Nov 2022\n '0x4025ee6512DBbda97049Bcf5AA5D38C54aF6bE8a', // V3.1 Update - Jan 2023\n ],\n deploymentBlock: RailgunProxyDeploymentBlock[NetworkName.Ethereum],\n deploymentBlockPoseidonMerkleAccumulatorV3:\n RailgunPoseidonMerkleAccumulatorV3DeploymentBlock[NetworkName.Ethereum],\n poseidonMerkleAccumulatorV3Contract:\n RailgunPoseidonMerkleAccumulatorV3Contract[NetworkName.Ethereum],\n poseidonMerkleVerifierV3Contract:\n RailgunPoseidonMerkleVerifierV3Contract[NetworkName.Ethereum],\n tokenVaultV3Contract: RailgunTokenVaultV3Contract[NetworkName.Ethereum],\n defaultEVMGasType: EVMGasType.Type2,\n poi: {\n launchBlock: 18514200, // Nov 06, 2023 - ~12:00pm ET\n launchTimestamp: 1383760800, // Unix timestamp in seconds — Nov 06, 2023, 12:00pm ET\n },\n supportsV3: false,\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[NetworkName.BNBChain],\n decimals: 18,\n },\n proxyContract: RailgunProxyContract[NetworkName.BNBChain],\n relayAdaptContract: RelayAdaptContract[NetworkName.BNBChain],\n relayAdaptHistory: [\n '0x20d868C7F1Eb706C46641ADD2f849c5DBf4dB158', // Initial deployment\n '0x25f795A8eC8aF7904aa403fF2Cc7205ce683BF52', // V3.0 Update - Nov 2022\n '0x741936fb83DDf324636D3048b3E6bC800B8D9e12', // V3.1 Update - Jan 2023\n ],\n deploymentBlock: RailgunProxyDeploymentBlock[NetworkName.BNBChain],\n defaultEVMGasType: EVMGasType.Type0,\n poseidonMerkleAccumulatorV3Contract:\n RailgunPoseidonMerkleAccumulatorV3Contract[NetworkName.BNBChain],\n poseidonMerkleVerifierV3Contract:\n RailgunPoseidonMerkleVerifierV3Contract[NetworkName.BNBChain],\n tokenVaultV3Contract: RailgunTokenVaultV3Contract[NetworkName.BNBChain],\n deploymentBlockPoseidonMerkleAccumulatorV3:\n RailgunPoseidonMerkleAccumulatorV3DeploymentBlock[NetworkName.BNBChain],\n supportsV3: false,\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[NetworkName.Polygon],\n decimals: 18,\n },\n proxyContract: RailgunProxyContract[NetworkName.Polygon],\n relayAdaptContract: RelayAdaptContract[NetworkName.Polygon],\n relayAdaptHistory: [\n '0x30D8AD0339e2CF160620589f2DBa1765126A5fDC', // Initial deployment\n '0x969eE9AC1E0B5F5Dd781f63A168C52b73062ff86', // V3.0 Update - Nov 2022\n '0xc7FfA542736321A3dd69246d73987566a5486968', // V3.1 Update - Jan 2023\n ],\n deploymentBlock: RailgunProxyDeploymentBlock[NetworkName.Polygon],\n defaultEVMGasType: EVMGasType.Type2,\n poseidonMerkleAccumulatorV3Contract:\n RailgunPoseidonMerkleAccumulatorV3Contract[NetworkName.Polygon],\n poseidonMerkleVerifierV3Contract:\n RailgunPoseidonMerkleVerifierV3Contract[NetworkName.Polygon],\n tokenVaultV3Contract: RailgunTokenVaultV3Contract[NetworkName.Polygon],\n deploymentBlockPoseidonMerkleAccumulatorV3:\n RailgunPoseidonMerkleAccumulatorV3DeploymentBlock[NetworkName.Polygon],\n supportsV3: false,\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[NetworkName.Arbitrum],\n decimals: 18,\n },\n proxyContract: RailgunProxyContract[NetworkName.Arbitrum],\n relayAdaptContract: RelayAdaptContract[NetworkName.Arbitrum],\n relayAdaptHistory: [\n '0x5aD95C537b002770a39dea342c4bb2b68B1497aA', // Initial deployment - Feb 2023 post v3.1\n ],\n deploymentBlock: RailgunProxyDeploymentBlock[NetworkName.Arbitrum],\n defaultEVMGasType: EVMGasType.Type2,\n poseidonMerkleAccumulatorV3Contract:\n RailgunPoseidonMerkleAccumulatorV3Contract[NetworkName.Arbitrum],\n poseidonMerkleVerifierV3Contract:\n RailgunPoseidonMerkleVerifierV3Contract[NetworkName.Arbitrum],\n tokenVaultV3Contract: RailgunTokenVaultV3Contract[NetworkName.Arbitrum],\n deploymentBlockPoseidonMerkleAccumulatorV3:\n RailgunPoseidonMerkleAccumulatorV3DeploymentBlock[NetworkName.Arbitrum],\n supportsV3: false,\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:\n BaseTokenWrappedAddress[NetworkName.EthereumRopsten_DEPRECATED],\n decimals: 18,\n },\n proxyContract: RailgunProxyContract[NetworkName.EthereumRopsten_DEPRECATED],\n relayAdaptContract:\n RelayAdaptContract[NetworkName.EthereumRopsten_DEPRECATED],\n relayAdaptHistory: [''],\n deploymentBlock:\n RailgunProxyDeploymentBlock[NetworkName.EthereumRopsten_DEPRECATED],\n isTestnet: true,\n defaultEVMGasType: EVMGasType.Type2,\n poseidonMerkleAccumulatorV3Contract:\n RailgunPoseidonMerkleAccumulatorV3Contract[\n NetworkName.EthereumRopsten_DEPRECATED\n ],\n poseidonMerkleVerifierV3Contract:\n RailgunPoseidonMerkleVerifierV3Contract[\n NetworkName.EthereumRopsten_DEPRECATED\n ],\n tokenVaultV3Contract:\n RailgunTokenVaultV3Contract[NetworkName.EthereumRopsten_DEPRECATED],\n deploymentBlockPoseidonMerkleAccumulatorV3:\n RailgunPoseidonMerkleAccumulatorV3DeploymentBlock[\n NetworkName.EthereumRopsten_DEPRECATED\n ],\n supportsV3: 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[NetworkName.EthereumGoerli],\n decimals: 18,\n },\n proxyContract: RailgunProxyContract[NetworkName.EthereumGoerli],\n relayAdaptContract: RelayAdaptContract[NetworkName.EthereumGoerli],\n relayAdaptHistory: [\n '0xD147B7Dfa636a1c50A52bF6A6FE910680274eE24', // Initial deployment\n '0x57F5925FeB79B1fd7Cc491F858D7fBc65502D3FE', // V3.0 Update - Nov 2022\n '0x6E9C59F042acB1577A297eDE607c21Ff284846F3', // V3.1 partial update - Jan 2023\n '0x14a57CA7C5c1AD54fB6c642f428d973fcD696ED4', // V3.1 Update - Jan 2023\n ],\n deploymentBlock: RailgunProxyDeploymentBlock[NetworkName.EthereumGoerli],\n isTestnet: true,\n defaultEVMGasType: EVMGasType.Type2,\n poi: {\n launchBlock: 9802000, // Oct 3, 2023\n launchTimestamp: 1380794400, // Unix timestamp in seconds — Oct 3, 2023, 12:00pm ET\n },\n poseidonMerkleAccumulatorV3Contract:\n RailgunPoseidonMerkleAccumulatorV3Contract[NetworkName.EthereumGoerli],\n poseidonMerkleVerifierV3Contract:\n RailgunPoseidonMerkleVerifierV3Contract[NetworkName.EthereumGoerli],\n tokenVaultV3Contract:\n RailgunTokenVaultV3Contract[NetworkName.EthereumGoerli],\n deploymentBlockPoseidonMerkleAccumulatorV3:\n RailgunPoseidonMerkleAccumulatorV3DeploymentBlock[\n NetworkName.EthereumGoerli\n ],\n supportsV3: false,\n },\n [NetworkName.EthereumSepolia]: {\n chain: {\n type: ChainType.EVM,\n id: 11155111,\n },\n name: NetworkName.EthereumSepolia,\n publicName: 'Sepolia Testnet',\n shortPublicName: 'Sepolia',\n coingeckoId: 'ethereum',\n baseToken: {\n symbol: 'ETH',\n wrappedSymbol: 'WETH',\n wrappedAddress: BaseTokenWrappedAddress[NetworkName.EthereumSepolia],\n decimals: 18,\n },\n proxyContract: RailgunProxyContract[NetworkName.EthereumSepolia],\n relayAdaptContract: RelayAdaptContract[NetworkName.EthereumSepolia],\n relayAdaptHistory: [\n '0xCc1C4D2B362c3a0Fb19f734A896A58C81A062dc8', // Initial deployment - Oct 2023\n ],\n deploymentBlock: RailgunProxyDeploymentBlock[NetworkName.EthereumSepolia],\n isDevOnlyNetwork: true,\n isTestnet: true,\n defaultEVMGasType: EVMGasType.Type2,\n poseidonMerkleAccumulatorV3Contract:\n RailgunPoseidonMerkleAccumulatorV3Contract[NetworkName.EthereumSepolia],\n poseidonMerkleVerifierV3Contract:\n RailgunPoseidonMerkleVerifierV3Contract[NetworkName.EthereumSepolia],\n tokenVaultV3Contract:\n RailgunTokenVaultV3Contract[NetworkName.EthereumSepolia],\n deploymentBlockPoseidonMerkleAccumulatorV3:\n RailgunPoseidonMerkleAccumulatorV3DeploymentBlock[\n NetworkName.EthereumSepolia\n ],\n supportsV3: 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[NetworkName.PolygonMumbai],\n decimals: 18,\n },\n proxyContract: RailgunProxyContract[NetworkName.PolygonMumbai],\n relayAdaptContract: RelayAdaptContract[NetworkName.PolygonMumbai],\n relayAdaptHistory: [\n '0x8B936B018CeA1c1cc14961CAdabD36E7fe9192cD', // Initial deployment\n '0x80efF1a8939C9B6E8C61Ed5Be683Eda21088B7E6', // V3.0 Update - Nov 2022\n '0x17D36875D723Cf0dA250d404Ef4cA0aABE105837', // V3.1 Update - Jan 2023\n ],\n deploymentBlock: RailgunProxyDeploymentBlock[NetworkName.PolygonMumbai],\n isDevOnlyNetwork: true,\n isTestnet: true,\n defaultEVMGasType: EVMGasType.Type2,\n poseidonMerkleAccumulatorV3Contract:\n RailgunPoseidonMerkleAccumulatorV3Contract[NetworkName.PolygonMumbai],\n poseidonMerkleVerifierV3Contract:\n RailgunPoseidonMerkleVerifierV3Contract[NetworkName.PolygonMumbai],\n tokenVaultV3Contract:\n RailgunTokenVaultV3Contract[NetworkName.PolygonMumbai],\n deploymentBlockPoseidonMerkleAccumulatorV3:\n RailgunPoseidonMerkleAccumulatorV3DeploymentBlock[\n NetworkName.PolygonMumbai\n ],\n supportsV3: 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[NetworkName.ArbitrumGoerli],\n decimals: 18,\n },\n proxyContract: RailgunProxyContract[NetworkName.ArbitrumGoerli],\n relayAdaptContract: RelayAdaptContract[NetworkName.ArbitrumGoerli],\n relayAdaptHistory: [\n '0x7E77d890179Aa683ac2B9A608bd8121255CAa917', // Initial deployment (post v3.0)\n '0x3eAf99B5EDc79D833AA8B6d18F0a8dd041e13eF6', // V3.1 Update - Jan 2023\n ],\n deploymentBlock: RailgunProxyDeploymentBlock[NetworkName.ArbitrumGoerli],\n isTestnet: true,\n defaultEVMGasType: EVMGasType.Type2,\n poseidonMerkleAccumulatorV3Contract:\n RailgunPoseidonMerkleAccumulatorV3Contract[NetworkName.ArbitrumGoerli],\n poseidonMerkleVerifierV3Contract:\n RailgunPoseidonMerkleVerifierV3Contract[NetworkName.ArbitrumGoerli],\n tokenVaultV3Contract:\n RailgunTokenVaultV3Contract[NetworkName.ArbitrumGoerli],\n deploymentBlockPoseidonMerkleAccumulatorV3:\n RailgunPoseidonMerkleAccumulatorV3DeploymentBlock[\n NetworkName.ArbitrumGoerli\n ],\n supportsV3: 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[NetworkName.Hardhat],\n decimals: 18,\n },\n proxyContract: RailgunProxyContract[NetworkName.Hardhat],\n relayAdaptContract: RelayAdaptContract[NetworkName.Hardhat],\n relayAdaptHistory: [''],\n deploymentBlock: RailgunProxyDeploymentBlock[NetworkName.Hardhat],\n isDevOnlyNetwork: true,\n isTestnet: true,\n defaultEVMGasType: EVMGasType.Type2,\n poseidonMerkleAccumulatorV3Contract:\n RailgunPoseidonMerkleAccumulatorV3Contract[NetworkName.Hardhat],\n poseidonMerkleVerifierV3Contract:\n RailgunPoseidonMerkleVerifierV3Contract[NetworkName.Hardhat],\n tokenVaultV3Contract: RailgunTokenVaultV3Contract[NetworkName.Hardhat],\n deploymentBlockPoseidonMerkleAccumulatorV3:\n RailgunPoseidonMerkleAccumulatorV3DeploymentBlock[NetworkName.Hardhat],\n supportsV3: true,\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 Ethereum = 'Ethereum',\n BNBChain = 'BNB_Chain',\n Polygon = 'Polygon',\n Arbitrum = 'Arbitrum',\n\n // Testnets\n EthereumSepolia = 'Ethereum_Sepolia',\n PolygonMumbai = 'Polygon_Mumbai',\n ArbitrumGoerli = 'Arbitrum_Goerli',\n\n // Dev only\n Hardhat = 'Hardhat',\n\n // Deprecated\n EthereumRopsten_DEPRECATED = 'Ethereum_Ropsten',\n EthereumGoerli_DEPRECATED = 'Ethereum_Goerli',\n}\n\nexport type FeesSerialized = {\n shieldFeeV2: string;\n unshieldFeeV2: string;\n shieldFeeV3: Optional<string>;\n unshieldFeeV3: Optional<string>;\n};\n\ntype BaseToken = {\n symbol: string;\n wrappedSymbol: string;\n wrappedAddress: string;\n decimals: number;\n};\n\ntype POISettings = {\n launchBlock: number;\n launchTimestamp: 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: string;\n relayAdaptContract: string;\n relayAdaptHistory: string[];\n deploymentBlock: number;\n poseidonMerkleAccumulatorV3Contract: string;\n poseidonMerkleVerifierV3Contract: string;\n tokenVaultV3Contract: string;\n deploymentBlockPoseidonMerkleAccumulatorV3: number;\n isDevOnlyNetwork?: boolean;\n isTestnet?: boolean;\n defaultEVMGasType: EVMGasType;\n supportsV3: boolean;\n deprecated?: boolean;\n poi?: POISettings;\n};\n\nexport const RailgunProxyContract: Record<NetworkName, string> = {\n [NetworkName.Ethereum]: '0xfa7093cdd9ee6932b4eb2c9e1cde7ce00b1fa4b9',\n [NetworkName.BNBChain]: '0x590162bf4b50f6576a459b75309ee21d92178a10',\n [NetworkName.Polygon]: '0x19b620929f97b7b990801496c3b361ca5def8c71',\n [NetworkName.Arbitrum]: '0xFA7093CDD9EE6932B4eb2c9e1cde7CE00B1FA4b9',\n\n // Test nets\n [NetworkName.EthereumRopsten_DEPRECATED]: '',\n [NetworkName.EthereumGoerli_DEPRECATED]: '',\n [NetworkName.EthereumSepolia]: '0x942D5026b421cf2705363A525897576cFAdA5964',\n [NetworkName.PolygonMumbai]: '0x3ee8306321d992483BDC9c69B8F622Ba3FFF05B6',\n [NetworkName.ArbitrumGoerli]: '0xA0603e598F9Ac2fc7475a3fA08D0794066615D9a',\n [NetworkName.Hardhat]: '0x610178dA211FEF7D417bC0e6FeD39F05609AD788',\n};\n\nexport const RelayAdaptContract: Record<NetworkName, string> = {\n [NetworkName.Ethereum]: '0x4025ee6512DBbda97049Bcf5AA5D38C54aF6bE8a',\n [NetworkName.BNBChain]: '0x741936fb83DDf324636D3048b3E6bC800B8D9e12',\n [NetworkName.Polygon]: '0xc7FfA542736321A3dd69246d73987566a5486968',\n [NetworkName.Arbitrum]: '0x5aD95C537b002770a39dea342c4bb2b68B1497aA',\n\n // Test nets\n [NetworkName.EthereumRopsten_DEPRECATED]: '',\n [NetworkName.EthereumGoerli_DEPRECATED]: '',\n [NetworkName.EthereumSepolia]: '0xCc1C4D2B362c3a0Fb19f734A896A58C81A062dc8',\n [NetworkName.PolygonMumbai]: '0x17D36875D723Cf0dA250d404Ef4cA0aABE105837',\n [NetworkName.ArbitrumGoerli]: '0x3eAf99B5EDc79D833AA8B6d18F0a8dd041e13eF6',\n [NetworkName.Hardhat]: '0x0355B7B8cb128fA5692729Ab3AAa199C1753f726',\n};\n\nexport const RailgunProxyDeploymentBlock: Record<NetworkName, number> = {\n [NetworkName.Ethereum]: 14737691,\n [NetworkName.BNBChain]: 17633701,\n [NetworkName.Polygon]: 28083766,\n [NetworkName.Arbitrum]: 56109834,\n\n // Test nets\n [NetworkName.EthereumRopsten_DEPRECATED]: 12226000,\n [NetworkName.EthereumGoerli_DEPRECATED]: 7795991,\n [NetworkName.EthereumSepolia]: 4495479,\n [NetworkName.PolygonMumbai]: 28697343,\n [NetworkName.ArbitrumGoerli]: 2611949,\n\n [NetworkName.Hardhat]: 0,\n};\n\nexport const BaseTokenWrappedAddress: Record<NetworkName, string> = {\n [NetworkName.Ethereum]: '0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2', // WETH\n [NetworkName.BNBChain]: '0xbb4cdb9cbd36b01bd1cbaebf2de08d9173bc095c', // WBNB\n [NetworkName.Polygon]: '0x0d500b1d8e8ef31e21c99d1db9a6444d3adf1270', // WMATIC\n [NetworkName.Arbitrum]: '0x82af49447d8a07e3bd95bd0d56f35241523fbab1', // (Arbitrum) WETH\n\n // Test nets\n [NetworkName.EthereumRopsten_DEPRECATED]:\n '0xc778417e063141139fce010982780140aa0cd5ab', // (Ropsten) WETH\n [NetworkName.EthereumGoerli_DEPRECATED]:\n '0xb4fbf271143f4fbf7b91a5ded31805e42b2208d6', // (Goerli) WETH\n [NetworkName.EthereumSepolia]: '0x97a36608DA67AF0A79e50cb6343f86F340B3b49e', // (Sepolia) WETH\n [NetworkName.PolygonMumbai]: '0x9c3C9283D3e44854697Cd22D3Faa240Cfb032889', // (Mumbai) WMATIC\n [NetworkName.ArbitrumGoerli]: '0xe39Ab88f8A4777030A534146A9Ca3B52bd5D43A3', // (Arbitrum Goerli) WETH\n [NetworkName.Hardhat]: '0x8198f5d8F8CfFE8f9C413d98a0A55aEB8ab9FbB7', // (Hardhat) WETH\n};\n\nexport const RailgunPoseidonMerkleAccumulatorV3Contract: Record<\n NetworkName,\n string\n> = {\n [NetworkName.Ethereum]: '', // TODO\n [NetworkName.BNBChain]: '', // TODO\n [NetworkName.Polygon]: '', // TODO\n [NetworkName.Arbitrum]: '', // TODO\n\n // Test nets\n [NetworkName.EthereumRopsten_DEPRECATED]: '', // TODO\n [NetworkName.EthereumGoerli_DEPRECATED]: '', // TODO\n [NetworkName.EthereumSepolia]: '', // TODO\n [NetworkName.PolygonMumbai]: '0xc7212d4efBf7425Ea07f4d9770f5809578557bC0',\n [NetworkName.ArbitrumGoerli]: '', // TODO\n [NetworkName.Hardhat]: '0x2B0d36FACD61B71CC05ab8F3D2355ec3631C0dd5',\n};\n\nexport const RailgunPoseidonMerkleVerifierV3Contract: Record<\n NetworkName,\n string\n> = {\n [NetworkName.Ethereum]: '', // TODO\n [NetworkName.BNBChain]: '', // TODO\n [NetworkName.Polygon]: '', // TODO\n [NetworkName.Arbitrum]: '', // TODO\n\n // Test nets\n [NetworkName.EthereumRopsten_DEPRECATED]: '', // TODO\n [NetworkName.EthereumGoerli_DEPRECATED]: '', // TODO\n [NetworkName.EthereumSepolia]: '', // TODO\n [NetworkName.PolygonMumbai]: '0x86CcC111692422173D8b36F693E2525606438E43',\n [NetworkName.ArbitrumGoerli]: '', // TODO\n [NetworkName.Hardhat]: '0xfbC22278A96299D91d41C453234d97b4F5Eb9B2d',\n};\n\nexport const RailgunTokenVaultV3Contract: Record<NetworkName, string> = {\n [NetworkName.Ethereum]: '', // TODO\n [NetworkName.BNBChain]: '', // TODO\n [NetworkName.Polygon]: '', // TODO\n [NetworkName.Arbitrum]: '', // TODO\n\n // Test nets\n [NetworkName.EthereumRopsten_DEPRECATED]: '', // TODO\n [NetworkName.EthereumGoerli_DEPRECATED]: '', // TODO\n [NetworkName.EthereumSepolia]: '', // TODO\n [NetworkName.PolygonMumbai]: '0x0D7A2Fe88552eFEDEdb3798308a49ddB202982ef',\n [NetworkName.ArbitrumGoerli]: '', // TODO\n [NetworkName.Hardhat]: '0xD84379CEae14AA33C123Af12424A37803F885889',\n};\n\nexport const RailgunPoseidonMerkleAccumulatorV3DeploymentBlock: Record<\n NetworkName,\n number\n> = {\n [NetworkName.Ethereum]: 0, // TODO\n [NetworkName.BNBChain]: 0, // TODO\n [NetworkName.Polygon]: 0, // TODO\n [NetworkName.Arbitrum]: 0, // TODO\n\n // Test nets\n [NetworkName.EthereumGoerli_DEPRECATED]: 0, // TODO\n [NetworkName.EthereumSepolia]: 0, // TODO\n [NetworkName.PolygonMumbai]: 42082388,\n [NetworkName.ArbitrumGoerli]: 0, // TODO\n\n [NetworkName.EthereumRopsten_DEPRECATED]: 0,\n [NetworkName.Hardhat]: 0,\n};\n\nexport const NETWORK_CONFIG: Record<NetworkName, Network> = {\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[NetworkName.Ethereum],\n decimals: 18,\n },\n proxyContract: RailgunProxyContract[NetworkName.Ethereum],\n relayAdaptContract: RelayAdaptContract[NetworkName.Ethereum],\n relayAdaptHistory: [\n '0x22af4EDBeA3De885dDa8f0a0653E6209e44e5B84', // Initial deployment\n '0xc3f2C8F9d5F0705De706b1302B7a039e1e11aC88', // V3.0 Update - Nov 2022\n '0x4025ee6512DBbda97049Bcf5AA5D38C54aF6bE8a', // V3.1 Update - Jan 2023\n ],\n deploymentBlock: RailgunProxyDeploymentBlock[NetworkName.Ethereum],\n deploymentBlockPoseidonMerkleAccumulatorV3:\n RailgunPoseidonMerkleAccumulatorV3DeploymentBlock[NetworkName.Ethereum],\n poseidonMerkleAccumulatorV3Contract:\n RailgunPoseidonMerkleAccumulatorV3Contract[NetworkName.Ethereum],\n poseidonMerkleVerifierV3Contract:\n RailgunPoseidonMerkleVerifierV3Contract[NetworkName.Ethereum],\n tokenVaultV3Contract: RailgunTokenVaultV3Contract[NetworkName.Ethereum],\n defaultEVMGasType: EVMGasType.Type2,\n poi: {\n launchBlock: 18514200, // Nov 06, 2023 - ~12:00pm ET\n launchTimestamp: 1383760800, // Unix timestamp in seconds — Nov 06, 2023, 12:00pm ET\n },\n supportsV3: false,\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[NetworkName.BNBChain],\n decimals: 18,\n },\n proxyContract: RailgunProxyContract[NetworkName.BNBChain],\n relayAdaptContract: RelayAdaptContract[NetworkName.BNBChain],\n relayAdaptHistory: [\n '0x20d868C7F1Eb706C46641ADD2f849c5DBf4dB158', // Initial deployment\n '0x25f795A8eC8aF7904aa403fF2Cc7205ce683BF52', // V3.0 Update - Nov 2022\n '0x741936fb83DDf324636D3048b3E6bC800B8D9e12', // V3.1 Update - Jan 2023\n ],\n deploymentBlock: RailgunProxyDeploymentBlock[NetworkName.BNBChain],\n defaultEVMGasType: EVMGasType.Type0,\n poseidonMerkleAccumulatorV3Contract:\n RailgunPoseidonMerkleAccumulatorV3Contract[NetworkName.BNBChain],\n poseidonMerkleVerifierV3Contract:\n RailgunPoseidonMerkleVerifierV3Contract[NetworkName.BNBChain],\n tokenVaultV3Contract: RailgunTokenVaultV3Contract[NetworkName.BNBChain],\n deploymentBlockPoseidonMerkleAccumulatorV3:\n RailgunPoseidonMerkleAccumulatorV3DeploymentBlock[NetworkName.BNBChain],\n supportsV3: false,\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[NetworkName.Polygon],\n decimals: 18,\n },\n proxyContract: RailgunProxyContract[NetworkName.Polygon],\n relayAdaptContract: RelayAdaptContract[NetworkName.Polygon],\n relayAdaptHistory: [\n '0x30D8AD0339e2CF160620589f2DBa1765126A5fDC', // Initial deployment\n '0x969eE9AC1E0B5F5Dd781f63A168C52b73062ff86', // V3.0 Update - Nov 2022\n '0xc7FfA542736321A3dd69246d73987566a5486968', // V3.1 Update - Jan 2023\n ],\n deploymentBlock: RailgunProxyDeploymentBlock[NetworkName.Polygon],\n defaultEVMGasType: EVMGasType.Type2,\n poseidonMerkleAccumulatorV3Contract:\n RailgunPoseidonMerkleAccumulatorV3Contract[NetworkName.Polygon],\n poseidonMerkleVerifierV3Contract:\n RailgunPoseidonMerkleVerifierV3Contract[NetworkName.Polygon],\n tokenVaultV3Contract: RailgunTokenVaultV3Contract[NetworkName.Polygon],\n deploymentBlockPoseidonMerkleAccumulatorV3:\n RailgunPoseidonMerkleAccumulatorV3DeploymentBlock[NetworkName.Polygon],\n supportsV3: false,\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[NetworkName.Arbitrum],\n decimals: 18,\n },\n proxyContract: RailgunProxyContract[NetworkName.Arbitrum],\n relayAdaptContract: RelayAdaptContract[NetworkName.Arbitrum],\n relayAdaptHistory: [\n '0x5aD95C537b002770a39dea342c4bb2b68B1497aA', // Initial deployment - Feb 2023 post v3.1\n ],\n deploymentBlock: RailgunProxyDeploymentBlock[NetworkName.Arbitrum],\n defaultEVMGasType: EVMGasType.Type2,\n poseidonMerkleAccumulatorV3Contract:\n RailgunPoseidonMerkleAccumulatorV3Contract[NetworkName.Arbitrum],\n poseidonMerkleVerifierV3Contract:\n RailgunPoseidonMerkleVerifierV3Contract[NetworkName.Arbitrum],\n tokenVaultV3Contract: RailgunTokenVaultV3Contract[NetworkName.Arbitrum],\n deploymentBlockPoseidonMerkleAccumulatorV3:\n RailgunPoseidonMerkleAccumulatorV3DeploymentBlock[NetworkName.Arbitrum],\n supportsV3: false,\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:\n BaseTokenWrappedAddress[NetworkName.EthereumRopsten_DEPRECATED],\n decimals: 18,\n },\n proxyContract: RailgunProxyContract[NetworkName.EthereumRopsten_DEPRECATED],\n relayAdaptContract:\n RelayAdaptContract[NetworkName.EthereumRopsten_DEPRECATED],\n relayAdaptHistory: [''],\n deploymentBlock:\n RailgunProxyDeploymentBlock[NetworkName.EthereumRopsten_DEPRECATED],\n isTestnet: true,\n defaultEVMGasType: EVMGasType.Type2,\n poseidonMerkleAccumulatorV3Contract:\n RailgunPoseidonMerkleAccumulatorV3Contract[\n NetworkName.EthereumRopsten_DEPRECATED\n ],\n poseidonMerkleVerifierV3Contract:\n RailgunPoseidonMerkleVerifierV3Contract[\n NetworkName.EthereumRopsten_DEPRECATED\n ],\n tokenVaultV3Contract:\n RailgunTokenVaultV3Contract[NetworkName.EthereumRopsten_DEPRECATED],\n deploymentBlockPoseidonMerkleAccumulatorV3:\n RailgunPoseidonMerkleAccumulatorV3DeploymentBlock[\n NetworkName.EthereumRopsten_DEPRECATED\n ],\n supportsV3: false,\n },\n [NetworkName.EthereumGoerli_DEPRECATED]: {\n deprecated: true,\n chain: {\n type: ChainType.EVM,\n id: 5,\n },\n name: NetworkName.EthereumGoerli_DEPRECATED,\n publicName: 'Görli Testnet',\n shortPublicName: 'Görli',\n coingeckoId: 'ethereum',\n baseToken: {\n symbol: 'ETH',\n wrappedSymbol: 'WETH',\n wrappedAddress:\n BaseTokenWrappedAddress[NetworkName.EthereumGoerli_DEPRECATED],\n decimals: 18,\n },\n proxyContract: RailgunProxyContract[NetworkName.EthereumGoerli_DEPRECATED],\n relayAdaptContract:\n RelayAdaptContract[NetworkName.EthereumGoerli_DEPRECATED],\n relayAdaptHistory: [\n '0xD147B7Dfa636a1c50A52bF6A6FE910680274eE24', // Initial deployment\n '0x57F5925FeB79B1fd7Cc491F858D7fBc65502D3FE', // V3.0 Update - Nov 2022\n '0x6E9C59F042acB1577A297eDE607c21Ff284846F3', // V3.1 partial update - Jan 2023\n '0x14a57CA7C5c1AD54fB6c642f428d973fcD696ED4', // V3.1 Update - Jan 2023\n ],\n deploymentBlock:\n RailgunProxyDeploymentBlock[NetworkName.EthereumGoerli_DEPRECATED],\n isTestnet: true,\n defaultEVMGasType: EVMGasType.Type2,\n poi: {\n launchBlock: 9802000, // Oct 3, 2023\n launchTimestamp: 1380794400, // Unix timestamp in seconds — Oct 3, 2023, 12:00pm ET\n },\n poseidonMerkleAccumulatorV3Contract:\n RailgunPoseidonMerkleAccumulatorV3Contract[\n NetworkName.EthereumGoerli_DEPRECATED\n ],\n poseidonMerkleVerifierV3Contract:\n RailgunPoseidonMerkleVerifierV3Contract[\n NetworkName.EthereumGoerli_DEPRECATED\n ],\n tokenVaultV3Contract:\n RailgunTokenVaultV3Contract[NetworkName.EthereumGoerli_DEPRECATED],\n deploymentBlockPoseidonMerkleAccumulatorV3:\n RailgunPoseidonMerkleAccumulatorV3DeploymentBlock[\n NetworkName.EthereumGoerli_DEPRECATED\n ],\n supportsV3: false,\n },\n [NetworkName.EthereumSepolia]: {\n chain: {\n type: ChainType.EVM,\n id: 11155111,\n },\n name: NetworkName.EthereumSepolia,\n publicName: 'Sepolia Testnet',\n shortPublicName: 'Sepolia',\n coingeckoId: 'ethereum',\n baseToken: {\n symbol: 'ETH',\n wrappedSymbol: 'WETH',\n wrappedAddress: BaseTokenWrappedAddress[NetworkName.EthereumSepolia],\n decimals: 18,\n },\n proxyContract: RailgunProxyContract[NetworkName.EthereumSepolia],\n relayAdaptContract: RelayAdaptContract[NetworkName.EthereumSepolia],\n relayAdaptHistory: [\n '0xCc1C4D2B362c3a0Fb19f734A896A58C81A062dc8', // Initial deployment - Oct 2023\n ],\n deploymentBlock: RailgunProxyDeploymentBlock[NetworkName.EthereumSepolia],\n isDevOnlyNetwork: true,\n isTestnet: true,\n defaultEVMGasType: EVMGasType.Type2,\n poseidonMerkleAccumulatorV3Contract:\n RailgunPoseidonMerkleAccumulatorV3Contract[NetworkName.EthereumSepolia],\n poseidonMerkleVerifierV3Contract:\n RailgunPoseidonMerkleVerifierV3Contract[NetworkName.EthereumSepolia],\n tokenVaultV3Contract:\n RailgunTokenVaultV3Contract[NetworkName.EthereumSepolia],\n deploymentBlockPoseidonMerkleAccumulatorV3:\n RailgunPoseidonMerkleAccumulatorV3DeploymentBlock[\n NetworkName.EthereumSepolia\n ],\n supportsV3: 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[NetworkName.PolygonMumbai],\n decimals: 18,\n },\n proxyContract: RailgunProxyContract[NetworkName.PolygonMumbai],\n relayAdaptContract: RelayAdaptContract[NetworkName.PolygonMumbai],\n relayAdaptHistory: [\n '0x8B936B018CeA1c1cc14961CAdabD36E7fe9192cD', // Initial deployment\n '0x80efF1a8939C9B6E8C61Ed5Be683Eda21088B7E6', // V3.0 Update - Nov 2022\n '0x17D36875D723Cf0dA250d404Ef4cA0aABE105837', // V3.1 Update - Jan 2023\n ],\n deploymentBlock: RailgunProxyDeploymentBlock[NetworkName.PolygonMumbai],\n isDevOnlyNetwork: true,\n isTestnet: true,\n defaultEVMGasType: EVMGasType.Type2,\n poseidonMerkleAccumulatorV3Contract:\n RailgunPoseidonMerkleAccumulatorV3Contract[NetworkName.PolygonMumbai],\n poseidonMerkleVerifierV3Contract:\n RailgunPoseidonMerkleVerifierV3Contract[NetworkName.PolygonMumbai],\n tokenVaultV3Contract:\n RailgunTokenVaultV3Contract[NetworkName.PolygonMumbai],\n deploymentBlockPoseidonMerkleAccumulatorV3:\n RailgunPoseidonMerkleAccumulatorV3DeploymentBlock[\n NetworkName.PolygonMumbai\n ],\n supportsV3: 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[NetworkName.ArbitrumGoerli],\n decimals: 18,\n },\n proxyContract: RailgunProxyContract[NetworkName.ArbitrumGoerli],\n relayAdaptContract: RelayAdaptContract[NetworkName.ArbitrumGoerli],\n relayAdaptHistory: [\n '0x7E77d890179Aa683ac2B9A608bd8121255CAa917', // Initial deployment (post v3.0)\n '0x3eAf99B5EDc79D833AA8B6d18F0a8dd041e13eF6', // V3.1 Update - Jan 2023\n ],\n deploymentBlock: RailgunProxyDeploymentBlock[NetworkName.ArbitrumGoerli],\n isTestnet: true,\n defaultEVMGasType: EVMGasType.Type2,\n poseidonMerkleAccumulatorV3Contract:\n RailgunPoseidonMerkleAccumulatorV3Contract[NetworkName.ArbitrumGoerli],\n poseidonMerkleVerifierV3Contract:\n RailgunPoseidonMerkleVerifierV3Contract[NetworkName.ArbitrumGoerli],\n tokenVaultV3Contract:\n RailgunTokenVaultV3Contract[NetworkName.ArbitrumGoerli],\n deploymentBlockPoseidonMerkleAccumulatorV3:\n RailgunPoseidonMerkleAccumulatorV3DeploymentBlock[\n NetworkName.ArbitrumGoerli\n ],\n supportsV3: 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[NetworkName.Hardhat],\n decimals: 18,\n },\n proxyContract: RailgunProxyContract[NetworkName.Hardhat],\n relayAdaptContract: RelayAdaptContract[NetworkName.Hardhat],\n relayAdaptHistory: [''],\n deploymentBlock: RailgunProxyDeploymentBlock[NetworkName.Hardhat],\n isDevOnlyNetwork: true,\n isTestnet: true,\n defaultEVMGasType: EVMGasType.Type2,\n poseidonMerkleAccumulatorV3Contract:\n RailgunPoseidonMerkleAccumulatorV3Contract[NetworkName.Hardhat],\n poseidonMerkleVerifierV3Contract:\n RailgunPoseidonMerkleVerifierV3Contract[NetworkName.Hardhat],\n tokenVaultV3Contract: RailgunTokenVaultV3Contract[NetworkName.Hardhat],\n deploymentBlockPoseidonMerkleAccumulatorV3:\n RailgunPoseidonMerkleAccumulatorV3DeploymentBlock[NetworkName.Hardhat],\n supportsV3: true,\n },\n};\n"]}
|
|
@@ -71,16 +71,22 @@ export type SingleCommitmentProofsData = {
|
|
|
71
71
|
pois: PreTransactionPOIsPerTxidLeafPerList;
|
|
72
72
|
};
|
|
73
73
|
export type SubmitTransactProofParams = {
|
|
74
|
+
chainType: string;
|
|
75
|
+
chainID: string;
|
|
74
76
|
txidVersion: TXIDVersion;
|
|
75
77
|
listKey: string;
|
|
76
78
|
transactProofData: TransactProofData;
|
|
77
79
|
};
|
|
78
80
|
export type SubmitLegacyTransactProofParams = {
|
|
81
|
+
chainType: string;
|
|
82
|
+
chainID: string;
|
|
79
83
|
txidVersion: TXIDVersion;
|
|
80
84
|
listKeys: string[];
|
|
81
85
|
legacyTransactProofDatas: LegacyTransactProofData[];
|
|
82
86
|
};
|
|
83
87
|
export type SubmitSingleCommitmentProofsParams = {
|
|
88
|
+
chainType: string;
|
|
89
|
+
chainID: string;
|
|
84
90
|
txidVersion: TXIDVersion;
|
|
85
91
|
singleCommitmentProofsData: SingleCommitmentProofsData;
|
|
86
92
|
};
|
|
@@ -90,6 +96,8 @@ export declare enum BlindedCommitmentType {
|
|
|
90
96
|
Unshield = "Unshield"
|
|
91
97
|
}
|
|
92
98
|
export type ValidatePOIMerklerootsParams = {
|
|
99
|
+
chainType: string;
|
|
100
|
+
chainID: string;
|
|
93
101
|
txidVersion: TXIDVersion;
|
|
94
102
|
listKey: string;
|
|
95
103
|
poiMerkleroots: string[];
|
|
@@ -99,22 +107,30 @@ export type BlindedCommitmentData = {
|
|
|
99
107
|
type: BlindedCommitmentType;
|
|
100
108
|
};
|
|
101
109
|
export type GetPOIsPerListParams = {
|
|
110
|
+
chainType: string;
|
|
111
|
+
chainID: string;
|
|
102
112
|
txidVersion: TXIDVersion;
|
|
103
113
|
listKeys: string[];
|
|
104
114
|
blindedCommitmentDatas: BlindedCommitmentData[];
|
|
105
115
|
};
|
|
106
116
|
export type GetMerkleProofsParams = {
|
|
117
|
+
chainType: string;
|
|
118
|
+
chainID: string;
|
|
107
119
|
txidVersion: TXIDVersion;
|
|
108
120
|
listKey: string;
|
|
109
121
|
blindedCommitments: string[];
|
|
110
122
|
};
|
|
111
123
|
export type ValidateTxidMerklerootParams = {
|
|
124
|
+
chainType: string;
|
|
125
|
+
chainID: string;
|
|
112
126
|
txidVersion: TXIDVersion;
|
|
113
127
|
tree: number;
|
|
114
128
|
index: number;
|
|
115
129
|
merkleroot: string;
|
|
116
130
|
};
|
|
117
131
|
export type GetLatestValidatedRailgunTxidParams = {
|
|
132
|
+
chainType: string;
|
|
133
|
+
chainID: string;
|
|
118
134
|
txidVersion: TXIDVersion;
|
|
119
135
|
};
|
|
120
136
|
export declare enum POIStatus {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"proof-of-innocence.js","sourceRoot":"","sources":["../../src/models/proof-of-innocence.ts"],"names":[],"mappings":";;;AAmCA,IAAY,YAKX;AALD,WAAY,YAAY;IACtB,iCAAiB,CAAA;IACjB,qCAAqB,CAAA;IACrB,qCAAqB,CAAA;IACrB,iDAAiC,CAAA;AACnC,CAAC,EALW,YAAY,4BAAZ,YAAY,QAKvB;
|
|
1
|
+
{"version":3,"file":"proof-of-innocence.js","sourceRoot":"","sources":["../../src/models/proof-of-innocence.ts"],"names":[],"mappings":";;;AAmCA,IAAY,YAKX;AALD,WAAY,YAAY;IACtB,iCAAiB,CAAA;IACjB,qCAAqB,CAAA;IACrB,qCAAqB,CAAA;IACrB,iDAAiC,CAAA;AACnC,CAAC,EALW,YAAY,4BAAZ,YAAY,QAKvB;AAkED,IAAY,qBAIX;AAJD,WAAY,qBAAqB;IAC/B,0CAAiB,CAAA;IACjB,8CAAqB,CAAA;IACrB,8CAAqB,CAAA;AACvB,CAAC,EAJW,qBAAqB,qCAArB,qBAAqB,QAIhC;AA8CD,IAAY,SASX;AATD,WAAY,SAAS;IACnB,6BAA6B;IAC7B,4BAAe,CAAA;IACf,iBAAiB;IACjB,4CAA+B,CAAA;IAC/B,2DAA2D;IAC3D,8CAAiC,CAAA;IACjC,sEAAsE;IACtE,gCAAmB,CAAA;AACrB,CAAC,EATW,SAAS,yBAAT,SAAS,QASpB;AAyCY,QAAA,sBAAsB,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,SAAS;AAC3C,QAAA,2BAA2B,GAAG,UAAU,CAAC;AACzC,QAAA,+BAA+B,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,YAAY;AACtD,QAAA,oCAAoC,GAAG,cAAc,CAAC;AAEnE,IAAY,WAGX;AAHD,WAAY,WAAW;IACrB,gCAAiB,CAAA;IACjB,gCAAiB,CAAA;AACnB,CAAC,EAHW,WAAW,2BAAX,WAAW,QAGtB;AASY,QAAA,kBAAkB,GAAc;IAC3C;QACE,GAAG,EAAE,kEAAkE;QACvE,IAAI,EAAE,WAAW,CAAC,MAAM;QACxB,IAAI,EAAE,gCAAgC;QACtC,WAAW,EACT,2KAA2K;KAC9K;CACF,CAAC;AAEF,IAAY,gBAmBX;AAnBD,WAAY,gBAAgB;IAC1B,mDAA+B,CAAA;IAC/B,iDAA6B,CAAA;IAC7B,sEAAkD,CAAA;IAClD,2DAAuC,CAAA;IACvC,wEAAoD,CAAA;IACpD,2DAAuC,CAAA;IACvC,8DAA0C,CAAA;IAC1C,sEAAkD,CAAA;IAClD,sEAAkD,CAAA;IAClD,sEAAkD,CAAA;IAClD,qFAAiE,CAAA;IACjE,yFAAqE,CAAA;IACrE,sDAAkC,CAAA;IAClC,iFAA6D,CAAA;IAC7D,uDAAmC,CAAA;IACnC,yDAAqC,CAAA;IACrC,4EAAwD,CAAA;IACxD,4EAAwD,CAAA;AAC1D,CAAC,EAnBW,gBAAgB,gCAAhB,gBAAgB,QAmB3B","sourcesContent":["import { TXIDVersion } from './engine';\nimport { NetworkName } from './network-config';\nimport { PreTransactionPOIsPerTxidLeafPerList } from './response-types';\n\nexport type TransactProofData = {\n snarkProof: SnarkProof;\n poiMerkleroots: string[];\n txidMerkleroot: string;\n txidMerklerootIndex: number;\n blindedCommitmentsOut: string[];\n railgunTxidIfHasUnshield: string;\n};\n\nexport type SnarkProof = {\n pi_a: [string, string];\n pi_b: [[string, string], [string, string]];\n pi_c: [string, string];\n};\n\nexport type MerkleProof = {\n leaf: string; // hash of commitment\n elements: string[];\n indices: string;\n root: string;\n};\n\nexport type ShieldQueueStatus = {\n unknown: number;\n pending: number;\n allowed: number;\n blocked: number;\n addedPOI: number;\n latestShield: Optional<string>;\n};\n\nexport enum POIEventType {\n Shield = 'Shield',\n Transact = 'Transact',\n Unshield = 'Unshield',\n LegacyTransact = 'LegacyTransact',\n}\n\nexport type POIEventLengths = Record<POIEventType, number>;\n\nexport type POIListStatus = {\n poiEventLengths: POIEventLengths;\n listProviderPOIEventQueueLength: Optional<number>;\n pendingTransactProofs: number;\n blockedShields: number;\n historicalMerklerootsLength: number;\n latestHistoricalMerkleroot: string;\n};\n\nexport type GetTransactProofsParams = {\n txidVersion: TXIDVersion;\n bloomFilterSerialized: string;\n listKey: string;\n};\n\nexport type GetBlockedShieldsParams = {\n txidVersion: TXIDVersion;\n bloomFilterSerialized: string;\n listKey: string;\n};\n\nexport type LegacyTransactProofData = {\n txidIndex: string;\n npk: string;\n value: string;\n tokenHash: string;\n blindedCommitment: string;\n};\n\nexport type SingleCommitmentProofsData = {\n commitment: string;\n npk: string;\n utxoTreeIn: number;\n utxoTreeOut: number;\n utxoPositionOut: number;\n railgunTxid: string;\n pois: PreTransactionPOIsPerTxidLeafPerList;\n};\n\nexport type SubmitTransactProofParams = {\n chainType: string;\n chainID: string;\n txidVersion: TXIDVersion;\n listKey: string;\n transactProofData: TransactProofData;\n};\n\nexport type SubmitLegacyTransactProofParams = {\n chainType: string;\n chainID: string;\n txidVersion: TXIDVersion;\n listKeys: string[];\n legacyTransactProofDatas: LegacyTransactProofData[];\n};\n\nexport type SubmitSingleCommitmentProofsParams = {\n chainType: string;\n chainID: string;\n txidVersion: TXIDVersion;\n singleCommitmentProofsData: SingleCommitmentProofsData;\n};\n\nexport enum BlindedCommitmentType {\n Shield = 'Shield',\n Transact = 'Transact',\n Unshield = 'Unshield',\n}\n\nexport type ValidatePOIMerklerootsParams = {\n chainType: string;\n chainID: string;\n txidVersion: TXIDVersion;\n listKey: string;\n poiMerkleroots: string[];\n};\n\nexport type BlindedCommitmentData = {\n blindedCommitment: string;\n type: BlindedCommitmentType;\n};\n\nexport type GetPOIsPerListParams = {\n chainType: string;\n chainID: string;\n txidVersion: TXIDVersion;\n listKeys: string[];\n blindedCommitmentDatas: BlindedCommitmentData[];\n};\n\nexport type GetMerkleProofsParams = {\n chainType: string;\n chainID: string;\n txidVersion: TXIDVersion;\n listKey: string;\n blindedCommitments: string[];\n};\n\nexport type ValidateTxidMerklerootParams = {\n chainType: string;\n chainID: string;\n txidVersion: TXIDVersion;\n tree: number;\n index: number;\n merkleroot: string;\n};\n\nexport type GetLatestValidatedRailgunTxidParams = {\n chainType: string;\n chainID: string;\n txidVersion: TXIDVersion;\n};\n\nexport enum POIStatus {\n // POI valdated in event list\n Valid = 'Valid',\n // Shield blocked\n ShieldBlocked = 'ShieldBlocked',\n // Transact/Unshield proof submitted, but not validated yet\n ProofSubmitted = 'ProofSubmitted',\n // Missing internal/external transact/unshield proof, or ShieldPending\n Missing = 'Missing',\n}\n\nexport type POIsPerList = {\n [listKey: string]: POIStatus;\n};\n\nexport type POIsPerListMap = {\n [blindedCommitment: string]: POIsPerList;\n};\n\nexport type TxidMerkletreeSyncStatus = {\n currentTxidIndex: number;\n currentMerkleroot: string;\n validatedTxidIndex: number;\n validatedMerkleroot: string;\n};\n\nexport type RailgunTxidStatus = {\n currentTxidIndex: Optional<number>;\n currentMerkleroot: Optional<string>;\n validatedTxidIndex: Optional<number>;\n validatedMerkleroot: Optional<string>;\n};\n\nexport type ValidatedRailgunTxidStatus = {\n validatedTxidIndex: Optional<number>;\n validatedMerkleroot: Optional<string>;\n};\n\nexport type NodeStatusAllNetworks = {\n listKeys: string[];\n forNetwork: Partial<Record<NetworkName, NodeStatusForNetwork>>;\n};\n\nexport type NodeStatusForNetwork = {\n txidStatus: RailgunTxidStatus;\n shieldQueueStatus: ShieldQueueStatus;\n listStatuses: Record<string, POIListStatus>;\n legacyTransactProofs: number;\n};\n\nexport const POI_SHIELD_PENDING_SEC = 60 * 60; // 1 hour\nexport const POI_SHIELD_PENDING_SEC_TEXT = 'One hour';\nexport const POI_SHIELD_PENDING_SEC_TEST_NET = 5 * 60; // 5 minutes\nexport const POI_SHIELD_PENDING_SEC_TEST_NET_TEXT = 'Five minutes';\n\nexport enum POIListType {\n Active = 'Active',\n Gather = 'Gather',\n}\n\nexport type POIList = {\n key: string;\n type: POIListType;\n name: string;\n description: string;\n};\n\nexport const POI_REQUIRED_LISTS: POIList[] = [\n {\n key: 'efc6ddb59c098a13fb2b618fdae94c1c3a807abc8fb1837c93620c9143ee9e88',\n type: POIListType.Active,\n name: 'Chainalysis OFAC Sanctions API',\n description:\n 'API which is used to restrict bad actors designated by the US Department of the Treasury. See: https://www.chainalysis.com/free-cryptocurrency-sanctions-screening-tools.',\n },\n];\n\nexport enum POIJSONRPCMethod {\n NodeStatus = 'ppoi_node_status',\n POIEvents = 'ppoi_poi_events',\n POIMerkletreeLeaves = 'ppoi_poi_merkletree_leaves',\n TransactProofs = 'ppoi_transact_proofs',\n LegacyTransactProofs = 'ppoi_legacy_transact_proofs',\n BlockedShields = 'ppoi_blocked_shields',\n SubmitPOIEvents = 'ppoi_submit_poi_events',\n SubmitValidatedTXID = 'ppoi_submit_validated_txid',\n RemoveTransactProof = 'ppoi_remove_transact_proof',\n SubmitTransactProof = 'ppoi_submit_transact_proof',\n SubmitLegacyTransactProofs = 'ppoi_submit_legacy_transact_proofs',\n SubmitSingleCommitmentProofs = 'ppoi_submit_single_commitment_proofs',\n POIsPerList = 'ppoi_pois_per_list',\n POIsPerBlindedCommitment = 'ppoi_pois_per_blinded_commitment',\n MerkleProofs = 'ppoi_merkle_proofs',\n ValidatedTXID = 'ppoi_validated_txid',\n ValidateTXIDMerkleroot = 'ppoi_validate_txid_merkleroot',\n ValidatePOIMerkleroots = 'ppoi_validate_poi_merkleroots',\n}\n"]}
|