Skip to content

Commit 439f95c

Browse files
committed
feat(abstract-utxo): add valueString to unspents for doge recovery flow
Ticket: BG-62721
1 parent 9e17dc0 commit 439f95c

File tree

30 files changed

+130
-38
lines changed

30 files changed

+130
-38
lines changed

modules/abstract-utxo/src/recovery/backupKeyRecovery.ts

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,9 @@ const {
1616
type ChainCode = utxolib.bitgo.ChainCode;
1717
type RootWalletKeys = utxolib.bitgo.RootWalletKeys;
1818
type WalletUnspent<TNumber extends number | bigint = number> = utxolib.bitgo.WalletUnspent<TNumber>;
19+
type WalletUnspentJSON = utxolib.bitgo.WalletUnspent & {
20+
valueString: string;
21+
};
1922
type ScriptType2Of3 = utxolib.bitgo.outputScripts.ScriptType2Of3;
2023

2124
import { VirtualSizes } from '@bitgo/unspents';
@@ -43,9 +46,9 @@ export interface OfflineVaultTxInfo<TNumber extends number | bigint = number> {
4346
inputs: WalletUnspent<TNumber>[];
4447
}
4548

46-
export interface FormattedOfflineVaultTxInfo<TNumber extends number | bigint = number> {
49+
export interface FormattedOfflineVaultTxInfo {
4750
txInfo: {
48-
unspents: WalletUnspent<TNumber>[];
51+
unspents: WalletUnspentJSON[];
4952
};
5053
txHex: string;
5154
feeInfo: Record<string, never>;
@@ -63,11 +66,13 @@ function formatForOfflineVault<TNumber extends number | bigint = number>(
6366
coinName: string,
6467
txInfo: OfflineVaultTxInfo<TNumber>,
6568
txHex: string
66-
): FormattedOfflineVaultTxInfo<TNumber> {
69+
): FormattedOfflineVaultTxInfo {
6770
return {
6871
txHex,
6972
txInfo: {
70-
unspents: txInfo.inputs,
73+
unspents: txInfo.inputs.map((input) => {
74+
return { ...input, value: Number(input.value), valueString: input.value.toString() };
75+
}),
7176
},
7277
feeInfo: {},
7378
coin: coinName,
@@ -249,7 +254,7 @@ export async function backupKeyRecovery<TNumber extends number | bigint = number
249254
coin: AbstractUtxoCoin,
250255
bitgo: BitGoBase,
251256
params: RecoverParams
252-
): Promise<BackupKeyRecoveryTransansaction<TNumber> | FormattedOfflineVaultTxInfo<TNumber>> {
257+
): Promise<BackupKeyRecoveryTransansaction<TNumber> | FormattedOfflineVaultTxInfo> {
253258
if (_.isUndefined(params.userKey)) {
254259
throw new Error('missing userKey');
255260
}

modules/bitgo/test/v2/unit/coins/utxo/fixtures/bch/recovery/backupKeyRecovery-p2sh-unsignedRecovery.json

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,20 +6,23 @@
66
"id": "d03e57cb65ea7b86411a879afc98d428cb9f7caed4cd5c1c537ed6af6f356173:1",
77
"address": "37qPMKZpagdNztA82mXrE81ch2kPzYxEnH",
88
"value": 100000000,
9+
"valueString": "100000000",
910
"chain": 1,
1011
"index": 0
1112
},
1213
{
1314
"id": "625f1e94548949733d43b367c4d30d3e3444cce5011300959fc6001d5f29ea06:1",
1415
"address": "37VmFTmUhwppU2FcKM3uawLjj4oYBQZsN1",
1516
"value": 200000000,
17+
"valueString": "200000000",
1618
"chain": 1,
1719
"index": 2
1820
},
1921
{
2022
"id": "36de98ad2db9129e3b2982e0b028f3994dabeecb75b0f80f055e8d0427218a18:1",
2123
"address": "324RMNET22VF4qLHUcVJtvWKVwbNDoj8Sv",
2224
"value": 300000000,
25+
"valueString": "300000000",
2326
"chain": 1,
2427
"index": 3
2528
}
@@ -28,4 +31,4 @@
2831
"feeInfo": {},
2932
"coin": "bch",
3033
"txid": "d62ccec28180bfda03f1a8676bfbc568bbf6d228b14c5dfd71ca2f760dffae7f"
31-
}
34+
}

modules/bitgo/test/v2/unit/coins/utxo/fixtures/bcha/recovery/backupKeyRecovery-p2sh-unsignedRecovery.json

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,20 +6,23 @@
66
"id": "d03e57cb65ea7b86411a879afc98d428cb9f7caed4cd5c1c537ed6af6f356173:1",
77
"address": "37qPMKZpagdNztA82mXrE81ch2kPzYxEnH",
88
"value": 100000000,
9+
"valueString": "100000000",
910
"chain": 1,
1011
"index": 0
1112
},
1213
{
1314
"id": "625f1e94548949733d43b367c4d30d3e3444cce5011300959fc6001d5f29ea06:1",
1415
"address": "37VmFTmUhwppU2FcKM3uawLjj4oYBQZsN1",
1516
"value": 200000000,
17+
"valueString": "200000000",
1618
"chain": 1,
1719
"index": 2
1820
},
1921
{
2022
"id": "36de98ad2db9129e3b2982e0b028f3994dabeecb75b0f80f055e8d0427218a18:1",
2123
"address": "324RMNET22VF4qLHUcVJtvWKVwbNDoj8Sv",
2224
"value": 300000000,
25+
"valueString": "300000000",
2326
"chain": 1,
2427
"index": 3
2528
}
@@ -28,4 +31,4 @@
2831
"feeInfo": {},
2932
"coin": "bcha",
3033
"txid": "0480ae84648c6612413ed94f0fcf5608cbaaafed66e699f591d2d851cba5eafa"
31-
}
34+
}

