From a485d7d983d8eeba2b4ff083fd8f633ee065008d Mon Sep 17 00:00:00 2001 From: Otto Allmendinger Date: Fri, 4 Nov 2022 12:03:52 +0100 Subject: [PATCH 01/15] feat(utxo-bin): show parseAddress info for bech32(m), cashaddress Issue: BG-60311 --- modules/utxo-bin/package.json | 2 + modules/utxo-bin/src/AddressParser.ts | 122 ++++++++++++++---- ...361UWADXqgPsdf8L5Jga6GNPauMuBtT1eW.all.txt | 29 ----- ...lt_1LCVrCgbT26Ui1QyrhaGvvhrkVdDRAXxtt.txt} | 4 +- ...lt_33qtbAwm4ooBtMQenssbqDE1J4gSMMBRnb.txt} | 4 +- ...361UWADXqgPsdf8L5Jga6GNPauMuBtT1eW.all.txt | 41 ++++++ ...lt_361UWADXqgPsdf8L5Jga6GNPauMuBtT1eW.txt} | 4 +- ...8thy5n3y6u36xs58wq3yezrmqygwfnsjhucex.txt} | 5 + ...2tshlryz9lrjlw9edaf4l5l3v3deg034uw28c.txt} | 1 + ...x5gj6dupmp869cajrkt3kw6ud3kkecsdzf7hn.txt} | 5 + ...utv0fm35eng6gycfwkuluc6l7e0q9vn0enh39m.txt | 12 ++ ...wzluvsghuwtach9h4xh7n79j9h9p7ysal2ugld.txt | 12 ++ ...t_2MwZgZu9ZT8uDqSkskSJSiDMeoFa4z4RtdW.txt} | 4 +- ...lt_mziT9FmaG3XjV7tbaGYekqvBcVDvGnY3EZ.txt} | 4 +- ...utv0fm35eng6gycfwkuluc6l7e0q9vhaa54xz8.txt | 12 ++ ...wzluvsghuwtach9h4xh7n79j9h9p7y50md7lc3.txt | 12 ++ ...ult_1LCVrCgbT26Ui1QyrhaGvvhrkVdDRAXxtt.txt | 12 ++ ...361UWADXqgPsdf8L5Jga6GNPauMuBtT1eW.all.txt | 41 ++++++ ...ult_361UWADXqgPsdf8L5Jga6GNPauMuBtT1eW.txt | 12 ++ ...t_2MuQ6eusngGJY693CU1VUTADGWQtcBBk1di.txt} | 4 +- ...lt_2MwZgZu9ZT8uDqSkskSJSiDMeoFa4z4RtdW.txt | 12 ++ ...ult_mziT9FmaG3XjV7tbaGYekqvBcVDvGnY3EZ.txt | 12 ++ ...2tshlryz9lrjlw9edaf4l5l3v3deg0358txp6.txt} | 1 + ...x5gj6dupmp869cajrkt3kw6ud3kkecsgdfacv.txt} | 5 + ...lt_AHvkK8Jwr48xc9vDERsLZU8Ad9KRDP3e7m.txt} | 4 +- ...lt_AL6LE7aicvjeMTdtWrgJpXGYuyzsxJYdja.txt} | 4 +- ...lt_Gd3RGL1YRshmnUiGneEPMh3kffR4S91A1w.txt} | 4 +- ...2tshlryz9lrjlw9edaf4l5l3v3deg03r4g0js.txt} | 1 + ...x5gj6dupmp869cajrkt3kw6ud3kkecsrzdr8e.txt} | 5 + ...lt_2MwZgZu9ZT8uDqSkskSJSiDMeoFa4z4RtdW.txt | 12 ++ ...ult_mziT9FmaG3XjV7tbaGYekqvBcVDvGnY3EZ.txt | 12 ++ ...ult_1LCVrCgbT26Ui1QyrhaGvvhrkVdDRAXxtt.txt | 12 ++ ...ult_361UWADXqgPsdf8L5Jga6GNPauMuBtT1eW.txt | 12 ++ ...lt_8ijvHgPZnCt95j5YRBM2t2BQPxy76bvp6E.txt} | 4 +- ...lt_yfWwhQQvrGy9Cgw7HSCtpUozs7hGy5CK3x.txt} | 4 +- ...lt_7Wj7LMVhefVWdRfHLvM5ReN3WTCGzyVbdE.txt} | 4 +- ...lt_XutLgTLVQjK4rx1ZiatVnTPeaqCuNvRz6k.txt} | 4 +- ...lt_2MwZgZu9ZT8uDqSkskSJSiDMeoFa4z4RtdW.txt | 12 ++ ...lt_noPf7UN9gQTV7zAmd7DHj6TksVjoihVkLY.txt} | 4 +- ...lt_9vkjF1HRukGmY2VoVSLzLPzmHUjwCvtAad.txt} | 4 +- ...lt_DQLbPTdEkRzmF1babHZqUgsTddMWgQq2ad.txt} | 4 +- ...utv0fm35eng6gycfwkuluc6l7e0q9vhsqql6tt.txt | 12 ++ ...wzluvsghuwtach9h4xh7n79j9h9p7y5zxe5r3a.txt | 12 ++ ...lt_2MwZgZu9ZT8uDqSkskSJSiDMeoFa4z4RtdW.txt | 12 ++ ...ult_mziT9FmaG3XjV7tbaGYekqvBcVDvGnY3EZ.txt | 12 ++ ...utv0fm35eng6gycfwkuluc6l7e0q9vwsflwuys.txt | 12 ++ ...wzluvsghuwtach9h4xh7n79j9h9p7ydz0x997x.txt | 12 ++ ...ult_1LCVrCgbT26Ui1QyrhaGvvhrkVdDRAXxtt.txt | 12 ++ ...361UWADXqgPsdf8L5Jga6GNPauMuBtT1eW.all.txt | 41 ++++++ ...ult_361UWADXqgPsdf8L5Jga6GNPauMuBtT1eW.txt | 12 ++ ...lt_QNkrmvk2hNMdEKoF67XVXreheoLS5yeqB5.txt} | 4 +- ...lt_QQvSgv1oUExJydWvNYLTnuo5we1tsV5DZ3.txt} | 4 +- ...ult_mziT9FmaG3XjV7tbaGYekqvBcVDvGnY3EZ.txt | 12 ++ ...2tshlryz9lrjlw9edaf4l5l3v3deg03xjh8vz.txt} | 1 + ...x5gj6dupmp869cajrkt3kw6ud3kkecs9frsjr.txt} | 5 + ...lt_LeRT7QzRXgLXxp792qZaCwmcxhzVVhCFuv.txt} | 4 +- ...lt_MA42u4Mj1vecgrgYtkrwerUQcmGtR4kUvr.txt} | 4 +- ...lt_MCDcp3dVnoFJSAQEBBfuuucnubxM6uQRD5.txt} | 4 +- ...2tshlryz9lrjlw9edaf4l5l3v3deg033q5wlg.txt} | 1 + ...x5gj6dupmp869cajrkt3kw6ud3kkecswx8wdk.txt} | 5 + ...lt_2MuQ6eusngGJY693CU1VUTADGWQtcBBk1di.txt | 12 ++ ...lt_2MwZgZu9ZT8uDqSkskSJSiDMeoFa4z4RtdW.txt | 12 ++ ...ult_mziT9FmaG3XjV7tbaGYekqvBcVDvGnY3EZ.txt | 12 ++ ...8thy5n3y6u36xs58wq3yezrmqygwfns9l2hrf.txt} | 5 + ...2tshlryz9lrjlw9edaf4l5l3v3deg03l64eut.txt} | 1 + ...x5gj6dupmp869cajrkt3kw6ud3kkecs62l3du.txt} | 5 + ...t_t2AsGZAjogTnqmzkxwUVjmhewx3n9qwJkTV.txt} | 4 +- ...t_tmUurBNb8p1PaStfKTrh8vQUXc8u7i1s34C.txt} | 4 +- ...t_t1d56rY6jRLt5JeTso8PQ4jon19pJAF13hg.txt} | 4 +- ...t_t3Nt5WVdfp1BUEJBE1jVhE5UJqZYz1DCoRU.txt} | 4 +- modules/utxo-bin/test/parseAddress.ts | 32 +++-- 71 files changed, 666 insertions(+), 88 deletions(-) delete mode 100644 modules/utxo-bin/test/fixtures/formatAddress_361UWADXqgPsdf8L5Jga6GNPauMuBtT1eW.all.txt rename modules/utxo-bin/test/fixtures/{formatAddress_1LCVrCgbT26Ui1QyrhaGvvhrkVdDRAXxtt.txt => formatAddress_bitcoin_default_1LCVrCgbT26Ui1QyrhaGvvhrkVdDRAXxtt.txt} (82%) rename modules/utxo-bin/test/fixtures/{formatAddress_33qtbAwm4ooBtMQenssbqDE1J4gSMMBRnb.txt => formatAddress_bitcoin_default_33qtbAwm4ooBtMQenssbqDE1J4gSMMBRnb.txt} (81%) create mode 100644 modules/utxo-bin/test/fixtures/formatAddress_bitcoin_default_361UWADXqgPsdf8L5Jga6GNPauMuBtT1eW.all.txt rename modules/utxo-bin/test/fixtures/{formatAddress_361UWADXqgPsdf8L5Jga6GNPauMuBtT1eW.txt => formatAddress_bitcoin_default_361UWADXqgPsdf8L5Jga6GNPauMuBtT1eW.txt} (81%) rename modules/utxo-bin/test/fixtures/{formatAddress_bc1p8gv9m64s539mycj4m29wu8thy5n3y6u36xs58wq3yezrmqygwfnsjhucex.txt => formatAddress_bitcoin_default_bc1p8gv9m64s539mycj4m29wu8thy5n3y6u36xs58wq3yezrmqygwfnsjhucex.txt} (60%) rename modules/utxo-bin/test/fixtures/{formatAddress_bc1q62tshlryz9lrjlw9edaf4l5l3v3deg034uw28c.txt => formatAddress_bitcoin_default_bc1q62tshlryz9lrjlw9edaf4l5l3v3deg034uw28c.txt} (93%) rename modules/utxo-bin/test/fixtures/{formatAddress_bc1qeu6xmet5wqslj2w0wac0hx5gj6dupmp869cajrkt3kw6ud3kkecsdzf7hn.txt => formatAddress_bitcoin_default_bc1qeu6xmet5wqslj2w0wac0hx5gj6dupmp869cajrkt3kw6ud3kkecsdzf7hn.txt} (61%) create mode 100644 modules/utxo-bin/test/fixtures/formatAddress_bitcoincashTestnet_cashaddr_bchtest:pqh4utv0fm35eng6gycfwkuluc6l7e0q9vn0enh39m.txt create mode 100644 modules/utxo-bin/test/fixtures/formatAddress_bitcoincashTestnet_cashaddr_bchtest:qrffwzluvsghuwtach9h4xh7n79j9h9p7ysal2ugld.txt rename modules/utxo-bin/test/fixtures/{formatAddress_2MwZgZu9ZT8uDqSkskSJSiDMeoFa4z4RtdW.txt => formatAddress_bitcoincashTestnet_default_2MwZgZu9ZT8uDqSkskSJSiDMeoFa4z4RtdW.txt} (83%) rename modules/utxo-bin/test/fixtures/{formatAddress_mziT9FmaG3XjV7tbaGYekqvBcVDvGnY3EZ.txt => formatAddress_bitcoincashTestnet_default_mziT9FmaG3XjV7tbaGYekqvBcVDvGnY3EZ.txt} (84%) create mode 100644 modules/utxo-bin/test/fixtures/formatAddress_bitcoincash_cashaddr_bitcoincash:pqh4utv0fm35eng6gycfwkuluc6l7e0q9vhaa54xz8.txt create mode 100644 modules/utxo-bin/test/fixtures/formatAddress_bitcoincash_cashaddr_bitcoincash:qrffwzluvsghuwtach9h4xh7n79j9h9p7y50md7lc3.txt create mode 100644 modules/utxo-bin/test/fixtures/formatAddress_bitcoincash_default_1LCVrCgbT26Ui1QyrhaGvvhrkVdDRAXxtt.txt create mode 100644 modules/utxo-bin/test/fixtures/formatAddress_bitcoincash_default_361UWADXqgPsdf8L5Jga6GNPauMuBtT1eW.all.txt create mode 100644 modules/utxo-bin/test/fixtures/formatAddress_bitcoincash_default_361UWADXqgPsdf8L5Jga6GNPauMuBtT1eW.txt rename modules/utxo-bin/test/fixtures/{formatAddress_2MuQ6eusngGJY693CU1VUTADGWQtcBBk1di.txt => formatAddress_bitcoingoldTestnet_default_2MuQ6eusngGJY693CU1VUTADGWQtcBBk1di.txt} (83%) create mode 100644 modules/utxo-bin/test/fixtures/formatAddress_bitcoingoldTestnet_default_2MwZgZu9ZT8uDqSkskSJSiDMeoFa4z4RtdW.txt create mode 100644 modules/utxo-bin/test/fixtures/formatAddress_bitcoingoldTestnet_default_mziT9FmaG3XjV7tbaGYekqvBcVDvGnY3EZ.txt rename modules/utxo-bin/test/fixtures/{formatAddress_tbtg1q62tshlryz9lrjlw9edaf4l5l3v3deg0358txp6.txt => formatAddress_bitcoingoldTestnet_default_tbtg1q62tshlryz9lrjlw9edaf4l5l3v3deg0358txp6.txt} (93%) rename modules/utxo-bin/test/fixtures/{formatAddress_tbtg1qeu6xmet5wqslj2w0wac0hx5gj6dupmp869cajrkt3kw6ud3kkecsgdfacv.txt => formatAddress_bitcoingoldTestnet_default_tbtg1qeu6xmet5wqslj2w0wac0hx5gj6dupmp869cajrkt3kw6ud3kkecsgdfacv.txt} (61%) rename modules/utxo-bin/test/fixtures/{formatAddress_AHvkK8Jwr48xc9vDERsLZU8Ad9KRDP3e7m.txt => formatAddress_bitcoingold_default_AHvkK8Jwr48xc9vDERsLZU8Ad9KRDP3e7m.txt} (80%) rename modules/utxo-bin/test/fixtures/{formatAddress_AL6LE7aicvjeMTdtWrgJpXGYuyzsxJYdja.txt => formatAddress_bitcoingold_default_AL6LE7aicvjeMTdtWrgJpXGYuyzsxJYdja.txt} (80%) rename modules/utxo-bin/test/fixtures/{formatAddress_Gd3RGL1YRshmnUiGneEPMh3kffR4S91A1w.txt => formatAddress_bitcoingold_default_Gd3RGL1YRshmnUiGneEPMh3kffR4S91A1w.txt} (82%) rename modules/utxo-bin/test/fixtures/{formatAddress_btg1q62tshlryz9lrjlw9edaf4l5l3v3deg03r4g0js.txt => formatAddress_bitcoingold_default_btg1q62tshlryz9lrjlw9edaf4l5l3v3deg03r4g0js.txt} (93%) rename modules/utxo-bin/test/fixtures/{formatAddress_btg1qeu6xmet5wqslj2w0wac0hx5gj6dupmp869cajrkt3kw6ud3kkecsrzdr8e.txt => formatAddress_bitcoingold_default_btg1qeu6xmet5wqslj2w0wac0hx5gj6dupmp869cajrkt3kw6ud3kkecsrzdr8e.txt} (61%) create mode 100644 modules/utxo-bin/test/fixtures/formatAddress_bitcoinsvTestnet_default_2MwZgZu9ZT8uDqSkskSJSiDMeoFa4z4RtdW.txt create mode 100644 modules/utxo-bin/test/fixtures/formatAddress_bitcoinsvTestnet_default_mziT9FmaG3XjV7tbaGYekqvBcVDvGnY3EZ.txt create mode 100644 modules/utxo-bin/test/fixtures/formatAddress_bitcoinsv_default_1LCVrCgbT26Ui1QyrhaGvvhrkVdDRAXxtt.txt create mode 100644 modules/utxo-bin/test/fixtures/formatAddress_bitcoinsv_default_361UWADXqgPsdf8L5Jga6GNPauMuBtT1eW.txt rename modules/utxo-bin/test/fixtures/{formatAddress_8ijvHgPZnCt95j5YRBM2t2BQPxy76bvp6E.txt => formatAddress_dashTest_default_8ijvHgPZnCt95j5YRBM2t2BQPxy76bvp6E.txt} (80%) rename modules/utxo-bin/test/fixtures/{formatAddress_yfWwhQQvrGy9Cgw7HSCtpUozs7hGy5CK3x.txt => formatAddress_dashTest_default_yfWwhQQvrGy9Cgw7HSCtpUozs7hGy5CK3x.txt} (81%) rename modules/utxo-bin/test/fixtures/{formatAddress_7Wj7LMVhefVWdRfHLvM5ReN3WTCGzyVbdE.txt => formatAddress_dash_default_7Wj7LMVhefVWdRfHLvM5ReN3WTCGzyVbdE.txt} (80%) rename modules/utxo-bin/test/fixtures/{formatAddress_XutLgTLVQjK4rx1ZiatVnTPeaqCuNvRz6k.txt => formatAddress_dash_default_XutLgTLVQjK4rx1ZiatVnTPeaqCuNvRz6k.txt} (81%) create mode 100644 modules/utxo-bin/test/fixtures/formatAddress_dogecoinTest_default_2MwZgZu9ZT8uDqSkskSJSiDMeoFa4z4RtdW.txt rename modules/utxo-bin/test/fixtures/{formatAddress_noPf7UN9gQTV7zAmd7DHj6TksVjoihVkLY.txt => formatAddress_dogecoinTest_default_noPf7UN9gQTV7zAmd7DHj6TksVjoihVkLY.txt} (82%) rename modules/utxo-bin/test/fixtures/{formatAddress_9vkjF1HRukGmY2VoVSLzLPzmHUjwCvtAad.txt => formatAddress_dogecoin_default_9vkjF1HRukGmY2VoVSLzLPzmHUjwCvtAad.txt} (80%) rename modules/utxo-bin/test/fixtures/{formatAddress_DQLbPTdEkRzmF1babHZqUgsTddMWgQq2ad.txt => formatAddress_dogecoin_default_DQLbPTdEkRzmF1babHZqUgsTddMWgQq2ad.txt} (81%) create mode 100644 modules/utxo-bin/test/fixtures/formatAddress_ecashTest_cashaddr_ecashtest:pqh4utv0fm35eng6gycfwkuluc6l7e0q9vhsqql6tt.txt create mode 100644 modules/utxo-bin/test/fixtures/formatAddress_ecashTest_cashaddr_ecashtest:qrffwzluvsghuwtach9h4xh7n79j9h9p7y5zxe5r3a.txt create mode 100644 modules/utxo-bin/test/fixtures/formatAddress_ecashTest_default_2MwZgZu9ZT8uDqSkskSJSiDMeoFa4z4RtdW.txt create mode 100644 modules/utxo-bin/test/fixtures/formatAddress_ecashTest_default_mziT9FmaG3XjV7tbaGYekqvBcVDvGnY3EZ.txt create mode 100644 modules/utxo-bin/test/fixtures/formatAddress_ecash_cashaddr_ecash:pqh4utv0fm35eng6gycfwkuluc6l7e0q9vwsflwuys.txt create mode 100644 modules/utxo-bin/test/fixtures/formatAddress_ecash_cashaddr_ecash:qrffwzluvsghuwtach9h4xh7n79j9h9p7ydz0x997x.txt create mode 100644 modules/utxo-bin/test/fixtures/formatAddress_ecash_default_1LCVrCgbT26Ui1QyrhaGvvhrkVdDRAXxtt.txt create mode 100644 modules/utxo-bin/test/fixtures/formatAddress_ecash_default_361UWADXqgPsdf8L5Jga6GNPauMuBtT1eW.all.txt create mode 100644 modules/utxo-bin/test/fixtures/formatAddress_ecash_default_361UWADXqgPsdf8L5Jga6GNPauMuBtT1eW.txt rename modules/utxo-bin/test/fixtures/{formatAddress_QNkrmvk2hNMdEKoF67XVXreheoLS5yeqB5.txt => formatAddress_litecoinTest_default_QNkrmvk2hNMdEKoF67XVXreheoLS5yeqB5.txt} (80%) rename modules/utxo-bin/test/fixtures/{formatAddress_QQvSgv1oUExJydWvNYLTnuo5we1tsV5DZ3.txt => formatAddress_litecoinTest_default_QQvSgv1oUExJydWvNYLTnuo5we1tsV5DZ3.txt} (80%) create mode 100644 modules/utxo-bin/test/fixtures/formatAddress_litecoinTest_default_mziT9FmaG3XjV7tbaGYekqvBcVDvGnY3EZ.txt rename modules/utxo-bin/test/fixtures/{formatAddress_tltc1q62tshlryz9lrjlw9edaf4l5l3v3deg03xjh8vz.txt => formatAddress_litecoinTest_default_tltc1q62tshlryz9lrjlw9edaf4l5l3v3deg03xjh8vz.txt} (93%) rename modules/utxo-bin/test/fixtures/{formatAddress_tltc1qeu6xmet5wqslj2w0wac0hx5gj6dupmp869cajrkt3kw6ud3kkecs9frsjr.txt => formatAddress_litecoinTest_default_tltc1qeu6xmet5wqslj2w0wac0hx5gj6dupmp869cajrkt3kw6ud3kkecs9frsjr.txt} (61%) rename modules/utxo-bin/test/fixtures/{formatAddress_LeRT7QzRXgLXxp792qZaCwmcxhzVVhCFuv.txt => formatAddress_litecoin_default_LeRT7QzRXgLXxp792qZaCwmcxhzVVhCFuv.txt} (81%) rename modules/utxo-bin/test/fixtures/{formatAddress_MA42u4Mj1vecgrgYtkrwerUQcmGtR4kUvr.txt => formatAddress_litecoin_default_MA42u4Mj1vecgrgYtkrwerUQcmGtR4kUvr.txt} (80%) rename modules/utxo-bin/test/fixtures/{formatAddress_MCDcp3dVnoFJSAQEBBfuuucnubxM6uQRD5.txt => formatAddress_litecoin_default_MCDcp3dVnoFJSAQEBBfuuucnubxM6uQRD5.txt} (80%) rename modules/utxo-bin/test/fixtures/{formatAddress_ltc1q62tshlryz9lrjlw9edaf4l5l3v3deg033q5wlg.txt => formatAddress_litecoin_default_ltc1q62tshlryz9lrjlw9edaf4l5l3v3deg033q5wlg.txt} (93%) rename modules/utxo-bin/test/fixtures/{formatAddress_ltc1qeu6xmet5wqslj2w0wac0hx5gj6dupmp869cajrkt3kw6ud3kkecswx8wdk.txt => formatAddress_litecoin_default_ltc1qeu6xmet5wqslj2w0wac0hx5gj6dupmp869cajrkt3kw6ud3kkecswx8wdk.txt} (61%) create mode 100644 modules/utxo-bin/test/fixtures/formatAddress_testnet_default_2MuQ6eusngGJY693CU1VUTADGWQtcBBk1di.txt create mode 100644 modules/utxo-bin/test/fixtures/formatAddress_testnet_default_2MwZgZu9ZT8uDqSkskSJSiDMeoFa4z4RtdW.txt create mode 100644 modules/utxo-bin/test/fixtures/formatAddress_testnet_default_mziT9FmaG3XjV7tbaGYekqvBcVDvGnY3EZ.txt rename modules/utxo-bin/test/fixtures/{formatAddress_tb1p8gv9m64s539mycj4m29wu8thy5n3y6u36xs58wq3yezrmqygwfns9l2hrf.txt => formatAddress_testnet_default_tb1p8gv9m64s539mycj4m29wu8thy5n3y6u36xs58wq3yezrmqygwfns9l2hrf.txt} (60%) rename modules/utxo-bin/test/fixtures/{formatAddress_tb1q62tshlryz9lrjlw9edaf4l5l3v3deg03l64eut.txt => formatAddress_testnet_default_tb1q62tshlryz9lrjlw9edaf4l5l3v3deg03l64eut.txt} (93%) rename modules/utxo-bin/test/fixtures/{formatAddress_tb1qeu6xmet5wqslj2w0wac0hx5gj6dupmp869cajrkt3kw6ud3kkecs62l3du.txt => formatAddress_testnet_default_tb1qeu6xmet5wqslj2w0wac0hx5gj6dupmp869cajrkt3kw6ud3kkecs62l3du.txt} (61%) rename modules/utxo-bin/test/fixtures/{formatAddress_t2AsGZAjogTnqmzkxwUVjmhewx3n9qwJkTV.txt => formatAddress_zcashTest_default_t2AsGZAjogTnqmzkxwUVjmhewx3n9qwJkTV.txt} (81%) rename modules/utxo-bin/test/fixtures/{formatAddress_tmUurBNb8p1PaStfKTrh8vQUXc8u7i1s34C.txt => formatAddress_zcashTest_default_tmUurBNb8p1PaStfKTrh8vQUXc8u7i1s34C.txt} (82%) rename modules/utxo-bin/test/fixtures/{formatAddress_t1d56rY6jRLt5JeTso8PQ4jon19pJAF13hg.txt => formatAddress_zcash_default_t1d56rY6jRLt5JeTso8PQ4jon19pJAF13hg.txt} (81%) rename modules/utxo-bin/test/fixtures/{formatAddress_t3Nt5WVdfp1BUEJBE1jVhE5UJqZYz1DCoRU.txt => formatAddress_zcash_default_t3Nt5WVdfp1BUEJBE1jVhE5UJqZYz1DCoRU.txt} (80%) diff --git a/modules/utxo-bin/package.json b/modules/utxo-bin/package.json index da299adb63..4879c5730f 100644 --- a/modules/utxo-bin/package.json +++ b/modules/utxo-bin/package.json @@ -30,7 +30,9 @@ "@bitgo/statics": "^11.0.0", "@bitgo/utxo-lib": "^6.0.0", "archy": "^1.0.0", + "bech32": "^2.0.0", "bs58check": "^2.1.2", + "cashaddress": "^1.1.0", "chalk": "4", "yargs": "^17.3.1" }, diff --git a/modules/utxo-bin/src/AddressParser.ts b/modules/utxo-bin/src/AddressParser.ts index a423297ef1..cfad7995fc 100644 --- a/modules/utxo-bin/src/AddressParser.ts +++ b/modules/utxo-bin/src/AddressParser.ts @@ -1,7 +1,10 @@ import * as utxolib from '@bitgo/utxo-lib'; +import * as bech32 from 'bech32'; + import { Parser, ParserNode } from './Parser'; const bs58check = require('bs58check'); +const cashaddress = require('cashaddress'); function isPrintable(s: string): boolean { // https://stackoverflow.com/a/66447494 @@ -53,51 +56,118 @@ export class AddressParser extends Parser { ]; } - parseBase58(address: string): ParserNode { + parseBase58(address: string): ParserNode[] { const payload = bs58check.decode(address); - return this.node('base58Check', payload, [ + return [ + this.node('payload', payload), this.node('version', payload.readUInt8(0).toString('16')), this.node('hash', payload.slice(1)), - ]); + ]; + } + + parseWithBechLib(bechlib: bech32.BechLib, address: string): ParserNode[] { + const decoded = bechlib.decode(address); + return [ + this.node('prefix', decoded.prefix), + this.node('words', Buffer.from(decoded.words)), + this.node('bytes', Buffer.from(bechlib.fromWords(decoded.words))), + ]; + } + + parseBech32(address: string): ParserNode[] { + return this.parseWithBechLib(bech32.bech32, address); + } + + parseBech32m(address: string): ParserNode[] { + return this.parseWithBechLib(bech32.bech32m, address); + } + + parseCashaddr(address: string): ParserNode[] { + const payload = cashaddress.decode(address); + return [ + this.node('prefix', payload.prefix), + this.node('version', payload.version), + this.node('hash', payload.hash), + ]; } - parse(address: string): ParserNode { + convert(outputScript: Buffer): ParserNode { + return this.node( + 'converted', + undefined, + utxolib.getNetworkList().flatMap((network) => + utxolib.addressFormat.addressFormats + .filter((f) => utxolib.addressFormat.isSupportedAddressFormat(f, network)) + .map((addressFormat) => { + const name = utxolib.getNetworkName(network) as string; + try { + return this.node( + `${name} ${addressFormat}`, + utxolib.addressFormat.fromOutputScriptWithFormat(outputScript, addressFormat, network) + ); + } catch (e) { + return this.node(`${name} ${addressFormat}`, 'undefined'); + } + }) + ) + ); + } + + parseToBytes(input: string): ParserNode[] { + type Decoder = (address: string) => ParserNode[]; + const decodeWith = (name: string, decoder: Decoder): ParserNode[] => { + try { + return [this.node(name, undefined, decoder(input))]; + } catch (e) { + return this.params.all ? [this.node(name, undefined, [this.node('decodeError', String(e))])] : []; + } + }; + + return [ + ...decodeWith('base58', this.parseBase58.bind(this)), + ...decodeWith('bech32', this.parseBech32.bind(this)), + ...decodeWith('bech32m', this.parseBech32m.bind(this)), + ...decodeWith('cashaddr', this.parseCashaddr.bind(this)), + ]; + } + + parse(input: string): ParserNode { const networks = this.params.network ? [this.params.network] : utxolib.getNetworkList(); - const matches = networks.flatMap((network) => { + + type Match = { + network: utxolib.Network; + address: string; + addressFormat: utxolib.addressFormat.AddressFormat; + buffer: Buffer; + }; + const matches: Match[] = networks.flatMap((network) => { try { - return { network, buffer: utxolib.address.toOutputScript(address, network) }; + const [addressFormat, buffer] = utxolib.addressFormat.toOutputScriptAndFormat(input, network); + const address = utxolib.addressFormat.fromOutputScriptWithFormat(buffer, addressFormat, network); + return [{ network, address, addressFormat, buffer }]; } catch (e) { return []; } }); const firstMatch = matches[0]; - const nodes = []; + const nodes: ParserNode[] = []; - try { - nodes.push(this.parseBase58(address)); - // eslint-disable-next-line no-empty - } catch (e) {} + nodes.push(...this.parseToBytes(input)); if (firstMatch) { + if (input !== firstMatch.address) { + nodes.push(this.node('normalized', firstMatch.address, this.parseToBytes(firstMatch.address))); + } + + nodes.push(this.node('format', firstMatch.addressFormat)); nodes.push(this.node('outputScript', firstMatch.buffer, this.parseOutputScript(firstMatch.buffer))); nodes.push(this.node('network', matches.map((m) => utxolib.getNetworkName(m.network)).join(', '))); + if (this.params.all || this.params.convert) { - nodes.push( - this.node( - 'converted', - undefined, - utxolib.getNetworkList().flatMap((network) => { - const name = utxolib.getNetworkName(network) as string; - try { - return [this.node(name, utxolib.address.fromOutputScript(firstMatch.buffer, network))]; - } catch (e) { - return [this.node(name, 'undefined')]; - } - }) - ) - ); + nodes.push(this.convert(firstMatch.buffer)); } } - return this.node('address', address, nodes); + + return this.node('address', input, nodes); } } diff --git a/modules/utxo-bin/test/fixtures/formatAddress_361UWADXqgPsdf8L5Jga6GNPauMuBtT1eW.all.txt b/modules/utxo-bin/test/fixtures/formatAddress_361UWADXqgPsdf8L5Jga6GNPauMuBtT1eW.all.txt deleted file mode 100644 index 0c10eee2c0..0000000000 --- a/modules/utxo-bin/test/fixtures/formatAddress_361UWADXqgPsdf8L5Jga6GNPauMuBtT1eW.all.txt +++ /dev/null @@ -1,29 +0,0 @@ -address: 361UWADXqgPsdf8L5Jga6GNPauMuBtT1eW -├─┬ base58Check: 052f5e2d8f4ee34ccd1a4130975b9fe635ff65e02b -│ ├── version: 5 -│ └── hash: 2f5e2d8f4ee34ccd1a4130975b9fe635ff65e02b -├─┬ outputScript: a9142f5e2d8f4ee34ccd1a4130975b9fe635ff65e02b87 -│ └─┬ scriptPubKey: [23byte] -│ ├── type: scripthash -│ ├── hex: a9142f5e2d8f4ee34ccd1a4130975b9fe635ff65e02b87 -│ └── asm: OP_HASH160 2f5e2d8f4ee34ccd1a4130975b9fe635ff65e02b OP_EQUAL -├── network: bitcoin, bitcoincash, bitcoinsv, ecash -└─┬ converted - ├── bitcoin: 361UWADXqgPsdf8L5Jga6GNPauMuBtT1eW - ├── testnet: 2MwZgZu9ZT8uDqSkskSJSiDMeoFa4z4RtdW - ├── bitcoincash: 361UWADXqgPsdf8L5Jga6GNPauMuBtT1eW - ├── bitcoincashTestnet: 2MwZgZu9ZT8uDqSkskSJSiDMeoFa4z4RtdW - ├── bitcoingold: AL6LE7aicvjeMTdtWrgJpXGYuyzsxJYdja - ├── bitcoingoldTestnet: 2MwZgZu9ZT8uDqSkskSJSiDMeoFa4z4RtdW - ├── bitcoinsv: 361UWADXqgPsdf8L5Jga6GNPauMuBtT1eW - ├── bitcoinsvTestnet: 2MwZgZu9ZT8uDqSkskSJSiDMeoFa4z4RtdW - ├── dash: 7Wj7LMVhefVWdRfHLvM5ReN3WTCGzyVbdE - ├── dashTest: 8ijvHgPZnCt95j5YRBM2t2BQPxy76bvp6E - ├── dogecoin: 9vkjF1HRukGmY2VoVSLzLPzmHUjwCvtAad - ├── dogecoinTest: 2MwZgZu9ZT8uDqSkskSJSiDMeoFa4z4RtdW - ├── ecash: 361UWADXqgPsdf8L5Jga6GNPauMuBtT1eW - ├── ecashTest: 2MwZgZu9ZT8uDqSkskSJSiDMeoFa4z4RtdW - ├── litecoin: MCDcp3dVnoFJSAQEBBfuuucnubxM6uQRD5 - ├── litecoinTest: QQvSgv1oUExJydWvNYLTnuo5we1tsV5DZ3 - ├── zcash: t3Nt5WVdfp1BUEJBE1jVhE5UJqZYz1DCoRU - └── zcashTest: t2AsGZAjogTnqmzkxwUVjmhewx3n9qwJkTV diff --git a/modules/utxo-bin/test/fixtures/formatAddress_1LCVrCgbT26Ui1QyrhaGvvhrkVdDRAXxtt.txt b/modules/utxo-bin/test/fixtures/formatAddress_bitcoin_default_1LCVrCgbT26Ui1QyrhaGvvhrkVdDRAXxtt.txt similarity index 82% rename from modules/utxo-bin/test/fixtures/formatAddress_1LCVrCgbT26Ui1QyrhaGvvhrkVdDRAXxtt.txt rename to modules/utxo-bin/test/fixtures/formatAddress_bitcoin_default_1LCVrCgbT26Ui1QyrhaGvvhrkVdDRAXxtt.txt index 262ccb5c3f..5fb5188e9b 100644 --- a/modules/utxo-bin/test/fixtures/formatAddress_1LCVrCgbT26Ui1QyrhaGvvhrkVdDRAXxtt.txt +++ b/modules/utxo-bin/test/fixtures/formatAddress_bitcoin_default_1LCVrCgbT26Ui1QyrhaGvvhrkVdDRAXxtt.txt @@ -1,7 +1,9 @@ address: 1LCVrCgbT26Ui1QyrhaGvvhrkVdDRAXxtt -├─┬ base58Check: 00d2970bfc64117e397dc5cb7a9afe9f8b22dca1f1 +├─┬ base58 +│ ├── payload: 00d2970bfc64117e397dc5cb7a9afe9f8b22dca1f1 │ ├── version: 0 │ └── hash: d2970bfc64117e397dc5cb7a9afe9f8b22dca1f1 +├── format: default ├─┬ outputScript: 76a914d2970bfc64117e397dc5cb7a9afe9f8b22dca1f188ac │ └─┬ scriptPubKey: [25byte] │ ├── type: pubkeyhash diff --git a/modules/utxo-bin/test/fixtures/formatAddress_33qtbAwm4ooBtMQenssbqDE1J4gSMMBRnb.txt b/modules/utxo-bin/test/fixtures/formatAddress_bitcoin_default_33qtbAwm4ooBtMQenssbqDE1J4gSMMBRnb.txt similarity index 81% rename from modules/utxo-bin/test/fixtures/formatAddress_33qtbAwm4ooBtMQenssbqDE1J4gSMMBRnb.txt rename to modules/utxo-bin/test/fixtures/formatAddress_bitcoin_default_33qtbAwm4ooBtMQenssbqDE1J4gSMMBRnb.txt index 59bf3dfe81..f6316a3827 100644 --- a/modules/utxo-bin/test/fixtures/formatAddress_33qtbAwm4ooBtMQenssbqDE1J4gSMMBRnb.txt +++ b/modules/utxo-bin/test/fixtures/formatAddress_bitcoin_default_33qtbAwm4ooBtMQenssbqDE1J4gSMMBRnb.txt @@ -1,7 +1,9 @@ address: 33qtbAwm4ooBtMQenssbqDE1J4gSMMBRnb -├─┬ base58Check: 05179ddf848a574c6fdb30e6e564f2c8b8fc113545 +├─┬ base58 +│ ├── payload: 05179ddf848a574c6fdb30e6e564f2c8b8fc113545 │ ├── version: 5 │ └── hash: 179ddf848a574c6fdb30e6e564f2c8b8fc113545 +├── format: default ├─┬ outputScript: a914179ddf848a574c6fdb30e6e564f2c8b8fc11354587 │ └─┬ scriptPubKey: [23byte] │ ├── type: scripthash diff --git a/modules/utxo-bin/test/fixtures/formatAddress_bitcoin_default_361UWADXqgPsdf8L5Jga6GNPauMuBtT1eW.all.txt b/modules/utxo-bin/test/fixtures/formatAddress_bitcoin_default_361UWADXqgPsdf8L5Jga6GNPauMuBtT1eW.all.txt new file mode 100644 index 0000000000..d6ef805c34 --- /dev/null +++ b/modules/utxo-bin/test/fixtures/formatAddress_bitcoin_default_361UWADXqgPsdf8L5Jga6GNPauMuBtT1eW.all.txt @@ -0,0 +1,41 @@ +address: 361UWADXqgPsdf8L5Jga6GNPauMuBtT1eW +├─┬ base58 +│ ├── payload: 052f5e2d8f4ee34ccd1a4130975b9fe635ff65e02b +│ ├── version: 5 +│ └── hash: 2f5e2d8f4ee34ccd1a4130975b9fe635ff65e02b +├─┬ bech32 +│ └── decodeError: Error: Mixed-case string 361UWADXqgPsdf8L5Jga6GNPauMuBtT1eW +├─┬ bech32m +│ └── decodeError: Error: Mixed-case string 361UWADXqgPsdf8L5Jga6GNPauMuBtT1eW +├─┬ cashaddr +│ └── decodeError: Error: Mixed-case string 361UWADXqgPsdf8L5Jga6GNPauMuBtT1eW +├── format: default +├─┬ outputScript: a9142f5e2d8f4ee34ccd1a4130975b9fe635ff65e02b87 +│ └─┬ scriptPubKey: [23byte] +│ ├── type: scripthash +│ ├── hex: a9142f5e2d8f4ee34ccd1a4130975b9fe635ff65e02b87 +│ └── asm: OP_HASH160 2f5e2d8f4ee34ccd1a4130975b9fe635ff65e02b OP_EQUAL +├── network: bitcoin, bitcoincash, bitcoinsv, ecash +└─┬ converted + ├── bitcoin default: 361UWADXqgPsdf8L5Jga6GNPauMuBtT1eW + ├── testnet default: 2MwZgZu9ZT8uDqSkskSJSiDMeoFa4z4RtdW + ├── bitcoincash default: 361UWADXqgPsdf8L5Jga6GNPauMuBtT1eW + ├── bitcoincash cashaddr: bitcoincash:pqh4utv0fm35eng6gycfwkuluc6l7e0q9vhaa54xz8 + ├── bitcoincashTestnet default: 2MwZgZu9ZT8uDqSkskSJSiDMeoFa4z4RtdW + ├── bitcoincashTestnet cashaddr: bchtest:pqh4utv0fm35eng6gycfwkuluc6l7e0q9vn0enh39m + ├── bitcoingold default: AL6LE7aicvjeMTdtWrgJpXGYuyzsxJYdja + ├── bitcoingoldTestnet default: 2MwZgZu9ZT8uDqSkskSJSiDMeoFa4z4RtdW + ├── bitcoinsv default: 361UWADXqgPsdf8L5Jga6GNPauMuBtT1eW + ├── bitcoinsvTestnet default: 2MwZgZu9ZT8uDqSkskSJSiDMeoFa4z4RtdW + ├── dash default: 7Wj7LMVhefVWdRfHLvM5ReN3WTCGzyVbdE + ├── dashTest default: 8ijvHgPZnCt95j5YRBM2t2BQPxy76bvp6E + ├── dogecoin default: 9vkjF1HRukGmY2VoVSLzLPzmHUjwCvtAad + ├── dogecoinTest default: 2MwZgZu9ZT8uDqSkskSJSiDMeoFa4z4RtdW + ├── ecash default: 361UWADXqgPsdf8L5Jga6GNPauMuBtT1eW + ├── ecash cashaddr: ecash:pqh4utv0fm35eng6gycfwkuluc6l7e0q9vwsflwuys + ├── ecashTest default: 2MwZgZu9ZT8uDqSkskSJSiDMeoFa4z4RtdW + ├── ecashTest cashaddr: ecashtest:pqh4utv0fm35eng6gycfwkuluc6l7e0q9vhsqql6tt + ├── litecoin default: MCDcp3dVnoFJSAQEBBfuuucnubxM6uQRD5 + ├── litecoinTest default: QQvSgv1oUExJydWvNYLTnuo5we1tsV5DZ3 + ├── zcash default: t3Nt5WVdfp1BUEJBE1jVhE5UJqZYz1DCoRU + └── zcashTest default: t2AsGZAjogTnqmzkxwUVjmhewx3n9qwJkTV diff --git a/modules/utxo-bin/test/fixtures/formatAddress_361UWADXqgPsdf8L5Jga6GNPauMuBtT1eW.txt b/modules/utxo-bin/test/fixtures/formatAddress_bitcoin_default_361UWADXqgPsdf8L5Jga6GNPauMuBtT1eW.txt similarity index 81% rename from modules/utxo-bin/test/fixtures/formatAddress_361UWADXqgPsdf8L5Jga6GNPauMuBtT1eW.txt rename to modules/utxo-bin/test/fixtures/formatAddress_bitcoin_default_361UWADXqgPsdf8L5Jga6GNPauMuBtT1eW.txt index b0ddf319bd..e07a11cdaf 100644 --- a/modules/utxo-bin/test/fixtures/formatAddress_361UWADXqgPsdf8L5Jga6GNPauMuBtT1eW.txt +++ b/modules/utxo-bin/test/fixtures/formatAddress_bitcoin_default_361UWADXqgPsdf8L5Jga6GNPauMuBtT1eW.txt @@ -1,7 +1,9 @@ address: 361UWADXqgPsdf8L5Jga6GNPauMuBtT1eW -├─┬ base58Check: 052f5e2d8f4ee34ccd1a4130975b9fe635ff65e02b +├─┬ base58 +│ ├── payload: 052f5e2d8f4ee34ccd1a4130975b9fe635ff65e02b │ ├── version: 5 │ └── hash: 2f5e2d8f4ee34ccd1a4130975b9fe635ff65e02b +├── format: default ├─┬ outputScript: a9142f5e2d8f4ee34ccd1a4130975b9fe635ff65e02b87 │ └─┬ scriptPubKey: [23byte] │ ├── type: scripthash diff --git a/modules/utxo-bin/test/fixtures/formatAddress_bc1p8gv9m64s539mycj4m29wu8thy5n3y6u36xs58wq3yezrmqygwfnsjhucex.txt b/modules/utxo-bin/test/fixtures/formatAddress_bitcoin_default_bc1p8gv9m64s539mycj4m29wu8thy5n3y6u36xs58wq3yezrmqygwfnsjhucex.txt similarity index 60% rename from modules/utxo-bin/test/fixtures/formatAddress_bc1p8gv9m64s539mycj4m29wu8thy5n3y6u36xs58wq3yezrmqygwfnsjhucex.txt rename to modules/utxo-bin/test/fixtures/formatAddress_bitcoin_default_bc1p8gv9m64s539mycj4m29wu8thy5n3y6u36xs58wq3yezrmqygwfnsjhucex.txt index fefafa5715..f4234655be 100644 --- a/modules/utxo-bin/test/fixtures/formatAddress_bc1p8gv9m64s539mycj4m29wu8thy5n3y6u36xs58wq3yezrmqygwfnsjhucex.txt +++ b/modules/utxo-bin/test/fixtures/formatAddress_bitcoin_default_bc1p8gv9m64s539mycj4m29wu8thy5n3y6u36xs58wq3yezrmqygwfnsjhucex.txt @@ -1,4 +1,9 @@ address: bc1p8gv9m64s539mycj4m29wu8thy5n3y6u36xs58wq3yezrmqygwfnsjhucex +├─┬ bech32m +│ ├── prefix: bc +│ ├── words: 0107080c051b1a15101411051b041812151b0a050e1c070b1704141311041a1c111a061014070e0011041902031b0004080e091310 +│ └── bytes: 09d0c2ef5585225d9312aed45770ebb92938935c8e8d0a1dc0893221ec04439338 +├── format: default ├─┬ outputScript: 51203a185deab0a44bb26255da8aee1d772527126b91d1a143b81126443d80887267 │ └─┬ scriptPubKey: [34byte] │ ├── type: taproot diff --git a/modules/utxo-bin/test/fixtures/formatAddress_bc1q62tshlryz9lrjlw9edaf4l5l3v3deg034uw28c.txt b/modules/utxo-bin/test/fixtures/formatAddress_bitcoin_default_bc1q62tshlryz9lrjlw9edaf4l5l3v3deg034uw28c.txt similarity index 93% rename from modules/utxo-bin/test/fixtures/formatAddress_bc1q62tshlryz9lrjlw9edaf4l5l3v3deg034uw28c.txt rename to modules/utxo-bin/test/fixtures/formatAddress_bitcoin_default_bc1q62tshlryz9lrjlw9edaf4l5l3v3deg034uw28c.txt index 4d6f4b62f8..2e1418b544 100644 --- a/modules/utxo-bin/test/fixtures/formatAddress_bc1q62tshlryz9lrjlw9edaf4l5l3v3deg034uw28c.txt +++ b/modules/utxo-bin/test/fixtures/formatAddress_bitcoin_default_bc1q62tshlryz9lrjlw9edaf4l5l3v3deg034uw28c.txt @@ -1,4 +1,5 @@ address: bc1q62tshlryz9lrjlw9edaf4l5l3v3deg034uw28c +├── format: default ├─┬ outputScript: 0014d2970bfc64117e397dc5cb7a9afe9f8b22dca1f1 │ └─┬ scriptPubKey: [22byte] │ ├── type: witnesspubkeyhash diff --git a/modules/utxo-bin/test/fixtures/formatAddress_bc1qeu6xmet5wqslj2w0wac0hx5gj6dupmp869cajrkt3kw6ud3kkecsdzf7hn.txt b/modules/utxo-bin/test/fixtures/formatAddress_bitcoin_default_bc1qeu6xmet5wqslj2w0wac0hx5gj6dupmp869cajrkt3kw6ud3kkecsdzf7hn.txt similarity index 61% rename from modules/utxo-bin/test/fixtures/formatAddress_bc1qeu6xmet5wqslj2w0wac0hx5gj6dupmp869cajrkt3kw6ud3kkecsdzf7hn.txt rename to modules/utxo-bin/test/fixtures/formatAddress_bitcoin_default_bc1qeu6xmet5wqslj2w0wac0hx5gj6dupmp869cajrkt3kw6ud3kkecsdzf7hn.txt index 7f8c3f6cd4..795e45d502 100644 --- a/modules/utxo-bin/test/fixtures/formatAddress_bc1qeu6xmet5wqslj2w0wac0hx5gj6dupmp869cajrkt3kw6ud3kkecsdzf7hn.txt +++ b/modules/utxo-bin/test/fixtures/formatAddress_bitcoin_default_bc1qeu6xmet5wqslj2w0wac0hx5gj6dupmp869cajrkt3kw6ud3kkecsdzf7hn.txt @@ -1,4 +1,9 @@ address: bc1qeu6xmet5wqslj2w0wac0hx5gj6dupmp869cajrkt3kw6ud3kkecsdzf7hn +├─┬ bech32 +│ ├── prefix: bc +│ ├── words: 00191c1a061b190b140e00101f120a0e0f0e1d180f17061408121a0d1c011b01071a05181d1203160b11160e1a1c0d111616191810 +│ └── bytes: 0679a36f2ba3810fc94e7bbb87dcd444b4de07613e8b8ec8765c6ced71b1b5b388 +├── format: default ├─┬ outputScript: 0020cf346de5747021f929cf7770fb9a88969bc0ec27d171d90ecb8d9dae3636b671 │ └─┬ scriptPubKey: [34byte] │ ├── type: witnessscripthash diff --git a/modules/utxo-bin/test/fixtures/formatAddress_bitcoincashTestnet_cashaddr_bchtest:pqh4utv0fm35eng6gycfwkuluc6l7e0q9vn0enh39m.txt b/modules/utxo-bin/test/fixtures/formatAddress_bitcoincashTestnet_cashaddr_bchtest:pqh4utv0fm35eng6gycfwkuluc6l7e0q9vn0enh39m.txt new file mode 100644 index 0000000000..4a295188cd --- /dev/null +++ b/modules/utxo-bin/test/fixtures/formatAddress_bitcoincashTestnet_cashaddr_bchtest:pqh4utv0fm35eng6gycfwkuluc6l7e0q9vn0enh39m.txt @@ -0,0 +1,12 @@ +address: bchtest:pqh4utv0fm35eng6gycfwkuluc6l7e0q9vn0enh39m +├─┬ cashaddr +│ ├── prefix: bchtest +│ ├── version: scripthash +│ └── hash: 2f5e2d8f4ee34ccd1a4130975b9fe635ff65e02b +├── format: cashaddr +├─┬ outputScript: a9142f5e2d8f4ee34ccd1a4130975b9fe635ff65e02b87 +│ └─┬ scriptPubKey: [23byte] +│ ├── type: scripthash +│ ├── hex: a9142f5e2d8f4ee34ccd1a4130975b9fe635ff65e02b87 +│ └── asm: OP_HASH160 2f5e2d8f4ee34ccd1a4130975b9fe635ff65e02b OP_EQUAL +└── network: bitcoincashTestnet diff --git a/modules/utxo-bin/test/fixtures/formatAddress_bitcoincashTestnet_cashaddr_bchtest:qrffwzluvsghuwtach9h4xh7n79j9h9p7ysal2ugld.txt b/modules/utxo-bin/test/fixtures/formatAddress_bitcoincashTestnet_cashaddr_bchtest:qrffwzluvsghuwtach9h4xh7n79j9h9p7ysal2ugld.txt new file mode 100644 index 0000000000..c8e1d9b9b1 --- /dev/null +++ b/modules/utxo-bin/test/fixtures/formatAddress_bitcoincashTestnet_cashaddr_bchtest:qrffwzluvsghuwtach9h4xh7n79j9h9p7ysal2ugld.txt @@ -0,0 +1,12 @@ +address: bchtest:qrffwzluvsghuwtach9h4xh7n79j9h9p7ysal2ugld +├─┬ cashaddr +│ ├── prefix: bchtest +│ ├── version: pubkeyhash +│ └── hash: d2970bfc64117e397dc5cb7a9afe9f8b22dca1f1 +├── format: cashaddr +├─┬ outputScript: 76a914d2970bfc64117e397dc5cb7a9afe9f8b22dca1f188ac +│ └─┬ scriptPubKey: [25byte] +│ ├── type: pubkeyhash +│ ├── hex: 76a914d2970bfc64117e397dc5cb7a9afe9f8b22dca1f188ac +│ └── asm: OP_DUP OP_HASH160 d2970bfc64117e397dc5cb7a9afe9f8b22dca1f1 OP_EQUALVERIFY OP_CHECKSIG +└── network: bitcoincashTestnet diff --git a/modules/utxo-bin/test/fixtures/formatAddress_2MwZgZu9ZT8uDqSkskSJSiDMeoFa4z4RtdW.txt b/modules/utxo-bin/test/fixtures/formatAddress_bitcoincashTestnet_default_2MwZgZu9ZT8uDqSkskSJSiDMeoFa4z4RtdW.txt similarity index 83% rename from modules/utxo-bin/test/fixtures/formatAddress_2MwZgZu9ZT8uDqSkskSJSiDMeoFa4z4RtdW.txt rename to modules/utxo-bin/test/fixtures/formatAddress_bitcoincashTestnet_default_2MwZgZu9ZT8uDqSkskSJSiDMeoFa4z4RtdW.txt index 8dabdbe135..0589533abf 100644 --- a/modules/utxo-bin/test/fixtures/formatAddress_2MwZgZu9ZT8uDqSkskSJSiDMeoFa4z4RtdW.txt +++ b/modules/utxo-bin/test/fixtures/formatAddress_bitcoincashTestnet_default_2MwZgZu9ZT8uDqSkskSJSiDMeoFa4z4RtdW.txt @@ -1,7 +1,9 @@ address: 2MwZgZu9ZT8uDqSkskSJSiDMeoFa4z4RtdW -├─┬ base58Check: c42f5e2d8f4ee34ccd1a4130975b9fe635ff65e02b +├─┬ base58 +│ ├── payload: c42f5e2d8f4ee34ccd1a4130975b9fe635ff65e02b │ ├── version: c4 │ └── hash: 2f5e2d8f4ee34ccd1a4130975b9fe635ff65e02b +├── format: default ├─┬ outputScript: a9142f5e2d8f4ee34ccd1a4130975b9fe635ff65e02b87 │ └─┬ scriptPubKey: [23byte] │ ├── type: scripthash diff --git a/modules/utxo-bin/test/fixtures/formatAddress_mziT9FmaG3XjV7tbaGYekqvBcVDvGnY3EZ.txt b/modules/utxo-bin/test/fixtures/formatAddress_bitcoincashTestnet_default_mziT9FmaG3XjV7tbaGYekqvBcVDvGnY3EZ.txt similarity index 84% rename from modules/utxo-bin/test/fixtures/formatAddress_mziT9FmaG3XjV7tbaGYekqvBcVDvGnY3EZ.txt rename to modules/utxo-bin/test/fixtures/formatAddress_bitcoincashTestnet_default_mziT9FmaG3XjV7tbaGYekqvBcVDvGnY3EZ.txt index 91472e3120..b6170c27c1 100644 --- a/modules/utxo-bin/test/fixtures/formatAddress_mziT9FmaG3XjV7tbaGYekqvBcVDvGnY3EZ.txt +++ b/modules/utxo-bin/test/fixtures/formatAddress_bitcoincashTestnet_default_mziT9FmaG3XjV7tbaGYekqvBcVDvGnY3EZ.txt @@ -1,7 +1,9 @@ address: mziT9FmaG3XjV7tbaGYekqvBcVDvGnY3EZ -├─┬ base58Check: 6fd2970bfc64117e397dc5cb7a9afe9f8b22dca1f1 +├─┬ base58 +│ ├── payload: 6fd2970bfc64117e397dc5cb7a9afe9f8b22dca1f1 │ ├── version: 6f │ └── hash: d2970bfc64117e397dc5cb7a9afe9f8b22dca1f1 +├── format: default ├─┬ outputScript: 76a914d2970bfc64117e397dc5cb7a9afe9f8b22dca1f188ac │ └─┬ scriptPubKey: [25byte] │ ├── type: pubkeyhash diff --git a/modules/utxo-bin/test/fixtures/formatAddress_bitcoincash_cashaddr_bitcoincash:pqh4utv0fm35eng6gycfwkuluc6l7e0q9vhaa54xz8.txt b/modules/utxo-bin/test/fixtures/formatAddress_bitcoincash_cashaddr_bitcoincash:pqh4utv0fm35eng6gycfwkuluc6l7e0q9vhaa54xz8.txt new file mode 100644 index 0000000000..7fb80565b4 --- /dev/null +++ b/modules/utxo-bin/test/fixtures/formatAddress_bitcoincash_cashaddr_bitcoincash:pqh4utv0fm35eng6gycfwkuluc6l7e0q9vhaa54xz8.txt @@ -0,0 +1,12 @@ +address: bitcoincash:pqh4utv0fm35eng6gycfwkuluc6l7e0q9vhaa54xz8 +├─┬ cashaddr +│ ├── prefix: bitcoincash +│ ├── version: scripthash +│ └── hash: 2f5e2d8f4ee34ccd1a4130975b9fe635ff65e02b +├── format: cashaddr +├─┬ outputScript: a9142f5e2d8f4ee34ccd1a4130975b9fe635ff65e02b87 +│ └─┬ scriptPubKey: [23byte] +│ ├── type: scripthash +│ ├── hex: a9142f5e2d8f4ee34ccd1a4130975b9fe635ff65e02b87 +│ └── asm: OP_HASH160 2f5e2d8f4ee34ccd1a4130975b9fe635ff65e02b OP_EQUAL +└── network: bitcoincash diff --git a/modules/utxo-bin/test/fixtures/formatAddress_bitcoincash_cashaddr_bitcoincash:qrffwzluvsghuwtach9h4xh7n79j9h9p7y50md7lc3.txt b/modules/utxo-bin/test/fixtures/formatAddress_bitcoincash_cashaddr_bitcoincash:qrffwzluvsghuwtach9h4xh7n79j9h9p7y50md7lc3.txt new file mode 100644 index 0000000000..de40c896fa --- /dev/null +++ b/modules/utxo-bin/test/fixtures/formatAddress_bitcoincash_cashaddr_bitcoincash:qrffwzluvsghuwtach9h4xh7n79j9h9p7y50md7lc3.txt @@ -0,0 +1,12 @@ +address: bitcoincash:qrffwzluvsghuwtach9h4xh7n79j9h9p7y50md7lc3 +├─┬ cashaddr +│ ├── prefix: bitcoincash +│ ├── version: pubkeyhash +│ └── hash: d2970bfc64117e397dc5cb7a9afe9f8b22dca1f1 +├── format: cashaddr +├─┬ outputScript: 76a914d2970bfc64117e397dc5cb7a9afe9f8b22dca1f188ac +│ └─┬ scriptPubKey: [25byte] +│ ├── type: pubkeyhash +│ ├── hex: 76a914d2970bfc64117e397dc5cb7a9afe9f8b22dca1f188ac +│ └── asm: OP_DUP OP_HASH160 d2970bfc64117e397dc5cb7a9afe9f8b22dca1f1 OP_EQUALVERIFY OP_CHECKSIG +└── network: bitcoincash diff --git a/modules/utxo-bin/test/fixtures/formatAddress_bitcoincash_default_1LCVrCgbT26Ui1QyrhaGvvhrkVdDRAXxtt.txt b/modules/utxo-bin/test/fixtures/formatAddress_bitcoincash_default_1LCVrCgbT26Ui1QyrhaGvvhrkVdDRAXxtt.txt new file mode 100644 index 0000000000..5fb5188e9b --- /dev/null +++ b/modules/utxo-bin/test/fixtures/formatAddress_bitcoincash_default_1LCVrCgbT26Ui1QyrhaGvvhrkVdDRAXxtt.txt @@ -0,0 +1,12 @@ +address: 1LCVrCgbT26Ui1QyrhaGvvhrkVdDRAXxtt +├─┬ base58 +│ ├── payload: 00d2970bfc64117e397dc5cb7a9afe9f8b22dca1f1 +│ ├── version: 0 +│ └── hash: d2970bfc64117e397dc5cb7a9afe9f8b22dca1f1 +├── format: default +├─┬ outputScript: 76a914d2970bfc64117e397dc5cb7a9afe9f8b22dca1f188ac +│ └─┬ scriptPubKey: [25byte] +│ ├── type: pubkeyhash +│ ├── hex: 76a914d2970bfc64117e397dc5cb7a9afe9f8b22dca1f188ac +│ └── asm: OP_DUP OP_HASH160 d2970bfc64117e397dc5cb7a9afe9f8b22dca1f1 OP_EQUALVERIFY OP_CHECKSIG +└── network: bitcoin, bitcoincash, bitcoinsv, ecash diff --git a/modules/utxo-bin/test/fixtures/formatAddress_bitcoincash_default_361UWADXqgPsdf8L5Jga6GNPauMuBtT1eW.all.txt b/modules/utxo-bin/test/fixtures/formatAddress_bitcoincash_default_361UWADXqgPsdf8L5Jga6GNPauMuBtT1eW.all.txt new file mode 100644 index 0000000000..d6ef805c34 --- /dev/null +++ b/modules/utxo-bin/test/fixtures/formatAddress_bitcoincash_default_361UWADXqgPsdf8L5Jga6GNPauMuBtT1eW.all.txt @@ -0,0 +1,41 @@ +address: 361UWADXqgPsdf8L5Jga6GNPauMuBtT1eW +├─┬ base58 +│ ├── payload: 052f5e2d8f4ee34ccd1a4130975b9fe635ff65e02b +│ ├── version: 5 +│ └── hash: 2f5e2d8f4ee34ccd1a4130975b9fe635ff65e02b +├─┬ bech32 +│ └── decodeError: Error: Mixed-case string 361UWADXqgPsdf8L5Jga6GNPauMuBtT1eW +├─┬ bech32m +│ └── decodeError: Error: Mixed-case string 361UWADXqgPsdf8L5Jga6GNPauMuBtT1eW +├─┬ cashaddr +│ └── decodeError: Error: Mixed-case string 361UWADXqgPsdf8L5Jga6GNPauMuBtT1eW +├── format: default +├─┬ outputScript: a9142f5e2d8f4ee34ccd1a4130975b9fe635ff65e02b87 +│ └─┬ scriptPubKey: [23byte] +│ ├── type: scripthash +│ ├── hex: a9142f5e2d8f4ee34ccd1a4130975b9fe635ff65e02b87 +│ └── asm: OP_HASH160 2f5e2d8f4ee34ccd1a4130975b9fe635ff65e02b OP_EQUAL +├── network: bitcoin, bitcoincash, bitcoinsv, ecash +└─┬ converted + ├── bitcoin default: 361UWADXqgPsdf8L5Jga6GNPauMuBtT1eW + ├── testnet default: 2MwZgZu9ZT8uDqSkskSJSiDMeoFa4z4RtdW + ├── bitcoincash default: 361UWADXqgPsdf8L5Jga6GNPauMuBtT1eW + ├── bitcoincash cashaddr: bitcoincash:pqh4utv0fm35eng6gycfwkuluc6l7e0q9vhaa54xz8 + ├── bitcoincashTestnet default: 2MwZgZu9ZT8uDqSkskSJSiDMeoFa4z4RtdW + ├── bitcoincashTestnet cashaddr: bchtest:pqh4utv0fm35eng6gycfwkuluc6l7e0q9vn0enh39m + ├── bitcoingold default: AL6LE7aicvjeMTdtWrgJpXGYuyzsxJYdja + ├── bitcoingoldTestnet default: 2MwZgZu9ZT8uDqSkskSJSiDMeoFa4z4RtdW + ├── bitcoinsv default: 361UWADXqgPsdf8L5Jga6GNPauMuBtT1eW + ├── bitcoinsvTestnet default: 2MwZgZu9ZT8uDqSkskSJSiDMeoFa4z4RtdW + ├── dash default: 7Wj7LMVhefVWdRfHLvM5ReN3WTCGzyVbdE + ├── dashTest default: 8ijvHgPZnCt95j5YRBM2t2BQPxy76bvp6E + ├── dogecoin default: 9vkjF1HRukGmY2VoVSLzLPzmHUjwCvtAad + ├── dogecoinTest default: 2MwZgZu9ZT8uDqSkskSJSiDMeoFa4z4RtdW + ├── ecash default: 361UWADXqgPsdf8L5Jga6GNPauMuBtT1eW + ├── ecash cashaddr: ecash:pqh4utv0fm35eng6gycfwkuluc6l7e0q9vwsflwuys + ├── ecashTest default: 2MwZgZu9ZT8uDqSkskSJSiDMeoFa4z4RtdW + ├── ecashTest cashaddr: ecashtest:pqh4utv0fm35eng6gycfwkuluc6l7e0q9vhsqql6tt + ├── litecoin default: MCDcp3dVnoFJSAQEBBfuuucnubxM6uQRD5 + ├── litecoinTest default: QQvSgv1oUExJydWvNYLTnuo5we1tsV5DZ3 + ├── zcash default: t3Nt5WVdfp1BUEJBE1jVhE5UJqZYz1DCoRU + └── zcashTest default: t2AsGZAjogTnqmzkxwUVjmhewx3n9qwJkTV diff --git a/modules/utxo-bin/test/fixtures/formatAddress_bitcoincash_default_361UWADXqgPsdf8L5Jga6GNPauMuBtT1eW.txt b/modules/utxo-bin/test/fixtures/formatAddress_bitcoincash_default_361UWADXqgPsdf8L5Jga6GNPauMuBtT1eW.txt new file mode 100644 index 0000000000..e07a11cdaf --- /dev/null +++ b/modules/utxo-bin/test/fixtures/formatAddress_bitcoincash_default_361UWADXqgPsdf8L5Jga6GNPauMuBtT1eW.txt @@ -0,0 +1,12 @@ +address: 361UWADXqgPsdf8L5Jga6GNPauMuBtT1eW +├─┬ base58 +│ ├── payload: 052f5e2d8f4ee34ccd1a4130975b9fe635ff65e02b +│ ├── version: 5 +│ └── hash: 2f5e2d8f4ee34ccd1a4130975b9fe635ff65e02b +├── format: default +├─┬ outputScript: a9142f5e2d8f4ee34ccd1a4130975b9fe635ff65e02b87 +│ └─┬ scriptPubKey: [23byte] +│ ├── type: scripthash +│ ├── hex: a9142f5e2d8f4ee34ccd1a4130975b9fe635ff65e02b87 +│ └── asm: OP_HASH160 2f5e2d8f4ee34ccd1a4130975b9fe635ff65e02b OP_EQUAL +└── network: bitcoin, bitcoincash, bitcoinsv, ecash diff --git a/modules/utxo-bin/test/fixtures/formatAddress_2MuQ6eusngGJY693CU1VUTADGWQtcBBk1di.txt b/modules/utxo-bin/test/fixtures/formatAddress_bitcoingoldTestnet_default_2MuQ6eusngGJY693CU1VUTADGWQtcBBk1di.txt similarity index 83% rename from modules/utxo-bin/test/fixtures/formatAddress_2MuQ6eusngGJY693CU1VUTADGWQtcBBk1di.txt rename to modules/utxo-bin/test/fixtures/formatAddress_bitcoingoldTestnet_default_2MuQ6eusngGJY693CU1VUTADGWQtcBBk1di.txt index 5f02b3e3b5..0f66f8e58b 100644 --- a/modules/utxo-bin/test/fixtures/formatAddress_2MuQ6eusngGJY693CU1VUTADGWQtcBBk1di.txt +++ b/modules/utxo-bin/test/fixtures/formatAddress_bitcoingoldTestnet_default_2MuQ6eusngGJY693CU1VUTADGWQtcBBk1di.txt @@ -1,7 +1,9 @@ address: 2MuQ6eusngGJY693CU1VUTADGWQtcBBk1di -├─┬ base58Check: c4179ddf848a574c6fdb30e6e564f2c8b8fc113545 +├─┬ base58 +│ ├── payload: c4179ddf848a574c6fdb30e6e564f2c8b8fc113545 │ ├── version: c4 │ └── hash: 179ddf848a574c6fdb30e6e564f2c8b8fc113545 +├── format: default ├─┬ outputScript: a914179ddf848a574c6fdb30e6e564f2c8b8fc11354587 │ └─┬ scriptPubKey: [23byte] │ ├── type: scripthash diff --git a/modules/utxo-bin/test/fixtures/formatAddress_bitcoingoldTestnet_default_2MwZgZu9ZT8uDqSkskSJSiDMeoFa4z4RtdW.txt b/modules/utxo-bin/test/fixtures/formatAddress_bitcoingoldTestnet_default_2MwZgZu9ZT8uDqSkskSJSiDMeoFa4z4RtdW.txt new file mode 100644 index 0000000000..0589533abf --- /dev/null +++ b/modules/utxo-bin/test/fixtures/formatAddress_bitcoingoldTestnet_default_2MwZgZu9ZT8uDqSkskSJSiDMeoFa4z4RtdW.txt @@ -0,0 +1,12 @@ +address: 2MwZgZu9ZT8uDqSkskSJSiDMeoFa4z4RtdW +├─┬ base58 +│ ├── payload: c42f5e2d8f4ee34ccd1a4130975b9fe635ff65e02b +│ ├── version: c4 +│ └── hash: 2f5e2d8f4ee34ccd1a4130975b9fe635ff65e02b +├── format: default +├─┬ outputScript: a9142f5e2d8f4ee34ccd1a4130975b9fe635ff65e02b87 +│ └─┬ scriptPubKey: [23byte] +│ ├── type: scripthash +│ ├── hex: a9142f5e2d8f4ee34ccd1a4130975b9fe635ff65e02b87 +│ └── asm: OP_HASH160 2f5e2d8f4ee34ccd1a4130975b9fe635ff65e02b OP_EQUAL +└── network: testnet, bitcoincashTestnet, bitcoingoldTestnet, bitcoinsvTestnet, dogecoinTest, ecashTest diff --git a/modules/utxo-bin/test/fixtures/formatAddress_bitcoingoldTestnet_default_mziT9FmaG3XjV7tbaGYekqvBcVDvGnY3EZ.txt b/modules/utxo-bin/test/fixtures/formatAddress_bitcoingoldTestnet_default_mziT9FmaG3XjV7tbaGYekqvBcVDvGnY3EZ.txt new file mode 100644 index 0000000000..b6170c27c1 --- /dev/null +++ b/modules/utxo-bin/test/fixtures/formatAddress_bitcoingoldTestnet_default_mziT9FmaG3XjV7tbaGYekqvBcVDvGnY3EZ.txt @@ -0,0 +1,12 @@ +address: mziT9FmaG3XjV7tbaGYekqvBcVDvGnY3EZ +├─┬ base58 +│ ├── payload: 6fd2970bfc64117e397dc5cb7a9afe9f8b22dca1f1 +│ ├── version: 6f +│ └── hash: d2970bfc64117e397dc5cb7a9afe9f8b22dca1f1 +├── format: default +├─┬ outputScript: 76a914d2970bfc64117e397dc5cb7a9afe9f8b22dca1f188ac +│ └─┬ scriptPubKey: [25byte] +│ ├── type: pubkeyhash +│ ├── hex: 76a914d2970bfc64117e397dc5cb7a9afe9f8b22dca1f188ac +│ └── asm: OP_DUP OP_HASH160 d2970bfc64117e397dc5cb7a9afe9f8b22dca1f1 OP_EQUALVERIFY OP_CHECKSIG +└── network: testnet, bitcoincashTestnet, bitcoingoldTestnet, bitcoinsvTestnet, ecashTest, litecoinTest diff --git a/modules/utxo-bin/test/fixtures/formatAddress_tbtg1q62tshlryz9lrjlw9edaf4l5l3v3deg0358txp6.txt b/modules/utxo-bin/test/fixtures/formatAddress_bitcoingoldTestnet_default_tbtg1q62tshlryz9lrjlw9edaf4l5l3v3deg0358txp6.txt similarity index 93% rename from modules/utxo-bin/test/fixtures/formatAddress_tbtg1q62tshlryz9lrjlw9edaf4l5l3v3deg0358txp6.txt rename to modules/utxo-bin/test/fixtures/formatAddress_bitcoingoldTestnet_default_tbtg1q62tshlryz9lrjlw9edaf4l5l3v3deg0358txp6.txt index 0fe4266355..2c71dbc89e 100644 --- a/modules/utxo-bin/test/fixtures/formatAddress_tbtg1q62tshlryz9lrjlw9edaf4l5l3v3deg0358txp6.txt +++ b/modules/utxo-bin/test/fixtures/formatAddress_bitcoingoldTestnet_default_tbtg1q62tshlryz9lrjlw9edaf4l5l3v3deg0358txp6.txt @@ -1,4 +1,5 @@ address: tbtg1q62tshlryz9lrjlw9edaf4l5l3v3deg0358txp6 +├── format: default ├─┬ outputScript: 0014d2970bfc64117e397dc5cb7a9afe9f8b22dca1f1 │ └─┬ scriptPubKey: [22byte] │ ├── type: witnesspubkeyhash diff --git a/modules/utxo-bin/test/fixtures/formatAddress_tbtg1qeu6xmet5wqslj2w0wac0hx5gj6dupmp869cajrkt3kw6ud3kkecsgdfacv.txt b/modules/utxo-bin/test/fixtures/formatAddress_bitcoingoldTestnet_default_tbtg1qeu6xmet5wqslj2w0wac0hx5gj6dupmp869cajrkt3kw6ud3kkecsgdfacv.txt similarity index 61% rename from modules/utxo-bin/test/fixtures/formatAddress_tbtg1qeu6xmet5wqslj2w0wac0hx5gj6dupmp869cajrkt3kw6ud3kkecsgdfacv.txt rename to modules/utxo-bin/test/fixtures/formatAddress_bitcoingoldTestnet_default_tbtg1qeu6xmet5wqslj2w0wac0hx5gj6dupmp869cajrkt3kw6ud3kkecsgdfacv.txt index cb6f7dc370..f7085a7191 100644 --- a/modules/utxo-bin/test/fixtures/formatAddress_tbtg1qeu6xmet5wqslj2w0wac0hx5gj6dupmp869cajrkt3kw6ud3kkecsgdfacv.txt +++ b/modules/utxo-bin/test/fixtures/formatAddress_bitcoingoldTestnet_default_tbtg1qeu6xmet5wqslj2w0wac0hx5gj6dupmp869cajrkt3kw6ud3kkecsgdfacv.txt @@ -1,4 +1,9 @@ address: tbtg1qeu6xmet5wqslj2w0wac0hx5gj6dupmp869cajrkt3kw6ud3kkecsgdfacv +├─┬ bech32 +│ ├── prefix: tbtg +│ ├── words: 00191c1a061b190b140e00101f120a0e0f0e1d180f17061408121a0d1c011b01071a05181d1203160b11160e1a1c0d111616191810 +│ └── bytes: 0679a36f2ba3810fc94e7bbb87dcd444b4de07613e8b8ec8765c6ced71b1b5b388 +├── format: default ├─┬ outputScript: 0020cf346de5747021f929cf7770fb9a88969bc0ec27d171d90ecb8d9dae3636b671 │ └─┬ scriptPubKey: [34byte] │ ├── type: witnessscripthash diff --git a/modules/utxo-bin/test/fixtures/formatAddress_AHvkK8Jwr48xc9vDERsLZU8Ad9KRDP3e7m.txt b/modules/utxo-bin/test/fixtures/formatAddress_bitcoingold_default_AHvkK8Jwr48xc9vDERsLZU8Ad9KRDP3e7m.txt similarity index 80% rename from modules/utxo-bin/test/fixtures/formatAddress_AHvkK8Jwr48xc9vDERsLZU8Ad9KRDP3e7m.txt rename to modules/utxo-bin/test/fixtures/formatAddress_bitcoingold_default_AHvkK8Jwr48xc9vDERsLZU8Ad9KRDP3e7m.txt index ee6cc2b933..6f10607c52 100644 --- a/modules/utxo-bin/test/fixtures/formatAddress_AHvkK8Jwr48xc9vDERsLZU8Ad9KRDP3e7m.txt +++ b/modules/utxo-bin/test/fixtures/formatAddress_bitcoingold_default_AHvkK8Jwr48xc9vDERsLZU8Ad9KRDP3e7m.txt @@ -1,7 +1,9 @@ address: AHvkK8Jwr48xc9vDERsLZU8Ad9KRDP3e7m -├─┬ base58Check: 17179ddf848a574c6fdb30e6e564f2c8b8fc113545 +├─┬ base58 +│ ├── payload: 17179ddf848a574c6fdb30e6e564f2c8b8fc113545 │ ├── version: 17 │ └── hash: 179ddf848a574c6fdb30e6e564f2c8b8fc113545 +├── format: default ├─┬ outputScript: a914179ddf848a574c6fdb30e6e564f2c8b8fc11354587 │ └─┬ scriptPubKey: [23byte] │ ├── type: scripthash diff --git a/modules/utxo-bin/test/fixtures/formatAddress_AL6LE7aicvjeMTdtWrgJpXGYuyzsxJYdja.txt b/modules/utxo-bin/test/fixtures/formatAddress_bitcoingold_default_AL6LE7aicvjeMTdtWrgJpXGYuyzsxJYdja.txt similarity index 80% rename from modules/utxo-bin/test/fixtures/formatAddress_AL6LE7aicvjeMTdtWrgJpXGYuyzsxJYdja.txt rename to modules/utxo-bin/test/fixtures/formatAddress_bitcoingold_default_AL6LE7aicvjeMTdtWrgJpXGYuyzsxJYdja.txt index f4b1ec8689..482c75182a 100644 --- a/modules/utxo-bin/test/fixtures/formatAddress_AL6LE7aicvjeMTdtWrgJpXGYuyzsxJYdja.txt +++ b/modules/utxo-bin/test/fixtures/formatAddress_bitcoingold_default_AL6LE7aicvjeMTdtWrgJpXGYuyzsxJYdja.txt @@ -1,7 +1,9 @@ address: AL6LE7aicvjeMTdtWrgJpXGYuyzsxJYdja -├─┬ base58Check: 172f5e2d8f4ee34ccd1a4130975b9fe635ff65e02b +├─┬ base58 +│ ├── payload: 172f5e2d8f4ee34ccd1a4130975b9fe635ff65e02b │ ├── version: 17 │ └── hash: 2f5e2d8f4ee34ccd1a4130975b9fe635ff65e02b +├── format: default ├─┬ outputScript: a9142f5e2d8f4ee34ccd1a4130975b9fe635ff65e02b87 │ └─┬ scriptPubKey: [23byte] │ ├── type: scripthash diff --git a/modules/utxo-bin/test/fixtures/formatAddress_Gd3RGL1YRshmnUiGneEPMh3kffR4S91A1w.txt b/modules/utxo-bin/test/fixtures/formatAddress_bitcoingold_default_Gd3RGL1YRshmnUiGneEPMh3kffR4S91A1w.txt similarity index 82% rename from modules/utxo-bin/test/fixtures/formatAddress_Gd3RGL1YRshmnUiGneEPMh3kffR4S91A1w.txt rename to modules/utxo-bin/test/fixtures/formatAddress_bitcoingold_default_Gd3RGL1YRshmnUiGneEPMh3kffR4S91A1w.txt index edb60acebb..a30877a299 100644 --- a/modules/utxo-bin/test/fixtures/formatAddress_Gd3RGL1YRshmnUiGneEPMh3kffR4S91A1w.txt +++ b/modules/utxo-bin/test/fixtures/formatAddress_bitcoingold_default_Gd3RGL1YRshmnUiGneEPMh3kffR4S91A1w.txt @@ -1,7 +1,9 @@ address: Gd3RGL1YRshmnUiGneEPMh3kffR4S91A1w -├─┬ base58Check: 26d2970bfc64117e397dc5cb7a9afe9f8b22dca1f1 +├─┬ base58 +│ ├── payload: 26d2970bfc64117e397dc5cb7a9afe9f8b22dca1f1 │ ├── version: 26 │ └── hash: d2970bfc64117e397dc5cb7a9afe9f8b22dca1f1 +├── format: default ├─┬ outputScript: 76a914d2970bfc64117e397dc5cb7a9afe9f8b22dca1f188ac │ └─┬ scriptPubKey: [25byte] │ ├── type: pubkeyhash diff --git a/modules/utxo-bin/test/fixtures/formatAddress_btg1q62tshlryz9lrjlw9edaf4l5l3v3deg03r4g0js.txt b/modules/utxo-bin/test/fixtures/formatAddress_bitcoingold_default_btg1q62tshlryz9lrjlw9edaf4l5l3v3deg03r4g0js.txt similarity index 93% rename from modules/utxo-bin/test/fixtures/formatAddress_btg1q62tshlryz9lrjlw9edaf4l5l3v3deg03r4g0js.txt rename to modules/utxo-bin/test/fixtures/formatAddress_bitcoingold_default_btg1q62tshlryz9lrjlw9edaf4l5l3v3deg03r4g0js.txt index 91a1469ad7..6b4ead3939 100644 --- a/modules/utxo-bin/test/fixtures/formatAddress_btg1q62tshlryz9lrjlw9edaf4l5l3v3deg03r4g0js.txt +++ b/modules/utxo-bin/test/fixtures/formatAddress_bitcoingold_default_btg1q62tshlryz9lrjlw9edaf4l5l3v3deg03r4g0js.txt @@ -1,4 +1,5 @@ address: btg1q62tshlryz9lrjlw9edaf4l5l3v3deg03r4g0js +├── format: default ├─┬ outputScript: 0014d2970bfc64117e397dc5cb7a9afe9f8b22dca1f1 │ └─┬ scriptPubKey: [22byte] │ ├── type: witnesspubkeyhash diff --git a/modules/utxo-bin/test/fixtures/formatAddress_btg1qeu6xmet5wqslj2w0wac0hx5gj6dupmp869cajrkt3kw6ud3kkecsrzdr8e.txt b/modules/utxo-bin/test/fixtures/formatAddress_bitcoingold_default_btg1qeu6xmet5wqslj2w0wac0hx5gj6dupmp869cajrkt3kw6ud3kkecsrzdr8e.txt similarity index 61% rename from modules/utxo-bin/test/fixtures/formatAddress_btg1qeu6xmet5wqslj2w0wac0hx5gj6dupmp869cajrkt3kw6ud3kkecsrzdr8e.txt rename to modules/utxo-bin/test/fixtures/formatAddress_bitcoingold_default_btg1qeu6xmet5wqslj2w0wac0hx5gj6dupmp869cajrkt3kw6ud3kkecsrzdr8e.txt index a318c83936..1fdb0a801c 100644 --- a/modules/utxo-bin/test/fixtures/formatAddress_btg1qeu6xmet5wqslj2w0wac0hx5gj6dupmp869cajrkt3kw6ud3kkecsrzdr8e.txt +++ b/modules/utxo-bin/test/fixtures/formatAddress_bitcoingold_default_btg1qeu6xmet5wqslj2w0wac0hx5gj6dupmp869cajrkt3kw6ud3kkecsrzdr8e.txt @@ -1,4 +1,9 @@ address: btg1qeu6xmet5wqslj2w0wac0hx5gj6dupmp869cajrkt3kw6ud3kkecsrzdr8e +├─┬ bech32 +│ ├── prefix: btg +│ ├── words: 00191c1a061b190b140e00101f120a0e0f0e1d180f17061408121a0d1c011b01071a05181d1203160b11160e1a1c0d111616191810 +│ └── bytes: 0679a36f2ba3810fc94e7bbb87dcd444b4de07613e8b8ec8765c6ced71b1b5b388 +├── format: default ├─┬ outputScript: 0020cf346de5747021f929cf7770fb9a88969bc0ec27d171d90ecb8d9dae3636b671 │ └─┬ scriptPubKey: [34byte] │ ├── type: witnessscripthash diff --git a/modules/utxo-bin/test/fixtures/formatAddress_bitcoinsvTestnet_default_2MwZgZu9ZT8uDqSkskSJSiDMeoFa4z4RtdW.txt b/modules/utxo-bin/test/fixtures/formatAddress_bitcoinsvTestnet_default_2MwZgZu9ZT8uDqSkskSJSiDMeoFa4z4RtdW.txt new file mode 100644 index 0000000000..0589533abf --- /dev/null +++ b/modules/utxo-bin/test/fixtures/formatAddress_bitcoinsvTestnet_default_2MwZgZu9ZT8uDqSkskSJSiDMeoFa4z4RtdW.txt @@ -0,0 +1,12 @@ +address: 2MwZgZu9ZT8uDqSkskSJSiDMeoFa4z4RtdW +├─┬ base58 +│ ├── payload: c42f5e2d8f4ee34ccd1a4130975b9fe635ff65e02b +│ ├── version: c4 +│ └── hash: 2f5e2d8f4ee34ccd1a4130975b9fe635ff65e02b +├── format: default +├─┬ outputScript: a9142f5e2d8f4ee34ccd1a4130975b9fe635ff65e02b87 +│ └─┬ scriptPubKey: [23byte] +│ ├── type: scripthash +│ ├── hex: a9142f5e2d8f4ee34ccd1a4130975b9fe635ff65e02b87 +│ └── asm: OP_HASH160 2f5e2d8f4ee34ccd1a4130975b9fe635ff65e02b OP_EQUAL +└── network: testnet, bitcoincashTestnet, bitcoingoldTestnet, bitcoinsvTestnet, dogecoinTest, ecashTest diff --git a/modules/utxo-bin/test/fixtures/formatAddress_bitcoinsvTestnet_default_mziT9FmaG3XjV7tbaGYekqvBcVDvGnY3EZ.txt b/modules/utxo-bin/test/fixtures/formatAddress_bitcoinsvTestnet_default_mziT9FmaG3XjV7tbaGYekqvBcVDvGnY3EZ.txt new file mode 100644 index 0000000000..b6170c27c1 --- /dev/null +++ b/modules/utxo-bin/test/fixtures/formatAddress_bitcoinsvTestnet_default_mziT9FmaG3XjV7tbaGYekqvBcVDvGnY3EZ.txt @@ -0,0 +1,12 @@ +address: mziT9FmaG3XjV7tbaGYekqvBcVDvGnY3EZ +├─┬ base58 +│ ├── payload: 6fd2970bfc64117e397dc5cb7a9afe9f8b22dca1f1 +│ ├── version: 6f +│ └── hash: d2970bfc64117e397dc5cb7a9afe9f8b22dca1f1 +├── format: default +├─┬ outputScript: 76a914d2970bfc64117e397dc5cb7a9afe9f8b22dca1f188ac +│ └─┬ scriptPubKey: [25byte] +│ ├── type: pubkeyhash +│ ├── hex: 76a914d2970bfc64117e397dc5cb7a9afe9f8b22dca1f188ac +│ └── asm: OP_DUP OP_HASH160 d2970bfc64117e397dc5cb7a9afe9f8b22dca1f1 OP_EQUALVERIFY OP_CHECKSIG +└── network: testnet, bitcoincashTestnet, bitcoingoldTestnet, bitcoinsvTestnet, ecashTest, litecoinTest diff --git a/modules/utxo-bin/test/fixtures/formatAddress_bitcoinsv_default_1LCVrCgbT26Ui1QyrhaGvvhrkVdDRAXxtt.txt b/modules/utxo-bin/test/fixtures/formatAddress_bitcoinsv_default_1LCVrCgbT26Ui1QyrhaGvvhrkVdDRAXxtt.txt new file mode 100644 index 0000000000..5fb5188e9b --- /dev/null +++ b/modules/utxo-bin/test/fixtures/formatAddress_bitcoinsv_default_1LCVrCgbT26Ui1QyrhaGvvhrkVdDRAXxtt.txt @@ -0,0 +1,12 @@ +address: 1LCVrCgbT26Ui1QyrhaGvvhrkVdDRAXxtt +├─┬ base58 +│ ├── payload: 00d2970bfc64117e397dc5cb7a9afe9f8b22dca1f1 +│ ├── version: 0 +│ └── hash: d2970bfc64117e397dc5cb7a9afe9f8b22dca1f1 +├── format: default +├─┬ outputScript: 76a914d2970bfc64117e397dc5cb7a9afe9f8b22dca1f188ac +│ └─┬ scriptPubKey: [25byte] +│ ├── type: pubkeyhash +│ ├── hex: 76a914d2970bfc64117e397dc5cb7a9afe9f8b22dca1f188ac +│ └── asm: OP_DUP OP_HASH160 d2970bfc64117e397dc5cb7a9afe9f8b22dca1f1 OP_EQUALVERIFY OP_CHECKSIG +└── network: bitcoin, bitcoincash, bitcoinsv, ecash diff --git a/modules/utxo-bin/test/fixtures/formatAddress_bitcoinsv_default_361UWADXqgPsdf8L5Jga6GNPauMuBtT1eW.txt b/modules/utxo-bin/test/fixtures/formatAddress_bitcoinsv_default_361UWADXqgPsdf8L5Jga6GNPauMuBtT1eW.txt new file mode 100644 index 0000000000..e07a11cdaf --- /dev/null +++ b/modules/utxo-bin/test/fixtures/formatAddress_bitcoinsv_default_361UWADXqgPsdf8L5Jga6GNPauMuBtT1eW.txt @@ -0,0 +1,12 @@ +address: 361UWADXqgPsdf8L5Jga6GNPauMuBtT1eW +├─┬ base58 +│ ├── payload: 052f5e2d8f4ee34ccd1a4130975b9fe635ff65e02b +│ ├── version: 5 +│ └── hash: 2f5e2d8f4ee34ccd1a4130975b9fe635ff65e02b +├── format: default +├─┬ outputScript: a9142f5e2d8f4ee34ccd1a4130975b9fe635ff65e02b87 +│ └─┬ scriptPubKey: [23byte] +│ ├── type: scripthash +│ ├── hex: a9142f5e2d8f4ee34ccd1a4130975b9fe635ff65e02b87 +│ └── asm: OP_HASH160 2f5e2d8f4ee34ccd1a4130975b9fe635ff65e02b OP_EQUAL +└── network: bitcoin, bitcoincash, bitcoinsv, ecash diff --git a/modules/utxo-bin/test/fixtures/formatAddress_8ijvHgPZnCt95j5YRBM2t2BQPxy76bvp6E.txt b/modules/utxo-bin/test/fixtures/formatAddress_dashTest_default_8ijvHgPZnCt95j5YRBM2t2BQPxy76bvp6E.txt similarity index 80% rename from modules/utxo-bin/test/fixtures/formatAddress_8ijvHgPZnCt95j5YRBM2t2BQPxy76bvp6E.txt rename to modules/utxo-bin/test/fixtures/formatAddress_dashTest_default_8ijvHgPZnCt95j5YRBM2t2BQPxy76bvp6E.txt index 9c5768f712..6cce727e93 100644 --- a/modules/utxo-bin/test/fixtures/formatAddress_8ijvHgPZnCt95j5YRBM2t2BQPxy76bvp6E.txt +++ b/modules/utxo-bin/test/fixtures/formatAddress_dashTest_default_8ijvHgPZnCt95j5YRBM2t2BQPxy76bvp6E.txt @@ -1,7 +1,9 @@ address: 8ijvHgPZnCt95j5YRBM2t2BQPxy76bvp6E -├─┬ base58Check: 132f5e2d8f4ee34ccd1a4130975b9fe635ff65e02b +├─┬ base58 +│ ├── payload: 132f5e2d8f4ee34ccd1a4130975b9fe635ff65e02b │ ├── version: 13 │ └── hash: 2f5e2d8f4ee34ccd1a4130975b9fe635ff65e02b +├── format: default ├─┬ outputScript: a9142f5e2d8f4ee34ccd1a4130975b9fe635ff65e02b87 │ └─┬ scriptPubKey: [23byte] │ ├── type: scripthash diff --git a/modules/utxo-bin/test/fixtures/formatAddress_yfWwhQQvrGy9Cgw7HSCtpUozs7hGy5CK3x.txt b/modules/utxo-bin/test/fixtures/formatAddress_dashTest_default_yfWwhQQvrGy9Cgw7HSCtpUozs7hGy5CK3x.txt similarity index 81% rename from modules/utxo-bin/test/fixtures/formatAddress_yfWwhQQvrGy9Cgw7HSCtpUozs7hGy5CK3x.txt rename to modules/utxo-bin/test/fixtures/formatAddress_dashTest_default_yfWwhQQvrGy9Cgw7HSCtpUozs7hGy5CK3x.txt index 0221e4eaba..6c91817dad 100644 --- a/modules/utxo-bin/test/fixtures/formatAddress_yfWwhQQvrGy9Cgw7HSCtpUozs7hGy5CK3x.txt +++ b/modules/utxo-bin/test/fixtures/formatAddress_dashTest_default_yfWwhQQvrGy9Cgw7HSCtpUozs7hGy5CK3x.txt @@ -1,7 +1,9 @@ address: yfWwhQQvrGy9Cgw7HSCtpUozs7hGy5CK3x -├─┬ base58Check: 8cd2970bfc64117e397dc5cb7a9afe9f8b22dca1f1 +├─┬ base58 +│ ├── payload: 8cd2970bfc64117e397dc5cb7a9afe9f8b22dca1f1 │ ├── version: 8c │ └── hash: d2970bfc64117e397dc5cb7a9afe9f8b22dca1f1 +├── format: default ├─┬ outputScript: 76a914d2970bfc64117e397dc5cb7a9afe9f8b22dca1f188ac │ └─┬ scriptPubKey: [25byte] │ ├── type: pubkeyhash diff --git a/modules/utxo-bin/test/fixtures/formatAddress_7Wj7LMVhefVWdRfHLvM5ReN3WTCGzyVbdE.txt b/modules/utxo-bin/test/fixtures/formatAddress_dash_default_7Wj7LMVhefVWdRfHLvM5ReN3WTCGzyVbdE.txt similarity index 80% rename from modules/utxo-bin/test/fixtures/formatAddress_7Wj7LMVhefVWdRfHLvM5ReN3WTCGzyVbdE.txt rename to modules/utxo-bin/test/fixtures/formatAddress_dash_default_7Wj7LMVhefVWdRfHLvM5ReN3WTCGzyVbdE.txt index 58f184db74..6620cb7c7a 100644 --- a/modules/utxo-bin/test/fixtures/formatAddress_7Wj7LMVhefVWdRfHLvM5ReN3WTCGzyVbdE.txt +++ b/modules/utxo-bin/test/fixtures/formatAddress_dash_default_7Wj7LMVhefVWdRfHLvM5ReN3WTCGzyVbdE.txt @@ -1,7 +1,9 @@ address: 7Wj7LMVhefVWdRfHLvM5ReN3WTCGzyVbdE -├─┬ base58Check: 102f5e2d8f4ee34ccd1a4130975b9fe635ff65e02b +├─┬ base58 +│ ├── payload: 102f5e2d8f4ee34ccd1a4130975b9fe635ff65e02b │ ├── version: 10 │ └── hash: 2f5e2d8f4ee34ccd1a4130975b9fe635ff65e02b +├── format: default ├─┬ outputScript: a9142f5e2d8f4ee34ccd1a4130975b9fe635ff65e02b87 │ └─┬ scriptPubKey: [23byte] │ ├── type: scripthash diff --git a/modules/utxo-bin/test/fixtures/formatAddress_XutLgTLVQjK4rx1ZiatVnTPeaqCuNvRz6k.txt b/modules/utxo-bin/test/fixtures/formatAddress_dash_default_XutLgTLVQjK4rx1ZiatVnTPeaqCuNvRz6k.txt similarity index 81% rename from modules/utxo-bin/test/fixtures/formatAddress_XutLgTLVQjK4rx1ZiatVnTPeaqCuNvRz6k.txt rename to modules/utxo-bin/test/fixtures/formatAddress_dash_default_XutLgTLVQjK4rx1ZiatVnTPeaqCuNvRz6k.txt index 51d07d558e..58164a30e9 100644 --- a/modules/utxo-bin/test/fixtures/formatAddress_XutLgTLVQjK4rx1ZiatVnTPeaqCuNvRz6k.txt +++ b/modules/utxo-bin/test/fixtures/formatAddress_dash_default_XutLgTLVQjK4rx1ZiatVnTPeaqCuNvRz6k.txt @@ -1,7 +1,9 @@ address: XutLgTLVQjK4rx1ZiatVnTPeaqCuNvRz6k -├─┬ base58Check: 4cd2970bfc64117e397dc5cb7a9afe9f8b22dca1f1 +├─┬ base58 +│ ├── payload: 4cd2970bfc64117e397dc5cb7a9afe9f8b22dca1f1 │ ├── version: 4c │ └── hash: d2970bfc64117e397dc5cb7a9afe9f8b22dca1f1 +├── format: default ├─┬ outputScript: 76a914d2970bfc64117e397dc5cb7a9afe9f8b22dca1f188ac │ └─┬ scriptPubKey: [25byte] │ ├── type: pubkeyhash diff --git a/modules/utxo-bin/test/fixtures/formatAddress_dogecoinTest_default_2MwZgZu9ZT8uDqSkskSJSiDMeoFa4z4RtdW.txt b/modules/utxo-bin/test/fixtures/formatAddress_dogecoinTest_default_2MwZgZu9ZT8uDqSkskSJSiDMeoFa4z4RtdW.txt new file mode 100644 index 0000000000..0589533abf --- /dev/null +++ b/modules/utxo-bin/test/fixtures/formatAddress_dogecoinTest_default_2MwZgZu9ZT8uDqSkskSJSiDMeoFa4z4RtdW.txt @@ -0,0 +1,12 @@ +address: 2MwZgZu9ZT8uDqSkskSJSiDMeoFa4z4RtdW +├─┬ base58 +│ ├── payload: c42f5e2d8f4ee34ccd1a4130975b9fe635ff65e02b +│ ├── version: c4 +│ └── hash: 2f5e2d8f4ee34ccd1a4130975b9fe635ff65e02b +├── format: default +├─┬ outputScript: a9142f5e2d8f4ee34ccd1a4130975b9fe635ff65e02b87 +│ └─┬ scriptPubKey: [23byte] +│ ├── type: scripthash +│ ├── hex: a9142f5e2d8f4ee34ccd1a4130975b9fe635ff65e02b87 +│ └── asm: OP_HASH160 2f5e2d8f4ee34ccd1a4130975b9fe635ff65e02b OP_EQUAL +└── network: testnet, bitcoincashTestnet, bitcoingoldTestnet, bitcoinsvTestnet, dogecoinTest, ecashTest diff --git a/modules/utxo-bin/test/fixtures/formatAddress_noPf7UN9gQTV7zAmd7DHj6TksVjoihVkLY.txt b/modules/utxo-bin/test/fixtures/formatAddress_dogecoinTest_default_noPf7UN9gQTV7zAmd7DHj6TksVjoihVkLY.txt similarity index 82% rename from modules/utxo-bin/test/fixtures/formatAddress_noPf7UN9gQTV7zAmd7DHj6TksVjoihVkLY.txt rename to modules/utxo-bin/test/fixtures/formatAddress_dogecoinTest_default_noPf7UN9gQTV7zAmd7DHj6TksVjoihVkLY.txt index e30c96a030..e029baaba8 100644 --- a/modules/utxo-bin/test/fixtures/formatAddress_noPf7UN9gQTV7zAmd7DHj6TksVjoihVkLY.txt +++ b/modules/utxo-bin/test/fixtures/formatAddress_dogecoinTest_default_noPf7UN9gQTV7zAmd7DHj6TksVjoihVkLY.txt @@ -1,7 +1,9 @@ address: noPf7UN9gQTV7zAmd7DHj6TksVjoihVkLY -├─┬ base58Check: 71d2970bfc64117e397dc5cb7a9afe9f8b22dca1f1 +├─┬ base58 +│ ├── payload: 71d2970bfc64117e397dc5cb7a9afe9f8b22dca1f1 │ ├── version: 71 │ └── hash: d2970bfc64117e397dc5cb7a9afe9f8b22dca1f1 +├── format: default ├─┬ outputScript: 76a914d2970bfc64117e397dc5cb7a9afe9f8b22dca1f188ac │ └─┬ scriptPubKey: [25byte] │ ├── type: pubkeyhash diff --git a/modules/utxo-bin/test/fixtures/formatAddress_9vkjF1HRukGmY2VoVSLzLPzmHUjwCvtAad.txt b/modules/utxo-bin/test/fixtures/formatAddress_dogecoin_default_9vkjF1HRukGmY2VoVSLzLPzmHUjwCvtAad.txt similarity index 80% rename from modules/utxo-bin/test/fixtures/formatAddress_9vkjF1HRukGmY2VoVSLzLPzmHUjwCvtAad.txt rename to modules/utxo-bin/test/fixtures/formatAddress_dogecoin_default_9vkjF1HRukGmY2VoVSLzLPzmHUjwCvtAad.txt index c8ba16f0f1..e9077b886d 100644 --- a/modules/utxo-bin/test/fixtures/formatAddress_9vkjF1HRukGmY2VoVSLzLPzmHUjwCvtAad.txt +++ b/modules/utxo-bin/test/fixtures/formatAddress_dogecoin_default_9vkjF1HRukGmY2VoVSLzLPzmHUjwCvtAad.txt @@ -1,7 +1,9 @@ address: 9vkjF1HRukGmY2VoVSLzLPzmHUjwCvtAad -├─┬ base58Check: 162f5e2d8f4ee34ccd1a4130975b9fe635ff65e02b +├─┬ base58 +│ ├── payload: 162f5e2d8f4ee34ccd1a4130975b9fe635ff65e02b │ ├── version: 16 │ └── hash: 2f5e2d8f4ee34ccd1a4130975b9fe635ff65e02b +├── format: default ├─┬ outputScript: a9142f5e2d8f4ee34ccd1a4130975b9fe635ff65e02b87 │ └─┬ scriptPubKey: [23byte] │ ├── type: scripthash diff --git a/modules/utxo-bin/test/fixtures/formatAddress_DQLbPTdEkRzmF1babHZqUgsTddMWgQq2ad.txt b/modules/utxo-bin/test/fixtures/formatAddress_dogecoin_default_DQLbPTdEkRzmF1babHZqUgsTddMWgQq2ad.txt similarity index 81% rename from modules/utxo-bin/test/fixtures/formatAddress_DQLbPTdEkRzmF1babHZqUgsTddMWgQq2ad.txt rename to modules/utxo-bin/test/fixtures/formatAddress_dogecoin_default_DQLbPTdEkRzmF1babHZqUgsTddMWgQq2ad.txt index 6eb996fc55..1febb8c26f 100644 --- a/modules/utxo-bin/test/fixtures/formatAddress_DQLbPTdEkRzmF1babHZqUgsTddMWgQq2ad.txt +++ b/modules/utxo-bin/test/fixtures/formatAddress_dogecoin_default_DQLbPTdEkRzmF1babHZqUgsTddMWgQq2ad.txt @@ -1,7 +1,9 @@ address: DQLbPTdEkRzmF1babHZqUgsTddMWgQq2ad -├─┬ base58Check: 1ed2970bfc64117e397dc5cb7a9afe9f8b22dca1f1 +├─┬ base58 +│ ├── payload: 1ed2970bfc64117e397dc5cb7a9afe9f8b22dca1f1 │ ├── version: 1e │ └── hash: d2970bfc64117e397dc5cb7a9afe9f8b22dca1f1 +├── format: default ├─┬ outputScript: 76a914d2970bfc64117e397dc5cb7a9afe9f8b22dca1f188ac │ └─┬ scriptPubKey: [25byte] │ ├── type: pubkeyhash diff --git a/modules/utxo-bin/test/fixtures/formatAddress_ecashTest_cashaddr_ecashtest:pqh4utv0fm35eng6gycfwkuluc6l7e0q9vhsqql6tt.txt b/modules/utxo-bin/test/fixtures/formatAddress_ecashTest_cashaddr_ecashtest:pqh4utv0fm35eng6gycfwkuluc6l7e0q9vhsqql6tt.txt new file mode 100644 index 0000000000..fec7d419a7 --- /dev/null +++ b/modules/utxo-bin/test/fixtures/formatAddress_ecashTest_cashaddr_ecashtest:pqh4utv0fm35eng6gycfwkuluc6l7e0q9vhsqql6tt.txt @@ -0,0 +1,12 @@ +address: ecashtest:pqh4utv0fm35eng6gycfwkuluc6l7e0q9vhsqql6tt +├─┬ cashaddr +│ ├── prefix: ecashtest +│ ├── version: scripthash +│ └── hash: 2f5e2d8f4ee34ccd1a4130975b9fe635ff65e02b +├── format: cashaddr +├─┬ outputScript: a9142f5e2d8f4ee34ccd1a4130975b9fe635ff65e02b87 +│ └─┬ scriptPubKey: [23byte] +│ ├── type: scripthash +│ ├── hex: a9142f5e2d8f4ee34ccd1a4130975b9fe635ff65e02b87 +│ └── asm: OP_HASH160 2f5e2d8f4ee34ccd1a4130975b9fe635ff65e02b OP_EQUAL +└── network: ecashTest diff --git a/modules/utxo-bin/test/fixtures/formatAddress_ecashTest_cashaddr_ecashtest:qrffwzluvsghuwtach9h4xh7n79j9h9p7y5zxe5r3a.txt b/modules/utxo-bin/test/fixtures/formatAddress_ecashTest_cashaddr_ecashtest:qrffwzluvsghuwtach9h4xh7n79j9h9p7y5zxe5r3a.txt new file mode 100644 index 0000000000..fbc7b5a579 --- /dev/null +++ b/modules/utxo-bin/test/fixtures/formatAddress_ecashTest_cashaddr_ecashtest:qrffwzluvsghuwtach9h4xh7n79j9h9p7y5zxe5r3a.txt @@ -0,0 +1,12 @@ +address: ecashtest:qrffwzluvsghuwtach9h4xh7n79j9h9p7y5zxe5r3a +├─┬ cashaddr +│ ├── prefix: ecashtest +│ ├── version: pubkeyhash +│ └── hash: d2970bfc64117e397dc5cb7a9afe9f8b22dca1f1 +├── format: cashaddr +├─┬ outputScript: 76a914d2970bfc64117e397dc5cb7a9afe9f8b22dca1f188ac +│ └─┬ scriptPubKey: [25byte] +│ ├── type: pubkeyhash +│ ├── hex: 76a914d2970bfc64117e397dc5cb7a9afe9f8b22dca1f188ac +│ └── asm: OP_DUP OP_HASH160 d2970bfc64117e397dc5cb7a9afe9f8b22dca1f1 OP_EQUALVERIFY OP_CHECKSIG +└── network: ecashTest diff --git a/modules/utxo-bin/test/fixtures/formatAddress_ecashTest_default_2MwZgZu9ZT8uDqSkskSJSiDMeoFa4z4RtdW.txt b/modules/utxo-bin/test/fixtures/formatAddress_ecashTest_default_2MwZgZu9ZT8uDqSkskSJSiDMeoFa4z4RtdW.txt new file mode 100644 index 0000000000..0589533abf --- /dev/null +++ b/modules/utxo-bin/test/fixtures/formatAddress_ecashTest_default_2MwZgZu9ZT8uDqSkskSJSiDMeoFa4z4RtdW.txt @@ -0,0 +1,12 @@ +address: 2MwZgZu9ZT8uDqSkskSJSiDMeoFa4z4RtdW +├─┬ base58 +│ ├── payload: c42f5e2d8f4ee34ccd1a4130975b9fe635ff65e02b +│ ├── version: c4 +│ └── hash: 2f5e2d8f4ee34ccd1a4130975b9fe635ff65e02b +├── format: default +├─┬ outputScript: a9142f5e2d8f4ee34ccd1a4130975b9fe635ff65e02b87 +│ └─┬ scriptPubKey: [23byte] +│ ├── type: scripthash +│ ├── hex: a9142f5e2d8f4ee34ccd1a4130975b9fe635ff65e02b87 +│ └── asm: OP_HASH160 2f5e2d8f4ee34ccd1a4130975b9fe635ff65e02b OP_EQUAL +└── network: testnet, bitcoincashTestnet, bitcoingoldTestnet, bitcoinsvTestnet, dogecoinTest, ecashTest diff --git a/modules/utxo-bin/test/fixtures/formatAddress_ecashTest_default_mziT9FmaG3XjV7tbaGYekqvBcVDvGnY3EZ.txt b/modules/utxo-bin/test/fixtures/formatAddress_ecashTest_default_mziT9FmaG3XjV7tbaGYekqvBcVDvGnY3EZ.txt new file mode 100644 index 0000000000..b6170c27c1 --- /dev/null +++ b/modules/utxo-bin/test/fixtures/formatAddress_ecashTest_default_mziT9FmaG3XjV7tbaGYekqvBcVDvGnY3EZ.txt @@ -0,0 +1,12 @@ +address: mziT9FmaG3XjV7tbaGYekqvBcVDvGnY3EZ +├─┬ base58 +│ ├── payload: 6fd2970bfc64117e397dc5cb7a9afe9f8b22dca1f1 +│ ├── version: 6f +│ └── hash: d2970bfc64117e397dc5cb7a9afe9f8b22dca1f1 +├── format: default +├─┬ outputScript: 76a914d2970bfc64117e397dc5cb7a9afe9f8b22dca1f188ac +│ └─┬ scriptPubKey: [25byte] +│ ├── type: pubkeyhash +│ ├── hex: 76a914d2970bfc64117e397dc5cb7a9afe9f8b22dca1f188ac +│ └── asm: OP_DUP OP_HASH160 d2970bfc64117e397dc5cb7a9afe9f8b22dca1f1 OP_EQUALVERIFY OP_CHECKSIG +└── network: testnet, bitcoincashTestnet, bitcoingoldTestnet, bitcoinsvTestnet, ecashTest, litecoinTest diff --git a/modules/utxo-bin/test/fixtures/formatAddress_ecash_cashaddr_ecash:pqh4utv0fm35eng6gycfwkuluc6l7e0q9vwsflwuys.txt b/modules/utxo-bin/test/fixtures/formatAddress_ecash_cashaddr_ecash:pqh4utv0fm35eng6gycfwkuluc6l7e0q9vwsflwuys.txt new file mode 100644 index 0000000000..3ffc4255c0 --- /dev/null +++ b/modules/utxo-bin/test/fixtures/formatAddress_ecash_cashaddr_ecash:pqh4utv0fm35eng6gycfwkuluc6l7e0q9vwsflwuys.txt @@ -0,0 +1,12 @@ +address: ecash:pqh4utv0fm35eng6gycfwkuluc6l7e0q9vwsflwuys +├─┬ cashaddr +│ ├── prefix: ecash +│ ├── version: scripthash +│ └── hash: 2f5e2d8f4ee34ccd1a4130975b9fe635ff65e02b +├── format: cashaddr +├─┬ outputScript: a9142f5e2d8f4ee34ccd1a4130975b9fe635ff65e02b87 +│ └─┬ scriptPubKey: [23byte] +│ ├── type: scripthash +│ ├── hex: a9142f5e2d8f4ee34ccd1a4130975b9fe635ff65e02b87 +│ └── asm: OP_HASH160 2f5e2d8f4ee34ccd1a4130975b9fe635ff65e02b OP_EQUAL +└── network: ecash diff --git a/modules/utxo-bin/test/fixtures/formatAddress_ecash_cashaddr_ecash:qrffwzluvsghuwtach9h4xh7n79j9h9p7ydz0x997x.txt b/modules/utxo-bin/test/fixtures/formatAddress_ecash_cashaddr_ecash:qrffwzluvsghuwtach9h4xh7n79j9h9p7ydz0x997x.txt new file mode 100644 index 0000000000..bb77bccbfb --- /dev/null +++ b/modules/utxo-bin/test/fixtures/formatAddress_ecash_cashaddr_ecash:qrffwzluvsghuwtach9h4xh7n79j9h9p7ydz0x997x.txt @@ -0,0 +1,12 @@ +address: ecash:qrffwzluvsghuwtach9h4xh7n79j9h9p7ydz0x997x +├─┬ cashaddr +│ ├── prefix: ecash +│ ├── version: pubkeyhash +│ └── hash: d2970bfc64117e397dc5cb7a9afe9f8b22dca1f1 +├── format: cashaddr +├─┬ outputScript: 76a914d2970bfc64117e397dc5cb7a9afe9f8b22dca1f188ac +│ └─┬ scriptPubKey: [25byte] +│ ├── type: pubkeyhash +│ ├── hex: 76a914d2970bfc64117e397dc5cb7a9afe9f8b22dca1f188ac +│ └── asm: OP_DUP OP_HASH160 d2970bfc64117e397dc5cb7a9afe9f8b22dca1f1 OP_EQUALVERIFY OP_CHECKSIG +└── network: ecash diff --git a/modules/utxo-bin/test/fixtures/formatAddress_ecash_default_1LCVrCgbT26Ui1QyrhaGvvhrkVdDRAXxtt.txt b/modules/utxo-bin/test/fixtures/formatAddress_ecash_default_1LCVrCgbT26Ui1QyrhaGvvhrkVdDRAXxtt.txt new file mode 100644 index 0000000000..5fb5188e9b --- /dev/null +++ b/modules/utxo-bin/test/fixtures/formatAddress_ecash_default_1LCVrCgbT26Ui1QyrhaGvvhrkVdDRAXxtt.txt @@ -0,0 +1,12 @@ +address: 1LCVrCgbT26Ui1QyrhaGvvhrkVdDRAXxtt +├─┬ base58 +│ ├── payload: 00d2970bfc64117e397dc5cb7a9afe9f8b22dca1f1 +│ ├── version: 0 +│ └── hash: d2970bfc64117e397dc5cb7a9afe9f8b22dca1f1 +├── format: default +├─┬ outputScript: 76a914d2970bfc64117e397dc5cb7a9afe9f8b22dca1f188ac +│ └─┬ scriptPubKey: [25byte] +│ ├── type: pubkeyhash +│ ├── hex: 76a914d2970bfc64117e397dc5cb7a9afe9f8b22dca1f188ac +│ └── asm: OP_DUP OP_HASH160 d2970bfc64117e397dc5cb7a9afe9f8b22dca1f1 OP_EQUALVERIFY OP_CHECKSIG +└── network: bitcoin, bitcoincash, bitcoinsv, ecash diff --git a/modules/utxo-bin/test/fixtures/formatAddress_ecash_default_361UWADXqgPsdf8L5Jga6GNPauMuBtT1eW.all.txt b/modules/utxo-bin/test/fixtures/formatAddress_ecash_default_361UWADXqgPsdf8L5Jga6GNPauMuBtT1eW.all.txt new file mode 100644 index 0000000000..d6ef805c34 --- /dev/null +++ b/modules/utxo-bin/test/fixtures/formatAddress_ecash_default_361UWADXqgPsdf8L5Jga6GNPauMuBtT1eW.all.txt @@ -0,0 +1,41 @@ +address: 361UWADXqgPsdf8L5Jga6GNPauMuBtT1eW +├─┬ base58 +│ ├── payload: 052f5e2d8f4ee34ccd1a4130975b9fe635ff65e02b +│ ├── version: 5 +│ └── hash: 2f5e2d8f4ee34ccd1a4130975b9fe635ff65e02b +├─┬ bech32 +│ └── decodeError: Error: Mixed-case string 361UWADXqgPsdf8L5Jga6GNPauMuBtT1eW +├─┬ bech32m +│ └── decodeError: Error: Mixed-case string 361UWADXqgPsdf8L5Jga6GNPauMuBtT1eW +├─┬ cashaddr +│ └── decodeError: Error: Mixed-case string 361UWADXqgPsdf8L5Jga6GNPauMuBtT1eW +├── format: default +├─┬ outputScript: a9142f5e2d8f4ee34ccd1a4130975b9fe635ff65e02b87 +│ └─┬ scriptPubKey: [23byte] +│ ├── type: scripthash +│ ├── hex: a9142f5e2d8f4ee34ccd1a4130975b9fe635ff65e02b87 +│ └── asm: OP_HASH160 2f5e2d8f4ee34ccd1a4130975b9fe635ff65e02b OP_EQUAL +├── network: bitcoin, bitcoincash, bitcoinsv, ecash +└─┬ converted + ├── bitcoin default: 361UWADXqgPsdf8L5Jga6GNPauMuBtT1eW + ├── testnet default: 2MwZgZu9ZT8uDqSkskSJSiDMeoFa4z4RtdW + ├── bitcoincash default: 361UWADXqgPsdf8L5Jga6GNPauMuBtT1eW + ├── bitcoincash cashaddr: bitcoincash:pqh4utv0fm35eng6gycfwkuluc6l7e0q9vhaa54xz8 + ├── bitcoincashTestnet default: 2MwZgZu9ZT8uDqSkskSJSiDMeoFa4z4RtdW + ├── bitcoincashTestnet cashaddr: bchtest:pqh4utv0fm35eng6gycfwkuluc6l7e0q9vn0enh39m + ├── bitcoingold default: AL6LE7aicvjeMTdtWrgJpXGYuyzsxJYdja + ├── bitcoingoldTestnet default: 2MwZgZu9ZT8uDqSkskSJSiDMeoFa4z4RtdW + ├── bitcoinsv default: 361UWADXqgPsdf8L5Jga6GNPauMuBtT1eW + ├── bitcoinsvTestnet default: 2MwZgZu9ZT8uDqSkskSJSiDMeoFa4z4RtdW + ├── dash default: 7Wj7LMVhefVWdRfHLvM5ReN3WTCGzyVbdE + ├── dashTest default: 8ijvHgPZnCt95j5YRBM2t2BQPxy76bvp6E + ├── dogecoin default: 9vkjF1HRukGmY2VoVSLzLPzmHUjwCvtAad + ├── dogecoinTest default: 2MwZgZu9ZT8uDqSkskSJSiDMeoFa4z4RtdW + ├── ecash default: 361UWADXqgPsdf8L5Jga6GNPauMuBtT1eW + ├── ecash cashaddr: ecash:pqh4utv0fm35eng6gycfwkuluc6l7e0q9vwsflwuys + ├── ecashTest default: 2MwZgZu9ZT8uDqSkskSJSiDMeoFa4z4RtdW + ├── ecashTest cashaddr: ecashtest:pqh4utv0fm35eng6gycfwkuluc6l7e0q9vhsqql6tt + ├── litecoin default: MCDcp3dVnoFJSAQEBBfuuucnubxM6uQRD5 + ├── litecoinTest default: QQvSgv1oUExJydWvNYLTnuo5we1tsV5DZ3 + ├── zcash default: t3Nt5WVdfp1BUEJBE1jVhE5UJqZYz1DCoRU + └── zcashTest default: t2AsGZAjogTnqmzkxwUVjmhewx3n9qwJkTV diff --git a/modules/utxo-bin/test/fixtures/formatAddress_ecash_default_361UWADXqgPsdf8L5Jga6GNPauMuBtT1eW.txt b/modules/utxo-bin/test/fixtures/formatAddress_ecash_default_361UWADXqgPsdf8L5Jga6GNPauMuBtT1eW.txt new file mode 100644 index 0000000000..e07a11cdaf --- /dev/null +++ b/modules/utxo-bin/test/fixtures/formatAddress_ecash_default_361UWADXqgPsdf8L5Jga6GNPauMuBtT1eW.txt @@ -0,0 +1,12 @@ +address: 361UWADXqgPsdf8L5Jga6GNPauMuBtT1eW +├─┬ base58 +│ ├── payload: 052f5e2d8f4ee34ccd1a4130975b9fe635ff65e02b +│ ├── version: 5 +│ └── hash: 2f5e2d8f4ee34ccd1a4130975b9fe635ff65e02b +├── format: default +├─┬ outputScript: a9142f5e2d8f4ee34ccd1a4130975b9fe635ff65e02b87 +│ └─┬ scriptPubKey: [23byte] +│ ├── type: scripthash +│ ├── hex: a9142f5e2d8f4ee34ccd1a4130975b9fe635ff65e02b87 +│ └── asm: OP_HASH160 2f5e2d8f4ee34ccd1a4130975b9fe635ff65e02b OP_EQUAL +└── network: bitcoin, bitcoincash, bitcoinsv, ecash diff --git a/modules/utxo-bin/test/fixtures/formatAddress_QNkrmvk2hNMdEKoF67XVXreheoLS5yeqB5.txt b/modules/utxo-bin/test/fixtures/formatAddress_litecoinTest_default_QNkrmvk2hNMdEKoF67XVXreheoLS5yeqB5.txt similarity index 80% rename from modules/utxo-bin/test/fixtures/formatAddress_QNkrmvk2hNMdEKoF67XVXreheoLS5yeqB5.txt rename to modules/utxo-bin/test/fixtures/formatAddress_litecoinTest_default_QNkrmvk2hNMdEKoF67XVXreheoLS5yeqB5.txt index 55604a02d4..f1133c71b5 100644 --- a/modules/utxo-bin/test/fixtures/formatAddress_QNkrmvk2hNMdEKoF67XVXreheoLS5yeqB5.txt +++ b/modules/utxo-bin/test/fixtures/formatAddress_litecoinTest_default_QNkrmvk2hNMdEKoF67XVXreheoLS5yeqB5.txt @@ -1,7 +1,9 @@ address: QNkrmvk2hNMdEKoF67XVXreheoLS5yeqB5 -├─┬ base58Check: 3a179ddf848a574c6fdb30e6e564f2c8b8fc113545 +├─┬ base58 +│ ├── payload: 3a179ddf848a574c6fdb30e6e564f2c8b8fc113545 │ ├── version: 3a │ └── hash: 179ddf848a574c6fdb30e6e564f2c8b8fc113545 +├── format: default ├─┬ outputScript: a914179ddf848a574c6fdb30e6e564f2c8b8fc11354587 │ └─┬ scriptPubKey: [23byte] │ ├── type: scripthash diff --git a/modules/utxo-bin/test/fixtures/formatAddress_QQvSgv1oUExJydWvNYLTnuo5we1tsV5DZ3.txt b/modules/utxo-bin/test/fixtures/formatAddress_litecoinTest_default_QQvSgv1oUExJydWvNYLTnuo5we1tsV5DZ3.txt similarity index 80% rename from modules/utxo-bin/test/fixtures/formatAddress_QQvSgv1oUExJydWvNYLTnuo5we1tsV5DZ3.txt rename to modules/utxo-bin/test/fixtures/formatAddress_litecoinTest_default_QQvSgv1oUExJydWvNYLTnuo5we1tsV5DZ3.txt index f844243bad..35df2bb9de 100644 --- a/modules/utxo-bin/test/fixtures/formatAddress_QQvSgv1oUExJydWvNYLTnuo5we1tsV5DZ3.txt +++ b/modules/utxo-bin/test/fixtures/formatAddress_litecoinTest_default_QQvSgv1oUExJydWvNYLTnuo5we1tsV5DZ3.txt @@ -1,7 +1,9 @@ address: QQvSgv1oUExJydWvNYLTnuo5we1tsV5DZ3 -├─┬ base58Check: 3a2f5e2d8f4ee34ccd1a4130975b9fe635ff65e02b +├─┬ base58 +│ ├── payload: 3a2f5e2d8f4ee34ccd1a4130975b9fe635ff65e02b │ ├── version: 3a │ └── hash: 2f5e2d8f4ee34ccd1a4130975b9fe635ff65e02b +├── format: default ├─┬ outputScript: a9142f5e2d8f4ee34ccd1a4130975b9fe635ff65e02b87 │ └─┬ scriptPubKey: [23byte] │ ├── type: scripthash diff --git a/modules/utxo-bin/test/fixtures/formatAddress_litecoinTest_default_mziT9FmaG3XjV7tbaGYekqvBcVDvGnY3EZ.txt b/modules/utxo-bin/test/fixtures/formatAddress_litecoinTest_default_mziT9FmaG3XjV7tbaGYekqvBcVDvGnY3EZ.txt new file mode 100644 index 0000000000..b6170c27c1 --- /dev/null +++ b/modules/utxo-bin/test/fixtures/formatAddress_litecoinTest_default_mziT9FmaG3XjV7tbaGYekqvBcVDvGnY3EZ.txt @@ -0,0 +1,12 @@ +address: mziT9FmaG3XjV7tbaGYekqvBcVDvGnY3EZ +├─┬ base58 +│ ├── payload: 6fd2970bfc64117e397dc5cb7a9afe9f8b22dca1f1 +│ ├── version: 6f +│ └── hash: d2970bfc64117e397dc5cb7a9afe9f8b22dca1f1 +├── format: default +├─┬ outputScript: 76a914d2970bfc64117e397dc5cb7a9afe9f8b22dca1f188ac +│ └─┬ scriptPubKey: [25byte] +│ ├── type: pubkeyhash +│ ├── hex: 76a914d2970bfc64117e397dc5cb7a9afe9f8b22dca1f188ac +│ └── asm: OP_DUP OP_HASH160 d2970bfc64117e397dc5cb7a9afe9f8b22dca1f1 OP_EQUALVERIFY OP_CHECKSIG +└── network: testnet, bitcoincashTestnet, bitcoingoldTestnet, bitcoinsvTestnet, ecashTest, litecoinTest diff --git a/modules/utxo-bin/test/fixtures/formatAddress_tltc1q62tshlryz9lrjlw9edaf4l5l3v3deg03xjh8vz.txt b/modules/utxo-bin/test/fixtures/formatAddress_litecoinTest_default_tltc1q62tshlryz9lrjlw9edaf4l5l3v3deg03xjh8vz.txt similarity index 93% rename from modules/utxo-bin/test/fixtures/formatAddress_tltc1q62tshlryz9lrjlw9edaf4l5l3v3deg03xjh8vz.txt rename to modules/utxo-bin/test/fixtures/formatAddress_litecoinTest_default_tltc1q62tshlryz9lrjlw9edaf4l5l3v3deg03xjh8vz.txt index 3cc53eec79..a89cc04c0c 100644 --- a/modules/utxo-bin/test/fixtures/formatAddress_tltc1q62tshlryz9lrjlw9edaf4l5l3v3deg03xjh8vz.txt +++ b/modules/utxo-bin/test/fixtures/formatAddress_litecoinTest_default_tltc1q62tshlryz9lrjlw9edaf4l5l3v3deg03xjh8vz.txt @@ -1,4 +1,5 @@ address: tltc1q62tshlryz9lrjlw9edaf4l5l3v3deg03xjh8vz +├── format: default ├─┬ outputScript: 0014d2970bfc64117e397dc5cb7a9afe9f8b22dca1f1 │ └─┬ scriptPubKey: [22byte] │ ├── type: witnesspubkeyhash diff --git a/modules/utxo-bin/test/fixtures/formatAddress_tltc1qeu6xmet5wqslj2w0wac0hx5gj6dupmp869cajrkt3kw6ud3kkecs9frsjr.txt b/modules/utxo-bin/test/fixtures/formatAddress_litecoinTest_default_tltc1qeu6xmet5wqslj2w0wac0hx5gj6dupmp869cajrkt3kw6ud3kkecs9frsjr.txt similarity index 61% rename from modules/utxo-bin/test/fixtures/formatAddress_tltc1qeu6xmet5wqslj2w0wac0hx5gj6dupmp869cajrkt3kw6ud3kkecs9frsjr.txt rename to modules/utxo-bin/test/fixtures/formatAddress_litecoinTest_default_tltc1qeu6xmet5wqslj2w0wac0hx5gj6dupmp869cajrkt3kw6ud3kkecs9frsjr.txt index a4a35bfc8d..ce48c9c1c2 100644 --- a/modules/utxo-bin/test/fixtures/formatAddress_tltc1qeu6xmet5wqslj2w0wac0hx5gj6dupmp869cajrkt3kw6ud3kkecs9frsjr.txt +++ b/modules/utxo-bin/test/fixtures/formatAddress_litecoinTest_default_tltc1qeu6xmet5wqslj2w0wac0hx5gj6dupmp869cajrkt3kw6ud3kkecs9frsjr.txt @@ -1,4 +1,9 @@ address: tltc1qeu6xmet5wqslj2w0wac0hx5gj6dupmp869cajrkt3kw6ud3kkecs9frsjr +├─┬ bech32 +│ ├── prefix: tltc +│ ├── words: 00191c1a061b190b140e00101f120a0e0f0e1d180f17061408121a0d1c011b01071a05181d1203160b11160e1a1c0d111616191810 +│ └── bytes: 0679a36f2ba3810fc94e7bbb87dcd444b4de07613e8b8ec8765c6ced71b1b5b388 +├── format: default ├─┬ outputScript: 0020cf346de5747021f929cf7770fb9a88969bc0ec27d171d90ecb8d9dae3636b671 │ └─┬ scriptPubKey: [34byte] │ ├── type: witnessscripthash diff --git a/modules/utxo-bin/test/fixtures/formatAddress_LeRT7QzRXgLXxp792qZaCwmcxhzVVhCFuv.txt b/modules/utxo-bin/test/fixtures/formatAddress_litecoin_default_LeRT7QzRXgLXxp792qZaCwmcxhzVVhCFuv.txt similarity index 81% rename from modules/utxo-bin/test/fixtures/formatAddress_LeRT7QzRXgLXxp792qZaCwmcxhzVVhCFuv.txt rename to modules/utxo-bin/test/fixtures/formatAddress_litecoin_default_LeRT7QzRXgLXxp792qZaCwmcxhzVVhCFuv.txt index c54f43d6b1..8a770071ed 100644 --- a/modules/utxo-bin/test/fixtures/formatAddress_LeRT7QzRXgLXxp792qZaCwmcxhzVVhCFuv.txt +++ b/modules/utxo-bin/test/fixtures/formatAddress_litecoin_default_LeRT7QzRXgLXxp792qZaCwmcxhzVVhCFuv.txt @@ -1,7 +1,9 @@ address: LeRT7QzRXgLXxp792qZaCwmcxhzVVhCFuv -├─┬ base58Check: 30d2970bfc64117e397dc5cb7a9afe9f8b22dca1f1 +├─┬ base58 +│ ├── payload: 30d2970bfc64117e397dc5cb7a9afe9f8b22dca1f1 │ ├── version: 30 │ └── hash: d2970bfc64117e397dc5cb7a9afe9f8b22dca1f1 +├── format: default ├─┬ outputScript: 76a914d2970bfc64117e397dc5cb7a9afe9f8b22dca1f188ac │ └─┬ scriptPubKey: [25byte] │ ├── type: pubkeyhash diff --git a/modules/utxo-bin/test/fixtures/formatAddress_MA42u4Mj1vecgrgYtkrwerUQcmGtR4kUvr.txt b/modules/utxo-bin/test/fixtures/formatAddress_litecoin_default_MA42u4Mj1vecgrgYtkrwerUQcmGtR4kUvr.txt similarity index 80% rename from modules/utxo-bin/test/fixtures/formatAddress_MA42u4Mj1vecgrgYtkrwerUQcmGtR4kUvr.txt rename to modules/utxo-bin/test/fixtures/formatAddress_litecoin_default_MA42u4Mj1vecgrgYtkrwerUQcmGtR4kUvr.txt index 20a7ad69e4..76b7913a01 100644 --- a/modules/utxo-bin/test/fixtures/formatAddress_MA42u4Mj1vecgrgYtkrwerUQcmGtR4kUvr.txt +++ b/modules/utxo-bin/test/fixtures/formatAddress_litecoin_default_MA42u4Mj1vecgrgYtkrwerUQcmGtR4kUvr.txt @@ -1,7 +1,9 @@ address: MA42u4Mj1vecgrgYtkrwerUQcmGtR4kUvr -├─┬ base58Check: 32179ddf848a574c6fdb30e6e564f2c8b8fc113545 +├─┬ base58 +│ ├── payload: 32179ddf848a574c6fdb30e6e564f2c8b8fc113545 │ ├── version: 32 │ └── hash: 179ddf848a574c6fdb30e6e564f2c8b8fc113545 +├── format: default ├─┬ outputScript: a914179ddf848a574c6fdb30e6e564f2c8b8fc11354587 │ └─┬ scriptPubKey: [23byte] │ ├── type: scripthash diff --git a/modules/utxo-bin/test/fixtures/formatAddress_MCDcp3dVnoFJSAQEBBfuuucnubxM6uQRD5.txt b/modules/utxo-bin/test/fixtures/formatAddress_litecoin_default_MCDcp3dVnoFJSAQEBBfuuucnubxM6uQRD5.txt similarity index 80% rename from modules/utxo-bin/test/fixtures/formatAddress_MCDcp3dVnoFJSAQEBBfuuucnubxM6uQRD5.txt rename to modules/utxo-bin/test/fixtures/formatAddress_litecoin_default_MCDcp3dVnoFJSAQEBBfuuucnubxM6uQRD5.txt index 8c1b9cda9c..886cf334d1 100644 --- a/modules/utxo-bin/test/fixtures/formatAddress_MCDcp3dVnoFJSAQEBBfuuucnubxM6uQRD5.txt +++ b/modules/utxo-bin/test/fixtures/formatAddress_litecoin_default_MCDcp3dVnoFJSAQEBBfuuucnubxM6uQRD5.txt @@ -1,7 +1,9 @@ address: MCDcp3dVnoFJSAQEBBfuuucnubxM6uQRD5 -├─┬ base58Check: 322f5e2d8f4ee34ccd1a4130975b9fe635ff65e02b +├─┬ base58 +│ ├── payload: 322f5e2d8f4ee34ccd1a4130975b9fe635ff65e02b │ ├── version: 32 │ └── hash: 2f5e2d8f4ee34ccd1a4130975b9fe635ff65e02b +├── format: default ├─┬ outputScript: a9142f5e2d8f4ee34ccd1a4130975b9fe635ff65e02b87 │ └─┬ scriptPubKey: [23byte] │ ├── type: scripthash diff --git a/modules/utxo-bin/test/fixtures/formatAddress_ltc1q62tshlryz9lrjlw9edaf4l5l3v3deg033q5wlg.txt b/modules/utxo-bin/test/fixtures/formatAddress_litecoin_default_ltc1q62tshlryz9lrjlw9edaf4l5l3v3deg033q5wlg.txt similarity index 93% rename from modules/utxo-bin/test/fixtures/formatAddress_ltc1q62tshlryz9lrjlw9edaf4l5l3v3deg033q5wlg.txt rename to modules/utxo-bin/test/fixtures/formatAddress_litecoin_default_ltc1q62tshlryz9lrjlw9edaf4l5l3v3deg033q5wlg.txt index d224ede83c..fd2224e3cb 100644 --- a/modules/utxo-bin/test/fixtures/formatAddress_ltc1q62tshlryz9lrjlw9edaf4l5l3v3deg033q5wlg.txt +++ b/modules/utxo-bin/test/fixtures/formatAddress_litecoin_default_ltc1q62tshlryz9lrjlw9edaf4l5l3v3deg033q5wlg.txt @@ -1,4 +1,5 @@ address: ltc1q62tshlryz9lrjlw9edaf4l5l3v3deg033q5wlg +├── format: default ├─┬ outputScript: 0014d2970bfc64117e397dc5cb7a9afe9f8b22dca1f1 │ └─┬ scriptPubKey: [22byte] │ ├── type: witnesspubkeyhash diff --git a/modules/utxo-bin/test/fixtures/formatAddress_ltc1qeu6xmet5wqslj2w0wac0hx5gj6dupmp869cajrkt3kw6ud3kkecswx8wdk.txt b/modules/utxo-bin/test/fixtures/formatAddress_litecoin_default_ltc1qeu6xmet5wqslj2w0wac0hx5gj6dupmp869cajrkt3kw6ud3kkecswx8wdk.txt similarity index 61% rename from modules/utxo-bin/test/fixtures/formatAddress_ltc1qeu6xmet5wqslj2w0wac0hx5gj6dupmp869cajrkt3kw6ud3kkecswx8wdk.txt rename to modules/utxo-bin/test/fixtures/formatAddress_litecoin_default_ltc1qeu6xmet5wqslj2w0wac0hx5gj6dupmp869cajrkt3kw6ud3kkecswx8wdk.txt index d8b21f0160..42b1cd1609 100644 --- a/modules/utxo-bin/test/fixtures/formatAddress_ltc1qeu6xmet5wqslj2w0wac0hx5gj6dupmp869cajrkt3kw6ud3kkecswx8wdk.txt +++ b/modules/utxo-bin/test/fixtures/formatAddress_litecoin_default_ltc1qeu6xmet5wqslj2w0wac0hx5gj6dupmp869cajrkt3kw6ud3kkecswx8wdk.txt @@ -1,4 +1,9 @@ address: ltc1qeu6xmet5wqslj2w0wac0hx5gj6dupmp869cajrkt3kw6ud3kkecswx8wdk +├─┬ bech32 +│ ├── prefix: ltc +│ ├── words: 00191c1a061b190b140e00101f120a0e0f0e1d180f17061408121a0d1c011b01071a05181d1203160b11160e1a1c0d111616191810 +│ └── bytes: 0679a36f2ba3810fc94e7bbb87dcd444b4de07613e8b8ec8765c6ced71b1b5b388 +├── format: default ├─┬ outputScript: 0020cf346de5747021f929cf7770fb9a88969bc0ec27d171d90ecb8d9dae3636b671 │ └─┬ scriptPubKey: [34byte] │ ├── type: witnessscripthash diff --git a/modules/utxo-bin/test/fixtures/formatAddress_testnet_default_2MuQ6eusngGJY693CU1VUTADGWQtcBBk1di.txt b/modules/utxo-bin/test/fixtures/formatAddress_testnet_default_2MuQ6eusngGJY693CU1VUTADGWQtcBBk1di.txt new file mode 100644 index 0000000000..0f66f8e58b --- /dev/null +++ b/modules/utxo-bin/test/fixtures/formatAddress_testnet_default_2MuQ6eusngGJY693CU1VUTADGWQtcBBk1di.txt @@ -0,0 +1,12 @@ +address: 2MuQ6eusngGJY693CU1VUTADGWQtcBBk1di +├─┬ base58 +│ ├── payload: c4179ddf848a574c6fdb30e6e564f2c8b8fc113545 +│ ├── version: c4 +│ └── hash: 179ddf848a574c6fdb30e6e564f2c8b8fc113545 +├── format: default +├─┬ outputScript: a914179ddf848a574c6fdb30e6e564f2c8b8fc11354587 +│ └─┬ scriptPubKey: [23byte] +│ ├── type: scripthash +│ ├── hex: a914179ddf848a574c6fdb30e6e564f2c8b8fc11354587 +│ └── asm: OP_HASH160 179ddf848a574c6fdb30e6e564f2c8b8fc113545 OP_EQUAL +└── network: testnet, bitcoincashTestnet, bitcoingoldTestnet, bitcoinsvTestnet, dogecoinTest, ecashTest diff --git a/modules/utxo-bin/test/fixtures/formatAddress_testnet_default_2MwZgZu9ZT8uDqSkskSJSiDMeoFa4z4RtdW.txt b/modules/utxo-bin/test/fixtures/formatAddress_testnet_default_2MwZgZu9ZT8uDqSkskSJSiDMeoFa4z4RtdW.txt new file mode 100644 index 0000000000..0589533abf --- /dev/null +++ b/modules/utxo-bin/test/fixtures/formatAddress_testnet_default_2MwZgZu9ZT8uDqSkskSJSiDMeoFa4z4RtdW.txt @@ -0,0 +1,12 @@ +address: 2MwZgZu9ZT8uDqSkskSJSiDMeoFa4z4RtdW +├─┬ base58 +│ ├── payload: c42f5e2d8f4ee34ccd1a4130975b9fe635ff65e02b +│ ├── version: c4 +│ └── hash: 2f5e2d8f4ee34ccd1a4130975b9fe635ff65e02b +├── format: default +├─┬ outputScript: a9142f5e2d8f4ee34ccd1a4130975b9fe635ff65e02b87 +│ └─┬ scriptPubKey: [23byte] +│ ├── type: scripthash +│ ├── hex: a9142f5e2d8f4ee34ccd1a4130975b9fe635ff65e02b87 +│ └── asm: OP_HASH160 2f5e2d8f4ee34ccd1a4130975b9fe635ff65e02b OP_EQUAL +└── network: testnet, bitcoincashTestnet, bitcoingoldTestnet, bitcoinsvTestnet, dogecoinTest, ecashTest diff --git a/modules/utxo-bin/test/fixtures/formatAddress_testnet_default_mziT9FmaG3XjV7tbaGYekqvBcVDvGnY3EZ.txt b/modules/utxo-bin/test/fixtures/formatAddress_testnet_default_mziT9FmaG3XjV7tbaGYekqvBcVDvGnY3EZ.txt new file mode 100644 index 0000000000..b6170c27c1 --- /dev/null +++ b/modules/utxo-bin/test/fixtures/formatAddress_testnet_default_mziT9FmaG3XjV7tbaGYekqvBcVDvGnY3EZ.txt @@ -0,0 +1,12 @@ +address: mziT9FmaG3XjV7tbaGYekqvBcVDvGnY3EZ +├─┬ base58 +│ ├── payload: 6fd2970bfc64117e397dc5cb7a9afe9f8b22dca1f1 +│ ├── version: 6f +│ └── hash: d2970bfc64117e397dc5cb7a9afe9f8b22dca1f1 +├── format: default +├─┬ outputScript: 76a914d2970bfc64117e397dc5cb7a9afe9f8b22dca1f188ac +│ └─┬ scriptPubKey: [25byte] +│ ├── type: pubkeyhash +│ ├── hex: 76a914d2970bfc64117e397dc5cb7a9afe9f8b22dca1f188ac +│ └── asm: OP_DUP OP_HASH160 d2970bfc64117e397dc5cb7a9afe9f8b22dca1f1 OP_EQUALVERIFY OP_CHECKSIG +└── network: testnet, bitcoincashTestnet, bitcoingoldTestnet, bitcoinsvTestnet, ecashTest, litecoinTest diff --git a/modules/utxo-bin/test/fixtures/formatAddress_tb1p8gv9m64s539mycj4m29wu8thy5n3y6u36xs58wq3yezrmqygwfns9l2hrf.txt b/modules/utxo-bin/test/fixtures/formatAddress_testnet_default_tb1p8gv9m64s539mycj4m29wu8thy5n3y6u36xs58wq3yezrmqygwfns9l2hrf.txt similarity index 60% rename from modules/utxo-bin/test/fixtures/formatAddress_tb1p8gv9m64s539mycj4m29wu8thy5n3y6u36xs58wq3yezrmqygwfns9l2hrf.txt rename to modules/utxo-bin/test/fixtures/formatAddress_testnet_default_tb1p8gv9m64s539mycj4m29wu8thy5n3y6u36xs58wq3yezrmqygwfns9l2hrf.txt index f04222c900..ca339e350f 100644 --- a/modules/utxo-bin/test/fixtures/formatAddress_tb1p8gv9m64s539mycj4m29wu8thy5n3y6u36xs58wq3yezrmqygwfns9l2hrf.txt +++ b/modules/utxo-bin/test/fixtures/formatAddress_testnet_default_tb1p8gv9m64s539mycj4m29wu8thy5n3y6u36xs58wq3yezrmqygwfns9l2hrf.txt @@ -1,4 +1,9 @@ address: tb1p8gv9m64s539mycj4m29wu8thy5n3y6u36xs58wq3yezrmqygwfns9l2hrf +├─┬ bech32m +│ ├── prefix: tb +│ ├── words: 0107080c051b1a15101411051b041812151b0a050e1c070b1704141311041a1c111a061014070e0011041902031b0004080e091310 +│ └── bytes: 09d0c2ef5585225d9312aed45770ebb92938935c8e8d0a1dc0893221ec04439338 +├── format: default ├─┬ outputScript: 51203a185deab0a44bb26255da8aee1d772527126b91d1a143b81126443d80887267 │ └─┬ scriptPubKey: [34byte] │ ├── type: taproot diff --git a/modules/utxo-bin/test/fixtures/formatAddress_tb1q62tshlryz9lrjlw9edaf4l5l3v3deg03l64eut.txt b/modules/utxo-bin/test/fixtures/formatAddress_testnet_default_tb1q62tshlryz9lrjlw9edaf4l5l3v3deg03l64eut.txt similarity index 93% rename from modules/utxo-bin/test/fixtures/formatAddress_tb1q62tshlryz9lrjlw9edaf4l5l3v3deg03l64eut.txt rename to modules/utxo-bin/test/fixtures/formatAddress_testnet_default_tb1q62tshlryz9lrjlw9edaf4l5l3v3deg03l64eut.txt index 5a93adbf7c..3d9d47d7bc 100644 --- a/modules/utxo-bin/test/fixtures/formatAddress_tb1q62tshlryz9lrjlw9edaf4l5l3v3deg03l64eut.txt +++ b/modules/utxo-bin/test/fixtures/formatAddress_testnet_default_tb1q62tshlryz9lrjlw9edaf4l5l3v3deg03l64eut.txt @@ -1,4 +1,5 @@ address: tb1q62tshlryz9lrjlw9edaf4l5l3v3deg03l64eut +├── format: default ├─┬ outputScript: 0014d2970bfc64117e397dc5cb7a9afe9f8b22dca1f1 │ └─┬ scriptPubKey: [22byte] │ ├── type: witnesspubkeyhash diff --git a/modules/utxo-bin/test/fixtures/formatAddress_tb1qeu6xmet5wqslj2w0wac0hx5gj6dupmp869cajrkt3kw6ud3kkecs62l3du.txt b/modules/utxo-bin/test/fixtures/formatAddress_testnet_default_tb1qeu6xmet5wqslj2w0wac0hx5gj6dupmp869cajrkt3kw6ud3kkecs62l3du.txt similarity index 61% rename from modules/utxo-bin/test/fixtures/formatAddress_tb1qeu6xmet5wqslj2w0wac0hx5gj6dupmp869cajrkt3kw6ud3kkecs62l3du.txt rename to modules/utxo-bin/test/fixtures/formatAddress_testnet_default_tb1qeu6xmet5wqslj2w0wac0hx5gj6dupmp869cajrkt3kw6ud3kkecs62l3du.txt index 310440cc0f..5954032900 100644 --- a/modules/utxo-bin/test/fixtures/formatAddress_tb1qeu6xmet5wqslj2w0wac0hx5gj6dupmp869cajrkt3kw6ud3kkecs62l3du.txt +++ b/modules/utxo-bin/test/fixtures/formatAddress_testnet_default_tb1qeu6xmet5wqslj2w0wac0hx5gj6dupmp869cajrkt3kw6ud3kkecs62l3du.txt @@ -1,4 +1,9 @@ address: tb1qeu6xmet5wqslj2w0wac0hx5gj6dupmp869cajrkt3kw6ud3kkecs62l3du +├─┬ bech32 +│ ├── prefix: tb +│ ├── words: 00191c1a061b190b140e00101f120a0e0f0e1d180f17061408121a0d1c011b01071a05181d1203160b11160e1a1c0d111616191810 +│ └── bytes: 0679a36f2ba3810fc94e7bbb87dcd444b4de07613e8b8ec8765c6ced71b1b5b388 +├── format: default ├─┬ outputScript: 0020cf346de5747021f929cf7770fb9a88969bc0ec27d171d90ecb8d9dae3636b671 │ └─┬ scriptPubKey: [34byte] │ ├── type: witnessscripthash diff --git a/modules/utxo-bin/test/fixtures/formatAddress_t2AsGZAjogTnqmzkxwUVjmhewx3n9qwJkTV.txt b/modules/utxo-bin/test/fixtures/formatAddress_zcashTest_default_t2AsGZAjogTnqmzkxwUVjmhewx3n9qwJkTV.txt similarity index 81% rename from modules/utxo-bin/test/fixtures/formatAddress_t2AsGZAjogTnqmzkxwUVjmhewx3n9qwJkTV.txt rename to modules/utxo-bin/test/fixtures/formatAddress_zcashTest_default_t2AsGZAjogTnqmzkxwUVjmhewx3n9qwJkTV.txt index e91d0e704c..c4563ac11d 100644 --- a/modules/utxo-bin/test/fixtures/formatAddress_t2AsGZAjogTnqmzkxwUVjmhewx3n9qwJkTV.txt +++ b/modules/utxo-bin/test/fixtures/formatAddress_zcashTest_default_t2AsGZAjogTnqmzkxwUVjmhewx3n9qwJkTV.txt @@ -1,7 +1,9 @@ address: t2AsGZAjogTnqmzkxwUVjmhewx3n9qwJkTV -├─┬ base58Check: 1cba2f5e2d8f4ee34ccd1a4130975b9fe635ff65e02b +├─┬ base58 +│ ├── payload: 1cba2f5e2d8f4ee34ccd1a4130975b9fe635ff65e02b │ ├── version: 1c │ └── hash: ba2f5e2d8f4ee34ccd1a4130975b9fe635ff65e02b +├── format: default ├─┬ outputScript: a9142f5e2d8f4ee34ccd1a4130975b9fe635ff65e02b87 │ └─┬ scriptPubKey: [23byte] │ ├── type: scripthash diff --git a/modules/utxo-bin/test/fixtures/formatAddress_tmUurBNb8p1PaStfKTrh8vQUXc8u7i1s34C.txt b/modules/utxo-bin/test/fixtures/formatAddress_zcashTest_default_tmUurBNb8p1PaStfKTrh8vQUXc8u7i1s34C.txt similarity index 82% rename from modules/utxo-bin/test/fixtures/formatAddress_tmUurBNb8p1PaStfKTrh8vQUXc8u7i1s34C.txt rename to modules/utxo-bin/test/fixtures/formatAddress_zcashTest_default_tmUurBNb8p1PaStfKTrh8vQUXc8u7i1s34C.txt index b761874d48..262ec60c9f 100644 --- a/modules/utxo-bin/test/fixtures/formatAddress_tmUurBNb8p1PaStfKTrh8vQUXc8u7i1s34C.txt +++ b/modules/utxo-bin/test/fixtures/formatAddress_zcashTest_default_tmUurBNb8p1PaStfKTrh8vQUXc8u7i1s34C.txt @@ -1,7 +1,9 @@ address: tmUurBNb8p1PaStfKTrh8vQUXc8u7i1s34C -├─┬ base58Check: 1d25d2970bfc64117e397dc5cb7a9afe9f8b22dca1f1 +├─┬ base58 +│ ├── payload: 1d25d2970bfc64117e397dc5cb7a9afe9f8b22dca1f1 │ ├── version: 1d │ └── hash: 25d2970bfc64117e397dc5cb7a9afe9f8b22dca1f1 +├── format: default ├─┬ outputScript: 76a914d2970bfc64117e397dc5cb7a9afe9f8b22dca1f188ac │ └─┬ scriptPubKey: [25byte] │ ├── type: pubkeyhash diff --git a/modules/utxo-bin/test/fixtures/formatAddress_t1d56rY6jRLt5JeTso8PQ4jon19pJAF13hg.txt b/modules/utxo-bin/test/fixtures/formatAddress_zcash_default_t1d56rY6jRLt5JeTso8PQ4jon19pJAF13hg.txt similarity index 81% rename from modules/utxo-bin/test/fixtures/formatAddress_t1d56rY6jRLt5JeTso8PQ4jon19pJAF13hg.txt rename to modules/utxo-bin/test/fixtures/formatAddress_zcash_default_t1d56rY6jRLt5JeTso8PQ4jon19pJAF13hg.txt index 057200be0c..3383adc99c 100644 --- a/modules/utxo-bin/test/fixtures/formatAddress_t1d56rY6jRLt5JeTso8PQ4jon19pJAF13hg.txt +++ b/modules/utxo-bin/test/fixtures/formatAddress_zcash_default_t1d56rY6jRLt5JeTso8PQ4jon19pJAF13hg.txt @@ -1,7 +1,9 @@ address: t1d56rY6jRLt5JeTso8PQ4jon19pJAF13hg -├─┬ base58Check: 1cb8d2970bfc64117e397dc5cb7a9afe9f8b22dca1f1 +├─┬ base58 +│ ├── payload: 1cb8d2970bfc64117e397dc5cb7a9afe9f8b22dca1f1 │ ├── version: 1c │ └── hash: b8d2970bfc64117e397dc5cb7a9afe9f8b22dca1f1 +├── format: default ├─┬ outputScript: 76a914d2970bfc64117e397dc5cb7a9afe9f8b22dca1f188ac │ └─┬ scriptPubKey: [25byte] │ ├── type: pubkeyhash diff --git a/modules/utxo-bin/test/fixtures/formatAddress_t3Nt5WVdfp1BUEJBE1jVhE5UJqZYz1DCoRU.txt b/modules/utxo-bin/test/fixtures/formatAddress_zcash_default_t3Nt5WVdfp1BUEJBE1jVhE5UJqZYz1DCoRU.txt similarity index 80% rename from modules/utxo-bin/test/fixtures/formatAddress_t3Nt5WVdfp1BUEJBE1jVhE5UJqZYz1DCoRU.txt rename to modules/utxo-bin/test/fixtures/formatAddress_zcash_default_t3Nt5WVdfp1BUEJBE1jVhE5UJqZYz1DCoRU.txt index 21a7c800f4..78012b0586 100644 --- a/modules/utxo-bin/test/fixtures/formatAddress_t3Nt5WVdfp1BUEJBE1jVhE5UJqZYz1DCoRU.txt +++ b/modules/utxo-bin/test/fixtures/formatAddress_zcash_default_t3Nt5WVdfp1BUEJBE1jVhE5UJqZYz1DCoRU.txt @@ -1,7 +1,9 @@ address: t3Nt5WVdfp1BUEJBE1jVhE5UJqZYz1DCoRU -├─┬ base58Check: 1cbd2f5e2d8f4ee34ccd1a4130975b9fe635ff65e02b +├─┬ base58 +│ ├── payload: 1cbd2f5e2d8f4ee34ccd1a4130975b9fe635ff65e02b │ ├── version: 1c │ └── hash: bd2f5e2d8f4ee34ccd1a4130975b9fe635ff65e02b +├── format: default ├─┬ outputScript: a9142f5e2d8f4ee34ccd1a4130975b9fe635ff65e02b87 │ └─┬ scriptPubKey: [23byte] │ ├── type: scripthash diff --git a/modules/utxo-bin/test/parseAddress.ts b/modules/utxo-bin/test/parseAddress.ts index e2ca581aa9..b8566a79f2 100644 --- a/modules/utxo-bin/test/parseAddress.ts +++ b/modules/utxo-bin/test/parseAddress.ts @@ -60,23 +60,39 @@ function createScriptPubKey(keys: KeyTriple, scriptType: ScriptType, network: ut } } -function getAddresses(n: utxolib.Network): string[] { +function getAddresses(n: utxolib.Network): [format: string, address: string][] { const keys = getKeyTriple('parseAddress'); return scriptTypes .filter((t) => isSupportedDepositType(n, t)) - .map((t) => utxolib.address.fromOutputScript(createScriptPubKey(keys, t, n), n)); + .flatMap((t) => + utxolib.addressFormat.addressFormats + .filter((format) => utxolib.addressFormat.isSupportedAddressFormat(format, n)) + .map((format): [string, string] => [ + format, + utxolib.addressFormat.fromOutputScriptWithFormat(createScriptPubKey(keys, t, n), format, n), + ]) + ); } function parse(address: string, args: string[]) { return getAddressParser(yargs.command(cmdParseAddress).parseSync(args)).parse(address); } -function testParseAddress(address: string, args: string[], suffix: string) { +function testParseAddress( + network: utxolib.Network, + addressFormat: string, + address: string, + args: string[], + suffix: string +) { describe(`parse address ${address} with arguments ${args.join(' ')}`, function () { it(`formats address`, async function () { const formatted = formatTreeNoColor(parse(address, args)); assert.strictEqual( - await getFixtureString(`test/fixtures/formatAddress_${address}${suffix}`, formatted), + await getFixtureString( + `test/fixtures/formatAddress_${utxolib.getNetworkName(network)}_${addressFormat}_${address}${suffix}`, + formatted + ), formatted ); }); @@ -84,10 +100,10 @@ function testParseAddress(address: string, args: string[], suffix: string) { } utxolib.getNetworkList().forEach((n) => { - getAddresses(n).forEach((address, i) => { - testParseAddress(address, [], '.txt'); - if (n === utxolib.networks.bitcoin && i === 0) { - testParseAddress(address, ['--all'], '.all.txt'); + getAddresses(n).forEach(([addressFormat, address], i) => { + testParseAddress(n, addressFormat, address, [], '.txt'); + if ([utxolib.networks.bitcoin, utxolib.networks.bitcoincash, utxolib.networks.ecash].includes(n) && i === 0) { + testParseAddress(n, addressFormat, address, ['--all'], '.all.txt'); } }); }); From 9ff1d89ba0e42d53640f0fe7b71c53d1a2eb4a10 Mon Sep 17 00:00:00 2001 From: John Driscoll Date: Fri, 18 Nov 2022 16:19:33 -0600 Subject: [PATCH 02/15] feat(sdk-core): add keyDerive to ECDSA TSS implementation BG-62201 --- .../test/unit/mpc/tss/ecdsa/ecdsa.ts | 25 +++++- .../test/unit/mpc/tss/fixtures/ecdsa.ts | 2 + .../test/v2/fixtures/tss/ecdsaFixtures.ts | 14 +++ modules/sdk-coin-bsc/test/fixtures/ecdsa.ts | 6 ++ .../sdk-core/src/account-lib/mpc/hdTree.ts | 81 +++++++++++++++--- .../src/account-lib/mpc/tss/ecdsa/ecdsa.ts | 85 ++++++++++++++++++- .../src/account-lib/mpc/tss/ecdsa/types.ts | 7 ++ .../src/account-lib/mpc/tss/eddsa/eddsa.ts | 2 +- 8 files changed, 203 insertions(+), 19 deletions(-) diff --git a/modules/account-lib/test/unit/mpc/tss/ecdsa/ecdsa.ts b/modules/account-lib/test/unit/mpc/tss/ecdsa/ecdsa.ts index 07ab19db31..7d530152df 100644 --- a/modules/account-lib/test/unit/mpc/tss/ecdsa/ecdsa.ts +++ b/modules/account-lib/test/unit/mpc/tss/ecdsa/ecdsa.ts @@ -48,7 +48,25 @@ describe('TSS ECDSA TESTS', function () { const dKeyCombine = MPC.keyCombine(D.pShare, [E.nShares[1], F.nShares[1]]); const eKeyCombine = MPC.keyCombine(E.pShare, [D.nShares[2], F.nShares[2]]); const fKeyCombine = MPC.keyCombine(F.pShare, [D.nShares[3], E.nShares[3]]); - keyShares = [aKeyCombine, bKeyCombine, cKeyCombine, dKeyCombine, eKeyCombine, fKeyCombine]; + + // Shares for derived keys. + const path = 'm/0/1'; + const aKeyDerive = MPC.keyDerive(A.pShare, [B.nShares[1], C.nShares[1]], path); + const gKeyCombine: ECDSA.KeyCombined = { + xShare: aKeyDerive.xShare, + yShares: aKeyCombine.yShares, + }; + const hKeyCombine = MPC.keyCombine(B.pShare, [aKeyDerive.nShares[2], C.nShares[2]]); + keyShares = [ + aKeyCombine, + bKeyCombine, + cKeyCombine, + dKeyCombine, + eKeyCombine, + fKeyCombine, + gKeyCombine, + hKeyCombine, + ]; commonPublicKey = aKeyCombine.xShare.y; pallierMock.reset(); }); @@ -124,7 +142,7 @@ describe('TSS ECDSA TESTS', function () { let config: { signerOne: ECDSA.KeyCombined; signerTwo: ECDSA.KeyCombined; hash?: string; shouldHash?: boolean }[]; before(async () => { - const [A, B, C, D, E, F] = keyShares; + const [A, B, C, D, E, F, G, H] = keyShares; config = [ { signerOne: A, signerTwo: B }, @@ -141,6 +159,9 @@ describe('TSS ECDSA TESTS', function () { // checks with no hashing { signerOne: A, signerTwo: B, shouldHash: false }, + + // Checks with derived subkey + { signerOne: G, signerTwo: H }, ]; }); diff --git a/modules/account-lib/test/unit/mpc/tss/fixtures/ecdsa.ts b/modules/account-lib/test/unit/mpc/tss/fixtures/ecdsa.ts index 94fc015e81..ffe34c6b2c 100644 --- a/modules/account-lib/test/unit/mpc/tss/fixtures/ecdsa.ts +++ b/modules/account-lib/test/unit/mpc/tss/fixtures/ecdsa.ts @@ -117,6 +117,8 @@ export const paillerKeys = [ export const mockPShare = { i: 1, + t: 2, + c: 3, l: 'db9befbfbb99c1166c558de80c2ea4b44a78ef7717caaf6a1b10f9b4d1b82cb7e4fb83d64effed3c1ad7b13dedc3560da7f3603498d363f512cd14f71ad94c09c858d8025c96a1470680a3070be195365dc74bfea1b15fef0ad545838cc10ca29c21c0412988a8cc76633dfb65d97603c32627f21bebb0bc32dbe8361591be06d55f9838b55ee989a660fec51ec26947005cb998278dfdc6b3d0c19ab4e3ee410c91e5d32cb2a4a2d8a5a3261505a87825da2561f411a4594b71178de93dce9aba2fa67b5caeb662e8137d1fa5b8eb475d7e020e6fa9544ab0ad0a06eaa8c8e2865e90a5f17f7c836220c5c093582c27d14510a22b3896cd593fcea11c37f5831a08b54eb159551fb4c04a73d67e4314e5b2296f8e168c1b05f84d9955cfea63f059c2643f45c5ff9397783ee9d509143b0975c89efa71e21177323483f177b94fa4eae320922234a1e66c254c58ecc5d49acabc725560f35c161348625f2457e0887edeb49b98c2bb5738add6bb30773465faebe3765bf429ae795d13a730d4', m: 'd4f8390be4d0dc912e1714c71c70a315189e982ec6697ec112f91184f24de8d23e4118a3e945524a2b6be336c8b05918f3404b93bdfefd3574e8e043c641e30dc445d4c6d0a38ad3a45aa15bc8d37ce76b3a68e821f82d90f0f66416a2236334e3a0132f780005a4608de96e517041f59f25ac31816e860b00dc0a589f26d0c4dbfa5e07b847c5d4a5a405cb3e788810b226ea8befa8aa358211fd241a149f8434c96a082a9ef14adc96b521c05f54eac16afa4e5b329aa299b6fe5c3c73e7e9ac9fed0901f9a14d3cbe36513da375a1ee5654f21f8cf15dd199b468367383c36c9e350bd1082fbfce892eef0ba85163f276a34ba05fb601744b6aadfa24ee6f69ca6576c8510d27f6bd90926c884acb066727598440421c30b7147aad4b8f57f1176b66356393b03e7871ce2daf97f0b348187f38722985d2be4259212a6711f2e7c1a6af401eacf9727c3d8c592371293bbe9d1325c5e8ea9f317d0a182286cbbd60930ab40462bcc94a8e8a3a41a0a8a1c5c5639f653df5285d3eb9095e98', n: 'db9befbfbb99c1166c558de80c2ea4b44a78ef7717caaf6a1b10f9b4d1b82cb7e4fb83d64effed3c1ad7b13dedc3560da7f3603498d363f512cd14f71ad94c09c858d8025c96a1470680a3070be195365dc74bfea1b15fef0ad545838cc10ca29c21c0412988a8cc76633dfb65d97603c32627f21bebb0bc32dbe8361591be06d55f9838b55ee989a660fec51ec26947005cb998278dfdc6b3d0c19ab4e3ee410c91e5d32cb2a4a2d8a5a3261505a87825da2561f411a4594b71178de93dce9c962c7cc8e9e6bdc65d3934b93dee036b9849244ab4f248d4265c6c3b6b11415aae00dd6ce96133dfd18104f3825415ee282ae86c1a49701f9ab17a94eebef7f0a910529d274efa3548f630ce38f764770a47733727e73469c90a4052f092005421916adb8a910a3a06e23702e83b6bb5c18369304e8c176e7c2bbfdfe9b872467b337b4892252cf83222dbd192b3623a0757ca00d15961e9355fba850df4b038ce14838534740d3747ecd01f1f427924512cbdcdb61e751866c04737318ba9e9', diff --git a/modules/bitgo/test/v2/fixtures/tss/ecdsaFixtures.ts b/modules/bitgo/test/v2/fixtures/tss/ecdsaFixtures.ts index 3c20268279..e7b6ced412 100644 --- a/modules/bitgo/test/v2/fixtures/tss/ecdsaFixtures.ts +++ b/modules/bitgo/test/v2/fixtures/tss/ecdsaFixtures.ts @@ -6,6 +6,8 @@ export const keyShares = { userKeyShare: { pShare: { i: 1, + t: 2, + c: 3, l: 'a1a7728d36dacf20c79bf12a2b2241c6bd891f534e58fd7f997a19af6c4d88975e3190417b1f6c61f12b4a18947f1b52123b4b87cb7cdf963d4c2ebfdf83f966f7e209b4089fcdd02a78bd259787a330d93412fd60420d20541f9fb65f0588f9f45e923d6461bc1bfbc4e779904c4664df1da2c5f858b18534dee88c098beba97496730d908f89ee78cf681dcb7d1dce416c5a064400d9ff6b61dd3c1a0654474972dbffbbc798371d77294c5f4e5dbd3581fa9c6ebabaa6fff02980a26ed230ca4682a3e3b3fa67bf0dcc80a525b0983630cf9251643114ad2ae651e32d9cdb2753f3b362822f004ad47ebaa25af4e71d19e2dfbefc13584c39135a93557589e05023653f744ad7981cb992f18fee6f9b168d1146f43edafba2c0a66dd33afb68b3a26e05ebacbef1ed0ef88abff3ccbfa7d11dba20664008fa31a546e669ce926c6836abf71df0937f78461573238726de348a530d0da19ac27c7233d7f4f5fef158e3da28db5877642341b66ba2c91451f40b908287fb343fc9a556087b18', m: '1e7d61cf7ba86b3677a3a254c7e1753505119112005b3e49fa5d4c7bf3b7fd40b1ef795edb0358de3b4cd57e197672157528b5e00936c1c52ff4ec08abf38be50a0327e72f12eb24d7d3c7bb8a43fea87ff2f9a288c83594d4e87a1696f63b4675d80da2325485e25bdfe2d3c204b69af4761597bfe27821784f064f98bfe0cd2beb24f208be143e1f6e5a79187904f5bb5ecbdbb4cdf02ff141d64697d63d1349d9963afc830f25327c6f309baff16641df3f502353188780d8a38d1a93ac2cb60e3e5781151bb5b6937a191423e64f3e14d6b1da8e310af18c165df222f2a6b941c95316258876a58160f62a5d42e5a8e8eba9695470d8342bb9fa6c317690789cbbccccec4483990151b38e4b90b340b63cafab3963f982562942b744383e300f26a9059302eb4fb9161f93c492f968af6337c2c4879ec389e9ab7b1250ac981d4ace0a5ae19a1b159c0b55ec6dc0e537517130a69d17b5c5b8f4e6c36b0196527092506baa774cc76f2f64d3368de2561549a24425fc9944f2725f253cef', n: 'a1a7728d36dacf20c79bf12a2b2241c6bd891f534e58fd7f997a19af6c4d88975e3190417b1f6c61f12b4a18947f1b52123b4b87cb7cdf963d4c2ebfdf83f966f7e209b4089fcdd02a78bd259787a330d93412fd60420d20541f9fb65f0588f9f45e923d6461bc1bfbc4e779904c4664df1da2c5f858b18534dee88c098beba97496730d908f89ee78cf681dcb7d1dce416c5a064400d9ff6b61dd3c1a0654474972dbffbbc798371d77294c5f4e5dbd3581fa9c6ebabaa6fff02980a26ed23277696fc7b03b4ef9142784d4fdadaecea436262a757549649725776a9dd2b53bd28dfb76ff67b1b99ddafe83029087833bd9d40f3b41197f05bbbee754b425a1c30ea7f4510a4e16a448dfe5c723ba9a48a16690790b637d81cfe72b836232c3e8fa82dbb3d93cc17aa19b421e086c8939e9ec3b00fb3fae67afddb412ae0d620d4e1bf05a1c4c9448a0e97e8989b32656268f7c1e286439beef8f2436b39f43741a994b1d4976244392fffd4f1407c328ce7b4881d35be3552cccca04255da7', @@ -38,6 +40,8 @@ export const keyShares = { backupKeyShare: { pShare: { i: 2, + t: 2, + c: 3, l: 'dc2ab89c3888452c814a539a9dd8faba199ab52781ff10b7e870dce72d2c5fc1cb1f039c0f9e90d201194ea1e733730bd9dc64aa239f95da246beb3198e48f274f0b0e7084f3df5aad69b4e624ac9cab5e31dd1335499c8b29e6535858d049fb33ec4933cfefd2e4b11026df3a3818d365a3ac36a120f34b74aebe0490fe90596f0efd69d1d9e5c291f99d10278bce1a4c806e52fa111654c9d9bcb0d89dcf090f58d469e406469ebadb84b16ccc5cc8beca04bb4013991b59af0fd65d24dfd5dd8c6f54d31fbb5e679e4e30adde442a08ef9a49e9c06932f9c7f61cc91122bb412601e8f6c6668b595a50f638a261568a6ad6ba1657d84112573be994994141b6fa78ae0eec3a5d01acf24179d1f38ef1bc4b157d158318e1e2ab34426c85a99b66b3b99a1fa3466d19c225e807ac66322418f97941dbfdd26906e64034d6a55d59d28e66dc20c3d5c3eaa05c6db52216221f82273f6b11940a4a1c814bfbf15165cf475e148ae87e2b5e980f55a51de98aedda77e2923407b3b2e64357bb14', m: '1a8423324d6977cf08a81fb3c730f26b00dee9c3b7cb4b9c3576bdb9fa5ee39d62926ec8236430cc2f8bd4acc8e187c19043b87ca9972dd71be81434390f059b2a14e96ffb0bb53ebd8bf8c199282e866d2121b243015ebb3f8dbb654f913d36d35e2691ad6c6e124c1b6b65a77b51c7174d5e500a9eb9085a0d1d65eb24d5bb31c4e1625ff1dde547c8ef8ff0956fc13f185c61ccd5ce1150423fbbcfe43b23f47088ace4545f51a6d74e0b55b1be4cb18aa2b34e31479c145b9d7a2baf89bda8250b63b99827520b15554b2cd75b1e9288280a2a53c3dc49d74c84eceafea8782312d369bfe3e76cfb50c4ff4043cceb4fdf32cb24584243ee22956947896e9cfac6416708aeb358b6c33b0de3a214c73d54eda4e5311ebfbcac3d59b6d84033b8a53ba61bf862176b04f157a06e57e1d47b91840a9def99c375fee28b41eee7bd79f1eff4144210387d3d188881331a758df56a6ab99f522d1ea2b3e05c28a5bb7f5b3464df4d1e95a739ffdc42963f5b27b7801ecd3ec675b1fc5cc3ec3b', n: 'dc2ab89c3888452c814a539a9dd8faba199ab52781ff10b7e870dce72d2c5fc1cb1f039c0f9e90d201194ea1e733730bd9dc64aa239f95da246beb3198e48f274f0b0e7084f3df5aad69b4e624ac9cab5e31dd1335499c8b29e6535858d049fb33ec4933cfefd2e4b11026df3a3818d365a3ac36a120f34b74aebe0490fe90596f0efd69d1d9e5c291f99d10278bce1a4c806e52fa111654c9d9bcb0d89dcf090f58d469e406469ebadb84b16ccc5cc8beca04bb4013991b59af0fd65d24dfd7efac59033fe178db7cec6f4aed7f24694ce23f9e4bc67d2c12fc8c5e84d3fde1289af1f1232ae5b7537cccc38e1acfa3239b0002e08349919effed414b2d9e0d4e7adf934b9cc527001176dcf92e1596fb3a6a8540e692fac3ae9476325c0294ef04bee2a6e76c8e74eb3c7eb6457c1b0f4b84214624489b93751efa192185e9dafdfb8b6cf7700e17f9917cb6d45c3edd351ccf09d2cf334439b704b11058afac78874c1d538b1923acfb7f0cd625b3849e077e74261753afb8025d0928fd61', @@ -70,6 +74,8 @@ export const keyShares = { bitgoKeyShare: { pShare: { i: 3, + t: 2, + c: 3, l: 'e70a7827b2748c5264c70a46fb5427396d8e79605bf2507b581722f27530bcbf10e6a20e219d3bdc26083195bfb51c41a100751691126e6a9649ed2c037b356ee82f59ac6edeb278104d01a7a1d6cba0da72783834fb1da4fd5d0e7c040c665f8a0f23e57d5fb6c72599cf21d67a31949c59c3ace0a455a7e565ccc991dc5e717c027b272c888eaa016c8c9c54154cc71dab0ede8838189795511cf9d19738c8a2338320d551c38ff40358010ade95d74ae49a4bdcd10bff75d7e74fd6e6df5f73eff52bef90ebaaa60ffe8cfb5bff688c90c92ee3c1b20c366e044ba39f76c5a5b2120ceb46e57b109509d62ccba2a7d138f6c6a02ce6be4c5e9b065181d2700b6b4485132fd3615f687867c73be1df5e0525bef8aface335aa3426364d7df74a49f915eaf8fc967ceadf422f21999c2afad2629212a908f3ace38aae157971ac240c5a65a11ec7968fdb2e283770677d0afd0cad59eb823b5dc69bb50d7ce3b79a74c4f4bb06ca01c36e2dc51d5852d33b045e6b943a6396501b74ff08dfb8', m: '45315d66f88900fd2c906a89b58919bd9966bca242274886ef7eae732748e9818e1d8b7ad16819a6adc4662cf69d1d842c6910dfc36efbec53d2978ae8510a6fcd4eff706d25b660602d7c46dea73fe10f8322d6d5714322335de7bb972c47e0a311b05c1ae20dcc82a6101b1525d06c072b5ef7f3a7cf15b091c68d6e20489f1f4e1ccc9bb117322714d566a89748bd02caeb99331a56a594b556be60d24c7bc66eb9b9c6c39a0781d43f98765efd3c12707d8c0041fdb46bf360aa5e6a3cb7eeda5902371bb6ccabbd1ee10ec87d76883a96167ecc22c6e9f114d984d99c8fa72dbf88e474e8eb6bc50fa9e584b3fc701302363c11af4dc36ec4607ae84ad3ce27b788ffa1fd9f8190e7c3b9d2f2d2c08ed950adde6b15cf9a0c8f05488545fbce69209aa0c980271d6dc89d76d242f220d58c0e92e698b9cc69980c994f19765ffe2ffb802b2f0d27d1575ca0c96dd91276e8063fa6f35a043d7c95b4751770d925f5d5662a5f5daff7771206df1d34c9c7a7b8803a1fbec47a41636dd510', n: 'e70a7827b2748c5264c70a46fb5427396d8e79605bf2507b581722f27530bcbf10e6a20e219d3bdc26083195bfb51c41a100751691126e6a9649ed2c037b356ee82f59ac6edeb278104d01a7a1d6cba0da72783834fb1da4fd5d0e7c040c665f8a0f23e57d5fb6c72599cf21d67a31949c59c3ace0a455a7e565ccc991dc5e717c027b272c888eaa016c8c9c54154cc71dab0ede8838189795511cf9d19738c8a2338320d551c38ff40358010ade95d74ae49a4bdcd10bff75d7e74fd6e6df61a2b1c541c481384c25a3eaac80bcd450333bdc414a8e89c885bac072f3c317484f9ac3c7076017c45a22c8679adad03d36e2aa1a8e6bc02ab49eac90a3451523118d45d4101d3900f622816f460dbd43621c04ba3de03f4e4ebaaaa6ba5bd2b1ede7eb1c58a5634496eb02a07714fb0c4010cc0c253b75fccc96f56a0dedd64f9371786d94e1598f16c02e1c69e8e57e214cae8247cbbb21a538bfe9888d57fd83e5ce36a0f6be4af98c5b76fce3f5531847d873fce6d457dda2ecad5322946b', @@ -105,6 +111,8 @@ export const otherKeyShares: ECDSA.KeyShare[] = [ { pShare: { i: 2, + t: 2, + c: 3, l: 'e1f51b571774e8fcd7b60cbdddca6079535f2b11b07c954b1f9aa63e83d902d8ed2f5ee9de1ed5179bdcd1561e33e461ef14b683c2b2b95188c0968723b07b1f6ee56a5881b9534e724a3936c07e0d1653046f56b99f7e938606c81aa27741f5e6760b5b3e0ac9b8322e59496e0b79ba36508001d2ee3787dba5185bbe68597952305bd876a1a4d1433ad1b184da2cf9835014e6accfea31bb0647f7c75d3ba7ecff1c7e2699ae13466358b2b884d886f62b495a3bfc2b147af3d012e38546d1bc1e86815647ff28ad441d3412dea927f0a2f3d6c966315079915bc67180efc6a881342d5535a012bb1b2db26a5948c455cc07dace37d136d655bc199cd2ba86b741a27d92a0dc64dcb4f3c94f1b4a90663883d0eb711d20f9e09c48368d4da868f060b685024f59e9b41e9057f31d58382c7360239decb651b1c0c4fae1a3dd193c44f3bd31b56d231f29c07bd5d9003995aba8b2804d90d3e2aac836677c5e7d703d2fa5faf15e6f3a1c0cb04028f07e965f8eed55c0f3efa7289770f22a18', m: 'a9479c3250fe1deb2d631564e09acaca2a73a4bace108d43709bfacdb4056467a34c83ce8aa20da34dcc7b0a20bb89e7d7cad1b3b5d02a1ba0534d9edbaecd73a45bcc96dfdad803b0aefa2e309578679edae03dbab5e51614a0bca5fbdfc21d129c606bb3152c59a9ccfcc242771076d81f1c25defb39cc7d312e0826821fe45abf5225b011d7fa7c45cf054b12c667304ce62d54b04b3a1e1a905f5308c647fd015e2cc4122ec58cdf6295a8e0f8d6e84e5dbf9300ae8668dce7862b5074e23be09847bc16d4902beb7a00cd29b6422eb35d74e2d982bb76f1892fbdb828b56e76a606f34205ffda5c5aa9867828ba8205ea6be227de88de9d3f6b0e3ea2adecbb986409339bf6dbd0e9674839a7d023e2e06cf4f3cd1653b5030ce4c0b34704bd1bf3e5e53bd0dad90dcb1ea8a86e25bc7f861f60c2b05c11e32633fe4591240a9ac2c3ae4ee615789346db4187873f34bab43ceb3d029a26708339bb97d39e7b0bb1e864336bc60eca67bc835d3f80ef7f45858e652df84058439bad467', n: 'e1f51b571774e8fcd7b60cbdddca6079535f2b11b07c954b1f9aa63e83d902d8ed2f5ee9de1ed5179bdcd1561e33e461ef14b683c2b2b95188c0968723b07b1f6ee56a5881b9534e724a3936c07e0d1653046f56b99f7e938606c81aa27741f5e6760b5b3e0ac9b8322e59496e0b79ba36508001d2ee3787dba5185bbe68597952305bd876a1a4d1433ad1b184da2cf9835014e6accfea31bb0647f7c75d3ba7ecff1c7e2699ae13466358b2b884d886f62b495a3bfc2b147af3d012e38546d3a20454d5a6e16e33125af3914bef6b4a1b5100f07a92cb1a0bf8d7f811bb5832cf36e8fd3da067f885631712a85b387ec81ee0fa0c8bf4895e91fd2bf1720c7f1534e558066718ab89e69d8915f99dcc0140630fafbe84db5a9f4101ad80a86d9a0518a89c4cb5b87a7de9be849e4d71513131439874e688b4c05180f42e2b99e2a56fed4d3fcec4239c496731b042f99c7c8ceee72a0eb7f082203977beecb807f313dc39b8245b11bae48ffdbb50449766cb4a3735b19d277998a668ebadaf', @@ -137,6 +145,8 @@ export const otherKeyShares: ECDSA.KeyShare[] = [ { pShare: { i: 1, + t: 2, + c: 3, l: 'efe2b16d34bf453d09b432b9ceb34daeeafce37dc54d62bfac96b7dc3593bc31559c848af174a6ed8d825f9987a1ca0fb11bddeb74879b3ebdd86dfb81fc4f93ba32cdf6f1957f5bae212ae32678f01e22bb3f5077a8572e173c0d9b85749e898f52504052346f3eadfc359bccbaca543088fd8fcf86718141b5bd1b786b0f33e8b65c8240a4762777e0211c90a2ee0d07d743d28f373da2d0ff4c6a98505cd1205e4556c065b3b853405e644f1bcc8b2796ea51d02aa6f0837623ce800c6aa18b0af04da3b620dee3b7cf0c51ef5023f0da2d4b6f8b6c032451c7072f9cfb539efa7118c3f70caa46fb22a426b05e73bc99a1ee98f57c518ec0abb8b56193aa86de803b4b55034014df5a7d121e197c18714919682dd6a20c970dcc8fe22e6d20194f5235181014426aa9b5c150508e51273a5bc50c7ef226cd5a9516102936f35cfecbcb77e6e4f4ca7c437876f06c7898c3b36e8606d9a461eb7e083f52f26a88c3c2875d2dd0945c3b0c7f7b08a26c99e7a7a27f40099844d9e84fcf6b94', m: 'eed420f5f549fecc850962b22d87b0d2aef91ebd9cdd15bbb4a408a0d4da87c48c4fd6caa093587c8c534ca78f412d03c3be6722440d11989b0ca514f2a4091c7e521c2932b7ce16de659454815339daa7c7a4b96a2c01a1487f105bab027eab52914229be591b3370022e5cd5c5eec2f5308781eb6754668abd9460e6b7611ce20873dd5e75839f56e96600b73527a43077615c4cce631ba49502bf6ecc776641fa4110a09df7ffc8b7712f4df57bb3295548b54870358be8856e6d341d09f047be477e272f23a2e0bff25f01b2803e755657ebdc14fbe71a1a4cb8bb9b91bd1ffc5c1773415de675d5dd99dd6b5b458ff65eaf1269ac565f32f68aee02804f843449a6fd58003ed5265126bdc2a4a40a6ccaf3ee05dde35f1fc5af377f936a16edebbbf50f51c96c5e473c4a38eb60a531ea392bf35ccef2c683ec0233940df74091401d6e6b5351237f1e8ce6e116c54882b6af34a11f402eac824d07dbf0114e6e587d64c425841da98015129bd85639041a25c96e4f1deb3256e67a1f04', n: 'efe2b16d34bf453d09b432b9ceb34daeeafce37dc54d62bfac96b7dc3593bc31559c848af174a6ed8d825f9987a1ca0fb11bddeb74879b3ebdd86dfb81fc4f93ba32cdf6f1957f5bae212ae32678f01e22bb3f5077a8572e173c0d9b85749e898f52504052346f3eadfc359bccbaca543088fd8fcf86718141b5bd1b786b0f33e8b65c8240a4762777e0211c90a2ee0d07d743d28f373da2d0ff4c6a98505cd1205e4556c065b3b853405e644f1bcc8b2796ea51d02aa6f0837623ce800c6aa3af2121d67c2dac5747df54514b8c0f28ecdc5db4e14659860a640f5bbd765300f712e24328bcd448d83e81269a99f10b4a69d9990304ad9ede10da46a5fad8823eb84b4753861f131cbe3ddc1fb85450a72549704181956cd795f228e0982509f59dd36e732c56a68922d40f369b64ce7371832bc94fd044c722c1d6bfb0e297c4d58cea1ac69eeef9b9043cfa999ebdd3860338411fceb9304a8e1463c047fc31f71d265c6275bde8ff5fcc39e54c3859b6766252040028f77f6658cc8f6621', @@ -169,6 +179,8 @@ export const otherKeyShares: ECDSA.KeyShare[] = [ { pShare: { i: 1, + t: 2, + c: 3, l: 'e610112a99a0ab456fb0232f3d36f53d4606ba24d051a00156df386dbe84da65780e2811c85065399bc916240ce5403051e9adf1b0f75a9dd5963af613d8c4df3410400a65965656f333380c658e316b8b3a4abca3f430a0012c56e7bba9d98b74d4d46b297999475a4b1c5d1f7187f404e12995158c1713ce09602616a11ec5223d46fcd15e3910163073db383405c574b0c9c6921967e7bacd369aa65d4b22dfea7717aa122dcfdb9758d59bd519a6b8c00dbf3f381239afd4f99361c6cb4d2e24cbad9bf1e76f6222371fc29c4d87f54ddacbcec72fc2dae04caa021bfdf9137ebd696984ba756ed06bba15b8d0b8d6cb4bc346d20a4eb56d0105e7c78d44614a5a78bffdec84f5715ccd336a56fbe4ad6e06af5d0c7215553889c748ddf3f473e40ec905fbbf4d48fee35791a0dd50b699189ae1c85d8886bbd51cae307c84551289dc5001d461c6b2e28961c5101757a5bbb31600620661f684cf337397f7799bb03408a486a4d6292c6d048bb7cac3b6abca3d3df36183558e34e7d6e8', m: '4dbc51b77ae5130d27cc231fc5b03ddb5dd361f11bc56d1256d74025d54f4c283d5cf530c61f7e6b663a54b70da8e544593dd8e75a5e01138a5e10ce40ea81004b1c5f51af61cc218f2aa17b64286f539ddc2f4991116209b12c36d0a28d855714445917bb1dcdbb254659afaacb27d79632c07889f228206e71d02754e3efd07f80d2ef462815bfa77af4a301ffad19bec8c903ab5cafdd2f05e995d2eb1de2a4d3c3ae4430ba4e53ce257b04138c968d4a9353e8ce7469aeb97a89f5938ebb85d6e2e74a6b3e698b41b9fcef84034da11e6491f57b0b99e11f39c0f3b744e0056b5a7ca02c37c04a498bd573fa3a5fc82758a2ffc47d0ac352f5828373059088c59a4515866b36e8d387f20c0e929d5c556b70a5472bef9e2c1c3245a1abde5725e4412df8402091d267bb62de70f820c973fe08f41dc8cae9c8c588d3798b7892757110cd0b20aba3113dd279dc4ded47153c5a53c281b1bbe0bd50e0fbfd87f3be4ce31b3547eba6bf932e4247443887003045ba122151d8bdad4588af6b', n: 'e610112a99a0ab456fb0232f3d36f53d4606ba24d051a00156df386dbe84da65780e2811c85065399bc916240ce5403051e9adf1b0f75a9dd5963af613d8c4df3410400a65965656f333380c658e316b8b3a4abca3f430a0012c56e7bba9d98b74d4d46b297999475a4b1c5d1f7187f404e12995158c1713ce09602616a11ec5223d46fcd15e3910163073db383405c574b0c9c6921967e7bacd369aa65d4b22dfea7717aa122dcfdb9758d59bd519a6b8c00dbf3f381239afd4f99361c6cb4f6ee7aa01f6f79f141cc60cb557881b0aec54cc4e3420856d20e3e11d7f9596ab0a9f75105cd2abdbd72d7ac748f25e0342dbb377e73c186641596938de5b979c60908021238be0f8bee21c068a75290fb57036fd59640b9766b3f777db09636c67918f10bd556895ef3e97396b6f23a6cee259fb5ce8f2330be7598546b4b48e3ee9f3cf4b40f1370adfde5c16c37bd5294c6fdbfa83cafe49ebdd2e02ee96bbfcd16a9ac837a8fbad6b71456ad07a3146f79586ab88790b19fd05a16fececd3', @@ -201,6 +213,8 @@ export const otherKeyShares: ECDSA.KeyShare[] = [ { pShare: { i: 2, + t: 2, + c: 3, l: 'fc02da40f17ac81164913c963767eca53732069afbb2d5c6d2c376b959adbe276876416ecf2e40d8f85b10e4bd2f2da580e33dea0a3f5fa714fcf93f4b968ed37e35829c5fe85937fbebaa6d68a3351f972a33637f39087ff37b1bd863e67fd16b435827dc3aadec28542b5c30137da08fb9825289356412d1440a099c1d5c3edab89abcf42a5240d0e827ca449c07c5e6bb85799d46269a43c69aaa1fd48acda12e3c6558bac2b63011d71e0a59858e00f4af597c50557980388d26211f4f34b44317a91626a25cc6b36973bb23dc544abfda0e2665485c657eed3fa815c2fa8c4b1c5cb3be4a2deafed438004f8031a038247b5f562357ce3c5eb8c730fad520578ff863863a7c8235e5229f8a323bed502b78694529beb92d6d98f0224e41fc43a260917c5794f82bcaa66ece8f0c863ada2090a2f7aafe348a9d45f36c0e1c20f0a0469809c815489d58c1156656a2d94f83395d40df3fa14abbaf0592c8f7de3206ea76c8d511421b23a0785897dfb8317c0c7a7d478a82a32ea23876a8', m: '283e35021341cd98a90b82456ba801844df02f72c6bff7b6ea18612e8d1fc7c56a80ede668821ab1682a5616dd2ced270967bcc9094b5ae7b5bb133ac8088210e2e3128e0a01b312aea46b4bd933f4f0a006edfea94ab9b41428e79d5e2b865d0f8b7a771509b6cdee11677c285dc2871b3bb9865ee86e0bba77b2de8961f6eb4797beacaaaff470c72f919f791c219c56b3da48a7af0ed157e242bde7964f9a44486edf8613c47702d051a9ea497ef4fd4bc4467d6ce7a7119653bb749a2b62b3359e94efa7aa2b2acbf8eafa9475d1ece36c6a587f47a3a184dcc84cd1bed620abc9e3f39ee06ea5a9f22590d23e738385928a3ebb707454f9f540a553000e651420571f86b9d81894a5b0e211f1150b0b327648f0f248b23f6ee8915275785f1a3742bd654bc9f5269d6c508105882d0c13cdc422b3f15ab702c79f40214c52e276b1267a93be138a1f4bad307c266ed1f67e90e65635617564f6c0285936d34b2cbf5547abf586078e36c63be0365fdce40904c6762b2cd0d358e67d6d86', n: 'fc02da40f17ac81164913c963767eca53732069afbb2d5c6d2c376b959adbe276876416ecf2e40d8f85b10e4bd2f2da580e33dea0a3f5fa714fcf93f4b968ed37e35829c5fe85937fbebaa6d68a3351f972a33637f39087ff37b1bd863e67fd16b435827dc3aadec28542b5c30137da08fb9825289356412d1440a099c1d5c3edab89abcf42a5240d0e827ca449c07c5e6bb85799d46269a43c69aaa1fd48acda12e3c6558bac2b63011d71e0a59858e00f4af597c50557980388d26211f4f3719cda0284af281879d37fa808c82be78a9d8be037c8f56e5b71447061448efac79c8e584312b53fd1eefde4a59e53c224a510c119ac3d7a6a73415ded5aaf8d97ec8b23ed9251d183037f8e2c9929394b664046e907f7f40e5d08eae1d7c2f5cd10317cdaa7dbf746d80731f32d712d981c378f17021721d5a02da5d6d125ccc52fef6f538614443c9d504e4663be0f4b2ba4799ea6c30ca099e088c82dec24b8eabb20f8e7aac9eafb5dd3924631133f950ab8f47de5c189ce217d267f0f777', diff --git a/modules/sdk-coin-bsc/test/fixtures/ecdsa.ts b/modules/sdk-coin-bsc/test/fixtures/ecdsa.ts index fffb1ae728..af3ec4b075 100644 --- a/modules/sdk-coin-bsc/test/fixtures/ecdsa.ts +++ b/modules/sdk-coin-bsc/test/fixtures/ecdsa.ts @@ -2,6 +2,8 @@ export const keyShares = { A: { pShare: { i: 1, + t: 2, + c: 3, l: 'e8ade89d248c10cda89063852841bf8a0da216e3cf29e1bb8323c1411f1d440a7e696edf2eda0d41d67f9e7e7f07df2f2d4839f133819fd2eb30366fdd08da68d25c8b8f24f42d8e25277a44a522f0ad8bf3bba8dbea075b484b8cdea38af9830b8233e60184fb5a09955ba8f742f925e24d5cb2890a64a04c643dc09063c924716288deb8a68d2fc7f5fd847fa6e1f27280c00140f42c9ab32ccc044ff0f571dc2354c1423840fb29b6ac4a33fce555af85a02df1b0a1af44d696797cb5ccda227866a6475a533cd8c6545924c95e948f0ab34fbd1c6775f444bd6d210338ee5fb292cdb8075c077f15accbb5f61840fecb5c721332ac6c8de86f21de70d251a66a2919b83e4c2de77f19dee7c8d1f29416b87faec311e59e7acf085cf6ed678f4aab7a99080baad57147ed216bc44fd6e3c43d88c50fb0395af175092a8cd0dd0c991785ee072d98993f6086931c46f644661ac7a161a29d47402e6ad0dfb23a905da113bc918045b09f228687ed74b626f4cfab450b9b39ba1aee20285100', m: '67eda115fee32f93cbb120ceec526a3abd5f1c6749a939e99db4309244abfccd5fb30f4dfa383dca071f69c68bc812f5e7b90901e9b53ef3a5b7cf6a740d7162688435c497ca06a2eac8586847f15f14af095bc45fa63a6844ba1a9ea3f26b5597d0c443def85c076984359eed5067fa6f8afe56287119c7bcf945ad062b5aae1f8a5796496c77f58cf72f057a7d4d4c35af6c5740d699ccf6640f30b3280fe3d0eed25fd4129bfae20be3e65182ea2fa82c6c35febf55e6aada42c5e2707be580623fd44819176c99e97989a6de0a34e55d5d1217f1fc95a9bc600207122d55d436a2d2e545ee60bf6ad1ac8f158ee075da910cb231bef824bf7e5eae302d30538524d3b383d641d94ce1e17656a8c5219f0a4735c3019f437ad875cb4585e2f3f0aab925eb1ba34510a8b868d167212ab08df8ad5affaf42e5d6fb6355e5400b4f35fd53805f50ec21b9b04dbbe855f0856675d999bb1c21c668e44ce1c89eb7cddecb14e6668a4e73330f833fb9aa0c541f33ef7ee7c72e3c2eb238585fcd', n: 'e8ade89d248c10cda89063852841bf8a0da216e3cf29e1bb8323c1411f1d440a7e696edf2eda0d41d67f9e7e7f07df2f2d4839f133819fd2eb30366fdd08da68d25c8b8f24f42d8e25277a44a522f0ad8bf3bba8dbea075b484b8cdea38af9830b8233e60184fb5a09955ba8f742f925e24d5cb2890a64a04c643dc09063c924716288deb8a68d2fc7f5fd847fa6e1f27280c00140f42c9ab32ccc044ff0f571dc2354c1423840fb29b6ac4a33fce555af85a02df1b0a1af44d696797cb5ccdc5857f09e74b106e1e4138a7683c26cb35d7c84c503dee237f702fd694a47a09b80dc788dc5b3434160c42fb539b5d99468080675c0243650a8255e95e472a1c2548f0da4e0454f28841f28f8641ff00fb2292a0a1445d5c787aa91ebee80753abcc966ddcc66c2f192aedae1e3eb00343d13186b4e370d76097224f3203f674082e50020ad8b2a779a327bc1aa1e22cdabecbe53f24811255cc5f39e4261920394038e951cd8933aae4a8a5c7dd93da87dc0c5217aae655dab314838ff509167', @@ -35,6 +37,8 @@ export const keyShares = { B: { pShare: { i: 2, + t: 2, + c: 3, l: 'e3c66fb7ed957c58787aae6d68eadfb21c58d69fc895b7abb74caf544c8fd0470802036105cef1685d58cd832498a4b12ce9294453d75cf06a004e335171d012dbba25408d68951d08c5bb3796eabf2e7c944367d82142f59b9f87d32e93944b6ce22519771f0ed860ce70748bef239204044800a4e62ddf841b6b8cd7198bb947921abd13cc38c400346ee4afff797fce91cda3612b1a2bcd893878772e06efd68c3f01b5872bbf23ca8887c4f97dc92475b6a8299d3fb6b1f6e2b935c250b462e95d7b61e91dde02ea3ad8540c6c9b88a1dca3eac1b591fc185dd92848fb6a0ef4e9f902580ff07592654e9313d65c2ff2ef5c7faebf1995861e158e2e1a4a742a2fb6020027daf140ee8b9f7144207188eb6a45d7d3363de695b1a151f6b47fbed832740c07db82a3df59bf04edd64bbd6cdf3ee627738c07933d3fcd94d60b1fc974a0826f4ab3136b1c5210b6c54f905a62da7b0a45d6cd2c33b58db214b933eceb05da1a9278709e8d60d352cefcd6ab0e29cfe6017a0f543f794e5a60', m: 'c4e60ac80322dbeb362a0f6ff6af3b497b339935ae189050c4ef45fcf09d60868b8278b088d5cb2a5c4d570b02284275edbbf5b1f5a56e91f66812a37ad0db9fd9c04b123eddb5f2a2755ee8432da20a2d9d1cc074360391a9e66d9e14960072ca58ff8b3871350c18fc0afe1d51687cf2d017a790522ce80541aa1b4240fab4e059b347861064b59f4bb76b0d7c4c5e7f827f4f54988d933e9bef51ec7dbb163c3f8bf720fd31027eebf6c9659f3980c4d86a5bc6fe14b1a78988b656557a2c5a588ec416af18c2118e01d358362d5ec4d80d25cbbc1f400ec98773433f4145d5e3f27b74973d96df58a61a0603aa06c713e441c8e699cdcc531d7260b0532205991c894de822b436d9501af58bee7c59f55ce2d0a9a30d408a9af7c66eeafcbd2373b2d33897820d934bd3d7819bf933157f7551ac50684d41da4ee0dbd1dae77a866a1fb1e4d12146eb7b7294437ddbd6c60af68e34a6c6d50639c4b22cb1db3adda3f3e36468a57d3084a59656d05a04302dc845ebee6bbf791e8a6a85dc', n: 'e3c66fb7ed957c58787aae6d68eadfb21c58d69fc895b7abb74caf544c8fd0470802036105cef1685d58cd832498a4b12ce9294453d75cf06a004e335171d012dbba25408d68951d08c5bb3796eabf2e7c944367d82142f59b9f87d32e93944b6ce22519771f0ed860ce70748bef239204044800a4e62ddf841b6b8cd7198bb947921abd13cc38c400346ee4afff797fce91cda3612b1a2bcd893878772e06efd68c3f01b5872bbf23ca8887c4f97dc92475b6a8299d3fb6b1f6e2b935c250b66944b41e6b9ecaea681deb868cff7e71674b23693b193f15dc7b6f6948f1d683042a7f8250de0698c5940c8553aca4c0f2c40079f5c858463b2d7bbcf810b357ee400e2abca1451bc3d686f55f7a46154f0b9321595881acd3d47555a45f8f236d7b1546ec06b18d19a51c64acf28d029f2a3cadb0017cd57d8852ccaea3926dfd15ed70a18e6373ec77b1fe4c8291312442a719a574acc9460a08de2c27c9ae16306f986c607d5ae5689d203a9e8444b71560518e4f3b436ed033943b962acd', @@ -68,6 +72,8 @@ export const keyShares = { C: { pShare: { i: 3, + t: 2, + c: 3, l: 'b6dbb186434ce2126ed8e32d6bc273603d05e973e9c3fd2978cc8e1e70bca14d4c4fd2c4713f5002f95845faef74c5f7198fa7abfd9ea1faac8be0a4df6aa26048c6747afb3a2ee31504d9b3aa0d6aae19707a2431251f419abf5d4204d2d891b7ea17b487efca1255c768b5537b34efcb223e9cac679329da9a7e78401d9935cb7849d3b5f163b0f2a9344e39d800860ca6d3c9dee941d7f13389901c2f659aa3e6c32f09399941bb9db86c843d3069f99f10baf0c53cbcc78deb950a815e1be3ef1e605aa63f83164c3a50799aaca22341f60484519f109bb075cdfb08e73c5056bf43830e50076a2977b900b2cbdad91c6e70a537d353d0ce3c3697fa10c649286f565df6491bad9407d8def460a7245a8fedb249fb6c85aa14384db2d8b261186e0d277de05b13ee0ab35fc4fa0396d16e3fbea1d639524822a7ce85e9cbb29c9d8c5c30b7895a00b5e89611e488cf98498fc0355ebd2a23f7449a53f7b477cece028812c20cabf27fa897e569e0cc2aeff84af8f0570ded9f037284f260', m: 'adb4f98a1dd1bd7f6bcd3830e44b554b4ba4179c52eb52e70bc9736396d20fba6a66041c03e188e7662cbdcdee75034096fb514d93d790e2f094c39c70482fc36a5171a0e114a4b9d44b2b30aaa64e881b20a839d863fd61d835efaf055e9d9b008c0b7ce680f51c9dea18ff8d2f12b848f916952d8bb520db60e502c2496b6b68d936daaa475e2a21848c59186078edc2d822dce06c374809212a0ca3e48f4ad352157fb5eb52dd5b6f68b9530d092f5b2d4d990d358b80b1a721be86711e51524f4e38f9cbe34dcae714f303864207759cd7f3fe73504cdbad99e3829de1db86bfc24b1dbbf3cf8e9354f18c4c52181be83e569a96f4c6b13f7b00391a03233eca8be0f25ccb50b6b9702a3f7a035beb7efe18f10d600b88f5a5baccfd822784404483c51a867bdb2c70f2fe8ed2afe0a01bdb3dd3b0fc66125f66e46209550a7a09d3f17f7fe3839bb12d8890ad436012ed1d2e6547c048a253e95aa01a618c60e5828fe32262fdc03ac4dc600780a90323c2f61edf3b0f531e294fa43b7f', n: 'b6dbb186434ce2126ed8e32d6bc273603d05e973e9c3fd2978cc8e1e70bca14d4c4fd2c4713f5002f95845faef74c5f7198fa7abfd9ea1faac8be0a4df6aa26048c6747afb3a2ee31504d9b3aa0d6aae19707a2431251f419abf5d4204d2d891b7ea17b487efca1255c768b5537b34efcb223e9cac679329da9a7e78401d9935cb7849d3b5f163b0f2a9344e39d800860ca6d3c9dee941d7f13389901c2f659aa3e6c32f09399941bb9db86c843d3069f99f10baf0c53cbcc78deb950a815e1dce71db43eb81ea740339c3605aab8ea5d0b250dc712a0d1c0807a9706a64cb66bb334f8866ac83696a0e09ff8f06103d7d4a5f439cb7db29499414a6693313cf39a90a76deca6cf8a13acc9e625b4b3aad4ebc7ea76ee322df769812851309514809560925514b36ea63e2e10810f270417b67c54d9cffab0dcf9a5fa6845bba5066165ab9dd757dbe4ff2a5c531e5c6e5757e195f15cb6b97081fd8e978de896449830c166e328989e39942d608bb5c4a0016ec68d393469db057120df7b0c5', diff --git a/modules/sdk-core/src/account-lib/mpc/hdTree.ts b/modules/sdk-core/src/account-lib/mpc/hdTree.ts index f53f882f06..527983c4c9 100644 --- a/modules/sdk-core/src/account-lib/mpc/hdTree.ts +++ b/modules/sdk-core/src/account-lib/mpc/hdTree.ts @@ -2,16 +2,16 @@ * An interface for calculating a subkey in an HD key scheme. */ import { createHmac } from 'crypto'; -import { Ed25519Curve } from './curves'; +import { Ed25519Curve, Secp256k1Curve } from './curves'; import { bigIntFromBufferBE, bigIntToBufferBE, bigIntFromBufferLE, bigIntToBufferLE } from './util'; // 2^256 -const base = BigInt('0x010000000000000000000000000000000000000000000000000000000000000000'); +export const chaincodeBase = BigInt('0x010000000000000000000000000000000000000000000000000000000000000000'); interface PrivateKeychain { pk: bigint; sk: bigint; - prefix: bigint; + prefix?: bigint; chaincode: bigint; } @@ -60,6 +60,13 @@ function deriveEd25519Helper(index: number | undefined = 0, chaincode: bigint, p return [zmac.digest(), imac.digest()]; } +function pathToIndices(path: string): number[] { + return path + .replace(/^m?\//, '') + .split('/') + .map((index) => parseInt(index, 10)); +} + export class Ed25519BIP32 { static curve: Ed25519Curve = new Ed25519Curve(); static initialized = false; @@ -74,10 +81,7 @@ export class Ed25519BIP32 { } publicDerive(keychain: PublicKeychain, path: string): PublicKeychain { - const indices = path - .replace(/^m\//, '') - .split('/') - .map((index) => parseInt(index, 10)); + const indices = pathToIndices(path); function deriveIndex(acc: bigint[], index: number | undefined): bigint[] { const [pk, chaincode] = acc; const [zout, iout] = deriveEd25519Helper(index, chaincode, pk); @@ -92,10 +96,7 @@ export class Ed25519BIP32 { } privateDerive(keychain: PrivateKeychain, path: string): PrivateKeychain { - const indices = path - .replace(/^m\//, '') - .split('/') - .map((index) => parseInt(index, 10)); + const indices = pathToIndices(path); function deriveIndex(acc: bigint[], index: number | undefined): bigint[] { const [pk, sk, prefix, chaincode] = acc; const [zout, iout] = deriveEd25519Helper(index, chaincode, pk, sk); @@ -106,13 +107,67 @@ export class Ed25519BIP32 { const left_pk = Ed25519BIP32.curve.pointAdd(pk, Ed25519BIP32.curve.basePointMult(t)); const left_sk = Ed25519BIP32.curve.scalarAdd(sk, t); // right = zr + kr - const right = (prefix + bigIntFromBufferBE(zr)) % base; + const right = (prefix + bigIntFromBufferBE(zr)) % chaincodeBase; return [left_pk, left_sk, right, bigIntFromBufferBE(iout.slice(32))]; } const [pk, sk, prefix, chaincode] = indices.reduce( deriveIndex, - deriveIndex([keychain.pk, keychain.sk, keychain.prefix, keychain.chaincode], indices.shift()) + deriveIndex([keychain.pk, keychain.sk, keychain.prefix!, keychain.chaincode], indices.shift()) ); return { pk, sk, prefix, chaincode }; } } + +function deriveSecp256k1Helper(index: number | undefined = 0, chaincode: bigint, pk: bigint, sk?: bigint): Buffer { + const data = Buffer.alloc(33 + 4); + if (((index >>> 0) & 0x80000000) === 0) { + bigIntToBufferBE(pk, 33).copy(data); + } else { + if (sk === undefined) { + throw new Error("Can't performed hardened derivation without private key"); + } + data[0] = 0; + bigIntToBufferBE(sk, 32).copy(data, 1); + } + data.writeUInt32BE(index, 33); + return createHmac('sha512', bigIntToBufferBE(chaincode, 32)).update(data).digest(); +} + +export class BIP32 { + static curve: Secp256k1Curve = new Secp256k1Curve(); + + publicDerive(keychain: PublicKeychain, path: string): PublicKeychain { + const indices = pathToIndices(path); + function deriveIndex(acc: bigint[], index: number | undefined): bigint[] { + const [pk, chaincode] = acc; + const I = deriveSecp256k1Helper(index, chaincode, pk); + const il = bigIntFromBufferBE(I.slice(0, 32)); + const ir = bigIntFromBufferBE(I.slice(32)); + const left_pk = BIP32.curve.pointAdd(pk, BIP32.curve.basePointMult(il)); + return [left_pk, ir]; + } + const [pk, chaincode] = indices.reduce( + deriveIndex, + deriveIndex([keychain.pk, keychain.chaincode], indices.shift()) + ); + return { pk, chaincode }; + } + + privateDerive(keychain: PrivateKeychain, path: string): PrivateKeychain { + const indices = pathToIndices(path); + function deriveIndex(acc: bigint[], index: number | undefined): bigint[] { + const [pk, sk, chaincode] = acc; + const I = deriveSecp256k1Helper(index, chaincode, pk, sk); + const il = bigIntFromBufferBE(I.slice(0, 32)); + const ir = bigIntFromBufferBE(I.slice(32)); + const left_pk = BIP32.curve.pointAdd(pk, BIP32.curve.basePointMult(il)); + const left_sk = BIP32.curve.scalarAdd(sk, il); + return [left_pk, left_sk, ir]; + } + const [pk, sk, chaincode] = indices.reduce( + deriveIndex, + deriveIndex([keychain.pk, keychain.sk, keychain.chaincode], indices.shift()) + ); + return { pk, sk, chaincode }; + } +} diff --git a/modules/sdk-core/src/account-lib/mpc/tss/ecdsa/ecdsa.ts b/modules/sdk-core/src/account-lib/mpc/tss/ecdsa/ecdsa.ts index 071119f629..60742751dd 100644 --- a/modules/sdk-core/src/account-lib/mpc/tss/ecdsa/ecdsa.ts +++ b/modules/sdk-core/src/account-lib/mpc/tss/ecdsa/ecdsa.ts @@ -1,6 +1,7 @@ import * as paillierBigint from 'paillier-bigint'; import * as bigintCryptoUtils from 'bigint-crypto-utils'; import * as secp from '@noble/secp256k1'; +import HDTree, { BIP32, chaincodeBase } from '../../hdTree'; import { randomBytes, createHash, Hash } from 'crypto'; import { hexToBigInt } from '../../../util/crypto'; import { bigIntFromBufferBE, bigIntToBufferBE, bigIntFromU8ABE, getPaillierPublicKey } from '../../util'; @@ -11,6 +12,7 @@ import { PShare, KeyShare, KeyCombined, + SubkeyShare, BShare, AShare, Signature, @@ -37,6 +39,7 @@ const _3n = BigInt(3); */ export default class Ecdsa { static curve: Secp256k1Curve = new Secp256k1Curve(); + static hdTree: HDTree = new BIP32(); static shamir: Shamir = new Shamir(Ecdsa.curve); /** * Generate shares for participant at index and split keys `(threshold,numShares)` ways. @@ -64,9 +67,11 @@ export default class Ecdsa { const { shares: uShares, v } = Ecdsa.shamir.split(u, threshold, numShares); const currentParticipant: PShare = { i: index, - l: privateKey.lambda.toString(16), - m: privateKey.mu.toString(16), - n: publicKey.n.toString(16), + t: threshold, + c: numShares, + l: bigIntToBufferBE(privateKey.lambda, 192).toString('hex'), + m: bigIntToBufferBE(privateKey.mu, 192).toString('hex'), + n: bigIntToBufferBE(publicKey.n, 384).toString('hex'), y: bigIntToBufferBE(y, 33).toString('hex'), u: bigIntToBufferBE(uShares[index], 32).toString('hex'), uu: u.toString(), @@ -150,6 +155,80 @@ export default class Ecdsa { return participants; } + /** + * Derive shares for a BIP-32 subkey. + * @param {PShare} The user's p-share. + * @param {NShare[]} The n-shares received from the other participants. + * @param {string} The BIP-32 path to derive. + * @returns {SubkeyShare} Returns the private x-share and n-shares to + * be distributed to participants at their corresponding index. + */ + keyDerive(pShare: PShare, nShares: NShare[], path: string): SubkeyShare { + const yValues = [pShare, ...nShares].map((share) => hexToBigInt(share.y)); + const y = yValues.reduce((partial, share) => Ecdsa.curve.pointAdd(partial, share)); + const u = BigInt(pShare.uu); + let contribChaincode = hexToBigInt(pShare.chaincode); + const chaincodes = [contribChaincode, ...nShares.map(({ chaincode }) => hexToBigInt(chaincode))]; + const chaincode = chaincodes.reduce((acc, chaincode) => (acc + chaincode) % chaincodeBase); + + // Verify shares. + for (const share of nShares) { + if (share.v) { + try { + Ecdsa.shamir.verify(hexToBigInt(share.u), [hexToBigInt(share.y), hexToBigInt(share.v!)], pShare.i); + } catch (err) { + throw new Error(`Could not verify share from participant ${share.j}. Verification error: ${err}`); + } + } + } + + // Derive subkey. + const subkey = Ecdsa.hdTree.privateDerive({ pk: y, sk: u, chaincode }, path); + + // Calculate new public key contribution. + const contribY = Ecdsa.curve.basePointMult(subkey.sk); + + // Calculate new chaincode contribution. + const chaincodeDelta = (chaincodeBase + subkey.chaincode - chaincode) % chaincodeBase; + contribChaincode = (contribChaincode + chaincodeDelta) % chaincodeBase; + + // Calculate new u values. + const { shares: split_u, v } = Ecdsa.shamir.split(subkey.sk, pShare.t || 2, pShare.c || 3); + + // Calculate new signing key. + const x = [split_u[pShare.i], ...nShares.map(({ u }) => hexToBigInt(u))].reduce(Ecdsa.curve.scalarAdd); + + const P_i: XShare = { + i: pShare.i, + l: pShare.l, + m: pShare.m, + n: pShare.n, + y: bigIntToBufferBE(subkey.pk, 33).toString('hex'), + x: bigIntToBufferBE(x, 32).toString('hex'), + chaincode: bigIntToBufferBE(subkey.chaincode, 32).toString('hex'), + }; + + const shares: SubkeyShare = { + xShare: P_i, + nShares: {}, + }; + + for (let ind = 0; ind < nShares.length; ind++) { + const P_j = nShares[ind]; + shares.nShares[P_j.j] = { + i: P_j.j, + j: P_i.i, + n: P_j.n, + u: bigIntToBufferBE(split_u[P_j.j], 32).toString('hex'), + y: bigIntToBufferBE(contribY, 32).toString('hex'), + v: bigIntToBufferBE(v[0], 32).toString('hex'), + chaincode: bigIntToBufferBE(contribChaincode, 32).toString('hex'), + }; + } + + return shares; + } + /** * Create signing shares. * @param {xShare} xShare Private xShare of current participant signer diff --git a/modules/sdk-core/src/account-lib/mpc/tss/ecdsa/types.ts b/modules/sdk-core/src/account-lib/mpc/tss/ecdsa/types.ts index b55ad1c6bd..afa5aec994 100644 --- a/modules/sdk-core/src/account-lib/mpc/tss/ecdsa/types.ts +++ b/modules/sdk-core/src/account-lib/mpc/tss/ecdsa/types.ts @@ -1,6 +1,8 @@ // Private share of the user generated during key generation export interface PShare { i: number; // participant index + t?: number; // threshold + c?: number; // number of shares l: string; // lambda value for paillier secret key m: string; // mu value for paillier secret key u: string; // shamir share of secret @@ -49,6 +51,11 @@ export interface KeyCombined { yShares: Record; } +export interface SubkeyShare { + xShare: XShare; + nShares: Record; +} + export interface WShare { i: number; l: string; diff --git a/modules/sdk-core/src/account-lib/mpc/tss/eddsa/eddsa.ts b/modules/sdk-core/src/account-lib/mpc/tss/eddsa/eddsa.ts index 535292bfae..0f5e01427d 100644 --- a/modules/sdk-core/src/account-lib/mpc/tss/eddsa/eddsa.ts +++ b/modules/sdk-core/src/account-lib/mpc/tss/eddsa/eddsa.ts @@ -228,7 +228,7 @@ export default class Eddsa { n: uShare.n, y: bigIntToBufferLE(subkey.pk, 32).toString('hex'), u: bigIntToBufferLE(subkey.sk, 32).toString('hex'), - prefix: bigIntToBufferBE(subkey.prefix, 32).toString('hex'), + prefix: bigIntToBufferBE(subkey.prefix!, 32).toString('hex'), chaincode: bigIntToBufferBE(subkey.chaincode, 32).toString('hex'), }; From 9226ca9ebf23b2171bffaf05b5090d8189110d56 Mon Sep 17 00:00:00 2001 From: Baihao Wang Date: Tue, 22 Nov 2022 18:29:52 -0500 Subject: [PATCH 03/15] feat(statics): add TSS feature flag to ETH Ticket: BG-62565 --- modules/statics/src/coins.ts | 80 +++++++++++------------------------- 1 file changed, 25 insertions(+), 55 deletions(-) diff --git a/modules/statics/src/coins.ts b/modules/statics/src/coins.ts index 66e802b8e8..b01c1eb5b5 100644 --- a/modules/statics/src/coins.ts +++ b/modules/statics/src/coins.ts @@ -147,28 +147,18 @@ export const coins = CoinMap.fromCoins([ DOT_FEATURES, KeyCurve.Ed25519 ), - account( - 'eth', - 'Ethereum', - Networks.main.ethereum, - 18, - UnderlyingAsset.ETH, - BaseUnit.ETH, - ETH_FEATURES_WITH_STAKING_AND_MMI - ), // we should probably refactor this into a eth() method + account('eth', 'Ethereum', Networks.main.ethereum, 18, UnderlyingAsset.ETH, BaseUnit.ETH, [ + ...ETH_FEATURES_WITH_STAKING_AND_MMI, + CoinFeature.TSS, + ]), // we should probably refactor this into a eth() method account('teth', 'Kovan Testnet Ethereum (Deprecated)', Networks.test.kovan, 18, UnderlyingAsset.ETH, BaseUnit.ETH, [ ...ETH_FEATURES, CoinFeature.DEPRECATED, ]), - account( - 'gteth', - 'Goerli Testnet Ethereum', - Networks.test.goerli, - 18, - UnderlyingAsset.ETH, - BaseUnit.ETH, - ETH_FEATURES_WITH_STAKING_AND_MMI - ), + account('gteth', 'Goerli Testnet Ethereum', Networks.test.goerli, 18, UnderlyingAsset.ETH, BaseUnit.ETH, [ + ...ETH_FEATURES_WITH_STAKING_AND_MMI, + CoinFeature.TSS, + ]), account( 'eth2', 'Ethereum 2.0', @@ -176,7 +166,7 @@ export const coins = CoinMap.fromCoins([ 18, UnderlyingAsset.ETH2, BaseUnit.ETH, - ETH2_FEATURES, + [...ETH2_FEATURES, CoinFeature.TSS], KeyCurve.BLS ), account( @@ -283,42 +273,22 @@ export const coins = CoinMap.fromCoins([ NEAR_FEATURES, KeyCurve.Ed25519 ), - account( - 'bsc', - 'Binance Smart Chain', - Networks.main.bsc, - 18, - UnderlyingAsset.BSC, - BaseUnit.BSC, - ETH_FEATURES_WITH_MMI - ), - account( - 'tbsc', - 'Testnet Binance Smart Chain', - Networks.test.bsc, - 18, - UnderlyingAsset.BSC, - BaseUnit.BSC, - ETH_FEATURES_WITH_MMI - ), - account( - 'polygon', - 'Polygon', - Networks.main.polygon, - 18, - UnderlyingAsset.POLYGON, - BaseUnit.ETH, - ETH_FEATURES_WITH_STAKING_AND_MMI - ), - account( - 'tpolygon', - 'Testnet Polygon', - Networks.test.polygon, - 18, - UnderlyingAsset.POLYGON, - BaseUnit.ETH, - ETH_FEATURES_WITH_STAKING_AND_MMI - ), + account('bsc', 'Binance Smart Chain', Networks.main.bsc, 18, UnderlyingAsset.BSC, BaseUnit.BSC, [ + ...ETH_FEATURES_WITH_MMI, + CoinFeature.TSS, + ]), + account('tbsc', 'Testnet Binance Smart Chain', Networks.test.bsc, 18, UnderlyingAsset.BSC, BaseUnit.BSC, [ + ...ETH_FEATURES_WITH_MMI, + CoinFeature.TSS, + ]), + account('polygon', 'Polygon', Networks.main.polygon, 18, UnderlyingAsset.POLYGON, BaseUnit.ETH, [ + ...ETH_FEATURES_WITH_STAKING_AND_MMI, + CoinFeature.TSS, + ]), + account('tpolygon', 'Testnet Polygon', Networks.test.polygon, 18, UnderlyingAsset.POLYGON, BaseUnit.ETH, [ + ...ETH_FEATURES_WITH_STAKING_AND_MMI, + CoinFeature.TSS, + ]), erc20CompatibleAccountCoin( 'celo', 'Celo Gold', From ce70af459d1e2dcd1025178a930ddf8a84454bfd Mon Sep 17 00:00:00 2001 From: Colin Wu Date: Mon, 28 Nov 2022 14:43:10 -0500 Subject: [PATCH 04/15] feat(sdk-coin-avaxp): verify import in P Ticket: BG-55595 --- modules/sdk-coin-avaxp/src/avaxp.ts | 30 +++++++++++++++++- modules/sdk-coin-avaxp/src/iface.ts | 2 ++ modules/sdk-coin-avaxp/src/lib/iface.ts | 3 ++ modules/sdk-coin-avaxp/test/unit/avaxp.ts | 38 +++++++++++++++++++++++ 4 files changed, 72 insertions(+), 1 deletion(-) diff --git a/modules/sdk-coin-avaxp/src/avaxp.ts b/modules/sdk-coin-avaxp/src/avaxp.ts index 60b17400fc..ae34e32431 100644 --- a/modules/sdk-coin-avaxp/src/avaxp.ts +++ b/modules/sdk-coin-avaxp/src/avaxp.ts @@ -23,6 +23,7 @@ import { ExplainTransactionOptions, AvaxpVerifyTransactionOptions, AvaxpTransactionStakingOptions, + AvaxpTransactionParams, } from './iface'; import utils from './lib/utils'; import _ from 'lodash'; @@ -121,6 +122,28 @@ export class AvaxP extends BaseCoin { } } + /** + * Check if import txn into P is valid, based on expected tx params. + * + * @param {AvaxpLib.AvaxpEntry[]} explainedTxInputs tx inputs (unspents to be imported) + * @param {AvaxpTransactionParams} txParams expected tx info to check against + */ + validateImportTx(explainedTxInputs: AvaxpLib.AvaxpEntry[], txParams: AvaxpTransactionParams): void { + if (txParams.unspents) { + if (explainedTxInputs.length !== txParams.unspents.length) { + throw new Error(`Expected ${txParams.unspents.length} UTXOs, transaction had ${explainedTxInputs.length}`); + } + + const unspents = new Set(txParams.unspents); + + for (const unspent of explainedTxInputs) { + if (!unspents.has(unspent.id)) { + throw new Error(`Transaction should not contain the UTXO: ${unspent.id}`); + } + } + } + } + async verifyTransaction(params: AvaxpVerifyTransactionOptions): Promise { const txHex = params.txPrebuild && params.txPrebuild.txHex; if (!txHex) { @@ -163,6 +186,7 @@ export class AvaxP extends BaseCoin { break; case TransactionType.Import: if (tx.isTransactionForCChain) { + // Import to C-chain if ( (params.txParams.recipients && params.txParams.recipients.length !== 0) || explainedTx.outputs.length !== 1 @@ -170,7 +194,11 @@ export class AvaxP extends BaseCoin { throw new Error('Expected 1 output in import txn and does not require recipients'); } } else { - // TODO: BG-55595 - verify import txn on P chain + // Import to P-chain + if (explainedTx.outputs.length !== 1) { + throw new Error('Expected 1 output in import txn'); + } + this.validateImportTx(explainedTx.inputs, params.txParams); } break; default: diff --git a/modules/sdk-coin-avaxp/src/iface.ts b/modules/sdk-coin-avaxp/src/iface.ts index 3773c98605..2d41aacfea 100644 --- a/modules/sdk-coin-avaxp/src/iface.ts +++ b/modules/sdk-coin-avaxp/src/iface.ts @@ -47,6 +47,8 @@ export interface AvaxpTransactionParams extends TransactionParams { type?: string; value: string; }; + unspents?: string[]; + sourceChain?: string; } export interface AvaxpVerifyTransactionOptions extends VerifyTransactionOptions { diff --git a/modules/sdk-coin-avaxp/src/lib/iface.ts b/modules/sdk-coin-avaxp/src/lib/iface.ts index 32372759d9..d1d5d924f8 100644 --- a/modules/sdk-coin-avaxp/src/lib/iface.ts +++ b/modules/sdk-coin-avaxp/src/lib/iface.ts @@ -2,6 +2,9 @@ import { Entry, TransactionExplanation as BaseTransactionExplanation, Transactio import { BaseTx as PMVBaseTx, TransferableOutput, Tx as PMVTx } from 'avalanche/dist/apis/platformvm'; import { EVMBaseTx, EVMOutput, Tx as EMVTx } from 'avalanche/dist/apis/evm'; +export interface AvaxpEntry extends Entry { + id: string; +} export interface TransactionExplanation extends BaseTransactionExplanation { type: TransactionType; rewardAddresses: string[]; diff --git a/modules/sdk-coin-avaxp/test/unit/avaxp.ts b/modules/sdk-coin-avaxp/test/unit/avaxp.ts index dc11e5e13c..c23c34ea02 100644 --- a/modules/sdk-coin-avaxp/test/unit/avaxp.ts +++ b/modules/sdk-coin-avaxp/test/unit/avaxp.ts @@ -473,6 +473,44 @@ describe('Avaxp', function () { isTransactionVerified.should.equal(true); }); + it('should succeed to verify import to P transaction', async () => { + const txPrebuild = { + txHex: IMPORT_P.fullsigntxHex, + txInfo: {}, + }; + const txParams = { + recipients: [], + type: 'Import', + locktime: 0, + memo: undefined, + unspents: ['e8ixKnba52yufXrTVKrTXVQTj5cd5e6o6Lc3rVkhahDGEs72L:0'], + }; + const isTransactionVerified = await basecoin.verifyTransaction({ txParams, txPrebuild }); + isTransactionVerified.should.equal(true); + }); + + it('should fail to verify import to P transaction with wrong unspents', async () => { + const txPrebuild = { + txHex: IMPORT_P.fullsigntxHex, + txInfo: {}, + }; + const txParams = { + recipients: [], + type: 'Import', + locktime: 0, + memo: undefined, + unspents: ['test:1'], + }; + await basecoin + .verifyTransaction({ + txParams, + txPrebuild, + }) + .should.be.rejectedWith( + 'Transaction should not contain the UTXO: e8ixKnba52yufXrTVKrTXVQTj5cd5e6o6Lc3rVkhahDGEs72L:0' + ); + }); + it('should succeed to verify export transaction', async () => { const txPrebuild = { txHex: EXPORT_P_2_C_VERIFY.txHex, From 42f353f0b33857963d66739d34b0d0cac85e82db Mon Sep 17 00:00:00 2001 From: Ismael Pelaez Date: Wed, 21 Sep 2022 11:37:10 -0300 Subject: [PATCH 05/15] feat(bitgo): add api version input add api version input to prebuildTransactionTss method BG-57753 --- modules/bitgo/test/v2/unit/wallet.ts | 50 +++++++++++++++++++ modules/sdk-coin-sol/src/sol.ts | 12 ++++- .../sdk-core/src/bitgo/utils/tss/baseTypes.ts | 3 +- .../src/bitgo/utils/tss/eddsa/eddsa.ts | 13 +++-- modules/sdk-core/src/bitgo/wallet/iWallet.ts | 4 ++ modules/sdk-core/src/bitgo/wallet/wallet.ts | 18 +++++-- 6 files changed, 91 insertions(+), 9 deletions(-) diff --git a/modules/bitgo/test/v2/unit/wallet.ts b/modules/bitgo/test/v2/unit/wallet.ts index a4e1b7d2fa..2fd4055a1c 100644 --- a/modules/bitgo/test/v2/unit/wallet.ts +++ b/modules/bitgo/test/v2/unit/wallet.ts @@ -1682,6 +1682,18 @@ describe('V2 Wallet:', function () { }).should.be.rejectedWith('transaction type not supported: stake'); }); + it('should fail for full api version compatibility', async function () { + await custodialTssWallet.prebuildTransaction({ + reqId, + apiVersion: 'lite', + recipients: [{ + address: '6DadkZcx9JZgeQUDbHh12cmqCpaqehmVxv6sGy49jrah', + amount: '1000', + }], + type: 'transfer', + }).should.be.rejectedWith(`Custodial and ECDSA MPC algorithm must always use 'full' api version`); + }); + it('should build a single recipient transfer transaction for full', async function () { const recipients = [{ address: '6DadkZcx9JZgeQUDbHh12cmqCpaqehmVxv6sGy49jrah', @@ -1942,6 +1954,44 @@ describe('V2 Wallet:', function () { intent.isTss!.should.equal(true); intent.intentType.should.equal('fillNonce'); }); + + it('should build a single recipient transfer transaction providing apiVersion parameter as "full" ', async function () { + const recipients = [{ + address: '6DadkZcx9JZgeQUDbHh12cmqCpaqehmVxv6sGy49jrah', + amount: '1000', + }]; + + const prebuildTxWithIntent = sandbox.stub(TssUtils.prototype, 'prebuildTxWithIntent'); + prebuildTxWithIntent.resolves(txRequestFull); + prebuildTxWithIntent.calledOnceWithExactly({ + reqId, + recipients, + intentType: 'payment', + }, 'full'); + + const txPrebuild = await custodialTssWallet.prebuildTransaction({ + reqId, + apiVersion: 'full', + recipients, + type: 'transfer', + }); + + txPrebuild.should.deepEqual({ + walletId: tssWallet.id(), + wallet: custodialTssWallet, + txRequestId: 'id', + txHex: 'ababcdcd', + buildParams: { + apiVersion: 'full', + recipients, + type: 'transfer', + }, + feeInfo: { + fee: 5000, + feeString: '5000', + }, + }); + }); }); describe('Transaction signing', function () { diff --git a/modules/sdk-coin-sol/src/sol.ts b/modules/sdk-coin-sol/src/sol.ts index 92d6c42549..765d00ad70 100644 --- a/modules/sdk-coin-sol/src/sol.ts +++ b/modules/sdk-coin-sol/src/sol.ts @@ -453,11 +453,21 @@ export class Sol extends BaseCoin { await tssUtils!.deleteSignatureShares(txRequestId); const recreated = await tssUtils!.getTxRequest(txRequestId); + let txHex = ''; + if (recreated.unsignedTxs) { + txHex = recreated.unsignedTxs[0]?.serializedTxHex; + } else { + txHex = recreated.transactions ? recreated.transactions[0]?.unsignedTx.serializedTxHex : ''; + } + + if (!txHex) { + throw new Error('Missing serialized tx hex'); + } return Promise.resolve({ ...params, txPrebuild: recreated, - txHex: recreated.unsignedTxs[0].serializedTxHex, + txHex, }); } diff --git a/modules/sdk-core/src/bitgo/utils/tss/baseTypes.ts b/modules/sdk-core/src/bitgo/utils/tss/baseTypes.ts index b40a38b3c7..2a40bf97f2 100644 --- a/modules/sdk-core/src/bitgo/utils/tss/baseTypes.ts +++ b/modules/sdk-core/src/bitgo/utils/tss/baseTypes.ts @@ -2,7 +2,7 @@ import { SerializedKeyPair } from 'openpgp'; import { IRequestTracer } from '../../../api'; import { KeychainsTriplet } from '../../baseCoin'; import { ApiKeyShare, Keychain } from '../../keychain'; -import { Memo, WalletType } from '../../wallet'; +import { ApiVersion, Memo, WalletType } from '../../wallet'; import { EDDSA, GShare, SignShare, YShare } from '../../../account-lib/mpc/tss'; import { KeyShare } from './ecdsa'; @@ -227,6 +227,7 @@ export type TSSParams = { txRequest: string | TxRequest; // can be either a string or TxRequest prv: string; reqId: IRequestTracer; + apiVersion?: ApiVersion; }; export type TSSParamsForMessage = TSSParams & { diff --git a/modules/sdk-core/src/bitgo/utils/tss/eddsa/eddsa.ts b/modules/sdk-core/src/bitgo/utils/tss/eddsa/eddsa.ts index d6fd5880c9..e306b1e0ce 100644 --- a/modules/sdk-core/src/bitgo/utils/tss/eddsa/eddsa.ts +++ b/modules/sdk-core/src/bitgo/utils/tss/eddsa/eddsa.ts @@ -457,7 +457,7 @@ export class EddsaUtils extends baseTSSUtils { let txRequestResolved: TxRequest; let txRequestId: string; - const { txRequest, prv } = params; + const { txRequest, prv, apiVersion } = params; if (typeof txRequest === 'string') { txRequestResolved = await getTxRequest(this.bitgo, this.wallet.id(), txRequest); @@ -495,7 +495,14 @@ export class EddsaUtils extends baseTSSUtils { const bitgoGpgKey = await getBitgoGpgPubKey(this.bitgo); const encryptedSignerShare = await encryptText(signerShare, bitgoGpgKey); - await offerUserToBitgoRShare(this.bitgo, this.wallet.id(), txRequestId, userSignShare, encryptedSignerShare); + await offerUserToBitgoRShare( + this.bitgo, + this.wallet.id(), + txRequestId, + userSignShare, + encryptedSignerShare, + apiVersion + ); const bitgoToUserRShare = await getBitgoToUserRShare(this.bitgo, this.wallet.id(), txRequestId); @@ -507,7 +514,7 @@ export class EddsaUtils extends baseTSSUtils { signablePayload ); - await sendUserToBitgoGShare(this.bitgo, this.wallet.id(), txRequestId, userToBitGoGShare); + await sendUserToBitgoGShare(this.bitgo, this.wallet.id(), txRequestId, userToBitGoGShare, apiVersion); return await getTxRequest(this.bitgo, this.wallet.id(), txRequestId); } diff --git a/modules/sdk-core/src/bitgo/wallet/iWallet.ts b/modules/sdk-core/src/bitgo/wallet/iWallet.ts index e30f095965..b6d26e0509 100644 --- a/modules/sdk-core/src/bitgo/wallet/iWallet.ts +++ b/modules/sdk-core/src/bitgo/wallet/iWallet.ts @@ -52,6 +52,8 @@ export interface BuildTokenEnablementOptions extends PrebuildTransactionOptions enableTokens: TokenEnablement[]; } +export type ApiVersion = 'lite' | 'full'; + export interface PrebuildTransactionOptions { reqId?: IRequestTracer; recipients?: { @@ -104,6 +106,7 @@ export interface PrebuildTransactionOptions { lowFeeTxid?: string; isTss?: boolean; custodianTransactionId?: string; + apiVersion?: ApiVersion; } export interface PrebuildAndSignTransactionOptions extends PrebuildTransactionOptions, WalletSignTransactionOptions { @@ -143,6 +146,7 @@ export interface WalletSignTransactionOptions extends WalletSignBaseOptions { txPrebuild?: TransactionPrebuild; customRShareGeneratingFunction?: CustomRShareGeneratingFunction; customGShareGeneratingFunction?: CustomGShareGeneratingFunction; + apiVersion?: ApiVersion; [index: string]: unknown; } diff --git a/modules/sdk-core/src/bitgo/wallet/wallet.ts b/modules/sdk-core/src/bitgo/wallet/wallet.ts index 9b53ccad98..a5ce17c353 100644 --- a/modules/sdk-core/src/bitgo/wallet/wallet.ts +++ b/modules/sdk-core/src/bitgo/wallet/wallet.ts @@ -151,6 +151,7 @@ export class Wallet implements IWallet { prebuildWhitelistedParams(): string[] { return [ 'addressType', + 'apiVersion', 'changeAddress', 'consolidateAddresses', 'cpfpFeeRate', @@ -1537,7 +1538,7 @@ export class Wallet implements IWallet { * @return {*} */ async signTransaction(params: WalletSignTransactionOptions = {}): Promise { - const { txPrebuild } = params; + const { txPrebuild, apiVersion } = params; if (_.isFunction(params.customGShareGeneratingFunction) && _.isFunction(params.customRShareGeneratingFunction)) { // invoke external signer TSS for EdDSA workflow @@ -1555,7 +1556,7 @@ export class Wallet implements IWallet { }); if (this._wallet.multisigType === 'tss') { - return this.signTransactionTss({ ...presign, prv: this.getUserPrv(presign as GetUserPrvOptions) }); + return this.signTransactionTss({ ...presign, prv: this.getUserPrv(presign as GetUserPrvOptions), apiVersion }); } let { pubs } = params; @@ -2526,8 +2527,16 @@ export class Wallet implements IWallet { private async prebuildTransactionTss(params: PrebuildTransactionOptions = {}): Promise { const reqId = params.reqId || new RequestTracer(); this.bitgo.setRequestTracer(reqId); + if ( + params.apiVersion === 'lite' && + (this._wallet.type === 'custodial' || this.baseCoin.getMPCAlgorithm() === 'ecdsa') + ) { + throw new Error(`Custodial and ECDSA MPC algorithm must always use 'full' api version`); + } + const apiVersion = - this._wallet.type === 'custodial' || this.baseCoin.getMPCAlgorithm() === 'ecdsa' ? 'full' : 'lite'; + params.apiVersion || + (this._wallet.type === 'custodial' || this.baseCoin.getMPCAlgorithm() === 'ecdsa' ? 'full' : 'lite'); // Two options different implementations of fees seems to now be supported, for now we will support both to be backwards compatible // TODO(BG-59685): deprecate one of these so that we have a single way to pass fees @@ -2704,6 +2713,7 @@ export class Wallet implements IWallet { txRequest: params.txPrebuild.txRequestId, prv: params.prv, reqId: params.reqId || new RequestTracer(), + apiVersion: params.apiVersion, }); return { txRequestId: signedTxRequest.txRequestId, @@ -2789,7 +2799,7 @@ export class Wallet implements IWallet { } // ECDSA TSS uses TxRequestFull - if (this.baseCoin.getMPCAlgorithm() === 'ecdsa') { + if (this.baseCoin.getMPCAlgorithm() === 'ecdsa' || params.apiVersion === 'full') { return signedTransaction; } From 439f95c4e337e33a0812ac28b03e46b52e4a9fde Mon Sep 17 00:00:00 2001 From: Phani Date: Mon, 28 Nov 2022 19:49:34 +0530 Subject: [PATCH 06/15] feat(abstract-utxo): add valueString to unspents for doge recovery flow Ticket: BG-62721 --- .../src/recovery/backupKeyRecovery.ts | 15 ++++++++++----- .../backupKeyRecovery-p2sh-unsignedRecovery.json | 5 ++++- .../backupKeyRecovery-p2sh-unsignedRecovery.json | 5 ++++- .../backupKeyRecovery-p2sh-unsignedRecovery.json | 5 ++++- .../backupKeyRecovery-p2sh-unsignedRecovery.json | 5 ++++- ...kupKeyRecovery-p2shP2wsh-unsignedRecovery.json | 5 ++++- .../backupKeyRecovery-p2tr-unsignedRecovery.json | 5 ++++- .../backupKeyRecovery-p2wsh-unsignedRecovery.json | 5 ++++- .../backupKeyRecovery-p2sh-unsignedRecovery.json | 5 ++++- ...kupKeyRecovery-p2shP2wsh-unsignedRecovery.json | 5 ++++- .../backupKeyRecovery-p2wsh-unsignedRecovery.json | 5 ++++- .../backupKeyRecovery-p2sh-unsignedRecovery.json | 5 ++++- .../backupKeyRecovery-p2sh-unsignedRecovery.json | 9 ++++++--- .../backupKeyRecovery-p2sh-unsignedRecovery.json | 5 ++++- ...kupKeyRecovery-p2shP2wsh-unsignedRecovery.json | 5 ++++- .../backupKeyRecovery-p2wsh-unsignedRecovery.json | 5 ++++- .../backupKeyRecovery-p2sh-unsignedRecovery.json | 5 ++++- .../backupKeyRecovery-p2sh-unsignedRecovery.json | 5 ++++- .../backupKeyRecovery-p2sh-unsignedRecovery.json | 5 ++++- .../backupKeyRecovery-p2sh-unsignedRecovery.json | 5 ++++- ...kupKeyRecovery-p2shP2wsh-unsignedRecovery.json | 5 ++++- .../backupKeyRecovery-p2tr-unsignedRecovery.json | 5 ++++- .../backupKeyRecovery-p2wsh-unsignedRecovery.json | 5 ++++- .../backupKeyRecovery-p2sh-unsignedRecovery.json | 5 ++++- .../backupKeyRecovery-p2sh-unsignedRecovery.json | 9 ++++++--- .../backupKeyRecovery-p2sh-unsignedRecovery.json | 5 ++++- ...kupKeyRecovery-p2shP2wsh-unsignedRecovery.json | 5 ++++- .../backupKeyRecovery-p2wsh-unsignedRecovery.json | 5 ++++- .../backupKeyRecovery-p2sh-unsignedRecovery.json | 5 ++++- .../backupKeyRecovery-p2sh-unsignedRecovery.json | 5 ++++- 30 files changed, 130 insertions(+), 38 deletions(-) diff --git a/modules/abstract-utxo/src/recovery/backupKeyRecovery.ts b/modules/abstract-utxo/src/recovery/backupKeyRecovery.ts index f8a888fd7f..8dd2e735ef 100644 --- a/modules/abstract-utxo/src/recovery/backupKeyRecovery.ts +++ b/modules/abstract-utxo/src/recovery/backupKeyRecovery.ts @@ -16,6 +16,9 @@ const { type ChainCode = utxolib.bitgo.ChainCode; type RootWalletKeys = utxolib.bitgo.RootWalletKeys; type WalletUnspent = utxolib.bitgo.WalletUnspent; +type WalletUnspentJSON = utxolib.bitgo.WalletUnspent & { + valueString: string; +}; type ScriptType2Of3 = utxolib.bitgo.outputScripts.ScriptType2Of3; import { VirtualSizes } from '@bitgo/unspents'; @@ -43,9 +46,9 @@ export interface OfflineVaultTxInfo { inputs: WalletUnspent[]; } -export interface FormattedOfflineVaultTxInfo { +export interface FormattedOfflineVaultTxInfo { txInfo: { - unspents: WalletUnspent[]; + unspents: WalletUnspentJSON[]; }; txHex: string; feeInfo: Record; @@ -63,11 +66,13 @@ function formatForOfflineVault( coinName: string, txInfo: OfflineVaultTxInfo, txHex: string -): FormattedOfflineVaultTxInfo { +): FormattedOfflineVaultTxInfo { return { txHex, txInfo: { - unspents: txInfo.inputs, + unspents: txInfo.inputs.map((input) => { + return { ...input, value: Number(input.value), valueString: input.value.toString() }; + }), }, feeInfo: {}, coin: coinName, @@ -249,7 +254,7 @@ export async function backupKeyRecovery | FormattedOfflineVaultTxInfo> { +): Promise | FormattedOfflineVaultTxInfo> { if (_.isUndefined(params.userKey)) { throw new Error('missing userKey'); } diff --git a/modules/bitgo/test/v2/unit/coins/utxo/fixtures/bch/recovery/backupKeyRecovery-p2sh-unsignedRecovery.json b/modules/bitgo/test/v2/unit/coins/utxo/fixtures/bch/recovery/backupKeyRecovery-p2sh-unsignedRecovery.json index f95d2712ed..d792921490 100644 --- a/modules/bitgo/test/v2/unit/coins/utxo/fixtures/bch/recovery/backupKeyRecovery-p2sh-unsignedRecovery.json +++ b/modules/bitgo/test/v2/unit/coins/utxo/fixtures/bch/recovery/backupKeyRecovery-p2sh-unsignedRecovery.json @@ -6,6 +6,7 @@ "id": "d03e57cb65ea7b86411a879afc98d428cb9f7caed4cd5c1c537ed6af6f356173:1", "address": "37qPMKZpagdNztA82mXrE81ch2kPzYxEnH", "value": 100000000, + "valueString": "100000000", "chain": 1, "index": 0 }, @@ -13,6 +14,7 @@ "id": "625f1e94548949733d43b367c4d30d3e3444cce5011300959fc6001d5f29ea06:1", "address": "37VmFTmUhwppU2FcKM3uawLjj4oYBQZsN1", "value": 200000000, + "valueString": "200000000", "chain": 1, "index": 2 }, @@ -20,6 +22,7 @@ "id": "36de98ad2db9129e3b2982e0b028f3994dabeecb75b0f80f055e8d0427218a18:1", "address": "324RMNET22VF4qLHUcVJtvWKVwbNDoj8Sv", "value": 300000000, + "valueString": "300000000", "chain": 1, "index": 3 } @@ -28,4 +31,4 @@ "feeInfo": {}, "coin": "bch", "txid": "d62ccec28180bfda03f1a8676bfbc568bbf6d228b14c5dfd71ca2f760dffae7f" -} \ No newline at end of file +} diff --git a/modules/bitgo/test/v2/unit/coins/utxo/fixtures/bcha/recovery/backupKeyRecovery-p2sh-unsignedRecovery.json b/modules/bitgo/test/v2/unit/coins/utxo/fixtures/bcha/recovery/backupKeyRecovery-p2sh-unsignedRecovery.json index a29ee58216..b6b8a53cb0 100644 --- a/modules/bitgo/test/v2/unit/coins/utxo/fixtures/bcha/recovery/backupKeyRecovery-p2sh-unsignedRecovery.json +++ b/modules/bitgo/test/v2/unit/coins/utxo/fixtures/bcha/recovery/backupKeyRecovery-p2sh-unsignedRecovery.json @@ -6,6 +6,7 @@ "id": "d03e57cb65ea7b86411a879afc98d428cb9f7caed4cd5c1c537ed6af6f356173:1", "address": "37qPMKZpagdNztA82mXrE81ch2kPzYxEnH", "value": 100000000, + "valueString": "100000000", "chain": 1, "index": 0 }, @@ -13,6 +14,7 @@ "id": "625f1e94548949733d43b367c4d30d3e3444cce5011300959fc6001d5f29ea06:1", "address": "37VmFTmUhwppU2FcKM3uawLjj4oYBQZsN1", "value": 200000000, + "valueString": "200000000", "chain": 1, "index": 2 }, @@ -20,6 +22,7 @@ "id": "36de98ad2db9129e3b2982e0b028f3994dabeecb75b0f80f055e8d0427218a18:1", "address": "324RMNET22VF4qLHUcVJtvWKVwbNDoj8Sv", "value": 300000000, + "valueString": "300000000", "chain": 1, "index": 3 } @@ -28,4 +31,4 @@ "feeInfo": {}, "coin": "bcha", "txid": "0480ae84648c6612413ed94f0fcf5608cbaaafed66e699f591d2d851cba5eafa" -} \ No newline at end of file +} diff --git a/modules/bitgo/test/v2/unit/coins/utxo/fixtures/bsv/recovery/backupKeyRecovery-p2sh-unsignedRecovery.json b/modules/bitgo/test/v2/unit/coins/utxo/fixtures/bsv/recovery/backupKeyRecovery-p2sh-unsignedRecovery.json index f92875f923..539b10dd35 100644 --- a/modules/bitgo/test/v2/unit/coins/utxo/fixtures/bsv/recovery/backupKeyRecovery-p2sh-unsignedRecovery.json +++ b/modules/bitgo/test/v2/unit/coins/utxo/fixtures/bsv/recovery/backupKeyRecovery-p2sh-unsignedRecovery.json @@ -6,6 +6,7 @@ "id": "d03e57cb65ea7b86411a879afc98d428cb9f7caed4cd5c1c537ed6af6f356173:1", "address": "37qPMKZpagdNztA82mXrE81ch2kPzYxEnH", "value": 100000000, + "valueString": "100000000", "chain": 1, "index": 0 }, @@ -13,6 +14,7 @@ "id": "625f1e94548949733d43b367c4d30d3e3444cce5011300959fc6001d5f29ea06:1", "address": "37VmFTmUhwppU2FcKM3uawLjj4oYBQZsN1", "value": 200000000, + "valueString": "200000000", "chain": 1, "index": 2 }, @@ -20,6 +22,7 @@ "id": "36de98ad2db9129e3b2982e0b028f3994dabeecb75b0f80f055e8d0427218a18:1", "address": "324RMNET22VF4qLHUcVJtvWKVwbNDoj8Sv", "value": 300000000, + "valueString": "300000000", "chain": 1, "index": 3 } @@ -28,4 +31,4 @@ "feeInfo": {}, "coin": "bsv", "txid": "d62ccec28180bfda03f1a8676bfbc568bbf6d228b14c5dfd71ca2f760dffae7f" -} \ No newline at end of file +} diff --git a/modules/bitgo/test/v2/unit/coins/utxo/fixtures/btc/recovery/backupKeyRecovery-p2sh-unsignedRecovery.json b/modules/bitgo/test/v2/unit/coins/utxo/fixtures/btc/recovery/backupKeyRecovery-p2sh-unsignedRecovery.json index 155c85b731..1ff6ca0338 100644 --- a/modules/bitgo/test/v2/unit/coins/utxo/fixtures/btc/recovery/backupKeyRecovery-p2sh-unsignedRecovery.json +++ b/modules/bitgo/test/v2/unit/coins/utxo/fixtures/btc/recovery/backupKeyRecovery-p2sh-unsignedRecovery.json @@ -6,6 +6,7 @@ "id": "d03e57cb65ea7b86411a879afc98d428cb9f7caed4cd5c1c537ed6af6f356173:1", "address": "37qPMKZpagdNztA82mXrE81ch2kPzYxEnH", "value": 100000000, + "valueString": "100000000", "chain": 1, "index": 0 }, @@ -13,6 +14,7 @@ "id": "625f1e94548949733d43b367c4d30d3e3444cce5011300959fc6001d5f29ea06:1", "address": "37VmFTmUhwppU2FcKM3uawLjj4oYBQZsN1", "value": 200000000, + "valueString": "200000000", "chain": 1, "index": 2 }, @@ -20,6 +22,7 @@ "id": "36de98ad2db9129e3b2982e0b028f3994dabeecb75b0f80f055e8d0427218a18:1", "address": "324RMNET22VF4qLHUcVJtvWKVwbNDoj8Sv", "value": 300000000, + "valueString": "300000000", "chain": 1, "index": 3 } @@ -28,4 +31,4 @@ "feeInfo": {}, "coin": "btc", "txid": "0480ae84648c6612413ed94f0fcf5608cbaaafed66e699f591d2d851cba5eafa" -} \ No newline at end of file +} diff --git a/modules/bitgo/test/v2/unit/coins/utxo/fixtures/btc/recovery/backupKeyRecovery-p2shP2wsh-unsignedRecovery.json b/modules/bitgo/test/v2/unit/coins/utxo/fixtures/btc/recovery/backupKeyRecovery-p2shP2wsh-unsignedRecovery.json index 531fed4467..c33e80b742 100644 --- a/modules/bitgo/test/v2/unit/coins/utxo/fixtures/btc/recovery/backupKeyRecovery-p2shP2wsh-unsignedRecovery.json +++ b/modules/bitgo/test/v2/unit/coins/utxo/fixtures/btc/recovery/backupKeyRecovery-p2shP2wsh-unsignedRecovery.json @@ -6,6 +6,7 @@ "id": "4e7134b992a57b35acec657974fb0dbaff5304f6b3645037f05f526352b18e50:1", "address": "3PeXf4UiyRneENKQrarZ3yt9dwTM4xgFZQ", "value": 100000000, + "valueString": "100000000", "chain": 11, "index": 0 }, @@ -13,6 +14,7 @@ "id": "98a101ffd98d2ce1bcddfb4b34ac071ac54da417377cceb468ddcdcc4ef19a3e:1", "address": "3Qz9psfsDLD1F7W2hdKzcyPxn16BkSxpZN", "value": 200000000, + "valueString": "200000000", "chain": 11, "index": 2 }, @@ -20,6 +22,7 @@ "id": "67b1893259423705b645ccdae1c050ea8e43017bd292d97e0e5a80b8405ad5bc:1", "address": "381yBi3uNArm5xCHCtW4FGay4wJRzSGegj", "value": 300000000, + "valueString": "300000000", "chain": 11, "index": 3 } @@ -28,4 +31,4 @@ "feeInfo": {}, "coin": "btc", "txid": "bc2f2749a68ae5230ecb90a559dcc301ceb7fdd1f23803b31a3e80e35f5d6a6d" -} \ No newline at end of file +} diff --git a/modules/bitgo/test/v2/unit/coins/utxo/fixtures/btc/recovery/backupKeyRecovery-p2tr-unsignedRecovery.json b/modules/bitgo/test/v2/unit/coins/utxo/fixtures/btc/recovery/backupKeyRecovery-p2tr-unsignedRecovery.json index 58c6bcaa12..89fce8d405 100644 --- a/modules/bitgo/test/v2/unit/coins/utxo/fixtures/btc/recovery/backupKeyRecovery-p2tr-unsignedRecovery.json +++ b/modules/bitgo/test/v2/unit/coins/utxo/fixtures/btc/recovery/backupKeyRecovery-p2tr-unsignedRecovery.json @@ -6,6 +6,7 @@ "id": "9cf295ddfa67cfcc33ab4321f1c4f0c31a343069c841e41d352c7053536049ea:1", "address": "bc1phk6lhy2tka2kxsx6hjd3c0z2h2e0rcrere9lr3kqsg0p6xxqe2pq2ark68", "value": 100000000, + "valueString": "100000000", "chain": 31, "index": 0 }, @@ -13,6 +14,7 @@ "id": "03335d059c6f363eb21687bdfb57b93ecae466f0582669afe5f56cfe7de6d4f2:1", "address": "bc1punyhjurx29e2577msed4mzlu5py2snp6s2zwf2uux2ek5xk2ps6sxyqcqj", "value": 200000000, + "valueString": "200000000", "chain": 31, "index": 2 }, @@ -20,6 +22,7 @@ "id": "9d6b8af626c6ce6c62a810f74f168768b4383ec49425a84b97d6240c2f273408:1", "address": "bc1pgrsntg8rd9qdjf06demu0423ysxftqddx9twyqy38fsg9qyj82xs3y9tyr", "value": 300000000, + "valueString": "300000000", "chain": 31, "index": 3 } @@ -28,4 +31,4 @@ "feeInfo": {}, "coin": "btc", "txid": "39750e9863dc6f4296985a4212a0c9b04a992b4fb0ab93b7b1dc091f57d160ea" -} \ No newline at end of file +} diff --git a/modules/bitgo/test/v2/unit/coins/utxo/fixtures/btc/recovery/backupKeyRecovery-p2wsh-unsignedRecovery.json b/modules/bitgo/test/v2/unit/coins/utxo/fixtures/btc/recovery/backupKeyRecovery-p2wsh-unsignedRecovery.json index dad4f9483f..51a8989782 100644 --- a/modules/bitgo/test/v2/unit/coins/utxo/fixtures/btc/recovery/backupKeyRecovery-p2wsh-unsignedRecovery.json +++ b/modules/bitgo/test/v2/unit/coins/utxo/fixtures/btc/recovery/backupKeyRecovery-p2wsh-unsignedRecovery.json @@ -6,6 +6,7 @@ "id": "ef0bab6daae6a8f0a6b17198ccc3cbae5554f44794dcbe028f133d3052013702:1", "address": "bc1q5e7nvvypt2qpjxq74zwtry9klsqkcyvcee85anaa3pax7ae207gsxkxwxc", "value": 100000000, + "valueString": "100000000", "chain": 21, "index": 0 }, @@ -13,6 +14,7 @@ "id": "cbbfe10f6d74c415251d56ffae4aeeb012bd03c2d1ac854cb10dfa08effd519e:1", "address": "bc1q3v9yjlrzkufgd99d07806262dhqgfjf2zjdx5sfrw8uslnjs2uts5rvzzm", "value": 200000000, + "valueString": "200000000", "chain": 21, "index": 2 }, @@ -20,6 +22,7 @@ "id": "41c356a3c28ab9713aaf75d274ab65bb17e11e51d5a160b99e326b241bc2ed01:1", "address": "bc1qyerx34sx9a2a4zz7w320tuxz3hq84xn0hm6tzr6tek77tsknfg0s2sufdt", "value": 300000000, + "valueString": "300000000", "chain": 21, "index": 3 } @@ -28,4 +31,4 @@ "feeInfo": {}, "coin": "btc", "txid": "dc9295cfa0f659af44fa78619502b296a8398502d6b67f6daf6e853dffb4f8a4" -} \ No newline at end of file +} diff --git a/modules/bitgo/test/v2/unit/coins/utxo/fixtures/btg/recovery/backupKeyRecovery-p2sh-unsignedRecovery.json b/modules/bitgo/test/v2/unit/coins/utxo/fixtures/btg/recovery/backupKeyRecovery-p2sh-unsignedRecovery.json index c4615806c3..4e0028b11c 100644 --- a/modules/bitgo/test/v2/unit/coins/utxo/fixtures/btg/recovery/backupKeyRecovery-p2sh-unsignedRecovery.json +++ b/modules/bitgo/test/v2/unit/coins/utxo/fixtures/btg/recovery/backupKeyRecovery-p2sh-unsignedRecovery.json @@ -6,6 +6,7 @@ "id": "94f17dccfb5b490895c56d33c7055c1d2d4c492b3f919d116a3d7274d00a35b8:1", "address": "AMvF5Gw1Mvy9igfgUKXaxNun27PNiLLNkc", "value": 100000000, + "valueString": "100000000", "chain": 1, "index": 0 }, @@ -13,6 +14,7 @@ "id": "50977419b7122fd429c79a790670f4fea5719bb97f20a70c3170d6c2bc26cc39:1", "address": "AMacyR8fVCAbBpmAku3eKCEu49SX1JbzmL", "value": 200000000, + "valueString": "200000000", "chain": 1, "index": 2 }, @@ -20,6 +22,7 @@ "id": "61844d00eb67eae0b730740f444933db2fc83e83030eff9e80f1abde64759140:1", "address": "AG9H5KbdoGq1ndqqvAV3dBQUq2ELyFa81n", "value": 300000000, + "valueString": "300000000", "chain": 1, "index": 3 } @@ -28,4 +31,4 @@ "feeInfo": {}, "coin": "btg", "txid": "79146ad0e3b460dcdb12f6538e84e7ffcc3fef20e5e12ae44e4d174e06a0b0d9" -} \ No newline at end of file +} diff --git a/modules/bitgo/test/v2/unit/coins/utxo/fixtures/btg/recovery/backupKeyRecovery-p2shP2wsh-unsignedRecovery.json b/modules/bitgo/test/v2/unit/coins/utxo/fixtures/btg/recovery/backupKeyRecovery-p2shP2wsh-unsignedRecovery.json index c56480173f..6f7dc19102 100644 --- a/modules/bitgo/test/v2/unit/coins/utxo/fixtures/btg/recovery/backupKeyRecovery-p2shP2wsh-unsignedRecovery.json +++ b/modules/bitgo/test/v2/unit/coins/utxo/fixtures/btg/recovery/backupKeyRecovery-p2shP2wsh-unsignedRecovery.json @@ -6,6 +6,7 @@ "id": "3044550eda939274c600ff73a9f084f85ab164fabf69c1b7d8498b3627caf7b1:1", "address": "AdjPP1qukg8QxApyJ8rHnEnJy26KnBr2ik", "value": 100000000, + "valueString": "100000000", "chain": 11, "index": 0 }, @@ -13,6 +14,7 @@ "id": "cb0b658fa8b76d302afcb56b9e4eb922c2658d0836149ff8a947f61dda6b599f:1", "address": "Af51Yq33zaYmxv1b9BKjMEJ875jAY12YW1", "value": 200000000, + "valueString": "200000000", "chain": 11, "index": 2 }, @@ -20,6 +22,7 @@ "id": "b73bae8239d8c5023b115e428100c59f927b89b176edde5f874d3c2c21d5f71b:1", "address": "AN6pufR69RCXokhqeSVnyXV8Q1wQkNsJjq", "value": 300000000, + "valueString": "300000000", "chain": 11, "index": 3 } @@ -28,4 +31,4 @@ "feeInfo": {}, "coin": "btg", "txid": "ae7a020fd752d6b81aad05a9efe9828e2b5183a5b59c41bbf5b57eca237b1607" -} \ No newline at end of file +} diff --git a/modules/bitgo/test/v2/unit/coins/utxo/fixtures/btg/recovery/backupKeyRecovery-p2wsh-unsignedRecovery.json b/modules/bitgo/test/v2/unit/coins/utxo/fixtures/btg/recovery/backupKeyRecovery-p2wsh-unsignedRecovery.json index c4fed5971b..043dfbbd9f 100644 --- a/modules/bitgo/test/v2/unit/coins/utxo/fixtures/btg/recovery/backupKeyRecovery-p2wsh-unsignedRecovery.json +++ b/modules/bitgo/test/v2/unit/coins/utxo/fixtures/btg/recovery/backupKeyRecovery-p2wsh-unsignedRecovery.json @@ -6,6 +6,7 @@ "id": "c134901031c7dc789eb05f6c9000fb8022f684361298db79be0de0c99cffde89:1", "address": "btg1q5e7nvvypt2qpjxq74zwtry9klsqkcyvcee85anaa3pax7ae207gsgkznkj", "value": 100000000, + "valueString": "100000000", "chain": 21, "index": 0 }, @@ -13,6 +14,7 @@ "id": "d19986a8b745892442a2d58b0e7ab9e903966ff433702a35c724cb12209a17e6:1", "address": "btg1q3v9yjlrzkufgd99d07806262dhqgfjf2zjdx5sfrw8uslnjs2uts6rglj3", "value": 200000000, + "valueString": "200000000", "chain": 21, "index": 2 }, @@ -20,6 +22,7 @@ "id": "7ffd092e5baa2e25c71614607110825f7d1037f205f725e9f27dd5be1447b22f:1", "address": "btg1qyerx34sx9a2a4zz7w320tuxz3hq84xn0hm6tzr6tek77tsknfg0sysc5ap", "value": 300000000, + "valueString": "300000000", "chain": 21, "index": 3 } @@ -28,4 +31,4 @@ "feeInfo": {}, "coin": "btg", "txid": "e7d38436aac3dcaf5a79e2da0a74a166cac08840032bd64b7bbb81e299bae446" -} \ No newline at end of file +} diff --git a/modules/bitgo/test/v2/unit/coins/utxo/fixtures/dash/recovery/backupKeyRecovery-p2sh-unsignedRecovery.json b/modules/bitgo/test/v2/unit/coins/utxo/fixtures/dash/recovery/backupKeyRecovery-p2sh-unsignedRecovery.json index 4508487c62..c567eca827 100644 --- a/modules/bitgo/test/v2/unit/coins/utxo/fixtures/dash/recovery/backupKeyRecovery-p2sh-unsignedRecovery.json +++ b/modules/bitgo/test/v2/unit/coins/utxo/fixtures/dash/recovery/backupKeyRecovery-p2sh-unsignedRecovery.json @@ -6,6 +6,7 @@ "id": "af3cc2e4eeb25d9ed826b6513b71f1886f5eedf8801f63496317bb0315a46593:1", "address": "7YZ2BWqzPfj1zeh5JPCMZW1Gcaamj6AKG6", "value": 100000000, + "valueString": "100000000", "chain": 1, "index": 0 }, @@ -13,6 +14,7 @@ "id": "2a6890b46672658eeafd69e66ac8d90684ac215f64a3c9a5464735d625cee1af:1", "address": "7YDQ5f3eWvvTTnnZaxiQvKLPecdv1A4QLF", "value": 200000000, + "valueString": "200000000", "chain": 1, "index": 2 }, @@ -20,6 +22,7 @@ "id": "9fe15864c040c64d4cd63c70f035fd35fb3a26f4918a15249a590099dc4eec67:1", "address": "7Sn4BZWcq1at4bsEkE9pEJVyRVRk2qo5ay", "value": 300000000, + "valueString": "300000000", "chain": 1, "index": 3 } @@ -28,4 +31,4 @@ "feeInfo": {}, "coin": "dash", "txid": "e23a197e97f87b0b8b5aab0ce6065218d44b396b49b2232254fa89aacd7d51b2" -} \ No newline at end of file +} diff --git a/modules/bitgo/test/v2/unit/coins/utxo/fixtures/doge/recovery/backupKeyRecovery-p2sh-unsignedRecovery.json b/modules/bitgo/test/v2/unit/coins/utxo/fixtures/doge/recovery/backupKeyRecovery-p2sh-unsignedRecovery.json index f7476391da..2b443746be 100644 --- a/modules/bitgo/test/v2/unit/coins/utxo/fixtures/doge/recovery/backupKeyRecovery-p2sh-unsignedRecovery.json +++ b/modules/bitgo/test/v2/unit/coins/utxo/fixtures/doge/recovery/backupKeyRecovery-p2sh-unsignedRecovery.json @@ -5,21 +5,24 @@ { "id": "2e6cd69dbdb3a04e4b0f94cfb6554ea61a8226bc8de0e63d23f1cb87b03aca6e:1", "address": "9xae6AdiekWGuFXbSuCGUFdzPc8RyQ9USD", - "value": "9000000000000000", + "value": 9000000000000000, + "valueString": "9000000000000000", "chain": 1, "index": 0 }, { "id": "038614de4388140a27d8f9fae5443cdcc0283738c8249a6b675950fae8a57193:1", "address": "9xF1zJqNn1hiNPd5jUiKq4y7ReBaFTfSf2", - "value": "18000000000000001", + "value": 18000000000000001, + "valueString": "18000000000000001", "chain": 1, "index": 2 }, { "id": "b1542eaff30c471adaf0886941697e80a08af3e79408f87a729f578b35b82afb:1", "address": "9rog6DJM66N8yChktk9j948hCWyQGHV84D", - "value": "27000000000000001", + "value": 27000000000000001, + "valueString": "27000000000000001", "chain": 1, "index": 3 } diff --git a/modules/bitgo/test/v2/unit/coins/utxo/fixtures/ltc/recovery/backupKeyRecovery-p2sh-unsignedRecovery.json b/modules/bitgo/test/v2/unit/coins/utxo/fixtures/ltc/recovery/backupKeyRecovery-p2sh-unsignedRecovery.json index a9870dc95c..4806f1970d 100644 --- a/modules/bitgo/test/v2/unit/coins/utxo/fixtures/ltc/recovery/backupKeyRecovery-p2sh-unsignedRecovery.json +++ b/modules/bitgo/test/v2/unit/coins/utxo/fixtures/ltc/recovery/backupKeyRecovery-p2sh-unsignedRecovery.json @@ -6,6 +6,7 @@ "id": "900a43e40599f6ed31faa80fe90a29148b83ec7c11b8448046cce0d2e3392364:1", "address": "ME3XfCynXoUooPS28eXC3mG21jLqtXgiEr", "value": 100000000, + "valueString": "100000000", "chain": 1, "index": 0 }, @@ -13,6 +14,7 @@ "id": "97849e6339724c8800c645b95b058a0b0b9c3a4bff43ea3e06b643c66f2f0907:1", "address": "MDhuZMBSf4gFGXXWRE3FQab93mPz8LSpT3", "value": 200000000, + "valueString": "200000000", "chain": 1, "index": 2 }, @@ -20,6 +22,7 @@ "id": "e6575a5554e7d3256a8ecac9bad04084bd3d77f531cd9099872eec87a7136e18:1", "address": "M8GZfFeQy9LfsLcBaVUeiZkipeBpDpTB7H", "value": 300000000, + "valueString": "300000000", "chain": 1, "index": 3 } @@ -28,4 +31,4 @@ "feeInfo": {}, "coin": "ltc", "txid": "a984186aa30e72427ec46b915e166a8fc72a28d0499dbbc8122e076adb41f257" -} \ No newline at end of file +} diff --git a/modules/bitgo/test/v2/unit/coins/utxo/fixtures/ltc/recovery/backupKeyRecovery-p2shP2wsh-unsignedRecovery.json b/modules/bitgo/test/v2/unit/coins/utxo/fixtures/ltc/recovery/backupKeyRecovery-p2shP2wsh-unsignedRecovery.json index 2dc19e04e5..ea96ded3e4 100644 --- a/modules/bitgo/test/v2/unit/coins/utxo/fixtures/ltc/recovery/backupKeyRecovery-p2shP2wsh-unsignedRecovery.json +++ b/modules/bitgo/test/v2/unit/coins/utxo/fixtures/ltc/recovery/backupKeyRecovery-p2shP2wsh-unsignedRecovery.json @@ -6,6 +6,7 @@ "id": "3db419abc9b7b1619735e95529a03b809da561fd9e657d408b54f123cc86e779:1", "address": "MVrfxwtgvYe52sbJxTqtsd8Yxe3nzJDCzE", "value": 100000000, + "valueString": "100000000", "chain": 11, "index": 0 }, @@ -13,6 +14,7 @@ "id": "ecb48ff9e6e9122c90499c1969ac326fffbed384f672d11bfdb2b6c0c557ee2c:1", "address": "MXCJ8m5qAT4S3cmvoWKLSceN6hgdhEgcDW", "value": 200000000, + "valueString": "200000000", "chain": 11, "index": 2 }, @@ -20,6 +22,7 @@ "id": "5b5b37ff6674ae0433323adf81582b629023baaa81b344e8dba2e8fd26b2ab34:1", "address": "MEE7VbTsKHiBtTUBJmVQ4uqNPdtszrNLUH", "value": 300000000, + "valueString": "300000000", "chain": 11, "index": 3 } @@ -28,4 +31,4 @@ "feeInfo": {}, "coin": "ltc", "txid": "687e0da1f855f926f8d8d8e8e03d6cfc469819acc5e59557bc4d041d73e2cbed" -} \ No newline at end of file +} diff --git a/modules/bitgo/test/v2/unit/coins/utxo/fixtures/ltc/recovery/backupKeyRecovery-p2wsh-unsignedRecovery.json b/modules/bitgo/test/v2/unit/coins/utxo/fixtures/ltc/recovery/backupKeyRecovery-p2wsh-unsignedRecovery.json index db7339f77f..ce61674bee 100644 --- a/modules/bitgo/test/v2/unit/coins/utxo/fixtures/ltc/recovery/backupKeyRecovery-p2wsh-unsignedRecovery.json +++ b/modules/bitgo/test/v2/unit/coins/utxo/fixtures/ltc/recovery/backupKeyRecovery-p2wsh-unsignedRecovery.json @@ -6,6 +6,7 @@ "id": "4cb4b3a669119ee990be29ec8cab49e3bfc781c9bb440aebf25aba8b89821d90:1", "address": "ltc1q5e7nvvypt2qpjxq74zwtry9klsqkcyvcee85anaa3pax7ae207gs9jg7ua", "value": 100000000, + "valueString": "100000000", "chain": 21, "index": 0 }, @@ -13,6 +14,7 @@ "id": "07c88610fe1104c162a444d7697750f7fd0b1e57b002f1d145b98d1cecbc03aa:1", "address": "ltc1q3v9yjlrzkufgd99d07806262dhqgfjf2zjdx5sfrw8uslnjs2utsh8zjc7", "value": 200000000, + "valueString": "200000000", "chain": 21, "index": 2 }, @@ -20,6 +22,7 @@ "id": "6c2fc97bd00dbe242c95a386045a0ae906248b81ec995d4206884b1890fad3eb:1", "address": "ltc1qyerx34sx9a2a4zz7w320tuxz3hq84xn0hm6tzr6tek77tsknfg0sf5jehw", "value": 300000000, + "valueString": "300000000", "chain": 21, "index": 3 } @@ -28,4 +31,4 @@ "feeInfo": {}, "coin": "ltc", "txid": "8afd5e7276d3a81be210eda138fce796fd71fefc18863785905fe682a4a0c46d" -} \ No newline at end of file +} diff --git a/modules/bitgo/test/v2/unit/coins/utxo/fixtures/tbch/recovery/backupKeyRecovery-p2sh-unsignedRecovery.json b/modules/bitgo/test/v2/unit/coins/utxo/fixtures/tbch/recovery/backupKeyRecovery-p2sh-unsignedRecovery.json index 7d838e3982..bceaf89c1b 100644 --- a/modules/bitgo/test/v2/unit/coins/utxo/fixtures/tbch/recovery/backupKeyRecovery-p2sh-unsignedRecovery.json +++ b/modules/bitgo/test/v2/unit/coins/utxo/fixtures/tbch/recovery/backupKeyRecovery-p2sh-unsignedRecovery.json @@ -6,6 +6,7 @@ "id": "1884e8e81a047cde56747df2896ce1ede6edd79345dc3c89cbead35ad6eb2823:1", "address": "2MyPbR4VrC98jCfnfhu9ir4zsuNxZiPS85K", "value": 100000000, + "valueString": "100000000", "chain": 1, "index": 0 }, @@ -13,6 +14,7 @@ "id": "68abb049f24b036261e665aab871f5b4cb0312feba66d8bd46b1c3aed229af8a:1", "address": "2My3yKChWKQLAfot9zUfnCtKzwR1hxdfvE4", "value": 200000000, + "valueString": "200000000", "chain": 1, "index": 2 }, @@ -20,6 +22,7 @@ "id": "dd3316a9bf6661005eefdf82bec8c5a7b0cb993c345c098b1a92edabf0ddda65:1", "address": "2MscdR7AUdUzbGcxq9k7BWsVaiHoXwk2Rn4", "value": 300000000, + "valueString": "300000000", "chain": 1, "index": 3 } @@ -28,4 +31,4 @@ "feeInfo": {}, "coin": "tbch", "txid": "bfc5cd7b3a8e79841e2a22e438d532e4020006e0cc5dde105f8ce97db1e2d94e" -} \ No newline at end of file +} diff --git a/modules/bitgo/test/v2/unit/coins/utxo/fixtures/tbcha/recovery/backupKeyRecovery-p2sh-unsignedRecovery.json b/modules/bitgo/test/v2/unit/coins/utxo/fixtures/tbcha/recovery/backupKeyRecovery-p2sh-unsignedRecovery.json index 2873097c52..6b0a3ad651 100644 --- a/modules/bitgo/test/v2/unit/coins/utxo/fixtures/tbcha/recovery/backupKeyRecovery-p2sh-unsignedRecovery.json +++ b/modules/bitgo/test/v2/unit/coins/utxo/fixtures/tbcha/recovery/backupKeyRecovery-p2sh-unsignedRecovery.json @@ -6,6 +6,7 @@ "id": "1884e8e81a047cde56747df2896ce1ede6edd79345dc3c89cbead35ad6eb2823:1", "address": "2MyPbR4VrC98jCfnfhu9ir4zsuNxZiPS85K", "value": 100000000, + "valueString": "100000000", "chain": 1, "index": 0 }, @@ -13,6 +14,7 @@ "id": "68abb049f24b036261e665aab871f5b4cb0312feba66d8bd46b1c3aed229af8a:1", "address": "2My3yKChWKQLAfot9zUfnCtKzwR1hxdfvE4", "value": 200000000, + "valueString": "200000000", "chain": 1, "index": 2 }, @@ -20,6 +22,7 @@ "id": "dd3316a9bf6661005eefdf82bec8c5a7b0cb993c345c098b1a92edabf0ddda65:1", "address": "2MscdR7AUdUzbGcxq9k7BWsVaiHoXwk2Rn4", "value": 300000000, + "valueString": "300000000", "chain": 1, "index": 3 } @@ -28,4 +31,4 @@ "feeInfo": {}, "coin": "tbcha", "txid": "b8afbf9d50494f83fda31b80a3ef29227382ff77580b2a16794c50e4a12a5b57" -} \ No newline at end of file +} diff --git a/modules/bitgo/test/v2/unit/coins/utxo/fixtures/tbsv/recovery/backupKeyRecovery-p2sh-unsignedRecovery.json b/modules/bitgo/test/v2/unit/coins/utxo/fixtures/tbsv/recovery/backupKeyRecovery-p2sh-unsignedRecovery.json index f05d7666d6..88ed79a55f 100644 --- a/modules/bitgo/test/v2/unit/coins/utxo/fixtures/tbsv/recovery/backupKeyRecovery-p2sh-unsignedRecovery.json +++ b/modules/bitgo/test/v2/unit/coins/utxo/fixtures/tbsv/recovery/backupKeyRecovery-p2sh-unsignedRecovery.json @@ -6,6 +6,7 @@ "id": "1884e8e81a047cde56747df2896ce1ede6edd79345dc3c89cbead35ad6eb2823:1", "address": "2MyPbR4VrC98jCfnfhu9ir4zsuNxZiPS85K", "value": 100000000, + "valueString": "100000000", "chain": 1, "index": 0 }, @@ -13,6 +14,7 @@ "id": "68abb049f24b036261e665aab871f5b4cb0312feba66d8bd46b1c3aed229af8a:1", "address": "2My3yKChWKQLAfot9zUfnCtKzwR1hxdfvE4", "value": 200000000, + "valueString": "200000000", "chain": 1, "index": 2 }, @@ -20,6 +22,7 @@ "id": "dd3316a9bf6661005eefdf82bec8c5a7b0cb993c345c098b1a92edabf0ddda65:1", "address": "2MscdR7AUdUzbGcxq9k7BWsVaiHoXwk2Rn4", "value": 300000000, + "valueString": "300000000", "chain": 1, "index": 3 } @@ -28,4 +31,4 @@ "feeInfo": {}, "coin": "tbsv", "txid": "bfc5cd7b3a8e79841e2a22e438d532e4020006e0cc5dde105f8ce97db1e2d94e" -} \ No newline at end of file +} diff --git a/modules/bitgo/test/v2/unit/coins/utxo/fixtures/tbtc/recovery/backupKeyRecovery-p2sh-unsignedRecovery.json b/modules/bitgo/test/v2/unit/coins/utxo/fixtures/tbtc/recovery/backupKeyRecovery-p2sh-unsignedRecovery.json index 540f80a400..ddd88b755d 100644 --- a/modules/bitgo/test/v2/unit/coins/utxo/fixtures/tbtc/recovery/backupKeyRecovery-p2sh-unsignedRecovery.json +++ b/modules/bitgo/test/v2/unit/coins/utxo/fixtures/tbtc/recovery/backupKeyRecovery-p2sh-unsignedRecovery.json @@ -6,6 +6,7 @@ "id": "1884e8e81a047cde56747df2896ce1ede6edd79345dc3c89cbead35ad6eb2823:1", "address": "2MyPbR4VrC98jCfnfhu9ir4zsuNxZiPS85K", "value": 100000000, + "valueString": "100000000", "chain": 1, "index": 0 }, @@ -13,6 +14,7 @@ "id": "68abb049f24b036261e665aab871f5b4cb0312feba66d8bd46b1c3aed229af8a:1", "address": "2My3yKChWKQLAfot9zUfnCtKzwR1hxdfvE4", "value": 200000000, + "valueString": "200000000", "chain": 1, "index": 2 }, @@ -20,6 +22,7 @@ "id": "dd3316a9bf6661005eefdf82bec8c5a7b0cb993c345c098b1a92edabf0ddda65:1", "address": "2MscdR7AUdUzbGcxq9k7BWsVaiHoXwk2Rn4", "value": 300000000, + "valueString": "300000000", "chain": 1, "index": 3 } @@ -28,4 +31,4 @@ "feeInfo": {}, "coin": "tbtc", "txid": "b8afbf9d50494f83fda31b80a3ef29227382ff77580b2a16794c50e4a12a5b57" -} \ No newline at end of file +} diff --git a/modules/bitgo/test/v2/unit/coins/utxo/fixtures/tbtc/recovery/backupKeyRecovery-p2shP2wsh-unsignedRecovery.json b/modules/bitgo/test/v2/unit/coins/utxo/fixtures/tbtc/recovery/backupKeyRecovery-p2shP2wsh-unsignedRecovery.json index bd45ab2963..4c5ae2e099 100644 --- a/modules/bitgo/test/v2/unit/coins/utxo/fixtures/tbtc/recovery/backupKeyRecovery-p2shP2wsh-unsignedRecovery.json +++ b/modules/bitgo/test/v2/unit/coins/utxo/fixtures/tbtc/recovery/backupKeyRecovery-p2shP2wsh-unsignedRecovery.json @@ -6,6 +6,7 @@ "id": "37c6cb51a6133bfe7d83a3f91320f66cdc8896b97883171742a78c472e380618:1", "address": "2NFCjioQkatHzS9wxXiURfvsQrHfWqT3yZj", "value": 100000000, + "valueString": "100000000", "chain": 11, "index": 0 }, @@ -13,6 +14,7 @@ "id": "3f62add70f11b60e41a07a6e37aa90fa658cecda0f7cf2e4c4809303fa607ece:1", "address": "2NGYMtcbtpniMSu8aNkwsEvPDzMJMY2Bhbg", "value": 200000000, + "valueString": "200000000", "chain": 11, "index": 2 }, @@ -20,6 +22,7 @@ "id": "21496a50e927ede95b5c0f393ada77849f3604a04df1859c38a8f1f49c8860d4:1", "address": "2MyaBFSyvydN7Hjppt27vsDaEHHWbq2btjH", "value": 300000000, + "valueString": "300000000", "chain": 11, "index": 3 } @@ -28,4 +31,4 @@ "feeInfo": {}, "coin": "tbtc", "txid": "40140685fabaacaf00076fd2b8cc15b210aa32524909a7235c2aad8199d3bf97" -} \ No newline at end of file +} diff --git a/modules/bitgo/test/v2/unit/coins/utxo/fixtures/tbtc/recovery/backupKeyRecovery-p2tr-unsignedRecovery.json b/modules/bitgo/test/v2/unit/coins/utxo/fixtures/tbtc/recovery/backupKeyRecovery-p2tr-unsignedRecovery.json index df2bffc85f..38d84885db 100644 --- a/modules/bitgo/test/v2/unit/coins/utxo/fixtures/tbtc/recovery/backupKeyRecovery-p2tr-unsignedRecovery.json +++ b/modules/bitgo/test/v2/unit/coins/utxo/fixtures/tbtc/recovery/backupKeyRecovery-p2tr-unsignedRecovery.json @@ -6,6 +6,7 @@ "id": "19cd39e8d5366f9ac9c34c4ba0548f632bd4354945f25bfac4460e38756eab2c:1", "address": "tb1phk6lhy2tka2kxsx6hjd3c0z2h2e0rcrere9lr3kqsg0p6xxqe2pqa44eqg", "value": 100000000, + "valueString": "100000000", "chain": 31, "index": 0 }, @@ -13,6 +14,7 @@ "id": "2c54d47f64f69f6707a86bdf7ba2a57d27fbc0e068b4e4250c38331fd30e97a3:1", "address": "tb1punyhjurx29e2577msed4mzlu5py2snp6s2zwf2uux2ek5xk2ps6s3vkh6a", "value": 200000000, + "valueString": "200000000", "chain": 31, "index": 2 }, @@ -20,6 +22,7 @@ "id": "3f7d14d4a648206270a9a389b2c1422a78d98d1bf34313d358aa9a05a04a53bf:1", "address": "tb1pgrsntg8rd9qdjf06demu0423ysxftqddx9twyqy38fsg9qyj82xsxvny7v", "value": 300000000, + "valueString": "300000000", "chain": 31, "index": 3 } @@ -28,4 +31,4 @@ "feeInfo": {}, "coin": "tbtc", "txid": "6d6f51237ab17dc4f6be624766dcba11545b2bc8c8d62f5af34fad388042e6fe" -} \ No newline at end of file +} diff --git a/modules/bitgo/test/v2/unit/coins/utxo/fixtures/tbtc/recovery/backupKeyRecovery-p2wsh-unsignedRecovery.json b/modules/bitgo/test/v2/unit/coins/utxo/fixtures/tbtc/recovery/backupKeyRecovery-p2wsh-unsignedRecovery.json index 0dfa7ffd87..ba9f51f715 100644 --- a/modules/bitgo/test/v2/unit/coins/utxo/fixtures/tbtc/recovery/backupKeyRecovery-p2wsh-unsignedRecovery.json +++ b/modules/bitgo/test/v2/unit/coins/utxo/fixtures/tbtc/recovery/backupKeyRecovery-p2wsh-unsignedRecovery.json @@ -6,6 +6,7 @@ "id": "2acd5a21e467404c8fcf1b377221ec43192251193f49ccff456fad549e2720cb:1", "address": "tb1q5e7nvvypt2qpjxq74zwtry9klsqkcyvcee85anaa3pax7ae207gs37spuh", "value": 100000000, + "valueString": "100000000", "chain": 21, "index": 0 }, @@ -13,6 +14,7 @@ "id": "3dbcc267fd848a5f7a28dd1401506a11ac7f060522d554061c5e38b311614d13:1", "address": "tb1q3v9yjlrzkufgd99d07806262dhqgfjf2zjdx5sfrw8uslnjs2utsrt6dc5", "value": 200000000, + "valueString": "200000000", "chain": 21, "index": 2 }, @@ -20,6 +22,7 @@ "id": "22ef204a5823ec237b0ba181170f5283b13535840381afdd25bf844dc9d9fba7:1", "address": "tb1qyerx34sx9a2a4zz7w320tuxz3hq84xn0hm6tzr6tek77tsknfg0sac2xhy", "value": 300000000, + "valueString": "300000000", "chain": 21, "index": 3 } @@ -28,4 +31,4 @@ "feeInfo": {}, "coin": "tbtc", "txid": "2eae9f2a0c22b3ddf7882879de5e5180afadd5e1fc68f3c93f1699967d54398e" -} \ No newline at end of file +} diff --git a/modules/bitgo/test/v2/unit/coins/utxo/fixtures/tdash/recovery/backupKeyRecovery-p2sh-unsignedRecovery.json b/modules/bitgo/test/v2/unit/coins/utxo/fixtures/tdash/recovery/backupKeyRecovery-p2sh-unsignedRecovery.json index 3b7bf272bf..dd5ec10140 100644 --- a/modules/bitgo/test/v2/unit/coins/utxo/fixtures/tdash/recovery/backupKeyRecovery-p2sh-unsignedRecovery.json +++ b/modules/bitgo/test/v2/unit/coins/utxo/fixtures/tdash/recovery/backupKeyRecovery-p2sh-unsignedRecovery.json @@ -6,6 +6,7 @@ "id": "85a8136b41f6f72dc71988b750974181ad2ccebbb84d3f8d4ed0018cb1758473:1", "address": "8kZq8qjrXD7eSx7LNeCK1spdW6Mbun1sYn", "value": 100000000, + "valueString": "100000000", "chain": 1, "index": 0 }, @@ -13,6 +14,7 @@ "id": "25833ef2fa6a68628395d6e72d015c854072b1e941d07adb7f02ed8cc3d6ad7b:1", "address": "8kED2ywWeUK5v6CpfDiNNh9kY8Qk7BCrTC", "value": 200000000, + "valueString": "200000000", "chain": 1, "index": 2 }, @@ -20,6 +22,7 @@ "id": "e976df41a633b0819d0d6f4c8a0b594962a355f1b1ff35a4277ac399148534ec:1", "address": "8ens8tQUxYyWWuHVpV9mggKLK1Ca9UtntA", "value": 300000000, + "valueString": "300000000", "chain": 1, "index": 3 } @@ -28,4 +31,4 @@ "feeInfo": {}, "coin": "tdash", "txid": "3edbbb10fde896b2e7d1c40412c22f4bb5e8a4e0e695074d80fe5ec1fad56c46" -} \ No newline at end of file +} diff --git a/modules/bitgo/test/v2/unit/coins/utxo/fixtures/tdoge/recovery/backupKeyRecovery-p2sh-unsignedRecovery.json b/modules/bitgo/test/v2/unit/coins/utxo/fixtures/tdoge/recovery/backupKeyRecovery-p2sh-unsignedRecovery.json index 6d13d0deeb..013bc7a85b 100644 --- a/modules/bitgo/test/v2/unit/coins/utxo/fixtures/tdoge/recovery/backupKeyRecovery-p2sh-unsignedRecovery.json +++ b/modules/bitgo/test/v2/unit/coins/utxo/fixtures/tdoge/recovery/backupKeyRecovery-p2sh-unsignedRecovery.json @@ -5,21 +5,24 @@ { "id": "1884e8e81a047cde56747df2896ce1ede6edd79345dc3c89cbead35ad6eb2823:1", "address": "2MyPbR4VrC98jCfnfhu9ir4zsuNxZiPS85K", - "value": "9000000000000000", + "value": 9000000000000000, + "valueString": "9000000000000000", "chain": 1, "index": 0 }, { "id": "68abb049f24b036261e665aab871f5b4cb0312feba66d8bd46b1c3aed229af8a:1", "address": "2My3yKChWKQLAfot9zUfnCtKzwR1hxdfvE4", - "value": "18000000000000001", + "value": 18000000000000001, + "valueString": "18000000000000001", "chain": 1, "index": 2 }, { "id": "dd3316a9bf6661005eefdf82bec8c5a7b0cb993c345c098b1a92edabf0ddda65:1", "address": "2MscdR7AUdUzbGcxq9k7BWsVaiHoXwk2Rn4", - "value": "27000000000000001", + "value": 27000000000000001, + "valueString": "27000000000000001", "chain": 1, "index": 3 } diff --git a/modules/bitgo/test/v2/unit/coins/utxo/fixtures/tltc/recovery/backupKeyRecovery-p2sh-unsignedRecovery.json b/modules/bitgo/test/v2/unit/coins/utxo/fixtures/tltc/recovery/backupKeyRecovery-p2sh-unsignedRecovery.json index dbffb89492..282f66f518 100644 --- a/modules/bitgo/test/v2/unit/coins/utxo/fixtures/tltc/recovery/backupKeyRecovery-p2sh-unsignedRecovery.json +++ b/modules/bitgo/test/v2/unit/coins/utxo/fixtures/tltc/recovery/backupKeyRecovery-p2sh-unsignedRecovery.json @@ -6,6 +6,7 @@ "id": "501f041b8c185211fa79e808efab8e272c83c68591421d075f3e1ef4cff11e4f:1", "address": "QSkMY5N6DFBpLrYiL1BjvmSK3mQPb8W877", "value": 100000000, + "valueString": "100000000", "chain": 1, "index": 0 }, @@ -13,6 +14,7 @@ "id": "90d757c7fbddc72cba697268a5c021d42fdcb3b805ea468069d25143b2a3d14a:1", "address": "QSQjSDZkLWPFozeCcahoHamS5oTXoc3LZe", "value": 200000000, + "valueString": "200000000", "chain": 1, "index": 2 }, @@ -20,6 +22,7 @@ "id": "d3ade8c91f76d9d96e38abfb3fce2b9f81aef9d9940ac81aee21d3c9e9d4d1bd:1", "address": "QLyPY82ieb3gQoismr9CbZw1rgFMtCBbR4", "value": 300000000, + "valueString": "300000000", "chain": 1, "index": 3 } @@ -28,4 +31,4 @@ "feeInfo": {}, "coin": "tltc", "txid": "b292bcadbfe54a1cc4fc2dfe35d0118a8b360a92aec2c4ddfc5201f2173f7215" -} \ No newline at end of file +} diff --git a/modules/bitgo/test/v2/unit/coins/utxo/fixtures/tltc/recovery/backupKeyRecovery-p2shP2wsh-unsignedRecovery.json b/modules/bitgo/test/v2/unit/coins/utxo/fixtures/tltc/recovery/backupKeyRecovery-p2shP2wsh-unsignedRecovery.json index 3e0ab96d57..d0c21d3d7d 100644 --- a/modules/bitgo/test/v2/unit/coins/utxo/fixtures/tltc/recovery/backupKeyRecovery-p2shP2wsh-unsignedRecovery.json +++ b/modules/bitgo/test/v2/unit/coins/utxo/fixtures/tltc/recovery/backupKeyRecovery-p2shP2wsh-unsignedRecovery.json @@ -6,6 +6,7 @@ "id": "63c5a1ab4de089fe6182acca8445d1c42613bc3567df04e051ce0aebb1c22188:1", "address": "QiZVqpGzbzM5aLi19pWSkdJqzg7LkJqXZ9", "value": 100000000, + "valueString": "100000000", "chain": 11, "index": 0 }, @@ -13,6 +14,7 @@ "id": "8148ca246eac4d9b25356212afb7cf1f63643e03fb50adb189fafb8721309073:1", "address": "Qju81dU8qtmSb5tczrytKcpf8jkBNYGK8n", "value": 200000000, + "valueString": "200000000", "chain": 11, "index": 2 }, @@ -20,6 +22,7 @@ "id": "756592b6b60a323abd269ed53b611c05cf69add5f79686145d10000c76f73859:1", "address": "QSvwNTrAzjRCRvasW89wwv1fRfxRfM5Bru", "value": 300000000, + "valueString": "300000000", "chain": 11, "index": 3 } @@ -28,4 +31,4 @@ "feeInfo": {}, "coin": "tltc", "txid": "8abe3c4a62461e1168d4980614af880f0b44a1378dd79907dab941ea846ce53c" -} \ No newline at end of file +} diff --git a/modules/bitgo/test/v2/unit/coins/utxo/fixtures/tltc/recovery/backupKeyRecovery-p2wsh-unsignedRecovery.json b/modules/bitgo/test/v2/unit/coins/utxo/fixtures/tltc/recovery/backupKeyRecovery-p2wsh-unsignedRecovery.json index 3aa3f2a834..d894b1dd21 100644 --- a/modules/bitgo/test/v2/unit/coins/utxo/fixtures/tltc/recovery/backupKeyRecovery-p2wsh-unsignedRecovery.json +++ b/modules/bitgo/test/v2/unit/coins/utxo/fixtures/tltc/recovery/backupKeyRecovery-p2wsh-unsignedRecovery.json @@ -6,6 +6,7 @@ "id": "8d7cab38b95c001d40d41ad39993d94b77171acede1a20ccfde9a3ac7946cdc6:1", "address": "tltc1q5e7nvvypt2qpjxq74zwtry9klsqkcyvcee85anaa3pax7ae207gswavqrg", "value": 100000000, + "valueString": "100000000", "chain": 21, "index": 0 }, @@ -13,6 +14,7 @@ "id": "9ba0ab3c9853f4db24fefad69f0eb4e5ae41b09babea52ce6a09bd560103a970:1", "address": "tltc1q3v9yjlrzkufgd99d07806262dhqgfjf2zjdx5sfrw8uslnjs2utsugxv8t", "value": 200000000, + "valueString": "200000000", "chain": 21, "index": 2 }, @@ -20,6 +22,7 @@ "id": "d63b6652fbb80dcc4c111bb124b9cb7d5c730990719f07175fc44dcb0cd6e22f:1", "address": "tltc1qyerx34sx9a2a4zz7w320tuxz3hq84xn0hm6tzr6tek77tsknfg0szmk8gm", "value": 300000000, + "valueString": "300000000", "chain": 21, "index": 3 } @@ -28,4 +31,4 @@ "feeInfo": {}, "coin": "tltc", "txid": "f541e7d7a1d3e24659bc13f84369ebffc127da324a5793c419a155ec8e82b81d" -} \ No newline at end of file +} diff --git a/modules/bitgo/test/v2/unit/coins/utxo/fixtures/tzec/recovery/backupKeyRecovery-p2sh-unsignedRecovery.json b/modules/bitgo/test/v2/unit/coins/utxo/fixtures/tzec/recovery/backupKeyRecovery-p2sh-unsignedRecovery.json index c6cffd7bbd..6dcf11e845 100644 --- a/modules/bitgo/test/v2/unit/coins/utxo/fixtures/tzec/recovery/backupKeyRecovery-p2sh-unsignedRecovery.json +++ b/modules/bitgo/test/v2/unit/coins/utxo/fixtures/tzec/recovery/backupKeyRecovery-p2sh-unsignedRecovery.json @@ -6,6 +6,7 @@ "id": "765c76759749b4c618a5d3e3a2767d6424675225761e044c785f1fe02cd3db73:1", "address": "t2ChBQL66RU2M9DnktwM1uZJB4BAeZTVZAQ", "value": 100000000, + "valueString": "100000000", "chain": 1, "index": 0 }, @@ -13,6 +14,7 @@ "id": "0cdb21cdc8bfafc29292f5f1cc12662b6c33b59ba4c94251338a3e4d6c69a413:1", "address": "t2CMZJUHkYjDncMtFBWs5GNdJ6DDnsLmM5p", "value": 200000000, + "valueString": "200000000", "chain": 1, "index": 2 }, @@ -20,6 +22,7 @@ "id": "3d2144a93b2debba4dc7f2374947aee869a74c91e11f956e59ad6ad0526345e9:1", "address": "t26vDQNkirotDDAxvLnJUaMnss61cu3WNJi", "value": 300000000, + "valueString": "300000000", "chain": 1, "index": 3 } @@ -28,4 +31,4 @@ "feeInfo": {}, "coin": "tzec", "txid": "3b48451fcd797cb6e5963a3ae63b0ac072b1470624889e3c28c4bc648d7a53e9" -} \ No newline at end of file +} diff --git a/modules/bitgo/test/v2/unit/coins/utxo/fixtures/zec/recovery/backupKeyRecovery-p2sh-unsignedRecovery.json b/modules/bitgo/test/v2/unit/coins/utxo/fixtures/zec/recovery/backupKeyRecovery-p2sh-unsignedRecovery.json index 772343ee02..d1181074c5 100644 --- a/modules/bitgo/test/v2/unit/coins/utxo/fixtures/zec/recovery/backupKeyRecovery-p2sh-unsignedRecovery.json +++ b/modules/bitgo/test/v2/unit/coins/utxo/fixtures/zec/recovery/backupKeyRecovery-p2sh-unsignedRecovery.json @@ -6,6 +6,7 @@ "id": "215bf9b78362b0a0b587fffb180e03b9ff95161b605555f641c4b691948ff370:1", "address": "t3QhzMeyxZ1QybXD1yCLyMw7XwgwUjsvcvH", "value": 100000000, + "valueString": "100000000", "chain": 1, "index": 0 }, @@ -13,6 +14,7 @@ "id": "d5130d74906e10b6ddf445c24d949e5601ef881cbe1c4e498895b6a674a266b2:1", "address": "t3QNNFoBcgGcR4fJWFms2ikSeyizd1Qh9h6", "value": 200000000, + "valueString": "200000000", "chain": 1, "index": 2 }, @@ -20,6 +22,7 @@ "id": "433c939276cae41b72270398c43cde8de24fe97103a1de9607d95a33cddc3bac:1", "address": "t3Jw2MheazMGqfUPBR3JS2jcEkbnSz3W4iq", "value": 300000000, + "valueString": "300000000", "chain": 1, "index": 3 } @@ -28,4 +31,4 @@ "feeInfo": {}, "coin": "zec", "txid": "7f65d883b9726053933919e08f4fe1e62c3f13e0156af63820b0b7fb9d69cede" -} \ No newline at end of file +} From bc9680b819045b89b0e8e833e3a8d90bdc302497 Mon Sep 17 00:00:00 2001 From: Michael Calcano Date: Tue, 29 Nov 2022 14:46:10 -0700 Subject: [PATCH 07/15] feat(sdk-coin-sol): add support for partially unstaking add support for partially unstaking by splitting the stake account and unstaking the newly created stake account Ticket: BOS-756 --- modules/sdk-coin-sol/src/lib/constants.ts | 15 + modules/sdk-coin-sol/src/lib/iface.ts | 2 +- .../src/lib/instructionParamsFactory.ts | 105 +++- .../src/lib/solInstructionFactory.ts | 43 +- .../src/lib/stakingDeactivateBuilder.ts | 56 +- modules/sdk-coin-sol/src/lib/transaction.ts | 14 + modules/sdk-coin-sol/src/lib/utils.ts | 6 +- modules/sdk-coin-sol/test/resources/sol.ts | 8 + .../unit/instructionParamsFactory.staking.ts | 514 +++++++++++++++++- .../stakingDeactivateBuilder.ts | 97 +++- modules/sdk-coin-sol/test/unit/utils.ts | 9 +- 11 files changed, 833 insertions(+), 36 deletions(-) diff --git a/modules/sdk-coin-sol/src/lib/constants.ts b/modules/sdk-coin-sol/src/lib/constants.ts index 73cc6d532d..8d20e1390c 100644 --- a/modules/sdk-coin-sol/src/lib/constants.ts +++ b/modules/sdk-coin-sol/src/lib/constants.ts @@ -19,6 +19,9 @@ export enum ValidInstructionTypesEnum { TokenTransfer = 'TokenTransfer', Memo = 'Memo', InitializeAssociatedTokenAccount = 'InitializeAssociatedTokenAccount', + Allocate = 'Allocate', + Assign = 'Assign', + Split = 'Split', } // Internal instructions types @@ -46,6 +49,9 @@ export const VALID_SYSTEM_INSTRUCTION_TYPES: ValidInstructionTypes[] = [ ValidInstructionTypesEnum.Memo, ValidInstructionTypesEnum.InitializeAssociatedTokenAccount, ValidInstructionTypesEnum.TokenTransfer, + ValidInstructionTypesEnum.Allocate, + ValidInstructionTypesEnum.Assign, + ValidInstructionTypesEnum.Split, ]; /** Const to check the order of the Wallet Init instructions when decode */ @@ -69,6 +75,15 @@ export const stakingDeactivateInstructionsIndexes = { Memo: 1, } as const; +/** Const to check the order of the Partial Staking Deactivate instructions when decoded */ +export const stakingPartialDeactivateInstructionsIndexes = { + Allocate: 0, + Assign: 1, + Split: 2, + Deactivate: 3, + Memo: 4, +} as const; + /** Const to check the order of the Staking Withdraw instructions when decode */ export const stakingWithdrawInstructionsIndexes = { Withdraw: 0, diff --git a/modules/sdk-coin-sol/src/lib/iface.ts b/modules/sdk-coin-sol/src/lib/iface.ts index 928e65cd64..f3ba9a88ea 100644 --- a/modules/sdk-coin-sol/src/lib/iface.ts +++ b/modules/sdk-coin-sol/src/lib/iface.ts @@ -77,7 +77,7 @@ export interface StakingActivate { export interface StakingDeactivate { type: InstructionBuilderTypes.StakingDeactivate; - params: { fromAddress: string; stakingAddress: string }; + params: { fromAddress: string; stakingAddress: string; amount?: string; unstakingAddress?: string }; } export interface StakingWithdraw { diff --git a/modules/sdk-coin-sol/src/lib/instructionParamsFactory.ts b/modules/sdk-coin-sol/src/lib/instructionParamsFactory.ts index 4406802222..60cb6c12ba 100644 --- a/modules/sdk-coin-sol/src/lib/instructionParamsFactory.ts +++ b/modules/sdk-coin-sol/src/lib/instructionParamsFactory.ts @@ -1,8 +1,13 @@ import { + AllocateParams, + AssignParams, CreateAccountParams, + DeactivateStakeParams, DelegateStakeParams, InitializeStakeParams, + SplitStakeParams, StakeInstruction, + StakeProgram, SystemInstruction, TransactionInstruction, } from '@solana/web3.js'; @@ -228,8 +233,15 @@ function validateStakingInstructions(stakingInstructions: StakingInstructions) { } /** - * Parses Solana instructions to create deactivate tx instructions params - * Only supports Nonce, StakingDeactivate, and Memo Solana instructions + * Parses Solana instructions to create deactivate stake tx instructions params. Supports full stake + * account deactivation and partial stake account deactivation. + * + * When partially deactivating a stake account this method expects the following instructions: Allocate, + * to allocate a new staking account, Assign, to assign the newly created staking account to the + * Stake Program, Split, to split the current stake account, and StakingDeactivate to deactivate the + * newly created stake account. + * + * Supports Nonce, StakingDeactivate, Memo, Allocate, Assign, and Split Solana instructions. * * @param {TransactionInstruction[]} instructions - an array of supported Solana instructions * @returns {InstructionParams[]} An array containing instruction params for staking deactivate tx @@ -238,6 +250,7 @@ function parseStakingDeactivateInstructions( instructions: TransactionInstruction[] ): Array { const instructionData: Array = []; + const unstakingInstructions = {} as UnstakingInstructions; for (const instruction of instructions) { const type = getInstructionType(instruction); switch (type) { @@ -261,22 +274,92 @@ function parseStakingDeactivateInstructions( instructionData.push(memo); break; + case ValidInstructionTypesEnum.Allocate: + unstakingInstructions.allocate = SystemInstruction.decodeAllocate(instruction); + break; + + case ValidInstructionTypesEnum.Assign: + unstakingInstructions.assign = SystemInstruction.decodeAssign(instruction); + break; + + case ValidInstructionTypesEnum.Split: + unstakingInstructions.split = StakeInstruction.decodeSplit(instruction); + break; + case ValidInstructionTypesEnum.StakingDeactivate: - const deactivateInstruction = StakeInstruction.decodeDeactivate(instruction); - const stakingDeactivate: StakingDeactivate = { - type: InstructionBuilderTypes.StakingDeactivate, - params: { - fromAddress: deactivateInstruction.authorizedPubkey.toString(), - stakingAddress: deactivateInstruction.stakePubkey.toString(), - }, - }; - instructionData.push(stakingDeactivate); + unstakingInstructions.deactivate = StakeInstruction.decodeDeactivate(instruction); break; } } + + validateUnstakingInstructions(unstakingInstructions); + const stakingDeactivate: StakingDeactivate = { + type: InstructionBuilderTypes.StakingDeactivate, + params: { + fromAddress: unstakingInstructions.deactivate?.authorizedPubkey.toString() || '', + stakingAddress: + unstakingInstructions.split?.stakePubkey.toString() || + unstakingInstructions.deactivate?.stakePubkey.toString() || + '', + amount: unstakingInstructions.split?.lamports.toString(), + unstakingAddress: unstakingInstructions.split?.splitStakePubkey.toString(), + }, + }; + instructionData.push(stakingDeactivate); + return instructionData; } +interface UnstakingInstructions { + allocate?: AllocateParams; + assign?: AssignParams; + split?: SplitStakeParams; + deactivate?: DeactivateStakeParams; +} + +function validateUnstakingInstructions(unstakingInstructions: UnstakingInstructions) { + if (!unstakingInstructions.deactivate) { + throw new NotSupported('Invalid deactivate stake transaction, missing deactivate stake account instruction'); + } else if (unstakingInstructions.allocate || unstakingInstructions.assign || unstakingInstructions.split) { + if (!unstakingInstructions.allocate) { + throw new NotSupported( + 'Invalid partial deactivate stake transaction, missing allocate unstake account instruction' + ); + } else if (!unstakingInstructions.assign) { + throw new NotSupported( + 'Invalid partial deactivate stake transaction, missing assign unstake account instruction' + ); + } else if (!unstakingInstructions.split) { + throw new NotSupported('Invalid partial deactivate stake transaction, missing split stake account instruction'); + } else if ( + unstakingInstructions.allocate.accountPubkey.toString() !== unstakingInstructions.assign.accountPubkey.toString() + ) { + throw new NotSupported( + 'Invalid partial deactivate stake transaction, must allocate and assign the same public key' + ); + } else if (unstakingInstructions.allocate.space !== StakeProgram.space) { + throw new NotSupported( + `Invalid partial deactivate stake transaction, unstaking account must allocate ${StakeProgram.space} bytes` + ); + } else if (unstakingInstructions.assign.programId.toString() !== StakeProgram.programId.toString()) { + throw new NotSupported( + 'Invalid partial deactivate stake transaction, the unstake account must be assigned to the Stake Program' + ); + } else if ( + unstakingInstructions.allocate.accountPubkey.toString() !== + unstakingInstructions.split.splitStakePubkey.toString() + ) { + throw new NotSupported('Invalid partial deactivate stake transaction, must allocate the unstaking account'); + } else if ( + unstakingInstructions.split.stakePubkey.toString() === unstakingInstructions.split.splitStakePubkey.toString() + ) { + throw new NotSupported( + 'Invalid partial deactivate stake transaction, the unstaking account must be different from the Stake Account' + ); + } + } +} + /** * Parses Solana instructions to create staking withdraw tx instructions params * Only supports Nonce, StakingWithdraw, and Memo Solana instructions diff --git a/modules/sdk-coin-sol/src/lib/solInstructionFactory.ts b/modules/sdk-coin-sol/src/lib/solInstructionFactory.ts index 0c3802f71c..3f046947f7 100644 --- a/modules/sdk-coin-sol/src/lib/solInstructionFactory.ts +++ b/modules/sdk-coin-sol/src/lib/solInstructionFactory.ts @@ -218,12 +218,45 @@ function stakingDeactivateInstruction(data: StakingDeactivate): TransactionInstr assert(fromAddress, 'Missing fromAddress param'); assert(stakingAddress, 'Missing stakingAddress param'); - const deactivateStaking = StakeProgram.deactivate({ - stakePubkey: new PublicKey(stakingAddress), - authorizedPubkey: new PublicKey(fromAddress), - }); + if (data.params.amount && data.params.unstakingAddress) { + const tx = new Transaction(); + + const unstakingAddress = new PublicKey(data.params.unstakingAddress); + const allocateAccount = SystemProgram.allocate({ + accountPubkey: unstakingAddress, + space: StakeProgram.space, + }); + tx.add(allocateAccount); + + const assignAccount = SystemProgram.assign({ + accountPubkey: unstakingAddress, + programId: StakeProgram.programId, + }); + tx.add(assignAccount); - return deactivateStaking.instructions; + const splitStake = StakeProgram.split({ + stakePubkey: new PublicKey(stakingAddress), + authorizedPubkey: new PublicKey(fromAddress), + splitStakePubkey: unstakingAddress, + lamports: new BigNumber(data.params.amount).toNumber(), + }); + tx.add(splitStake.instructions[1]); + + const deactivateStaking = StakeProgram.deactivate({ + stakePubkey: unstakingAddress, + authorizedPubkey: new PublicKey(fromAddress), + }); + tx.add(deactivateStaking); + + return tx.instructions; + } else { + const deactivateStaking = StakeProgram.deactivate({ + stakePubkey: new PublicKey(stakingAddress), + authorizedPubkey: new PublicKey(fromAddress), + }); + + return deactivateStaking.instructions; + } } /** diff --git a/modules/sdk-coin-sol/src/lib/stakingDeactivateBuilder.ts b/modules/sdk-coin-sol/src/lib/stakingDeactivateBuilder.ts index 3897b85bd5..3de9be0f23 100644 --- a/modules/sdk-coin-sol/src/lib/stakingDeactivateBuilder.ts +++ b/modules/sdk-coin-sol/src/lib/stakingDeactivateBuilder.ts @@ -6,10 +6,12 @@ import { InstructionBuilderTypes } from './constants'; import { StakingDeactivate } from './iface'; import { Transaction } from './transaction'; import { TransactionBuilder } from './transactionBuilder'; -import { validateAddress } from './utils'; +import { isValidStakingAmount, validateAddress } from './utils'; export class StakingDeactivateBuilder extends TransactionBuilder { protected _stakingAddress: string; + protected _amount?: string; + protected _unstakingAddress: string; constructor(_coinConfig: Readonly) { super(_coinConfig); @@ -27,6 +29,10 @@ export class StakingDeactivateBuilder extends TransactionBuilder { const deactivateInstruction: StakingDeactivate = instruction; this.sender(deactivateInstruction.params.fromAddress); this.stakingAddress(deactivateInstruction.params.stakingAddress); + if (deactivateInstruction.params.amount && deactivateInstruction.params.unstakingAddress) { + this.amount(deactivateInstruction.params.amount); + this.unstakingAddress(deactivateInstruction.params.unstakingAddress); + } } } } @@ -45,6 +51,38 @@ export class StakingDeactivateBuilder extends TransactionBuilder { return this; } + /** + * Optional amount to unstake expressed in Lamports, 1 SOL = 1_000_000_000 lamports, to be used + * when partially unstaking. If not given then the entire staked amount will be unstaked. + * + * @param {string} amount The partial amount to unstake, expressed in Lamports. + * @returns {StakingDeactivateBuilder} This staking builder. + * + * @see https://docs.solana.com/cli/delegate-stake#split-stake + */ + amount(amount: string): this { + if (!isValidStakingAmount(amount)) { + throw new BuildTransactionError('If given, amount cannot be zero or less'); + } + this._amount = amount; + return this; + } + + /** + * When partially unstaking move the amount to unstake to this account and initiate the + * unstake process. The original stake account will continue staking. + * + * @param {string} unstakingAddress An account used to unstake a partial amount. + * @returns {StakingDeactivateBuilder} This staking builder. + * + * @see https://docs.solana.com/cli/delegate-stake#split-stake + */ + unstakingAddress(unstakingAddress: string): this { + validateAddress(unstakingAddress, 'unstakingAddress'); + this._unstakingAddress = unstakingAddress; + return this; + } + /** @inheritdoc */ protected async buildImplementation(): Promise { assert(this._sender, 'Sender must be set before building the transaction'); @@ -54,11 +92,27 @@ export class StakingDeactivateBuilder extends TransactionBuilder { throw new BuildTransactionError('Sender address cannot be the same as the Staking address'); } + if (this._amount) { + assert( + this._unstakingAddress, + 'When partially unstaking the unstaking address must be set before building the transaction' + ); + } + + if (this._unstakingAddress) { + assert( + this._amount, + 'If an unstaking address is given then a partial amount to unstake must also be set before building the transaction' + ); + } + const stakingDeactivateData: StakingDeactivate = { type: InstructionBuilderTypes.StakingDeactivate, params: { fromAddress: this._sender, stakingAddress: this._stakingAddress, + amount: this._amount, + unstakingAddress: this._unstakingAddress, }, }; this._instructionsData = [stakingDeactivateData]; diff --git a/modules/sdk-coin-sol/src/lib/transaction.ts b/modules/sdk-coin-sol/src/lib/transaction.ts index 83e4eb35f1..ad73da6e09 100644 --- a/modules/sdk-coin-sol/src/lib/transaction.ts +++ b/modules/sdk-coin-sol/src/lib/transaction.ts @@ -282,6 +282,20 @@ export class Transaction extends BaseTransaction { coin: this._coinConfig.name, }); break; + case InstructionBuilderTypes.StakingDeactivate: + if (instruction.params.amount && instruction.params.unstakingAddress) { + inputs.push({ + address: instruction.params.stakingAddress, + value: instruction.params.amount, + coin: this._coinConfig.name, + }); + outputs.push({ + address: instruction.params.unstakingAddress, + value: instruction.params.amount, + coin: this._coinConfig.name, + }); + } + break; case InstructionBuilderTypes.StakingWithdraw: inputs.push({ address: instruction.params.stakingAddress, diff --git a/modules/sdk-coin-sol/src/lib/utils.ts b/modules/sdk-coin-sol/src/lib/utils.ts index a3cfaecd24..a38407945d 100644 --- a/modules/sdk-coin-sol/src/lib/utils.ts +++ b/modules/sdk-coin-sol/src/lib/utils.ts @@ -17,6 +17,7 @@ import { MEMO_PROGRAM_PK, stakingActivateInstructionsIndexes, stakingDeactivateInstructionsIndexes, + stakingPartialDeactivateInstructionsIndexes, stakingWithdrawInstructionsIndexes, VALID_SYSTEM_INSTRUCTION_TYPES, walletInitInstructionIndexes, @@ -253,7 +254,10 @@ export function getTransactionType(transaction: SolTransaction): TransactionType return TransactionType.WalletInitialization; } else if (matchTransactionTypeByInstructionsOrder(instructions, stakingActivateInstructionsIndexes)) { return TransactionType.StakingActivate; - } else if (matchTransactionTypeByInstructionsOrder(instructions, stakingDeactivateInstructionsIndexes)) { + } else if ( + matchTransactionTypeByInstructionsOrder(instructions, stakingDeactivateInstructionsIndexes) || + matchTransactionTypeByInstructionsOrder(instructions, stakingPartialDeactivateInstructionsIndexes) + ) { return TransactionType.StakingDeactivate; } else if (matchTransactionTypeByInstructionsOrder(instructions, stakingWithdrawInstructionsIndexes)) { return TransactionType.StakingWithdraw; diff --git a/modules/sdk-coin-sol/test/resources/sol.ts b/modules/sdk-coin-sol/test/resources/sol.ts index 7dab138ab8..ac28274bc4 100644 --- a/modules/sdk-coin-sol/test/resources/sol.ts +++ b/modules/sdk-coin-sol/test/resources/sol.ts @@ -132,6 +132,11 @@ export const stakeAccount = { prv: '4ite94au3Xm6mYSvVYnLR6i6xRhQZxKKwnGwHCff4LABvNrtetGHQB4WgqH3Crmwhg8onYNmvUUPgCx3xei8KXTn', }; +export const splitStakeAccount = { + pub: 'GfSDXY4vJy6bFui8Gaj5jq9HX4QfH8WG9ocgqUnos1on', + prv: '3xXW4uLJR3EtGLk4vYuE4vTvgFhX35w19zg9ea8dUDMhJDaZsdmCfnkKdtX2VCu6tE8zf9z8a6tiiUQxq6BtZ4EU', +}; + export const validator = { pub: 'CyjoLt3kjqB57K7ewCBHmnHq3UgEj3ak6A7m6EsBsuhA', }; @@ -151,6 +156,9 @@ export const STAKING_ACTIVATE_UNSIGNED_TX_WITH_MEMO = export const STAKING_DEACTIVATE_SIGNED_TX = 'AUfyWtl4IUxhH21qX/H03hJZer1XxQaxL2r/uDTM/u1GzBIyePCHu78O2SkWGEYP6eDdiY3OLfJmUM1jiy8NCAoBAAIEReV5vPklPPaLR9/x+zo6XCwhusWyPAmuEqbgVWvwi0Fiey+6ASdh+bkZvPlMu0ydyAUdnwkymTFNOUkjMmi96Qah2BeRN1QqmDQ3vf4qerJVf1NcinhyK2ikncAAAAAABqfVFxjHdMkoVmOYaR1etoteuKObS21cc1VbIQAAAADjMtr5L6vs6LY/96RABeX9/Zr6FYdWthxalfkEs7jQgQECAwEDAAQFAAAA'; +export const STAKING_PARTIAL_DEACTIVATE_SIGNED_TX = + 'AvFKse62LaYOlwErP8geaXC89KdL4oOu2QIOzaIZJoAxyExvLg6GjQ+Q6IHTq1Yl/k1av4fBK0ypSz+CqT6xJg4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgADBkXlebz5JTz2i0ff8fs6OlwsIbrFsjwJrhKm4FVr8ItB6Lfi7T4mzoclKbPedsv+JDs60KtRcBK6Y7CHyYejKiliey+6ASdh+bkZvPlMu0ydyAUdnwkymTFNOUkjMmi96QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABqHYF5E3VCqYNDe9/ip6slV/U1yKeHIraKSdwAAAAAAGp9UXGMd0yShWY5hpHV62i164o5tLbVxzVVshAAAAAOMy2vkvq+zotj/3pEAF5f39mvoVh1a2HFqV+QSzuNCBBAMBAQwIAAAAyAAAAAAAAAADAQEkAQAAAAah2BeRN1QqmDQ3vf4qerJVf1NcinhyK2ikncAAAAAABAMCAQAMAwAAAKCGAQAAAAAABAMBBQAEBQAAAA=='; + export const STAKING_DEACTIVATE_SIGNED_TX_WITH_MEMO = 'AeTmxB2u4ZimCO5xY3MZujxpifmALh/huWguQyojBCerRAUHX+z3atYMIDLPVSmPNdhfznnHZzkZPsCwfQW1mg4BAAMFReV5vPklPPaLR9/x+zo6XCwhusWyPAmuEqbgVWvwi0Fiey+6ASdh+bkZvPlMu0ydyAUdnwkymTFNOUkjMmi96QVKU1qZKSEGTSTocWDaOHx8NbXdvJK7geQfqEBBBUSNBqHYF5E3VCqYNDe9/ip6slV/U1yKeHIraKSdwAAAAAAGp9UXGMd0yShWY5hpHV62i164o5tLbVxzVVshAAAAAOMy2vkvq+zotj/3pEAF5f39mvoVh1a2HFqV+QSzuNCBAgMDAQQABAUAAAACAA9UZXN0IGRlYWN0aXZhdGU='; diff --git a/modules/sdk-coin-sol/test/unit/instructionParamsFactory.staking.ts b/modules/sdk-coin-sol/test/unit/instructionParamsFactory.staking.ts index 80991e6496..e970f89d6c 100644 --- a/modules/sdk-coin-sol/test/unit/instructionParamsFactory.staking.ts +++ b/modules/sdk-coin-sol/test/unit/instructionParamsFactory.staking.ts @@ -4,7 +4,14 @@ import { instructionParamsFactory } from '../../src/lib/instructionParamsFactory import { TransactionType } from '@bitgo/sdk-core'; import { InstructionParams, Nonce, StakingActivate, StakingDeactivate, StakingWithdraw } from '../../src/lib/iface'; import { InstructionBuilderTypes, MEMO_PROGRAM_PK } from '../../src/lib/constants'; -import { Lockup, PublicKey, StakeProgram, SystemProgram, TransactionInstruction } from '@solana/web3.js'; +import { + Keypair as SolKeypair, + Lockup, + PublicKey, + StakeProgram, + SystemProgram, + TransactionInstruction, +} from '@solana/web3.js'; import BigNumber from 'bignumber.js'; describe('Instruction Parser Staking Tests: ', function () { @@ -314,6 +321,8 @@ describe('Instruction Parser Staking Tests: ', function () { params: { fromAddress: fromAccount.toString(), stakingAddress: stakingAccount.toString(), + amount: undefined, + unstakingAddress: undefined, }, }; @@ -323,7 +332,7 @@ describe('Instruction Parser Staking Tests: ', function () { }; const instructions = [nonceAdvanceInstruction, ...stakingDeactivateInstructions, memoInstruction]; - const instructionsData = [nonceAdvanceParams, stakingDeactivateParams, memoParams]; + const instructionsData = [nonceAdvanceParams, memoParams, stakingDeactivateParams]; const result = instructionParamsFactory(TransactionType.StakingDeactivate, instructions); should.deepEqual(result, instructionsData); }); @@ -362,6 +371,8 @@ describe('Instruction Parser Staking Tests: ', function () { params: { fromAddress: fromAccount.toString(), stakingAddress: stakingAccount.toString(), + amount: undefined, + unstakingAddress: undefined, }, }; @@ -371,7 +382,7 @@ describe('Instruction Parser Staking Tests: ', function () { }; const instructions = [memoInstruction, ...stakingDeactivateInstructions, nonceAdvanceInstruction]; - const instructionsData = [memoParams, stakingDeactivateParams, nonceAdvanceParams]; + const instructionsData = [memoParams, nonceAdvanceParams, stakingDeactivateParams]; const result = instructionParamsFactory(TransactionType.StakingDeactivate, instructions); should.deepEqual(result, instructionsData); }); @@ -392,6 +403,8 @@ describe('Instruction Parser Staking Tests: ', function () { params: { fromAddress: fromAccount.toString(), stakingAddress: stakingAccount.toString(), + amount: undefined, + unstakingAddress: undefined, }, }; @@ -436,6 +449,8 @@ describe('Instruction Parser Staking Tests: ', function () { params: { fromAddress: fromAccount.toString(), stakingAddress: stakingAccount.toString(), + amount: undefined, + unstakingAddress: undefined, }, }; @@ -448,6 +463,499 @@ describe('Instruction Parser Staking Tests: ', function () { const result = instructionParamsFactory(TransactionType.StakingDeactivate, instructions); should.deepEqual(result, instructionsData); }); + + describe('Partially deactivate stake instructions', function () { + describe('Input validation', function () { + it('Should throw an error if the Allocate instruction is missing', () => { + const fromAccount = new PublicKey(testData.authAccount.pub); + const nonceAccount = testData.nonceAccount.pub; + const stakingAccount = new PublicKey(testData.stakeAccount.pub); + const splitStakeAccount = new PublicKey(testData.splitStakeAccount.pub); + const memo = 'test memo'; + + // Instructions + const nonceAdvanceInstruction = SystemProgram.nonceAdvance({ + noncePubkey: new PublicKey(nonceAccount), + authorizedPubkey: fromAccount, + }); + + const assignInstruction = SystemProgram.assign({ + accountPubkey: splitStakeAccount, + programId: StakeProgram.programId, + }); + + const splitInstructions = StakeProgram.split({ + stakePubkey: stakingAccount, + authorizedPubkey: fromAccount, + splitStakePubkey: splitStakeAccount, + lamports: 100000, + }).instructions; + + const stakingDeactivateInstructions = StakeProgram.deactivate({ + authorizedPubkey: fromAccount, + stakePubkey: splitStakeAccount, + }).instructions; + + const memoInstruction = new TransactionInstruction({ + keys: [], + programId: new PublicKey(MEMO_PROGRAM_PK), + data: Buffer.from(memo), + }); + + const instructions = [ + nonceAdvanceInstruction, + assignInstruction, + ...splitInstructions, + ...stakingDeactivateInstructions, + memoInstruction, + ]; + should(() => instructionParamsFactory(TransactionType.StakingDeactivate, instructions)).throw( + 'Invalid partial deactivate stake transaction, missing allocate unstake account instruction' + ); + }); + + it('Should throw an error if the Assign instruction is missing', () => { + const fromAccount = new PublicKey(testData.authAccount.pub); + const nonceAccount = testData.nonceAccount.pub; + const stakingAccount = new PublicKey(testData.stakeAccount.pub); + const splitStakeAccount = new PublicKey(testData.splitStakeAccount.pub); + const memo = 'test memo'; + + // Instructions + const nonceAdvanceInstruction = SystemProgram.nonceAdvance({ + noncePubkey: new PublicKey(nonceAccount), + authorizedPubkey: fromAccount, + }); + + const allocateInstruction = SystemProgram.allocate({ + accountPubkey: splitStakeAccount, + space: StakeProgram.space, + }); + + const splitInstructions = StakeProgram.split({ + stakePubkey: stakingAccount, + authorizedPubkey: fromAccount, + splitStakePubkey: splitStakeAccount, + lamports: 100000, + }).instructions; + + const stakingDeactivateInstructions = StakeProgram.deactivate({ + authorizedPubkey: fromAccount, + stakePubkey: splitStakeAccount, + }).instructions; + + const memoInstruction = new TransactionInstruction({ + keys: [], + programId: new PublicKey(MEMO_PROGRAM_PK), + data: Buffer.from(memo), + }); + + const instructions = [ + nonceAdvanceInstruction, + allocateInstruction, + ...splitInstructions, + ...stakingDeactivateInstructions, + memoInstruction, + ]; + should(() => instructionParamsFactory(TransactionType.StakingDeactivate, instructions)).throw( + 'Invalid partial deactivate stake transaction, missing assign unstake account instruction' + ); + }); + + it('Should throw an error if the Split instruction is missing', () => { + const fromAccount = new PublicKey(testData.authAccount.pub); + const nonceAccount = testData.nonceAccount.pub; + const splitStakeAccount = new PublicKey(testData.splitStakeAccount.pub); + const memo = 'test memo'; + + // Instructions + const nonceAdvanceInstruction = SystemProgram.nonceAdvance({ + noncePubkey: new PublicKey(nonceAccount), + authorizedPubkey: fromAccount, + }); + + const allocateInstruction = SystemProgram.allocate({ + accountPubkey: splitStakeAccount, + space: StakeProgram.space, + }); + + const assignInstruction = SystemProgram.assign({ + accountPubkey: splitStakeAccount, + programId: StakeProgram.programId, + }); + + const stakingDeactivateInstructions = StakeProgram.deactivate({ + authorizedPubkey: fromAccount, + stakePubkey: splitStakeAccount, + }).instructions; + + const memoInstruction = new TransactionInstruction({ + keys: [], + programId: new PublicKey(MEMO_PROGRAM_PK), + data: Buffer.from(memo), + }); + + const instructions = [ + nonceAdvanceInstruction, + allocateInstruction, + assignInstruction, + ...stakingDeactivateInstructions, + memoInstruction, + ]; + should(() => instructionParamsFactory(TransactionType.StakingDeactivate, instructions)).throw( + 'Invalid partial deactivate stake transaction, missing split stake account instruction' + ); + }); + + it('Should throw an error if the allocated account does not match the assigned account', () => { + const fromAccount = new PublicKey(testData.authAccount.pub); + const nonceAccount = testData.nonceAccount.pub; + const stakingAccount = new PublicKey(testData.stakeAccount.pub); + const splitStakeAccount = new PublicKey(testData.splitStakeAccount.pub); + const memo = 'test memo'; + + // Instructions + const nonceAdvanceInstruction = SystemProgram.nonceAdvance({ + noncePubkey: new PublicKey(nonceAccount), + authorizedPubkey: fromAccount, + }); + + const allocateInstruction = SystemProgram.allocate({ + accountPubkey: new SolKeypair().publicKey, + space: StakeProgram.space, + }); + + const assignInstruction = SystemProgram.assign({ + accountPubkey: splitStakeAccount, + programId: StakeProgram.programId, + }); + + const splitInstructions = StakeProgram.split({ + stakePubkey: stakingAccount, + authorizedPubkey: fromAccount, + splitStakePubkey: splitStakeAccount, + lamports: 100000, + }).instructions; + + const stakingDeactivateInstructions = StakeProgram.deactivate({ + authorizedPubkey: fromAccount, + stakePubkey: splitStakeAccount, + }).instructions; + + const memoInstruction = new TransactionInstruction({ + keys: [], + programId: new PublicKey(MEMO_PROGRAM_PK), + data: Buffer.from(memo), + }); + + const instructions = [ + nonceAdvanceInstruction, + allocateInstruction, + assignInstruction, + ...splitInstructions, + ...stakingDeactivateInstructions, + memoInstruction, + ]; + should(() => instructionParamsFactory(TransactionType.StakingDeactivate, instructions)).throw( + 'Invalid partial deactivate stake transaction, must allocate and assign the same public key' + ); + }); + + [199, 201].forEach((space) => { + it(`Should throw an error if the correct amount of space is not allocated for the split account - ${space}`, () => { + const fromAccount = new PublicKey(testData.authAccount.pub); + const nonceAccount = testData.nonceAccount.pub; + const stakingAccount = new PublicKey(testData.stakeAccount.pub); + const splitStakeAccount = new PublicKey(testData.splitStakeAccount.pub); + const memo = 'test memo'; + + // Instructions + const nonceAdvanceInstruction = SystemProgram.nonceAdvance({ + noncePubkey: new PublicKey(nonceAccount), + authorizedPubkey: fromAccount, + }); + + const allocateInstruction = SystemProgram.allocate({ + accountPubkey: splitStakeAccount, + space, + }); + + const assignInstruction = SystemProgram.assign({ + accountPubkey: splitStakeAccount, + programId: StakeProgram.programId, + }); + + const splitInstructions = StakeProgram.split({ + stakePubkey: stakingAccount, + authorizedPubkey: fromAccount, + splitStakePubkey: splitStakeAccount, + lamports: 100000, + }).instructions; + + const stakingDeactivateInstructions = StakeProgram.deactivate({ + authorizedPubkey: fromAccount, + stakePubkey: splitStakeAccount, + }).instructions; + + const memoInstruction = new TransactionInstruction({ + keys: [], + programId: new PublicKey(MEMO_PROGRAM_PK), + data: Buffer.from(memo), + }); + + const instructions = [ + nonceAdvanceInstruction, + allocateInstruction, + assignInstruction, + ...splitInstructions, + ...stakingDeactivateInstructions, + memoInstruction, + ]; + should(() => instructionParamsFactory(TransactionType.StakingDeactivate, instructions)).throw( + `Invalid partial deactivate stake transaction, unstaking account must allocate ${StakeProgram.space} bytes` + ); + }); + }); + + it('Should throw an error if the allocated account is not assigned to the StakeProgram', () => { + const fromAccount = new PublicKey(testData.authAccount.pub); + const nonceAccount = testData.nonceAccount.pub; + const stakingAccount = new PublicKey(testData.stakeAccount.pub); + const splitStakeAccount = new PublicKey(testData.splitStakeAccount.pub); + const memo = 'test memo'; + + // Instructions + const nonceAdvanceInstruction = SystemProgram.nonceAdvance({ + noncePubkey: new PublicKey(nonceAccount), + authorizedPubkey: fromAccount, + }); + + const allocateInstruction = SystemProgram.allocate({ + accountPubkey: splitStakeAccount, + space: StakeProgram.space, + }); + + const assignInstruction = SystemProgram.assign({ + accountPubkey: splitStakeAccount, + programId: SystemProgram.programId, + }); + + const splitInstructions = StakeProgram.split({ + stakePubkey: stakingAccount, + authorizedPubkey: fromAccount, + splitStakePubkey: splitStakeAccount, + lamports: 100000, + }).instructions; + + const stakingDeactivateInstructions = StakeProgram.deactivate({ + authorizedPubkey: fromAccount, + stakePubkey: splitStakeAccount, + }).instructions; + + const memoInstruction = new TransactionInstruction({ + keys: [], + programId: new PublicKey(MEMO_PROGRAM_PK), + data: Buffer.from(memo), + }); + + const instructions = [ + nonceAdvanceInstruction, + allocateInstruction, + assignInstruction, + ...splitInstructions, + ...stakingDeactivateInstructions, + memoInstruction, + ]; + should(() => instructionParamsFactory(TransactionType.StakingDeactivate, instructions)).throw( + 'Invalid partial deactivate stake transaction, the unstake account must be assigned to the Stake Program' + ); + }); + + it('Should throw an error if the split account is not allocated', () => { + const fromAccount = new PublicKey(testData.authAccount.pub); + const nonceAccount = testData.nonceAccount.pub; + const stakingAccount = new PublicKey(testData.stakeAccount.pub); + const splitStakeAccount = new PublicKey(testData.splitStakeAccount.pub); + const memo = 'test memo'; + + // Instructions + const nonceAdvanceInstruction = SystemProgram.nonceAdvance({ + noncePubkey: new PublicKey(nonceAccount), + authorizedPubkey: fromAccount, + }); + + const key = new SolKeypair().publicKey; + const allocateInstruction = SystemProgram.allocate({ + accountPubkey: key, + space: StakeProgram.space, + }); + + const assignInstruction = SystemProgram.assign({ + accountPubkey: key, + programId: StakeProgram.programId, + }); + + const splitInstructions = StakeProgram.split({ + stakePubkey: stakingAccount, + authorizedPubkey: fromAccount, + splitStakePubkey: stakingAccount, + lamports: 100000, + }).instructions; + + const stakingDeactivateInstructions = StakeProgram.deactivate({ + authorizedPubkey: fromAccount, + stakePubkey: splitStakeAccount, + }).instructions; + + const memoInstruction = new TransactionInstruction({ + keys: [], + programId: new PublicKey(MEMO_PROGRAM_PK), + data: Buffer.from(memo), + }); + + const instructions = [ + nonceAdvanceInstruction, + allocateInstruction, + assignInstruction, + ...splitInstructions, + ...stakingDeactivateInstructions, + memoInstruction, + ]; + should(() => instructionParamsFactory(TransactionType.StakingDeactivate, instructions)).throw( + 'Invalid partial deactivate stake transaction, must allocate the unstaking account' + ); + }); + + it('Should throw an error if the stake account and the split account are the same account', () => { + const fromAccount = new PublicKey(testData.authAccount.pub); + const nonceAccount = testData.nonceAccount.pub; + const stakingAccount = new PublicKey(testData.stakeAccount.pub); + const splitStakeAccount = new PublicKey(testData.splitStakeAccount.pub); + const memo = 'test memo'; + + // Instructions + const nonceAdvanceInstruction = SystemProgram.nonceAdvance({ + noncePubkey: new PublicKey(nonceAccount), + authorizedPubkey: fromAccount, + }); + + const allocateInstruction = SystemProgram.allocate({ + accountPubkey: stakingAccount, + space: StakeProgram.space, + }); + + const assignInstruction = SystemProgram.assign({ + accountPubkey: stakingAccount, + programId: StakeProgram.programId, + }); + + const splitInstructions = StakeProgram.split({ + stakePubkey: stakingAccount, + authorizedPubkey: fromAccount, + splitStakePubkey: stakingAccount, + lamports: 100000, + }).instructions; + + const stakingDeactivateInstructions = StakeProgram.deactivate({ + authorizedPubkey: fromAccount, + stakePubkey: splitStakeAccount, + }).instructions; + + const memoInstruction = new TransactionInstruction({ + keys: [], + programId: new PublicKey(MEMO_PROGRAM_PK), + data: Buffer.from(memo), + }); + + const instructions = [ + nonceAdvanceInstruction, + allocateInstruction, + assignInstruction, + ...splitInstructions, + ...stakingDeactivateInstructions, + memoInstruction, + ]; + should(() => instructionParamsFactory(TransactionType.StakingDeactivate, instructions)).throw( + 'Invalid partial deactivate stake transaction, the unstaking account must be different from the Stake Account' + ); + }); + }); + + it('Should parse partial deactivate stake tx instructions with memo and durable nonce', () => { + const fromAccount = new PublicKey(testData.authAccount.pub); + const nonceAccount = testData.nonceAccount.pub; + const stakingAccount = new PublicKey(testData.stakeAccount.pub); + const splitStakeAccount = new PublicKey(testData.splitStakeAccount.pub); + const memo = 'test memo'; + + // Instructions + const nonceAdvanceInstruction = SystemProgram.nonceAdvance({ + noncePubkey: new PublicKey(nonceAccount), + authorizedPubkey: fromAccount, + }); + + const allocateInstruction = SystemProgram.allocate({ + accountPubkey: splitStakeAccount, + space: StakeProgram.space, + }); + + const assignInstruction = SystemProgram.assign({ + accountPubkey: splitStakeAccount, + programId: StakeProgram.programId, + }); + + const splitInstructions = StakeProgram.split({ + stakePubkey: stakingAccount, + authorizedPubkey: fromAccount, + splitStakePubkey: splitStakeAccount, + lamports: 100000, + }).instructions; + + const stakingDeactivateInstructions = StakeProgram.deactivate({ + authorizedPubkey: fromAccount, + stakePubkey: splitStakeAccount, + }).instructions; + + const memoInstruction = new TransactionInstruction({ + keys: [], + programId: new PublicKey(MEMO_PROGRAM_PK), + data: Buffer.from(memo), + }); + + // Params + const nonceAdvanceParams: Nonce = { + type: InstructionBuilderTypes.NonceAdvance, + params: { walletNonceAddress: nonceAccount, authWalletAddress: fromAccount.toString() }, + }; + + const stakingDeactivateParams: StakingDeactivate = { + type: InstructionBuilderTypes.StakingDeactivate, + params: { + fromAddress: fromAccount.toString(), + stakingAddress: stakingAccount.toString(), + amount: '100000', + unstakingAddress: splitStakeAccount.toString(), + }, + }; + + const memoParams: InstructionParams = { + type: InstructionBuilderTypes.Memo, + params: { memo }, + }; + + const instructions = [ + nonceAdvanceInstruction, + allocateInstruction, + assignInstruction, + ...splitInstructions, + ...stakingDeactivateInstructions, + memoInstruction, + ]; + const instructionsData = [nonceAdvanceParams, memoParams, stakingDeactivateParams]; + const result = instructionParamsFactory(TransactionType.StakingDeactivate, instructions); + should.deepEqual(result, instructionsData); + }); + }); }); describe('Withdraw stake instructions ', function () { diff --git a/modules/sdk-coin-sol/test/unit/transactionBuilder/stakingDeactivateBuilder.ts b/modules/sdk-coin-sol/test/unit/transactionBuilder/stakingDeactivateBuilder.ts index 0082f7b436..e439fca2d7 100644 --- a/modules/sdk-coin-sol/test/unit/transactionBuilder/stakingDeactivateBuilder.ts +++ b/modules/sdk-coin-sol/test/unit/transactionBuilder/stakingDeactivateBuilder.ts @@ -27,6 +27,8 @@ describe('Sol Staking Deactivate Builder', () => { params: { fromAddress: wallet.pub, stakingAddress: stakeAccount.pub, + amount: undefined, + unstakingAddress: undefined, }, }, ]); @@ -43,16 +45,18 @@ describe('Sol Staking Deactivate Builder', () => { const txJson = tx.toJson(); txJson.instructionsData.should.deepEqual([ { - type: 'Deactivate', + type: 'Memo', params: { - fromAddress: wallet.pub, - stakingAddress: stakeAccount.pub, + memo: 'Test deactivate', }, }, { - type: 'Memo', + type: 'Deactivate', params: { - memo: 'Test deactivate', + fromAddress: wallet.pub, + stakingAddress: stakeAccount.pub, + amount: undefined, + unstakingAddress: undefined, }, }, ]); @@ -72,6 +76,8 @@ describe('Sol Staking Deactivate Builder', () => { params: { fromAddress: wallet.pub, stakingAddress: stakeAccount.pub, + amount: undefined, + unstakingAddress: undefined, }, }, ]); @@ -87,16 +93,18 @@ describe('Sol Staking Deactivate Builder', () => { const txJson = tx.toJson(); txJson.instructionsData.should.deepEqual([ { - type: 'Deactivate', + type: 'Memo', params: { - fromAddress: wallet.pub, - stakingAddress: stakeAccount.pub, + memo: 'Test deactivate', }, }, { - type: 'Memo', + type: 'Deactivate', params: { - memo: 'Test deactivate', + fromAddress: wallet.pub, + stakingAddress: stakeAccount.pub, + amount: undefined, + unstakingAddress: undefined, }, }, ]); @@ -116,6 +124,43 @@ describe('Sol Staking Deactivate Builder', () => { const tx = await txBuilder.build(); should.equal(tx.toBroadcastFormat(), testData.STAKING_DEACTIVATE_SIGNED_TX_WITH_MEMO); }); + + it('building a partial staking deactivate tx', async () => { + const txBuilder = factory + .getStakingDeactivateBuilder() + .sender(wallet.pub) + .stakingAddress(stakeAccount.pub) + .unstakingAddress(testData.splitStakeAccount.pub) + .amount('100000') + .nonce(recentBlockHash); + txBuilder.sign({ key: wallet.prv }); + const tx = await txBuilder.build(); + const txJson = tx.toJson(); + const rawTx = tx.toBroadcastFormat(); + should.equal(Utils.isValidRawTransaction(rawTx), true); + txJson.instructionsData.should.deepEqual([ + { + type: 'Deactivate', + params: { + fromAddress: wallet.pub, + stakingAddress: stakeAccount.pub, + amount: '100000', + unstakingAddress: testData.splitStakeAccount.pub, + }, + }, + ]); + should.equal(rawTx, testData.STAKING_PARTIAL_DEACTIVATE_SIGNED_TX); + + const tx2 = await factory.from(testData.STAKING_PARTIAL_DEACTIVATE_SIGNED_TX).build(); + const txJson2 = tx2.toJson(); + tx2.toBroadcastFormat(); + + delete tx['_id']; + delete tx2['_id']; + + should.deepEqual(tx, tx2); + should.deepEqual(txJson2, txJson2); + }); }); describe('Should fail', () => { @@ -140,5 +185,37 @@ describe('Sol Staking Deactivate Builder', () => { txBuilder.stakingAddress(wallet.pub); await txBuilder.build().should.rejectedWith('Sender address cannot be the same as the Staking address'); }); + + it('building a partial staking deactivate tx without an amount', async () => { + const txBuilder = factory + .getStakingDeactivateBuilder() + .sender(wallet.pub) + .nonce(recentBlockHash) + .stakingAddress(testData.stakeAccount.pub) + .unstakingAddress(testData.splitStakeAccount.pub); + txBuilder.sign({ key: wallet.prv }); + + await txBuilder + .build() + .should.be.rejectedWith( + 'If an unstaking address is given then a partial amount to unstake must also be set before building the transaction' + ); + }); + + it('building a partial staking deactivate tx without an unstaking address', async () => { + const txBuilder = factory + .getStakingDeactivateBuilder() + .sender(wallet.pub) + .nonce(recentBlockHash) + .stakingAddress(testData.stakeAccount.pub) + .amount('10'); + txBuilder.sign({ key: wallet.prv }); + + await txBuilder + .build() + .should.be.rejectedWith( + 'When partially unstaking the unstaking address must be set before building the transaction' + ); + }); }); }); diff --git a/modules/sdk-coin-sol/test/unit/utils.ts b/modules/sdk-coin-sol/test/unit/utils.ts index ddfb154bdc..5789b42f3b 100644 --- a/modules/sdk-coin-sol/test/unit/utils.ts +++ b/modules/sdk-coin-sol/test/unit/utils.ts @@ -261,11 +261,12 @@ describe('SOL util library', function () { }); it('should fail for invalid instruction type', function () { const accountPubkey = testData.authAccount.pub; - const programId = testData.nonceAccount.pub; - const assignInstruction = SystemProgram.assign({ - accountPubkey: new PublicKey(accountPubkey), - programId: new PublicKey(programId), + const assignInstruction = SystemProgram.nonceWithdraw({ + noncePubkey: new PublicKey(accountPubkey), + authorizedPubkey: new PublicKey(accountPubkey), + toPubkey: new PublicKey(accountPubkey), + lamports: 200, }); should(() => Utils.validateIntructionTypes([assignInstruction])).throwError( 'Invalid transaction, instruction type not supported: ' + Utils.getInstructionType(assignInstruction) From 79882b1b3a2f722877aaa1def76aba10776717aa Mon Sep 17 00:00:00 2001 From: Alia Aamir Date: Tue, 29 Nov 2022 16:52:49 -0500 Subject: [PATCH 08/15] fix(sdk-core): fix tss signing BG-62852 --- modules/sdk-core/src/bitgo/utils/tss/ecdsa/ecdsa.ts | 11 +++++++++-- modules/sdk-core/src/bitgo/utils/tss/eddsa/eddsa.ts | 12 ++++++------ 2 files changed, 15 insertions(+), 8 deletions(-) diff --git a/modules/sdk-core/src/bitgo/utils/tss/ecdsa/ecdsa.ts b/modules/sdk-core/src/bitgo/utils/tss/ecdsa/ecdsa.ts index e3e35aed59..f7502d2b1f 100644 --- a/modules/sdk-core/src/bitgo/utils/tss/ecdsa/ecdsa.ts +++ b/modules/sdk-core/src/bitgo/utils/tss/ecdsa/ecdsa.ts @@ -587,8 +587,15 @@ export class EcdsaUtils extends baseTSSUtils { let signablePayload; if (requestType === RequestType.tx) { - assert(txRequestResolved.transactions, 'Unable to find transactions in txRequest'); - signablePayload = Buffer.from(txRequestResolved.transactions[0].unsignedTx.signableHex, 'hex'); + assert( + txRequestResolved.transactions || txRequestResolved.unsignedTxs, + 'Unable to find transactions in txRequest' + ); + const unsignedTx = + txRequestResolved.apiVersion === 'full' + ? txRequestResolved.transactions![0].unsignedTx + : txRequestResolved.unsignedTxs[0]; + signablePayload = Buffer.from(unsignedTx.signableHex, 'hex'); } else if (requestType === RequestType.message) { const finalMessage = (params as TSSParamsForMessage).messageEncoded; assert(finalMessage, 'finalMessage is required'); diff --git a/modules/sdk-core/src/bitgo/utils/tss/eddsa/eddsa.ts b/modules/sdk-core/src/bitgo/utils/tss/eddsa/eddsa.ts index d6fd5880c9..f1ef03e7b3 100644 --- a/modules/sdk-core/src/bitgo/utils/tss/eddsa/eddsa.ts +++ b/modules/sdk-core/src/bitgo/utils/tss/eddsa/eddsa.ts @@ -354,10 +354,10 @@ export class EddsaUtils extends baseTSSUtils { throw new Error('Invalid user key - missing backupYShare'); } - assert(txRequestResolved.transactions, 'Unable to find transactions in txRequest'); + assert(txRequestResolved.transactions || txRequestResolved.unsignedTxs, 'Unable to find transactions in txRequest'); const unsignedTx = txRequestResolved.apiVersion === 'full' - ? txRequestResolved.transactions[0].unsignedTx + ? txRequestResolved.transactions![0].unsignedTx : txRequestResolved.unsignedTxs[0]; const signingKey = MPC.keyDerive( @@ -394,10 +394,10 @@ export class EddsaUtils extends baseTSSUtils { throw new Error('Invalid user key - missing backupYShare'); } - assert(txRequestResolved.transactions, 'Unable to find transactions in txRequest'); + assert(txRequestResolved.transactions || txRequestResolved.unsignedTxs, 'Unable to find transactions in txRequest'); const unsignedTx = txRequestResolved.apiVersion === 'full' - ? txRequestResolved.transactions[0].unsignedTx + ? txRequestResolved.transactions![0].unsignedTx : txRequestResolved.unsignedTxs[0]; const signablePayload = Buffer.from(unsignedTx.signableHex, 'hex'); @@ -475,10 +475,10 @@ export class EddsaUtils extends baseTSSUtils { throw new Error('Invalid user key - missing backupYShare'); } - assert(txRequestResolved.transactions, 'Unable to find transactions in txRequest'); + assert(txRequestResolved.transactions || txRequestResolved.unsignedTxs, 'Unable to find transactions in txRequest'); const unsignedTx = txRequestResolved.apiVersion === 'full' - ? txRequestResolved.transactions[0].unsignedTx + ? txRequestResolved.transactions![0].unsignedTx : txRequestResolved.unsignedTxs[0]; const signingKey = MPC.keyDerive( From 7afd6560fe97d3435d3f745492b65b607ec3699c Mon Sep 17 00:00:00 2001 From: Garrett Crawford Date: Tue, 29 Nov 2022 14:38:14 -0800 Subject: [PATCH 09/15] chore(statics): add ada, doge, and matic to statics Ticket: BG-62775 --- modules/statics/src/coins.ts | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/modules/statics/src/coins.ts b/modules/statics/src/coins.ts index 43d71f1a58..eb020ba4ef 100644 --- a/modules/statics/src/coins.ts +++ b/modules/statics/src/coins.ts @@ -386,6 +386,8 @@ export const coins = CoinMap.fromCoins([ ofc('ofctrx', 'Tron', 6, UnderlyingAsset.TRX, CoinKind.CRYPTO), ofc('ofcsol', 'Solana', 9, UnderlyingAsset.SOL, CoinKind.CRYPTO), ofc('ofcdoge', 'Dogecoin', 8, UnderlyingAsset.DOGE, CoinKind.CRYPTO), + ofc('ofcada', 'Cardano', 6, UnderlyingAsset.ADA, CoinKind.CRYPTO), + ofc('ofcpolygon', 'Polygon (MATIC native)', 18, UnderlyingAsset.POLYGON, CoinKind.CRYPTO), tofc('ofctusd', 'Test USD', 2, UnderlyingAsset.USD, CoinKind.FIAT), tofc('ofcteur', 'Test Euro', 2, UnderlyingAsset.EUR, CoinKind.FIAT), tofc('ofctgbp', 'Test British Pound Sterling', 2, UnderlyingAsset.GBP, CoinKind.FIAT), @@ -412,6 +414,8 @@ export const coins = CoinMap.fromCoins([ tofc('ofcttrx', 'Testnet Tron', 6, UnderlyingAsset.TRX, CoinKind.CRYPTO), tofc('ofctsol', 'Test Solana', 9, UnderlyingAsset.SOL, CoinKind.CRYPTO), tofc('ofctdoge', 'Test Dogecoin', 8, UnderlyingAsset.DOGE, CoinKind.CRYPTO), + tofc('ofctada', 'Test Cardano', 6, UnderlyingAsset.ADA, CoinKind.CRYPTO), + tofc('ofctpolygon', 'Test Polygon (MATIC native)', 18, UnderlyingAsset.POLYGON, CoinKind.CRYPTO), erc20('1inch', '1inch Token', 18, '0x111111111117dc0aa78b770fa6a738034120c302', UnderlyingAsset['1INCH']), erc20('1up', 'Uptrennd Token', 18, '0x07597255910a51509ca469568b048f2597e72504', UnderlyingAsset['1UP']), erc20('aave', 'Aave', 18, '0x7fc66500c84a76ad7e9c93437bfc5ac33e2ddae9', UnderlyingAsset.AAVE), From 854acf28db1a3fdff45f7cadcf9e35a0a2310238 Mon Sep 17 00:00:00 2001 From: Michael Date: Wed, 30 Nov 2022 09:12:35 -0700 Subject: [PATCH 10/15] chore: add updated dockerfile to match latest BG-62861 --- Dockerfile | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Dockerfile b/Dockerfile index 9a5d8f9e90..d6ad6fd0fd 100644 --- a/Dockerfile +++ b/Dockerfile @@ -186,9 +186,9 @@ RUN cd /var/bitgo-express && \ #LINK_END #LABEL_START -LABEL created="Thu, 03 Nov 2022 20:16:00 GMT" -LABEL version=9.17.0 -LABEL git_hash=ade017e9a750032ebe84526dc227366c024cb954 +LABEL created="Tue, 29 Nov 2022 23:42:28 GMT" +LABEL version=9.21.0 +LABEL git_hash=2130f0eb28ee3a713f6b14df2c0ceddd63617ac3 #LABEL_END USER node From f320e2a135363287d85aa15cc1419ca603da1819 Mon Sep 17 00:00:00 2001 From: Michael Date: Wed, 30 Nov 2022 09:15:39 -0700 Subject: [PATCH 11/15] chore: update readme release information Clarify branch usage in release process BG-000000 --- README.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/README.md b/README.md index ac33448bab..60e6f8c098 100644 --- a/README.md +++ b/README.md @@ -38,8 +38,7 @@ The BitGoJS SDK use a number of branches to control the development of various p | Branch | Status | NPM | Description | |--------------|----------|----------|------------------------------------------------------------------------------------------------------------------------------------------------------------| | `master` | Unstable | N/A | Ongoing development of SDK packages | -| `rel/rc` | Unstable | `rc` | Deployed packages from `master` to `npm` for internal and external testing | -| `rel/latest` | Stable | `latest` | Deployed packages from `rel/rc` to `rel/latest`. This includes Express and is recommended to use `rel/latest` when not using Docker images for Express. | +| `rel/latest` | Stable | `latest` | Deployed packages from `master` to `rel/latest`. This includes Express and is recommended to use `rel/latest` when not using Docker images for Express. | Other tags may be released to npm (e.g. `hotfix`, `dev`, etc...), but are not considered critical to the common path for consumers usage of SDK packages unless otherwise stated. From 5724d22130ebacf65e1545cab18ee602e1dff231 Mon Sep 17 00:00:00 2001 From: Luis Rojas Date: Wed, 30 Nov 2022 12:53:22 -0600 Subject: [PATCH 12/15] fix(sdk-core): whitelist source and destination chain params Ticket: BG-62933 --- modules/sdk-core/src/bitgo/wallet/wallet.ts | 2 ++ 1 file changed, 2 insertions(+) diff --git a/modules/sdk-core/src/bitgo/wallet/wallet.ts b/modules/sdk-core/src/bitgo/wallet/wallet.ts index 46aa7a3d84..941f8b3b07 100644 --- a/modules/sdk-core/src/bitgo/wallet/wallet.ts +++ b/modules/sdk-core/src/bitgo/wallet/wallet.ts @@ -1964,6 +1964,8 @@ export class Wallet implements IWallet { 'stakingOptions', 'hop', 'type', + 'sourceChain', + 'destinationChain', ]); if (this._wallet.type === 'custodial') { From 5bb98529179121d075090d7d22f1ebf1c4ee7dec Mon Sep 17 00:00:00 2001 From: Michael Gallegos Date: Wed, 30 Nov 2022 12:47:54 -0600 Subject: [PATCH 13/15] fix(sdk-coin-dot): update DOT transferAll value to zero Polkadot transferAll transactions (used in consolidation) do not deserialize amounts. Set the value of the transaction to zero. Currently the value is 'sweep', but this string does not merge well with the Amount type when parsing the tx internally. TICKET: BG-62062 --- modules/sdk-coin-dot/src/lib/transaction.ts | 2 +- .../transactionBuilder/transferBuilder.ts | 19 +++++++++++-------- 2 files changed, 12 insertions(+), 9 deletions(-) diff --git a/modules/sdk-coin-dot/src/lib/transaction.ts b/modules/sdk-coin-dot/src/lib/transaction.ts index 0bda68cea5..042d191f07 100644 --- a/modules/sdk-coin-dot/src/lib/transaction.ts +++ b/modules/sdk-coin-dot/src/lib/transaction.ts @@ -415,7 +415,7 @@ export class Transaction extends BaseTransaction { pub: Buffer.from(decodeAddress(txMethod.dest.id)).toString('hex'), }); to = keypairDest.getAddress(utils.getAddressFormat(this._coinConfig.name as DotAssetTypes)); - value = 'sweep'; + value = '0'; // DOT transferAll's do not deserialize amounts from = decodedTx.address; } else if (utils.isTransfer(txMethod)) { const keypairDest = new KeyPair({ diff --git a/modules/sdk-coin-dot/test/unit/transactionBuilder/transferBuilder.ts b/modules/sdk-coin-dot/test/unit/transactionBuilder/transferBuilder.ts index 02ff4b2cce..a113f8c526 100644 --- a/modules/sdk-coin-dot/test/unit/transactionBuilder/transferBuilder.ts +++ b/modules/sdk-coin-dot/test/unit/transactionBuilder/transferBuilder.ts @@ -14,6 +14,9 @@ describe('Dot Transfer Builder', () => { const sender = accounts.account1; const receiver = accounts.account2; + // Consolidation/sweep tx's do not deseialize amounts. + const consolidationValue = '0'; + beforeEach(() => { const config = buildTestConfig(); builder = new TransferBuilder(config).material(utils.getMaterial(config)); @@ -344,11 +347,11 @@ describe('Dot Transfer Builder', () => { const inputs = tx.inputs[0]; should.deepEqual(inputs.address, sender.address); - should.deepEqual(inputs.value, 'sweep'); + should.deepEqual(inputs.value, consolidationValue); const outputs = tx.outputs[0]; should.deepEqual(outputs.address, receiver.address); - should.deepEqual(outputs.value, 'sweep'); + should.deepEqual(outputs.value, consolidationValue); }); it('should build an unsigned sweep transaction', async () => { @@ -376,11 +379,11 @@ describe('Dot Transfer Builder', () => { const inputs = tx.inputs[0]; should.deepEqual(inputs.address, sender.address); - should.deepEqual(inputs.value, 'sweep'); + should.deepEqual(inputs.value, consolidationValue); const outputs = tx.outputs[0]; should.deepEqual(outputs.address, receiver.address); - should.deepEqual(outputs.value, 'sweep'); + should.deepEqual(outputs.value, consolidationValue); }); it('should build from raw signed sweep transaction', async () => { @@ -403,11 +406,11 @@ describe('Dot Transfer Builder', () => { const inputs = tx.inputs[0]; should.deepEqual(inputs.address, sender.address); - should.deepEqual(inputs.value, 'sweep'); + should.deepEqual(inputs.value, consolidationValue); const outputs = tx.outputs[0]; should.deepEqual(outputs.address, receiver.address); - should.deepEqual(outputs.value, 'sweep'); + should.deepEqual(outputs.value, consolidationValue); }); it('should build from an unsigned sweep transaction', async () => { @@ -432,11 +435,11 @@ describe('Dot Transfer Builder', () => { const inputs = tx.inputs[0]; should.deepEqual(inputs.address, sender.address); - should.deepEqual(inputs.value, 'sweep'); + should.deepEqual(inputs.value, consolidationValue); const outputs = tx.outputs[0]; should.deepEqual(outputs.address, receiver.address); - should.deepEqual(outputs.value, 'sweep'); + should.deepEqual(outputs.value, consolidationValue); }); }); }); From 65986c6405e2771b6c7c85dd8b62bf99d6cd8c41 Mon Sep 17 00:00:00 2001 From: Michael Date: Wed, 30 Nov 2022 16:44:00 -0700 Subject: [PATCH 14/15] fix: update ofc coin for ibasecoin changes BG-62940 --- modules/sdk-core/src/coins/ofc.ts | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/modules/sdk-core/src/coins/ofc.ts b/modules/sdk-core/src/coins/ofc.ts index 6dd82209de..80790566f8 100644 --- a/modules/sdk-core/src/coins/ofc.ts +++ b/modules/sdk-core/src/coins/ofc.ts @@ -17,6 +17,10 @@ import { } from '../'; export class Ofc extends BaseCoin { + constructor(bitgo: BitGoBase) { + super(bitgo); + } + static createInstance(bitgo: BitGoBase): BaseCoin { return new Ofc(bitgo); } From eecef970d711d1c5500e67f4772320d8b897d214 Mon Sep 17 00:00:00 2001 From: Michael Date: Wed, 30 Nov 2022 17:11:19 -0700 Subject: [PATCH 15/15] chore(release): publish modules - @bitgo/abstract-eth@1.2.6 - @bitgo/abstract-utxo@1.10.0 - @bitgo/account-lib@4.1.0 - bitgo@16.1.0 - @bitgo/express@9.21.1 - @bitgo/sdk-api@1.9.1 - @bitgo/sdk-coin-ada@2.3.1 - @bitgo/sdk-coin-algo@1.3.6 - @bitgo/sdk-coin-avaxc@2.3.1 - @bitgo/sdk-coin-avaxp@3.4.0 - @bitgo/sdk-coin-bch@1.3.6 - @bitgo/sdk-coin-bcha@1.5.1 - @bitgo/sdk-coin-bsc@3.1.0 - @bitgo/sdk-coin-bsv@1.3.6 - @bitgo/sdk-coin-btc@1.2.6 - @bitgo/sdk-coin-btg@1.3.6 - @bitgo/sdk-coin-celo@1.3.6 - @bitgo/sdk-coin-cspr@1.2.6 - @bitgo/sdk-coin-dash@1.3.6 - @bitgo/sdk-coin-doge@1.8.1 - @bitgo/sdk-coin-dot@2.0.1 - @bitgo/sdk-coin-eos@1.3.6 - @bitgo/sdk-coin-etc@1.2.6 - @bitgo/sdk-coin-eth@2.7.1 - @bitgo/sdk-coin-eth2@1.2.6 - @bitgo/sdk-coin-ethw@1.3.6 - @bitgo/sdk-coin-hbar@1.3.6 - @bitgo/sdk-coin-ltc@2.0.1 - @bitgo/sdk-coin-near@1.3.6 - @bitgo/sdk-coin-polygon@1.3.6 - @bitgo/sdk-coin-rbtc@1.3.6 - @bitgo/sdk-coin-sol@2.3.0 - @bitgo/sdk-coin-stx@1.4.6 - @bitgo/sdk-coin-sui@1.6.1 - @bitgo/sdk-coin-trx@1.3.1 - @bitgo/sdk-coin-xlm@1.2.6 - @bitgo/sdk-coin-xrp@1.3.6 - @bitgo/sdk-coin-xtz@1.4.6 - @bitgo/sdk-coin-zec@1.3.6 - @bitgo/sdk-core@4.1.0 - @bitgo/sdk-test@1.2.6 - @bitgo/statics@12.1.0 - @bitgo/utxo-bin@2.6.0 - @bitgo/web-demo@1.3.6 --- modules/abstract-eth/CHANGELOG.md | 4 ++ modules/abstract-eth/package.json | 8 +-- modules/abstract-utxo/CHANGELOG.md | 6 ++ modules/abstract-utxo/package.json | 6 +- modules/account-lib/CHANGELOG.md | 6 ++ modules/account-lib/package.json | 44 +++++++-------- modules/bitgo/CHANGELOG.md | 13 +++++ modules/bitgo/package.json | 80 +++++++++++++-------------- modules/express/CHANGELOG.md | 8 +++ modules/express/package.json | 8 +-- modules/sdk-api/CHANGELOG.md | 4 ++ modules/sdk-api/package.json | 4 +- modules/sdk-coin-ada/CHANGELOG.md | 4 ++ modules/sdk-coin-ada/package.json | 10 ++-- modules/sdk-coin-algo/CHANGELOG.md | 4 ++ modules/sdk-coin-algo/package.json | 10 ++-- modules/sdk-coin-avaxc/CHANGELOG.md | 4 ++ modules/sdk-coin-avaxc/package.json | 14 ++--- modules/sdk-coin-avaxp/CHANGELOG.md | 6 ++ modules/sdk-coin-avaxp/package.json | 10 ++-- modules/sdk-coin-bch/CHANGELOG.md | 4 ++ modules/sdk-coin-bch/package.json | 10 ++-- modules/sdk-coin-bcha/CHANGELOG.md | 4 ++ modules/sdk-coin-bcha/package.json | 12 ++-- modules/sdk-coin-bsc/CHANGELOG.md | 6 ++ modules/sdk-coin-bsc/package.json | 14 ++--- modules/sdk-coin-bsv/CHANGELOG.md | 4 ++ modules/sdk-coin-bsv/package.json | 12 ++-- modules/sdk-coin-btc/CHANGELOG.md | 4 ++ modules/sdk-coin-btc/package.json | 10 ++-- modules/sdk-coin-btg/CHANGELOG.md | 4 ++ modules/sdk-coin-btg/package.json | 10 ++-- modules/sdk-coin-celo/CHANGELOG.md | 4 ++ modules/sdk-coin-celo/package.json | 14 ++--- modules/sdk-coin-cspr/CHANGELOG.md | 4 ++ modules/sdk-coin-cspr/package.json | 10 ++-- modules/sdk-coin-dash/CHANGELOG.md | 4 ++ modules/sdk-coin-dash/package.json | 10 ++-- modules/sdk-coin-doge/CHANGELOG.md | 4 ++ modules/sdk-coin-doge/package.json | 10 ++-- modules/sdk-coin-dot/CHANGELOG.md | 6 ++ modules/sdk-coin-dot/package.json | 10 ++-- modules/sdk-coin-eos/CHANGELOG.md | 4 ++ modules/sdk-coin-eos/package.json | 10 ++-- modules/sdk-coin-etc/CHANGELOG.md | 4 ++ modules/sdk-coin-etc/package.json | 14 ++--- modules/sdk-coin-eth/CHANGELOG.md | 4 ++ modules/sdk-coin-eth/package.json | 10 ++-- modules/sdk-coin-eth2/CHANGELOG.md | 4 ++ modules/sdk-coin-eth2/package.json | 8 +-- modules/sdk-coin-ethw/CHANGELOG.md | 4 ++ modules/sdk-coin-ethw/package.json | 14 ++--- modules/sdk-coin-hbar/CHANGELOG.md | 4 ++ modules/sdk-coin-hbar/package.json | 12 ++-- modules/sdk-coin-ltc/CHANGELOG.md | 4 ++ modules/sdk-coin-ltc/package.json | 10 ++-- modules/sdk-coin-near/CHANGELOG.md | 4 ++ modules/sdk-coin-near/package.json | 10 ++-- modules/sdk-coin-polygon/CHANGELOG.md | 4 ++ modules/sdk-coin-polygon/package.json | 14 ++--- modules/sdk-coin-rbtc/CHANGELOG.md | 4 ++ modules/sdk-coin-rbtc/package.json | 14 ++--- modules/sdk-coin-sol/CHANGELOG.md | 7 +++ modules/sdk-coin-sol/package.json | 10 ++-- modules/sdk-coin-stx/CHANGELOG.md | 4 ++ modules/sdk-coin-stx/package.json | 10 ++-- modules/sdk-coin-sui/CHANGELOG.md | 4 ++ modules/sdk-coin-sui/package.json | 10 ++-- modules/sdk-coin-trx/CHANGELOG.md | 4 ++ modules/sdk-coin-trx/package.json | 10 ++-- modules/sdk-coin-xlm/CHANGELOG.md | 4 ++ modules/sdk-coin-xlm/package.json | 10 ++-- modules/sdk-coin-xrp/CHANGELOG.md | 4 ++ modules/sdk-coin-xrp/package.json | 8 +-- modules/sdk-coin-xtz/CHANGELOG.md | 4 ++ modules/sdk-coin-xtz/package.json | 10 ++-- modules/sdk-coin-zec/CHANGELOG.md | 4 ++ modules/sdk-coin-zec/package.json | 10 ++-- modules/sdk-core/CHANGELOG.md | 13 +++++ modules/sdk-core/package.json | 4 +- modules/sdk-test/CHANGELOG.md | 4 ++ modules/sdk-test/package.json | 6 +- modules/statics/CHANGELOG.md | 6 ++ modules/statics/package.json | 2 +- modules/utxo-bin/CHANGELOG.md | 6 ++ modules/utxo-bin/package.json | 4 +- modules/web-demo/CHANGELOG.md | 4 ++ modules/web-demo/package.json | 8 +-- 88 files changed, 482 insertions(+), 267 deletions(-) diff --git a/modules/abstract-eth/CHANGELOG.md b/modules/abstract-eth/CHANGELOG.md index e3736ee587..7aca34bc4a 100644 --- a/modules/abstract-eth/CHANGELOG.md +++ b/modules/abstract-eth/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.6](https://github.com/BitGo/BitGoJS/compare/@bitgo/abstract-eth@1.2.5...@bitgo/abstract-eth@1.2.6) (2022-12-01) + +**Note:** Version bump only for package @bitgo/abstract-eth + ## [1.2.5](https://github.com/BitGo/BitGoJS/compare/@bitgo/abstract-eth@1.2.0...@bitgo/abstract-eth@1.2.5) (2022-11-29) **Note:** Version bump only for package @bitgo/abstract-eth diff --git a/modules/abstract-eth/package.json b/modules/abstract-eth/package.json index 84230e9a47..3335cb6e34 100644 --- a/modules/abstract-eth/package.json +++ b/modules/abstract-eth/package.json @@ -1,6 +1,6 @@ { "name": "@bitgo/abstract-eth", - "version": "1.2.5", + "version": "1.2.6", "description": "BitGo SDK coin library for ETH base implementation", "main": "./dist/src/index.js", "types": "./dist/src/index.d.ts", @@ -37,9 +37,9 @@ ] }, "dependencies": { - "@bitgo/sdk-coin-eth": "^2.7.0", - "@bitgo/sdk-core": "^4.0.0", - "@bitgo/statics": "^12.0.0", + "@bitgo/sdk-coin-eth": "^2.7.1", + "@bitgo/sdk-core": "^4.1.0", + "@bitgo/statics": "^12.1.0", "@bitgo/utxo-lib": "^7.0.0", "bignumber.js": "^8.0.1" } diff --git a/modules/abstract-utxo/CHANGELOG.md b/modules/abstract-utxo/CHANGELOG.md index f138a91421..6f57ed076b 100644 --- a/modules/abstract-utxo/CHANGELOG.md +++ b/modules/abstract-utxo/CHANGELOG.md @@ -3,6 +3,12 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [1.10.0](https://github.com/BitGo/BitGoJS/compare/@bitgo/abstract-utxo@1.9.0...@bitgo/abstract-utxo@1.10.0) (2022-12-01) + +### Features + +- **abstract-utxo:** add valueString to unspents for doge recovery flow ([439f95c](https://github.com/BitGo/BitGoJS/commit/439f95c4e337e33a0812ac28b03e46b52e4a9fde)) + # [1.9.0](https://github.com/BitGo/BitGoJS/compare/@bitgo/abstract-utxo@1.4.0...@bitgo/abstract-utxo@1.9.0) (2022-11-29) ### Bug Fixes diff --git a/modules/abstract-utxo/package.json b/modules/abstract-utxo/package.json index 8d09a7d8d3..a8e342c2e3 100644 --- a/modules/abstract-utxo/package.json +++ b/modules/abstract-utxo/package.json @@ -1,6 +1,6 @@ { "name": "@bitgo/abstract-utxo", - "version": "1.9.0", + "version": "1.10.0", "description": "BitGo SDK coin library for UTXO base implementation", "main": "./dist/src/index.js", "types": "./dist/src/index.d.ts", @@ -38,8 +38,8 @@ }, "dependencies": { "@bitgo/blockapis": "^1.3.5", - "@bitgo/sdk-api": "^1.9.0", - "@bitgo/sdk-core": "^4.0.0", + "@bitgo/sdk-api": "^1.9.1", + "@bitgo/sdk-core": "^4.1.0", "@bitgo/unspents": "^0.11.5", "@bitgo/utxo-lib": "^7.0.0", "@types/bluebird": "^3.5.25", diff --git a/modules/account-lib/CHANGELOG.md b/modules/account-lib/CHANGELOG.md index 773cd114d7..1b60c61af5 100644 --- a/modules/account-lib/CHANGELOG.md +++ b/modules/account-lib/CHANGELOG.md @@ -3,6 +3,12 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [4.1.0](https://github.com/BitGo/BitGoJS/compare/@bitgo/account-lib@4.0.0...@bitgo/account-lib@4.1.0) (2022-12-01) + +### Features + +- **sdk-core:** add keyDerive to ECDSA TSS implementation ([9ff1d89](https://github.com/BitGo/BitGoJS/commit/9ff1d89ba0e42d53640f0fe7b71c53d1a2eb4a10)) + # [4.0.0](https://github.com/BitGo/BitGoJS/compare/@bitgo/account-lib@2.23.0...@bitgo/account-lib@4.0.0) (2022-11-29) ### Features diff --git a/modules/account-lib/package.json b/modules/account-lib/package.json index de6c9c0107..dd0808b827 100644 --- a/modules/account-lib/package.json +++ b/modules/account-lib/package.json @@ -1,6 +1,6 @@ { "name": "@bitgo/account-lib", - "version": "4.0.0", + "version": "4.1.0", "description": "BitGo's account library functions", "main": "./dist/src/index.js", "types": "./dist/src/index.d.ts", @@ -27,27 +27,27 @@ "node": ">=14 <17" }, "dependencies": { - "@bitgo/sdk-coin-algo": "^1.3.5", - "@bitgo/sdk-coin-avaxc": "^2.3.0", - "@bitgo/sdk-coin-avaxp": "^3.3.0", - "@bitgo/sdk-coin-bsc": "^3.0.0", - "@bitgo/sdk-coin-celo": "^1.3.5", - "@bitgo/sdk-coin-cspr": "^1.2.5", - "@bitgo/sdk-coin-dot": "^2.0.0", - "@bitgo/sdk-coin-etc": "^1.2.5", - "@bitgo/sdk-coin-eth": "^2.7.0", - "@bitgo/sdk-coin-eth2": "^1.2.5", - "@bitgo/sdk-coin-hbar": "^1.3.5", - "@bitgo/sdk-coin-near": "^1.3.5", - "@bitgo/sdk-coin-polygon": "^1.3.5", - "@bitgo/sdk-coin-rbtc": "^1.3.5", - "@bitgo/sdk-coin-sol": "^2.2.5", - "@bitgo/sdk-coin-stx": "^1.4.5", - "@bitgo/sdk-coin-sui": "^1.6.0", - "@bitgo/sdk-coin-trx": "^1.3.0", - "@bitgo/sdk-coin-xtz": "^1.4.5", - "@bitgo/sdk-core": "^4.0.0", - "@bitgo/statics": "^12.0.0", + "@bitgo/sdk-coin-algo": "^1.3.6", + "@bitgo/sdk-coin-avaxc": "^2.3.1", + "@bitgo/sdk-coin-avaxp": "^3.4.0", + "@bitgo/sdk-coin-bsc": "^3.1.0", + "@bitgo/sdk-coin-celo": "^1.3.6", + "@bitgo/sdk-coin-cspr": "^1.2.6", + "@bitgo/sdk-coin-dot": "^2.0.1", + "@bitgo/sdk-coin-etc": "^1.2.6", + "@bitgo/sdk-coin-eth": "^2.7.1", + "@bitgo/sdk-coin-eth2": "^1.2.6", + "@bitgo/sdk-coin-hbar": "^1.3.6", + "@bitgo/sdk-coin-near": "^1.3.6", + "@bitgo/sdk-coin-polygon": "^1.3.6", + "@bitgo/sdk-coin-rbtc": "^1.3.6", + "@bitgo/sdk-coin-sol": "^2.3.0", + "@bitgo/sdk-coin-stx": "^1.4.6", + "@bitgo/sdk-coin-sui": "^1.6.1", + "@bitgo/sdk-coin-trx": "^1.3.1", + "@bitgo/sdk-coin-xtz": "^1.4.6", + "@bitgo/sdk-core": "^4.1.0", + "@bitgo/statics": "^12.1.0", "bignumber.js": "^9.0.0", "bs58": "^4.0.1" }, diff --git a/modules/bitgo/CHANGELOG.md b/modules/bitgo/CHANGELOG.md index 707b1670d4..c8bfb0824c 100644 --- a/modules/bitgo/CHANGELOG.md +++ b/modules/bitgo/CHANGELOG.md @@ -3,6 +3,19 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [16.1.0](https://github.com/BitGo/BitGoJS/compare/bitgo@16.0.0...bitgo@16.1.0) (2022-12-01) + + +### Features + +* **abstract-utxo:** add valueString to unspents for doge recovery flow ([439f95c](https://github.com/BitGo/BitGoJS/commit/439f95c4e337e33a0812ac28b03e46b52e4a9fde)) +* **bitgo:** add api version input ([42f353f](https://github.com/BitGo/BitGoJS/commit/42f353f0b33857963d66739d34b0d0cac85e82db)) +* **sdk-core:** add keyDerive to ECDSA TSS implementation ([9ff1d89](https://github.com/BitGo/BitGoJS/commit/9ff1d89ba0e42d53640f0fe7b71c53d1a2eb4a10)) + + + + + # [16.0.0](https://github.com/BitGo/BitGoJS/compare/bitgo@14.5.0...bitgo@16.0.0) (2022-11-29) diff --git a/modules/bitgo/package.json b/modules/bitgo/package.json index 0bba0f3dab..9650e4849b 100644 --- a/modules/bitgo/package.json +++ b/modules/bitgo/package.json @@ -1,6 +1,6 @@ { "name": "bitgo", - "version": "16.0.0", + "version": "16.1.0", "description": "BitGo JavaScript SDK", "main": "./dist/src/index.js", "types": "./dist/types/src/index.d.ts", @@ -44,46 +44,46 @@ "gen-docs": "typedoc" }, "dependencies": { - "@bitgo/abstract-utxo": "^1.9.0", - "@bitgo/account-lib": "^4.0.0", + "@bitgo/abstract-utxo": "^1.10.0", + "@bitgo/account-lib": "^4.1.0", "@bitgo/blockapis": "^1.3.5", - "@bitgo/sdk-api": "^1.9.0", - "@bitgo/sdk-coin-ada": "^2.3.0", - "@bitgo/sdk-coin-algo": "^1.3.5", - "@bitgo/sdk-coin-avaxc": "^2.3.0", - "@bitgo/sdk-coin-avaxp": "^3.3.0", - "@bitgo/sdk-coin-bch": "^1.3.5", - "@bitgo/sdk-coin-bcha": "^1.5.0", - "@bitgo/sdk-coin-bsc": "^3.0.0", - "@bitgo/sdk-coin-bsv": "^1.3.5", - "@bitgo/sdk-coin-btc": "^1.2.5", - "@bitgo/sdk-coin-btg": "^1.3.5", - "@bitgo/sdk-coin-celo": "^1.3.5", - "@bitgo/sdk-coin-cspr": "^1.2.5", - "@bitgo/sdk-coin-dash": "^1.3.5", - "@bitgo/sdk-coin-doge": "^1.8.0", - "@bitgo/sdk-coin-dot": "^2.0.0", - "@bitgo/sdk-coin-eos": "^1.3.5", - "@bitgo/sdk-coin-etc": "^1.2.5", - "@bitgo/sdk-coin-eth": "^2.7.0", - "@bitgo/sdk-coin-eth2": "^1.2.5", - "@bitgo/sdk-coin-ethw": "^1.3.5", - "@bitgo/sdk-coin-hbar": "^1.3.5", - "@bitgo/sdk-coin-ltc": "^2.0.0", - "@bitgo/sdk-coin-near": "^1.3.5", - "@bitgo/sdk-coin-polygon": "^1.3.5", - "@bitgo/sdk-coin-rbtc": "^1.3.5", - "@bitgo/sdk-coin-sol": "^2.2.5", - "@bitgo/sdk-coin-stx": "^1.4.5", - "@bitgo/sdk-coin-sui": "^1.6.0", - "@bitgo/sdk-coin-trx": "^1.3.0", - "@bitgo/sdk-coin-xlm": "^1.2.5", - "@bitgo/sdk-coin-xrp": "^1.3.5", - "@bitgo/sdk-coin-xtz": "^1.4.5", - "@bitgo/sdk-coin-zec": "^1.3.5", - "@bitgo/sdk-core": "^4.0.0", + "@bitgo/sdk-api": "^1.9.1", + "@bitgo/sdk-coin-ada": "^2.3.1", + "@bitgo/sdk-coin-algo": "^1.3.6", + "@bitgo/sdk-coin-avaxc": "^2.3.1", + "@bitgo/sdk-coin-avaxp": "^3.4.0", + "@bitgo/sdk-coin-bch": "^1.3.6", + "@bitgo/sdk-coin-bcha": "^1.5.1", + "@bitgo/sdk-coin-bsc": "^3.1.0", + "@bitgo/sdk-coin-bsv": "^1.3.6", + "@bitgo/sdk-coin-btc": "^1.2.6", + "@bitgo/sdk-coin-btg": "^1.3.6", + "@bitgo/sdk-coin-celo": "^1.3.6", + "@bitgo/sdk-coin-cspr": "^1.2.6", + "@bitgo/sdk-coin-dash": "^1.3.6", + "@bitgo/sdk-coin-doge": "^1.8.1", + "@bitgo/sdk-coin-dot": "^2.0.1", + "@bitgo/sdk-coin-eos": "^1.3.6", + "@bitgo/sdk-coin-etc": "^1.2.6", + "@bitgo/sdk-coin-eth": "^2.7.1", + "@bitgo/sdk-coin-eth2": "^1.2.6", + "@bitgo/sdk-coin-ethw": "^1.3.6", + "@bitgo/sdk-coin-hbar": "^1.3.6", + "@bitgo/sdk-coin-ltc": "^2.0.1", + "@bitgo/sdk-coin-near": "^1.3.6", + "@bitgo/sdk-coin-polygon": "^1.3.6", + "@bitgo/sdk-coin-rbtc": "^1.3.6", + "@bitgo/sdk-coin-sol": "^2.3.0", + "@bitgo/sdk-coin-stx": "^1.4.6", + "@bitgo/sdk-coin-sui": "^1.6.1", + "@bitgo/sdk-coin-trx": "^1.3.1", + "@bitgo/sdk-coin-xlm": "^1.2.6", + "@bitgo/sdk-coin-xrp": "^1.3.6", + "@bitgo/sdk-coin-xtz": "^1.4.6", + "@bitgo/sdk-coin-zec": "^1.3.6", + "@bitgo/sdk-core": "^4.1.0", "@bitgo/sjcl": "^1.0.1", - "@bitgo/statics": "^12.0.0", + "@bitgo/statics": "^12.1.0", "@bitgo/unspents": "^0.11.5", "@bitgo/utxo-lib": "^7.0.0", "@types/bluebird": "^3.5.25", @@ -98,7 +98,7 @@ "superagent": "^3.8.3" }, "devDependencies": { - "@bitgo/sdk-test": "^1.2.5", + "@bitgo/sdk-test": "^1.2.6", "@types/create-hmac": "^1.1.0", "@types/debug": "^4.1.4", "@types/jasmine": "^3.5.12", diff --git a/modules/express/CHANGELOG.md b/modules/express/CHANGELOG.md index 3b85d6e2b7..b9be1ace26 100644 --- a/modules/express/CHANGELOG.md +++ b/modules/express/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [9.21.1](https://github.com/BitGo/BitGoJS/compare/@bitgo/express@9.21.0...@bitgo/express@9.21.1) (2022-12-01) + +**Note:** Version bump only for package @bitgo/express + + + + + # [9.21.0](https://github.com/BitGo/BitGoJS/compare/@bitgo/express@9.15.0...@bitgo/express@9.21.0) (2022-11-29) diff --git a/modules/express/package.json b/modules/express/package.json index a7b83f61ae..bfbc5726fd 100644 --- a/modules/express/package.json +++ b/modules/express/package.json @@ -1,6 +1,6 @@ { "name": "@bitgo/express", - "version": "9.21.0", + "version": "9.21.1", "private": true, "description": "Local signing server and proxy for the BitGo platform", "main": "./dist/src/index.js", @@ -37,9 +37,9 @@ "fmt": "yarn prettier --write '{src,test}/**/*.{ts,js,json}'" }, "dependencies": { - "@bitgo/sdk-core": "^4.0.0", + "@bitgo/sdk-core": "^4.1.0", "argparse": "^1.0.10", - "bitgo": "^16.0.0", + "bitgo": "^16.1.0", "bluebird": "^3.5.3", "body-parser": "^1.19.0", "connect-timeout": "^1.9.0", @@ -51,7 +51,7 @@ "superagent": "^3.8.3" }, "devDependencies": { - "@bitgo/sdk-test": "^1.2.5", + "@bitgo/sdk-test": "^1.2.6", "@types/argparse": "^1.0.36", "@types/bluebird": "^3.5.25", "@types/body-parser": "^1.17.0", diff --git a/modules/sdk-api/CHANGELOG.md b/modules/sdk-api/CHANGELOG.md index 98e2ffcbb8..406f286e89 100644 --- a/modules/sdk-api/CHANGELOG.md +++ b/modules/sdk-api/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.9.1](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-api@1.9.0...@bitgo/sdk-api@1.9.1) (2022-12-01) + +**Note:** Version bump only for package @bitgo/sdk-api + # [1.9.0](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-api@1.4.0...@bitgo/sdk-api@1.9.0) (2022-11-29) ### Features diff --git a/modules/sdk-api/package.json b/modules/sdk-api/package.json index 01a4b07848..222f173390 100644 --- a/modules/sdk-api/package.json +++ b/modules/sdk-api/package.json @@ -1,6 +1,6 @@ { "name": "@bitgo/sdk-api", - "version": "1.9.0", + "version": "1.9.1", "description": "REST wrapper for BitGoJS", "main": "./dist/src/index.js", "types": "./dist/src/index.d.ts", @@ -50,7 +50,7 @@ ] }, "dependencies": { - "@bitgo/sdk-core": "^4.0.0", + "@bitgo/sdk-core": "^4.1.0", "@bitgo/sjcl": "^1.0.1", "@bitgo/unspents": "^0.11.5", "@bitgo/utxo-lib": "^7.0.0", diff --git a/modules/sdk-coin-ada/CHANGELOG.md b/modules/sdk-coin-ada/CHANGELOG.md index d4ec1cbc4b..c4b3199950 100644 --- a/modules/sdk-coin-ada/CHANGELOG.md +++ b/modules/sdk-coin-ada/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [2.3.1](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-ada@2.3.0...@bitgo/sdk-coin-ada@2.3.1) (2022-12-01) + +**Note:** Version bump only for package @bitgo/sdk-coin-ada + # [2.3.0](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-ada@2.2.0...@bitgo/sdk-coin-ada@2.3.0) (2022-11-29) ### Features diff --git a/modules/sdk-coin-ada/package.json b/modules/sdk-coin-ada/package.json index 8c78c93104..c9e4698e5e 100644 --- a/modules/sdk-coin-ada/package.json +++ b/modules/sdk-coin-ada/package.json @@ -1,6 +1,6 @@ { "name": "@bitgo/sdk-coin-ada", - "version": "2.3.0", + "version": "2.3.1", "description": "BitGo SDK coin library for Ada", "main": "./dist/src/index.js", "types": "./dist/src/index.d.ts", @@ -40,8 +40,8 @@ ] }, "dependencies": { - "@bitgo/sdk-core": "^4.0.0", - "@bitgo/statics": "^12.0.0", + "@bitgo/sdk-core": "^4.1.0", + "@bitgo/statics": "^12.1.0", "@emurgo/cardano-serialization-lib-browser": "^10.2.0", "@emurgo/cardano-serialization-lib-nodejs": "^10.2.0", "bech32": "^2.0.0", @@ -51,7 +51,7 @@ "tweetnacl": "^1.0.3" }, "devDependencies": { - "@bitgo/sdk-api": "^1.9.0", - "@bitgo/sdk-test": "^1.2.5" + "@bitgo/sdk-api": "^1.9.1", + "@bitgo/sdk-test": "^1.2.6" } } diff --git a/modules/sdk-coin-algo/CHANGELOG.md b/modules/sdk-coin-algo/CHANGELOG.md index 0732fd114e..e4a116aa29 100644 --- a/modules/sdk-coin-algo/CHANGELOG.md +++ b/modules/sdk-coin-algo/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.3.6](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-algo@1.3.5...@bitgo/sdk-coin-algo@1.3.6) (2022-12-01) + +**Note:** Version bump only for package @bitgo/sdk-coin-algo + ## [1.3.5](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-algo@1.3.0...@bitgo/sdk-coin-algo@1.3.5) (2022-11-29) **Note:** Version bump only for package @bitgo/sdk-coin-algo diff --git a/modules/sdk-coin-algo/package.json b/modules/sdk-coin-algo/package.json index 5a545160af..a0d8a56f0e 100644 --- a/modules/sdk-coin-algo/package.json +++ b/modules/sdk-coin-algo/package.json @@ -1,6 +1,6 @@ { "name": "@bitgo/sdk-coin-algo", - "version": "1.3.5", + "version": "1.3.6", "description": "BitGo SDK coin library for Algorand", "main": "./dist/src/index.js", "types": "./dist/src/index.d.ts", @@ -40,8 +40,8 @@ ] }, "dependencies": { - "@bitgo/sdk-core": "^4.0.0", - "@bitgo/statics": "^12.0.0", + "@bitgo/sdk-core": "^4.1.0", + "@bitgo/statics": "^12.1.0", "@bitgo/utxo-lib": "^7.0.0", "@hashgraph/cryptography": "1.1.2", "@stablelib/hex": "^1.0.0", @@ -55,8 +55,8 @@ "tweetnacl": "^1.0.3" }, "devDependencies": { - "@bitgo/sdk-api": "^1.9.0", - "@bitgo/sdk-test": "^1.2.5", + "@bitgo/sdk-api": "^1.9.1", + "@bitgo/sdk-test": "^1.2.6", "should": "^13.1.3", "sinon": "^7.5.0" } diff --git a/modules/sdk-coin-avaxc/CHANGELOG.md b/modules/sdk-coin-avaxc/CHANGELOG.md index 10dfa824a9..4189e7c386 100644 --- a/modules/sdk-coin-avaxc/CHANGELOG.md +++ b/modules/sdk-coin-avaxc/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [2.3.1](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-avaxc@2.3.0...@bitgo/sdk-coin-avaxc@2.3.1) (2022-12-01) + +**Note:** Version bump only for package @bitgo/sdk-coin-avaxc + # [2.3.0](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-avaxc@2.2.0...@bitgo/sdk-coin-avaxc@2.3.0) (2022-11-29) ### Bug Fixes diff --git a/modules/sdk-coin-avaxc/package.json b/modules/sdk-coin-avaxc/package.json index 3e61f47e20..84d03f16d9 100644 --- a/modules/sdk-coin-avaxc/package.json +++ b/modules/sdk-coin-avaxc/package.json @@ -1,6 +1,6 @@ { "name": "@bitgo/sdk-coin-avaxc", - "version": "2.3.0", + "version": "2.3.1", "description": "BitGo SDK coin library for Avalanche c-chain", "main": "./dist/src/index.js", "types": "./dist/src/index.d.ts", @@ -40,10 +40,10 @@ ] }, "dependencies": { - "@bitgo/sdk-coin-avaxp": "^3.3.0", - "@bitgo/sdk-coin-eth": "^2.7.0", - "@bitgo/sdk-core": "^4.0.0", - "@bitgo/statics": "^12.0.0", + "@bitgo/sdk-coin-avaxp": "^3.4.0", + "@bitgo/sdk-coin-eth": "^2.7.1", + "@bitgo/sdk-core": "^4.1.0", + "@bitgo/statics": "^12.1.0", "@bitgo/utxo-lib": "^7.0.0", "@ethereumjs/common": "^2.4.0", "bignumber.js": "^8.0.1", @@ -55,7 +55,7 @@ "superagent": "^3.8.3" }, "devDependencies": { - "@bitgo/sdk-api": "^1.9.0", - "@bitgo/sdk-test": "^1.2.5" + "@bitgo/sdk-api": "^1.9.1", + "@bitgo/sdk-test": "^1.2.6" } } diff --git a/modules/sdk-coin-avaxp/CHANGELOG.md b/modules/sdk-coin-avaxp/CHANGELOG.md index 46d5e494af..430e6ebc79 100644 --- a/modules/sdk-coin-avaxp/CHANGELOG.md +++ b/modules/sdk-coin-avaxp/CHANGELOG.md @@ -3,6 +3,12 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [3.4.0](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-avaxp@3.3.0...@bitgo/sdk-coin-avaxp@3.4.0) (2022-12-01) + +### Features + +- **sdk-coin-avaxp:** verify import in P ([ce70af4](https://github.com/BitGo/BitGoJS/commit/ce70af459d1e2dcd1025178a930ddf8a84454bfd)) + # [3.3.0](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-avaxp@3.2.0...@bitgo/sdk-coin-avaxp@3.3.0) (2022-11-29) ### Bug Fixes diff --git a/modules/sdk-coin-avaxp/package.json b/modules/sdk-coin-avaxp/package.json index c8a9bfdb92..2405bfd57a 100644 --- a/modules/sdk-coin-avaxp/package.json +++ b/modules/sdk-coin-avaxp/package.json @@ -1,6 +1,6 @@ { "name": "@bitgo/sdk-coin-avaxp", - "version": "3.3.0", + "version": "3.4.0", "description": "BitGo's SDK coin library for avaxp coin", "main": "./dist/src/index.js", "types": "./dist/src/index.d.ts", @@ -43,13 +43,13 @@ ] }, "devDependencies": { - "@bitgo/sdk-api": "^1.9.0", - "@bitgo/sdk-test": "^1.2.5", + "@bitgo/sdk-api": "^1.9.1", + "@bitgo/sdk-test": "^1.2.6", "@types/elliptic": "^6.4.12" }, "dependencies": { - "@bitgo/sdk-core": "^4.0.0", - "@bitgo/statics": "^12.0.0", + "@bitgo/sdk-core": "^4.1.0", + "@bitgo/statics": "^12.1.0", "@bitgo/utxo-lib": "^7.0.0", "avalanche": "3.15.3", "bignumber.js": "^9.0.0", diff --git a/modules/sdk-coin-bch/CHANGELOG.md b/modules/sdk-coin-bch/CHANGELOG.md index 1d9fb6cb1a..4614d5dbcf 100644 --- a/modules/sdk-coin-bch/CHANGELOG.md +++ b/modules/sdk-coin-bch/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.3.6](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-bch@1.3.5...@bitgo/sdk-coin-bch@1.3.6) (2022-12-01) + +**Note:** Version bump only for package @bitgo/sdk-coin-bch + ## [1.3.5](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-bch@1.3.0...@bitgo/sdk-coin-bch@1.3.5) (2022-11-29) **Note:** Version bump only for package @bitgo/sdk-coin-bch diff --git a/modules/sdk-coin-bch/package.json b/modules/sdk-coin-bch/package.json index a60d29193d..d992e2fee3 100644 --- a/modules/sdk-coin-bch/package.json +++ b/modules/sdk-coin-bch/package.json @@ -1,6 +1,6 @@ { "name": "@bitgo/sdk-coin-bch", - "version": "1.3.5", + "version": "1.3.6", "description": "BitGo SDK coin library for Bitcoin Cash", "main": "./dist/src/index.js", "types": "./dist/src/index.d.ts", @@ -40,12 +40,12 @@ ] }, "dependencies": { - "@bitgo/abstract-utxo": "^1.9.0", - "@bitgo/sdk-core": "^4.0.0", + "@bitgo/abstract-utxo": "^1.10.0", + "@bitgo/sdk-core": "^4.1.0", "@bitgo/utxo-lib": "^7.0.0" }, "devDependencies": { - "@bitgo/sdk-api": "^1.9.0", - "@bitgo/sdk-test": "^1.2.5" + "@bitgo/sdk-api": "^1.9.1", + "@bitgo/sdk-test": "^1.2.6" } } diff --git a/modules/sdk-coin-bcha/CHANGELOG.md b/modules/sdk-coin-bcha/CHANGELOG.md index 108f6cd8ad..c4fd1b3b7a 100644 --- a/modules/sdk-coin-bcha/CHANGELOG.md +++ b/modules/sdk-coin-bcha/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.5.1](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-bcha@1.5.0...@bitgo/sdk-coin-bcha@1.5.1) (2022-12-01) + +**Note:** Version bump only for package @bitgo/sdk-coin-bcha + # [1.5.0](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-bcha@1.3.0...@bitgo/sdk-coin-bcha@1.5.0) (2022-11-29) ### Features diff --git a/modules/sdk-coin-bcha/package.json b/modules/sdk-coin-bcha/package.json index ec99504d9d..e203010330 100644 --- a/modules/sdk-coin-bcha/package.json +++ b/modules/sdk-coin-bcha/package.json @@ -1,6 +1,6 @@ { "name": "@bitgo/sdk-coin-bcha", - "version": "1.5.0", + "version": "1.5.1", "description": "BitGo SDK coin library for Bitcoin abc", "main": "./dist/src/index.js", "types": "./dist/src/index.d.ts", @@ -40,13 +40,13 @@ ] }, "dependencies": { - "@bitgo/abstract-utxo": "^1.9.0", - "@bitgo/sdk-coin-bch": "^1.3.5", - "@bitgo/sdk-core": "^4.0.0", + "@bitgo/abstract-utxo": "^1.10.0", + "@bitgo/sdk-coin-bch": "^1.3.6", + "@bitgo/sdk-core": "^4.1.0", "@bitgo/utxo-lib": "^7.0.0" }, "devDependencies": { - "@bitgo/sdk-api": "^1.9.0", - "@bitgo/sdk-test": "^1.2.5" + "@bitgo/sdk-api": "^1.9.1", + "@bitgo/sdk-test": "^1.2.6" } } diff --git a/modules/sdk-coin-bsc/CHANGELOG.md b/modules/sdk-coin-bsc/CHANGELOG.md index 24fec367c4..5009cd08e1 100644 --- a/modules/sdk-coin-bsc/CHANGELOG.md +++ b/modules/sdk-coin-bsc/CHANGELOG.md @@ -3,6 +3,12 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [3.1.0](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-bsc@3.0.0...@bitgo/sdk-coin-bsc@3.1.0) (2022-12-01) + +### Features + +- **sdk-core:** add keyDerive to ECDSA TSS implementation ([9ff1d89](https://github.com/BitGo/BitGoJS/commit/9ff1d89ba0e42d53640f0fe7b71c53d1a2eb4a10)) + # [3.0.0](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-bsc@1.3.0...@bitgo/sdk-coin-bsc@3.0.0) (2022-11-29) ### Features diff --git a/modules/sdk-coin-bsc/package.json b/modules/sdk-coin-bsc/package.json index 18ae77268d..3b1b99cc36 100644 --- a/modules/sdk-coin-bsc/package.json +++ b/modules/sdk-coin-bsc/package.json @@ -1,6 +1,6 @@ { "name": "@bitgo/sdk-coin-bsc", - "version": "3.0.0", + "version": "3.1.0", "description": "BitGo SDK coin library for Binance Smart Chain", "main": "./dist/src/index.js", "types": "./dist/src/index.d.ts", @@ -40,14 +40,14 @@ ] }, "dependencies": { - "@bitgo/abstract-eth": "^1.2.5", - "@bitgo/sdk-coin-eth": "^2.7.0", - "@bitgo/sdk-core": "^4.0.0", - "@bitgo/statics": "^12.0.0", + "@bitgo/abstract-eth": "^1.2.6", + "@bitgo/sdk-coin-eth": "^2.7.1", + "@bitgo/sdk-core": "^4.1.0", + "@bitgo/statics": "^12.1.0", "@ethereumjs/common": "^2.4.0" }, "devDependencies": { - "@bitgo/sdk-api": "^1.9.0", - "@bitgo/sdk-test": "^1.2.5" + "@bitgo/sdk-api": "^1.9.1", + "@bitgo/sdk-test": "^1.2.6" } } diff --git a/modules/sdk-coin-bsv/CHANGELOG.md b/modules/sdk-coin-bsv/CHANGELOG.md index 10c3602aa5..f27629f9ca 100644 --- a/modules/sdk-coin-bsv/CHANGELOG.md +++ b/modules/sdk-coin-bsv/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.3.6](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-bsv@1.3.5...@bitgo/sdk-coin-bsv@1.3.6) (2022-12-01) + +**Note:** Version bump only for package @bitgo/sdk-coin-bsv + ## [1.3.5](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-bsv@1.3.0...@bitgo/sdk-coin-bsv@1.3.5) (2022-11-29) **Note:** Version bump only for package @bitgo/sdk-coin-bsv diff --git a/modules/sdk-coin-bsv/package.json b/modules/sdk-coin-bsv/package.json index 91406651c9..7bb3e3cf49 100644 --- a/modules/sdk-coin-bsv/package.json +++ b/modules/sdk-coin-bsv/package.json @@ -1,6 +1,6 @@ { "name": "@bitgo/sdk-coin-bsv", - "version": "1.3.5", + "version": "1.3.6", "description": "BitGo SDK coin library for Bitcoin sv", "main": "./dist/src/index.js", "types": "./dist/src/index.d.ts", @@ -40,13 +40,13 @@ ] }, "dependencies": { - "@bitgo/abstract-utxo": "^1.9.0", - "@bitgo/sdk-coin-bch": "^1.3.5", - "@bitgo/sdk-core": "^4.0.0", + "@bitgo/abstract-utxo": "^1.10.0", + "@bitgo/sdk-coin-bch": "^1.3.6", + "@bitgo/sdk-core": "^4.1.0", "@bitgo/utxo-lib": "^7.0.0" }, "devDependencies": { - "@bitgo/sdk-api": "^1.9.0", - "@bitgo/sdk-test": "^1.2.5" + "@bitgo/sdk-api": "^1.9.1", + "@bitgo/sdk-test": "^1.2.6" } } diff --git a/modules/sdk-coin-btc/CHANGELOG.md b/modules/sdk-coin-btc/CHANGELOG.md index 5fee7e3ada..4e518bc71f 100644 --- a/modules/sdk-coin-btc/CHANGELOG.md +++ b/modules/sdk-coin-btc/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.6](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-btc@1.2.5...@bitgo/sdk-coin-btc@1.2.6) (2022-12-01) + +**Note:** Version bump only for package @bitgo/sdk-coin-btc + ## [1.2.5](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-btc@1.2.0...@bitgo/sdk-coin-btc@1.2.5) (2022-11-29) **Note:** Version bump only for package @bitgo/sdk-coin-btc diff --git a/modules/sdk-coin-btc/package.json b/modules/sdk-coin-btc/package.json index eb8fc3cb42..97bf1c1b9b 100644 --- a/modules/sdk-coin-btc/package.json +++ b/modules/sdk-coin-btc/package.json @@ -1,6 +1,6 @@ { "name": "@bitgo/sdk-coin-btc", - "version": "1.2.5", + "version": "1.2.6", "description": "BitGo SDK coin library for Bitcoin", "main": "./dist/src/index.js", "types": "./dist/src/index.d.ts", @@ -40,12 +40,12 @@ ] }, "dependencies": { - "@bitgo/abstract-utxo": "^1.9.0", - "@bitgo/sdk-core": "^4.0.0", + "@bitgo/abstract-utxo": "^1.10.0", + "@bitgo/sdk-core": "^4.1.0", "@bitgo/utxo-lib": "^7.0.0" }, "devDependencies": { - "@bitgo/sdk-api": "^1.9.0", - "@bitgo/sdk-test": "^1.2.5" + "@bitgo/sdk-api": "^1.9.1", + "@bitgo/sdk-test": "^1.2.6" } } diff --git a/modules/sdk-coin-btg/CHANGELOG.md b/modules/sdk-coin-btg/CHANGELOG.md index a8c7c98d46..243f6119da 100644 --- a/modules/sdk-coin-btg/CHANGELOG.md +++ b/modules/sdk-coin-btg/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.3.6](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-btg@1.3.5...@bitgo/sdk-coin-btg@1.3.6) (2022-12-01) + +**Note:** Version bump only for package @bitgo/sdk-coin-btg + ## [1.3.5](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-btg@1.3.0...@bitgo/sdk-coin-btg@1.3.5) (2022-11-29) **Note:** Version bump only for package @bitgo/sdk-coin-btg diff --git a/modules/sdk-coin-btg/package.json b/modules/sdk-coin-btg/package.json index 7c3b59d4e2..4e62249223 100644 --- a/modules/sdk-coin-btg/package.json +++ b/modules/sdk-coin-btg/package.json @@ -1,6 +1,6 @@ { "name": "@bitgo/sdk-coin-btg", - "version": "1.3.5", + "version": "1.3.6", "description": "BitGo SDK coin library for Bitcoin Gold", "main": "./dist/src/index.js", "types": "./dist/src/index.d.ts", @@ -40,12 +40,12 @@ ] }, "dependencies": { - "@bitgo/abstract-utxo": "^1.9.0", - "@bitgo/sdk-core": "^4.0.0", + "@bitgo/abstract-utxo": "^1.10.0", + "@bitgo/sdk-core": "^4.1.0", "@bitgo/utxo-lib": "^7.0.0" }, "devDependencies": { - "@bitgo/sdk-api": "^1.9.0", - "@bitgo/sdk-test": "^1.2.5" + "@bitgo/sdk-api": "^1.9.1", + "@bitgo/sdk-test": "^1.2.6" } } diff --git a/modules/sdk-coin-celo/CHANGELOG.md b/modules/sdk-coin-celo/CHANGELOG.md index d5590cd904..ff6c5334f1 100644 --- a/modules/sdk-coin-celo/CHANGELOG.md +++ b/modules/sdk-coin-celo/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.3.6](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-celo@1.3.5...@bitgo/sdk-coin-celo@1.3.6) (2022-12-01) + +**Note:** Version bump only for package @bitgo/sdk-coin-celo + ## [1.3.5](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-celo@1.3.0...@bitgo/sdk-coin-celo@1.3.5) (2022-11-29) ### Bug Fixes diff --git a/modules/sdk-coin-celo/package.json b/modules/sdk-coin-celo/package.json index 30d5f74423..9c41ed238a 100644 --- a/modules/sdk-coin-celo/package.json +++ b/modules/sdk-coin-celo/package.json @@ -1,6 +1,6 @@ { "name": "@bitgo/sdk-coin-celo", - "version": "1.3.5", + "version": "1.3.6", "description": "BitGo SDK coin library for Celo", "main": "./dist/src/index.js", "types": "./dist/src/index.d.ts", @@ -40,10 +40,10 @@ ] }, "dependencies": { - "@bitgo/abstract-eth": "^1.2.5", - "@bitgo/sdk-coin-eth": "^2.7.0", - "@bitgo/sdk-core": "^4.0.0", - "@bitgo/statics": "^12.0.0", + "@bitgo/abstract-eth": "^1.2.6", + "@bitgo/sdk-coin-eth": "^2.7.1", + "@bitgo/sdk-core": "^4.1.0", + "@bitgo/statics": "^12.1.0", "@celo/connect": "^2.0.0", "@celo/contractkit": "^2.0.0", "@celo/wallet-base": "^2.0.0", @@ -55,7 +55,7 @@ "ethers": "^5.1.3" }, "devDependencies": { - "@bitgo/sdk-api": "^1.9.0", - "@bitgo/sdk-test": "^1.2.5" + "@bitgo/sdk-api": "^1.9.1", + "@bitgo/sdk-test": "^1.2.6" } } diff --git a/modules/sdk-coin-cspr/CHANGELOG.md b/modules/sdk-coin-cspr/CHANGELOG.md index eb8d90c1da..e067dfc68c 100644 --- a/modules/sdk-coin-cspr/CHANGELOG.md +++ b/modules/sdk-coin-cspr/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.6](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-cspr@1.2.5...@bitgo/sdk-coin-cspr@1.2.6) (2022-12-01) + +**Note:** Version bump only for package @bitgo/sdk-coin-cspr + ## [1.2.5](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-cspr@1.2.0...@bitgo/sdk-coin-cspr@1.2.5) (2022-11-29) ### Bug Fixes diff --git a/modules/sdk-coin-cspr/package.json b/modules/sdk-coin-cspr/package.json index e64c5311e6..aa2069fdbf 100644 --- a/modules/sdk-coin-cspr/package.json +++ b/modules/sdk-coin-cspr/package.json @@ -1,6 +1,6 @@ { "name": "@bitgo/sdk-coin-cspr", - "version": "1.2.5", + "version": "1.2.6", "description": "BitGo SDK coin library for Casper", "main": "./dist/src/index.js", "types": "./dist/src/index.d.ts", @@ -40,8 +40,8 @@ ] }, "dependencies": { - "@bitgo/sdk-core": "^4.0.0", - "@bitgo/statics": "^12.0.0", + "@bitgo/sdk-core": "^4.1.0", + "@bitgo/statics": "^12.1.0", "@bitgo/utxo-lib": "^7.0.0", "@ethersproject/bignumber": "^5.6.0", "@stablelib/hex": "^1.0.0", @@ -51,8 +51,8 @@ "secp256k1": "4.0.2" }, "devDependencies": { - "@bitgo/sdk-api": "^1.9.0", - "@bitgo/sdk-test": "^1.2.5", + "@bitgo/sdk-api": "^1.9.1", + "@bitgo/sdk-test": "^1.2.6", "tweetnacl": "^1.0.3" } } diff --git a/modules/sdk-coin-dash/CHANGELOG.md b/modules/sdk-coin-dash/CHANGELOG.md index 8e3074a054..0cc45a5d60 100644 --- a/modules/sdk-coin-dash/CHANGELOG.md +++ b/modules/sdk-coin-dash/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.3.6](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-dash@1.3.5...@bitgo/sdk-coin-dash@1.3.6) (2022-12-01) + +**Note:** Version bump only for package @bitgo/sdk-coin-dash + ## [1.3.5](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-dash@1.3.0...@bitgo/sdk-coin-dash@1.3.5) (2022-11-29) **Note:** Version bump only for package @bitgo/sdk-coin-dash diff --git a/modules/sdk-coin-dash/package.json b/modules/sdk-coin-dash/package.json index 75f60ac739..7f14da898a 100644 --- a/modules/sdk-coin-dash/package.json +++ b/modules/sdk-coin-dash/package.json @@ -1,6 +1,6 @@ { "name": "@bitgo/sdk-coin-dash", - "version": "1.3.5", + "version": "1.3.6", "description": "BitGo SDK coin library for Dash", "main": "./dist/src/index.js", "types": "./dist/src/index.d.ts", @@ -40,12 +40,12 @@ ] }, "dependencies": { - "@bitgo/abstract-utxo": "^1.9.0", - "@bitgo/sdk-core": "^4.0.0", + "@bitgo/abstract-utxo": "^1.10.0", + "@bitgo/sdk-core": "^4.1.0", "@bitgo/utxo-lib": "^7.0.0" }, "devDependencies": { - "@bitgo/sdk-api": "^1.9.0", - "@bitgo/sdk-test": "^1.2.5" + "@bitgo/sdk-api": "^1.9.1", + "@bitgo/sdk-test": "^1.2.6" } } diff --git a/modules/sdk-coin-doge/CHANGELOG.md b/modules/sdk-coin-doge/CHANGELOG.md index 647ac65ffd..9a45f64f63 100644 --- a/modules/sdk-coin-doge/CHANGELOG.md +++ b/modules/sdk-coin-doge/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.8.1](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-doge@1.8.0...@bitgo/sdk-coin-doge@1.8.1) (2022-12-01) + +**Note:** Version bump only for package @bitgo/sdk-coin-doge + # [1.8.0](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-doge@1.3.0...@bitgo/sdk-coin-doge@1.8.0) (2022-11-29) ### Bug Fixes diff --git a/modules/sdk-coin-doge/package.json b/modules/sdk-coin-doge/package.json index 05f24b06e0..0ff8355978 100644 --- a/modules/sdk-coin-doge/package.json +++ b/modules/sdk-coin-doge/package.json @@ -1,6 +1,6 @@ { "name": "@bitgo/sdk-coin-doge", - "version": "1.8.0", + "version": "1.8.1", "description": "BitGo SDK coin library for Dogecoin", "main": "./dist/src/index.js", "types": "./dist/src/index.d.ts", @@ -40,12 +40,12 @@ ] }, "dependencies": { - "@bitgo/abstract-utxo": "^1.9.0", - "@bitgo/sdk-core": "^4.0.0", + "@bitgo/abstract-utxo": "^1.10.0", + "@bitgo/sdk-core": "^4.1.0", "@bitgo/utxo-lib": "^7.0.0" }, "devDependencies": { - "@bitgo/sdk-api": "^1.9.0", - "@bitgo/sdk-test": "^1.2.5" + "@bitgo/sdk-api": "^1.9.1", + "@bitgo/sdk-test": "^1.2.6" } } diff --git a/modules/sdk-coin-dot/CHANGELOG.md b/modules/sdk-coin-dot/CHANGELOG.md index c7d7de37b4..c1a4e94b44 100644 --- a/modules/sdk-coin-dot/CHANGELOG.md +++ b/modules/sdk-coin-dot/CHANGELOG.md @@ -3,6 +3,12 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [2.0.1](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-dot@2.0.0...@bitgo/sdk-coin-dot@2.0.1) (2022-12-01) + +### Bug Fixes + +- **sdk-coin-dot:** update DOT transferAll value to zero ([5bb9852](https://github.com/BitGo/BitGoJS/commit/5bb98529179121d075090d7d22f1ebf1c4ee7dec)) + # [2.0.0](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-dot@1.3.0...@bitgo/sdk-coin-dot@2.0.0) (2022-11-29) ### Features diff --git a/modules/sdk-coin-dot/package.json b/modules/sdk-coin-dot/package.json index 7d28e87b22..9b80c64577 100644 --- a/modules/sdk-coin-dot/package.json +++ b/modules/sdk-coin-dot/package.json @@ -1,6 +1,6 @@ { "name": "@bitgo/sdk-coin-dot", - "version": "2.0.0", + "version": "2.0.1", "description": "BitGo SDK coin library for Polkadot", "main": "./dist/src/index.js", "types": "./dist/src/index.d.ts", @@ -40,8 +40,8 @@ ] }, "dependencies": { - "@bitgo/sdk-core": "^4.0.0", - "@bitgo/statics": "^12.0.0", + "@bitgo/sdk-core": "^4.1.0", + "@bitgo/statics": "^12.1.0", "@polkadot/api": "9.3.3", "@polkadot/keyring": "^10.1.8", "@polkadot/types": "9.3.3", @@ -57,8 +57,8 @@ "tweetnacl": "^1.0.3" }, "devDependencies": { - "@bitgo/sdk-api": "^1.9.0", - "@bitgo/sdk-test": "^1.2.5", + "@bitgo/sdk-api": "^1.9.1", + "@bitgo/sdk-test": "^1.2.6", "@types/lodash": "^4.14.151" } } diff --git a/modules/sdk-coin-eos/CHANGELOG.md b/modules/sdk-coin-eos/CHANGELOG.md index 8f4969dac4..6fd26f9c79 100644 --- a/modules/sdk-coin-eos/CHANGELOG.md +++ b/modules/sdk-coin-eos/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.3.6](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-eos@1.3.5...@bitgo/sdk-coin-eos@1.3.6) (2022-12-01) + +**Note:** Version bump only for package @bitgo/sdk-coin-eos + ## [1.3.5](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-eos@1.3.0...@bitgo/sdk-coin-eos@1.3.5) (2022-11-29) **Note:** Version bump only for package @bitgo/sdk-coin-eos diff --git a/modules/sdk-coin-eos/package.json b/modules/sdk-coin-eos/package.json index b079516a5b..1a94e66f95 100644 --- a/modules/sdk-coin-eos/package.json +++ b/modules/sdk-coin-eos/package.json @@ -1,6 +1,6 @@ { "name": "@bitgo/sdk-coin-eos", - "version": "1.3.5", + "version": "1.3.6", "description": "BitGo SDK coin library for Eos", "main": "./dist/src/index.js", "types": "./dist/src/index.d.ts", @@ -40,8 +40,8 @@ ] }, "dependencies": { - "@bitgo/sdk-core": "^4.0.0", - "@bitgo/statics": "^12.0.0", + "@bitgo/sdk-core": "^4.1.0", + "@bitgo/statics": "^12.1.0", "@bitgo/utxo-lib": "^7.0.0", "bignumber.js": "^9.0.2", "eosjs": "^21.0.2", @@ -50,8 +50,8 @@ "superagent": "^3.8.3" }, "devDependencies": { - "@bitgo/sdk-api": "^1.9.0", - "@bitgo/sdk-test": "^1.2.5", + "@bitgo/sdk-api": "^1.9.1", + "@bitgo/sdk-test": "^1.2.6", "@types/lodash": "^4.14.121" } } diff --git a/modules/sdk-coin-etc/CHANGELOG.md b/modules/sdk-coin-etc/CHANGELOG.md index 5a9de751dd..2e58992d42 100644 --- a/modules/sdk-coin-etc/CHANGELOG.md +++ b/modules/sdk-coin-etc/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.6](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-etc@1.2.5...@bitgo/sdk-coin-etc@1.2.6) (2022-12-01) + +**Note:** Version bump only for package @bitgo/sdk-coin-etc + ## [1.2.5](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-etc@1.2.0...@bitgo/sdk-coin-etc@1.2.5) (2022-11-29) **Note:** Version bump only for package @bitgo/sdk-coin-etc diff --git a/modules/sdk-coin-etc/package.json b/modules/sdk-coin-etc/package.json index eac016fe43..d2bc5f4663 100644 --- a/modules/sdk-coin-etc/package.json +++ b/modules/sdk-coin-etc/package.json @@ -1,6 +1,6 @@ { "name": "@bitgo/sdk-coin-etc", - "version": "1.2.5", + "version": "1.2.6", "description": "BitGo SDK coin library for Ethereum classic", "main": "./dist/src/index.js", "types": "./dist/src/index.d.ts", @@ -40,15 +40,15 @@ ] }, "dependencies": { - "@bitgo/abstract-eth": "^1.2.5", - "@bitgo/sdk-coin-eth": "^2.7.0", - "@bitgo/sdk-core": "^4.0.0", - "@bitgo/statics": "^12.0.0", + "@bitgo/abstract-eth": "^1.2.6", + "@bitgo/sdk-coin-eth": "^2.7.1", + "@bitgo/sdk-core": "^4.1.0", + "@bitgo/statics": "^12.1.0", "@ethereumjs/common": "^2.4.0", "ethereumjs-abi": "^0.6.5" }, "devDependencies": { - "@bitgo/sdk-api": "^1.9.0", - "@bitgo/sdk-test": "^1.2.5" + "@bitgo/sdk-api": "^1.9.1", + "@bitgo/sdk-test": "^1.2.6" } } diff --git a/modules/sdk-coin-eth/CHANGELOG.md b/modules/sdk-coin-eth/CHANGELOG.md index 8cd9a6a8d0..57c3eb438f 100644 --- a/modules/sdk-coin-eth/CHANGELOG.md +++ b/modules/sdk-coin-eth/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [2.7.1](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-eth@2.7.0...@bitgo/sdk-coin-eth@2.7.1) (2022-12-01) + +**Note:** Version bump only for package @bitgo/sdk-coin-eth + # [2.7.0](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-eth@2.2.0...@bitgo/sdk-coin-eth@2.7.0) (2022-11-29) ### Bug Fixes diff --git a/modules/sdk-coin-eth/package.json b/modules/sdk-coin-eth/package.json index d6b7c627be..d2c8b36cb7 100644 --- a/modules/sdk-coin-eth/package.json +++ b/modules/sdk-coin-eth/package.json @@ -1,6 +1,6 @@ { "name": "@bitgo/sdk-coin-eth", - "version": "2.7.0", + "version": "2.7.1", "description": "BitGo SDK coin library for Ethereum", "main": "./dist/src/index.js", "types": "./dist/src/index.d.ts", @@ -40,8 +40,8 @@ ] }, "dependencies": { - "@bitgo/sdk-core": "^4.0.0", - "@bitgo/statics": "^12.0.0", + "@bitgo/sdk-core": "^4.1.0", + "@bitgo/statics": "^12.1.0", "@bitgo/utxo-lib": "^7.0.0", "@ethereumjs/common": "^2.4.0", "@ethereumjs/tx": "^3.3.0", @@ -57,8 +57,8 @@ "superagent": "^3.8.3" }, "devDependencies": { - "@bitgo/sdk-api": "^1.9.0", - "@bitgo/sdk-test": "^1.2.5", + "@bitgo/sdk-api": "^1.9.1", + "@bitgo/sdk-test": "^1.2.6", "tweetnacl": "^1.0.3" } } diff --git a/modules/sdk-coin-eth2/CHANGELOG.md b/modules/sdk-coin-eth2/CHANGELOG.md index 97957d8f8b..bd7053fa83 100644 --- a/modules/sdk-coin-eth2/CHANGELOG.md +++ b/modules/sdk-coin-eth2/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.6](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-eth2@1.2.5...@bitgo/sdk-coin-eth2@1.2.6) (2022-12-01) + +**Note:** Version bump only for package @bitgo/sdk-coin-eth2 + ## [1.2.5](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-eth2@1.2.0...@bitgo/sdk-coin-eth2@1.2.5) (2022-11-29) **Note:** Version bump only for package @bitgo/sdk-coin-eth2 diff --git a/modules/sdk-coin-eth2/package.json b/modules/sdk-coin-eth2/package.json index 81f3f3bde0..026b217802 100644 --- a/modules/sdk-coin-eth2/package.json +++ b/modules/sdk-coin-eth2/package.json @@ -1,6 +1,6 @@ { "name": "@bitgo/sdk-coin-eth2", - "version": "1.2.5", + "version": "1.2.6", "description": "BitGo SDK coin library for Eth2", "main": "./dist/src/index.js", "types": "./dist/src/index.d.ts", @@ -40,14 +40,14 @@ ] }, "dependencies": { - "@bitgo/sdk-core": "^4.0.0", + "@bitgo/sdk-core": "^4.1.0", "bignumber.js": "^8.0.1", "ethereumjs-util": "7.1.5", "lodash": "^4.17.14", "superagent": "^3.8.3" }, "devDependencies": { - "@bitgo/sdk-api": "^1.9.0", - "@bitgo/sdk-test": "^1.2.5" + "@bitgo/sdk-api": "^1.9.1", + "@bitgo/sdk-test": "^1.2.6" } } diff --git a/modules/sdk-coin-ethw/CHANGELOG.md b/modules/sdk-coin-ethw/CHANGELOG.md index 3bc01b9211..c088a5121c 100644 --- a/modules/sdk-coin-ethw/CHANGELOG.md +++ b/modules/sdk-coin-ethw/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.3.6](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-ethw@1.3.5...@bitgo/sdk-coin-ethw@1.3.6) (2022-12-01) + +**Note:** Version bump only for package @bitgo/sdk-coin-ethw + ## [1.3.5](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-ethw@1.3.0...@bitgo/sdk-coin-ethw@1.3.5) (2022-11-29) **Note:** Version bump only for package @bitgo/sdk-coin-ethw diff --git a/modules/sdk-coin-ethw/package.json b/modules/sdk-coin-ethw/package.json index 2863aa2585..fd9efb53cf 100644 --- a/modules/sdk-coin-ethw/package.json +++ b/modules/sdk-coin-ethw/package.json @@ -1,6 +1,6 @@ { "name": "@bitgo/sdk-coin-ethw", - "version": "1.3.5", + "version": "1.3.6", "description": "BitGo SDK coin library for Ethereum pow", "main": "./dist/src/index.js", "types": "./dist/src/index.d.ts", @@ -40,16 +40,16 @@ ] }, "dependencies": { - "@bitgo/abstract-eth": "^1.2.5", - "@bitgo/sdk-coin-eth": "^2.7.0", - "@bitgo/sdk-core": "^4.0.0", - "@bitgo/statics": "^12.0.0", + "@bitgo/abstract-eth": "^1.2.6", + "@bitgo/sdk-coin-eth": "^2.7.1", + "@bitgo/sdk-core": "^4.1.0", + "@bitgo/statics": "^12.1.0", "bignumber.js": "^9.0.0", "ethereumjs-util": "7.1.5", "superagent": "^3.8.3" }, "devDependencies": { - "@bitgo/sdk-api": "^1.9.0", - "@bitgo/sdk-test": "^1.2.5" + "@bitgo/sdk-api": "^1.9.1", + "@bitgo/sdk-test": "^1.2.6" } } diff --git a/modules/sdk-coin-hbar/CHANGELOG.md b/modules/sdk-coin-hbar/CHANGELOG.md index 6e1d6e5fc3..fe1be75cd2 100644 --- a/modules/sdk-coin-hbar/CHANGELOG.md +++ b/modules/sdk-coin-hbar/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.3.6](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-hbar@1.3.5...@bitgo/sdk-coin-hbar@1.3.6) (2022-12-01) + +**Note:** Version bump only for package @bitgo/sdk-coin-hbar + ## [1.3.5](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-hbar@1.3.0...@bitgo/sdk-coin-hbar@1.3.5) (2022-11-29) **Note:** Version bump only for package @bitgo/sdk-coin-hbar diff --git a/modules/sdk-coin-hbar/package.json b/modules/sdk-coin-hbar/package.json index 109eab6325..37fb3426ce 100644 --- a/modules/sdk-coin-hbar/package.json +++ b/modules/sdk-coin-hbar/package.json @@ -1,6 +1,6 @@ { "name": "@bitgo/sdk-coin-hbar", - "version": "1.3.5", + "version": "1.3.6", "description": "BitGo SDK coin library for Hbar", "main": "./dist/src/index.js", "types": "./dist/src/index.d.ts", @@ -40,9 +40,9 @@ ] }, "dependencies": { - "@bitgo/sdk-coin-algo": "^1.3.5", - "@bitgo/sdk-core": "^4.0.0", - "@bitgo/statics": "^12.0.0", + "@bitgo/sdk-coin-algo": "^1.3.6", + "@bitgo/sdk-core": "^4.1.0", + "@bitgo/statics": "^12.1.0", "@hashgraph/proto": "2.0.1-beta.2", "@hashgraph/sdk": "~2.3.0", "@stablelib/sha384": "^1.0.0", @@ -54,7 +54,7 @@ "tweetnacl": "^1.0.3" }, "devDependencies": { - "@bitgo/sdk-api": "^1.9.0", - "@bitgo/sdk-test": "^1.2.5" + "@bitgo/sdk-api": "^1.9.1", + "@bitgo/sdk-test": "^1.2.6" } } diff --git a/modules/sdk-coin-ltc/CHANGELOG.md b/modules/sdk-coin-ltc/CHANGELOG.md index 78b3830bb0..16fc0f2708 100644 --- a/modules/sdk-coin-ltc/CHANGELOG.md +++ b/modules/sdk-coin-ltc/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [2.0.1](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-ltc@2.0.0...@bitgo/sdk-coin-ltc@2.0.1) (2022-12-01) + +**Note:** Version bump only for package @bitgo/sdk-coin-ltc + # [2.0.0](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-ltc@1.3.0...@bitgo/sdk-coin-ltc@2.0.0) (2022-11-29) ### Features diff --git a/modules/sdk-coin-ltc/package.json b/modules/sdk-coin-ltc/package.json index 2c0c193479..c305162aac 100644 --- a/modules/sdk-coin-ltc/package.json +++ b/modules/sdk-coin-ltc/package.json @@ -1,6 +1,6 @@ { "name": "@bitgo/sdk-coin-ltc", - "version": "2.0.0", + "version": "2.0.1", "description": "BitGo SDK coin library for Litecoin", "main": "./dist/src/index.js", "types": "./dist/src/index.d.ts", @@ -40,12 +40,12 @@ ] }, "dependencies": { - "@bitgo/abstract-utxo": "^1.9.0", - "@bitgo/sdk-core": "^4.0.0", + "@bitgo/abstract-utxo": "^1.10.0", + "@bitgo/sdk-core": "^4.1.0", "@bitgo/utxo-lib": "^7.0.0" }, "devDependencies": { - "@bitgo/sdk-api": "^1.9.0", - "@bitgo/sdk-test": "^1.2.5" + "@bitgo/sdk-api": "^1.9.1", + "@bitgo/sdk-test": "^1.2.6" } } diff --git a/modules/sdk-coin-near/CHANGELOG.md b/modules/sdk-coin-near/CHANGELOG.md index 6007a2e002..d99c5a3108 100644 --- a/modules/sdk-coin-near/CHANGELOG.md +++ b/modules/sdk-coin-near/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.3.6](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-near@1.3.5...@bitgo/sdk-coin-near@1.3.6) (2022-12-01) + +**Note:** Version bump only for package @bitgo/sdk-coin-near + ## [1.3.5](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-near@1.3.0...@bitgo/sdk-coin-near@1.3.5) (2022-11-29) ### Bug Fixes diff --git a/modules/sdk-coin-near/package.json b/modules/sdk-coin-near/package.json index eb6bd0b7f7..d432dbd628 100644 --- a/modules/sdk-coin-near/package.json +++ b/modules/sdk-coin-near/package.json @@ -1,6 +1,6 @@ { "name": "@bitgo/sdk-coin-near", - "version": "1.3.5", + "version": "1.3.6", "description": "BitGo SDK coin library for Near", "main": "./dist/src/index.js", "types": "./dist/src/index.d.ts", @@ -40,8 +40,8 @@ ] }, "dependencies": { - "@bitgo/sdk-core": "^4.0.0", - "@bitgo/statics": "^12.0.0", + "@bitgo/sdk-core": "^4.1.0", + "@bitgo/statics": "^12.1.0", "@stablelib/hex": "^1.0.0", "bignumber.js": "^9.0.0", "bn.js": "^5.2.1", @@ -53,8 +53,8 @@ "tweetnacl": "^1.0.3" }, "devDependencies": { - "@bitgo/sdk-api": "^1.9.0", - "@bitgo/sdk-test": "^1.2.5", + "@bitgo/sdk-api": "^1.9.1", + "@bitgo/sdk-test": "^1.2.6", "@types/lodash": "^4.14.121" } } diff --git a/modules/sdk-coin-polygon/CHANGELOG.md b/modules/sdk-coin-polygon/CHANGELOG.md index b95f180739..a9d127e9fc 100644 --- a/modules/sdk-coin-polygon/CHANGELOG.md +++ b/modules/sdk-coin-polygon/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.3.6](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-polygon@1.3.5...@bitgo/sdk-coin-polygon@1.3.6) (2022-12-01) + +**Note:** Version bump only for package @bitgo/sdk-coin-polygon + ## [1.3.5](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-polygon@1.3.0...@bitgo/sdk-coin-polygon@1.3.5) (2022-11-29) ### Bug Fixes diff --git a/modules/sdk-coin-polygon/package.json b/modules/sdk-coin-polygon/package.json index 9a88ecf48f..2b0a98364e 100644 --- a/modules/sdk-coin-polygon/package.json +++ b/modules/sdk-coin-polygon/package.json @@ -1,6 +1,6 @@ { "name": "@bitgo/sdk-coin-polygon", - "version": "1.3.5", + "version": "1.3.6", "description": "BitGo SDK coin library for Polygon", "main": "./dist/src/index.js", "types": "./dist/src/index.d.ts", @@ -40,10 +40,10 @@ ] }, "dependencies": { - "@bitgo/abstract-eth": "^1.2.5", - "@bitgo/sdk-coin-eth": "^2.7.0", - "@bitgo/sdk-core": "^4.0.0", - "@bitgo/statics": "^12.0.0", + "@bitgo/abstract-eth": "^1.2.6", + "@bitgo/sdk-coin-eth": "^2.7.1", + "@bitgo/sdk-core": "^4.1.0", + "@bitgo/statics": "^12.1.0", "@bitgo/utxo-lib": "^7.0.0", "@ethereumjs/common": "^2.4.0", "@ethereumjs/tx": "^3.3.0", @@ -53,8 +53,8 @@ "superagent": "^3.8.3" }, "devDependencies": { - "@bitgo/sdk-api": "^1.9.0", - "@bitgo/sdk-test": "^1.2.5", + "@bitgo/sdk-api": "^1.9.1", + "@bitgo/sdk-test": "^1.2.6", "secp256k1": "^4.0.2" } } diff --git a/modules/sdk-coin-rbtc/CHANGELOG.md b/modules/sdk-coin-rbtc/CHANGELOG.md index b657f387db..95b24d19f6 100644 --- a/modules/sdk-coin-rbtc/CHANGELOG.md +++ b/modules/sdk-coin-rbtc/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.3.6](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-rbtc@1.3.5...@bitgo/sdk-coin-rbtc@1.3.6) (2022-12-01) + +**Note:** Version bump only for package @bitgo/sdk-coin-rbtc + ## [1.3.5](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-rbtc@1.3.0...@bitgo/sdk-coin-rbtc@1.3.5) (2022-11-29) **Note:** Version bump only for package @bitgo/sdk-coin-rbtc diff --git a/modules/sdk-coin-rbtc/package.json b/modules/sdk-coin-rbtc/package.json index afd91ebf42..2cc0e4e423 100644 --- a/modules/sdk-coin-rbtc/package.json +++ b/modules/sdk-coin-rbtc/package.json @@ -1,6 +1,6 @@ { "name": "@bitgo/sdk-coin-rbtc", - "version": "1.3.5", + "version": "1.3.6", "description": "BitGo SDK coin library for Rootstock rsk", "main": "./dist/src/index.js", "types": "./dist/src/index.d.ts", @@ -40,16 +40,16 @@ ] }, "dependencies": { - "@bitgo/abstract-eth": "^1.2.5", - "@bitgo/sdk-coin-eth": "^2.7.0", - "@bitgo/sdk-core": "^4.0.0", - "@bitgo/statics": "^12.0.0", + "@bitgo/abstract-eth": "^1.2.6", + "@bitgo/sdk-coin-eth": "^2.7.1", + "@bitgo/sdk-core": "^4.1.0", + "@bitgo/statics": "^12.1.0", "@ethereumjs/common": "^2.4.0", "ethereumjs-abi": "^0.6.5", "ethereumjs-util": "7.1.5" }, "devDependencies": { - "@bitgo/sdk-api": "^1.9.0", - "@bitgo/sdk-test": "^1.2.5" + "@bitgo/sdk-api": "^1.9.1", + "@bitgo/sdk-test": "^1.2.6" } } diff --git a/modules/sdk-coin-sol/CHANGELOG.md b/modules/sdk-coin-sol/CHANGELOG.md index fbe637825f..f1e6307b3c 100644 --- a/modules/sdk-coin-sol/CHANGELOG.md +++ b/modules/sdk-coin-sol/CHANGELOG.md @@ -3,6 +3,13 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [2.3.0](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-sol@2.2.5...@bitgo/sdk-coin-sol@2.3.0) (2022-12-01) + +### Features + +- **bitgo:** add api version input ([42f353f](https://github.com/BitGo/BitGoJS/commit/42f353f0b33857963d66739d34b0d0cac85e82db)) +- **sdk-coin-sol:** add support for partially unstaking ([bc9680b](https://github.com/BitGo/BitGoJS/commit/bc9680b819045b89b0e8e833e3a8d90bdc302497)) + ## [2.2.5](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-sol@2.2.0...@bitgo/sdk-coin-sol@2.2.5) (2022-11-29) **Note:** Version bump only for package @bitgo/sdk-coin-sol diff --git a/modules/sdk-coin-sol/package.json b/modules/sdk-coin-sol/package.json index 7ab4b41594..630b1fdeb7 100644 --- a/modules/sdk-coin-sol/package.json +++ b/modules/sdk-coin-sol/package.json @@ -1,6 +1,6 @@ { "name": "@bitgo/sdk-coin-sol", - "version": "2.2.5", + "version": "2.3.0", "description": "BitGo SDK coin library for Sol", "main": "./dist/src/index.js", "types": "./dist/src/index.d.ts", @@ -40,8 +40,8 @@ ] }, "dependencies": { - "@bitgo/sdk-core": "^4.0.0", - "@bitgo/statics": "^12.0.0", + "@bitgo/sdk-core": "^4.1.0", + "@bitgo/statics": "^12.1.0", "@solana/spl-token": "0.3.1", "@solana/web3.js": "1.56.0", "bignumber.js": "^9.0.0", @@ -51,8 +51,8 @@ "tweetnacl": "^1.0.3" }, "devDependencies": { - "@bitgo/sdk-api": "^1.9.0", - "@bitgo/sdk-test": "^1.2.5", + "@bitgo/sdk-api": "^1.9.1", + "@bitgo/sdk-test": "^1.2.6", "@types/lodash": "^4.14.121" } } diff --git a/modules/sdk-coin-stx/CHANGELOG.md b/modules/sdk-coin-stx/CHANGELOG.md index c522fd03ee..ff8aabaf2d 100644 --- a/modules/sdk-coin-stx/CHANGELOG.md +++ b/modules/sdk-coin-stx/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.4.6](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-stx@1.4.5...@bitgo/sdk-coin-stx@1.4.6) (2022-12-01) + +**Note:** Version bump only for package @bitgo/sdk-coin-stx + ## [1.4.5](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-stx@1.4.0...@bitgo/sdk-coin-stx@1.4.5) (2022-11-29) **Note:** Version bump only for package @bitgo/sdk-coin-stx diff --git a/modules/sdk-coin-stx/package.json b/modules/sdk-coin-stx/package.json index 5c1d7fae9a..1468274fec 100644 --- a/modules/sdk-coin-stx/package.json +++ b/modules/sdk-coin-stx/package.json @@ -1,6 +1,6 @@ { "name": "@bitgo/sdk-coin-stx", - "version": "1.4.5", + "version": "1.4.6", "description": "BitGo SDK coin library for Stacks", "main": "./dist/src/index.js", "types": "./dist/src/index.d.ts", @@ -40,8 +40,8 @@ ] }, "dependencies": { - "@bitgo/sdk-core": "^4.0.0", - "@bitgo/statics": "^12.0.0", + "@bitgo/sdk-core": "^4.1.0", + "@bitgo/statics": "^12.1.0", "@bitgo/utxo-lib": "^7.0.0", "@stacks/network": "^4.3.0", "@stacks/transactions": "2.0.1", @@ -52,8 +52,8 @@ "lodash": "^4.17.15" }, "devDependencies": { - "@bitgo/sdk-api": "^1.9.0", - "@bitgo/sdk-test": "^1.2.5", + "@bitgo/sdk-api": "^1.9.1", + "@bitgo/sdk-test": "^1.2.6", "@types/elliptic": "^6.4.12" } } diff --git a/modules/sdk-coin-sui/CHANGELOG.md b/modules/sdk-coin-sui/CHANGELOG.md index 110c18158c..6e9d8216bd 100644 --- a/modules/sdk-coin-sui/CHANGELOG.md +++ b/modules/sdk-coin-sui/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.6.1](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-sui@1.6.0...@bitgo/sdk-coin-sui@1.6.1) (2022-12-01) + +**Note:** Version bump only for package @bitgo/sdk-coin-sui + # [1.6.0](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-sui@1.2.0...@bitgo/sdk-coin-sui@1.6.0) (2022-11-29) ### Bug Fixes diff --git a/modules/sdk-coin-sui/package.json b/modules/sdk-coin-sui/package.json index 7c7d591e10..397664dd18 100644 --- a/modules/sdk-coin-sui/package.json +++ b/modules/sdk-coin-sui/package.json @@ -1,6 +1,6 @@ { "name": "@bitgo/sdk-coin-sui", - "version": "1.6.0", + "version": "1.6.1", "description": "BitGo SDK coin library for Sui", "main": "./dist/src/index.js", "types": "./dist/src/index.d.ts", @@ -40,8 +40,8 @@ ] }, "dependencies": { - "@bitgo/sdk-core": "^4.0.0", - "@bitgo/statics": "^12.0.0", + "@bitgo/sdk-core": "^4.1.0", + "@bitgo/statics": "^12.1.0", "@mysten/bcs": "^0.4.0", "bignumber.js": "^9.0.0", "bs58": "^4.0.1", @@ -49,8 +49,8 @@ "lodash": "^4.17.21" }, "devDependencies": { - "@bitgo/sdk-api": "^1.9.0", - "@bitgo/sdk-test": "^1.2.5", + "@bitgo/sdk-api": "^1.9.1", + "@bitgo/sdk-test": "^1.2.6", "@types/lodash": "^4.14.183" } } diff --git a/modules/sdk-coin-trx/CHANGELOG.md b/modules/sdk-coin-trx/CHANGELOG.md index 6faedc1f3f..9cfa57f6f0 100644 --- a/modules/sdk-coin-trx/CHANGELOG.md +++ b/modules/sdk-coin-trx/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.3.1](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-trx@1.3.0...@bitgo/sdk-coin-trx@1.3.1) (2022-12-01) + +**Note:** Version bump only for package @bitgo/sdk-coin-trx + # [1.3.0](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-trx@1.2.0...@bitgo/sdk-coin-trx@1.3.0) (2022-11-29) ### Features diff --git a/modules/sdk-coin-trx/package.json b/modules/sdk-coin-trx/package.json index 8feaa8ebc1..2ae63eaace 100644 --- a/modules/sdk-coin-trx/package.json +++ b/modules/sdk-coin-trx/package.json @@ -1,6 +1,6 @@ { "name": "@bitgo/sdk-coin-trx", - "version": "1.3.0", + "version": "1.3.1", "description": "BitGo SDK coin library for Tron", "main": "./dist/src/index.js", "types": "./dist/src/index.d.ts", @@ -46,8 +46,8 @@ ] }, "dependencies": { - "@bitgo/sdk-core": "^4.0.0", - "@bitgo/statics": "^12.0.0", + "@bitgo/sdk-core": "^4.1.0", + "@bitgo/statics": "^12.1.0", "@bitgo/utxo-lib": "^7.0.0", "@stablelib/hex": "^1.0.0", "bignumber.js": "^9.0.0", @@ -58,7 +58,7 @@ "tronweb": "^3.2.6" }, "devDependencies": { - "@bitgo/sdk-api": "^1.9.0", - "@bitgo/sdk-test": "^1.2.5" + "@bitgo/sdk-api": "^1.9.1", + "@bitgo/sdk-test": "^1.2.6" } } diff --git a/modules/sdk-coin-xlm/CHANGELOG.md b/modules/sdk-coin-xlm/CHANGELOG.md index 9c3f1414da..a2343b5bad 100644 --- a/modules/sdk-coin-xlm/CHANGELOG.md +++ b/modules/sdk-coin-xlm/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.6](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-xlm@1.2.5...@bitgo/sdk-coin-xlm@1.2.6) (2022-12-01) + +**Note:** Version bump only for package @bitgo/sdk-coin-xlm + ## [1.2.5](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-xlm@1.2.0...@bitgo/sdk-coin-xlm@1.2.5) (2022-11-29) **Note:** Version bump only for package @bitgo/sdk-coin-xlm diff --git a/modules/sdk-coin-xlm/package.json b/modules/sdk-coin-xlm/package.json index 46a6d1d53d..cd34d000e3 100644 --- a/modules/sdk-coin-xlm/package.json +++ b/modules/sdk-coin-xlm/package.json @@ -1,6 +1,6 @@ { "name": "@bitgo/sdk-coin-xlm", - "version": "1.2.5", + "version": "1.2.6", "description": "BitGo SDK coin library for Xlm", "main": "./dist/src/index.js", "types": "./dist/src/index.d.ts", @@ -40,8 +40,8 @@ ] }, "dependencies": { - "@bitgo/sdk-core": "^4.0.0", - "@bitgo/statics": "^12.0.0", + "@bitgo/sdk-core": "^4.1.0", + "@bitgo/statics": "^12.1.0", "@bitgo/utxo-lib": "^7.0.0", "bignumber.js": "^8.0.1", "lodash": "^4.17.14", @@ -49,7 +49,7 @@ "superagent": "^3.8.3" }, "devDependencies": { - "@bitgo/sdk-api": "^1.9.0", - "@bitgo/sdk-test": "^1.2.5" + "@bitgo/sdk-api": "^1.9.1", + "@bitgo/sdk-test": "^1.2.6" } } diff --git a/modules/sdk-coin-xrp/CHANGELOG.md b/modules/sdk-coin-xrp/CHANGELOG.md index 4d0b6224a4..aafe5da3c0 100644 --- a/modules/sdk-coin-xrp/CHANGELOG.md +++ b/modules/sdk-coin-xrp/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.3.6](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-xrp@1.3.5...@bitgo/sdk-coin-xrp@1.3.6) (2022-12-01) + +**Note:** Version bump only for package @bitgo/sdk-coin-xrp + ## [1.3.5](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-xrp@1.3.0...@bitgo/sdk-coin-xrp@1.3.5) (2022-11-29) **Note:** Version bump only for package @bitgo/sdk-coin-xrp diff --git a/modules/sdk-coin-xrp/package.json b/modules/sdk-coin-xrp/package.json index a0d7ceeaa2..5ad580699e 100644 --- a/modules/sdk-coin-xrp/package.json +++ b/modules/sdk-coin-xrp/package.json @@ -1,6 +1,6 @@ { "name": "@bitgo/sdk-coin-xrp", - "version": "1.3.5", + "version": "1.3.6", "description": "BitGo SDK coin library for Ripple", "main": "./dist/src/index.js", "types": "./dist/src/index.d.ts", @@ -40,7 +40,7 @@ ] }, "dependencies": { - "@bitgo/sdk-core": "^4.0.0", + "@bitgo/sdk-core": "^4.1.0", "@bitgo/utxo-lib": "^7.0.0", "bignumber.js": "^9.0.0", "lodash": "^4.17.14", @@ -50,7 +50,7 @@ "ripple-lib": "~1.4.1" }, "devDependencies": { - "@bitgo/sdk-api": "^1.9.0", - "@bitgo/sdk-test": "^1.2.5" + "@bitgo/sdk-api": "^1.9.1", + "@bitgo/sdk-test": "^1.2.6" } } diff --git a/modules/sdk-coin-xtz/CHANGELOG.md b/modules/sdk-coin-xtz/CHANGELOG.md index b253a2bad2..64e7649f06 100644 --- a/modules/sdk-coin-xtz/CHANGELOG.md +++ b/modules/sdk-coin-xtz/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.4.6](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-xtz@1.4.5...@bitgo/sdk-coin-xtz@1.4.6) (2022-12-01) + +**Note:** Version bump only for package @bitgo/sdk-coin-xtz + ## [1.4.5](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-xtz@1.4.0...@bitgo/sdk-coin-xtz@1.4.5) (2022-11-29) **Note:** Version bump only for package @bitgo/sdk-coin-xtz diff --git a/modules/sdk-coin-xtz/package.json b/modules/sdk-coin-xtz/package.json index 7f49390ad0..1a7166d607 100644 --- a/modules/sdk-coin-xtz/package.json +++ b/modules/sdk-coin-xtz/package.json @@ -1,6 +1,6 @@ { "name": "@bitgo/sdk-coin-xtz", - "version": "1.4.5", + "version": "1.4.6", "description": "BitGo SDK coin library for Tezos", "main": "./dist/src/index.js", "types": "./dist/src/index.d.ts", @@ -41,8 +41,8 @@ }, "dependencies": { "@bitgo/blake2b": "^3.2.1", - "@bitgo/sdk-core": "^4.0.0", - "@bitgo/statics": "^12.0.0", + "@bitgo/sdk-core": "^4.1.0", + "@bitgo/statics": "^12.1.0", "@bitgo/utxo-lib": "^7.0.0", "@taquito/local-forging": "6.3.5-beta.0", "@taquito/signer": "6.3.5-beta.0", @@ -53,7 +53,7 @@ "lodash": "^4.17.15" }, "devDependencies": { - "@bitgo/sdk-api": "^1.9.0", - "@bitgo/sdk-test": "^1.2.5" + "@bitgo/sdk-api": "^1.9.1", + "@bitgo/sdk-test": "^1.2.6" } } diff --git a/modules/sdk-coin-zec/CHANGELOG.md b/modules/sdk-coin-zec/CHANGELOG.md index c8bba63643..129720070d 100644 --- a/modules/sdk-coin-zec/CHANGELOG.md +++ b/modules/sdk-coin-zec/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.3.6](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-zec@1.3.5...@bitgo/sdk-coin-zec@1.3.6) (2022-12-01) + +**Note:** Version bump only for package @bitgo/sdk-coin-zec + ## [1.3.5](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-zec@1.3.0...@bitgo/sdk-coin-zec@1.3.5) (2022-11-29) **Note:** Version bump only for package @bitgo/sdk-coin-zec diff --git a/modules/sdk-coin-zec/package.json b/modules/sdk-coin-zec/package.json index 3e07f61c62..c6e1637f7f 100644 --- a/modules/sdk-coin-zec/package.json +++ b/modules/sdk-coin-zec/package.json @@ -1,6 +1,6 @@ { "name": "@bitgo/sdk-coin-zec", - "version": "1.3.5", + "version": "1.3.6", "description": "BitGo SDK coin library for Zcash", "main": "./dist/src/index.js", "types": "./dist/src/index.d.ts", @@ -40,12 +40,12 @@ ] }, "dependencies": { - "@bitgo/abstract-utxo": "^1.9.0", - "@bitgo/sdk-core": "^4.0.0", + "@bitgo/abstract-utxo": "^1.10.0", + "@bitgo/sdk-core": "^4.1.0", "@bitgo/utxo-lib": "^7.0.0" }, "devDependencies": { - "@bitgo/sdk-api": "^1.9.0", - "@bitgo/sdk-test": "^1.2.5" + "@bitgo/sdk-api": "^1.9.1", + "@bitgo/sdk-test": "^1.2.6" } } diff --git a/modules/sdk-core/CHANGELOG.md b/modules/sdk-core/CHANGELOG.md index 6d497c60b4..8659400df9 100644 --- a/modules/sdk-core/CHANGELOG.md +++ b/modules/sdk-core/CHANGELOG.md @@ -3,6 +3,19 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [4.1.0](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-core@4.0.0...@bitgo/sdk-core@4.1.0) (2022-12-01) + +### Bug Fixes + +- **sdk-core:** fix tss signing ([79882b1](https://github.com/BitGo/BitGoJS/commit/79882b1b3a2f722877aaa1def76aba10776717aa)) +- **sdk-core:** whitelist source and destination chain params ([5724d22](https://github.com/BitGo/BitGoJS/commit/5724d22130ebacf65e1545cab18ee602e1dff231)) +- update ofc coin for ibasecoin changes ([65986c6](https://github.com/BitGo/BitGoJS/commit/65986c6405e2771b6c7c85dd8b62bf99d6cd8c41)) + +### Features + +- **bitgo:** add api version input ([42f353f](https://github.com/BitGo/BitGoJS/commit/42f353f0b33857963d66739d34b0d0cac85e82db)) +- **sdk-core:** add keyDerive to ECDSA TSS implementation ([9ff1d89](https://github.com/BitGo/BitGoJS/commit/9ff1d89ba0e42d53640f0fe7b71c53d1a2eb4a10)) + # [4.0.0](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-core@2.2.0...@bitgo/sdk-core@4.0.0) (2022-11-29) ### Bug Fixes diff --git a/modules/sdk-core/package.json b/modules/sdk-core/package.json index 271ad496db..2bd597da6a 100644 --- a/modules/sdk-core/package.json +++ b/modules/sdk-core/package.json @@ -1,6 +1,6 @@ { "name": "@bitgo/sdk-core", - "version": "4.0.0", + "version": "4.1.0", "description": "core library functions for BitGoJS", "main": "./dist/src/index.js", "types": "./dist/src/index.d.ts", @@ -37,7 +37,7 @@ }, "dependencies": { "@bitgo/bls-dkg": "^1.3.0", - "@bitgo/statics": "^12.0.0", + "@bitgo/statics": "^12.1.0", "@bitgo/utxo-lib": "^7.0.0", "@noble/secp256k1": "1.6.3", "@stablelib/hex": "^1.0.0", diff --git a/modules/sdk-test/CHANGELOG.md b/modules/sdk-test/CHANGELOG.md index 541934c0aa..7bf9e5b388 100644 --- a/modules/sdk-test/CHANGELOG.md +++ b/modules/sdk-test/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.6](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-test@1.2.5...@bitgo/sdk-test@1.2.6) (2022-12-01) + +**Note:** Version bump only for package @bitgo/sdk-test + ## [1.2.5](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-test@1.2.0...@bitgo/sdk-test@1.2.5) (2022-11-29) **Note:** Version bump only for package @bitgo/sdk-test diff --git a/modules/sdk-test/package.json b/modules/sdk-test/package.json index 2938d6312b..d461a3e534 100644 --- a/modules/sdk-test/package.json +++ b/modules/sdk-test/package.json @@ -1,6 +1,6 @@ { "name": "@bitgo/sdk-test", - "version": "1.2.5", + "version": "1.2.6", "private": "true", "description": "coin test libary for BitGoJS", "main": "./dist/src/index.js", @@ -27,8 +27,8 @@ ] }, "dependencies": { - "@bitgo/sdk-api": "^1.9.0", - "@bitgo/sdk-core": "^4.0.0", + "@bitgo/sdk-api": "^1.9.1", + "@bitgo/sdk-core": "^4.1.0", "bignumber.js": "^8.0.1", "should-http": "^0.1.1" } diff --git a/modules/statics/CHANGELOG.md b/modules/statics/CHANGELOG.md index cbaf4105a6..3e226a94d3 100644 --- a/modules/statics/CHANGELOG.md +++ b/modules/statics/CHANGELOG.md @@ -3,6 +3,12 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [12.1.0](https://github.com/BitGo/BitGoJS/compare/@bitgo/statics@12.0.0...@bitgo/statics@12.1.0) (2022-12-01) + +### Features + +- **statics:** add TSS feature flag to ETH ([9226ca9](https://github.com/BitGo/BitGoJS/commit/9226ca9ebf23b2171bffaf05b5090d8189110d56)) + # [12.0.0](https://github.com/BitGo/BitGoJS/compare/@bitgo/statics@8.2.0...@bitgo/statics@12.0.0) (2022-11-29) ### Bug Fixes diff --git a/modules/statics/package.json b/modules/statics/package.json index 5246e2b777..dcacce1a8a 100644 --- a/modules/statics/package.json +++ b/modules/statics/package.json @@ -1,6 +1,6 @@ { "name": "@bitgo/statics", - "version": "12.0.0", + "version": "12.1.0", "description": "dependency-free static configuration for the bitgo platform", "main": "./dist/src/index.js", "types": "./dist/src/index.d.ts", diff --git a/modules/utxo-bin/CHANGELOG.md b/modules/utxo-bin/CHANGELOG.md index 9407aac7e0..e97ca78741 100644 --- a/modules/utxo-bin/CHANGELOG.md +++ b/modules/utxo-bin/CHANGELOG.md @@ -3,6 +3,12 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [2.6.0](https://github.com/BitGo/BitGoJS/compare/@bitgo/utxo-bin@2.5.0...@bitgo/utxo-bin@2.6.0) (2022-12-01) + +### Features + +- **utxo-bin:** show parseAddress info for bech32(m), cashaddress ([a485d7d](https://github.com/BitGo/BitGoJS/commit/a485d7d983d8eeba2b4ff083fd8f633ee065008d)) + # [2.5.0](https://github.com/BitGo/BitGoJS/compare/@bitgo/utxo-bin@2.3.0...@bitgo/utxo-bin@2.5.0) (2022-11-29) ### Bug Fixes diff --git a/modules/utxo-bin/package.json b/modules/utxo-bin/package.json index bda8399084..e4c14e2dcc 100644 --- a/modules/utxo-bin/package.json +++ b/modules/utxo-bin/package.json @@ -1,7 +1,7 @@ { "name": "@bitgo/utxo-bin", "description": "Command-line utility for BitGo UTXO transactions", - "version": "2.5.0", + "version": "2.6.0", "files": [ "dist/**/*" ], @@ -27,7 +27,7 @@ "bin": "./dist/bin/index.js", "dependencies": { "@bitgo/blockapis": "^1.3.5", - "@bitgo/statics": "^12.0.0", + "@bitgo/statics": "^12.1.0", "@bitgo/utxo-lib": "^7.0.0", "archy": "^1.0.0", "bech32": "^2.0.0", diff --git a/modules/web-demo/CHANGELOG.md b/modules/web-demo/CHANGELOG.md index 83321e8118..54fc1d898c 100644 --- a/modules/web-demo/CHANGELOG.md +++ b/modules/web-demo/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.3.6](https://github.com/BitGo/BitGoJS/compare/@bitgo/web-demo@1.3.5...@bitgo/web-demo@1.3.6) (2022-12-01) + +**Note:** Version bump only for package @bitgo/web-demo + ## [1.3.5](https://github.com/BitGo/BitGoJS/compare/@bitgo/web-demo@1.3.0...@bitgo/web-demo@1.3.5) (2022-11-29) **Note:** Version bump only for package @bitgo/web-demo diff --git a/modules/web-demo/package.json b/modules/web-demo/package.json index 90652e53eb..536c420eeb 100644 --- a/modules/web-demo/package.json +++ b/modules/web-demo/package.json @@ -1,6 +1,6 @@ { "name": "@bitgo/web-demo", - "version": "1.3.5", + "version": "1.3.6", "description": "BitGoJS Web demo package", "repository": { "type": "git", @@ -24,9 +24,9 @@ "precommit": "yarn lint-staged" }, "dependencies": { - "@bitgo/sdk-api": "^1.9.0", - "@bitgo/sdk-coin-xrp": "^1.3.5", - "bitgo": "^16.0.0", + "@bitgo/sdk-api": "^1.9.1", + "@bitgo/sdk-coin-xrp": "^1.3.6", + "bitgo": "^16.1.0", "lodash": "^4.17.15", "react": "^17.0.2", "react-dom": "^17.0.2",