From 6e179794c82e8903baeb6fe14d326b377827298a Mon Sep 17 00:00:00 2001 From: Bryan Chen Date: Fri, 29 Dec 2023 17:25:32 +1300 Subject: [PATCH 1/7] enable tests --- bun.lockb | Bin 320506 -> 320506 bytes networks/index.ts | 1 + package.json | 4 +- .../__snapshots__/kusama.test.ts.snap | 100 ++++++++++++++++++ tests/bridge-sdk/kusama.test.ts | 60 +++++------ 5 files changed, 133 insertions(+), 32 deletions(-) diff --git a/bun.lockb b/bun.lockb index c9de1744b3a25bcdbb80c88492105bdbc5cdd7bd..1f14d82d8f9fb3b50840edbeb36b85ecb8268a21 100755 GIT binary patch delta 871 zcmex$T=>^<;R$*QOZJq^*;XvRYV-VAGi=M=>{H)&?E$0K*Olkr?B%JSwDaXgzf)}z zYzz=!2&H*uOj}g>a{HOd8w@2Td$bGSSI|K~!R8a~6Zmi&QIIUTxpP{-6iyYJ4K`|U z;FJZqadXGcxsU3*KVR9pEa$a;s5s026#{>*S9KehrNsq5p8Y67;&#A{bZen6$GfJu z?8`l06K;8D+UscTE8inkseoc9v#7dMpv)uuRrTRlD<& zKx%k*^^fU$=P*h*Xm7JpxRw_o5_C;Y-Rg@(;{H^IpA!YxPrT2y>T$!pbysg> z+AUeEZ)EyJCjMLX>i<_cnP0nyrmq#BD*ADIX;Ae;bTM*~*fRkZ)%DGjV{dVhk6F03*xF?q( z;>LXcM_%!c2T}7rtY7@cv(h>@cDw2|MhR|*?Ob0r*oNvaH#^yR!sA{33Ei#hUH2~8 zc*-OtS9J2?j>shzF|VcO2}Ddh<#R(-UW}VLY359;IbJ8v?b{Q5X`5kWd+kHU?X?e? z=EX6a=^9R#b6^$+F}7PcFt^2mg$~YT_J%P`r@PE!76bEQ=RsAL&tqoh01Gu1GmCGZ zvW)qID43hr$}F;d_8w-DMeINm^-9vKrhkZIk)M7wjwJ}JKr5al3Ry~O`_g!p%>p2~ f?a>7+Z)8y^<;R$*QcJoi1yV6kJ#-z1PS>fpew{trq=k`shPk#KbS0>=$AMuTTr`jY~ z86dy}N(Yt{7*EVRw0H6bLy5^A?E?4}bP!Om`9%8!KHNqWBuj4YoYpUeQ^jV3jT#&{ zWkGJ-+_7`+qxy=X1L^-4D|N0*-F{c1K5hP7(X4+rrn^6mh!+p|?qXT~?_rTWbN1%f zcTWCN6AWA}B;WN*ChTd?o>j-@Oo-21@C4|2Muva<{}>qe9HS z?bB7n1G}g1ox>>Mko`ZVWnL2d{cl$Nhin=yJv9D5K_KwXpQ%3+?$<6nCj0D9?8@&t z23Jy7yqo6qspWiE;T_l3DJszu&mR1%y7~uS#dguTj2t2kp>^yI=PG8-;MpBG@j~$r zk7ZuG+kgFYk%_61eAqkvadF-(m440d6Zc48G5&r*wCir5tFp3&|53+7JWHY{F8OnvDVVss+SerE3Bix=}h z&d#};bJ~kEGj0zW(=L^Nh4eGv_T=zb?Fgoo}yw$hf`s zA=A7#W>a0`>2eOt;vmL$3kT-5SRl(}`oX!(-Y|ygbeDO|VqjkEJg`cW?d9{BnK{5h zjm6C3+ovpJ{vZnGCblw*Y@fY{S!5AA&>X#z^s4C};#lOTUyWl40xQspXNf|VlG?sB lo@KKDNN#&{0m~a%6v^p-r?YTuFX&_0zzJ5NJcH%BHvo@0S$6;c diff --git a/networks/index.ts b/networks/index.ts index cd6a851..f60536f 100644 --- a/networks/index.ts +++ b/networks/index.ts @@ -49,6 +49,7 @@ for (const def of Object.values(networkDefs)) { endpoint: process.env[`${upperName}_ENDPOINT`] ?? endpoint, db: process.env.DB_PATH, port: 0, + allowUnresolvedImports: true, ...setupConfig.options, ...options, } diff --git a/package.json b/package.json index 58bdd4a..9cfca6a 100644 --- a/package.json +++ b/package.json @@ -12,8 +12,8 @@ "@polkadot/api": "^10.11.1" }, "dependencies": { - "@acala-network/chopsticks": "^0.9.5-3", - "@acala-network/chopsticks-testing": "^0.9.5-3", + "@acala-network/chopsticks": "^0.9.6-1", + "@acala-network/chopsticks-testing": "^0.9.6-1", "@acala-network/sdk": "^4.1.9-10", "@acala-network/sdk-core": "^4.1.9-10", "@polkadot/api": "^10.11.1", diff --git a/tests/bridge-sdk/__snapshots__/kusama.test.ts.snap b/tests/bridge-sdk/__snapshots__/kusama.test.ts.snap index c06cfcd..ca9e913 100644 --- a/tests/bridge-sdk/__snapshots__/kusama.test.ts.snap +++ b/tests/bridge-sdk/__snapshots__/kusama.test.ts.snap @@ -297,3 +297,103 @@ exports[`'karura' to 'khala' using bridgeSDK cross-chain 'KUSD' parachain bridge `; exports[`'karura' to 'khala' using bridgeSDK cross-chain 'KUSD' parachain bridge to releaychain Cross-chain using BridgeSDK works: fee 1`] = `"(rounded 0.008)"`; + +exports[`'karura' to 'kintsugi' using bridgeSDK cross-chain 'KINT' parachain bridge to releaychain Cross-chain using BridgeSDK works: initial 1`] = ` +{ + "address": "5FA9nQDVg267DEd8m1ZypXLBnvN7SFxYwV7ndqSYGiN9TTpu", + "decimals": 12, + "fromChain": 1000, + "toChain": 1000, +} +`; + +exports[`'karura' to 'kintsugi' using bridgeSDK cross-chain 'KINT' parachain bridge to releaychain Cross-chain using BridgeSDK works: after 1`] = ` +{ + "address": "5FA9nQDVg267DEd8m1ZypXLBnvN7SFxYwV7ndqSYGiN9TTpu", + "decimals": 12, + "fromChain": 998, + "toChain": "(rounded 1000)", +} +`; + +exports[`'karura' to 'kintsugi' using bridgeSDK cross-chain 'KINT' parachain bridge to releaychain Cross-chain using BridgeSDK works: fee 1`] = `"(rounded 0.0002)"`; + +exports[`'kintsugi' to 'karura' using bridgeSDK cross-chain 'KINT' parachain bridge to releaychain Cross-chain using BridgeSDK works: initial 1`] = ` +{ + "address": "5FA9nQDVg267DEd8m1ZypXLBnvN7SFxYwV7ndqSYGiN9TTpu", + "decimals": 12, + "fromChain": 1000, + "toChain": 0, +} +`; + +exports[`'kintsugi' to 'karura' using bridgeSDK cross-chain 'KINT' parachain bridge to releaychain Cross-chain using BridgeSDK works: after 1`] = ` +{ + "address": "5FA9nQDVg267DEd8m1ZypXLBnvN7SFxYwV7ndqSYGiN9TTpu", + "decimals": 12, + "fromChain": "(rounded 998)", + "toChain": "(rounded 2)", +} +`; + +exports[`'kintsugi' to 'karura' using bridgeSDK cross-chain 'KINT' parachain bridge to releaychain Cross-chain using BridgeSDK works: fee 1`] = `"(rounded 0.0002)"`; + +exports[`'karura' to 'kintsugi' using bridgeSDK cross-chain 'LKSM' parachain bridge to releaychain Cross-chain using BridgeSDK works: initial 1`] = ` +{ + "address": "5FA9nQDVg267DEd8m1ZypXLBnvN7SFxYwV7ndqSYGiN9TTpu", + "decimals": 12, + "fromChain": 100, + "toChain": 100, +} +`; + +exports[`'karura' to 'kintsugi' using bridgeSDK cross-chain 'LKSM' parachain bridge to releaychain Cross-chain using BridgeSDK works: after 1`] = ` +{ + "address": "5FA9nQDVg267DEd8m1ZypXLBnvN7SFxYwV7ndqSYGiN9TTpu", + "decimals": 12, + "fromChain": 98, + "toChain": "(rounded 102)", +} +`; + +exports[`'karura' to 'kintsugi' using bridgeSDK cross-chain 'LKSM' parachain bridge to releaychain Cross-chain using BridgeSDK works: fee 1`] = `"(rounded 0.0002)"`; + +exports[`'kintsugi' to 'karura' using bridgeSDK cross-chain 'LKSM' parachain bridge to releaychain Cross-chain using BridgeSDK works: initial 1`] = ` +{ + "address": "5FA9nQDVg267DEd8m1ZypXLBnvN7SFxYwV7ndqSYGiN9TTpu", + "decimals": 12, + "fromChain": 100, + "toChain": 100, +} +`; + +exports[`'kintsugi' to 'karura' using bridgeSDK cross-chain 'LKSM' parachain bridge to releaychain Cross-chain using BridgeSDK works: after 1`] = ` +{ + "address": "5FA9nQDVg267DEd8m1ZypXLBnvN7SFxYwV7ndqSYGiN9TTpu", + "decimals": 12, + "fromChain": 98, + "toChain": "(rounded 102)", +} +`; + +exports[`'kintsugi' to 'karura' using bridgeSDK cross-chain 'LKSM' parachain bridge to releaychain Cross-chain using BridgeSDK works: fee 1`] = `"(rounded 0.0002)"`; + +exports[`'karura' to 'moonriver' using bridgeSDK cross-chain 'KAR' parachain bridge to releaychain Cross-chain using BridgeSDK works: initial 1`] = ` +{ + "address": "0x4E7440dB498561A46AAa82b9Bc7d2D5162b5c27B", + "decimals": 18, + "fromChain": 10, + "toChain": 0.09012, +} +`; + +exports[`'karura' to 'moonriver' using bridgeSDK cross-chain 'KAR' parachain bridge to releaychain Cross-chain using BridgeSDK works: after 1`] = ` +{ + "address": "0x4E7440dB498561A46AAa82b9Bc7d2D5162b5c27B", + "decimals": 18, + "fromChain": "(rounded 8)", + "toChain": "(rounded 2.06)", +} +`; + +exports[`'karura' to 'moonriver' using bridgeSDK cross-chain 'KAR' parachain bridge to releaychain Cross-chain using BridgeSDK works: fee 1`] = `"(rounded 0.03)"`; diff --git a/tests/bridge-sdk/kusama.test.ts b/tests/bridge-sdk/kusama.test.ts index 487dd6f..ca64697 100644 --- a/tests/bridge-sdk/kusama.test.ts +++ b/tests/bridge-sdk/kusama.test.ts @@ -37,16 +37,16 @@ const tests = [ to: 'karura', token: 'BSX', }, - // { - // from: 'karura', - // to: 'basilisk', - // token: 'KUSD', - // }, - // { - // from: 'karura', - // to: 'moonriver', - // token: 'KAR', - // }, + { + from: 'karura', + to: 'basilisk', + token: 'BSX', + }, + { + from: 'karura', + to: 'moonriver', + token: 'KAR', + }, { from: 'karura', to: 'bifrost', @@ -87,26 +87,26 @@ const tests = [ // to: 'shiden', // token: 'KUSD', // }, - // { - // from: 'karura', - // to: 'kintsugi', - // token: 'KINT', - // }, - // { - // from: 'kintsugi', - // to: 'karura', - // token: 'KINT', - // }, - // { - // from: 'karura', - // to: 'kintsugi', - // token: 'LKSM', - // }, - // { - // from: 'kintsugi', - // to: 'karura', - // token: 'LKSM', - // }, + { + from: 'karura', + to: 'kintsugi', + token: 'KINT', + }, + { + from: 'kintsugi', + to: 'karura', + token: 'KINT', + }, + { + from: 'karura', + to: 'kintsugi', + token: 'LKSM', + }, + { + from: 'kintsugi', + to: 'karura', + token: 'LKSM', + }, // // btc // // { // // from: 'karura', From decbfa76e816dd104cbef18000d020a41ac7e5d5 Mon Sep 17 00:00:00 2001 From: Bryan Chen Date: Sat, 30 Dec 2023 14:31:08 +1300 Subject: [PATCH 2/7] update --- .../__snapshots__/kusama.test.ts.snap | 80 ++++++++++++++----- tests/bridge-sdk/kusama.test.ts | 32 ++++---- 2 files changed, 75 insertions(+), 37 deletions(-) diff --git a/tests/bridge-sdk/__snapshots__/kusama.test.ts.snap b/tests/bridge-sdk/__snapshots__/kusama.test.ts.snap index ca9e913..211aa0c 100644 --- a/tests/bridge-sdk/__snapshots__/kusama.test.ts.snap +++ b/tests/bridge-sdk/__snapshots__/kusama.test.ts.snap @@ -138,6 +138,26 @@ exports[`'basilisk' to 'karura' using bridgeSDK cross-chain 'BSX' parachain brid exports[`'basilisk' to 'karura' using bridgeSDK cross-chain 'BSX' parachain bridge to releaychain Cross-chain using BridgeSDK works: fee 1`] = `"(rounded 0.06)"`; +exports[`'karura' to 'moonriver' using bridgeSDK cross-chain 'KAR' parachain bridge to releaychain Cross-chain using BridgeSDK works: initial 1`] = ` +{ + "address": "0x4E7440dB498561A46AAa82b9Bc7d2D5162b5c27B", + "decimals": 18, + "fromChain": 10, + "toChain": 0.09012, +} +`; + +exports[`'karura' to 'moonriver' using bridgeSDK cross-chain 'KAR' parachain bridge to releaychain Cross-chain using BridgeSDK works: after 1`] = ` +{ + "address": "0x4E7440dB498561A46AAa82b9Bc7d2D5162b5c27B", + "decimals": 18, + "fromChain": "(rounded 8)", + "toChain": "(rounded 2.06)", +} +`; + +exports[`'karura' to 'moonriver' using bridgeSDK cross-chain 'KAR' parachain bridge to releaychain Cross-chain using BridgeSDK works: fee 1`] = `"(rounded 0.03)"`; + exports[`'karura' to 'bifrost' using bridgeSDK cross-chain 'KUSD' parachain bridge to releaychain Cross-chain using BridgeSDK works: initial 1`] = ` { "address": "5FA9nQDVg267DEd8m1ZypXLBnvN7SFxYwV7ndqSYGiN9TTpu", @@ -258,45 +278,45 @@ exports[`'karura' to 'altair' using bridgeSDK cross-chain 'AIR' parachain bridge exports[`'karura' to 'altair' using bridgeSDK cross-chain 'AIR' parachain bridge to releaychain Cross-chain using BridgeSDK works: fee 1`] = `"(rounded 0.008)"`; -exports[`'khala' to 'karura' using bridgeSDK cross-chain 'KUSD' parachain bridge to releaychain Cross-chain using BridgeSDK works: initial 1`] = ` +exports[`'shiden' to 'karura' using bridgeSDK cross-chain 'KUSD' parachain bridge to releaychain Cross-chain using BridgeSDK works: initial 1`] = ` { "address": "5FA9nQDVg267DEd8m1ZypXLBnvN7SFxYwV7ndqSYGiN9TTpu", "decimals": 12, - "fromChain": 100, + "fromChain": 10, "toChain": 10, } `; -exports[`'khala' to 'karura' using bridgeSDK cross-chain 'KUSD' parachain bridge to releaychain Cross-chain using BridgeSDK works: after 1`] = ` +exports[`'shiden' to 'karura' using bridgeSDK cross-chain 'KUSD' parachain bridge to releaychain Cross-chain using BridgeSDK works: after 1`] = ` { "address": "5FA9nQDVg267DEd8m1ZypXLBnvN7SFxYwV7ndqSYGiN9TTpu", "decimals": 12, - "fromChain": 98, + "fromChain": 8, "toChain": "(rounded 12)", } `; -exports[`'khala' to 'karura' using bridgeSDK cross-chain 'KUSD' parachain bridge to releaychain Cross-chain using BridgeSDK works: fee 1`] = `"(rounded 0.002)"`; +exports[`'shiden' to 'karura' using bridgeSDK cross-chain 'KUSD' parachain bridge to releaychain Cross-chain using BridgeSDK works: fee 1`] = `"(rounded 0.002)"`; -exports[`'karura' to 'khala' using bridgeSDK cross-chain 'KUSD' parachain bridge to releaychain Cross-chain using BridgeSDK works: initial 1`] = ` +exports[`'karura' to 'shiden' using bridgeSDK cross-chain 'KUSD' parachain bridge to releaychain Cross-chain using BridgeSDK works: initial 1`] = ` { "address": "5FA9nQDVg267DEd8m1ZypXLBnvN7SFxYwV7ndqSYGiN9TTpu", "decimals": 12, "fromChain": 10, - "toChain": 100, + "toChain": 10, } `; -exports[`'karura' to 'khala' using bridgeSDK cross-chain 'KUSD' parachain bridge to releaychain Cross-chain using BridgeSDK works: after 1`] = ` +exports[`'karura' to 'shiden' using bridgeSDK cross-chain 'KUSD' parachain bridge to releaychain Cross-chain using BridgeSDK works: after 1`] = ` { "address": "5FA9nQDVg267DEd8m1ZypXLBnvN7SFxYwV7ndqSYGiN9TTpu", "decimals": 12, "fromChain": 8, - "toChain": "(rounded 102)", + "toChain": "(rounded 12)", } `; -exports[`'karura' to 'khala' using bridgeSDK cross-chain 'KUSD' parachain bridge to releaychain Cross-chain using BridgeSDK works: fee 1`] = `"(rounded 0.008)"`; +exports[`'karura' to 'shiden' using bridgeSDK cross-chain 'KUSD' parachain bridge to releaychain Cross-chain using BridgeSDK works: fee 1`] = `"(rounded 0.002)"`; exports[`'karura' to 'kintsugi' using bridgeSDK cross-chain 'KINT' parachain bridge to releaychain Cross-chain using BridgeSDK works: initial 1`] = ` { @@ -378,22 +398,42 @@ exports[`'kintsugi' to 'karura' using bridgeSDK cross-chain 'LKSM' parachain bri exports[`'kintsugi' to 'karura' using bridgeSDK cross-chain 'LKSM' parachain bridge to releaychain Cross-chain using BridgeSDK works: fee 1`] = `"(rounded 0.0002)"`; -exports[`'karura' to 'moonriver' using bridgeSDK cross-chain 'KAR' parachain bridge to releaychain Cross-chain using BridgeSDK works: initial 1`] = ` +exports[`'khala' to 'karura' using bridgeSDK cross-chain 'KUSD' parachain bridge to releaychain Cross-chain using BridgeSDK works: initial 1`] = ` { - "address": "0x4E7440dB498561A46AAa82b9Bc7d2D5162b5c27B", - "decimals": 18, + "address": "5FA9nQDVg267DEd8m1ZypXLBnvN7SFxYwV7ndqSYGiN9TTpu", + "decimals": 12, + "fromChain": 100, + "toChain": 10, +} +`; + +exports[`'khala' to 'karura' using bridgeSDK cross-chain 'KUSD' parachain bridge to releaychain Cross-chain using BridgeSDK works: after 1`] = ` +{ + "address": "5FA9nQDVg267DEd8m1ZypXLBnvN7SFxYwV7ndqSYGiN9TTpu", + "decimals": 12, + "fromChain": 98, + "toChain": "(rounded 12)", +} +`; + +exports[`'khala' to 'karura' using bridgeSDK cross-chain 'KUSD' parachain bridge to releaychain Cross-chain using BridgeSDK works: fee 1`] = `"(rounded 0.002)"`; + +exports[`'karura' to 'khala' using bridgeSDK cross-chain 'KUSD' parachain bridge to releaychain Cross-chain using BridgeSDK works: initial 1`] = ` +{ + "address": "5FA9nQDVg267DEd8m1ZypXLBnvN7SFxYwV7ndqSYGiN9TTpu", + "decimals": 12, "fromChain": 10, - "toChain": 0.09012, + "toChain": 100, } `; -exports[`'karura' to 'moonriver' using bridgeSDK cross-chain 'KAR' parachain bridge to releaychain Cross-chain using BridgeSDK works: after 1`] = ` +exports[`'karura' to 'khala' using bridgeSDK cross-chain 'KUSD' parachain bridge to releaychain Cross-chain using BridgeSDK works: after 1`] = ` { - "address": "0x4E7440dB498561A46AAa82b9Bc7d2D5162b5c27B", - "decimals": 18, - "fromChain": "(rounded 8)", - "toChain": "(rounded 2.06)", + "address": "5FA9nQDVg267DEd8m1ZypXLBnvN7SFxYwV7ndqSYGiN9TTpu", + "decimals": 12, + "fromChain": 8, + "toChain": "(rounded 102)", } `; -exports[`'karura' to 'moonriver' using bridgeSDK cross-chain 'KAR' parachain bridge to releaychain Cross-chain using BridgeSDK works: fee 1`] = `"(rounded 0.03)"`; +exports[`'karura' to 'khala' using bridgeSDK cross-chain 'KUSD' parachain bridge to releaychain Cross-chain using BridgeSDK works: fee 1`] = `"(rounded 0.008)"`; diff --git a/tests/bridge-sdk/kusama.test.ts b/tests/bridge-sdk/kusama.test.ts index ca64697..a780b07 100644 --- a/tests/bridge-sdk/kusama.test.ts +++ b/tests/bridge-sdk/kusama.test.ts @@ -37,11 +37,11 @@ const tests = [ to: 'karura', token: 'BSX', }, - { - from: 'karura', - to: 'basilisk', - token: 'BSX', - }, + // { + // from: 'karura', + // to: 'basilisk', + // token: 'BSX', + // }, { from: 'karura', to: 'moonriver', @@ -77,16 +77,16 @@ const tests = [ to: 'altair', token: 'AIR', }, - // { - // from: 'shiden', - // to: 'karura', - // token: 'KUSD', - // }, - // { - // from: 'karura', - // to: 'shiden', - // token: 'KUSD', - // }, + { + from: 'shiden', + to: 'karura', + token: 'KUSD', + }, + { + from: 'karura', + to: 'shiden', + token: 'KUSD', + }, { from: 'karura', to: 'kintsugi', @@ -169,13 +169,11 @@ const tests = [ // from: 'quartz', // to: 'karura', // token: 'QTZ', - // fee: 0.008082399999999934 // }, // { // from: 'karura', // to: 'quartz', // token: 'QTZ', - // fee: 0.002080000000000082 // }, ] as const From 027f6014b5847356bdb8d03bbfd6c625dd9468bd Mon Sep 17 00:00:00 2001 From: Bryan Chen Date: Sat, 30 Dec 2023 20:18:18 +1300 Subject: [PATCH 3/7] update --- .../__snapshots__/polkadot.test.ts.snap | 40 +++++++++++++++++++ tests/bridge-sdk/polkadot.test.ts | 20 +++++----- 2 files changed, 50 insertions(+), 10 deletions(-) diff --git a/tests/bridge-sdk/__snapshots__/polkadot.test.ts.snap b/tests/bridge-sdk/__snapshots__/polkadot.test.ts.snap index 975a59f..d85636c 100644 --- a/tests/bridge-sdk/__snapshots__/polkadot.test.ts.snap +++ b/tests/bridge-sdk/__snapshots__/polkadot.test.ts.snap @@ -80,6 +80,46 @@ exports[`'statemint' to 'polkadot' using bridgeSDK cross-chain 'DOT' parachain b exports[`'statemint' to 'polkadot' using bridgeSDK cross-chain 'DOT' parachain bridge to releaychain Cross-chain using BridgeSDK works: fee 1`] = `"(rounded 0.003)"`; +exports[`'acala' to 'moonbeam' using bridgeSDK cross-chain 'AUSD' parachain bridge to releaychain Cross-chain using BridgeSDK works: initial 1`] = ` +{ + "address": "0x4E7440dB498561A46AAa82b9Bc7d2D5162b5c27B", + "decimals": 18, + "fromChain": 10, + "toChain": 0, +} +`; + +exports[`'acala' to 'moonbeam' using bridgeSDK cross-chain 'AUSD' parachain bridge to releaychain Cross-chain using BridgeSDK works: after 1`] = ` +{ + "address": "0x4E7440dB498561A46AAa82b9Bc7d2D5162b5c27B", + "decimals": 18, + "fromChain": 8, + "toChain": "(rounded 1.98)", +} +`; + +exports[`'acala' to 'moonbeam' using bridgeSDK cross-chain 'AUSD' parachain bridge to releaychain Cross-chain using BridgeSDK works: fee 1`] = `"(rounded 0.02)"`; + +exports[`'astar' to 'acala' using bridgeSDK cross-chain 'AUSD' parachain bridge to releaychain Cross-chain using BridgeSDK works: initial 1`] = ` +{ + "address": "5FA9nQDVg267DEd8m1ZypXLBnvN7SFxYwV7ndqSYGiN9TTpu", + "decimals": 12, + "fromChain": 10, + "toChain": 1000, +} +`; + +exports[`'astar' to 'acala' using bridgeSDK cross-chain 'AUSD' parachain bridge to releaychain Cross-chain using BridgeSDK works: after 1`] = ` +{ + "address": "5FA9nQDVg267DEd8m1ZypXLBnvN7SFxYwV7ndqSYGiN9TTpu", + "decimals": 12, + "fromChain": 8, + "toChain": "(rounded 1000)", +} +`; + +exports[`'astar' to 'acala' using bridgeSDK cross-chain 'AUSD' parachain bridge to releaychain Cross-chain using BridgeSDK works: fee 1`] = `"(rounded 0.0007)"`; + exports[`'acala' to 'astar' using bridgeSDK cross-chain 'AUSD' parachain bridge to releaychain Cross-chain using BridgeSDK works: initial 1`] = ` { "address": "5FA9nQDVg267DEd8m1ZypXLBnvN7SFxYwV7ndqSYGiN9TTpu", diff --git a/tests/bridge-sdk/polkadot.test.ts b/tests/bridge-sdk/polkadot.test.ts index 33540df..891a8fc 100644 --- a/tests/bridge-sdk/polkadot.test.ts +++ b/tests/bridge-sdk/polkadot.test.ts @@ -21,16 +21,16 @@ const tests = [ to: 'polkadot', token: 'DOT', }, - // { - // from: 'acala', - // to: 'moonbeam', - // token: 'AUSD', - // }, - // { - // from: 'astar', - // to: 'acala', - // token: 'AUSD', - // }, + { + from: 'acala', + to: 'moonbeam', + token: 'AUSD', + }, + { + from: 'astar', + to: 'acala', + token: 'AUSD', + }, { from: 'acala', to: 'astar', From 60ba6c5a1e62773bcbdaa3ba680910e12fab0407 Mon Sep 17 00:00:00 2001 From: Bryan Chen Date: Thu, 4 Jan 2024 14:22:43 +1300 Subject: [PATCH 4/7] update rpc --- networks/parallel.ts | 2 +- scripts/configs/parallel.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/networks/parallel.ts b/networks/parallel.ts index a59fe64..edfb5bd 100644 --- a/networks/parallel.ts +++ b/networks/parallel.ts @@ -8,7 +8,7 @@ export type Vars = { export default { polkadot: { name: 'parallel' as const, - endpoint: 'wss://rpc.parallel.fi', + endpoint: 'wss://parallel-rpc.dwellir.com', ausd: 104, acalaNativeToken: 108, }, diff --git a/scripts/configs/parallel.yml b/scripts/configs/parallel.yml index f822f7c..02672c1 100644 --- a/scripts/configs/parallel.yml +++ b/scripts/configs/parallel.yml @@ -1,7 +1,7 @@ extensions: client: endpoints: - - wss://rpc.parallel.fi:443 + - wss://parallel-rpc.dwellir.com event_bus: substrate_api: stale_timeout_seconds: 60 From 52ac7ebacdacee2dfe6be16b84979ddbbfa961b7 Mon Sep 17 00:00:00 2001 From: Bryan Chen Date: Fri, 5 Jan 2024 20:06:20 +1300 Subject: [PATCH 5/7] fix --- helpers/index.ts | 18 ++++++++++++++++++ networks/acala.ts | 2 +- tests/acala/aggregated-dex.test.ts | 11 +++++------ tests/acala/dex.test.ts | 7 ++++--- tests/acala/homa.test.ts | 23 ++++++++++++----------- tests/acala/stable-asset.test.ts | 28 +++++++++++++--------------- 6 files changed, 53 insertions(+), 36 deletions(-) diff --git a/helpers/index.ts b/helpers/index.ts index 8fbf3de..705fb40 100644 --- a/helpers/index.ts +++ b/helpers/index.ts @@ -17,3 +17,21 @@ const { check, checkEvents, checkHrmp, checkSystemEvents, checkUmp } = withExpec export { check, checkEvents, checkHrmp, checkSystemEvents, checkUmp } export * from '@acala-network/chopsticks-testing' + +const defaultTimeout = process.env.CI ? 180000 : 120000 + +export const jest = (filename: string) => { + const { beforeEach, afterEach, afterAll, expect, describe, it } = (Bun as any).jest(filename) // workaround https://github.com/oven-sh/bun/issues/7873 + + const newIt = (name: string, fn: any, timeout = defaultTimeout) => { + it( + name, + async () => { + await fn() + }, + timeout, + ) + } + + return { beforeEach, afterEach, afterAll, expect, describe, it: newIt } +} diff --git a/networks/acala.ts b/networks/acala.ts index 6794de3..6a2c345 100644 --- a/networks/acala.ts +++ b/networks/acala.ts @@ -44,7 +44,7 @@ export default { // avoid impact test outcome $removePrefix: ['redeemRequests', 'unbondings', 'toBondPool'], // so that bump era won't trigger unbond - relayChainCurrentEra: '0x64000000', + relayChainCurrentEra: 100, }, PolkadotXcm: { // avoid sending xcm version change notifications to makes things faster diff --git a/tests/acala/aggregated-dex.test.ts b/tests/acala/aggregated-dex.test.ts index 9e31721..42f01b5 100644 --- a/tests/acala/aggregated-dex.test.ts +++ b/tests/acala/aggregated-dex.test.ts @@ -1,12 +1,12 @@ -import { afterEach, beforeEach, describe, it } from 'bun:test' -import { bnToHex } from '@polkadot/util' import { sendTransaction } from '@acala-network/chopsticks-testing' import { Network, createContext, createNetworks } from '../../networks' -import { checkEvents } from '../../helpers' +import { checkEvents, jest } from '../../helpers' import { acala, karura } from '../../networks/acala' +const { beforeEach, afterEach, describe, it } = jest(import.meta.path) + for (const { name, swapPath } of [ { name: 'karura', @@ -46,13 +46,12 @@ for (const { name, swapPath } of [ const toBondPool: bigint = ((await apiAt.query.homa.toBondPool()) as any).toBigInt() await chain.dev.setStorage({ Homa: { - toBondPool: bnToHex(toBondPool + 10n * 10n ** 10n, { bitLength: 128, isLe: true }), + toBondPool: toBondPool + 10n * 10n ** 10n, }, }) }) afterEach(async () => { - console.log('teardown') await chain.teardown() }) @@ -64,6 +63,6 @@ for (const { name, swapPath } of [ await chain.chain.newBlock() await checkEvents(tx, 'dex').redact({ number: true }).toMatchSnapshot() - }, 120000) + }) }) } diff --git a/tests/acala/dex.test.ts b/tests/acala/dex.test.ts index 4515188..0ca509c 100644 --- a/tests/acala/dex.test.ts +++ b/tests/acala/dex.test.ts @@ -1,12 +1,13 @@ -import { afterAll, beforeEach, describe, it } from 'bun:test' import { sendTransaction, testingPairs } from '@acala-network/chopsticks-testing' -import { checkEvents } from '../../helpers' +import { checkEvents, jest } from '../../helpers' import { createNetworks } from '../../networks' import { acala, karura } from '../../networks/acala' import { query } from '../../helpers/api' +const { beforeEach, afterAll, describe, it } = jest(import.meta.path) + for (const { name, swapPair } of [ { name: 'karura', @@ -78,7 +79,7 @@ for (const { name, swapPair } of [ await checkEvents(tx1, 'dex', 'incentives', 'tokens') .redact({ number: true }) .toMatchSnapshot('removeLiquidity') - }, 120000) + }) } }) } diff --git a/tests/acala/homa.test.ts b/tests/acala/homa.test.ts index 3455339..9257484 100644 --- a/tests/acala/homa.test.ts +++ b/tests/acala/homa.test.ts @@ -1,19 +1,20 @@ -import { beforeEach, describe, it } from 'bun:test' import { sendTransaction, testingPairs } from '@acala-network/chopsticks-testing' import { Network, createNetworks } from '../../networks' -import { checkEvents, checkSystemEvents, checkUmp } from '../../helpers' +import { checkEvents, checkSystemEvents, checkUmp, jest } from '../../helpers' + +const { beforeEach, afterEach, describe, it } = jest(import.meta.path) for (const { name, relay, unbond } of [ { name: 'karura', relay: 'kusama', - unbond: { para: 4981210, relay: 19226890, era: '0x91150000' }, + unbond: { para: 4981210, relay: 19226890, era: 5521 }, }, { name: 'acala', relay: 'polkadot', - unbond: { para: 4225795, relay: 16829283, era: '0x90040000' }, + unbond: { para: 4225795, relay: 16829283, era: 1168 }, }, ] as const) { describe(`${name} homa`, async () => { @@ -31,11 +32,11 @@ for (const { name, relay, unbond } of [ relaychain = relaychain1 parachain = parachain1 + }) - return async () => { - await relaychain.teardown() - await parachain.teardown() - } + afterEach(async () => { + await relaychain.teardown() + await parachain.teardown() }) it('Homa stake works', async () => { @@ -55,7 +56,7 @@ for (const { name, relay, unbond } of [ await checkSystemEvents(relaychain, 'ump', 'staking', 'messageQueue') .redact({ address: true, number: true }) .toMatchSnapshot() - }, 120000) + }) it('Homa redeem unbond works', async () => { const tx0 = await sendTransaction( @@ -75,7 +76,7 @@ for (const { name, relay, unbond } of [ await checkSystemEvents(relaychain, 'ump', 'staking', 'messageQueue') .redact({ address: true }) .toMatchSnapshot() - }, 120000) + }) }) describe('with specific block', () => { @@ -114,7 +115,7 @@ for (const { name, relay, unbond } of [ await relaychain.chain.newBlock() await checkSystemEvents(relaychain, 'ump', 'staking', 'messageQueue').toMatchSnapshot() - }, 120000) + }) }) }) } diff --git a/tests/acala/stable-asset.test.ts b/tests/acala/stable-asset.test.ts index 969cbde..85d8b9c 100644 --- a/tests/acala/stable-asset.test.ts +++ b/tests/acala/stable-asset.test.ts @@ -1,11 +1,11 @@ -import { beforeEach, describe, it } from 'bun:test' -import { bnToHex } from '@polkadot/util' import { sendTransaction } from '@acala-network/chopsticks-testing' import { Network, createContext, createNetworks } from '../../networks' -import { checkEvents, checkSystemEvents } from '../../helpers' +import { checkEvents, checkSystemEvents, jest } from '../../helpers' import { query } from '../../helpers/api' +const { beforeEach, afterEach, describe, it } = jest(import.meta.path) + for (const name of ['karura', 'acala'] as const) { describe(`${name} stable asset`, async () => { let chain: Network @@ -22,11 +22,13 @@ for (const name of ['karura', 'acala'] as const) { const toBondPool: bigint = ((await apiAt.query.homa.toBondPool()) as any).toBigInt() await chain.dev.setStorage({ Homa: { - toBondPool: bnToHex(toBondPool + 10n * 10n ** 10n, { bitLength: 128, isLe: true }), + toBondPool: toBondPool + 100n * 10n ** 10n, }, }) + }) - return async () => chain.teardown() + afterEach(async () => { + await chain.teardown() }) it('swap', async () => { @@ -64,19 +66,15 @@ for (const name of ['karura', 'acala'] as const) { event: 'RedeemedProportion', }, ] as const) { - it( - name, - async () => { - const balData: any = await query.tokens({ StableAssetPoolToken: 0 })(chain, alice.address) + it(name, async () => { + const balData: any = await query.tokens({ StableAssetPoolToken: 0 })(chain, alice.address) - const tx0 = await sendTransaction(tx(balData.free).signAsync(alice)) + const tx0 = await sendTransaction(tx(balData.free).signAsync(alice)) - await chain.chain.newBlock() + await chain.chain.newBlock() - await checkEvents(tx0, { section: 'stableAsset', method: event }).redact({ number: true }).toMatchSnapshot() - }, - 120000, - ) + await checkEvents(tx0, { section: 'stableAsset', method: event }).redact({ number: true }).toMatchSnapshot() + }) } }) From 58d9af1be6ee6c41d534f235a8b1c74bd2cce88a Mon Sep 17 00:00:00 2001 From: Bryan Chen Date: Fri, 5 Jan 2024 20:28:39 +1300 Subject: [PATCH 6/7] update --- tests/bridge-sdk/__snapshots__/polkadot.test.ts.snap | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/bridge-sdk/__snapshots__/polkadot.test.ts.snap b/tests/bridge-sdk/__snapshots__/polkadot.test.ts.snap index d85636c..861ca0c 100644 --- a/tests/bridge-sdk/__snapshots__/polkadot.test.ts.snap +++ b/tests/bridge-sdk/__snapshots__/polkadot.test.ts.snap @@ -118,7 +118,7 @@ exports[`'astar' to 'acala' using bridgeSDK cross-chain 'AUSD' parachain bridge } `; -exports[`'astar' to 'acala' using bridgeSDK cross-chain 'AUSD' parachain bridge to releaychain Cross-chain using BridgeSDK works: fee 1`] = `"(rounded 0.0007)"`; +exports[`'astar' to 'acala' using bridgeSDK cross-chain 'AUSD' parachain bridge to releaychain Cross-chain using BridgeSDK works: fee 1`] = `"(rounded 0.001)"`; exports[`'acala' to 'astar' using bridgeSDK cross-chain 'AUSD' parachain bridge to releaychain Cross-chain using BridgeSDK works: initial 1`] = ` { From ca684a3b1222210986aa5af452537c42d2425adc Mon Sep 17 00:00:00 2001 From: Bryan Chen Date: Sat, 6 Jan 2024 18:59:54 +1300 Subject: [PATCH 7/7] update --- tests/acala/__snapshots__/homa.test.ts.snap | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/tests/acala/__snapshots__/homa.test.ts.snap b/tests/acala/__snapshots__/homa.test.ts.snap index c463931..7b3d826 100644 --- a/tests/acala/__snapshots__/homa.test.ts.snap +++ b/tests/acala/__snapshots__/homa.test.ts.snap @@ -137,6 +137,9 @@ exports[`karura homa with latest block Homa stake works: ump 1`] = ` }, { "transact": { + "call": { + "encoded": "(hex)", + }, "originType": "SovereignAccount", "requireWeightAtMost": "(number)", }, @@ -328,12 +331,18 @@ exports[`karura homa with specific block unbond withdraw works: ump 1`] = ` }, { "transact": { + "call": { + "encoded": "0x18010200060305000000", + }, "originType": "SovereignAccount", "requireWeightAtMost": 20000000000, }, }, { "transact": { + "call": { + "encoded": "0x1801020004030070617261d00700000000000000000000000000000000000000000000000000000b07db23d49c4c", + }, "originType": "SovereignAccount", "requireWeightAtMost": 20000000000, }, @@ -523,6 +532,9 @@ exports[`acala homa with latest block Homa stake works: ump 1`] = ` }, { "transact": { + "call": { + "encoded": "(hex)", + }, "originType": "SovereignAccount", "requireWeightAtMost": "(number)", }, @@ -714,12 +726,18 @@ exports[`acala homa with specific block unbond withdraw works: ump 1`] = ` }, { "transact": { + "call": { + "encoded": "0x1a010000070305000000", + }, "originType": "SovereignAccount", "requireWeightAtMost": 10000000000, }, }, { "transact": { + "call": { + "encoded": "0x1a01000005030070617261d00700000000000000000000000000000000000000000000000000000bd76e3b5f030a", + }, "originType": "SovereignAccount", "requireWeightAtMost": 10000000000, },