modules/bitgo/test/v2/unit/coins/utxo/fixtures/bsv/recovery/backupKeyRecovery-p2sh-unsignedRecovery.json

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,20 +6,23 @@
66
"id": "d03e57cb65ea7b86411a879afc98d428cb9f7caed4cd5c1c537ed6af6f356173:1",
77
"address": "37qPMKZpagdNztA82mXrE81ch2kPzYxEnH",
88
"value": 100000000,
9+
"valueString": "100000000",
910
"chain": 1,
1011
"index": 0
1112
},
1213
{
1314
"id": "625f1e94548949733d43b367c4d30d3e3444cce5011300959fc6001d5f29ea06:1",
1415
"address": "37VmFTmUhwppU2FcKM3uawLjj4oYBQZsN1",
1516
"value": 200000000,
17+
"valueString": "200000000",
1618
"chain": 1,
1719
"index": 2
1820
},
1921
{
2022
"id": "36de98ad2db9129e3b2982e0b028f3994dabeecb75b0f80f055e8d0427218a18:1",
2123
"address": "324RMNET22VF4qLHUcVJtvWKVwbNDoj8Sv",
2224
"value": 300000000,
25+
"valueString": "300000000",
2326
"chain": 1,
2427
"index": 3
2528
}
@@ -28,4 +31,4 @@
2831
"feeInfo": {},
2932
"coin": "bsv",
3033
"txid": "d62ccec28180bfda03f1a8676bfbc568bbf6d228b14c5dfd71ca2f760dffae7f"
31-
}
34+
}

modules/bitgo/test/v2/unit/coins/utxo/fixtures/btc/recovery/backupKeyRecovery-p2sh-unsignedRecovery.json

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,20 +6,23 @@
66
"id": "d03e57cb65ea7b86411a879afc98d428cb9f7caed4cd5c1c537ed6af6f356173:1",
77
"address": "37qPMKZpagdNztA82mXrE81ch2kPzYxEnH",
88
"value": 100000000,
9+
"valueString": "100000000",
910
"chain": 1,
1011
"index": 0
1112
},
1213
{
1314
"id": "625f1e94548949733d43b367c4d30d3e3444cce5011300959fc6001d5f29ea06:1",
1415
"address": "37VmFTmUhwppU2FcKM3uawLjj4oYBQZsN1",
1516
"value": 200000000,
17+
"valueString": "200000000",
1618
"chain": 1,
1719
"index": 2
1820
},
1921
{
2022
"id": "36de98ad2db9129e3b2982e0b028f3994dabeecb75b0f80f055e8d0427218a18:1",
2123
"address": "324RMNET22VF4qLHUcVJtvWKVwbNDoj8Sv",
2224
"value": 300000000,
25+
"valueString": "300000000",
2326
"chain": 1,
2427
"index": 3
2528
}
@@ -28,4 +31,4 @@
2831
"feeInfo": {},
2932
"coin": "btc",
3033
"txid": "0480ae84648c6612413ed94f0fcf5608cbaaafed66e699f591d2d851cba5eafa"
31-
}
34+
}

