dop-sharedmodel 1.0.0
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/LICENSE +21 -0
- package/README.md +0 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.js +19 -0
- package/dist/index.js.map +1 -0
- package/dist/json/artifacts.json +218 -0
- package/dist/models/artifact.d.ts +19 -0
- package/dist/models/artifact.js +11 -0
- package/dist/models/artifact.js.map +1 -0
- package/dist/models/blocked-address.d.ts +1 -0
- package/dist/models/blocked-address.js +143 -0
- package/dist/models/blocked-address.js.map +1 -0
- package/dist/models/function-types.d.ts +2 -0
- package/dist/models/function-types.js +3 -0
- package/dist/models/function-types.js.map +1 -0
- package/dist/models/index.d.ts +10 -0
- package/dist/models/index.js +27 -0
- package/dist/models/index.js.map +1 -0
- package/dist/models/merkletree-scan.d.ts +6 -0
- package/dist/models/merkletree-scan.js +11 -0
- package/dist/models/merkletree-scan.js.map +1 -0
- package/dist/models/network-config.d.ts +90 -0
- package/dist/models/network-config.js +688 -0
- package/dist/models/network-config.js.map +1 -0
- package/dist/models/proof.d.ts +6 -0
- package/dist/models/proof.js +11 -0
- package/dist/models/proof.js.map +1 -0
- package/dist/models/relayer.d.ts +69 -0
- package/dist/models/relayer.js +12 -0
- package/dist/models/relayer.js.map +1 -0
- package/dist/models/response-types.d.ts +180 -0
- package/dist/models/response-types.js +31 -0
- package/dist/models/response-types.js.map +1 -0
- package/dist/models/transaction.d.ts +4 -0
- package/dist/models/transaction.js +3 -0
- package/dist/models/transaction.js.map +1 -0
- package/dist/models/wallet.d.ts +6 -0
- package/dist/models/wallet.js +11 -0
- package/dist/models/wallet.js.map +1 -0
- package/dist/utils/artifact-v2.d.ts +2 -0
- package/dist/utils/artifact-v2.js +24 -0
- package/dist/utils/artifact-v2.js.map +1 -0
- package/dist/utils/available-rpc.d.ts +8 -0
- package/dist/utils/available-rpc.js +58 -0
- package/dist/utils/available-rpc.js.map +1 -0
- package/dist/utils/compare.d.ts +2 -0
- package/dist/utils/compare.js +8 -0
- package/dist/utils/compare.js.map +1 -0
- package/dist/utils/configured-json-rpc-provider.d.ts +4 -0
- package/dist/utils/configured-json-rpc-provider.js +15 -0
- package/dist/utils/configured-json-rpc-provider.js.map +1 -0
- package/dist/utils/error.d.ts +1 -0
- package/dist/utils/error.js +82 -0
- package/dist/utils/error.js.map +1 -0
- package/dist/utils/fallback-provider.d.ts +13 -0
- package/dist/utils/fallback-provider.js +36 -0
- package/dist/utils/fallback-provider.js.map +1 -0
- package/dist/utils/format.d.ts +1 -0
- package/dist/utils/format.js +8 -0
- package/dist/utils/format.js.map +1 -0
- package/dist/utils/gas.d.ts +7 -0
- package/dist/utils/gas.js +45 -0
- package/dist/utils/gas.js.map +1 -0
- package/dist/utils/index.d.ts +11 -0
- package/dist/utils/index.js +28 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/utils/median.d.ts +1 -0
- package/dist/utils/median.js +13 -0
- package/dist/utils/median.js.map +1 -0
- package/dist/utils/network.d.ts +5 -0
- package/dist/utils/network.js +16 -0
- package/dist/utils/network.js.map +1 -0
- package/dist/utils/promises.d.ts +4 -0
- package/dist/utils/promises.js +44 -0
- package/dist/utils/promises.js.map +1 -0
- package/dist/utils/util.d.ts +3 -0
- package/dist/utils/util.js +18 -0
- package/dist/utils/util.js.map +1 -0
- package/dist/utils/versions.d.ts +1 -0
- package/dist/utils/versions.js +47 -0
- package/dist/utils/versions.js.map +1 -0
- package/package.json +48 -0
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"network-config.js","sourceRoot":"","sources":["../../src/models/network-config.ts"],"names":[],"mappings":"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","sourcesContent":["\n\nimport { Chain, ChainType, EVMGasType } from './response-types';\n\n/**\n * DO NOT CHANGE THESE ENUM STRINGS.\n */\nexport enum NetworkName {\n // Mainnets\n Dop = 'Dop',\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: DopProxyContract;\n relayAdaptContract: RelayAdaptContract;\n relayAdaptHistory: string[];\n deploymentBlock: DopProxyDeploymentBlock;\n isDevOnlyNetwork?: boolean;\n isTestnet?: boolean;\n defaultEVMGasType: EVMGasType;\n shouldQuickSync: boolean;\n deprecated?: boolean;\n};\n// 0xF106Ae57E68Cfb5b949f76BE695054b21b6C103d matic\n// 0xfa7093cdd9ee6932b4eb2c9e1cde7ce00b1fa4b9 eth\nexport enum DopProxyContract {\n Ethereum = '0x9A3152b61420ed4D5e594c0b48bB932eE41B7376',\n BNBChain = '0x590162bf4b50f6576a459b75309ee21d92178a10',\n PolygonPOS = '0xd985892ABfc2d4d84356EA980E023b7Cb5A40Bce',\n Arbitrum = '0xFA7093CDD9EE6932B4eb2c9e1cde7CE00B1FA4b9',\n\n // Test nets\n EthereumRopsten = '',\n EthereumGoerli = '0x17C28A7A599E7B95e911C9B661daCa8B97eBd449',\n PolygonMumbai = '0x10E826585cFd1D36e7B72f9679A3e1a1e41f2218',\n ArbitrumGoerli = '0xA0603e598F9Ac2fc7475a3fA08D0794066615D9a',\n Hardhat = '0x610178dA211FEF7D417bC0e6FeD39F05609AD788',\n}\n// PolygonPOS = '0x19b620929f97b7b990801496c3b361ca5def8c71',\n// PolygonMumbai = '0x3ee8306321d992483BDC9c69B8F622Ba3FFF05B6',\n\n// EthereumGoerli = '0xe8bEa99BB438C2f3D533604D33258d74d5eE4824',\n // EthereumGoerli = '0x52E5351105A51cA5CB85367796ded62e7BF39f78',\n // 0x52bf5D2FdCD14362c2EE29fBef524974B6a66E1c\n // 0x52bf5D2FdCD14362c2EE29fBef524974B6a66E1c\n // 0xef8a65c74C71Fe082B7a4EE15CEC807a7FEB203d\n // 0x17C28A7A599E7B95e911C9B661daCa8B97eBd449\n // 0xB68318451f0486091B173FD80140a13624934641\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// EthereumGoerli = '0x14a57CA7C5c1AD54fB6c642f428d973fcD696ED4',\n\nexport enum DopProxyDeploymentBlock {\n Ethereum = 19920007,\n BNBChain = 17633701,\n PolygonPOS = 57223040,\n Arbitrum = 56109834,\n\n // Test nets\n EthereumRopsten = 12226000,\n EthereumGoerli = 10578419,\n PolygonMumbai = 47789724,\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: Record<NetworkName, Network> = {\n [NetworkName.Dop]: {\n chain: {\n type: ChainType.EVM,\n id: -1,\n },\n name: NetworkName.Dop,\n publicName: 'DOP',\n shortPublicName: '',\n coingeckoId: '',\n baseToken: {} as BaseToken,\n proxyContract: DopProxyContract.Ethereum,\n relayAdaptContract: RelayAdaptContract.Ethereum,\n relayAdaptHistory: [],\n deploymentBlock: DopProxyDeploymentBlock.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: DopProxyContract.Ethereum,\n relayAdaptContract: RelayAdaptContract.Ethereum,\n relayAdaptHistory: [\n '0x22af4EDBeA3De885dDa8f0a0653E6209e44e5B84', // Initial deployment\n '0xc3f2C8F9d5F0705De706b1302B7a039e1e11aC88', // V3.0 Update - Nov 2022\n '0x4025ee6512DBbda97049Bcf5AA5D38C54aF6bE8a', // V3.1 Update - Jan 2023\n ],\n deploymentBlock: DopProxyDeploymentBlock.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: DopProxyContract.BNBChain,\n relayAdaptContract: RelayAdaptContract.BNBChain,\n relayAdaptHistory: [\n '0x20d868C7F1Eb706C46641ADD2f849c5DBf4dB158', // Initial deployment\n '0x25f795A8eC8aF7904aa403fF2Cc7205ce683BF52', // V3.0 Update - Nov 2022\n '0x741936fb83DDf324636D3048b3E6bC800B8D9e12', // V3.1 Update - Jan 2023\n ],\n deploymentBlock: DopProxyDeploymentBlock.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: DopProxyContract.PolygonPOS,\n relayAdaptContract: RelayAdaptContract.PolygonPOS,\n relayAdaptHistory: [\n '0x30D8AD0339e2CF160620589f2DBa1765126A5fDC', // Initial deployment\n '0x969eE9AC1E0B5F5Dd781f63A168C52b73062ff86', // V3.0 Update - Nov 2022\n '0xc7FfA542736321A3dd69246d73987566a5486968', // V3.1 Update - Jan 2023\n ],\n deploymentBlock: DopProxyDeploymentBlock.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: DopProxyContract.Arbitrum,\n relayAdaptContract: RelayAdaptContract.Arbitrum,\n relayAdaptHistory: [\n '0x5aD95C537b002770a39dea342c4bb2b68B1497aA', // Initial deployment - Feb 2023 post v3.1\n ],\n deploymentBlock: DopProxyDeploymentBlock.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: DopProxyContract.EthereumRopsten,\n relayAdaptContract: RelayAdaptContract.EthereumRopsten,\n relayAdaptHistory: [''],\n deploymentBlock: DopProxyDeploymentBlock.EthereumRopsten,\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: DopProxyContract.EthereumGoerli,\n relayAdaptContract: RelayAdaptContract.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: DopProxyDeploymentBlock.EthereumGoerli,\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: DopProxyContract.PolygonMumbai,\n relayAdaptContract: RelayAdaptContract.PolygonMumbai,\n relayAdaptHistory: [\n '0x8B936B018CeA1c1cc14961CAdabD36E7fe9192cD', // Initial deployment\n '0x80efF1a8939C9B6E8C61Ed5Be683Eda21088B7E6', // V3.0 Update - Nov 2022\n '0x17D36875D723Cf0dA250d404Ef4cA0aABE105837', // V3.1 Update - Jan 2023\n ],\n deploymentBlock: DopProxyDeploymentBlock.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: DopProxyContract.ArbitrumGoerli,\n relayAdaptContract: RelayAdaptContract.ArbitrumGoerli,\n relayAdaptHistory: [\n '0x7E77d890179Aa683ac2B9A608bd8121255CAa917', // Initial deployment (post v3.0)\n '0x3eAf99B5EDc79D833AA8B6d18F0a8dd041e13eF6', // V3.1 Update - Jan 2023\n ],\n deploymentBlock: DopProxyDeploymentBlock.ArbitrumGoerli,\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: DopProxyContract.Hardhat,\n relayAdaptContract: RelayAdaptContract.Hardhat,\n relayAdaptHistory: [''],\n deploymentBlock: DopProxyDeploymentBlock.Hardhat,\n isDevOnlyNetwork: true,\n isTestnet: true,\n defaultEVMGasType: EVMGasType.Type2,\n shouldQuickSync: false,\n },\n};\n\n\n// import { Chain, ChainType, EVMGasType } from './response-types';\n\n// /**\n// * DO NOT CHANGE THESE ENUM STRINGS.\n// */\n// export enum NetworkName {\n// // Mainnets\n// Dop = 'Dop',\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\n// export type FeesSerialized = {\n// shield: string;\n// unshield: string;\n// nft: string;\n// };\n\n// type BaseToken = {\n// symbol: string;\n// wrappedSymbol: string;\n// wrappedAddress: BaseTokenWrappedAddress;\n// decimals: number;\n// };\n\n// export type Network = {\n// chain: Chain;\n// name: NetworkName;\n// publicName: string;\n// shortPublicName: string;\n// coingeckoId: string;\n// baseToken: BaseToken;\n// proxyContract: DopProxyContract;\n// relayAdaptContract: RelayAdaptContract;\n// relayAdaptHistory: string[];\n// deploymentBlock: DopProxyDeploymentBlock;\n// isDevOnlyNetwork?: boolean;\n// isTestnet?: boolean;\n// defaultEVMGasType: EVMGasType;\n// shouldQuickSync: boolean;\n// deprecated?: boolean;\n// };\n\n// export enum DopProxyContract {\n// Ethereum = '0xfa7093cdd9ee6932b4eb2c9e1cde7ce00b1fa4b9',\n// BNBChain = '0x590162bf4b50f6576a459b75309ee21d92178a10',\n// PolygonPOS = '0x19b620929f97b7b990801496c3b361ca5def8c71',\n// Arbitrum = '0xFA7093CDD9EE6932B4eb2c9e1cde7CE00B1FA4b9',\n\n// // Test nets\n// EthereumRopsten = '',\n// EthereumGoerli = '0x52E5351105A51cA5CB85367796ded62e7BF39f78',\n// PolygonMumbai = '0x3ee8306321d992483BDC9c69B8F622Ba3FFF05B6',\n// ArbitrumGoerli = '0xA0603e598F9Ac2fc7475a3fA08D0794066615D9a',\n// Hardhat = '0x610178dA211FEF7D417bC0e6FeD39F05609AD788',\n// }\n// // EthereumGoerli = '0xe8bEa99BB438C2f3D533604D33258d74d5eE4824',\n// export 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\n// export enum DopProxyDeploymentBlock {\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\n// export 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\n// export const NETWORK_CONFIG: Record<NetworkName, Network> = {\n// [NetworkName.Dop]: {\n// chain: {\n// type: ChainType.EVM,\n// id: -1,\n// },\n// name: NetworkName.Dop,\n// publicName: 'DOP',\n// shortPublicName: '',\n// coingeckoId: '',\n// baseToken: {} as BaseToken,\n// proxyContract: DopProxyContract.Ethereum,\n// relayAdaptContract: RelayAdaptContract.Ethereum,\n// relayAdaptHistory: [],\n// deploymentBlock: DopProxyDeploymentBlock.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: DopProxyContract.Ethereum,\n// relayAdaptContract: RelayAdaptContract.Ethereum,\n// relayAdaptHistory: [\n// '0x22af4EDBeA3De885dDa8f0a0653E6209e44e5B84', // Initial deployment\n// '0xc3f2C8F9d5F0705De706b1302B7a039e1e11aC88', // V3.0 Update - Nov 2022\n// '0x4025ee6512DBbda97049Bcf5AA5D38C54aF6bE8a', // V3.1 Update - Jan 2023\n// ],\n// deploymentBlock: DopProxyDeploymentBlock.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: DopProxyContract.BNBChain,\n// relayAdaptContract: RelayAdaptContract.BNBChain,\n// relayAdaptHistory: [\n// '0x20d868C7F1Eb706C46641ADD2f849c5DBf4dB158', // Initial deployment\n// '0x25f795A8eC8aF7904aa403fF2Cc7205ce683BF52', // V3.0 Update - Nov 2022\n// '0x741936fb83DDf324636D3048b3E6bC800B8D9e12', // V3.1 Update - Jan 2023\n// ],\n// deploymentBlock: DopProxyDeploymentBlock.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: DopProxyContract.PolygonPOS,\n// relayAdaptContract: RelayAdaptContract.PolygonPOS,\n// relayAdaptHistory: [\n// '0x30D8AD0339e2CF160620589f2DBa1765126A5fDC', // Initial deployment\n// '0x969eE9AC1E0B5F5Dd781f63A168C52b73062ff86', // V3.0 Update - Nov 2022\n// '0xc7FfA542736321A3dd69246d73987566a5486968', // V3.1 Update - Jan 2023\n// ],\n// deploymentBlock: DopProxyDeploymentBlock.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: DopProxyContract.Arbitrum,\n// relayAdaptContract: RelayAdaptContract.Arbitrum,\n// relayAdaptHistory: [\n// '0x5aD95C537b002770a39dea342c4bb2b68B1497aA', // Initial deployment - Feb 2023 post v3.1\n// ],\n// deploymentBlock: DopProxyDeploymentBlock.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: DopProxyContract.EthereumRopsten,\n// relayAdaptContract: RelayAdaptContract.EthereumRopsten,\n// relayAdaptHistory: [''],\n// deploymentBlock: DopProxyDeploymentBlock.EthereumRopsten,\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: DopProxyContract.EthereumGoerli,\n// relayAdaptContract: RelayAdaptContract.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: DopProxyDeploymentBlock.EthereumGoerli,\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: DopProxyContract.PolygonMumbai,\n// relayAdaptContract: RelayAdaptContract.PolygonMumbai,\n// relayAdaptHistory: [\n// '0x8B936B018CeA1c1cc14961CAdabD36E7fe9192cD', // Initial deployment\n// '0x80efF1a8939C9B6E8C61Ed5Be683Eda21088B7E6', // V3.0 Update - Nov 2022\n// '0x17D36875D723Cf0dA250d404Ef4cA0aABE105837', // V3.1 Update - Jan 2023\n// ],\n// deploymentBlock: DopProxyDeploymentBlock.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: DopProxyContract.ArbitrumGoerli,\n// relayAdaptContract: RelayAdaptContract.ArbitrumGoerli,\n// relayAdaptHistory: [\n// '0x7E77d890179Aa683ac2B9A608bd8121255CAa917', // Initial deployment (post v3.0)\n// '0x3eAf99B5EDc79D833AA8B6d18F0a8dd041e13eF6', // V3.1 Update - Jan 2023\n// ],\n// deploymentBlock: DopProxyDeploymentBlock.ArbitrumGoerli,\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: DopProxyContract.Hardhat,\n// relayAdaptContract: RelayAdaptContract.Hardhat,\n// relayAdaptHistory: [''],\n// deploymentBlock: DopProxyDeploymentBlock.Hardhat,\n// isDevOnlyNetwork: true,\n// isTestnet: true,\n// defaultEVMGasType: EVMGasType.Type2,\n// shouldQuickSync: false,\n// },\n// };\n"]}
|
@@ -0,0 +1,11 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.ProofType = void 0;
|
4
|
+
var ProofType;
|
5
|
+
(function (ProofType) {
|
6
|
+
ProofType["Transfer"] = "Transfer";
|
7
|
+
ProofType["Unshield"] = "Unshield";
|
8
|
+
ProofType["UnshieldBaseToken"] = "UnshieldBaseToken";
|
9
|
+
ProofType["CrossContractCalls"] = "CrossContractCalls";
|
10
|
+
})(ProofType || (exports.ProofType = ProofType = {}));
|
11
|
+
//# sourceMappingURL=proof.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"proof.js","sourceRoot":"","sources":["../../src/models/proof.ts"],"names":[],"mappings":";;;AAAA,IAAY,SAKX;AALD,WAAY,SAAS;IACnB,kCAAqB,CAAA;IACrB,kCAAqB,CAAA;IACrB,oDAAuC,CAAA;IACvC,sDAAyC,CAAA;AAC3C,CAAC,EALW,SAAS,yBAAT,SAAS,QAKpB","sourcesContent":["export enum ProofType {\n Transfer = 'Transfer',\n Unshield = 'Unshield',\n UnshieldBaseToken = 'UnshieldBaseToken',\n CrossContractCalls = 'CrossContractCalls',\n}\n"]}
|
@@ -0,0 +1,69 @@
|
|
1
|
+
/// <reference types="../types/global" />
|
2
|
+
import { ChainType, CommitmentCiphertext } from './response-types';
|
3
|
+
export type RelayerFeeMessageData = {
|
4
|
+
fees: MapType<string>;
|
5
|
+
feeExpiration: number;
|
6
|
+
feesID: string;
|
7
|
+
dopAddress: string;
|
8
|
+
identifier: Optional<string>;
|
9
|
+
availableWallets: number;
|
10
|
+
version: string;
|
11
|
+
relayAdapt: string;
|
12
|
+
};
|
13
|
+
export type RelayerFeeMessage = {
|
14
|
+
data: string;
|
15
|
+
signature: string;
|
16
|
+
};
|
17
|
+
type EncryptedData = [string, string];
|
18
|
+
export type RelayerEncryptedMethodParams = {
|
19
|
+
pubkey: string;
|
20
|
+
encryptedData: EncryptedData;
|
21
|
+
};
|
22
|
+
type RelayerRawParamsShared = {
|
23
|
+
chainID: number;
|
24
|
+
chainType: ChainType;
|
25
|
+
feesID: string;
|
26
|
+
relayerViewingKey: string;
|
27
|
+
devLog: boolean;
|
28
|
+
minVersion: string;
|
29
|
+
maxVersion: string;
|
30
|
+
};
|
31
|
+
export type RelayerRawParamsTransact = RelayerRawParamsShared & {
|
32
|
+
to: string;
|
33
|
+
data: string;
|
34
|
+
minGasPrice: string;
|
35
|
+
useRelayAdapt: boolean;
|
36
|
+
};
|
37
|
+
export type RelayerRawParamsPreAuthorize = RelayerRawParamsShared & {
|
38
|
+
gasLimit: string;
|
39
|
+
commitmentCiphertext: CommitmentCiphertext;
|
40
|
+
commitmentHash: string;
|
41
|
+
};
|
42
|
+
export type RelayerPreAuthorization = {
|
43
|
+
gasLimit: string;
|
44
|
+
commitmentHash: string;
|
45
|
+
expiration: number;
|
46
|
+
};
|
47
|
+
export type RelayerSignedPreAuthorization = RelayerPreAuthorization & {
|
48
|
+
signature: string;
|
49
|
+
};
|
50
|
+
export type CachedTokenFee = {
|
51
|
+
feePerUnitGas: string;
|
52
|
+
expiration: number;
|
53
|
+
feesID: string;
|
54
|
+
availableWallets: number;
|
55
|
+
relayAdapt: string;
|
56
|
+
};
|
57
|
+
export type SelectedRelayer = {
|
58
|
+
dopAddress: string;
|
59
|
+
tokenAddress: string;
|
60
|
+
tokenFee: CachedTokenFee;
|
61
|
+
};
|
62
|
+
export declare enum RelayerConnectionStatus {
|
63
|
+
Error = "Error",
|
64
|
+
Searching = "Searching",
|
65
|
+
Connected = "Connected",
|
66
|
+
Disconnected = "Disconnected",
|
67
|
+
AllUnavailable = "AllUnavailable"
|
68
|
+
}
|
69
|
+
export {};
|
@@ -0,0 +1,12 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.RelayerConnectionStatus = void 0;
|
4
|
+
var RelayerConnectionStatus;
|
5
|
+
(function (RelayerConnectionStatus) {
|
6
|
+
RelayerConnectionStatus["Error"] = "Error";
|
7
|
+
RelayerConnectionStatus["Searching"] = "Searching";
|
8
|
+
RelayerConnectionStatus["Connected"] = "Connected";
|
9
|
+
RelayerConnectionStatus["Disconnected"] = "Disconnected";
|
10
|
+
RelayerConnectionStatus["AllUnavailable"] = "AllUnavailable";
|
11
|
+
})(RelayerConnectionStatus || (exports.RelayerConnectionStatus = RelayerConnectionStatus = {}));
|
12
|
+
//# sourceMappingURL=relayer.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"relayer.js","sourceRoot":"","sources":["../../src/models/relayer.ts"],"names":[],"mappings":";;;AAwEA,IAAY,uBAMX;AAND,WAAY,uBAAuB;IACjC,0CAAe,CAAA;IACf,kDAAuB,CAAA;IACvB,kDAAuB,CAAA;IACvB,wDAA6B,CAAA;IAC7B,4DAAiC,CAAA;AACnC,CAAC,EANW,uBAAuB,uCAAvB,uBAAuB,QAMlC","sourcesContent":["import { ChainType, CommitmentCiphertext } from './response-types';\n\nexport type RelayerFeeMessageData = {\n fees: MapType<string>;\n feeExpiration: number;\n feesID: string;\n dopAddress: string;\n identifier: Optional<string>;\n availableWallets: number;\n version: string;\n relayAdapt: string;\n};\n\nexport type RelayerFeeMessage = {\n data: string; // hex-encoded FeeMessageData\n signature: string; // hex-encoded signature\n};\n\ntype EncryptedData = [string, string];\n\nexport type RelayerEncryptedMethodParams = {\n pubkey: string;\n encryptedData: EncryptedData;\n};\n\ntype RelayerRawParamsShared = {\n chainID: number;\n chainType: ChainType;\n feesID: string;\n relayerViewingKey: string;\n devLog: boolean;\n minVersion: string;\n maxVersion: string;\n};\n\nexport type RelayerRawParamsTransact = RelayerRawParamsShared & {\n to: string;\n data: string;\n minGasPrice: string;\n useRelayAdapt: boolean;\n};\n\nexport type RelayerRawParamsPreAuthorize = RelayerRawParamsShared & {\n gasLimit: string;\n commitmentCiphertext: CommitmentCiphertext;\n commitmentHash: string;\n};\n\nexport type RelayerPreAuthorization = {\n gasLimit: string;\n commitmentHash: string;\n expiration: number;\n};\n\nexport type RelayerSignedPreAuthorization = RelayerPreAuthorization & {\n signature: string;\n};\n\nexport type CachedTokenFee = {\n feePerUnitGas: string;\n expiration: number;\n feesID: string;\n availableWallets: number;\n relayAdapt: string;\n};\n\nexport type SelectedRelayer = {\n dopAddress: string;\n tokenAddress: string;\n tokenFee: CachedTokenFee;\n};\n\nexport enum RelayerConnectionStatus {\n Error = 'Error',\n Searching = 'Searching',\n Connected = 'Connected',\n Disconnected = 'Disconnected',\n AllUnavailable = 'AllUnavailable',\n}\n"]}
|
@@ -0,0 +1,180 @@
|
|
1
|
+
/// <reference types="../types/global" />
|
2
|
+
import { ContractTransaction } from 'ethers';
|
3
|
+
import { MerkletreeScanStatus } from './merkletree-scan';
|
4
|
+
import { FeesSerialized } from './network-config';
|
5
|
+
export type DopAPICiphertext = {
|
6
|
+
iv: string;
|
7
|
+
data: string[];
|
8
|
+
};
|
9
|
+
/**
|
10
|
+
* Type0 / Type1 = non-EIP-1559 (gasPrice).
|
11
|
+
* Type2 = EIP-1559 (maxFeePerGas and maxPriorityFeePerGas).
|
12
|
+
*/
|
13
|
+
export declare enum EVMGasType {
|
14
|
+
Type0 = 0,
|
15
|
+
Type1 = 1,
|
16
|
+
Type2 = 2
|
17
|
+
}
|
18
|
+
export type TransactionGasDetails = TransactionGasDetailsType0 | TransactionGasDetailsType1 | TransactionGasDetailsType2;
|
19
|
+
export type TransactionGasDetailsType0 = {
|
20
|
+
evmGasType: EVMGasType.Type0;
|
21
|
+
gasEstimate: bigint;
|
22
|
+
gasPrice: bigint;
|
23
|
+
};
|
24
|
+
export type TransactionGasDetailsType1 = {
|
25
|
+
evmGasType: EVMGasType.Type1;
|
26
|
+
gasEstimate: bigint;
|
27
|
+
gasPrice: bigint;
|
28
|
+
};
|
29
|
+
export type TransactionGasDetailsType2 = {
|
30
|
+
evmGasType: EVMGasType.Type2;
|
31
|
+
gasEstimate: bigint;
|
32
|
+
maxFeePerGas: bigint;
|
33
|
+
maxPriorityFeePerGas: bigint;
|
34
|
+
};
|
35
|
+
export type FeeTokenDetails = {
|
36
|
+
tokenAddress: string;
|
37
|
+
feePerUnitGas: bigint;
|
38
|
+
};
|
39
|
+
export declare enum ChainType {
|
40
|
+
EVM = 0
|
41
|
+
}
|
42
|
+
export type Chain = {
|
43
|
+
type: ChainType;
|
44
|
+
id: number;
|
45
|
+
};
|
46
|
+
export type DopBalancesEvent = {
|
47
|
+
chain: Chain;
|
48
|
+
erc20Amounts: DopERC20Amount[];
|
49
|
+
nftAmounts: DopNFTAmount[];
|
50
|
+
dopWalletID: string;
|
51
|
+
};
|
52
|
+
export type MerkletreeScanUpdateEvent = {
|
53
|
+
chain: Chain;
|
54
|
+
scanStatus: MerkletreeScanStatus;
|
55
|
+
progress: number;
|
56
|
+
};
|
57
|
+
export type LoadProviderResponse = {
|
58
|
+
feesSerialized: FeesSerialized;
|
59
|
+
};
|
60
|
+
export type DopWalletInfo = {
|
61
|
+
id: string;
|
62
|
+
dopAddress: string;
|
63
|
+
};
|
64
|
+
export type DopWalletAddressData = {
|
65
|
+
masterPublicKey: bigint;
|
66
|
+
viewingPublicKey: bigint;
|
67
|
+
};
|
68
|
+
export type DopTxidFromNullifiersResponse = {
|
69
|
+
txid?: string;
|
70
|
+
};
|
71
|
+
export type DopPopulateTransactionResponse = {
|
72
|
+
transaction: ContractTransaction;
|
73
|
+
nullifiers?: string[];
|
74
|
+
};
|
75
|
+
export type DopTransactionGasEstimateResponse = {
|
76
|
+
gasEstimate: bigint;
|
77
|
+
relayerFeeCommitment?: CommitmentSummary;
|
78
|
+
};
|
79
|
+
export type DopERC20Recipient = {
|
80
|
+
tokenAddress: string;
|
81
|
+
recipientAddress: string;
|
82
|
+
};
|
83
|
+
export type DopERC20Amount = {
|
84
|
+
tokenAddress: string;
|
85
|
+
amount: bigint;
|
86
|
+
};
|
87
|
+
export type DopERC20AmountRecipient = DopERC20Amount & {
|
88
|
+
recipientAddress: string;
|
89
|
+
};
|
90
|
+
export declare enum NFTTokenType {
|
91
|
+
ERC721 = 1,
|
92
|
+
ERC1155 = 2
|
93
|
+
}
|
94
|
+
export type NFTAmount = {
|
95
|
+
nftAddress: string;
|
96
|
+
nftTokenType: NFTTokenType;
|
97
|
+
tokenSubID: string;
|
98
|
+
amountString: string;
|
99
|
+
};
|
100
|
+
export type NFTAmountRecipient = NFTAmount & {
|
101
|
+
recipientAddress: string;
|
102
|
+
};
|
103
|
+
export type DopNFTAmount = {
|
104
|
+
nftAddress: string;
|
105
|
+
nftTokenType: NFTTokenType;
|
106
|
+
tokenSubID: string;
|
107
|
+
amount: bigint;
|
108
|
+
};
|
109
|
+
export type DopNFTAmountRecipient = DopNFTAmount & {
|
110
|
+
recipientAddress: string;
|
111
|
+
};
|
112
|
+
export type EncryptDataWithSharedKeyResponse = {
|
113
|
+
encryptedData: [string, string];
|
114
|
+
randomPubKey: string;
|
115
|
+
sharedKey: Uint8Array;
|
116
|
+
};
|
117
|
+
export type EncryptDataWithSharedKeySerialized = {
|
118
|
+
encryptedData: [string, string];
|
119
|
+
randomPubKey: string;
|
120
|
+
sharedKey: string;
|
121
|
+
};
|
122
|
+
export type Pbkdf2Response = string;
|
123
|
+
type SendAdditionalData = {
|
124
|
+
recipientAddress: Optional<string>;
|
125
|
+
walletSource: Optional<string>;
|
126
|
+
memoText: Optional<string>;
|
127
|
+
};
|
128
|
+
export type DopSendERC20Amount = DopERC20Amount & SendAdditionalData;
|
129
|
+
export type DopSendNFTAmount = DopNFTAmount & SendAdditionalData;
|
130
|
+
type UnshieldAdditonalData = {
|
131
|
+
unshieldFee: Optional<string>;
|
132
|
+
};
|
133
|
+
export type DopUnshieldERC20Amount = DopSendERC20Amount & UnshieldAdditonalData;
|
134
|
+
export type DopUnshieldNFTAmount = DopSendNFTAmount & UnshieldAdditonalData;
|
135
|
+
type ReceiveAdditionalData = {
|
136
|
+
senderAddress: Optional<string>;
|
137
|
+
memoText: Optional<string>;
|
138
|
+
shieldFee: Optional<string>;
|
139
|
+
};
|
140
|
+
export type DopReceiveERC20Amount = DopERC20Amount & ReceiveAdditionalData;
|
141
|
+
export type DopReceiveNFTAmount = DopNFTAmount & ReceiveAdditionalData;
|
142
|
+
export declare enum TransactionHistoryItemCategory {
|
143
|
+
ShieldERC20s = "ShieldERC20s",
|
144
|
+
UnshieldERC20s = "UnshieldERC20s",
|
145
|
+
TransferSendERC20s = "TransferSendERC20s",
|
146
|
+
TransferReceiveERC20s = "TransferReceiveERC20s",
|
147
|
+
Unknown = "Unknown"
|
148
|
+
}
|
149
|
+
export type TransactionHistoryItem = {
|
150
|
+
txid: string;
|
151
|
+
version: number;
|
152
|
+
timestamp: Optional<number>;
|
153
|
+
blockNumber: Optional<number>;
|
154
|
+
receiveERC20Amounts: DopReceiveERC20Amount[];
|
155
|
+
transferERC20Amounts: DopSendERC20Amount[];
|
156
|
+
changeERC20Amounts: DopERC20Amount[];
|
157
|
+
relayerFeeERC20Amount?: DopERC20Amount;
|
158
|
+
unshieldERC20Amounts: DopUnshieldERC20Amount[];
|
159
|
+
receiveNFTAmounts: DopReceiveNFTAmount[];
|
160
|
+
transferNFTAmounts: DopSendNFTAmount[];
|
161
|
+
unshieldNFTAmounts: DopUnshieldNFTAmount[];
|
162
|
+
category: TransactionHistoryItemCategory;
|
163
|
+
};
|
164
|
+
type Ciphertext = {
|
165
|
+
iv: string;
|
166
|
+
tag: string;
|
167
|
+
data: string[];
|
168
|
+
};
|
169
|
+
export type CommitmentCiphertext = {
|
170
|
+
ciphertext: Ciphertext;
|
171
|
+
blindedSenderViewingKey: string;
|
172
|
+
blindedReceiverViewingKey: string;
|
173
|
+
annotationData: string;
|
174
|
+
memo: string;
|
175
|
+
};
|
176
|
+
export type CommitmentSummary = {
|
177
|
+
commitmentCiphertext: CommitmentCiphertext;
|
178
|
+
commitmentHash: string;
|
179
|
+
};
|
180
|
+
export {};
|
@@ -0,0 +1,31 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.TransactionHistoryItemCategory = exports.NFTTokenType = exports.ChainType = exports.EVMGasType = void 0;
|
4
|
+
/**
|
5
|
+
* Type0 / Type1 = non-EIP-1559 (gasPrice).
|
6
|
+
* Type2 = EIP-1559 (maxFeePerGas and maxPriorityFeePerGas).
|
7
|
+
*/
|
8
|
+
var EVMGasType;
|
9
|
+
(function (EVMGasType) {
|
10
|
+
EVMGasType[EVMGasType["Type0"] = 0] = "Type0";
|
11
|
+
EVMGasType[EVMGasType["Type1"] = 1] = "Type1";
|
12
|
+
EVMGasType[EVMGasType["Type2"] = 2] = "Type2";
|
13
|
+
})(EVMGasType || (exports.EVMGasType = EVMGasType = {}));
|
14
|
+
var ChainType;
|
15
|
+
(function (ChainType) {
|
16
|
+
ChainType[ChainType["EVM"] = 0] = "EVM";
|
17
|
+
})(ChainType || (exports.ChainType = ChainType = {}));
|
18
|
+
var NFTTokenType;
|
19
|
+
(function (NFTTokenType) {
|
20
|
+
NFTTokenType[NFTTokenType["ERC721"] = 1] = "ERC721";
|
21
|
+
NFTTokenType[NFTTokenType["ERC1155"] = 2] = "ERC1155";
|
22
|
+
})(NFTTokenType || (exports.NFTTokenType = NFTTokenType = {}));
|
23
|
+
var TransactionHistoryItemCategory;
|
24
|
+
(function (TransactionHistoryItemCategory) {
|
25
|
+
TransactionHistoryItemCategory["ShieldERC20s"] = "ShieldERC20s";
|
26
|
+
TransactionHistoryItemCategory["UnshieldERC20s"] = "UnshieldERC20s";
|
27
|
+
TransactionHistoryItemCategory["TransferSendERC20s"] = "TransferSendERC20s";
|
28
|
+
TransactionHistoryItemCategory["TransferReceiveERC20s"] = "TransferReceiveERC20s";
|
29
|
+
TransactionHistoryItemCategory["Unknown"] = "Unknown";
|
30
|
+
})(TransactionHistoryItemCategory || (exports.TransactionHistoryItemCategory = TransactionHistoryItemCategory = {}));
|
31
|
+
//# sourceMappingURL=response-types.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"response-types.js","sourceRoot":"","sources":["../../src/models/response-types.ts"],"names":[],"mappings":";;;AAUA;;;GAGG;AACH,IAAY,UAIX;AAJD,WAAY,UAAU;IACpB,6CAAS,CAAA;IACT,6CAAS,CAAA;IACT,6CAAS,CAAA;AACX,CAAC,EAJW,UAAU,0BAAV,UAAU,QAIrB;AA+BD,IAAY,SAEX;AAFD,WAAY,SAAS;IACnB,uCAAO,CAAA;AACT,CAAC,EAFW,SAAS,yBAAT,SAAS,QAEpB;AA8DD,IAAY,YAGX;AAHD,WAAY,YAAY;IACtB,mDAAU,CAAA;IACV,qDAAW,CAAA;AACb,CAAC,EAHW,YAAY,4BAAZ,YAAY,QAGvB;AAqED,IAAY,8BAMX;AAND,WAAY,8BAA8B;IACxC,+DAA6B,CAAA;IAC7B,mEAAiC,CAAA;IACjC,2EAAyC,CAAA;IACzC,iFAA+C,CAAA;IAC/C,qDAAmB,CAAA;AACrB,CAAC,EANW,8BAA8B,8CAA9B,8BAA8B,QAMzC","sourcesContent":["/// <reference types=\"../types/global\" />\nimport { ContractTransaction } from 'ethers';\nimport { MerkletreeScanStatus } from './merkletree-scan';\nimport { FeesSerialized } from './network-config';\n\nexport type DopAPICiphertext = {\n iv: string;\n data: string[];\n};\n\n/**\n * Type0 / Type1 = non-EIP-1559 (gasPrice).\n * Type2 = EIP-1559 (maxFeePerGas and maxPriorityFeePerGas).\n */\nexport enum EVMGasType {\n Type0 = 0,\n Type1 = 1,\n Type2 = 2,\n}\n\nexport type TransactionGasDetails =\n | TransactionGasDetailsType0\n | TransactionGasDetailsType1\n | TransactionGasDetailsType2;\n\nexport type TransactionGasDetailsType0 = {\n evmGasType: EVMGasType.Type0;\n gasEstimate: bigint;\n gasPrice: bigint;\n};\n\nexport type TransactionGasDetailsType1 = {\n evmGasType: EVMGasType.Type1;\n gasEstimate: bigint;\n gasPrice: bigint;\n};\n\nexport type TransactionGasDetailsType2 = {\n evmGasType: EVMGasType.Type2;\n gasEstimate: bigint;\n maxFeePerGas: bigint;\n maxPriorityFeePerGas: bigint;\n};\n\nexport type FeeTokenDetails = {\n tokenAddress: string;\n feePerUnitGas: bigint;\n};\n\nexport enum ChainType {\n EVM = 0,\n}\n\nexport type Chain = {\n type: ChainType;\n id: number;\n};\n\nexport type DopBalancesEvent = {\n chain: Chain;\n erc20Amounts: DopERC20Amount[];\n nftAmounts: DopNFTAmount[];\n dopWalletID: string;\n};\n\nexport type MerkletreeScanUpdateEvent = {\n chain: Chain;\n scanStatus: MerkletreeScanStatus;\n progress: number;\n};\n\nexport type LoadProviderResponse = {\n feesSerialized: FeesSerialized;\n};\n\nexport type DopWalletInfo = {\n id: string;\n dopAddress: string;\n};\n\nexport type DopWalletAddressData = {\n masterPublicKey: bigint;\n viewingPublicKey: bigint;\n};\n\nexport type DopTxidFromNullifiersResponse = {\n txid?: string;\n};\n\nexport type DopPopulateTransactionResponse = {\n transaction: ContractTransaction;\n nullifiers?: string[];\n};\n\nexport type DopTransactionGasEstimateResponse = {\n gasEstimate: bigint;\n relayerFeeCommitment?: CommitmentSummary;\n};\n\nexport type DopERC20Recipient = {\n tokenAddress: string;\n recipientAddress: string;\n};\n\nexport type DopERC20Amount = {\n tokenAddress: string;\n amount: bigint;\n};\n\nexport type DopERC20AmountRecipient = DopERC20Amount & {\n recipientAddress: string;\n};\n\nexport enum NFTTokenType {\n ERC721 = 1,\n ERC1155 = 2,\n}\n\nexport type NFTAmount = {\n nftAddress: string;\n nftTokenType: NFTTokenType;\n tokenSubID: string;\n amountString: string;\n};\n\nexport type NFTAmountRecipient = NFTAmount & {\n recipientAddress: string;\n};\n\nexport type DopNFTAmount = {\n nftAddress: string;\n nftTokenType: NFTTokenType;\n tokenSubID: string;\n amount: bigint;\n};\n\nexport type DopNFTAmountRecipient = DopNFTAmount & {\n recipientAddress: string;\n};\n\nexport type EncryptDataWithSharedKeyResponse = {\n encryptedData: [string, string];\n randomPubKey: string;\n sharedKey: Uint8Array;\n};\n\nexport type EncryptDataWithSharedKeySerialized = {\n encryptedData: [string, string];\n randomPubKey: string;\n sharedKey: string;\n};\n\nexport type Pbkdf2Response = string;\n\ntype SendAdditionalData = {\n recipientAddress: Optional<string>;\n walletSource: Optional<string>;\n memoText: Optional<string>;\n};\n\nexport type DopSendERC20Amount = DopERC20Amount & SendAdditionalData;\n\nexport type DopSendNFTAmount = DopNFTAmount & SendAdditionalData;\n\ntype UnshieldAdditonalData = {\n unshieldFee: Optional<string>;\n};\n\nexport type DopUnshieldERC20Amount = DopSendERC20Amount &\n UnshieldAdditonalData;\n\nexport type DopUnshieldNFTAmount = DopSendNFTAmount &\n UnshieldAdditonalData;\n\ntype ReceiveAdditionalData = {\n senderAddress: Optional<string>;\n memoText: Optional<string>;\n shieldFee: Optional<string>;\n};\n\nexport type DopReceiveERC20Amount = DopERC20Amount &\n ReceiveAdditionalData;\n\nexport type DopReceiveNFTAmount = DopNFTAmount & ReceiveAdditionalData;\n\nexport enum TransactionHistoryItemCategory {\n ShieldERC20s = 'ShieldERC20s',\n UnshieldERC20s = 'UnshieldERC20s',\n TransferSendERC20s = 'TransferSendERC20s',\n TransferReceiveERC20s = 'TransferReceiveERC20s',\n Unknown = 'Unknown',\n}\n\nexport type TransactionHistoryItem = {\n txid: string;\n version: number;\n timestamp: Optional<number>;\n blockNumber: Optional<number>;\n receiveERC20Amounts: DopReceiveERC20Amount[];\n transferERC20Amounts: DopSendERC20Amount[];\n changeERC20Amounts: DopERC20Amount[];\n relayerFeeERC20Amount?: DopERC20Amount;\n unshieldERC20Amounts: DopUnshieldERC20Amount[];\n receiveNFTAmounts: DopReceiveNFTAmount[];\n transferNFTAmounts: DopSendNFTAmount[];\n unshieldNFTAmounts: DopUnshieldNFTAmount[];\n category: TransactionHistoryItemCategory;\n};\n\ntype Ciphertext = {\n iv: string;\n tag: string;\n data: string[];\n};\n\nexport type CommitmentCiphertext = {\n ciphertext: Ciphertext;\n blindedSenderViewingKey: string;\n blindedReceiverViewingKey: string;\n annotationData: string;\n memo: string;\n};\n\nexport type CommitmentSummary = {\n commitmentCiphertext: CommitmentCiphertext;\n commitmentHash: string;\n};\n"]}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"transaction.js","sourceRoot":"","sources":["../../src/models/transaction.ts"],"names":[],"mappings":"","sourcesContent":["export type TransactionReceiptLog = {\n topics: string[];\n data: string;\n};\n"]}
|
@@ -0,0 +1,11 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.WalletCreationType = void 0;
|
4
|
+
var WalletCreationType;
|
5
|
+
(function (WalletCreationType) {
|
6
|
+
WalletCreationType["Import"] = "Import";
|
7
|
+
WalletCreationType["Create"] = "Create";
|
8
|
+
WalletCreationType["AddViewOnly"] = "AddViewOnly";
|
9
|
+
WalletCreationType["ImportFromBackup"] = "ImportFromBackup";
|
10
|
+
})(WalletCreationType || (exports.WalletCreationType = WalletCreationType = {}));
|
11
|
+
//# sourceMappingURL=wallet.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"wallet.js","sourceRoot":"","sources":["../../src/models/wallet.ts"],"names":[],"mappings":";;;AAAA,IAAY,kBAKX;AALD,WAAY,kBAAkB;IAC5B,uCAAiB,CAAA;IACjB,uCAAiB,CAAA;IACjB,iDAA2B,CAAA;IAC3B,2DAAqC,CAAA;AACvC,CAAC,EALW,kBAAkB,kCAAlB,kBAAkB,QAK7B","sourcesContent":["export enum WalletCreationType {\n Import = 'Import',\n Create = 'Create',\n AddViewOnly = 'AddViewOnly',\n ImportFromBackup = 'ImportFromBackup',\n}\n"]}
|
@@ -0,0 +1,24 @@
|
|
1
|
+
"use strict";
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
4
|
+
};
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
6
|
+
exports.assertArtifactExists = exports.artifactExists = void 0;
|
7
|
+
const artifacts_json_1 = __importDefault(require("../json/artifacts.json"));
|
8
|
+
const artifactExists = (nullifiers, commitments) => {
|
9
|
+
const found = artifacts_json_1.default.find(artifact => artifact.nullifiers === nullifiers &&
|
10
|
+
artifact.commitments === commitments);
|
11
|
+
return found != null;
|
12
|
+
};
|
13
|
+
exports.artifactExists = artifactExists;
|
14
|
+
const artifactError = (nullifiers, commitments) => {
|
15
|
+
return new Error(`No artifacts for inputs: ${nullifiers}-${commitments}`);
|
16
|
+
};
|
17
|
+
const assertArtifactExists = (nullifiers, commitments) => {
|
18
|
+
if ((0, exports.artifactExists)(nullifiers, commitments)) {
|
19
|
+
return;
|
20
|
+
}
|
21
|
+
throw artifactError(nullifiers, commitments);
|
22
|
+
};
|
23
|
+
exports.assertArtifactExists = assertArtifactExists;
|
24
|
+
//# sourceMappingURL=artifact-v2.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"artifact-v2.js","sourceRoot":"","sources":["../../src/utils/artifact-v2.ts"],"names":[],"mappings":";;;;;;AAAA,4EAAuD;AAEhD,MAAM,cAAc,GAAG,CAC5B,UAAkB,EAClB,WAAmB,EACV,EAAE;IACX,MAAM,KAAK,GAAG,wBAAiB,CAAC,IAAI,CAClC,QAAQ,CAAC,EAAE,CACT,QAAQ,CAAC,UAAU,KAAK,UAAU;QAClC,QAAQ,CAAC,WAAW,KAAK,WAAW,CACvC,CAAC;IACF,OAAO,KAAK,IAAI,IAAI,CAAC;AACvB,CAAC,CAAC;AAVW,QAAA,cAAc,kBAUzB;AAEF,MAAM,aAAa,GAAG,CAAC,UAAkB,EAAE,WAAmB,EAAE,EAAE;IAChE,OAAO,IAAI,KAAK,CAAC,4BAA4B,UAAU,IAAI,WAAW,EAAE,CAAC,CAAC;AAC5E,CAAC,CAAC;AAEK,MAAM,oBAAoB,GAAG,CAClC,UAAkB,EAClB,WAAmB,EACnB,EAAE;IACF,IAAI,IAAA,sBAAc,EAAC,UAAU,EAAE,WAAW,CAAC,EAAE;QAC3C,OAAO;KACR;IACD,MAAM,aAAa,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;AAC/C,CAAC,CAAC;AARW,QAAA,oBAAoB,wBAQ/B","sourcesContent":["import ArtifactsMetadata from '../json/artifacts.json';\n\nexport const artifactExists = (\n nullifiers: number,\n commitments: number,\n): boolean => {\n const found = ArtifactsMetadata.find(\n artifact =>\n artifact.nullifiers === nullifiers &&\n artifact.commitments === commitments,\n );\n return found != null;\n};\n\nconst artifactError = (nullifiers: number, commitments: number) => {\n return new Error(`No artifacts for inputs: ${nullifiers}-${commitments}`);\n};\n\nexport const assertArtifactExists = (\n nullifiers: number,\n commitments: number,\n) => {\n if (artifactExists(nullifiers, commitments)) {\n return;\n }\n throw artifactError(nullifiers, commitments);\n};\n"]}
|
@@ -0,0 +1,8 @@
|
|
1
|
+
import { ProviderJson } from './fallback-provider';
|
2
|
+
type LogError = (err: string) => void;
|
3
|
+
/**
|
4
|
+
* Health checks ProviderJson inputs, and returns an array of available RPC providers.
|
5
|
+
* Available means that they respond to getBlockNumber(), and they are +/- 100 blocks from the median.
|
6
|
+
*/
|
7
|
+
export declare const getAvailableProviderJSONs: (chainId: number, providerJsons: ProviderJson[], logError: LogError) => Promise<ProviderJson[]>;
|
8
|
+
export {};
|
@@ -0,0 +1,58 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.getAvailableProviderJSONs = void 0;
|
4
|
+
/// <reference types="../types/global" />
|
5
|
+
const ethers_1 = require("ethers");
|
6
|
+
const median_1 = require("./median");
|
7
|
+
const promises_1 = require("./promises");
|
8
|
+
const BLOCK_NUMBER_TIMEOUT_MS = 5000;
|
9
|
+
/**
|
10
|
+
* Health checks ProviderJson inputs, and returns an array of available RPC providers.
|
11
|
+
* Available means that they respond to getBlockNumber(), and they are +/- 100 blocks from the median.
|
12
|
+
*/
|
13
|
+
const getAvailableProviderJSONs = async (chainId, providerJsons, logError) => {
|
14
|
+
const blockNumbers = await Promise.all(providerJsons.map(async (providerJson) => await getBlockNumber(chainId, providerJson.provider, logError)));
|
15
|
+
const nonZeroBlockNumbers = blockNumbers.filter(blockNumber => blockNumber != null && blockNumber > 0);
|
16
|
+
const medianBlockNumber = (0, median_1.getUpperBoundMedian)(nonZeroBlockNumbers);
|
17
|
+
const lowerBoundRange = medianBlockNumber - 100;
|
18
|
+
const upperBoundRange = medianBlockNumber + 100;
|
19
|
+
return providerJsons.filter((providerJson, index) => {
|
20
|
+
const blockNumber = blockNumbers[index];
|
21
|
+
if (blockNumber == null) {
|
22
|
+
logError(`RPC Health Check failed for ${providerJson.provider}: No Block Number`);
|
23
|
+
return false;
|
24
|
+
}
|
25
|
+
if (blockNumber < lowerBoundRange) {
|
26
|
+
logError(`RPC Health Check failed for ${providerJson.provider}: Block Number -${medianBlockNumber - blockNumber} from median`);
|
27
|
+
return false;
|
28
|
+
}
|
29
|
+
if (blockNumber > upperBoundRange) {
|
30
|
+
logError(`RPC Health Check failed for ${providerJson.provider}: Block Number +${blockNumber - medianBlockNumber} from median`);
|
31
|
+
return false;
|
32
|
+
}
|
33
|
+
return true;
|
34
|
+
});
|
35
|
+
};
|
36
|
+
exports.getAvailableProviderJSONs = getAvailableProviderJSONs;
|
37
|
+
const getBlockNumber = async (chainId, provider, logError) => {
|
38
|
+
const network = ethers_1.Network.from(chainId);
|
39
|
+
const rpcProvider = new ethers_1.JsonRpcProvider(provider, network, {
|
40
|
+
staticNetwork: network,
|
41
|
+
});
|
42
|
+
try {
|
43
|
+
const block = await (0, promises_1.promiseTimeout)(rpcProvider.getBlock('latest'), BLOCK_NUMBER_TIMEOUT_MS);
|
44
|
+
if (block == null) {
|
45
|
+
throw new Error('Block is null');
|
46
|
+
}
|
47
|
+
return block.number;
|
48
|
+
}
|
49
|
+
catch (err) {
|
50
|
+
if (!(err instanceof Error)) {
|
51
|
+
throw err;
|
52
|
+
}
|
53
|
+
rpcProvider.destroy();
|
54
|
+
logError(err.message);
|
55
|
+
return undefined;
|
56
|
+
}
|
57
|
+
};
|
58
|
+
//# sourceMappingURL=available-rpc.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"available-rpc.js","sourceRoot":"","sources":["../../src/utils/available-rpc.ts"],"names":[],"mappings":";;;AAAA,yCAAyC;AACzC,mCAAkD;AAElD,qCAA+C;AAC/C,yCAA4C;AAI5C,MAAM,uBAAuB,GAAG,IAAI,CAAC;AAErC;;;GAGG;AACI,MAAM,yBAAyB,GAAG,KAAK,EAC5C,OAAe,EACf,aAA6B,EAC7B,QAAkB,EACO,EAAE;IAC3B,MAAM,YAAY,GAAuB,MAAM,OAAO,CAAC,GAAG,CACxD,aAAa,CAAC,GAAG,CACf,KAAK,EAAC,YAAY,EAAC,EAAE,CACnB,MAAM,cAAc,CAAC,OAAO,EAAE,YAAY,CAAC,QAAQ,EAAE,QAAQ,CAAC,CACjE,CACF,CAAC;IAEF,MAAM,mBAAmB,GAAG,YAAY,CAAC,MAAM,CAC7C,WAAW,CAAC,EAAE,CAAC,WAAW,IAAI,IAAI,IAAI,WAAW,GAAG,CAAC,CAC1C,CAAC;IACd,MAAM,iBAAiB,GAAG,IAAA,4BAAmB,EAAC,mBAAmB,CAAC,CAAC;IACnE,MAAM,eAAe,GAAG,iBAAiB,GAAG,GAAG,CAAC;IAChD,MAAM,eAAe,GAAG,iBAAiB,GAAG,GAAG,CAAC;IAEhD,OAAO,aAAa,CAAC,MAAM,CAAC,CAAC,YAAY,EAAE,KAAK,EAAE,EAAE;QAClD,MAAM,WAAW,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;QACxC,IAAI,WAAW,IAAI,IAAI,EAAE;YACvB,QAAQ,CACN,+BAA+B,YAAY,CAAC,QAAQ,mBAAmB,CACxE,CAAC;YACF,OAAO,KAAK,CAAC;SACd;QACD,IAAI,WAAW,GAAG,eAAe,EAAE;YACjC,QAAQ,CACN,+BAA+B,YAAY,CAAC,QAAQ,mBAClD,iBAAiB,GAAG,WACtB,cAAc,CACf,CAAC;YACF,OAAO,KAAK,CAAC;SACd;QACD,IAAI,WAAW,GAAG,eAAe,EAAE;YACjC,QAAQ,CACN,+BAA+B,YAAY,CAAC,QAAQ,mBAClD,WAAW,GAAG,iBAChB,cAAc,CACf,CAAC;YACF,OAAO,KAAK,CAAC;SACd;QACD,OAAO,IAAI,CAAC;IACd,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AA7CW,QAAA,yBAAyB,6BA6CpC;AAEF,MAAM,cAAc,GAAG,KAAK,EAC1B,OAAe,EACf,QAAgB,EAChB,QAAkB,EACS,EAAE;IAC7B,MAAM,OAAO,GAAG,gBAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACtC,MAAM,WAAW,GAAG,IAAI,wBAAe,CAAC,QAAQ,EAAE,OAAO,EAAE;QACzD,aAAa,EAAE,OAAO;KACvB,CAAC,CAAC;IACH,IAAI;QACF,MAAM,KAAK,GAAG,MAAM,IAAA,yBAAc,EAChC,WAAW,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAC9B,uBAAuB,CACxB,CAAC;QACF,IAAI,KAAK,IAAI,IAAI,EAAE;YACjB,MAAM,IAAI,KAAK,CAAC,eAAe,CAAC,CAAC;SAClC;QACD,OAAO,KAAK,CAAC,MAAM,CAAC;KACrB;IAAC,OAAO,GAAG,EAAE;QACZ,IAAI,CAAC,CAAC,GAAG,YAAY,KAAK,CAAC,EAAE;YAC3B,MAAM,GAAG,CAAC;SACX;QACD,WAAW,CAAC,OAAO,EAAE,CAAC;QACtB,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACtB,OAAO,SAAS,CAAC;KAClB;AACH,CAAC,CAAC","sourcesContent":["/// <reference types=\"../types/global\" />\nimport { JsonRpcProvider, Network } from 'ethers';\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 chainId: number,\n providerJsons: ProviderJson[],\n logError: LogError,\n): Promise<ProviderJson[]> => {\n const blockNumbers: Optional<number>[] = await Promise.all(\n providerJsons.map(\n async providerJson =>\n await getBlockNumber(chainId, providerJson.provider, logError),\n ),\n );\n\n const nonZeroBlockNumbers = blockNumbers.filter(\n blockNumber => blockNumber != null && blockNumber > 0,\n ) as number[];\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 == null) {\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 chainId: number,\n provider: string,\n logError: LogError,\n): Promise<Optional<number>> => {\n const network = Network.from(chainId);\n const rpcProvider = new JsonRpcProvider(provider, network, {\n staticNetwork: network,\n });\n try {\n const block = await promiseTimeout(\n rpcProvider.getBlock('latest'),\n BLOCK_NUMBER_TIMEOUT_MS,\n );\n if (block == null) {\n throw new Error('Block is null');\n }\n return block.number;\n } catch (err) {\n if (!(err instanceof Error)) {\n throw err;\n }\n rpcProvider.destroy();\n logError(err.message);\n return undefined;\n }\n};\n"]}
|
@@ -0,0 +1,8 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.compareChains = void 0;
|
4
|
+
const compareChains = (chainA, chainB) => {
|
5
|
+
return chainA.type === chainB.type && chainA.id === chainB.id;
|
6
|
+
};
|
7
|
+
exports.compareChains = compareChains;
|
8
|
+
//# sourceMappingURL=compare.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"compare.js","sourceRoot":"","sources":["../../src/utils/compare.ts"],"names":[],"mappings":";;;AAEO,MAAM,aAAa,GAAG,CAAC,MAAa,EAAE,MAAa,EAAE,EAAE;IAC5D,OAAO,MAAM,CAAC,IAAI,KAAK,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,EAAE,KAAK,MAAM,CAAC,EAAE,CAAC;AAChE,CAAC,CAAC;AAFW,QAAA,aAAa,iBAExB","sourcesContent":["import { Chain } from '../models/response-types';\n\nexport const compareChains = (chainA: Chain, chainB: Chain) => {\n return chainA.type === chainB.type && chainA.id === chainB.id;\n};\n"]}
|
@@ -0,0 +1,15 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.ConfiguredJsonRpcProvider = void 0;
|
4
|
+
const ethers_1 = require("ethers");
|
5
|
+
class ConfiguredJsonRpcProvider extends ethers_1.JsonRpcProvider {
|
6
|
+
constructor(url, network, maxLogsPerBatch = 100) {
|
7
|
+
const options = {
|
8
|
+
staticNetwork: network,
|
9
|
+
batchMaxCount: maxLogsPerBatch,
|
10
|
+
};
|
11
|
+
super(url, network, options);
|
12
|
+
}
|
13
|
+
}
|
14
|
+
exports.ConfiguredJsonRpcProvider = ConfiguredJsonRpcProvider;
|
15
|
+
//# sourceMappingURL=configured-json-rpc-provider.js.map
|