@bitgo/sdk-core 1.1.0-rc.2 → 1.1.0-rc.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +32 -0
- package/dist/src/account-lib/baseCoin/errors.d.ts +0 -6
- package/dist/src/account-lib/baseCoin/errors.d.ts.map +1 -1
- package/dist/src/account-lib/baseCoin/errors.js +2 -11
- package/dist/src/account-lib/baseCoin/iface.d.ts +2 -9
- package/dist/src/account-lib/baseCoin/iface.d.ts.map +1 -1
- package/dist/src/account-lib/baseCoin/iface.js +1 -1
- package/dist/src/account-lib/index.d.ts +1 -0
- package/dist/src/account-lib/index.d.ts.map +1 -1
- package/dist/src/account-lib/index.js +2 -1
- package/dist/src/account-lib/mpc/curves/baseCurve.d.ts +19 -0
- package/dist/src/account-lib/mpc/curves/baseCurve.d.ts.map +1 -0
- package/dist/src/account-lib/mpc/curves/baseCurve.js +6 -0
- package/dist/src/account-lib/mpc/curves/ed25519.d.ts +17 -0
- package/dist/src/account-lib/mpc/curves/ed25519.d.ts.map +1 -0
- package/dist/src/account-lib/mpc/curves/ed25519.js +57 -0
- package/dist/src/account-lib/mpc/curves/index.d.ts +6 -0
- package/dist/src/account-lib/mpc/curves/index.d.ts.map +1 -0
- package/dist/src/account-lib/mpc/curves/index.js +8 -0
- package/dist/src/account-lib/mpc/curves/secp256k1.d.ts +16 -0
- package/dist/src/account-lib/mpc/curves/secp256k1.d.ts.map +1 -0
- package/dist/src/account-lib/mpc/curves/secp256k1.js +66 -0
- package/dist/src/account-lib/mpc/hdTree.d.ts +24 -0
- package/dist/src/account-lib/mpc/hdTree.d.ts.map +1 -0
- package/dist/src/account-lib/mpc/hdTree.js +94 -0
- package/dist/src/account-lib/mpc/index.d.ts +7 -0
- package/dist/src/account-lib/mpc/index.d.ts.map +1 -0
- package/dist/src/account-lib/mpc/index.js +23 -0
- package/dist/src/account-lib/mpc/shamir.d.ts +26 -0
- package/dist/src/account-lib/mpc/shamir.d.ts.map +1 -0
- package/dist/src/account-lib/mpc/shamir.js +86 -0
- package/dist/src/account-lib/mpc/tss/eddsa/eddsa.d.ts +29 -0
- package/dist/src/account-lib/mpc/tss/eddsa/eddsa.d.ts.map +1 -0
- package/dist/src/account-lib/mpc/tss/eddsa/eddsa.js +273 -0
- package/dist/src/account-lib/mpc/tss/eddsa/index.d.ts +4 -0
- package/dist/src/account-lib/mpc/tss/eddsa/index.d.ts.map +1 -0
- package/dist/src/account-lib/mpc/tss/eddsa/index.js +30 -0
- package/dist/src/account-lib/mpc/tss/eddsa/types.d.ts +70 -0
- package/dist/src/account-lib/mpc/tss/eddsa/types.d.ts.map +1 -0
- package/dist/src/account-lib/mpc/tss/eddsa/types.js +3 -0
- package/dist/src/account-lib/mpc/tss/index.d.ts +5 -0
- package/dist/src/account-lib/mpc/tss/index.d.ts.map +1 -0
- package/dist/src/account-lib/mpc/tss/index.js +32 -0
- package/dist/src/account-lib/mpc/util.d.ts +8 -0
- package/dist/src/account-lib/mpc/util.d.ts.map +1 -0
- package/dist/src/account-lib/mpc/util.js +42 -0
- package/dist/src/api/bip32path.d.ts +24 -0
- package/dist/src/api/bip32path.d.ts.map +1 -0
- package/dist/src/api/bip32path.js +45 -0
- package/dist/src/api/index.d.ts +3 -0
- package/dist/src/api/index.d.ts.map +1 -0
- package/dist/src/{v2 → api}/index.js +2 -2
- package/dist/src/api/types.d.ts +20 -0
- package/dist/src/api/types.d.ts.map +1 -0
- package/dist/src/api/types.js +3 -0
- package/dist/src/bitgo/baseCoin/baseCoin.d.ts +230 -0
- package/dist/src/bitgo/baseCoin/baseCoin.d.ts.map +1 -0
- package/dist/src/bitgo/baseCoin/baseCoin.js +292 -0
- package/dist/src/bitgo/baseCoin/iBaseCoin.d.ts +257 -0
- package/dist/src/bitgo/baseCoin/iBaseCoin.d.ts.map +1 -0
- package/dist/src/bitgo/baseCoin/iBaseCoin.js +3 -0
- package/dist/src/bitgo/baseCoin/index.d.ts +3 -0
- package/dist/src/bitgo/baseCoin/index.d.ts.map +1 -0
- package/dist/src/bitgo/baseCoin/index.js +15 -0
- package/dist/src/bitgo/bip32util.d.ts +17 -0
- package/dist/src/bitgo/bip32util.d.ts.map +1 -0
- package/dist/src/bitgo/bip32util.js +59 -0
- package/dist/src/bitgo/bitcoin.d.ts +16 -0
- package/dist/src/bitgo/bitcoin.d.ts.map +1 -0
- package/dist/src/bitgo/bitcoin.js +52 -0
- package/dist/src/bitgo/bitgoBase.d.ts +22 -0
- package/dist/src/bitgo/bitgoBase.d.ts.map +1 -0
- package/dist/src/bitgo/bitgoBase.js +3 -0
- package/dist/src/bitgo/config.d.ts +8 -0
- package/dist/src/bitgo/config.d.ts.map +1 -0
- package/dist/src/bitgo/config.js +25 -0
- package/dist/src/bitgo/ecdh.d.ts +24 -0
- package/dist/src/bitgo/ecdh.d.ts.map +1 -0
- package/dist/src/bitgo/ecdh.js +80 -0
- package/dist/src/bitgo/enterprise/enterprise.d.ts +64 -0
- package/dist/src/bitgo/enterprise/enterprise.d.ts.map +1 -0
- package/dist/src/bitgo/enterprise/enterprise.js +120 -0
- package/dist/src/bitgo/enterprise/enterprises.d.ts +25 -0
- package/dist/src/bitgo/enterprise/enterprises.d.ts.map +1 -0
- package/dist/src/bitgo/enterprise/enterprises.js +70 -0
- package/dist/src/bitgo/enterprise/iEnterprise.d.ts +15 -0
- package/dist/src/bitgo/enterprise/iEnterprise.d.ts.map +1 -0
- package/dist/src/bitgo/enterprise/iEnterprise.js +3 -0
- package/dist/src/bitgo/enterprise/iEnterprises.d.ts +10 -0
- package/dist/src/bitgo/enterprise/iEnterprises.d.ts.map +1 -0
- package/dist/src/bitgo/enterprise/iEnterprises.js +3 -0
- package/dist/src/bitgo/enterprise/index.d.ts +5 -0
- package/dist/src/bitgo/enterprise/index.d.ts.map +1 -0
- package/dist/src/bitgo/enterprise/index.js +17 -0
- package/dist/src/{v2 → bitgo}/environments.d.ts +0 -0
- package/dist/src/bitgo/environments.d.ts.map +1 -0
- package/dist/src/bitgo/environments.js +142 -0
- package/dist/src/bitgo/errors.d.ts +83 -0
- package/dist/src/bitgo/errors.d.ts.map +1 -0
- package/dist/src/bitgo/errors.js +163 -0
- package/dist/src/bitgo/index.d.ts +25 -0
- package/dist/src/bitgo/index.d.ts.map +1 -0
- package/dist/src/bitgo/index.js +50 -0
- package/dist/src/bitgo/internal/index.d.ts +3 -0
- package/dist/src/bitgo/internal/index.d.ts.map +1 -0
- package/dist/src/bitgo/internal/index.js +15 -0
- package/dist/src/bitgo/internal/internal.d.ts +19 -0
- package/dist/src/bitgo/internal/internal.d.ts.map +1 -0
- package/dist/src/bitgo/internal/internal.js +33 -0
- package/dist/src/bitgo/internal/keycard.d.ts +33 -0
- package/dist/src/bitgo/internal/keycard.d.ts.map +1 -0
- package/dist/src/bitgo/internal/keycard.js +304 -0
- package/dist/src/bitgo/keychain/iKeychains.d.ts +118 -0
- package/dist/src/bitgo/keychain/iKeychains.d.ts.map +1 -0
- package/dist/src/bitgo/keychain/iKeychains.js +10 -0
- package/dist/src/bitgo/keychain/index.d.ts +3 -0
- package/dist/src/bitgo/keychain/index.d.ts.map +1 -0
- package/dist/src/bitgo/keychain/index.js +15 -0
- package/dist/src/bitgo/keychain/keychains.d.ts +90 -0
- package/dist/src/bitgo/keychain/keychains.d.ts.map +1 -0
- package/dist/src/bitgo/keychain/keychains.js +280 -0
- package/dist/src/bitgo/market/iMarkets.d.ts +12 -0
- package/dist/src/bitgo/market/iMarkets.d.ts.map +1 -0
- package/dist/src/bitgo/market/iMarkets.js +3 -0
- package/dist/src/bitgo/market/index.d.ts +3 -0
- package/dist/src/bitgo/market/index.d.ts.map +1 -0
- package/dist/src/bitgo/market/index.js +15 -0
- package/dist/src/bitgo/market/markets.d.ts +29 -0
- package/dist/src/bitgo/market/markets.d.ts.map +1 -0
- package/dist/src/bitgo/market/markets.js +70 -0
- package/dist/src/bitgo/pendingApproval/iPendingApproval.d.ts +73 -0
- package/dist/src/bitgo/pendingApproval/iPendingApproval.d.ts.map +1 -0
- package/dist/src/bitgo/pendingApproval/iPendingApproval.js +28 -0
- package/dist/src/bitgo/pendingApproval/iPendingApprovals.d.ts +16 -0
- package/dist/src/bitgo/pendingApproval/iPendingApprovals.d.ts.map +1 -0
- package/dist/src/bitgo/pendingApproval/iPendingApprovals.js +3 -0
- package/dist/src/bitgo/pendingApproval/index.d.ts +5 -0
- package/dist/src/bitgo/pendingApproval/index.d.ts.map +1 -0
- package/dist/src/bitgo/pendingApproval/index.js +17 -0
- package/dist/src/bitgo/pendingApproval/pendingApproval.d.ts +99 -0
- package/dist/src/bitgo/pendingApproval/pendingApproval.d.ts.map +1 -0
- package/dist/src/bitgo/pendingApproval/pendingApproval.js +319 -0
- package/dist/src/bitgo/pendingApproval/pendingApprovals.d.ts +19 -0
- package/dist/src/bitgo/pendingApproval/pendingApprovals.d.ts.map +1 -0
- package/dist/src/bitgo/pendingApproval/pendingApprovals.js +76 -0
- package/dist/src/bitgo/recovery/index.d.ts +2 -0
- package/dist/src/bitgo/recovery/index.d.ts.map +1 -0
- package/dist/src/bitgo/recovery/index.js +14 -0
- package/dist/src/bitgo/recovery/initiate.d.ts +49 -0
- package/dist/src/bitgo/recovery/initiate.d.ts.map +1 -0
- package/dist/src/bitgo/recovery/initiate.js +119 -0
- package/dist/src/bitgo/trading/affirmation.d.ts +35 -0
- package/dist/src/bitgo/trading/affirmation.d.ts.map +1 -0
- package/dist/src/bitgo/trading/affirmation.js +53 -0
- package/dist/src/bitgo/trading/affirmations.d.ts +23 -0
- package/dist/src/bitgo/trading/affirmations.d.ts.map +1 -0
- package/dist/src/bitgo/trading/affirmations.js +45 -0
- package/dist/src/bitgo/trading/iAffirmation.d.ts +15 -0
- package/dist/src/bitgo/trading/iAffirmation.d.ts.map +1 -0
- package/dist/src/bitgo/trading/iAffirmation.js +13 -0
- package/dist/src/bitgo/trading/iAffirmations.d.ts +10 -0
- package/dist/src/bitgo/trading/iAffirmations.d.ts.map +1 -0
- package/dist/src/bitgo/trading/iAffirmations.js +3 -0
- package/dist/src/bitgo/trading/iSettlement.d.ts +25 -0
- package/dist/src/bitgo/trading/iSettlement.d.ts.map +1 -0
- package/dist/src/bitgo/trading/iSettlement.js +17 -0
- package/dist/src/bitgo/trading/iSettlements.d.ts +19 -0
- package/dist/src/bitgo/trading/iSettlements.d.ts.map +1 -0
- package/dist/src/bitgo/trading/iSettlements.js +3 -0
- package/dist/src/bitgo/trading/iTradingAccount.d.ts +41 -0
- package/dist/src/bitgo/trading/iTradingAccount.d.ts.map +1 -0
- package/dist/src/bitgo/trading/iTradingAccount.js +3 -0
- package/dist/src/bitgo/trading/iTradingPartner.d.ts +14 -0
- package/dist/src/bitgo/trading/iTradingPartner.d.ts.map +1 -0
- package/dist/src/bitgo/trading/iTradingPartner.js +17 -0
- package/dist/src/bitgo/trading/iTradingPartners.d.ts +15 -0
- package/dist/src/bitgo/trading/iTradingPartners.d.ts.map +1 -0
- package/dist/src/bitgo/trading/iTradingPartners.js +9 -0
- package/dist/src/bitgo/trading/index.d.ts +18 -0
- package/dist/src/bitgo/trading/index.d.ts.map +1 -0
- package/dist/src/bitgo/trading/index.js +30 -0
- package/dist/src/bitgo/trading/lock.d.ts +16 -0
- package/dist/src/bitgo/trading/lock.d.ts.map +1 -0
- package/dist/src/bitgo/trading/lock.js +12 -0
- package/dist/src/bitgo/trading/payload.d.ts +22 -0
- package/dist/src/bitgo/trading/payload.d.ts.map +1 -0
- package/dist/src/bitgo/trading/payload.js +3 -0
- package/dist/src/bitgo/trading/settlement.d.ts +16 -0
- package/dist/src/bitgo/trading/settlement.d.ts.map +1 -0
- package/dist/src/bitgo/trading/settlement.js +21 -0
- package/dist/src/bitgo/trading/settlements.d.ts +32 -0
- package/dist/src/bitgo/trading/settlements.d.ts.map +1 -0
- package/dist/src/bitgo/trading/settlements.js +61 -0
- package/dist/src/bitgo/trading/trade.d.ts +29 -0
- package/dist/src/bitgo/trading/trade.d.ts.map +1 -0
- package/dist/src/bitgo/trading/trade.js +11 -0
- package/dist/src/bitgo/trading/tradingAccount.d.ts +53 -0
- package/dist/src/bitgo/trading/tradingAccount.d.ts.map +1 -0
- package/dist/src/bitgo/trading/tradingAccount.js +127 -0
- package/dist/src/bitgo/trading/tradingPartner.d.ts +26 -0
- package/dist/src/bitgo/trading/tradingPartner.d.ts.map +1 -0
- package/dist/src/bitgo/trading/tradingPartner.js +31 -0
- package/dist/src/bitgo/trading/tradingPartners.d.ts +24 -0
- package/dist/src/bitgo/trading/tradingPartners.d.ts.map +1 -0
- package/dist/src/bitgo/trading/tradingPartners.js +32 -0
- package/dist/src/bitgo/tss.d.ts +127 -0
- package/dist/src/bitgo/tss.d.ts.map +1 -0
- package/dist/src/bitgo/tss.js +261 -0
- package/dist/src/bitgo/types.d.ts +4 -0
- package/dist/src/bitgo/types.d.ts.map +1 -0
- package/dist/src/bitgo/types.js +3 -0
- package/dist/src/bitgo/utils/abstractUtxoCoinUtil.d.ts +6 -0
- package/dist/src/bitgo/utils/abstractUtxoCoinUtil.d.ts.map +1 -0
- package/dist/src/bitgo/utils/abstractUtxoCoinUtil.js +30 -0
- package/dist/src/bitgo/utils/blsUtils.d.ts +51 -0
- package/dist/src/bitgo/utils/blsUtils.d.ts.map +1 -0
- package/dist/src/bitgo/utils/blsUtils.js +166 -0
- package/dist/src/bitgo/utils/iBlsUtils.d.ts +14 -0
- package/dist/src/bitgo/utils/iBlsUtils.d.ts.map +1 -0
- package/dist/src/bitgo/utils/iBlsUtils.js +3 -0
- package/dist/src/bitgo/utils/iTssUtils.d.ts +64 -0
- package/dist/src/bitgo/utils/iTssUtils.d.ts.map +1 -0
- package/dist/src/bitgo/utils/iTssUtils.js +10 -0
- package/dist/src/bitgo/utils/index.d.ts +12 -0
- package/dist/src/bitgo/utils/index.d.ts.map +1 -0
- package/dist/src/bitgo/utils/index.js +37 -0
- package/dist/src/bitgo/utils/mpcUtils.d.ts +31 -0
- package/dist/src/bitgo/utils/mpcUtils.d.ts.map +1 -0
- package/dist/src/bitgo/utils/mpcUtils.js +55 -0
- package/dist/src/bitgo/utils/opengpgUtils.d.ts +51 -0
- package/dist/src/bitgo/utils/opengpgUtils.d.ts.map +1 -0
- package/dist/src/bitgo/utils/opengpgUtils.js +136 -0
- package/dist/src/bitgo/utils/promise-utils.d.ts +5 -0
- package/dist/src/bitgo/utils/promise-utils.d.ts.map +1 -0
- package/dist/src/bitgo/utils/promise-utils.js +12 -0
- package/dist/src/bitgo/utils/tssUtils.d.ts +117 -0
- package/dist/src/bitgo/utils/tssUtils.d.ts.map +1 -0
- package/dist/src/bitgo/utils/tssUtils.js +348 -0
- package/dist/src/bitgo/utils/util.d.ts +77 -0
- package/dist/src/bitgo/utils/util.d.ts.map +1 -0
- package/dist/src/bitgo/utils/util.js +198 -0
- package/dist/src/bitgo/wallet/iWallet.d.ts +510 -0
- package/dist/src/bitgo/wallet/iWallet.d.ts.map +1 -0
- package/dist/src/bitgo/wallet/iWallet.js +3 -0
- package/dist/src/bitgo/wallet/iWallets.d.ts +105 -0
- package/dist/src/bitgo/wallet/iWallets.d.ts.map +1 -0
- package/dist/src/bitgo/wallet/iWallets.js +3 -0
- package/dist/src/bitgo/wallet/index.d.ts +5 -0
- package/dist/src/bitgo/wallet/index.d.ts.map +1 -0
- package/dist/src/bitgo/wallet/index.js +17 -0
- package/dist/src/bitgo/wallet/wallet.d.ts +650 -0
- package/dist/src/bitgo/wallet/wallet.d.ts.map +1 -0
- package/dist/src/bitgo/wallet/wallet.js +2024 -0
- package/dist/src/bitgo/wallet/wallets.d.ts +134 -0
- package/dist/src/bitgo/wallet/wallets.d.ts.map +1 -0
- package/dist/src/bitgo/wallet/wallets.js +605 -0
- package/dist/src/bitgo/webhook/iWebhooks.d.ts +26 -0
- package/dist/src/bitgo/webhook/iWebhooks.d.ts.map +1 -0
- package/dist/src/bitgo/webhook/iWebhooks.js +3 -0
- package/dist/src/bitgo/webhook/index.d.ts +3 -0
- package/dist/src/bitgo/webhook/index.d.ts.map +1 -0
- package/dist/src/bitgo/webhook/index.js +15 -0
- package/dist/src/bitgo/webhook/webhooks.d.ts +43 -0
- package/dist/src/bitgo/webhook/webhooks.d.ts.map +1 -0
- package/dist/src/bitgo/webhook/webhooks.js +102 -0
- package/dist/src/bitgojsError.d.ts +4 -0
- package/dist/src/bitgojsError.d.ts.map +1 -0
- package/dist/src/bitgojsError.js +11 -0
- package/dist/src/common.d.ts +1 -1
- package/dist/src/common.d.ts.map +1 -1
- package/dist/src/common.js +3 -3
- package/dist/src/index.d.ts +3 -2
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +5 -5
- package/dist/tsconfig.tsbuildinfo +2343 -217
- package/package.json +11 -4
- package/dist/src/v2/environments.d.ts.map +0 -1
- package/dist/src/v2/environments.js +0 -142
- package/dist/src/v2/index.d.ts +0 -3
- package/dist/src/v2/index.d.ts.map +0 -1
- package/dist/src/v2/types.d.ts +0 -2
- package/dist/src/v2/types.d.ts.map +0 -1
- package/dist/src/v2/types.js +0 -3
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.TradingAccount = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* @prettier
|
|
6
|
+
*/
|
|
7
|
+
const bignumber_js_1 = require("bignumber.js");
|
|
8
|
+
const trading_1 = require("../trading");
|
|
9
|
+
const TRADE_PAYLOAD_VERSION = '1.2.0';
|
|
10
|
+
class TradingAccount {
|
|
11
|
+
constructor(enterpriseId, wallet, bitgo) {
|
|
12
|
+
this.enterpriseId = enterpriseId;
|
|
13
|
+
this.wallet = wallet;
|
|
14
|
+
this.bitgo = bitgo;
|
|
15
|
+
}
|
|
16
|
+
get id() {
|
|
17
|
+
return this.wallet.id();
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Builds a payload authorizing trade from this trading account.
|
|
21
|
+
* @param params
|
|
22
|
+
* @param params.amounts[] array of amounts that will be traded as part of the settlement
|
|
23
|
+
* @param params.amounts[].accountId the accountId corresponding with the sending and receiving amounts for the settlement
|
|
24
|
+
* @param params.amounts[].sendAmount amount of currency sent by trading account of given accountId
|
|
25
|
+
* @param params.amounts[].sendCurrency currency of amount sent by trading account of given accountId
|
|
26
|
+
* @param params.amounts[].receiveAmount amount of currency received by trading account of given accountId
|
|
27
|
+
* @param params.amounts[].receiveCurrency currency of amount received by trading account of given accountId
|
|
28
|
+
* @returns unsigned trade payload for the given parameters. This object should be stringified with JSON.stringify() before being submitted
|
|
29
|
+
*/
|
|
30
|
+
async buildPayload(params) {
|
|
31
|
+
const url = this.bitgo.microservicesUrl(`/api/trade/v1/enterprise/${this.enterpriseId}/account/${this.id}/payload`);
|
|
32
|
+
const body = {
|
|
33
|
+
version: TRADE_PAYLOAD_VERSION,
|
|
34
|
+
amounts: params.amounts,
|
|
35
|
+
};
|
|
36
|
+
const response = (await this.bitgo.post(url).send(body).result());
|
|
37
|
+
if (!this.verifyPayload(params, response.payload)) {
|
|
38
|
+
throw new Error('Unable to verify trade payload. You may need to update the BitGo SDK, or the payload may have been tampered with.');
|
|
39
|
+
}
|
|
40
|
+
return JSON.parse(response.payload);
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Verifies that a payload received from BitGo sufficiently matches the expected parameters. This is used to prevent
|
|
44
|
+
* man-in-the-middle attacks which could maliciously alter the contents of a payload.
|
|
45
|
+
* @param params parameters used to build the payload
|
|
46
|
+
* @param payload payload received from the BitGo API
|
|
47
|
+
* @returns true if the payload's sensitive fields match, false if the payload may have been tampered with
|
|
48
|
+
*/
|
|
49
|
+
verifyPayload(params, payload) {
|
|
50
|
+
const payloadObj = JSON.parse(payload);
|
|
51
|
+
const paramsCopy = JSON.parse(JSON.stringify(params)); // needs to be a deep copy
|
|
52
|
+
// Verifies that for each party in the payload, we requested a matching party, only checking sensitive fields
|
|
53
|
+
let validAmounts = 0;
|
|
54
|
+
for (const amount of payloadObj.amounts) {
|
|
55
|
+
const matchingExpectedParty = paramsCopy.amounts.findIndex((expectedAmount) => amount.accountId === expectedAmount.accountId &&
|
|
56
|
+
amount.sendCurrency === expectedAmount.sendCurrency &&
|
|
57
|
+
amount.sendSubtotal === expectedAmount.sendAmount &&
|
|
58
|
+
amount.receiveAmount === expectedAmount.receiveAmount &&
|
|
59
|
+
amount.receiveCurrency === expectedAmount.receiveCurrency);
|
|
60
|
+
if (matchingExpectedParty === -1) {
|
|
61
|
+
// matchingExpectedParty not found to the payloadObject
|
|
62
|
+
// payload is not valid
|
|
63
|
+
break;
|
|
64
|
+
}
|
|
65
|
+
if (amount.fees && amount.fees.length > 0) {
|
|
66
|
+
let feeTotal = new bignumber_js_1.BigNumber(0);
|
|
67
|
+
for (const fee of amount.fees) {
|
|
68
|
+
feeTotal = feeTotal.plus(new bignumber_js_1.BigNumber(fee.feeAmount));
|
|
69
|
+
}
|
|
70
|
+
const expectedTotalAmount = new bignumber_js_1.BigNumber(paramsCopy.amounts[matchingExpectedParty].sendAmount).plus(feeTotal);
|
|
71
|
+
if (expectedTotalAmount.toString() !== amount.sendAmount) {
|
|
72
|
+
// expected total does not match the sendAmount of the payload
|
|
73
|
+
// payload is not valid
|
|
74
|
+
break;
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
// matching party found, and fee found
|
|
78
|
+
validAmounts = validAmounts + 1;
|
|
79
|
+
// delete so we ensure no duplicates
|
|
80
|
+
paramsCopy.amounts.splice(matchingExpectedParty, 1);
|
|
81
|
+
}
|
|
82
|
+
return (payloadObj.accountId === this.id &&
|
|
83
|
+
payloadObj.amounts.length === params.amounts.length &&
|
|
84
|
+
validAmounts === payloadObj.amounts.length);
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Calculates the necessary fees to complete a settlement between two parties, based on the amounts and currencies of the settlement.
|
|
88
|
+
* @param params
|
|
89
|
+
* @param params.counterpartyAccountId Account ID of the counterparty of the settlement
|
|
90
|
+
* @param params.sendCurrency Currency to be sent as part of the settlement
|
|
91
|
+
* @param params.sendAmount Amount of currency (in base units such as cents, satoshis, or wei) to be sent
|
|
92
|
+
* @param params.receiveCurrency Currency to be received as part of the settlement
|
|
93
|
+
* @param params.receiveAmount Amount of currency (in base units such as cents, satoshis, or wei) to be received
|
|
94
|
+
* @returns Fee rate, currency, and total amount of the described settlement
|
|
95
|
+
*/
|
|
96
|
+
async calculateSettlementFees(params) {
|
|
97
|
+
const url = this.bitgo.microservicesUrl(`/api/trade/v1/enterprise/${this.enterpriseId}/account/${this.id}/calculatefees`);
|
|
98
|
+
return await this.bitgo.post(url).send(params).result();
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* Signs a pre-built trade payload with the user key on this trading account
|
|
102
|
+
* @param params
|
|
103
|
+
* @param params.payload trade payload object from TradingAccount::buildPayload()
|
|
104
|
+
* @param params.walletPassphrase passphrase on this trading account, used to unlock the account user key
|
|
105
|
+
* @returns hex-encoded signature of the payload
|
|
106
|
+
*/
|
|
107
|
+
async signPayload(params) {
|
|
108
|
+
const key = (await this.wallet.baseCoin.keychains().get({ id: this.wallet.keyIds()[0] }));
|
|
109
|
+
const prv = this.wallet.bitgo.decrypt({
|
|
110
|
+
input: key.encryptedPrv,
|
|
111
|
+
password: params.walletPassphrase,
|
|
112
|
+
});
|
|
113
|
+
const payload = JSON.stringify(params.payload);
|
|
114
|
+
return (await this.wallet.baseCoin.signMessage({ prv }, payload)).toString('hex');
|
|
115
|
+
}
|
|
116
|
+
affirmations() {
|
|
117
|
+
return new trading_1.Affirmations(this.bitgo, this.enterpriseId, this);
|
|
118
|
+
}
|
|
119
|
+
settlements() {
|
|
120
|
+
return new trading_1.Settlements(this.bitgo, this.enterpriseId, this);
|
|
121
|
+
}
|
|
122
|
+
partners() {
|
|
123
|
+
return new trading_1.TradingPartners(this.bitgo, this.enterpriseId, this);
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
exports.TradingAccount = TradingAccount;
|
|
127
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhZGluZ0FjY291bnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYml0Z28vdHJhZGluZy90cmFkaW5nQWNjb3VudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQTs7R0FFRztBQUNILCtDQUF5QztBQUV6Qyx3Q0Fhb0I7QUFHcEIsTUFBTSxxQkFBcUIsR0FBRyxPQUFPLENBQUM7QUFFdEMsTUFBYSxjQUFjO0lBTXpCLFlBQVksWUFBb0IsRUFBRSxNQUFlLEVBQUUsS0FBZ0I7UUFDakUsSUFBSSxDQUFDLFlBQVksR0FBRyxZQUFZLENBQUM7UUFDakMsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7UUFDckIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7SUFDckIsQ0FBQztJQUVELElBQUksRUFBRTtRQUNKLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBRUQ7Ozs7Ozs7Ozs7T0FVRztJQUNILEtBQUssQ0FBQyxZQUFZLENBQUMsTUFBOEI7UUFDL0MsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyw0QkFBNEIsSUFBSSxDQUFDLFlBQVksWUFBWSxJQUFJLENBQUMsRUFBRSxVQUFVLENBQUMsQ0FBQztRQUVwSCxNQUFNLElBQUksR0FBRztZQUNYLE9BQU8sRUFBRSxxQkFBcUI7WUFDOUIsT0FBTyxFQUFFLE1BQU0sQ0FBQyxPQUFPO1NBQ3hCLENBQUM7UUFFRixNQUFNLFFBQVEsR0FBRyxDQUFDLE1BQU0sSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFRLENBQUM7UUFFekUsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxFQUFFLFFBQVEsQ0FBQyxPQUFPLENBQUMsRUFBRTtZQUNqRCxN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QUFwSkQsd0NBb0pDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAcHJldHRpZXJcbiAqL1xuaW1wb3J0IHsgQmlnTnVtYmVyIH0gZnJvbSAnYmlnbnVtYmVyLmpzJztcbmltcG9ydCB7IEJpdEdvQmFzZSB9IGZyb20gJy4uL2JpdGdvQmFzZSc7XG5pbXBvcnQge1xuICBBZmZpcm1hdGlvbnMsXG4gIEJ1aWxkUGF5bG9hZFBhcmFtZXRlcnMsXG4gIENhbGN1bGF0ZVNldHRsZW1lbnRGZWVzUGFyYW1zLFxuICBJQWZmaXJtYXRpb25zLFxuICBJU2V0dGxlbWVudHMsXG4gIElUcmFkaW5nQWNjb3VudCxcbiAgSVRyYWRpbmdQYXJ0bmVycyxcbiAgUGF5bG9hZCxcbiAgU2V0dGxlbWVudEZlZXMsXG4gIFNldHRsZW1lbnRzLFxuICBTaWduUGF5bG9hZFBhcmFtZXRlcnMsXG4gIFRyYWRpbmdQYXJ0bmVycyxcbn0gZnJvbSAnLi4vdHJhZGluZyc7XG5pbXBvcnQgeyBJV2FsbGV0IH0gZnJvbSAnLi4vd2FsbGV0JztcblxuY29uc3QgVFJBREVfUEFZTE9BRF9WRVJTSU9OID0gJzEuMi4wJztcblxuZXhwb3J0IGNsYXNzIFRyYWRpbmdBY2NvdW50IGltcGxlbWVudHMgSVRyYWRpbmdBY2NvdW50IHtcbiAgcHJpdmF0ZSByZWFkb25seSBiaXRnbzogQml0R29CYXNlO1xuICBwcml2YXRlIHJlYWRvbmx5IGVudGVycHJpc2VJZDogc3RyaW5nO1xuXG4gIHB1YmxpYyB3YWxsZXQ6IElXYWxsZXQ7XG5cbiAgY29uc3RydWN0b3IoZW50ZXJwcmlzZUlkOiBzdHJpbmcsIHdhbGxldDogSVdhbGxldCwgYml0Z286IEJpdEdvQmFzZSkge1xuICAgIHRoaXMuZW50ZXJwcmlzZUlkID0gZW50ZXJwcmlzZUlkO1xuICAgIHRoaXMud2FsbGV0ID0gd2FsbGV0O1xuICAgIHRoaXMuYml0Z28gPSBiaXRnbztcbiAgfVxuXG4gIGdldCBpZCgpIHtcbiAgICByZXR1cm4gdGhpcy53YWxsZXQuaWQoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBCdWlsZHMgYSBwYXlsb2FkIGF1dGhvcml6aW5nIHRyYWRlIGZyb20gdGhpcyB0cmFkaW5nIGFjY291bnQuXG4gICAqIEBwYXJhbSBwYXJhbXNcbiAgICogQHBhcmFtIHBhcmFtcy5hbW91bnRzW10gYXJyYXkgb2YgYW1vdW50cyB0aGF0IHdpbGwgYmUgdHJhZGVkIGFzIHBhcnQgb2YgdGhlIHNldHRsZW1lbnRcbiAgICogQHBhcmFtIHBhcmFtcy5hbW91bnRzW10uYWNjb3VudElkIHRoZSBhY2NvdW50SWQgY29ycmVzcG9uZGluZyB3aXRoIHRoZSBzZW5kaW5nIGFuZCByZWNlaXZpbmcgYW1vdW50cyBmb3IgdGhlIHNldHRsZW1lbnRcbiAgICogQHBhcmFtIHBhcmFtcy5hbW91bnRzW10uc2VuZEFtb3VudCBhbW91bnQgb2YgY3VycmVuY3kgc2VudCBieSB0cmFkaW5nIGFjY291bnQgb2YgZ2l2ZW4gYWNjb3VudElkXG4gICAqIEBwYXJhbSBwYXJhbXMuYW1vdW50c1tdLnNlbmRDdXJyZW5jeSBjdXJyZW5jeSBvZiBhbW91bnQgc2VudCBieSB0cmFkaW5nIGFjY291bnQgb2YgZ2l2ZW4gYWNjb3VudElkXG4gICAqIEBwYXJhbSBwYXJhbXMuYW1vdW50c1tdLnJlY2VpdmVBbW91bnQgYW1vdW50IG9mIGN1cnJlbmN5IHJlY2VpdmVkIGJ5IHRyYWRpbmcgYWNjb3VudCBvZiBnaXZlbiBhY2NvdW50SWRcbiAgICogQHBhcmFtIHBhcmFtcy5hbW91bnRzW10ucmVjZWl2ZUN1cnJlbmN5IGN1cnJlbmN5IG9mIGFtb3VudCByZWNlaXZlZCBieSB0cmFkaW5nIGFjY291bnQgb2YgZ2l2ZW4gYWNjb3VudElkXG4gICAqIEByZXR1cm5zIHVuc2lnbmVkIHRyYWRlIHBheWxvYWQgZm9yIHRoZSBnaXZlbiBwYXJhbWV0ZXJzLiBUaGlzIG9iamVjdCBzaG91bGQgYmUgc3RyaW5naWZpZWQgd2l0aCBKU09OLnN0cmluZ2lmeSgpIGJlZm9yZSBiZWluZyBzdWJtaXR0ZWRcbiAgICovXG4gIGFzeW5jIGJ1aWxkUGF5bG9hZChwYXJhbXM6IEJ1aWxkUGF5bG9hZFBhcmFtZXRlcnMpOiBQcm9taXNlPFBheWxvYWQ+IHtcbiAgICBjb25zdCB1cmwgPSB0aGlzLmJpdGdvLm1pY3Jvc2VydmljZXNVcmwoYC9hcGkvdHJhZGUvdjEvZW50ZXJwcmlzZS8ke3RoaXMuZW50ZXJwcmlzZUlkfS9hY2NvdW50LyR7dGhpcy5pZH0vcGF5bG9hZGApO1xuXG4gICAgY29uc3QgYm9keSA9IHtcbiAgICAgIHZlcnNpb246IFRSQURFX1BBWUxPQURfVkVSU0lPTixcbiAgICAgIGFtb3VudHM6IHBhcmFtcy5hbW91bnRzLFxuICAgIH07XG5cbiAgICBjb25zdCByZXNwb25zZSA9IChhd2FpdCB0aGlzLmJpdGdvLnBvc3QodXJsKS5zZW5kKGJvZHkpLnJlc3VsdCgpKSBhcyBhbnk7XG5cbiAgICBpZiAoIXRoaXMudmVyaWZ5UGF5bG9hZChwYXJhbXMsIHJlc3BvbnNlLnBheWxvYWQpKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICdVbmFibGUgdG8gdmVyaWZ5IHRyYWRlIHBheWxvYWQuIFlvdSBtYXkgbmVlZCB0byB1cGRhdGUgdGhlIEJpdEdvIFNESywgb3IgdGhlIHBheWxvYWQgbWF5IGhhdmUgYmVlbiB0YW1wZXJlZCB3aXRoLidcbiAgICAgICk7XG4gICAgfVxuXG4gICAgcmV0dXJuIEpTT04ucGFyc2UocmVzcG9uc2UucGF5bG9hZCkgYXMgUGF5bG9hZDtcbiAgfVxuXG4gIC8qKlxuICAgKiBWZXJpZmllcyB0aGF0IGEgcGF5bG9hZCByZWNlaXZlZCBmcm9tIEJpdEdvIHN1ZmZpY2llbnRseSBtYXRjaGVzIHRoZSBleHBlY3RlZCBwYXJhbWV0ZXJzLiBUaGlzIGlzIHVzZWQgdG8gcHJldmVudFxuICAgKiBtYW4taW4tdGhlLW1pZGRsZSBhdHRhY2tzIHdoaWNoIGNvdWxkIG1hbGljaW91c2x5IGFsdGVyIHRoZSBjb250ZW50cyBvZiBhIHBheWxvYWQuXG4gICAqIEBwYXJhbSBwYXJhbXMgcGFyYW1ldGVycyB1c2VkIHRvIGJ1aWxkIHRoZSBwYXlsb2FkXG4gICAqIEBwYXJhbSBwYXlsb2FkIHBheWxvYWQgcmVjZWl2ZWQgZnJvbSB0aGUgQml0R28gQVBJXG4gICAqIEByZXR1cm5zIHRydWUgaWYgdGhlIHBheWxvYWQncyBzZW5zaXRpdmUgZmllbGRzIG1hdGNoLCBmYWxzZSBpZiB0aGUgcGF5bG9hZCBtYXkgaGF2ZSBiZWVuIHRhbXBlcmVkIHdpdGhcbiAgICovXG4gIHZlcmlmeVBheWxvYWQocGFyYW1zOiBCdWlsZFBheWxvYWRQYXJhbWV0ZXJzLCBwYXlsb2FkOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICBjb25zdCBwYXlsb2FkT2JqID0gSlNPTi5wYXJzZShwYXlsb2FkKTtcbiAgICBjb25zdCBwYXJhbXNDb3B5ID0gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeShwYXJhbXMpKTsgLy8gbmVlZHMgdG8gYmUgYSBkZWVwIGNvcHlcblxuICAgIC8vIFZlcmlmaWVzIHRoYXQgZm9yIGVhY2ggcGFydHkgaW4gdGhlIHBheWxvYWQsIHdlIHJlcXVlc3RlZCBhIG1hdGNoaW5nIHBhcnR5LCBvbmx5IGNoZWNraW5nIHNlbnNpdGl2ZSBmaWVsZHNcbiAgICBsZXQgdmFsaWRBbW91bnRzID0gMDtcbiAgICBmb3IgKGNvbnN0IGFtb3VudCBvZiBwYXlsb2FkT2JqLmFtb3VudHMpIHtcbiAgICAgIGNvbnN0IG1hdGNoaW5nRXhwZWN0ZWRQYXJ0eSA9IHBhcmFtc0NvcHkuYW1vdW50cy5maW5kSW5kZXgoXG4gICAgICAgIChleHBlY3RlZEFtb3VudCkgPT5cbiAgICAgICAgICBhbW91bnQuYWNjb3VudElkID09PSBleHBlY3RlZEFtb3VudC5hY2NvdW50SWQgJiZcbiAgICAgICAgICBhbW91bnQuc2VuZEN1cnJlbmN5ID09PSBleHBlY3RlZEFtb3VudC5zZW5kQ3VycmVuY3kgJiZcbiAgICAgICAgICBhbW91bnQuc2VuZFN1YnRvdGFsID09PSBleHBlY3RlZEFtb3VudC5zZW5kQW1vdW50ICYmXG4gICAgICAgICAgYW1vdW50LnJlY2VpdmVBbW91bnQgPT09IGV4cGVjdGVkQW1vdW50LnJlY2VpdmVBbW91bnQgJiZcbiAgICAgICAgICBhbW91bnQucmVjZWl2ZUN1cnJlbmN5ID09PSBleHBlY3RlZEFtb3VudC5yZWNlaXZlQ3VycmVuY3lcbiAgICAgICk7XG5cbiAgICAgIGlmIChtYXRjaGluZ0V4cGVjdGVkUGFydHkgPT09IC0xKSB7XG4gICAgICAgIC8vIG1hdGNoaW5nRXhwZWN0ZWRQYXJ0eSBub3QgZm91bmQgdG8gdGhlIHBheWxvYWRPYmplY3RcbiAgICAgICAgLy8gcGF5bG9hZCBpcyBub3QgdmFsaWRcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG5cbiAgICAgIGlmIChhbW91bnQuZmVlcyAmJiBhbW91bnQuZmVlcy5sZW5ndGggPiAwKSB7XG4gICAgICAgIGxldCBmZWVUb3RhbCA9IG5ldyBCaWdOdW1iZXIoMCk7XG4gICAgICAgIGZvciAoY29uc3QgZmVlIG9mIGFtb3VudC5mZWVzKSB7XG4gICAgICAgICAgZmVlVG90YWwgPSBmZWVUb3RhbC5wbHVzKG5ldyBCaWdOdW1iZXIoZmVlLmZlZUFtb3VudCkpO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgZXhwZWN0ZWRUb3RhbEFtb3VudCA9IG5ldyBCaWdOdW1iZXIocGFyYW1zQ29weS5hbW91bnRzW21hdGNoaW5nRXhwZWN0ZWRQYXJ0eV0uc2VuZEFtb3VudCkucGx1cyhmZWVUb3RhbCk7XG4gICAgICAgIGlmIChleHBlY3RlZFRvdGFsQW1vdW50LnRvU3RyaW5nKCkgIT09IGFtb3VudC5zZW5kQW1vdW50KSB7XG4gICAgICAgICAgLy8gZXhwZWN0ZWQgdG90YWwgZG9lcyBub3QgbWF0Y2ggdGhlIHNlbmRBbW91bnQgb2YgdGhlIHBheWxvYWRcbiAgICAgICAgICAvLyBwYXlsb2FkIGlzIG5vdCB2YWxpZFxuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC8vIG1hdGNoaW5nIHBhcnR5IGZvdW5kLCBhbmQgZmVlIGZvdW5kXG4gICAgICB2YWxpZEFtb3VudHMgPSB2YWxpZEFtb3VudHMgKyAxO1xuICAgICAgLy8gZGVsZXRlIHNvIHdlIGVuc3VyZSBubyBkdXBsaWNhdGVzXG4gICAgICBwYXJhbXNDb3B5LmFtb3VudHMuc3BsaWNlKG1hdGNoaW5nRXhwZWN0ZWRQYXJ0eSwgMSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIChcbiAgICAgIHBheWxvYWRPYmouYWNjb3VudElkID09PSB0aGlzLmlkICYmXG4gICAgICBwYXlsb2FkT2JqLmFtb3VudHMubGVuZ3RoID09PSBwYXJhbXMuYW1vdW50cy5sZW5ndGggJiZcbiAgICAgIHZhbGlkQW1vdW50cyA9PT0gcGF5bG9hZE9iai5hbW91bnRzLmxlbmd0aFxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogQ2FsY3VsYXRlcyB0aGUgbmVjZXNzYXJ5IGZlZXMgdG8gY29tcGxldGUgYSBzZXR0bGVtZW50IGJldHdlZW4gdHdvIHBhcnRpZXMsIGJhc2VkIG9uIHRoZSBhbW91bnRzIGFuZCBjdXJyZW5jaWVzIG9mIHRoZSBzZXR0bGVtZW50LlxuICAgKiBAcGFyYW0gcGFyYW1zXG4gICAqIEBwYXJhbSBwYXJhbXMuY291bnRlcnBhcnR5QWNjb3VudElkIEFjY291bnQgSUQgb2YgdGhlIGNvdW50ZXJwYXJ0eSBvZiB0aGUgc2V0dGxlbWVudFxuICAgKiBAcGFyYW0gcGFyYW1zLnNlbmRDdXJyZW5jeSBDdXJyZW5jeSB0byBiZSBzZW50IGFzIHBhcnQgb2YgdGhlIHNldHRsZW1lbnRcbiAgICogQHBhcmFtIHBhcmFtcy5zZW5kQW1vdW50IEFtb3VudCBvZiBjdXJyZW5jeSAoaW4gYmFzZSB1bml0cyBzdWNoIGFzIGNlbnRzLCBzYXRvc2hpcywgb3Igd2VpKSB0byBiZSBzZW50XG4gICAqIEBwYXJhbSBwYXJhbXMucmVjZWl2ZUN1cnJlbmN5IEN1cnJlbmN5IHRvIGJlIHJlY2VpdmVkIGFzIHBhcnQgb2YgdGhlIHNldHRsZW1lbnRcbiAgICogQHBhcmFtIHBhcmFtcy5yZWNlaXZlQW1vdW50IEFtb3VudCBvZiBjdXJyZW5jeSAoaW4gYmFzZSB1bml0cyBzdWNoIGFzIGNlbnRzLCBzYXRvc2hpcywgb3Igd2VpKSB0byBiZSByZWNlaXZlZFxuICAgKiBAcmV0dXJucyBGZWUgcmF0ZSwgY3VycmVuY3ksIGFuZCB0b3RhbCBhbW91bnQgb2YgdGhlIGRlc2NyaWJlZCBzZXR0bGVtZW50XG4gICAqL1xuICBhc3luYyBjYWxjdWxhdGVTZXR0bGVtZW50RmVlcyhwYXJhbXM6IENhbGN1bGF0ZVNldHRsZW1lbnRGZWVzUGFyYW1zKTogUHJvbWlzZTxTZXR0bGVtZW50RmVlcz4ge1xuICAgIGNvbnN0IHVybCA9IHRoaXMuYml0Z28ubWljcm9zZXJ2aWNlc1VybChcbiAgICAgIGAvYXBpL3RyYWRlL3YxL2VudGVycHJpc2UvJHt0aGlzLmVudGVycHJpc2VJZH0vYWNjb3VudC8ke3RoaXMuaWR9L2NhbGN1bGF0ZWZlZXNgXG4gICAgKTtcblxuICAgIHJldHVybiBhd2FpdCB0aGlzLmJpdGdvLnBvc3QodXJsKS5zZW5kKHBhcmFtcykucmVzdWx0KCk7XG4gIH1cblxuICAvKipcbiAgICogU2lnbnMgYSBwcmUtYnVpbHQgdHJhZGUgcGF5bG9hZCB3aXRoIHRoZSB1c2VyIGtleSBvbiB0aGlzIHRyYWRpbmcgYWNjb3VudFxuICAgKiBAcGFyYW0gcGFyYW1zXG4gICAqIEBwYXJhbSBwYXJhbXMucGF5bG9hZCB0cmFkZSBwYXlsb2FkIG9iamVjdCBmcm9tIFRyYWRpbmdBY2NvdW50OjpidWlsZFBheWxvYWQoKVxuICAgKiBAcGFyYW0gcGFyYW1zLndhbGxldFBhc3NwaHJhc2UgcGFzc3BocmFzZSBvbiB0aGlzIHRyYWRpbmcgYWNjb3VudCwgdXNlZCB0byB1bmxvY2sgdGhlIGFjY291bnQgdXNlciBrZXlcbiAgICogQHJldHVybnMgaGV4LWVuY29kZWQgc2lnbmF0dXJlIG9mIHRoZSBwYXlsb2FkXG4gICAqL1xuICBhc3luYyBzaWduUGF5bG9hZChwYXJhbXM6IFNpZ25QYXlsb2FkUGFyYW1ldGVycyk6IFByb21pc2U8c3RyaW5nPiB7XG4gICAgY29uc3Qga2V5ID0gKGF3YWl0IHRoaXMud2FsbGV0LmJhc2VDb2luLmtleWNoYWlucygpLmdldCh7IGlkOiB0aGlzLndhbGxldC5rZXlJZHMoKVswXSB9KSkgYXMgYW55O1xuICAgIGNvbnN0IHBydiA9IHRoaXMud2FsbGV0LmJpdGdvLmRlY3J5cHQoe1xuICAgICAgaW5wdXQ6IGtleS5lbmNyeXB0ZWRQcnYsXG4gICAgICBwYXNzd29yZDogcGFyYW1zLndhbGxldFBhc3NwaHJhc2UsXG4gICAgfSk7XG4gICAgY29uc3QgcGF5bG9hZCA9IEpTT04uc3RyaW5naWZ5KHBhcmFtcy5wYXlsb2FkKTtcbiAgICByZXR1cm4gKChhd2FpdCB0aGlzLndhbGxldC5iYXNlQ29pbi5zaWduTWVzc2FnZSh7IHBydiB9LCBwYXlsb2FkKSkgYXMgYW55KS50b1N0cmluZygnaGV4Jyk7XG4gIH1cblxuICBhZmZpcm1hdGlvbnMoKTogSUFmZmlybWF0aW9ucyB7XG4gICAgcmV0dXJuIG5ldyBBZmZpcm1hdGlvbnModGhpcy5iaXRnbywgdGhpcy5lbnRlcnByaXNlSWQsIHRoaXMpO1xuICB9XG5cbiAgc2V0dGxlbWVudHMoKTogSVNldHRsZW1lbnRzIHtcbiAgICByZXR1cm4gbmV3IFNldHRsZW1lbnRzKHRoaXMuYml0Z28sIHRoaXMuZW50ZXJwcmlzZUlkLCB0aGlzKTtcbiAgfVxuXG4gIHBhcnRuZXJzKCk6IElUcmFkaW5nUGFydG5lcnMge1xuICAgIHJldHVybiBuZXcgVHJhZGluZ1BhcnRuZXJzKHRoaXMuYml0Z28sIHRoaXMuZW50ZXJwcmlzZUlkLCB0aGlzKTtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @prettier
|
|
3
|
+
*/
|
|
4
|
+
import { BitGoBase } from '../bitgoBase';
|
|
5
|
+
import { ITradingPartner, TradingAccount, TradingPartnerStatus, TradingPartnerType } from '../trading';
|
|
6
|
+
export declare class TradingPartner implements ITradingPartner {
|
|
7
|
+
private bitgo;
|
|
8
|
+
private enterpriseId;
|
|
9
|
+
private currentAccount;
|
|
10
|
+
id: string;
|
|
11
|
+
primaryEnterpriseName: string;
|
|
12
|
+
primaryAccountId: string;
|
|
13
|
+
secondaryEnterpriseName: string;
|
|
14
|
+
secondaryAccountId: string;
|
|
15
|
+
requesterAccountId: string;
|
|
16
|
+
status: TradingPartnerStatus;
|
|
17
|
+
type: TradingPartnerType;
|
|
18
|
+
constructor(tradingPartnerData: any, bitgo: BitGoBase, enterpriseId: string, currentAccount: TradingAccount);
|
|
19
|
+
/**
|
|
20
|
+
* Check if a trading partner has enough funds to cover the cost of a trade.
|
|
21
|
+
* @param currency the currency to check
|
|
22
|
+
* @param amount the amount of currency to check, represented in base units (such as cents, satoshi, or wei)
|
|
23
|
+
*/
|
|
24
|
+
checkBalance(currency: string, amount: string): Promise<boolean>;
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=tradingPartner.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tradingPartner.d.ts","sourceRoot":"","sources":["../../../../src/bitgo/trading/tradingPartner.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAEvG,qBAAa,cAAe,YAAW,eAAe;IACpD,OAAO,CAAC,KAAK,CAAY;IACzB,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,cAAc,CAAiB;IAEhC,EAAE,EAAE,MAAM,CAAC;IACX,qBAAqB,EAAE,MAAM,CAAC;IAC9B,gBAAgB,EAAE,MAAM,CAAC;IACzB,uBAAuB,EAAE,MAAM,CAAC;IAChC,kBAAkB,EAAE,MAAM,CAAC;IAC3B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,MAAM,EAAE,oBAAoB,CAAC;IAC7B,IAAI,EAAE,kBAAkB,CAAC;gBAEpB,kBAAkB,EAAE,GAAG,EAAE,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,EAAE,cAAc,EAAE,cAAc;IAe3G;;;;OAIG;IACG,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;CAWvE"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.TradingPartner = void 0;
|
|
4
|
+
class TradingPartner {
|
|
5
|
+
constructor(tradingPartnerData, bitgo, enterpriseId, currentAccount) {
|
|
6
|
+
this.id = tradingPartnerData.id;
|
|
7
|
+
this.primaryEnterpriseName = tradingPartnerData.primaryEnterpriseName;
|
|
8
|
+
this.primaryAccountId = tradingPartnerData.primaryAccountId;
|
|
9
|
+
this.secondaryEnterpriseName = tradingPartnerData.secondaryEnterpriseName;
|
|
10
|
+
this.secondaryAccountId = tradingPartnerData.secondaryAccountId;
|
|
11
|
+
this.requesterAccountId = tradingPartnerData.requesterAccountId;
|
|
12
|
+
this.status = tradingPartnerData.status;
|
|
13
|
+
this.type = tradingPartnerData.type;
|
|
14
|
+
this.bitgo = bitgo;
|
|
15
|
+
this.enterpriseId = enterpriseId;
|
|
16
|
+
this.currentAccount = currentAccount;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Check if a trading partner has enough funds to cover the cost of a trade.
|
|
20
|
+
* @param currency the currency to check
|
|
21
|
+
* @param amount the amount of currency to check, represented in base units (such as cents, satoshi, or wei)
|
|
22
|
+
*/
|
|
23
|
+
async checkBalance(currency, amount) {
|
|
24
|
+
const partnerAccountId = this.primaryAccountId === this.currentAccount.id ? this.secondaryAccountId : this.primaryAccountId;
|
|
25
|
+
const url = this.bitgo.microservicesUrl(`/api/trade/v1/enterprise/${this.enterpriseId}/account/${this.currentAccount.id}/tradingpartners/${partnerAccountId}/balance`);
|
|
26
|
+
const response = (await this.bitgo.get(url).query({ currency, amount }).result());
|
|
27
|
+
return response.check;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
exports.TradingPartner = TradingPartner;
|
|
31
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhZGluZ1BhcnRuZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYml0Z28vdHJhZGluZy90cmFkaW5nUGFydG5lci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFNQSxNQUFhLGNBQWM7SUFjekIsWUFBWSxrQkFBdUIsRUFBRSxLQUFnQixFQUFFLFlBQW9CLEVBQUUsY0FBOEI7UUFDekcsSUFBSSxDQUFDLEVBQUUsR0FBRyxrQkFBa0IsQ0FBQyxFQUFFLENBQUM7UUFDaEMsSUFBSSxDQUFDLHFCQUFxQixHQUFHLGtCQUFrQixDQUFDLHFCQUFxQixDQUFDO1FBQ3RFLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxrQkFBa0IsQ0FBQyxnQkFBZ0IsQ0FBQztRQUM1RCxJQUFJLENBQUMsdUJBQXVCLEdBQUcsa0JBQWtCLENBQUMsdUJBQXVCLENBQUM7UUFDMUUsSUFBSSxDQUFDLGtCQUFrQixHQUFHLGtCQUFrQixDQUFDLGtCQUFrQixDQUFDO1FBQ2hFLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxrQkFBa0IsQ0FBQyxrQkFBa0IsQ0FBQztRQUNoRSxJQUFJLENBQUMsTUFBTSxHQUFHLGtCQUFrQixDQUFDLE1BQU0sQ0FBQztRQUN4QyxJQUFJLENBQUMsSUFBSSxHQUFHLGtCQUFrQixDQUFDLElBQUksQ0FBQztRQUVwQyxJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsWUFBWSxHQUFHLFlBQVksQ0FBQztRQUNqQyxJQUFJLENBQUMsY0FBYyxHQUFHLGNBQWMsQ0FBQztJQUN2QyxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILEtBQUssQ0FBQyxZQUFZLENBQUMsUUFBZ0IsRUFBRSxNQUFjO1FBQ2pELE1BQU0sZ0JBQWdCLEdBQ3BCLElBQUksQ0FBQyxnQkFBZ0IsS0FBSyxJQUFJLENBQUMsY0FBYyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUM7UUFDckcsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxnQkFBZ0IsQ0FDckMsNEJBQTRCLElBQUksQ0FBQyxZQUFZLFlBQVksSUFBSSxDQUFDLGNBQWMsQ0FBQyxFQUFFLG9CQUFvQixnQkFBZ0IsVUFBVSxDQUM5SCxDQUFDO1FBRUYsTUFBTSxRQUFRLEdBQUcsQ0FBQyxNQUFNLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFRLENBQUM7UUFFekYsT0FBTyxRQUFRLENBQUMsS0FBSyxDQUFDO0lBQ3hCLENBQUM7Q0FDRjtBQTdDRCx3Q0E2Q0MiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBwcmV0dGllclxuICovXG5pbXBvcnQgeyBCaXRHb0Jhc2UgfSBmcm9tICcuLi9iaXRnb0Jhc2UnO1xuaW1wb3J0IHsgSVRyYWRpbmdQYXJ0bmVyLCBUcmFkaW5nQWNjb3VudCwgVHJhZGluZ1BhcnRuZXJTdGF0dXMsIFRyYWRpbmdQYXJ0bmVyVHlwZSB9IGZyb20gJy4uL3RyYWRpbmcnO1xuXG5leHBvcnQgY2xhc3MgVHJhZGluZ1BhcnRuZXIgaW1wbGVtZW50cyBJVHJhZGluZ1BhcnRuZXIge1xuICBwcml2YXRlIGJpdGdvOiBCaXRHb0Jhc2U7XG4gIHByaXZhdGUgZW50ZXJwcmlzZUlkOiBzdHJpbmc7XG4gIHByaXZhdGUgY3VycmVudEFjY291bnQ6IFRyYWRpbmdBY2NvdW50OyAvLyBhY2NvdW50IG9mIHRoZSB1c2VyIHVzaW5nIHRoZSBTREssIG5lZWRlZCB0byBjb25zdHJ1Y3QgYmFsYW5jZSBjaGVjayBVUkxcblxuICBwdWJsaWMgaWQ6IHN0cmluZztcbiAgcHVibGljIHByaW1hcnlFbnRlcnByaXNlTmFtZTogc3RyaW5nO1xuICBwdWJsaWMgcHJpbWFyeUFjY291bnRJZDogc3RyaW5nO1xuICBwdWJsaWMgc2Vjb25kYXJ5RW50ZXJwcmlzZU5hbWU6IHN0cmluZztcbiAgcHVibGljIHNlY29uZGFyeUFjY291bnRJZDogc3RyaW5nO1xuICBwdWJsaWMgcmVxdWVzdGVyQWNjb3VudElkOiBzdHJpbmc7XG4gIHB1YmxpYyBzdGF0dXM6IFRyYWRpbmdQYXJ0bmVyU3RhdHVzO1xuICBwdWJsaWMgdHlwZTogVHJhZGluZ1BhcnRuZXJUeXBlO1xuXG4gIGNvbnN0cnVjdG9yKHRyYWRpbmdQYXJ0bmVyRGF0YTogYW55LCBiaXRnbzogQml0R29CYXNlLCBlbnRlcnByaXNlSWQ6IHN0cmluZywgY3VycmVudEFjY291bnQ6IFRyYWRpbmdBY2NvdW50KSB7XG4gICAgdGhpcy5pZCA9IHRyYWRpbmdQYXJ0bmVyRGF0YS5pZDtcbiAgICB0aGlzLnByaW1hcnlFbnRlcnByaXNlTmFtZSA9IHRyYWRpbmdQYXJ0bmVyRGF0YS5wcmltYXJ5RW50ZXJwcmlzZU5hbWU7XG4gICAgdGhpcy5wcmltYXJ5QWNjb3VudElkID0gdHJhZGluZ1BhcnRuZXJEYXRhLnByaW1hcnlBY2NvdW50SWQ7XG4gICAgdGhpcy5zZWNvbmRhcnlFbnRlcnByaXNlTmFtZSA9IHRyYWRpbmdQYXJ0bmVyRGF0YS5zZWNvbmRhcnlFbnRlcnByaXNlTmFtZTtcbiAgICB0aGlzLnNlY29uZGFyeUFjY291bnRJZCA9IHRyYWRpbmdQYXJ0bmVyRGF0YS5zZWNvbmRhcnlBY2NvdW50SWQ7XG4gICAgdGhpcy5yZXF1ZXN0ZXJBY2NvdW50SWQgPSB0cmFkaW5nUGFydG5lckRhdGEucmVxdWVzdGVyQWNjb3VudElkO1xuICAgIHRoaXMuc3RhdHVzID0gdHJhZGluZ1BhcnRuZXJEYXRhLnN0YXR1cztcbiAgICB0aGlzLnR5cGUgPSB0cmFkaW5nUGFydG5lckRhdGEudHlwZTtcblxuICAgIHRoaXMuYml0Z28gPSBiaXRnbztcbiAgICB0aGlzLmVudGVycHJpc2VJZCA9IGVudGVycHJpc2VJZDtcbiAgICB0aGlzLmN1cnJlbnRBY2NvdW50ID0gY3VycmVudEFjY291bnQ7XG4gIH1cblxuICAvKipcbiAgICogQ2hlY2sgaWYgYSB0cmFkaW5nIHBhcnRuZXIgaGFzIGVub3VnaCBmdW5kcyB0byBjb3ZlciB0aGUgY29zdCBvZiBhIHRyYWRlLlxuICAgKiBAcGFyYW0gY3VycmVuY3kgdGhlIGN1cnJlbmN5IHRvIGNoZWNrXG4gICAqIEBwYXJhbSBhbW91bnQgdGhlIGFtb3VudCBvZiBjdXJyZW5jeSB0byBjaGVjaywgcmVwcmVzZW50ZWQgaW4gYmFzZSB1bml0cyAoc3VjaCBhcyBjZW50cywgc2F0b3NoaSwgb3Igd2VpKVxuICAgKi9cbiAgYXN5bmMgY2hlY2tCYWxhbmNlKGN1cnJlbmN5OiBzdHJpbmcsIGFtb3VudDogc3RyaW5nKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgY29uc3QgcGFydG5lckFjY291bnRJZCA9XG4gICAgICB0aGlzLnByaW1hcnlBY2NvdW50SWQgPT09IHRoaXMuY3VycmVudEFjY291bnQuaWQgPyB0aGlzLnNlY29uZGFyeUFjY291bnRJZCA6IHRoaXMucHJpbWFyeUFjY291bnRJZDtcbiAgICBjb25zdCB1cmwgPSB0aGlzLmJpdGdvLm1pY3Jvc2VydmljZXNVcmwoXG4gICAgICBgL2FwaS90cmFkZS92MS9lbnRlcnByaXNlLyR7dGhpcy5lbnRlcnByaXNlSWR9L2FjY291bnQvJHt0aGlzLmN1cnJlbnRBY2NvdW50LmlkfS90cmFkaW5ncGFydG5lcnMvJHtwYXJ0bmVyQWNjb3VudElkfS9iYWxhbmNlYFxuICAgICk7XG5cbiAgICBjb25zdCByZXNwb25zZSA9IChhd2FpdCB0aGlzLmJpdGdvLmdldCh1cmwpLnF1ZXJ5KHsgY3VycmVuY3ksIGFtb3VudCB9KS5yZXN1bHQoKSkgYXMgYW55O1xuXG4gICAgcmV0dXJuIHJlc3BvbnNlLmNoZWNrO1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @prettier
|
|
3
|
+
*/
|
|
4
|
+
import { BitGoBase } from '../bitgoBase';
|
|
5
|
+
import { ITradingPartners, TradingAccount, TradingPartner, TradingPartnerAddByCodeParameters } from '../trading';
|
|
6
|
+
export declare class TradingPartners implements ITradingPartners {
|
|
7
|
+
private bitgo;
|
|
8
|
+
private enterpriseId;
|
|
9
|
+
private account;
|
|
10
|
+
constructor(bitgo: BitGoBase, enterpriseId: string, account: TradingAccount);
|
|
11
|
+
/**
|
|
12
|
+
* List all trading partners of your trading account. Your trading partners are the accounts you are allowed to settle with.
|
|
13
|
+
*/
|
|
14
|
+
list(): Promise<TradingPartner[]>;
|
|
15
|
+
/**
|
|
16
|
+
* Add trading partner given the unique referralCode provided by trading partner.
|
|
17
|
+
* @param params
|
|
18
|
+
* @param params.referralCode unique referral code provided by counterparty
|
|
19
|
+
* @param params.type type of trading partnership
|
|
20
|
+
* @param params.requesterSide side of the requester (primary or secondary) important for agency relationships
|
|
21
|
+
*/
|
|
22
|
+
addByCode(params: TradingPartnerAddByCodeParameters): Promise<TradingPartner>;
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=tradingPartners.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tradingPartners.d.ts","sourceRoot":"","sources":["../../../../src/bitgo/trading/tradingPartners.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,cAAc,EAAE,iCAAiC,EAAE,MAAM,YAAY,CAAC;AAEjH,qBAAa,eAAgB,YAAW,gBAAgB;IACtD,OAAO,CAAC,KAAK,CAAY;IAEzB,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,OAAO,CAAiB;gBAEpB,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc;IAM3E;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;IAWvC;;;;;;OAMG;IACG,SAAS,CAAC,MAAM,EAAE,iCAAiC,GAAG,OAAO,CAAC,cAAc,CAAC;CAMpF"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.TradingPartners = void 0;
|
|
4
|
+
const trading_1 = require("../trading");
|
|
5
|
+
class TradingPartners {
|
|
6
|
+
constructor(bitgo, enterpriseId, account) {
|
|
7
|
+
this.bitgo = bitgo;
|
|
8
|
+
this.enterpriseId = enterpriseId;
|
|
9
|
+
this.account = account;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* List all trading partners of your trading account. Your trading partners are the accounts you are allowed to settle with.
|
|
13
|
+
*/
|
|
14
|
+
async list() {
|
|
15
|
+
const url = this.bitgo.microservicesUrl(`/api/trade/v1/enterprise/${this.enterpriseId}/account/${this.account.id}/tradingpartners`);
|
|
16
|
+
const response = (await this.bitgo.get(url).result());
|
|
17
|
+
return response.tradingPartners.map((partner) => new trading_1.TradingPartner(partner, this.bitgo, this.enterpriseId, this.account));
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Add trading partner given the unique referralCode provided by trading partner.
|
|
21
|
+
* @param params
|
|
22
|
+
* @param params.referralCode unique referral code provided by counterparty
|
|
23
|
+
* @param params.type type of trading partnership
|
|
24
|
+
* @param params.requesterSide side of the requester (primary or secondary) important for agency relationships
|
|
25
|
+
*/
|
|
26
|
+
async addByCode(params) {
|
|
27
|
+
const url = this.bitgo.microservicesUrl(`/api/trade/v1/enterprise/${this.enterpriseId}/account/${this.account.id}/tradingpartners`);
|
|
28
|
+
return await this.bitgo.post(url).send(params).result();
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
exports.TradingPartners = TradingPartners;
|
|
32
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhZGluZ1BhcnRuZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2JpdGdvL3RyYWRpbmcvdHJhZGluZ1BhcnRuZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUlBLHdDQUFpSDtBQUVqSCxNQUFhLGVBQWU7SUFNMUIsWUFBWSxLQUFnQixFQUFFLFlBQW9CLEVBQUUsT0FBdUI7UUFDekUsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLFlBQVksR0FBRyxZQUFZLENBQUM7UUFDakMsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7SUFDekIsQ0FBQztJQUVEOztPQUVHO0lBQ0gsS0FBSyxDQUFDLElBQUk7UUFDUixNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLGdCQUFnQixDQUNyQyw0QkFBNEIsSUFBSSxDQUFDLFlBQVksWUFBWSxJQUFJLENBQUMsT0FBTyxDQUFDLEVBQUUsa0JBQWtCLENBQzNGLENBQUM7UUFDRixNQUFNLFFBQVEsR0FBRyxDQUFDLE1BQU0sSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQVEsQ0FBQztRQUU3RCxPQUFPLFFBQVEsQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUNqQyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsSUFBSSx3QkFBYyxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxZQUFZLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUN0RixDQUFDO0lBQ0osQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNILEtBQUssQ0FBQyxTQUFTLENBQUMsTUFBeUM7UUFDdkQsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxnQkFBZ0IsQ0FDckMsNEJBQTRCLElBQUksQ0FBQyxZQUFZLFlBQVksSUFBSSxDQUFDLE9BQU8sQ0FBQyxFQUFFLGtCQUFrQixDQUMzRixDQUFDO1FBQ0YsT0FBTyxNQUFNLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUMxRCxDQUFDO0NBQ0Y7QUF2Q0QsMENBdUNDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAcHJldHRpZXJcbiAqL1xuaW1wb3J0IHsgQml0R29CYXNlIH0gZnJvbSAnLi4vYml0Z29CYXNlJztcbmltcG9ydCB7IElUcmFkaW5nUGFydG5lcnMsIFRyYWRpbmdBY2NvdW50LCBUcmFkaW5nUGFydG5lciwgVHJhZGluZ1BhcnRuZXJBZGRCeUNvZGVQYXJhbWV0ZXJzIH0gZnJvbSAnLi4vdHJhZGluZyc7XG5cbmV4cG9ydCBjbGFzcyBUcmFkaW5nUGFydG5lcnMgaW1wbGVtZW50cyBJVHJhZGluZ1BhcnRuZXJzIHtcbiAgcHJpdmF0ZSBiaXRnbzogQml0R29CYXNlO1xuXG4gIHByaXZhdGUgZW50ZXJwcmlzZUlkOiBzdHJpbmc7XG4gIHByaXZhdGUgYWNjb3VudDogVHJhZGluZ0FjY291bnQ7XG5cbiAgY29uc3RydWN0b3IoYml0Z286IEJpdEdvQmFzZSwgZW50ZXJwcmlzZUlkOiBzdHJpbmcsIGFjY291bnQ6IFRyYWRpbmdBY2NvdW50KSB7XG4gICAgdGhpcy5iaXRnbyA9IGJpdGdvO1xuICAgIHRoaXMuZW50ZXJwcmlzZUlkID0gZW50ZXJwcmlzZUlkO1xuICAgIHRoaXMuYWNjb3VudCA9IGFjY291bnQ7XG4gIH1cblxuICAvKipcbiAgICogTGlzdCBhbGwgdHJhZGluZyBwYXJ0bmVycyBvZiB5b3VyIHRyYWRpbmcgYWNjb3VudC4gWW91ciB0cmFkaW5nIHBhcnRuZXJzIGFyZSB0aGUgYWNjb3VudHMgeW91IGFyZSBhbGxvd2VkIHRvIHNldHRsZSB3aXRoLlxuICAgKi9cbiAgYXN5bmMgbGlzdCgpOiBQcm9taXNlPFRyYWRpbmdQYXJ0bmVyW10+IHtcbiAgICBjb25zdCB1cmwgPSB0aGlzLmJpdGdvLm1pY3Jvc2VydmljZXNVcmwoXG4gICAgICBgL2FwaS90cmFkZS92MS9lbnRlcnByaXNlLyR7dGhpcy5lbnRlcnByaXNlSWR9L2FjY291bnQvJHt0aGlzLmFjY291bnQuaWR9L3RyYWRpbmdwYXJ0bmVyc2BcbiAgICApO1xuICAgIGNvbnN0IHJlc3BvbnNlID0gKGF3YWl0IHRoaXMuYml0Z28uZ2V0KHVybCkucmVzdWx0KCkpIGFzIGFueTtcblxuICAgIHJldHVybiByZXNwb25zZS50cmFkaW5nUGFydG5lcnMubWFwKFxuICAgICAgKHBhcnRuZXIpID0+IG5ldyBUcmFkaW5nUGFydG5lcihwYXJ0bmVyLCB0aGlzLmJpdGdvLCB0aGlzLmVudGVycHJpc2VJZCwgdGhpcy5hY2NvdW50KVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogQWRkIHRyYWRpbmcgcGFydG5lciBnaXZlbiB0aGUgdW5pcXVlIHJlZmVycmFsQ29kZSBwcm92aWRlZCBieSB0cmFkaW5nIHBhcnRuZXIuXG4gICAqIEBwYXJhbSBwYXJhbXNcbiAgICogQHBhcmFtIHBhcmFtcy5yZWZlcnJhbENvZGUgdW5pcXVlIHJlZmVycmFsIGNvZGUgcHJvdmlkZWQgYnkgY291bnRlcnBhcnR5XG4gICAqIEBwYXJhbSBwYXJhbXMudHlwZSB0eXBlIG9mIHRyYWRpbmcgcGFydG5lcnNoaXBcbiAgICogQHBhcmFtIHBhcmFtcy5yZXF1ZXN0ZXJTaWRlIHNpZGUgb2YgdGhlIHJlcXVlc3RlciAocHJpbWFyeSBvciBzZWNvbmRhcnkpIGltcG9ydGFudCBmb3IgYWdlbmN5IHJlbGF0aW9uc2hpcHNcbiAgICovXG4gIGFzeW5jIGFkZEJ5Q29kZShwYXJhbXM6IFRyYWRpbmdQYXJ0bmVyQWRkQnlDb2RlUGFyYW1ldGVycyk6IFByb21pc2U8VHJhZGluZ1BhcnRuZXI+IHtcbiAgICBjb25zdCB1cmwgPSB0aGlzLmJpdGdvLm1pY3Jvc2VydmljZXNVcmwoXG4gICAgICBgL2FwaS90cmFkZS92MS9lbnRlcnByaXNlLyR7dGhpcy5lbnRlcnByaXNlSWR9L2FjY291bnQvJHt0aGlzLmFjY291bnQuaWR9L3RyYWRpbmdwYXJ0bmVyc2BcbiAgICApO1xuICAgIHJldHVybiBhd2FpdCB0aGlzLmJpdGdvLnBvc3QodXJsKS5zZW5kKHBhcmFtcykucmVzdWx0KCk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
import { GShare, KeyShare, PShare, SignShare, UShare, YShare } from '../account-lib/mpc/tss';
|
|
3
|
+
import { BitGoBase } from './bitgoBase';
|
|
4
|
+
import { SignatureShareRecord, TxRequest } from './utils';
|
|
5
|
+
export declare type EncryptedYShare = {
|
|
6
|
+
i: number;
|
|
7
|
+
j: number;
|
|
8
|
+
publicShare: string;
|
|
9
|
+
encryptedPrivateShare: string;
|
|
10
|
+
};
|
|
11
|
+
export declare type DecryptableYShare = {
|
|
12
|
+
yShare: EncryptedYShare;
|
|
13
|
+
recipientPrivateArmor: string;
|
|
14
|
+
senderPublicArmor: string;
|
|
15
|
+
};
|
|
16
|
+
export declare type CombinedKey = {
|
|
17
|
+
commonKeychain: string;
|
|
18
|
+
signingMaterial: SigningMaterial;
|
|
19
|
+
};
|
|
20
|
+
export declare type SigningMaterial = {
|
|
21
|
+
uShare: UShare;
|
|
22
|
+
bitgoYShare: YShare;
|
|
23
|
+
backupYShare?: YShare;
|
|
24
|
+
userYShare?: YShare;
|
|
25
|
+
};
|
|
26
|
+
export declare enum ShareKeyPosition {
|
|
27
|
+
USER = 1,
|
|
28
|
+
BACKUP = 2,
|
|
29
|
+
BITGO = 3
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Prepares a YShare to be exchanged with other key holders.
|
|
33
|
+
* Output is in a format that is usable within BitGo's ecosystem.
|
|
34
|
+
*
|
|
35
|
+
* @param params.keyShare - TSS key share of the party preparing exchange materials
|
|
36
|
+
* @param params.recipientIndex - index of the recipient (1, 2, or 3)
|
|
37
|
+
* @param params.recipientGpgPublicArmor - recipient's public gpg key in armor format
|
|
38
|
+
* @param params.senderGpgPrivateArmor - sender's private gpg key in armor format
|
|
39
|
+
* @returns { EncryptedYShare } encrypted Y Share
|
|
40
|
+
*/
|
|
41
|
+
export declare function encryptYShare(params: {
|
|
42
|
+
keyShare: KeyShare;
|
|
43
|
+
recipientIndex: number;
|
|
44
|
+
recipientGpgPublicArmor: string;
|
|
45
|
+
senderGpgPrivateArmor: string;
|
|
46
|
+
}): Promise<EncryptedYShare>;
|
|
47
|
+
/**
|
|
48
|
+
* Combines YShares to combine the final TSS key
|
|
49
|
+
* This can only be used to create the User or Backup key since it requires the common keychain from BitGo first
|
|
50
|
+
*
|
|
51
|
+
* @param params.keyShare - TSS key share
|
|
52
|
+
* @param params.encryptedYShares - encrypted YShares with information on how to decrypt
|
|
53
|
+
* @param params.commonKeychain - expected common keychain of the combined key
|
|
54
|
+
* @returns {CombinedKey} combined TSS key
|
|
55
|
+
*/
|
|
56
|
+
export declare function createCombinedKey(params: {
|
|
57
|
+
keyShare: KeyShare;
|
|
58
|
+
encryptedYShares: DecryptableYShare[];
|
|
59
|
+
commonKeychain: string;
|
|
60
|
+
}): Promise<CombinedKey>;
|
|
61
|
+
/**
|
|
62
|
+
* Creates the User Sign Share containing the User XShare and the User to Bitgo RShare
|
|
63
|
+
*
|
|
64
|
+
* @param {Buffer} signablePayload - the signablePayload as a buffer
|
|
65
|
+
* @param {PShare} pShare - User's signing material
|
|
66
|
+
* @returns {Promise<SignShare>} - User Sign Share
|
|
67
|
+
*/
|
|
68
|
+
export declare function createUserSignShare(signablePayload: Buffer, pShare: PShare): Promise<SignShare>;
|
|
69
|
+
/**
|
|
70
|
+
* Creates the User to Bitgo GShare
|
|
71
|
+
*
|
|
72
|
+
* @param {SignShare} userSignShare - the User Sign Share
|
|
73
|
+
* @param {SignatureShareRecord} bitgoToUserRShare - the Bitgo to User RShare
|
|
74
|
+
* @param {YShare} backupToUserYShare - the backup key Y share received during wallet creation
|
|
75
|
+
* @param {Buffer} signablePayload - the signable payload from a tx
|
|
76
|
+
* @returns {Promise<GShare>} - the User to Bitgo GShare
|
|
77
|
+
*/
|
|
78
|
+
export declare function createUserToBitGoGShare(userSignShare: SignShare, bitgoToUserRShare: SignatureShareRecord, backupToUserYShare: YShare, bitgoToUserYShare: YShare, signablePayload: Buffer): Promise<GShare>;
|
|
79
|
+
/**
|
|
80
|
+
* Sends the User to Bitgo RShare to Bitgo
|
|
81
|
+
* @param {BitGoBase} bitgo - the bitgo instance
|
|
82
|
+
* @param {String} walletId - the wallet id
|
|
83
|
+
* @param {String} txRequestId - the txRequest Id
|
|
84
|
+
* @param {SignShare} userSignShare - the user Sign Share
|
|
85
|
+
* @param {String} encryptedSignerShare - signer share encrypted to bitgo key
|
|
86
|
+
* @returns {Promise<void>}
|
|
87
|
+
*/
|
|
88
|
+
export declare function offerUserToBitgoRShare(bitgo: BitGoBase, walletId: string, txRequestId: string, userSignShare: SignShare, encryptedSignerShare: string): Promise<void>;
|
|
89
|
+
/**
|
|
90
|
+
* Gets the Bitgo to User RShare from Bitgo
|
|
91
|
+
*
|
|
92
|
+
* @param {BitGoBase} bitgo - the bitgo instance
|
|
93
|
+
* @param {String} walletId - the wallet id
|
|
94
|
+
* @param {String} txRequestId - the txRequest Id
|
|
95
|
+
* @returns {Promise<SignatureShareRecord>} - a Signature Share
|
|
96
|
+
*/
|
|
97
|
+
export declare function getBitgoToUserRShare(bitgo: BitGoBase, walletId: string, txRequestId: string): Promise<SignatureShareRecord>;
|
|
98
|
+
/**
|
|
99
|
+
* Sends the User to Bitgo GShare to Bitgo
|
|
100
|
+
*
|
|
101
|
+
* @param {BitGoBase} bitgo - the bitgo instance
|
|
102
|
+
* @param {String} walletId - the wallet id
|
|
103
|
+
* @param {String} txRequestId - the txRequest Id
|
|
104
|
+
* @param {GShare} userToBitgoGShare - the User to Bitgo GShare
|
|
105
|
+
* @returns {Promise<void>}
|
|
106
|
+
*/
|
|
107
|
+
export declare function sendUserToBitgoGShare(bitgo: BitGoBase, walletId: string, txRequestId: string, userToBitgoGShare: GShare): Promise<void>;
|
|
108
|
+
/**
|
|
109
|
+
* Gets the latest Tx Request by id
|
|
110
|
+
*
|
|
111
|
+
* @param {BitGoBase} bitgo - the bitgo instance
|
|
112
|
+
* @param {String} walletId - the wallet id
|
|
113
|
+
* @param {String} txRequestId - the txRequest Id
|
|
114
|
+
* @returns {Promise<TxRequest>}
|
|
115
|
+
*/
|
|
116
|
+
export declare function getTxRequest(bitgo: BitGoBase, walletId: string, txRequestId: string): Promise<TxRequest>;
|
|
117
|
+
/**
|
|
118
|
+
* Sends a Signature Share
|
|
119
|
+
*
|
|
120
|
+
* @param {BitGoBase} bitgo - the bitgo instance
|
|
121
|
+
* @param {String} walletId - the wallet id *
|
|
122
|
+
* @param {String} txRequestId - the txRequest Id
|
|
123
|
+
* @param {SignatureShareRecord} signatureShare - a Signature Share
|
|
124
|
+
* @returns {Promise<SignatureShareRecord>} - a Signature Share
|
|
125
|
+
*/
|
|
126
|
+
export declare function sendSignatureShare(bitgo: BitGoBase, walletId: string, txRequestId: string, signatureShare: SignatureShareRecord, signerShare?: string): Promise<SignatureShareRecord>;
|
|
127
|
+
//# sourceMappingURL=tss.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tss.d.ts","sourceRoot":"","sources":["../../../src/bitgo/tss.ts"],"names":[],"mappings":"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"}
|