modules/bitgo/test/v2/unit/coins/utxo/fixtures/btc/recovery/backupKeyRecovery-p2shP2wsh-unsignedRecovery.json

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,20 +6,23 @@
66
"id": "4e7134b992a57b35acec657974fb0dbaff5304f6b3645037f05f526352b18e50:1",
77
"address": "3PeXf4UiyRneENKQrarZ3yt9dwTM4xgFZQ",
88
"value": 100000000,
9+
"valueString": "100000000",
910
"chain": 11,
1011
"index": 0
1112
},
1213
{
1314
"id": "98a101ffd98d2ce1bcddfb4b34ac071ac54da417377cceb468ddcdcc4ef19a3e:1",
1415
"address": "3Qz9psfsDLD1F7W2hdKzcyPxn16BkSxpZN",
1516
"value": 200000000,
17+
"valueString": "200000000",
1618
"chain": 11,
1719
"index": 2
1820
},
1921
{
2022
"id": "67b1893259423705b645ccdae1c050ea8e43017bd292d97e0e5a80b8405ad5bc:1",
2123
"address": "381yBi3uNArm5xCHCtW4FGay4wJRzSGegj",
2224
"value": 300000000,
25+
"valueString": "300000000",
2326
"chain": 11,
2427
"index": 3
2528
}
@@ -28,4 +31,4 @@
2831
"feeInfo": {},
2932
"coin": "btc",
3033
"txid": "bc2f2749a68ae5230ecb90a559dcc301ceb7fdd1f23803b31a3e80e35f5d6a6d"
31-
}
34+
}

modules/bitgo/test/v2/unit/coins/utxo/fixtures/btc/recovery/backupKeyRecovery-p2tr-unsignedRecovery.json

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,20 +6,23 @@
66
"id": "9cf295ddfa67cfcc33ab4321f1c4f0c31a343069c841e41d352c7053536049ea:1",
77
"address": "bc1phk6lhy2tka2kxsx6hjd3c0z2h2e0rcrere9lr3kqsg0p6xxqe2pq2ark68",
88
"value": 100000000,
9+
"valueString": "100000000",
910
"chain": 31,
1011
"index": 0
1112
},
1213
{
1314
"id": "03335d059c6f363eb21687bdfb57b93ecae466f0582669afe5f56cfe7de6d4f2:1",
1415
"address": "bc1punyhjurx29e2577msed4mzlu5py2snp6s2zwf2uux2ek5xk2ps6sxyqcqj",
1516
"value": 200000000,
17+
"valueString": "200000000",
1618
"chain": 31,
1719
"index": 2
1820
},
1921
{
2022
"id": "9d6b8af626c6ce6c62a810f74f168768b4383ec49425a84b97d6240c2f273408:1",
2123
"address": "bc1pgrsntg8rd9qdjf06demu0423ysxftqddx9twyqy38fsg9qyj82xs3y9tyr",
2224
"value": 300000000,
25+
"valueString": "300000000",
2326
"chain": 31,
2427
"index": 3
2528
}
@@ -28,4 +31,4 @@
2831
"feeInfo": {},
2932
"coin": "btc",
3033
"txid": "39750e9863dc6f4296985a4212a0c9b04a992b4fb0ab93b7b1dc091f57d160ea"
31-
}
34+
}

