Skip to content

Commit 4460746

Browse files
feat(mbe); fix recovery consolidation for eddsa
1 parent 9ce5813 commit 4460746

File tree

4 files changed

+11
-12
lines changed

4 files changed

+11
-12
lines changed

src/api/master/clients/enclavedExpressClient.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ import {
1616
MPCTx,
1717
MPCSweepTxs,
1818
MPCTxs,
19+
MPCUnsignedTx,
1920
} from '@bitgo/sdk-core';
2021
import { RecoveryTransaction } from '@bitgo/sdk-coin-trx';
2122
import { superagentRequestFactory, buildApiClient, ApiClient } from '@api-ts/superagent-wrapper';
@@ -205,6 +206,11 @@ export class EnclavedExpressClient {
205206
txRequest.signableHex = firstTx.unsignedTx?.serializedTx || '';
206207
txRequest.derivationPath = firstTx.unsignedTx?.derivationPath || '';
207208
}
209+
} else if ('transactions' in tx && Array.isArray(tx.transactions)) {
210+
// RecoveryTxRequest
211+
const firstTransaction = tx.transactions[0] as MPCUnsignedTx;
212+
txRequest.signableHex = firstTransaction.unsignedTx?.serializedTx || '';
213+
txRequest.derivationPath = firstTransaction.unsignedTx?.derivationPath || '';
208214
} else if ('signableHex' in tx) {
209215
// MPCTx format
210216
txRequest.signableHex = tx.signableHex || '';

src/api/master/handlers/recoveryConsolidationsWallet.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -71,9 +71,9 @@ export async function handleRecoveryConsolidationsOnPrem(
7171
const coin = req.decoded.coin;
7272
const enclavedExpressClient = req.enclavedExpressClient;
7373

74-
const isMPC = true;
74+
const isMPC = req.decoded.multisigType === 'tss';
7575

76-
const { commonKeychain, apiKey } = req.decoded;
76+
const { commonKeychain, apiKey = '' } = req.decoded;
7777
let { userPub, backupPub, bitgoPub } = req.decoded;
7878

7979
if (isMPC) {

src/api/master/routers/masterApiSpec.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -200,11 +200,12 @@ const RecoveryConsolidationsWalletRequest = {
200200
userPub: t.union([t.undefined, t.string]),
201201
backupPub: t.union([t.undefined, t.string]),
202202
bitgoPub: t.union([t.undefined, t.string]),
203+
multisigType: t.union([t.literal('onchain'), t.literal('tss')]),
203204
commonKeychain: t.union([t.undefined, t.string]),
204205
tokenContractAddress: t.union([t.undefined, t.string]),
205206
startingScanIndex: t.union([t.undefined, t.number]),
206207
endingScanIndex: t.union([t.undefined, t.number]),
207-
apiKey: t.string,
208+
apiKey: t.union([t.undefined, t.string]),
208209
durableNonces: t.union([
209210
t.undefined,
210211
t.type({

src/shared/coinUtils.ts

Lines changed: 1 addition & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import { AbstractEthLikeNewCoins } from '@bitgo/abstract-eth';
22
import { BackupKeyRecoveryTransansaction, FormattedOfflineVaultTxInfo } from '@bitgo/abstract-utxo';
33
import { CoinFamily } from '@bitgo/statics';
44
import { BaseCoin } from 'bitgo';
5-
import { AbstractUtxoCoin, Eos, Stx, Xtz, Sol, Trx } from 'bitgo/dist/types/src/v2/coins';
5+
import { AbstractUtxoCoin, Eos, Stx, Xtz } from 'bitgo/dist/types/src/v2/coins';
66

77
export function isEthLikeCoin(coin: BaseCoin): coin is AbstractEthLikeNewCoins {
88
const isEthPure = isFamily(coin, CoinFamily.ETH);
@@ -52,14 +52,6 @@ export function isXtzCoin(coin: BaseCoin): coin is Xtz {
5252
return isFamily(coin, CoinFamily.XTZ);
5353
}
5454

55-
export function isSolCoin(coin: BaseCoin): coin is Sol {
56-
return isFamily(coin, CoinFamily.SOL);
57-
}
58-
59-
export function isTrxCoin(coin: BaseCoin): coin is Trx {
60-
return isFamily(coin, CoinFamily.TRX);
61-
}
62-
6355
function isFamily(coin: BaseCoin, family: CoinFamily) {
6456
return Boolean(coin && coin.getFamily() === family);
6557
}

0 commit comments

Comments
 (0)