diff --git a/.github/workflows/registry.yml b/.github/workflows/registry.yml index 3c4da7f..0ba0f64 100644 --- a/.github/workflows/registry.yml +++ b/.github/workflows/registry.yml @@ -2,7 +2,7 @@ name: registry on: schedule: - - cron: '0 0 * * 0' + - cron: '0 * * * *' jobs: build-registry: diff --git a/registry.json b/registry.json index c76983f..e14fce2 100644 --- a/registry.json +++ b/registry.json @@ -30,6 +30,7 @@ "20": "StabCP", "21": "WBTC", "77": "TRQ", + "79": "PGOLD", "99": "Cypress", "100": "WETH", "101": "DOTMA", @@ -43,25 +44,23 @@ "1984": "USDt", "862812": "CUBO", "868367": "VSC", - "19120101": "NTDC", - "19760401": "APPL", "20090103": "BTC" }, "foreignAssetsInfo": { "EQ": { "symbol": "EQ", "name": "Equilibrium", - "multiLocation": "{\"parents\":1,\"interior\":{\"x1\":{\"parachain\":2011}}}" + "multiLocation": "{\"parents\":\"1\",\"interior\":{\"X1\":{\"Parachain\":\"2011\"}}}" }, - "0x02010903": { + "0x7b22706172656e7473223a2232222c22696e746572696f72223a7b225831223a7b22476c6f62616c436f6e73656e737573223a224b7573616d61227d7d7d": { "symbol": "", "name": "", - "multiLocation": "{\"parents\":2,\"interior\":{\"x1\":{\"globalConsensus\":{\"kusama\":null}}}}" + "multiLocation": "{\"parents\":\"2\",\"interior\":{\"X1\":{\"GlobalConsensus\":\"Kusama\"}}}" }, "EQD": { "symbol": "EQD", "name": "Equilibrium Dollar", - "multiLocation": "{\"parents\":1,\"interior\":{\"x2\":[{\"parachain\":2011},{\"generalKey\":{\"length\":3,\"data\":\"0x6571640000000000000000000000000000000000000000000000000000000000\"}}]}}" + "multiLocation": "{\"parents\":\"1\",\"interior\":{\"X2\":[{\"Parachain\":\"2011\"},{\"GeneralKey\":{\"length\":\"3\",\"data\":\"0x6571640000000000000000000000000000000000000000000000000000000000\"}}]}}" } }, "poolPairsInfo": {}, @@ -257,6 +256,13 @@ "xcmV1MultiLocation": "{\"v1\":{\"parents\":1,\"interior\":{\"here\":null}}}", "asset": "42259045809535163221576417993425387648" }, + { + "paraID": 1000, + "symbol": "USDC", + "decimals": 6, + "xcmV1MultiLocation": "{\"v1\":{\"parents\":1,\"interior\":{\"x3\":[{\"parachain\":1000},{\"palletInstance\":50},{\"generalIndex\":1337}]}}}", + "asset": "166377000701797186346254371275954761085" + }, { "paraID": 1000, "symbol": "USDT", @@ -264,6 +270,13 @@ "xcmV1MultiLocation": "{\"v1\":{\"parents\":1,\"interior\":{\"x3\":[{\"parachain\":1000},{\"palletInstance\":50},{\"generalIndex\":1984}]}}}", "asset": "311091173110107856861649819128533077277" }, + { + "paraID": 2000, + "symbol": "LDOT", + "decimals": 10, + "xcmV1MultiLocation": "{\"v1\":{\"parents\":1,\"interior\":{\"x2\":[{\"parachain\":2000},{\"generalKey\":\"0x0003\"}]}}}", + "asset": "225719522181998468294117309041779353812" + }, { "paraID": 2000, "symbol": "aUSD", @@ -383,6 +396,13 @@ "xcmV1MultiLocation": "{\"v1\":{\"parents\":1,\"interior\":{\"x1\":{\"parachain\":2035}}}}", "asset": "132685552157663328694213725410064821485" }, + { + "paraID": 2043, + "symbol": "OTP", + "decimals": 12, + "xcmV1MultiLocation": "{\"v1\":{\"parents\":1,\"interior\":{\"x2\":[{\"parachain\":2043},{\"palletInstance\":10}]}}}", + "asset": "238111524681612888331172110363070489924" + }, { "paraID": 2046, "symbol": "RING", @@ -390,6 +410,13 @@ "xcmV1MultiLocation": "{\"v1\":{\"parents\":1,\"interior\":{\"x2\":[{\"parachain\":2046},{\"palletInstance\":5}]}}}", "asset": "125699734534028342599692732320197985871" }, + { + "paraID": 2092, + "symbol": "ZTG", + "decimals": 10, + "xcmV1MultiLocation": "{\"v1\":{\"parents\":1,\"interior\":{\"x2\":[{\"parachain\":2092},{\"generalKey\":\"0x0001\"}]}}}", + "asset": "150874409661081770150564009349448205842" + }, { "paraID": 2101, "symbol": "SUB", @@ -422,6 +449,13 @@ "xcmV1MultiLocation": "{\"v1\":{\"parents\":1,\"interior\":{\"here\":null}}}", "asset": "340282366920938463463374607431768211455" }, + { + "paraID": 1000, + "symbol": "USDC", + "decimals": 6, + "xcmV1MultiLocation": "{\"v1\":{\"parents\":1,\"interior\":{\"x3\":[{\"parachain\":1000},{\"palletInstance\":50},{\"generalIndex\":1337}]}}}", + "asset": "4294969281" + }, { "paraID": 1000, "symbol": "USDT", @@ -492,6 +526,13 @@ "xcmV1MultiLocation": "{\"v1\":{\"parents\":1,\"interior\":{\"x2\":[{\"parachain\":2030},{\"generalKey\":\"0x0900\"}]}}}", "asset": "18446744073709551624" }, + { + "paraID": 2030, + "symbol": "vASTR", + "decimals": 18, + "xcmV1MultiLocation": "{\"v1\":{\"parents\":1,\"interior\":{\"x2\":[{\"parachain\":2030},{\"generalKey\":\"0x0903\"}]}}}", + "asset": "18446744073709551632" + }, { "paraID": 2030, "symbol": "BNC", @@ -593,13 +634,6 @@ "xcmV1MultiLocation": "{\"v1\":{\"parents\":1,\"interior\":{\"x3\":[{\"parachain\":1000},{\"palletInstance\":50},{\"generalIndex\":1984}]}}}", "asset": "102" }, - { - "paraID": 2000, - "symbol": "ACA", - "decimals": 12, - "xcmV1MultiLocation": "{\"v1\":{\"parents\":1,\"interior\":{\"x2\":[{\"parachain\":2000},{\"generalKey\":\"0x0000\"}]}}}", - "asset": "108" - }, { "paraID": 2000, "symbol": "LDOT", @@ -607,6 +641,13 @@ "xcmV1MultiLocation": "{\"v1\":{\"parents\":1,\"interior\":{\"x2\":[{\"parachain\":2000},{\"generalKey\":\"0x0003\"}]}}}", "asset": "110" }, + { + "paraID": 2000, + "symbol": "ACA", + "decimals": 12, + "xcmV1MultiLocation": "{\"v1\":{\"parents\":1,\"interior\":{\"x2\":[{\"parachain\":2000},{\"generalKey\":\"0x0000\"}]}}}", + "asset": "108" + }, { "paraID": 2000, "symbol": "lcDOT", @@ -635,6 +676,13 @@ "xcmV1MultiLocation": "{\"v1\":{\"parents\":1,\"interior\":{\"x2\":[{\"parachain\":2012},{\"generalKey\":\"0x73444f54\"}]}}}", "asset": "1001" }, + { + "paraID": 2012, + "symbol": "cDOT-7/14", + "decimals": 10, + "xcmV1MultiLocation": "{\"v1\":{\"parents\":1,\"interior\":{\"x3\":[{\"parachain\":2012},{\"palletInstance\":6},{\"generalIndex\":200070014}]}}}", + "asset": "200070014" + }, { "paraID": 2012, "symbol": "cDOT-8/15", @@ -644,10 +692,10 @@ }, { "paraID": 2012, - "symbol": "cDOT-9/16", + "symbol": "cDOT-10/17", "decimals": 10, - "xcmV1MultiLocation": "{\"v1\":{\"parents\":1,\"interior\":{\"x3\":[{\"parachain\":2012},{\"palletInstance\":6},{\"generalIndex\":200090016}]}}}", - "asset": "200090016" + "xcmV1MultiLocation": "{\"v1\":{\"parents\":1,\"interior\":{\"x3\":[{\"parachain\":2012},{\"palletInstance\":6},{\"generalIndex\":200100017}]}}}", + "asset": "200100017" }, { "paraID": 2012, @@ -658,17 +706,17 @@ }, { "paraID": 2012, - "symbol": "cDOT-10/17", + "symbol": "cDOT-9/16", "decimals": 10, - "xcmV1MultiLocation": "{\"v1\":{\"parents\":1,\"interior\":{\"x3\":[{\"parachain\":2012},{\"palletInstance\":6},{\"generalIndex\":200100017}]}}}", - "asset": "200100017" + "xcmV1MultiLocation": "{\"v1\":{\"parents\":1,\"interior\":{\"x3\":[{\"parachain\":2012},{\"palletInstance\":6},{\"generalIndex\":200090016}]}}}", + "asset": "200090016" }, { - "paraID": 2012, - "symbol": "cDOT-7/14", + "paraID": 2032, + "symbol": "INTR", "decimals": 10, - "xcmV1MultiLocation": "{\"v1\":{\"parents\":1,\"interior\":{\"x3\":[{\"parachain\":2012},{\"palletInstance\":6},{\"generalIndex\":200070014}]}}}", - "asset": "200070014" + "xcmV1MultiLocation": "{\"v1\":{\"parents\":1,\"interior\":{\"x2\":[{\"parachain\":2032},{\"generalKey\":\"0x0002\"}]}}}", + "asset": "120" }, { "paraID": 2032, @@ -677,13 +725,6 @@ "xcmV1MultiLocation": "{\"v1\":{\"parents\":1,\"interior\":{\"x2\":[{\"parachain\":2032},{\"generalKey\":\"0x0001\"}]}}}", "asset": "122" }, - { - "paraID": 2032, - "symbol": "INTR", - "decimals": 10, - "xcmV1MultiLocation": "{\"v1\":{\"parents\":1,\"interior\":{\"x2\":[{\"parachain\":2032},{\"generalKey\":\"0x0002\"}]}}}", - "asset": "120" - }, { "paraID": 2035, "symbol": "PHA", @@ -747,6 +788,15 @@ "Token2": "2" } }, + { + "paraID": 1000, + "symbol": "USDC", + "decimals": 6, + "xcmV1MultiLocation": "{\"v1\":{\"parents\":1,\"interior\":{\"x3\":[{\"parachain\":1000},{\"palletInstance\":50},{\"generalIndex\":1337}]}}}", + "asset": { + "Token2": "5" + } + }, { "paraID": 2004, "symbol": "GLMR", @@ -792,6 +842,15 @@ "Token2": "4" } }, + { + "paraID": 2030, + "symbol": "vASTR", + "decimals": 18, + "xcmV1MultiLocation": "{\"v1\":{\"parents\":1,\"interior\":{\"x2\":[{\"parachain\":2030},{\"generalKey\":\"0x0903\"}]}}}", + "asset": { + "VToken2": "3" + } + }, { "paraID": 2030, "symbol": "vDOT", @@ -809,6 +868,33 @@ "asset": { "VSToken2": "0" } + }, + { + "paraID": 2032, + "symbol": "IBTC", + "decimals": 8, + "xcmV1MultiLocation": "{\"v1\":{\"parents\":1,\"interior\":{\"x2\":[{\"parachain\":2032},{\"generalKey\":\"0x0001\"}]}}}", + "asset": { + "Token2": "6" + } + }, + { + "paraID": 2032, + "symbol": "INTR", + "decimals": 10, + "xcmV1MultiLocation": "{\"v1\":{\"parents\":1,\"interior\":{\"x2\":[{\"parachain\":2032},{\"generalKey\":\"0x0002\"}]}}}", + "asset": { + "Token2": "7" + } + }, + { + "paraID": 2104, + "symbol": "MANTA", + "decimals": 18, + "xcmV1MultiLocation": "{\"v1\":{\"parents\":1,\"interior\":{\"x1\":{\"parachain\":2104}}}}", + "asset": { + "Token2": "8" + } } ] }, @@ -832,20 +918,20 @@ }, { "paraID": 1000, - "symbol": "USDT", + "symbol": "USDC", "decimals": 6, - "xcmV1MultiLocation": "{\"v1\":{\"parents\":1,\"interior\":{\"x3\":[{\"parachain\":1000},{\"palletInstance\":50},{\"generalIndex\":1984}]}}}", + "xcmV1MultiLocation": "{\"v1\":{\"parents\":1,\"interior\":{\"x3\":[{\"parachain\":1000},{\"palletInstance\":50},{\"generalIndex\":1337}]}}}", "asset": { - "ForeignAsset": "1" + "ForeignAsset": "6" } }, { "paraID": 1000, - "symbol": "USDC", + "symbol": "USDT", "decimals": 6, - "xcmV1MultiLocation": "{\"v1\":{\"parents\":1,\"interior\":{\"x3\":[{\"parachain\":1000},{\"palletInstance\":50},{\"generalIndex\":1337}]}}}", + "xcmV1MultiLocation": "{\"v1\":{\"parents\":1,\"interior\":{\"x3\":[{\"parachain\":1000},{\"palletInstance\":50},{\"generalIndex\":1984}]}}}", "asset": { - "ForeignAsset": "6" + "ForeignAsset": "1" } }, { @@ -866,12 +952,48 @@ "ForeignAsset": "4" } }, + { + "paraID": 2031, + "symbol": "LpArbUSDC", + "decimals": 6, + "xcmV1MultiLocation": "{\"v1\":{\"parents\":1,\"interior\":{\"x4\":[{\"parachain\":2031},{\"palletInstance\":103},{\"globalConsensus\":{\"ethereum\":{\"chainId\":42161}}},{\"accountKey20\":{\"network\":null,\"key\":\"0xaf88d065e77c8cc2239327c5edb3a432268e5831\"}}]}}}", + "asset": { + "ForeignAsset": "100,003" + } + }, { "paraID": 2031, "symbol": "CFG", "decimals": 18, "xcmV1MultiLocation": "{\"v1\":{\"parents\":1,\"interior\":{\"x2\":[{\"parachain\":2031},{\"generalKey\":\"0x0001\"}]}}}", "asset": "Native" + }, + { + "paraID": 2031, + "symbol": "LpBaseUSDC", + "decimals": 6, + "xcmV1MultiLocation": "{\"v1\":{\"parents\":1,\"interior\":{\"x4\":[{\"parachain\":2031},{\"palletInstance\":103},{\"globalConsensus\":{\"ethereum\":{\"chainId\":8453}}},{\"accountKey20\":{\"network\":null,\"key\":\"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913\"}}]}}}", + "asset": { + "ForeignAsset": "100,002" + } + }, + { + "paraID": 2031, + "symbol": "LpEthUSDC", + "decimals": 6, + "xcmV1MultiLocation": "{\"v1\":{\"parents\":1,\"interior\":{\"x4\":[{\"parachain\":2031},{\"palletInstance\":103},{\"globalConsensus\":{\"ethereum\":{\"chainId\":1}}},{\"accountKey20\":{\"network\":null,\"key\":\"0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48\"}}]}}}", + "asset": { + "ForeignAsset": "100,001" + } + }, + { + "paraID": 2031, + "symbol": "LpCeloUSDC", + "decimals": 6, + "xcmV1MultiLocation": "{\"v1\":{\"parents\":1,\"interior\":{\"x4\":[{\"parachain\":2031},{\"palletInstance\":103},{\"globalConsensus\":{\"ethereum\":{\"chainId\":42220}}},{\"accountKey20\":{\"network\":null,\"key\":\"0x37f750b7cc259a2f741af45294f6a16572cf5cad\"}}]}}}", + "asset": { + "ForeignAsset": "100,004" + } } ] }, @@ -906,6 +1028,87 @@ "asset": { "ForeignAsset": "1" } + }, + { + "paraID": 2001, + "symbol": "BNC", + "decimals": 12, + "xcmV1MultiLocation": "{\"v1\":{\"parents\":1,\"interior\":{\"x2\":[{\"parachain\":2001},{\"generalKey\":\"0x0001\"}]}}}", + "asset": { + "ForeignAsset": "11" + } + }, + { + "paraID": 2004, + "symbol": "WBNB.wh", + "decimals": 18, + "xcmV1MultiLocation": "{\"v1\":{\"parents\":1,\"interior\":{\"x3\":[{\"parachain\":2004},{\"palletInstance\":110},{\"accountKey20\":{\"network\":null,\"key\":\"0xe3b841c3f96e647e6dc01b468d6d0ad3562a9eeb\"}}]}}}", + "asset": { + "ForeignAsset": "7" + } + }, + { + "paraID": 2004, + "symbol": "TBTC.wh", + "decimals": 18, + "xcmV1MultiLocation": "{\"v1\":{\"parents\":1,\"interior\":{\"x3\":[{\"parachain\":2004},{\"palletInstance\":110},{\"accountKey20\":{\"network\":null,\"key\":\"0xecd65e4b89495ae63b4f11ca872a23680a7c419c\"}}]}}}", + "asset": { + "ForeignAsset": "5" + } + }, + { + "paraID": 2004, + "symbol": "USDC.wh", + "decimals": 6, + "xcmV1MultiLocation": "{\"v1\":{\"parents\":1,\"interior\":{\"x3\":[{\"parachain\":2004},{\"palletInstance\":110},{\"accountKey20\":{\"network\":null,\"key\":\"0x931715fee2d06333043d11f658c8ce934ac61d0c\"}}]}}}", + "asset": { + "ForeignAsset": "8" + } + }, + { + "paraID": 2004, + "symbol": "WBTC.wh", + "decimals": 8, + "xcmV1MultiLocation": "{\"v1\":{\"parents\":1,\"interior\":{\"x3\":[{\"parachain\":2004},{\"palletInstance\":110},{\"accountKey20\":{\"network\":null,\"key\":\"0xe57ebd2d67b462e9926e04a8e33f01cd0d64346d\"}}]}}}", + "asset": { + "ForeignAsset": "9" + } + }, + { + "paraID": 2004, + "symbol": "GLMR", + "decimals": 18, + "xcmV1MultiLocation": "{\"v1\":{\"parents\":1,\"interior\":{\"x2\":[{\"parachain\":2004},{\"palletInstance\":10}]}}}", + "asset": { + "ForeignAsset": "10" + } + }, + { + "paraID": 2004, + "symbol": "WETH.wh", + "decimals": 18, + "xcmV1MultiLocation": "{\"v1\":{\"parents\":1,\"interior\":{\"x3\":[{\"parachain\":2004},{\"palletInstance\":110},{\"accountKey20\":{\"network\":null,\"key\":\"0xab3f0245b83feb11d15aaffefd7ad465a59817ed\"}}]}}}", + "asset": { + "ForeignAsset": "6" + } + }, + { + "paraID": 2004, + "symbol": "DAI.wh", + "decimals": 18, + "xcmV1MultiLocation": "{\"v1\":{\"parents\":1,\"interior\":{\"x3\":[{\"parachain\":2004},{\"palletInstance\":110},{\"accountKey20\":{\"network\":null,\"key\":\"0x06e605775296e851ff43b4daa541bb0984e9d6fd\"}}]}}}", + "asset": { + "ForeignAsset": "4" + } + }, + { + "paraID": 2030, + "symbol": "VDOT", + "decimals": 10, + "xcmV1MultiLocation": "{\"v1\":{\"parents\":1,\"interior\":{\"x2\":[{\"parachain\":2030},{\"generalKey\":\"0x0900\"}]}}}", + "asset": { + "ForeignAsset": "3" + } } ] }, @@ -925,6 +1128,13 @@ "xcmV1MultiLocation": "{\"v1\":{\"parents\":1,\"interior\":{\"here\":null}}}", "asset": "5" }, + { + "paraID": 1000, + "symbol": "USDC", + "decimals": 6, + "xcmV1MultiLocation": "{\"v1\":{\"parents\":1,\"interior\":{\"x3\":[{\"parachain\":1000},{\"palletInstance\":50},{\"generalIndex\":1337}]}}}", + "asset": "22" + }, { "paraID": 1000, "symbol": "USDT", @@ -1002,6 +1212,13 @@ "xcmV1MultiLocation": "{\"v1\":{\"parents\":1,\"interior\":{\"x3\":[{\"parachain\":2004},{\"palletInstance\":110},{\"accountKey20\":{\"network\":null,\"key\":\"0x06e605775296e851ff43b4daa541bb0984e9d6fd\"}}]}}}", "asset": "18" }, + { + "paraID": 2004, + "symbol": "USDT", + "decimals": 6, + "xcmV1MultiLocation": "{\"v1\":{\"parents\":1,\"interior\":{\"x3\":[{\"parachain\":2004},{\"palletInstance\":110},{\"accountKey20\":{\"network\":null,\"key\":\"0xc30e9ca94cf52f3bf5692aacf81353a27052c46f\"}}]}}}", + "asset": "23" + }, { "paraID": 2006, "symbol": "ASTR", @@ -1173,15 +1390,6 @@ "poolPairsInfo": {}, "specName": "integritee-parachain" }, - "2040": { - "tokens": [ - "PDEX" - ], - "assetsInfo": {}, - "foreignAssetsInfo": {}, - "poolPairsInfo": {}, - "specName": "node" - }, "2043": { "tokens": [ "OTP" @@ -1227,24 +1435,6 @@ "poolPairsInfo": {}, "specName": "ajuna" }, - "2052": { - "tokens": [ - "KYL" - ], - "assetsInfo": {}, - "foreignAssetsInfo": {}, - "poolPairsInfo": {}, - "specName": "kylin" - }, - "2056": { - "tokens": [ - "AVT" - ], - "assetsInfo": {}, - "foreignAssetsInfo": {}, - "poolPairsInfo": {}, - "specName": "avn-parachain" - }, "2086": { "tokens": [ "KILT" @@ -1491,18 +1681,27 @@ "4294967291": "PRIME" }, "foreignAssetsInfo": { - "0x02010902": { + "0x7b22706172656e7473223a2232222c22696e746572696f72223a7b225831223a7b22476c6f62616c436f6e73656e737573223a22506f6c6b61646f74227d7d7d": { "symbol": "", "name": "", - "multiLocation": "{\"parents\":2,\"interior\":{\"x1\":{\"globalConsensus\":{\"polkadot\":null}}}}" + "multiLocation": "{\"parents\":\"2\",\"interior\":{\"X1\":{\"GlobalConsensus\":\"Polkadot\"}}}" }, "TNKR": { "symbol": "TNKR", "name": "Tinkernet", - "multiLocation": "{\"parents\":1,\"interior\":{\"x2\":[{\"parachain\":2125},{\"generalIndex\":0}]}}" + "multiLocation": "{\"parents\":\"1\",\"interior\":{\"X2\":[{\"Parachain\":\"2125\"},{\"GeneralIndex\":\"0\"}]}}" + } + }, + "poolPairsInfo": { + "0": { + "lpToken": "0", + "pairInfo": "[[{\"parents\":\"1\",\"interior\":\"Here\"},{\"parents\":\"0\",\"interior\":{\"X2\":[{\"PalletInstance\":\"50\"},{\"GeneralIndex\":\"5797867\"}]}}]]" + }, + "1": { + "lpToken": "1", + "pairInfo": "[[{\"parents\":\"1\",\"interior\":\"Here\"},{\"parents\":\"0\",\"interior\":{\"X2\":[{\"PalletInstance\":\"50\"},{\"GeneralIndex\":\"1984\"}]}}]]" } }, - "poolPairsInfo": {}, "specName": "statemine" }, "1001": { @@ -2189,17 +2388,17 @@ "xcAssetsData": [ { "paraID": 2000, - "symbol": "KAR", + "symbol": "AUSD", "decimals": 12, - "xcmV1MultiLocation": "{\"v1\":{\"parents\":1,\"interior\":{\"x2\":[{\"parachain\":2000},{\"generalKey\":\"0x0080\"}]}}}", - "asset": "10810581592933651521121702237638664357" + "xcmV1MultiLocation": "{\"v1\":{\"parents\":1,\"interior\":{\"x2\":[{\"parachain\":2000},{\"generalKey\":\"0x0081\"}]}}}", + "asset": "214920334981412447805621250067209749032" }, { "paraID": 2000, - "symbol": "AUSD", + "symbol": "KAR", "decimals": 12, - "xcmV1MultiLocation": "{\"v1\":{\"parents\":1,\"interior\":{\"x2\":[{\"parachain\":2000},{\"generalKey\":\"0x0081\"}]}}}", - "asset": "214920334981412447805621250067209749032" + "xcmV1MultiLocation": "{\"v1\":{\"parents\":1,\"interior\":{\"x2\":[{\"parachain\":2000},{\"generalKey\":\"0x0080\"}]}}}", + "asset": "10810581592933651521121702237638664357" }, { "paraID": 2001, @@ -2368,6 +2567,13 @@ "xcmV1MultiLocation": "{\"v1\":{\"parents\":1,\"interior\":{\"x2\":[{\"parachain\":2085},{\"generalKey\":\"0x484b4f\"}]}}}", "asset": "76100021443485661246318545281171740067" }, + { + "paraID": 2087, + "symbol": "PICA", + "decimals": 12, + "xcmV1MultiLocation": "{\"v1\":{\"parents\":1,\"interior\":{\"x1\":{\"parachain\":2087}}}}", + "asset": "167283995827706324502761431814209211090" + }, { "paraID": 2092, "symbol": "KBTC", @@ -2461,24 +2667,17 @@ }, { "paraID": 2000, - "symbol": "KAR", - "decimals": 12, - "xcmV1MultiLocation": "{\"v1\":{\"parents\":1,\"interior\":{\"x2\":[{\"parachain\":2000},{\"generalKey\":\"0x0080\"}]}}}", - "asset": "8" - }, - { - "paraID": 2000, - "symbol": "AUSD", - "decimals": 12, - "xcmV1MultiLocation": "{\"v1\":{\"parents\":1,\"interior\":{\"x2\":[{\"parachain\":2000},{\"generalKey\":\"0x0081\"}]}}}", - "asset": "9" + "symbol": "BNB", + "decimals": 18, + "xcmV1MultiLocation": "{\"v1\":{\"parents\":1,\"interior\":{\"x2\":[{\"parachain\":2000},{\"generalKey\":\"0x02e278651e8ff8e2efa83d7f84205084ebc90688be\"}]}}}", + "asset": "21" }, { "paraID": 2000, - "symbol": "LKSM", - "decimals": 12, - "xcmV1MultiLocation": "{\"v1\":{\"parents\":1,\"interior\":{\"x2\":[{\"parachain\":2000},{\"generalKey\":\"0x0083\"}]}}}", - "asset": "10" + "symbol": "WBTC", + "decimals": 8, + "xcmV1MultiLocation": "{\"v1\":{\"parents\":1,\"interior\":{\"x2\":[{\"parachain\":2000},{\"generalKey\":\"0x0266291c7d88d2ed9a708147bae4e0814a76705e2f\"}]}}}", + "asset": "26" }, { "paraID": 2000, @@ -2489,80 +2688,80 @@ }, { "paraID": 2000, - "symbol": "LINK", + "symbol": "BUSD", "decimals": 18, - "xcmV1MultiLocation": "{\"v1\":{\"parents\":1,\"interior\":{\"x2\":[{\"parachain\":2000},{\"generalKey\":\"0x022c7de70b32cf5f20e02329a88d2e3b00ef85eb90\"}]}}}", - "asset": "24" + "xcmV1MultiLocation": "{\"v1\":{\"parents\":1,\"interior\":{\"x2\":[{\"parachain\":2000},{\"generalKey\":\"0x02577f6a0718a468e8a995f6075f2325f86a07c83b\"}]}}}", + "asset": "23" }, { "paraID": 2000, - "symbol": "APE", - "decimals": 18, - "xcmV1MultiLocation": "{\"v1\":{\"parents\":1,\"interior\":{\"x2\":[{\"parachain\":2000},{\"generalKey\":\"0x0230b1f4ba0b07789be9986fa090a57e0fe5631ebb\"}]}}}", - "asset": "25" + "symbol": "AUSD", + "decimals": 12, + "xcmV1MultiLocation": "{\"v1\":{\"parents\":1,\"interior\":{\"x2\":[{\"parachain\":2000},{\"generalKey\":\"0x0081\"}]}}}", + "asset": "9" }, { "paraID": 2000, - "symbol": "DAI", + "symbol": "LDO", "decimals": 18, - "xcmV1MultiLocation": "{\"v1\":{\"parents\":1,\"interior\":{\"x2\":[{\"parachain\":2000},{\"generalKey\":\"0x024bb6afb5fa2b07a5d1c499e1c3ddb5a15e709a71\"}]}}}", - "asset": "15" + "xcmV1MultiLocation": "{\"v1\":{\"parents\":1,\"interior\":{\"x2\":[{\"parachain\":2000},{\"generalKey\":\"0x02b4ce1f6109854243d1af13b8ea34ed28542f31e0\"}]}}}", + "asset": "18" }, { "paraID": 2000, - "symbol": "BUSD", + "symbol": "MATIC", "decimals": 18, - "xcmV1MultiLocation": "{\"v1\":{\"parents\":1,\"interior\":{\"x2\":[{\"parachain\":2000},{\"generalKey\":\"0x02577f6a0718a468e8a995f6075f2325f86a07c83b\"}]}}}", - "asset": "23" + "xcmV1MultiLocation": "{\"v1\":{\"parents\":1,\"interior\":{\"x2\":[{\"parachain\":2000},{\"generalKey\":\"0x02a2a37aaf4730aeedada5aa8ee20a4451cb8b1c4e\"}]}}}", + "asset": "20" }, { "paraID": 2000, - "symbol": "WBTC", - "decimals": 8, - "xcmV1MultiLocation": "{\"v1\":{\"parents\":1,\"interior\":{\"x2\":[{\"parachain\":2000},{\"generalKey\":\"0x0266291c7d88d2ed9a708147bae4e0814a76705e2f\"}]}}}", - "asset": "26" + "symbol": "KAR", + "decimals": 12, + "xcmV1MultiLocation": "{\"v1\":{\"parents\":1,\"interior\":{\"x2\":[{\"parachain\":2000},{\"generalKey\":\"0x0080\"}]}}}", + "asset": "8" }, { "paraID": 2000, - "symbol": "UNI", - "decimals": 18, - "xcmV1MultiLocation": "{\"v1\":{\"parents\":1,\"interior\":{\"x2\":[{\"parachain\":2000},{\"generalKey\":\"0x0277cf14f938cb97308d752647d554439d99b39a3f\"}]}}}", - "asset": "22" + "symbol": "LKSM", + "decimals": 12, + "xcmV1MultiLocation": "{\"v1\":{\"parents\":1,\"interior\":{\"x2\":[{\"parachain\":2000},{\"generalKey\":\"0x0083\"}]}}}", + "asset": "10" }, { "paraID": 2000, - "symbol": "SHIB", + "symbol": "ARB", "decimals": 18, - "xcmV1MultiLocation": "{\"v1\":{\"parents\":1,\"interior\":{\"x2\":[{\"parachain\":2000},{\"generalKey\":\"0x029759ca009cbcd75a84786ac19bb5d02f8e68bcd9\"}]}}}", - "asset": "19" + "xcmV1MultiLocation": "{\"v1\":{\"parents\":1,\"interior\":{\"x2\":[{\"parachain\":2000},{\"generalKey\":\"0x02c621abc3afa3f24886ea278fffa7e10e8969d755\"}]}}}", + "asset": "17" }, { "paraID": 2000, - "symbol": "MATIC", + "symbol": "APE", "decimals": 18, - "xcmV1MultiLocation": "{\"v1\":{\"parents\":1,\"interior\":{\"x2\":[{\"parachain\":2000},{\"generalKey\":\"0x02a2a37aaf4730aeedada5aa8ee20a4451cb8b1c4e\"}]}}}", - "asset": "20" + "xcmV1MultiLocation": "{\"v1\":{\"parents\":1,\"interior\":{\"x2\":[{\"parachain\":2000},{\"generalKey\":\"0x0230b1f4ba0b07789be9986fa090a57e0fe5631ebb\"}]}}}", + "asset": "25" }, { "paraID": 2000, - "symbol": "LDO", + "symbol": "UNI", "decimals": 18, - "xcmV1MultiLocation": "{\"v1\":{\"parents\":1,\"interior\":{\"x2\":[{\"parachain\":2000},{\"generalKey\":\"0x02b4ce1f6109854243d1af13b8ea34ed28542f31e0\"}]}}}", - "asset": "18" + "xcmV1MultiLocation": "{\"v1\":{\"parents\":1,\"interior\":{\"x2\":[{\"parachain\":2000},{\"generalKey\":\"0x0277cf14f938cb97308d752647d554439d99b39a3f\"}]}}}", + "asset": "22" }, { "paraID": 2000, - "symbol": "ARB", + "symbol": "LINK", "decimals": 18, - "xcmV1MultiLocation": "{\"v1\":{\"parents\":1,\"interior\":{\"x2\":[{\"parachain\":2000},{\"generalKey\":\"0x02c621abc3afa3f24886ea278fffa7e10e8969d755\"}]}}}", - "asset": "17" + "xcmV1MultiLocation": "{\"v1\":{\"parents\":1,\"interior\":{\"x2\":[{\"parachain\":2000},{\"generalKey\":\"0x022c7de70b32cf5f20e02329a88d2e3b00ef85eb90\"}]}}}", + "asset": "24" }, { "paraID": 2000, - "symbol": "BNB", + "symbol": "SHIB", "decimals": 18, - "xcmV1MultiLocation": "{\"v1\":{\"parents\":1,\"interior\":{\"x2\":[{\"parachain\":2000},{\"generalKey\":\"0x02e278651e8ff8e2efa83d7f84205084ebc90688be\"}]}}}", - "asset": "21" + "xcmV1MultiLocation": "{\"v1\":{\"parents\":1,\"interior\":{\"x2\":[{\"parachain\":2000},{\"generalKey\":\"0x029759ca009cbcd75a84786ac19bb5d02f8e68bcd9\"}]}}}", + "asset": "19" }, { "paraID": 2000, @@ -2571,6 +2770,13 @@ "xcmV1MultiLocation": "{\"v1\":{\"parents\":1,\"interior\":{\"x2\":[{\"parachain\":2000},{\"generalKey\":\"0x02ece0cc38021e734bef1d5da071b027ac2f71181f\"}]}}}", "asset": "27" }, + { + "paraID": 2000, + "symbol": "DAI", + "decimals": 18, + "xcmV1MultiLocation": "{\"v1\":{\"parents\":1,\"interior\":{\"x2\":[{\"parachain\":2000},{\"generalKey\":\"0x024bb6afb5fa2b07a5d1c499e1c3ddb5a15e709a71\"}]}}}", + "asset": "15" + }, { "paraID": 2004, "symbol": "PHA", @@ -3074,15 +3280,6 @@ "poolPairsInfo": {}, "specName": "amplitude" }, - "2125": { - "tokens": [ - "TNKR" - ], - "assetsInfo": {}, - "foreignAssetsInfo": {}, - "poolPairsInfo": {}, - "specName": "tinkernet_node" - }, "2222": { "tokens": [ "MITO" @@ -3173,7 +3370,6 @@ "103": "cPHP", "104": "NewT", "109": "assetT", - "120": "NRD", "121": "TAL", "122": "TESTC", "123": "INXTSW1", @@ -3186,7 +3382,10 @@ "223": "BILL", "233": "NTT", "301": "RYUD", - "323": "TTK", + "318": "SAT", + "368": "KLING", + "369": "WIN", + "370": "SUM", "381": "ALC", "404": "JET", "420": "SKER", @@ -3196,6 +3395,7 @@ "666": "FTT", "676": "nbnbnbn", "777": "JJD", + "887": "TTA", "900": "VOD", "950": "HBCOIN", "987": "JVT", @@ -3208,24 +3408,21 @@ "1004": "VOW", "1005": "VOW", "1010": "POL", - "1011": "TTT", "1021": "NFT", "1022": "nfttst", "1023": "qqnihao", "1024": "qqnihao", "1111": "TESTY", - "1112": "JJT", "1113": "JTT", "1114": "USDC", "1122": "dmd", - "1123": "DTT", - "1133": "TTT", "1233": "QTY", "1234": "TEST", "1309": "KLO", "1312": "NG1312", "1337": "NACHO", "1977": "SQL", + "1984": "USDTT", "1988": "HBB", "1994": "SOU", "1995": "LUSD", @@ -3234,6 +3431,7 @@ "2023": "DEC", "2048": "CUT", "2122": "SVE", + "2131": "Wnd", "2511": "TTY", "3000": "DEV", "4000": "DES", @@ -3244,13 +3442,16 @@ "8937": "test", "9898": "FTT", "9999": "WND", - "10000": "NTT", "10111": "ETH", "12344": "tst", "12345": "DRR2", "13122": "NKL", "13337": "DEV", "15240": "KOKOS", + "22061": "RSD", + "22062": "BAM", + "22063": "PIVO", + "22064": "DKT", "31337": "USDC", "54221": "wTEST", "61337": "USDC", @@ -3278,148 +3479,189 @@ "4000000000": "dde" }, "foreignAssetsInfo": { - "0x02010902": { + "0x7b22706172656e7473223a2232222c22696e746572696f72223a7b225831223a7b22476c6f62616c436f6e73656e737573223a22506f6c6b61646f74227d7d7d": { + "symbol": "", + "name": "", + "multiLocation": "{\"parents\":\"2\",\"interior\":{\"X1\":{\"GlobalConsensus\":\"Polkadot\"}}}" + }, + "0x7b22706172656e7473223a2232222c22696e746572696f72223a7b225831223a7b22476c6f62616c436f6e73656e737573223a22526f636f636f227d7d7d": { "symbol": "", "name": "", - "multiLocation": "{\"parents\":2,\"interior\":{\"x1\":{\"globalConsensus\":{\"polkadot\":null}}}}" + "multiLocation": "{\"parents\":\"2\",\"interior\":{\"X1\":{\"GlobalConsensus\":\"Rococo\"}}}" } }, "poolPairsInfo": { "0": { "lpToken": "0", - "pairInfo": "[[{\"parents\":0,\"interior\":{\"here\":null}},{\"parents\":0,\"interior\":{\"x2\":[{\"palletInstance\":50},{\"generalIndex\":1977}]}}]]" + "pairInfo": "[[{\"parents\":\"1\",\"interior\":\"Here\"},{\"parents\":\"0\",\"interior\":{\"X2\":[{\"PalletInstance\":\"50\"},{\"GeneralIndex\":\"1977\"}]}}]]" }, "1": { "lpToken": "1", - "pairInfo": "[[{\"parents\":0,\"interior\":{\"here\":null}},{\"parents\":0,\"interior\":{\"x2\":[{\"palletInstance\":50},{\"generalIndex\":8}]}}]]" + "pairInfo": "[[{\"parents\":\"1\",\"interior\":\"Here\"},{\"parents\":\"0\",\"interior\":{\"X2\":[{\"PalletInstance\":\"50\"},{\"GeneralIndex\":\"8\"}]}}]]" }, "2": { "lpToken": "2", - "pairInfo": "[[{\"parents\":0,\"interior\":{\"here\":null}},{\"parents\":0,\"interior\":{\"x2\":[{\"palletInstance\":50},{\"generalIndex\":1114}]}}]]" + "pairInfo": "[[{\"parents\":\"1\",\"interior\":\"Here\"},{\"parents\":\"0\",\"interior\":{\"X2\":[{\"PalletInstance\":\"50\"},{\"GeneralIndex\":\"1114\"}]}}]]" }, "3": { "lpToken": "3", - "pairInfo": "[[{\"parents\":0,\"interior\":{\"here\":null}},{\"parents\":0,\"interior\":{\"x2\":[{\"palletInstance\":50},{\"generalIndex\":19801204}]}}]]" + "pairInfo": "[[{\"parents\":\"1\",\"interior\":\"Here\"},{\"parents\":\"0\",\"interior\":{\"X2\":[{\"PalletInstance\":\"50\"},{\"GeneralIndex\":\"19801204\"}]}}]]" }, "4": { "lpToken": "4", - "pairInfo": "[[{\"parents\":0,\"interior\":{\"here\":null}},{\"parents\":0,\"interior\":{\"x2\":[{\"palletInstance\":50},{\"generalIndex\":2511}]}}]]" + "pairInfo": "[[{\"parents\":\"1\",\"interior\":\"Here\"},{\"parents\":\"0\",\"interior\":{\"X2\":[{\"PalletInstance\":\"50\"},{\"GeneralIndex\":\"2511\"}]}}]]" }, "5": { "lpToken": "5", - "pairInfo": "[[{\"parents\":0,\"interior\":{\"here\":null}},{\"parents\":2,\"interior\":{\"x1\":{\"globalConsensus\":{\"polkadot\":null}}}}]]" + "pairInfo": "[[{\"parents\":\"1\",\"interior\":\"Here\"},{\"parents\":\"2\",\"interior\":{\"X1\":{\"GlobalConsensus\":\"Polkadot\"}}}]]" }, "6": { "lpToken": "6", - "pairInfo": "[[{\"parents\":0,\"interior\":{\"here\":null}},{\"parents\":0,\"interior\":{\"x2\":[{\"palletInstance\":50},{\"generalIndex\":45}]}}]]" + "pairInfo": "[[{\"parents\":\"1\",\"interior\":\"Here\"},{\"parents\":\"0\",\"interior\":{\"X2\":[{\"PalletInstance\":\"50\"},{\"GeneralIndex\":\"45\"}]}}]]" }, "7": { "lpToken": "7", - "pairInfo": "[[{\"parents\":0,\"interior\":{\"here\":null}},{\"parents\":0,\"interior\":{\"x2\":[{\"palletInstance\":50},{\"generalIndex\":4200}]}}]]" + "pairInfo": "[[{\"parents\":\"1\",\"interior\":\"Here\"},{\"parents\":\"0\",\"interior\":{\"X2\":[{\"PalletInstance\":\"50\"},{\"GeneralIndex\":\"4200\"}]}}]]" }, "8": { "lpToken": "8", - "pairInfo": "[[{\"parents\":0,\"interior\":{\"here\":null}},{\"parents\":0,\"interior\":{\"x2\":[{\"palletInstance\":50},{\"generalIndex\":32}]}}]]" + "pairInfo": "[[{\"parents\":\"1\",\"interior\":\"Here\"},{\"parents\":\"0\",\"interior\":{\"X2\":[{\"PalletInstance\":\"50\"},{\"GeneralIndex\":\"32\"}]}}]]" }, "9": { "lpToken": "9", - "pairInfo": "[[{\"parents\":0,\"interior\":{\"here\":null}},{\"parents\":0,\"interior\":{\"x2\":[{\"palletInstance\":50},{\"generalIndex\":30}]}}]]" + "pairInfo": "[[{\"parents\":\"1\",\"interior\":\"Here\"},{\"parents\":\"0\",\"interior\":{\"X2\":[{\"PalletInstance\":\"50\"},{\"GeneralIndex\":\"30\"}]}}]]" }, "10": { "lpToken": "10", - "pairInfo": "[[{\"parents\":0,\"interior\":{\"here\":null}},{\"parents\":0,\"interior\":{\"x2\":[{\"palletInstance\":50},{\"generalIndex\":46}]}}]]" + "pairInfo": "[[{\"parents\":\"1\",\"interior\":\"Here\"},{\"parents\":\"0\",\"interior\":{\"X2\":[{\"PalletInstance\":\"50\"},{\"GeneralIndex\":\"46\"}]}}]]" }, "11": { "lpToken": "11", - "pairInfo": "[[{\"parents\":0,\"interior\":{\"here\":null}},{\"parents\":0,\"interior\":{\"x2\":[{\"palletInstance\":50},{\"generalIndex\":1}]}}]]" + "pairInfo": "[[{\"parents\":\"1\",\"interior\":\"Here\"},{\"parents\":\"0\",\"interior\":{\"X2\":[{\"PalletInstance\":\"50\"},{\"GeneralIndex\":\"1\"}]}}]]" }, "12": { "lpToken": "12", - "pairInfo": "[[{\"parents\":0,\"interior\":{\"here\":null}},{\"parents\":0,\"interior\":{\"x2\":[{\"palletInstance\":50},{\"generalIndex\":47}]}}]]" + "pairInfo": "[[{\"parents\":\"1\",\"interior\":\"Here\"},{\"parents\":\"0\",\"interior\":{\"X2\":[{\"PalletInstance\":\"50\"},{\"GeneralIndex\":\"47\"}]}}]]" }, "13": { "lpToken": "13", - "pairInfo": "[[{\"parents\":0,\"interior\":{\"here\":null}},{\"parents\":0,\"interior\":{\"x2\":[{\"palletInstance\":50},{\"generalIndex\":1312}]}}]]" + "pairInfo": "[[{\"parents\":\"1\",\"interior\":\"Here\"},{\"parents\":\"0\",\"interior\":{\"X2\":[{\"PalletInstance\":\"50\"},{\"GeneralIndex\":\"1312\"}]}}]]" }, "14": { "lpToken": "14", - "pairInfo": "[[{\"parents\":0,\"interior\":{\"here\":null}},{\"parents\":0,\"interior\":{\"x2\":[{\"palletInstance\":50},{\"generalIndex\":1233}]}}]]" + "pairInfo": "[[{\"parents\":\"1\",\"interior\":\"Here\"},{\"parents\":\"0\",\"interior\":{\"X2\":[{\"PalletInstance\":\"50\"},{\"GeneralIndex\":\"1233\"}]}}]]" }, "15": { "lpToken": "15", - "pairInfo": "[[{\"parents\":0,\"interior\":{\"here\":null}},{\"parents\":0,\"interior\":{\"x2\":[{\"palletInstance\":50},{\"generalIndex\":13122}]}}]]" + "pairInfo": "[[{\"parents\":\"1\",\"interior\":\"Here\"},{\"parents\":\"0\",\"interior\":{\"X2\":[{\"PalletInstance\":\"50\"},{\"GeneralIndex\":\"13122\"}]}}]]" }, "16": { "lpToken": "16", - "pairInfo": "[[{\"parents\":0,\"interior\":{\"here\":null}},{\"parents\":0,\"interior\":{\"x2\":[{\"palletInstance\":50},{\"generalIndex\":48}]}}]]" + "pairInfo": "[[{\"parents\":\"1\",\"interior\":\"Here\"},{\"parents\":\"0\",\"interior\":{\"X2\":[{\"PalletInstance\":\"50\"},{\"GeneralIndex\":\"48\"}]}}]]" }, "17": { "lpToken": "17", - "pairInfo": "[[{\"parents\":0,\"interior\":{\"here\":null}},{\"parents\":0,\"interior\":{\"x2\":[{\"palletInstance\":50},{\"generalIndex\":49}]}}]]" + "pairInfo": "[[{\"parents\":\"1\",\"interior\":\"Here\"},{\"parents\":\"0\",\"interior\":{\"X2\":[{\"PalletInstance\":\"50\"},{\"GeneralIndex\":\"49\"}]}}]]" }, "18": { "lpToken": "18", - "pairInfo": "[[{\"parents\":0,\"interior\":{\"here\":null}},{\"parents\":0,\"interior\":{\"x2\":[{\"palletInstance\":50},{\"generalIndex\":10111}]}}]]" + "pairInfo": "[[{\"parents\":\"1\",\"interior\":\"Here\"},{\"parents\":\"0\",\"interior\":{\"X2\":[{\"PalletInstance\":\"50\"},{\"GeneralIndex\":\"10111\"}]}}]]" }, "19": { "lpToken": "19", - "pairInfo": "[[{\"parents\":0,\"interior\":{\"here\":null}},{\"parents\":0,\"interior\":{\"x2\":[{\"palletInstance\":50},{\"generalIndex\":91}]}}]]" + "pairInfo": "[[{\"parents\":\"1\",\"interior\":\"Here\"},{\"parents\":\"0\",\"interior\":{\"X2\":[{\"PalletInstance\":\"50\"},{\"GeneralIndex\":\"91\"}]}}]]" }, "20": { "lpToken": "20", - "pairInfo": "[[{\"parents\":0,\"interior\":{\"here\":null}},{\"parents\":0,\"interior\":{\"x2\":[{\"palletInstance\":50},{\"generalIndex\":26}]}}]]" + "pairInfo": "[[{\"parents\":\"1\",\"interior\":\"Here\"},{\"parents\":\"0\",\"interior\":{\"X2\":[{\"PalletInstance\":\"50\"},{\"GeneralIndex\":\"26\"}]}}]]" }, "21": { "lpToken": "21", - "pairInfo": "[[{\"parents\":0,\"interior\":{\"here\":null}},{\"parents\":0,\"interior\":{\"x2\":[{\"palletInstance\":50},{\"generalIndex\":28}]}}]]" + "pairInfo": "[[{\"parents\":\"1\",\"interior\":\"Here\"},{\"parents\":\"0\",\"interior\":{\"X2\":[{\"PalletInstance\":\"50\"},{\"GeneralIndex\":\"28\"}]}}]]" }, "22": { "lpToken": "22", - "pairInfo": "[[{\"parents\":0,\"interior\":{\"here\":null}},{\"parents\":0,\"interior\":{\"x2\":[{\"palletInstance\":50},{\"generalIndex\":51}]}}]]" + "pairInfo": "[[{\"parents\":\"1\",\"interior\":\"Here\"},{\"parents\":\"0\",\"interior\":{\"X2\":[{\"PalletInstance\":\"50\"},{\"GeneralIndex\":\"51\"}]}}]]" }, "23": { "lpToken": "23", - "pairInfo": "[[{\"parents\":0,\"interior\":{\"here\":null}},{\"parents\":0,\"interior\":{\"x2\":[{\"palletInstance\":50},{\"generalIndex\":1309}]}}]]" + "pairInfo": "[[{\"parents\":\"1\",\"interior\":\"Here\"},{\"parents\":\"0\",\"interior\":{\"X2\":[{\"PalletInstance\":\"50\"},{\"GeneralIndex\":\"1309\"}]}}]]" }, "24": { "lpToken": "24", - "pairInfo": "[[{\"parents\":0,\"interior\":{\"here\":null}},{\"parents\":0,\"interior\":{\"x2\":[{\"palletInstance\":50},{\"generalIndex\":122}]}}]]" + "pairInfo": "[[{\"parents\":\"1\",\"interior\":\"Here\"},{\"parents\":\"0\",\"interior\":{\"X2\":[{\"PalletInstance\":\"50\"},{\"GeneralIndex\":\"122\"}]}}]]" }, "25": { "lpToken": "25", - "pairInfo": "[[{\"parents\":0,\"interior\":{\"here\":null}},{\"parents\":0,\"interior\":{\"x2\":[{\"palletInstance\":50},{\"generalIndex\":31}]}}]]" + "pairInfo": "[[{\"parents\":\"1\",\"interior\":\"Here\"},{\"parents\":\"0\",\"interior\":{\"X2\":[{\"PalletInstance\":\"50\"},{\"GeneralIndex\":\"31\"}]}}]]" }, "26": { "lpToken": "26", - "pairInfo": "[[{\"parents\":0,\"interior\":{\"here\":null}},{\"parents\":0,\"interior\":{\"x2\":[{\"palletInstance\":50},{\"generalIndex\":77}]}}]]" + "pairInfo": "[[{\"parents\":\"1\",\"interior\":\"Here\"},{\"parents\":\"0\",\"interior\":{\"X2\":[{\"PalletInstance\":\"50\"},{\"GeneralIndex\":\"77\"}]}}]]" }, "27": { "lpToken": "27", - "pairInfo": "[[{\"parents\":0,\"interior\":{\"here\":null}},{\"parents\":0,\"interior\":{\"x2\":[{\"palletInstance\":50},{\"generalIndex\":381}]}}]]" + "pairInfo": "[[{\"parents\":\"1\",\"interior\":\"Here\"},{\"parents\":\"0\",\"interior\":{\"X2\":[{\"PalletInstance\":\"50\"},{\"GeneralIndex\":\"381\"}]}}]]" }, "28": { "lpToken": "28", - "pairInfo": "[[{\"parents\":0,\"interior\":{\"here\":null}},{\"parents\":0,\"interior\":{\"x2\":[{\"palletInstance\":50},{\"generalIndex\":81}]}}]]" + "pairInfo": "[[{\"parents\":\"1\",\"interior\":\"Here\"},{\"parents\":\"0\",\"interior\":{\"X2\":[{\"PalletInstance\":\"50\"},{\"GeneralIndex\":\"81\"}]}}]]" }, "29": { "lpToken": "29", - "pairInfo": "[[{\"parents\":0,\"interior\":{\"here\":null}},{\"parents\":0,\"interior\":{\"x2\":[{\"palletInstance\":50},{\"generalIndex\":104}]}}]]" + "pairInfo": "[[{\"parents\":\"1\",\"interior\":\"Here\"},{\"parents\":\"0\",\"interior\":{\"X2\":[{\"PalletInstance\":\"50\"},{\"GeneralIndex\":\"104\"}]}}]]" }, "30": { "lpToken": "30", - "pairInfo": "[[{\"parents\":0,\"interior\":{\"here\":null}},{\"parents\":0,\"interior\":{\"x2\":[{\"palletInstance\":50},{\"generalIndex\":121}]}}]]" + "pairInfo": "[[{\"parents\":\"1\",\"interior\":\"Here\"},{\"parents\":\"0\",\"interior\":{\"X2\":[{\"PalletInstance\":\"50\"},{\"GeneralIndex\":\"121\"}]}}]]" }, "31": { "lpToken": "31", - "pairInfo": "[[{\"parents\":0,\"interior\":{\"here\":null}},{\"parents\":0,\"interior\":{\"x2\":[{\"palletInstance\":50},{\"generalIndex\":1113}]}}]]" + "pairInfo": "[[{\"parents\":\"1\",\"interior\":\"Here\"},{\"parents\":\"0\",\"interior\":{\"X2\":[{\"PalletInstance\":\"50\"},{\"GeneralIndex\":\"1113\"}]}}]]" }, "32": { "lpToken": "32", - "pairInfo": "[[{\"parents\":0,\"interior\":{\"here\":null}},{\"parents\":0,\"interior\":{\"x2\":[{\"palletInstance\":50},{\"generalIndex\":50}]}}]]" + "pairInfo": "[[{\"parents\":\"1\",\"interior\":\"Here\"},{\"parents\":\"0\",\"interior\":{\"X2\":[{\"PalletInstance\":\"50\"},{\"GeneralIndex\":\"50\"}]}}]]" }, "33": { "lpToken": "33", - "pairInfo": "[[{\"parents\":0,\"interior\":{\"here\":null}},{\"parents\":0,\"interior\":{\"x2\":[{\"palletInstance\":50},{\"generalIndex\":777}]}}]]" + "pairInfo": "[[{\"parents\":\"1\",\"interior\":\"Here\"},{\"parents\":\"0\",\"interior\":{\"X2\":[{\"PalletInstance\":\"50\"},{\"GeneralIndex\":\"777\"}]}}]]" + }, + "34": { + "lpToken": "34", + "pairInfo": "[[{\"parents\":\"1\",\"interior\":\"Here\"},{\"parents\":\"0\",\"interior\":{\"X2\":[{\"PalletInstance\":\"50\"},{\"GeneralIndex\":\"887\"}]}}]]" + }, + "35": { + "lpToken": "35", + "pairInfo": "[[{\"parents\":\"1\",\"interior\":\"Here\"},{\"parents\":\"0\",\"interior\":{\"X2\":[{\"PalletInstance\":\"50\"},{\"GeneralIndex\":\"318\"}]}}]]" + }, + "36": { + "lpToken": "36", + "pairInfo": "[[{\"parents\":\"1\",\"interior\":\"Here\"},{\"parents\":\"0\",\"interior\":{\"X2\":[{\"PalletInstance\":\"50\"},{\"GeneralIndex\":\"120\"}]}}]]" + }, + "37": { + "lpToken": "37", + "pairInfo": "[[{\"parents\":\"1\",\"interior\":\"Here\"},{\"parents\":\"0\",\"interior\":{\"X2\":[{\"PalletInstance\":\"50\"},{\"GeneralIndex\":\"369\"}]}}]]" + }, + "38": { + "lpToken": "38", + "pairInfo": "[[{\"parents\":\"1\",\"interior\":\"Here\"},{\"parents\":\"0\",\"interior\":{\"X2\":[{\"PalletInstance\":\"50\"},{\"GeneralIndex\":\"368\"}]}}]]" + }, + "39": { + "lpToken": "39", + "pairInfo": "[[{\"parents\":\"1\",\"interior\":\"Here\"},{\"parents\":\"0\",\"interior\":{\"X2\":[{\"PalletInstance\":\"50\"},{\"GeneralIndex\":\"370\"}]}}]]" + }, + "40": { + "lpToken": "40", + "pairInfo": "[[{\"parents\":\"1\",\"interior\":\"Here\"},{\"parents\":\"0\",\"interior\":{\"X2\":[{\"PalletInstance\":\"50\"},{\"GeneralIndex\":\"22061\"}]}}]]" + }, + "41": { + "lpToken": "41", + "pairInfo": "[[{\"parents\":\"1\",\"interior\":\"Here\"},{\"parents\":\"0\",\"interior\":{\"X2\":[{\"PalletInstance\":\"50\"},{\"GeneralIndex\":\"22062\"}]}}]]" + }, + "42": { + "lpToken": "42", + "pairInfo": "[[{\"parents\":\"1\",\"interior\":\"Here\"},{\"parents\":\"0\",\"interior\":{\"X2\":[{\"PalletInstance\":\"50\"},{\"GeneralIndex\":\"22064\"}]}}]]" } }, "specName": "westmint" @@ -3474,14 +3716,25 @@ "23": "LART", "24": "SPT", "25": "TAT", + "26": "TVP", "27": "MTA", "28": "ZMS", + "29": "SAS", + "30": "GLT", + "31": "FOT", + "32": "KVS", + "33": "Utoken", + "34": "NSV", + "39": "KVSS", + "40": "RND", "46": "RocRa", "48": "Bal", "49": "Shark", "50": "ZTK", "51": "RCM", + "55": "PIZ", "56": "PSP", + "66": "BBC", "69": "SRT", "74": "GID", "77": "shicoin", @@ -3493,16 +3746,32 @@ "108": "GURU", "111": "PBAC", "112": "TTam", + "114": "GOG", + "121": "NsNsN", "122": "ttam", "123": "RBT", + "124": "BEA", + "125": "SDV", + "134": "TNG", "139": "PHNX", "140": "USDT", + "143": "XIN", + "144": "TTT", + "145": "UMG", + "224": "creagen", "228": "bebra", "233": "NTT", "261": "DOS", + "322": "SOLO", + "333": "MEM", "377": "KAA", + "399": "TTAM", + "404": "PDRS", + "412": "PML", "420": "SWED", + "444": "SASS", "500": "TRN", + "555": "bambam", "609": "HMT", "666": "HOGE", "689": "YPT", @@ -3517,13 +3786,23 @@ "1112": "TTam", "1113": "KCT", "1212": "bob", + "1231": "123", "1234": "PPV", + "1235": "PAV", + "1313": "TNA", + "1335": "LOT", + "1336": "INV", "1337": "rUSD", + "1717": "qveex", "1807": "SVO", "1984": "USDt", "1985": "XCMSDK", "2000": "bcdt", + "2206": "RSD", + "2512": "ARR2", "2727": "PRES", + "2984": "RUSD", + "3008": "ARR", "4040": "ROSTIK", "4110": "DDA", "5000": "xdtb", @@ -3531,87 +3810,121 @@ "6969": "STNLY", "7777": "USDT", "9394": "SMEAD", + "9991": "SPT", "11111": "RLC", "11123": "AAE", "12345": "USDT", "20001": "TSTT", + "20301": "EVM", + "22061": "PIVO", + "22062": "DEM", + "22063": "DKT", + "22064": "XPPEN", + "26845": "TTT", + "41217": "KFTP", "42069": "PEB", "50001": "jelou", "66666": "KST", + "69420": "PLONK", "77777": "SHREK", + "80085": "NKT", "111111": "11111", "111112": "SQRLTKN", + "123456": "LRSKA", "228228": "TEST", + "228282": "WTN", "228322": "nzprt", "335277": "PSPV", "411299": "any", + "412177": "LKT", + "413801": "PPV", "456789": "LDO", "666666": "ISH", "862105": "USDTT", "862812": "CUBOT", "863012": "vCOPT", + "1111111": "VVA", + "1234567": "TAFK", "12345678": "giraffe", "22332244": "ZoV", "76657621": "gaa", "123456789": "ZeAs", "143228832": "tasset", - "1234567890": "giraffe" + "1234567890": "giraffe", + "2430784328": "TMW" }, "foreignAssetsInfo": { "HOP": { "symbol": "HOP", "name": "Trappist Hop", - "multiLocation": "{\"parents\":1,\"interior\":{\"x1\":{\"parachain\":1836}}}" + "multiLocation": "{\"parents\":\"1\",\"interior\":{\"X1\":{\"Parachain\":\"1836\"}}}" + }, + "0x7b22706172656e7473223a2232222c22696e746572696f72223a7b225831223a7b22476c6f62616c436f6e73656e737573223a2257657374656e64227d7d7d": { + "symbol": "", + "name": "", + "multiLocation": "{\"parents\":\"2\",\"interior\":{\"X1\":{\"GlobalConsensus\":\"Westend\"}}}" } }, "poolPairsInfo": { "0": { "lpToken": "0", - "pairInfo": "[[{\"parents\":1,\"interior\":{\"here\":null}},{\"parents\":0,\"interior\":{\"x2\":[{\"palletInstance\":50},{\"generalIndex\":140}]}}]]" + "pairInfo": "[[{\"parents\":\"1\",\"interior\":\"Here\"},{\"parents\":\"0\",\"interior\":{\"X2\":[{\"PalletInstance\":\"50\"},{\"GeneralIndex\":\"140\"}]}}]]" }, "1": { "lpToken": "1", - "pairInfo": "[[{\"parents\":1,\"interior\":{\"here\":null}},{\"parents\":0,\"interior\":{\"x2\":[{\"palletInstance\":50},{\"generalIndex\":420}]}}]]" + "pairInfo": "[[{\"parents\":\"1\",\"interior\":\"Here\"},{\"parents\":\"0\",\"interior\":{\"X2\":[{\"PalletInstance\":\"50\"},{\"GeneralIndex\":\"420\"}]}}]]" }, "2": { "lpToken": "2", - "pairInfo": "[[{\"parents\":1,\"interior\":{\"here\":null}},{\"parents\":0,\"interior\":{\"x2\":[{\"palletInstance\":50},{\"generalIndex\":47}]}}]]" + "pairInfo": "[[{\"parents\":\"1\",\"interior\":\"Here\"},{\"parents\":\"0\",\"interior\":{\"X2\":[{\"PalletInstance\":\"50\"},{\"GeneralIndex\":\"47\"}]}}]]" }, "3": { "lpToken": "3", - "pairInfo": "[[{\"parents\":1,\"interior\":{\"here\":null}},{\"parents\":0,\"interior\":{\"x2\":[{\"palletInstance\":50},{\"generalIndex\":48}]}}]]" + "pairInfo": "[[{\"parents\":\"1\",\"interior\":\"Here\"},{\"parents\":\"0\",\"interior\":{\"X2\":[{\"PalletInstance\":\"50\"},{\"GeneralIndex\":\"48\"}]}}]]" }, "4": { "lpToken": "4", - "pairInfo": "[[{\"parents\":1,\"interior\":{\"here\":null}},{\"parents\":0,\"interior\":{\"x2\":[{\"palletInstance\":50},{\"generalIndex\":46}]}}]]" + "pairInfo": "[[{\"parents\":\"1\",\"interior\":\"Here\"},{\"parents\":\"0\",\"interior\":{\"X2\":[{\"PalletInstance\":\"50\"},{\"GeneralIndex\":\"46\"}]}}]]" }, "5": { "lpToken": "5", - "pairInfo": "[[{\"parents\":1,\"interior\":{\"here\":null}},{\"parents\":0,\"interior\":{\"x2\":[{\"palletInstance\":50},{\"generalIndex\":49}]}}]]" + "pairInfo": "[[{\"parents\":\"1\",\"interior\":\"Here\"},{\"parents\":\"0\",\"interior\":{\"X2\":[{\"PalletInstance\":\"50\"},{\"GeneralIndex\":\"49\"}]}}]]" }, "6": { "lpToken": "6", - "pairInfo": "[[{\"parents\":1,\"interior\":{\"here\":null}},{\"parents\":0,\"interior\":{\"x2\":[{\"palletInstance\":50},{\"generalIndex\":51}]}}]]" + "pairInfo": "[[{\"parents\":\"1\",\"interior\":\"Here\"},{\"parents\":\"0\",\"interior\":{\"X2\":[{\"PalletInstance\":\"50\"},{\"GeneralIndex\":\"51\"}]}}]]" }, "7": { "lpToken": "7", - "pairInfo": "[[{\"parents\":1,\"interior\":{\"here\":null}},{\"parents\":0,\"interior\":{\"x2\":[{\"palletInstance\":50},{\"generalIndex\":56}]}}]]" + "pairInfo": "[[{\"parents\":\"1\",\"interior\":\"Here\"},{\"parents\":\"0\",\"interior\":{\"X2\":[{\"PalletInstance\":\"50\"},{\"GeneralIndex\":\"56\"}]}}]]" }, "8": { "lpToken": "8", - "pairInfo": "[[{\"parents\":1,\"interior\":{\"here\":null}},{\"parents\":0,\"interior\":{\"x2\":[{\"palletInstance\":50},{\"generalIndex\":11111}]}}]]" + "pairInfo": "[[{\"parents\":\"1\",\"interior\":\"Here\"},{\"parents\":\"0\",\"interior\":{\"X2\":[{\"PalletInstance\":\"50\"},{\"GeneralIndex\":\"11111\"}]}}]]" }, "9": { "lpToken": "9", - "pairInfo": "[[{\"parents\":1,\"interior\":{\"here\":null}},{\"parents\":0,\"interior\":{\"x2\":[{\"palletInstance\":50},{\"generalIndex\":101}]}}]]" + "pairInfo": "[[{\"parents\":\"1\",\"interior\":\"Here\"},{\"parents\":\"0\",\"interior\":{\"X2\":[{\"PalletInstance\":\"50\"},{\"GeneralIndex\":\"101\"}]}}]]" }, "10": { "lpToken": "10", - "pairInfo": "[[{\"parents\":1,\"interior\":{\"here\":null}},{\"parents\":0,\"interior\":{\"x2\":[{\"palletInstance\":50},{\"generalIndex\":1111}]}}]]" + "pairInfo": "[[{\"parents\":\"1\",\"interior\":\"Here\"},{\"parents\":\"0\",\"interior\":{\"X2\":[{\"PalletInstance\":\"50\"},{\"GeneralIndex\":\"1111\"}]}}]]" }, "11": { "lpToken": "11", - "pairInfo": "[[{\"parents\":1,\"interior\":{\"here\":null}},{\"parents\":1,\"interior\":{\"x1\":{\"parachain\":1836}}}]]" + "pairInfo": "[[{\"parents\":\"1\",\"interior\":\"Here\"},{\"parents\":\"1\",\"interior\":{\"X1\":{\"Parachain\":\"1836\"}}}]]" + }, + "12": { + "lpToken": "12", + "pairInfo": "[[{\"parents\":\"1\",\"interior\":\"Here\"},{\"parents\":\"0\",\"interior\":{\"X2\":[{\"PalletInstance\":\"50\"},{\"GeneralIndex\":\"22062\"}]}}]]" + }, + "13": { + "lpToken": "13", + "pairInfo": "[[{\"parents\":\"1\",\"interior\":\"Here\"},{\"parents\":\"0\",\"interior\":{\"X2\":[{\"PalletInstance\":\"50\"},{\"GeneralIndex\":\"111111\"}]}}]]" + }, + "14": { + "lpToken": "14", + "pairInfo": "[[{\"parents\":\"1\",\"interior\":\"Here\"},{\"parents\":\"0\",\"interior\":{\"X2\":[{\"PalletInstance\":\"50\"},{\"GeneralIndex\":\"22064\"}]}}]]" } }, "specName": "statemine" @@ -3661,15 +3974,6 @@ "poolPairsInfo": {}, "specName": "sora_ksm" }, - "2026": { - "tokens": [ - "notNODL" - ], - "assetsInfo": {}, - "foreignAssetsInfo": {}, - "poolPairsInfo": {}, - "specName": "nodle-para" - }, "2030": { "tokens": [ "BNC", @@ -3750,15 +4054,6 @@ "poolPairsInfo": {}, "specName": "hashed" }, - "2095": { - "tokens": [ - "JUR" - ], - "assetsInfo": {}, - "foreignAssetsInfo": {}, - "poolPairsInfo": {}, - "specName": "jur-chain" - }, "2100": { "tokens": [ "SOON" @@ -3795,15 +4090,6 @@ "poolPairsInfo": {}, "specName": "rococo-parachain" }, - "2110": { - "tokens": [ - "MGAT" - ], - "assetsInfo": {}, - "foreignAssetsInfo": {}, - "poolPairsInfo": {}, - "specName": "mangata-parachain" - }, "2114": { "tokens": [ "TUR" @@ -3813,15 +4099,6 @@ "poolPairsInfo": {}, "specName": "turing" }, - "2119": { - "tokens": [ - "BAJU" - ], - "assetsInfo": {}, - "foreignAssetsInfo": {}, - "poolPairsInfo": {}, - "specName": "bajun" - }, "2124": { "tokens": [ "AMPE" diff --git a/src/createRegistry.ts b/src/createRegistry.ts index 737d321..8221aa2 100644 --- a/src/createRegistry.ts +++ b/src/createRegistry.ts @@ -18,7 +18,9 @@ import { testRelayWestend, } from '@polkadot/apps-config'; import type { EndpointOption } from '@polkadot/apps-config/endpoints/types'; +import { stringToHex } from '@polkadot/util'; import fetch from 'node-fetch'; +import path from 'path'; import FinalRegistry from '../registry.json'; import type { @@ -32,6 +34,7 @@ import type { PoolPairsInfo, SanitizedXcAssetsData, TokenRegistry, + UnionXcmMultiLocation, XcAssets, XcAssetsData, } from './types'; @@ -40,11 +43,30 @@ import { sleep, twirlTimer, writeJson } from './util'; /** * @const MAX_RETRIES Maximum amount of connection attempts * @const WS_DISCONNECT_TIMEOUT_SECONDS time to wait between attempts, in seconds + * @const RCP_BLACK_LIST RPCs emitting errors or abnormal closures */ const MAX_RETRIES = 5; const WS_DISCONNECT_TIMEOUT_SECONDS = 3; const XC_ASSET_CDN_URL = 'https://cdn.jsdelivr.net/gh/colorfulnotion/xcm-global-registry/metadata/xcmgar.json'; +const RCP_BLACK_LIST = [ + 'wss://polkadot-public-rpc.blockops.network/ws', + 'wss://kusama-public-rpc.blockops.network/ws', + 'wss://westend-rpc.blockops.network/ws', +]; + +/** + * Determines when endpoint processing should be skipped. + * + * @param endpoint + */ +const skipProcessingEndpoint = (endpoint: string): boolean => { + if (endpoint.includes('onfinality') || RCP_BLACK_LIST.includes(endpoint)) { + return true; + } + + return false; +}; /** * Fetch chain token and spec info. @@ -116,24 +138,34 @@ const createChainRegistryFromParas = async ( twirlTimer(); + const fetchChainInfoPromises: Promise[] = []; + for (const endpoint of endpoints) { const reliable: boolean = paraIds[chainName].includes( endpoint.paraId as number ); if (!reliable) { // Add to registry if it exists - if (FinalRegistry[chainName][endpoint.paraId as number]) { + if ( + FinalRegistry[chainName] && + FinalRegistry[chainName][endpoint.paraId as number] + ) { registry[chainName][`${endpoint.paraId as number}`] = FinalRegistry[ chainName ][endpoint.paraId as number] as ChainInfoKeys; } continue; } - const res = await fetchChainInfo(endpoint); - if (res !== null) { - registry[chainName][`${endpoint.paraId as number}`] = res; - } + fetchChainInfoPromises.push( + fetchChainInfo(endpoint).then((res) => { + if (res !== null) { + registry[chainName][`${endpoint.paraId as number}`] = res; + } + }) + ); } + + await Promise.all(fetchChainInfoPromises); }; /** @@ -149,7 +181,7 @@ const createChainRegistryFromRelay = async ( endpoint: EndpointOption, registry: TokenRegistry ): Promise => { - console.log('Creating chain registry from relay'); + console.log(`Creating chain registry for ${chainName} relay`); twirlTimer(); const res = await fetchChainInfo(endpoint, true); if (res !== null) { @@ -210,12 +242,11 @@ const fetchSystemParachainForeignAssetInfo = async ( foreignAssetData[0] ).replace(/(\d),/g, '$1'); - const foreignAssetMultiLocation = api.registry.createType( - 'XcmV3MultiLocation', - JSON.parse(foreignAssetMultiLocationStr) - ); + const foreignAssetMultiLocation = JSON.parse( + foreignAssetMultiLocationStr + ) as UnionXcmMultiLocation; - const hexId = foreignAssetMultiLocation.toHex(); + const hexId = stringToHex(JSON.stringify(foreignAssetMultiLocation)); const assetMetadata = ( await api.query.foreignAssets.metadata(foreignAssetMultiLocation) @@ -228,11 +259,10 @@ const fetchSystemParachainForeignAssetInfo = async ( // if the symbol exists in metadata use it, otherwise uses the hex of the multilocation as the key const foreignAssetInfoKey = assetSymbol ? assetSymbol : hexId; - foreignAssetsInfo[foreignAssetInfoKey] = { symbol: assetSymbol, name: assetName, - multiLocation: JSON.stringify(foreignAssetMultiLocation.toJSON()), + multiLocation: JSON.stringify(foreignAssetMultiLocation), }; } } @@ -268,18 +298,15 @@ const fetchSystemParachainAssetConversionPoolInfo = async ( '$1' ); - const palletAssetConversionNativeOrAssetIdData = - api.registry.createType( - 'Vec>', - JSON.parse(poolAssetDataStr) - ); + const palletAssetConversionNativeOrAssetIdData = JSON.parse( + poolAssetDataStr + ) as UnionXcmMultiLocation[][]; + const pool = maybePoolInfo as unknown as PoolInfo; poolPairsInfo[pool.lpToken] = { lpToken: pool.lpToken, - pairInfo: JSON.stringify( - palletAssetConversionNativeOrAssetIdData.toJSON() - ), + pairInfo: JSON.stringify(palletAssetConversionNativeOrAssetIdData), }; } } @@ -309,9 +336,6 @@ const fetchParaIds = async ( await api.disconnect(); } - console.log('Got Parachain Id: ', chain); - console.log(paraIds); - return paraIds; }; @@ -387,33 +411,37 @@ const getProvider = async (wsEndpoints: string[]) => { const enpdointArray: string[] = []; - let retry = 0; + let retries = 0; for (const [i] of wsEndpoints.entries()) { + if (skipProcessingEndpoint(wsEndpoints[i])) { + continue; + } + const wsProvider = new WsProvider(wsEndpoints[i]); - if (wsProvider.isConnected) { - enpdointArray.push(wsEndpoints[i]); - await wsProvider.disconnect(); - } else { - while (!wsProvider.isConnected && retry < MAX_RETRIES) { + if (!wsProvider.isConnected) { + while (!wsProvider.isConnected && retries < MAX_RETRIES) { await sleep(WS_DISCONNECT_TIMEOUT_SECONDS * 1000); - retry++; + retries++; } await wsProvider.disconnect(); - if (!(retry < MAX_RETRIES)) { + if (!(retries < MAX_RETRIES)) { await wsProvider.disconnect(); - retry = 0; + retries = 0; continue; } else if (wsProvider.isConnected) { enpdointArray.push(wsEndpoints[i]); await wsProvider.disconnect(); - retry = 0; + retries = 0; } } + + enpdointArray.push(wsEndpoints[i]); + await wsProvider.disconnect(); } if (enpdointArray.length === 0) { @@ -482,45 +510,72 @@ const main = async () => { const westendEndpoints = [testParasWestend, testParasWestendCommon]; const rococoEndpoints = [testParasRococo, testParasRococoCommon]; + const fetchParaIdsPromises: Promise[] = []; + + fetchParaIdsPromises.push( + fetchParaIds('polkadot', prodRelayPolkadot, paraIds) + ); + fetchParaIdsPromises.push(fetchParaIds('kusama', prodRelayKusama, paraIds)); + fetchParaIdsPromises.push(fetchParaIds('westend', testRelayWestend, paraIds)); + fetchParaIdsPromises.push(fetchParaIds('rococo', testRelayRococo, paraIds)); + // Set the Parachains Ids to the corresponding registry - await fetchParaIds('polkadot', prodRelayPolkadot, paraIds); - await fetchParaIds('kusama', prodRelayKusama, paraIds); - await fetchParaIds('westend', testRelayWestend, paraIds); - await fetchParaIds('rococo', testRelayRococo, paraIds); + await Promise.all(fetchParaIdsPromises); + + // store all create chain registry relay promises + const createChainRegistryFromRelayPromises: Promise[] = []; + + createChainRegistryFromRelayPromises.push( + createChainRegistryFromRelay('polkadot', prodRelayPolkadot, registry) + ); + createChainRegistryFromRelayPromises.push( + createChainRegistryFromRelay('kusama', prodRelayKusama, registry) + ); + createChainRegistryFromRelayPromises.push( + createChainRegistryFromRelay('westend', testRelayWestend, registry) + ); + createChainRegistryFromRelayPromises.push( + createChainRegistryFromRelay('rococo', testRelayRococo, registry) + ); // Set the relay chain info to the registry - await createChainRegistryFromRelay('polkadot', prodRelayPolkadot, registry); - await createChainRegistryFromRelay('kusama', prodRelayKusama, registry); - await createChainRegistryFromRelay('westend', testRelayWestend, registry); - await createChainRegistryFromRelay('rococo', testRelayRococo, registry); + await Promise.all(createChainRegistryFromRelayPromises); + + // store all create chain registry para promises + const chainRegistryFromParasPromises: Promise[] = []; - // Set the paras info to the registry for (const endpoints of polkadotEndpoints) { - await createChainRegistryFromParas( - 'polkadot', - endpoints, - registry, - paraIds + chainRegistryFromParasPromises.push( + createChainRegistryFromParas('polkadot', endpoints, registry, paraIds) ); } for (const endpoints of kusamaEndpoints) { - await createChainRegistryFromParas('kusama', endpoints, registry, paraIds); + chainRegistryFromParasPromises.push( + createChainRegistryFromParas('kusama', endpoints, registry, paraIds) + ); } for (const endpoints of westendEndpoints) { - await createChainRegistryFromParas('westend', endpoints, registry, paraIds); + chainRegistryFromParasPromises.push( + createChainRegistryFromParas('westend', endpoints, registry, paraIds) + ); } for (const endpoints of rococoEndpoints) { - await createChainRegistryFromParas('rococo', endpoints, registry, paraIds); + chainRegistryFromParasPromises.push( + createChainRegistryFromParas('rococo', endpoints, registry, paraIds) + ); } + // set the paras info to the registry + await Promise.all(chainRegistryFromParasPromises); + // fetch xcAssets and add them to the registry await fetchXcAssetsRegistryInfo(registry); - const path = __dirname + '/../registry.json'; - writeJson(path, registry); + const filePath = path.join(__dirname, '..', '..', 'registry.json'); + writeJson(filePath, registry); }; main() diff --git a/src/types.ts b/src/types.ts index 9809747..8c185c8 100644 --- a/src/types.ts +++ b/src/types.ts @@ -98,3 +98,230 @@ export type SanitizedXcAssetsData = { export type XcAssetXcmStandardized = { [x: string]: string | number; }; + +type RequireOnlyOne = Pick< + T, + Exclude +> & + { + [K in Keys]-?: Required> & + Partial, undefined>>; + }[Keys]; + +export type XcmV2MultiLocation = { + parents: number; + interior: RequireOnlyOne; +}; + +export interface XcmV2Junctions { + Here: '' | null; + X1: XcmV2Junction; + X2: [XcmV2Junction, XcmV2Junction]; + X3: [XcmV2Junction, XcmV2Junction, XcmV2Junction]; + X4: [XcmV2Junction, XcmV2Junction, XcmV2Junction, XcmV2Junction]; + X5: [ + XcmV2Junction, + XcmV2Junction, + XcmV2Junction, + XcmV2Junction, + XcmV2Junction + ]; + X6: [ + XcmV2Junction, + XcmV2Junction, + XcmV2Junction, + XcmV2Junction, + XcmV2Junction, + XcmV2Junction + ]; + X7: [ + XcmV2Junction, + XcmV2Junction, + XcmV2Junction, + XcmV2Junction, + XcmV2Junction, + XcmV2Junction, + XcmV2Junction + ]; + X8: [ + XcmV2Junction, + XcmV2Junction, + XcmV2Junction, + XcmV2Junction, + XcmV2Junction, + XcmV2Junction, + XcmV2Junction, + XcmV2Junction + ]; +} + +export type XcmV2Junction = RequireOnlyOne; + +export type XcmV2JunctionBase = { + Parachain: number | string; + AccountId32: { network?: XcmV2Network; id: string }; + AccountIndex64: { network?: XcmV2Network; id: string }; + AccountKey20: { network?: XcmV2Network; id: string }; + PalletInstance: number | string; + GeneralIndex: string | number; + GeneralKey: string; + OnlyChild: AnyJson; + Plurality: { id: AnyJson; part: AnyJson }; +}; + +export type XcmV2Network = string | null; + +export type XcmV3MultiLocation = { + parents: number; + interior: RequireOnlyOne; +}; + +export interface XcmV3Junctions { + Here: '' | null; + X1: XcmV3Junction; + X2: [XcmV3Junction, XcmV3Junction]; + X3: [XcmV3Junction, XcmV3Junction, XcmV3Junction]; + X4: [XcmV3Junction, XcmV3Junction, XcmV3Junction, XcmV3Junction]; + X5: [ + XcmV3Junction, + XcmV3Junction, + XcmV3Junction, + XcmV3Junction, + XcmV3Junction + ]; + X6: [ + XcmV3Junction, + XcmV3Junction, + XcmV3Junction, + XcmV3Junction, + XcmV3Junction, + XcmV3Junction + ]; + X7: [ + XcmV3Junction, + XcmV3Junction, + XcmV3Junction, + XcmV3Junction, + XcmV3Junction, + XcmV3Junction, + XcmV3Junction + ]; + X8: [ + XcmV3Junction, + XcmV3Junction, + XcmV3Junction, + XcmV3Junction, + XcmV3Junction, + XcmV3Junction, + XcmV3Junction, + XcmV3Junction + ]; +} + +export type XcmV3Junction = RequireOnlyOne; + +export type XcmV3JunctionBase = { + Parachain: number; + AccountId32: { network?: XcmV2Network; id: string }; + AccountIndex64: { network?: XcmV2Network; id: string }; + AccountKey20: { network?: XcmV2Network; id: string }; + PalletInstance: number; + GeneralIndex: string | number; + GeneralKey: string; + OnlyChild: AnyJson; + Plurality: { id: AnyJson; part: AnyJson }; + GlobalConsensus: string | AnyJson; +}; + +export type UnionXcmMultiLocation = XcmV3MultiLocation | XcmV2MultiLocation; + +export type UnionXcmMultiAssets = XcmV2MultiAssets | XcmV3MultiAssets; + +export type UnionXcmMultiAsset = XcmV2MultiAsset | XcmV3MultiAsset; + +export type UnionXcAssetsMultiAssets = + | XcAssetsV2MultiAssets + | XcAssetsV3MultiAssets; + +export type UnionXcAssetsMultiAsset = + | XcAssetsV2MultiAsset + | XcAssetsV3MultiAsset; + +export interface XcmMultiAsset { + id: { + Concrete: UnionXcmMultiLocation; + }; + fun: { + Fungible: string; + }; +} + +export interface XcmV2MultiAssets { + V2: XcmMultiAsset[]; +} + +export interface XcmV3MultiAssets { + V3: XcmMultiAsset[]; +} + +export interface XcmV2MultiAsset { + V2: XcmMultiAsset; +} + +export interface XcmV3MultiAsset { + V3: XcmMultiAsset; +} + +export interface XcAssetsV2MultiAssets { + V2: FungibleObjMultiAsset[]; +} + +export interface XcAssetsV3MultiAssets { + V3: FungibleObjMultiAsset[]; +} + +export interface XcAssetsV2MultiAsset { + V2: FungibleObjMultiAsset; +} + +export interface XcAssetsV3MultiAsset { + V3: FungibleObjMultiAsset; +} + +export type FungibleStrMultiAsset = { + fun: { + Fungible: string; + }; + id: { + Concrete: UnionXcmMultiLocation; + }; +}; + +export type FungibleObjMultiAsset = { + fun: { + Fungible: { Fungible: string }; + }; + id: { + Concrete: UnionXcmMultiLocation; + }; +}; + +export type UnionXcAssetsMultiLocation = + | XcAssetsV2MultiLocation + | XcAssetsV3MultiLocation; + +export interface XcAssetsV2MultiLocation { + V2: { + id: { + Concrete: XcmV2MultiLocation; + }; + }; +} + +export interface XcAssetsV3MultiLocation { + V3: { + id: { + Concrete: XcmV3MultiLocation; + }; + }; +}