modules/bitgo/test/v2/unit/coins/utxo/fixtures/btc/recovery/backupKeyRecovery-p2wsh-unsignedRecovery.json

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,20 +6,23 @@
66
"id": "ef0bab6daae6a8f0a6b17198ccc3cbae5554f44794dcbe028f133d3052013702:1",
77
"address": "bc1q5e7nvvypt2qpjxq74zwtry9klsqkcyvcee85anaa3pax7ae207gsxkxwxc",
88
"value": 100000000,
9+
"valueString": "100000000",
910
"chain": 21,
1011
"index": 0
1112
},
1213
{
1314
"id": "cbbfe10f6d74c415251d56ffae4aeeb012bd03c2d1ac854cb10dfa08effd519e:1",
1415
"address": "bc1q3v9yjlrzkufgd99d07806262dhqgfjf2zjdx5sfrw8uslnjs2uts5rvzzm",
1516
"value": 200000000,
17+
"valueString": "200000000",
1618
"chain": 21,
1719
"index": 2
1820
},
1921
{
2022
"id": "41c356a3c28ab9713aaf75d274ab65bb17e11e51d5a160b99e326b241bc2ed01:1",
2123
"address": "bc1qyerx34sx9a2a4zz7w320tuxz3hq84xn0hm6tzr6tek77tsknfg0s2sufdt",
2224
"value": 300000000,
25+
"valueString": "300000000",
2326
"chain": 21,
2427
"index": 3
2528
}
@@ -28,4 +31,4 @@
2831
"feeInfo": {},
2932
"coin": "btc",
3033
"txid": "dc9295cfa0f659af44fa78619502b296a8398502d6b67f6daf6e853dffb4f8a4"
31-
}
34+
}

modules/bitgo/test/v2/unit/coins/utxo/fixtures/btg/recovery/backupKeyRecovery-p2sh-unsignedRecovery.json

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,20 +6,23 @@
66
"id": "94f17dccfb5b490895c56d33c7055c1d2d4c492b3f919d116a3d7274d00a35b8:1",
77
"address": "AMvF5Gw1Mvy9igfgUKXaxNun27PNiLLNkc",
88
"value": 100000000,
9+
"valueString": "100000000",
910
"chain": 1,
1011
"index": 0
1112
},
1213
{
1314
"id": "50977419b7122fd429c79a790670f4fea5719bb97f20a70c3170d6c2bc26cc39:1",
1415
"address": "AMacyR8fVCAbBpmAku3eKCEu49SX1JbzmL",
1516
"value": 200000000,
17+
"valueString": "200000000",
1618
"chain": 1,
1719
"index": 2
1820
},
1921
{
2022
"id": "61844d00eb67eae0b730740f444933db2fc83e83030eff9e80f1abde64759140:1",
2123
"address": "AG9H5KbdoGq1ndqqvAV3dBQUq2ELyFa81n",
2224
"value": 300000000,
25+
"valueString": "300000000",
2326
"chain": 1,
2427
"index": 3
2528
}
@@ -28,4 +31,4 @@
2831
"feeInfo": {},
2932
"coin": "btg",
3033
"txid": "79146ad0e3b460dcdb12f6538e84e7ffcc3fef20e5e12ae44e4d174e06a0b0d9"
31-
}
34+
}

modules/bitgo/test/v2/unit/coins/utxo/fixtures/btg/recovery/backupKeyRecovery-p2shP2wsh-unsignedRecovery.json

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,20 +6,23 @@
66
"id": "3044550eda939274c600ff73a9f084f85ab164fabf69c1b7d8498b3627caf7b1:1",
77
"address": "AdjPP1qukg8QxApyJ8rHnEnJy26KnBr2ik",
88
"value": 100000000,
9+
"valueString": "100000000",
910
"chain": 11,
1011
"index": 0
1112
},
1213
{
1314
"id": "cb0b658fa8b76d302afcb56b9e4eb922c2658d0836149ff8a947f61dda6b599f:1",
1415
"address": "Af51Yq33zaYmxv1b9BKjMEJ875jAY12YW1",
1516
"value": 200000000,
17+
"valueString": "200000000",
1618
"chain": 11,
1719
"index": 2
1820
},
1921
{
2022
"id": "b73bae8239d8c5023b115e428100c59f927b89b176edde5f874d3c2c21d5f71b:1",
2123
"address": "AN6pufR69RCXokhqeSVnyXV8Q1wQkNsJjq",
2224
"value": 300000000,
25+
"valueString": "300000000",
2326
"chain": 11,
2427
"index": 3
2528
}
@@ -28,4 +31,4 @@
2831
"feeInfo": {},
2932
"coin": "btg",
3033
"txid": "ae7a020fd752d6b81aad05a9efe9828e2b5183a5b59c41bbf5b57eca237b1607"
31-
}
34+
}

0 commit comments

Comments
 (0)