@bitgo-beta/sdk-core 8.2.1-beta.21 → 8.2.1-beta.211
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 +1204 -0
- package/dist/src/account-lib/baseCoin/enum.d.ts +6 -1
- package/dist/src/account-lib/baseCoin/enum.d.ts.map +1 -1
- package/dist/src/account-lib/baseCoin/enum.js +11 -1
- package/dist/src/account-lib/mpc/curves/ed25519.d.ts +4 -18
- package/dist/src/account-lib/mpc/curves/ed25519.d.ts.map +1 -1
- package/dist/src/account-lib/mpc/curves/ed25519.js +6 -60
- package/dist/src/account-lib/mpc/index.d.ts +4 -4
- package/dist/src/account-lib/mpc/index.d.ts.map +1 -1
- package/dist/src/account-lib/mpc/index.js +6 -6
- package/dist/src/account-lib/mpc/shamir.d.ts +5 -37
- package/dist/src/account-lib/mpc/shamir.d.ts.map +1 -1
- package/dist/src/account-lib/mpc/shamir.js +6 -130
- package/dist/src/account-lib/mpc/tss/ecdsa/ecdsa.d.ts +39 -9
- package/dist/src/account-lib/mpc/tss/ecdsa/ecdsa.d.ts.map +1 -1
- package/dist/src/account-lib/mpc/tss/ecdsa/ecdsa.js +164 -43
- package/dist/src/account-lib/mpc/tss/ecdsa/types.d.ts +34 -6
- package/dist/src/account-lib/mpc/tss/ecdsa/types.d.ts.map +1 -1
- package/dist/src/account-lib/mpc/tss/ecdsa/types.js +1 -1
- package/dist/src/account-lib/mpc/tss/eddsa/eddsa.d.ts +1 -1
- package/dist/src/account-lib/mpc/tss/eddsa/eddsa.d.ts.map +1 -1
- package/dist/src/account-lib/mpc/tss/eddsa/eddsa.js +1 -1
- package/dist/src/account-lib/mpc/tss/eddsa/types.d.ts +0 -3
- package/dist/src/account-lib/mpc/tss/eddsa/types.d.ts.map +1 -1
- package/dist/src/account-lib/mpc/tss/eddsa/types.js +1 -1
- package/dist/src/bitgo/address-book/address-book.d.ts +61 -0
- package/dist/src/bitgo/address-book/address-book.d.ts.map +1 -0
- package/dist/src/bitgo/address-book/address-book.js +142 -0
- package/dist/src/bitgo/address-book/index.d.ts +3 -0
- package/dist/src/bitgo/address-book/index.d.ts.map +1 -0
- package/dist/src/bitgo/address-book/index.js +15 -0
- package/dist/src/bitgo/address-book/types.d.ts +170 -0
- package/dist/src/bitgo/address-book/types.d.ts.map +1 -0
- package/dist/src/bitgo/address-book/types.js +3 -0
- package/dist/src/bitgo/baseCoin/baseCoin.d.ts +18 -1
- package/dist/src/bitgo/baseCoin/baseCoin.d.ts.map +1 -1
- package/dist/src/bitgo/baseCoin/baseCoin.js +18 -1
- package/dist/src/bitgo/baseCoin/iBaseCoin.d.ts +43 -5
- package/dist/src/bitgo/baseCoin/iBaseCoin.d.ts.map +1 -1
- package/dist/src/bitgo/baseCoin/iBaseCoin.js +1 -1
- package/dist/src/bitgo/bitgoBase.d.ts +2 -1
- package/dist/src/bitgo/bitgoBase.d.ts.map +1 -1
- package/dist/src/bitgo/bitgoBase.js +1 -1
- package/dist/src/bitgo/config.d.ts +12 -0
- package/dist/src/bitgo/config.d.ts.map +1 -1
- package/dist/src/bitgo/enterprise/enterprise.d.ts +13 -10
- package/dist/src/bitgo/enterprise/enterprise.d.ts.map +1 -1
- package/dist/src/bitgo/enterprise/enterprise.js +29 -14
- package/dist/src/bitgo/enterprise/enterprises.d.ts +6 -0
- package/dist/src/bitgo/enterprise/enterprises.d.ts.map +1 -1
- package/dist/src/bitgo/enterprise/enterprises.js +26 -1
- package/dist/src/bitgo/enterprise/iEnterprise.d.ts +4 -4
- package/dist/src/bitgo/enterprise/iEnterprise.d.ts.map +1 -1
- package/dist/src/bitgo/enterprise/iEnterprise.js +1 -1
- package/dist/src/bitgo/enterprise/iEnterprises.d.ts +2 -0
- package/dist/src/bitgo/enterprise/iEnterprises.d.ts.map +1 -1
- package/dist/src/bitgo/enterprise/iEnterprises.js +1 -1
- package/dist/src/bitgo/environments.d.ts +15 -2
- package/dist/src/bitgo/environments.d.ts.map +1 -1
- package/dist/src/bitgo/environments.js +34 -9
- package/dist/src/bitgo/keychain/iKeychains.d.ts +10 -0
- package/dist/src/bitgo/keychain/iKeychains.d.ts.map +1 -1
- package/dist/src/bitgo/keychain/iKeychains.js +1 -1
- package/dist/src/bitgo/keychain/keychains.d.ts.map +1 -1
- package/dist/src/bitgo/keychain/keychains.js +31 -24
- package/dist/src/bitgo/keychain/ovcJsonCodec.d.ts +124 -89
- package/dist/src/bitgo/keychain/ovcJsonCodec.d.ts.map +1 -1
- package/dist/src/bitgo/keychain/ovcJsonCodec.js +31 -24
- package/dist/src/bitgo/pendingApproval/iPendingApproval.d.ts +2 -0
- package/dist/src/bitgo/pendingApproval/iPendingApproval.d.ts.map +1 -1
- package/dist/src/bitgo/pendingApproval/iPendingApproval.js +1 -1
- package/dist/src/bitgo/pendingApproval/pendingApproval.d.ts.map +1 -1
- package/dist/src/bitgo/pendingApproval/pendingApproval.js +9 -3
- package/dist/src/bitgo/recovery/initiate.d.ts +7 -1
- package/dist/src/bitgo/recovery/initiate.d.ts.map +1 -1
- package/dist/src/bitgo/recovery/initiate.js +1 -1
- package/dist/src/bitgo/staking/iStakingWallet.d.ts +38 -2
- package/dist/src/bitgo/staking/iStakingWallet.d.ts.map +1 -1
- package/dist/src/bitgo/staking/iStakingWallet.js +1 -1
- package/dist/src/bitgo/staking/stakingWallet.d.ts +7 -1
- package/dist/src/bitgo/staking/stakingWallet.d.ts.map +1 -1
- package/dist/src/bitgo/staking/stakingWallet.js +9 -1
- package/dist/src/bitgo/trading/iTradingAccount.d.ts +2 -32
- package/dist/src/bitgo/trading/iTradingAccount.d.ts.map +1 -1
- package/dist/src/bitgo/trading/iTradingAccount.js +1 -1
- package/dist/src/bitgo/trading/index.d.ts +0 -15
- package/dist/src/bitgo/trading/index.d.ts.map +1 -1
- package/dist/src/bitgo/trading/index.js +1 -16
- package/dist/src/bitgo/trading/network/index.d.ts +3 -0
- package/dist/src/bitgo/trading/network/index.d.ts.map +1 -0
- package/dist/src/bitgo/trading/network/index.js +15 -0
- package/dist/src/bitgo/trading/network/network.d.ts +35 -0
- package/dist/src/bitgo/trading/network/network.d.ts.map +1 -0
- package/dist/src/bitgo/trading/network/network.js +97 -0
- package/dist/src/bitgo/trading/network/types.d.ts +244 -0
- package/dist/src/bitgo/trading/network/types.d.ts.map +1 -0
- package/dist/src/bitgo/trading/network/types.js +3 -0
- package/dist/src/bitgo/trading/tradingAccount.d.ts +11 -35
- package/dist/src/bitgo/trading/tradingAccount.d.ts.map +1 -1
- package/dist/src/bitgo/trading/tradingAccount.js +9 -96
- package/dist/src/bitgo/tss/common.d.ts +14 -3
- package/dist/src/bitgo/tss/common.d.ts.map +1 -1
- package/dist/src/bitgo/tss/common.js +21 -2
- package/dist/src/bitgo/tss/ecdsa/ecdsa.d.ts.map +1 -1
- package/dist/src/bitgo/tss/ecdsa/ecdsa.js +8 -16
- package/dist/src/bitgo/tss/eddsa/eddsa.d.ts +6 -5
- package/dist/src/bitgo/tss/eddsa/eddsa.d.ts.map +1 -1
- package/dist/src/bitgo/tss/eddsa/eddsa.js +20 -9
- package/dist/src/bitgo/tss/types.d.ts +19 -0
- package/dist/src/bitgo/tss/types.d.ts.map +1 -1
- package/dist/src/bitgo/tss/types.js +1 -1
- package/dist/src/bitgo/utils/abstractUtxoCoinUtil.d.ts +4 -0
- package/dist/src/bitgo/utils/abstractUtxoCoinUtil.d.ts.map +1 -1
- package/dist/src/bitgo/utils/abstractUtxoCoinUtil.js +17 -2
- package/dist/src/bitgo/utils/codecProps.d.ts +7 -0
- package/dist/src/bitgo/utils/codecProps.d.ts.map +1 -0
- package/dist/src/bitgo/utils/codecProps.js +41 -0
- package/dist/src/bitgo/utils/opengpgUtils.d.ts +2 -2
- package/dist/src/bitgo/utils/opengpgUtils.d.ts.map +1 -1
- package/dist/src/bitgo/utils/opengpgUtils.js +9 -12
- package/dist/src/bitgo/utils/postWithCodec.d.ts +18 -0
- package/dist/src/bitgo/utils/postWithCodec.d.ts.map +1 -0
- package/dist/src/bitgo/utils/postWithCodec.js +63 -0
- package/dist/src/bitgo/utils/tss/baseTSSUtils.d.ts +59 -12
- package/dist/src/bitgo/utils/tss/baseTSSUtils.d.ts.map +1 -1
- package/dist/src/bitgo/utils/tss/baseTSSUtils.js +71 -9
- package/dist/src/bitgo/utils/tss/baseTypes.d.ts +184 -9
- package/dist/src/bitgo/utils/tss/baseTypes.d.ts.map +1 -1
- package/dist/src/bitgo/utils/tss/baseTypes.js +27 -2
- package/dist/src/bitgo/utils/tss/ecdsa/ecdsa.d.ts +46 -10
- package/dist/src/bitgo/utils/tss/ecdsa/ecdsa.d.ts.map +1 -1
- package/dist/src/bitgo/utils/tss/ecdsa/ecdsa.js +225 -123
- package/dist/src/bitgo/utils/tss/ecdsa/types.d.ts +9 -0
- package/dist/src/bitgo/utils/tss/ecdsa/types.d.ts.map +1 -1
- package/dist/src/bitgo/utils/tss/ecdsa/types.js +1 -1
- package/dist/src/bitgo/utils/tss/eddsa/eddsa.d.ts +18 -5
- package/dist/src/bitgo/utils/tss/eddsa/eddsa.d.ts.map +1 -1
- package/dist/src/bitgo/utils/tss/eddsa/eddsa.js +79 -25
- package/dist/src/bitgo/wallet/BuildParams.d.ts +112 -0
- package/dist/src/bitgo/wallet/BuildParams.d.ts.map +1 -0
- package/dist/src/bitgo/wallet/BuildParams.js +121 -0
- package/dist/src/bitgo/wallet/iWallet.d.ts +60 -5
- package/dist/src/bitgo/wallet/iWallet.d.ts.map +1 -1
- package/dist/src/bitgo/wallet/iWallet.js +1 -1
- package/dist/src/bitgo/wallet/iWallets.d.ts +16 -5
- package/dist/src/bitgo/wallet/iWallets.d.ts.map +1 -1
- package/dist/src/bitgo/wallet/iWallets.js +1 -1
- package/dist/src/bitgo/wallet/wallet.d.ts +79 -6
- package/dist/src/bitgo/wallet/wallet.d.ts.map +1 -1
- package/dist/src/bitgo/wallet/wallet.js +370 -124
- package/dist/src/bitgo/wallet/wallets.d.ts +25 -5
- package/dist/src/bitgo/wallet/wallets.d.ts.map +1 -1
- package/dist/src/bitgo/wallet/wallets.js +168 -51
- package/dist/src/index.d.ts +4 -0
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +4 -2
- package/dist/src/openssl/index.d.ts +4 -1
- package/dist/src/openssl/index.d.ts.map +1 -1
- package/dist/src/openssl/index.js +7 -12
- package/dist/test/node.utils.d.ts +2 -0
- package/dist/test/node.utils.d.ts.map +1 -0
- package/dist/test/node.utils.js +5 -0
- package/dist/test/unit/account-lib/mpc/tss/ecdsa/ecdsa.d.ts +2 -0
- package/dist/test/unit/account-lib/mpc/tss/ecdsa/ecdsa.d.ts.map +1 -0
- package/dist/test/unit/account-lib/mpc/tss/ecdsa/ecdsa.js +217 -0
- package/dist/test/unit/account-lib/mpc/tss/ecdsa/fixtures.d.ts +3 -0
- package/dist/test/unit/account-lib/mpc/tss/ecdsa/fixtures.d.ts.map +1 -0
- package/dist/test/unit/account-lib/mpc/tss/ecdsa/fixtures.js +24 -0
- package/dist/test/unit/bitgo/utils/abstractUtxoCoinUtil.d.ts +2 -0
- package/dist/test/unit/bitgo/utils/abstractUtxoCoinUtil.d.ts.map +1 -0
- package/dist/test/unit/bitgo/utils/abstractUtxoCoinUtil.js +25 -0
- package/dist/test/unit/bitgo/utils/postWithCodec.d.ts +2 -0
- package/dist/test/unit/bitgo/utils/postWithCodec.d.ts.map +1 -0
- package/dist/test/unit/bitgo/utils/postWithCodec.js +75 -0
- package/dist/test/unit/bitgo/wallet/SendTransactionRequest.d.ts +2 -0
- package/dist/test/unit/bitgo/wallet/SendTransactionRequest.d.ts.map +1 -0
- package/dist/test/unit/bitgo/wallet/SendTransactionRequest.js +44 -0
- package/dist/test/unit/openssl.d.ts +2 -0
- package/dist/test/unit/openssl.d.ts.map +1 -0
- package/dist/test/unit/openssl.js +39 -0
- package/dist/test/unit/units.d.ts +2 -0
- package/dist/test/unit/units.d.ts.map +1 -0
- package/dist/test/unit/units.js +98 -0
- package/dist/tsconfig.tsbuildinfo +1 -8340
- package/package.json +21 -17
- package/dist/src/account-lib/mpc/hdTree.d.ts +0 -31
- package/dist/src/account-lib/mpc/hdTree.d.ts.map +0 -1
- package/dist/src/account-lib/mpc/hdTree.js +0 -141
- package/dist/src/account-lib/mpc/types.d.ts +0 -5
- package/dist/src/account-lib/mpc/types.d.ts.map +0 -1
- package/dist/src/account-lib/mpc/types.js +0 -3
- package/dist/src/bitgo/trading/affirmation.d.ts +0 -35
- package/dist/src/bitgo/trading/affirmation.d.ts.map +0 -1
- package/dist/src/bitgo/trading/affirmation.js +0 -53
- package/dist/src/bitgo/trading/affirmations.d.ts +0 -23
- package/dist/src/bitgo/trading/affirmations.d.ts.map +0 -1
- package/dist/src/bitgo/trading/affirmations.js +0 -45
- package/dist/src/bitgo/trading/iAffirmation.d.ts +0 -15
- package/dist/src/bitgo/trading/iAffirmation.d.ts.map +0 -1
- package/dist/src/bitgo/trading/iAffirmation.js +0 -13
- package/dist/src/bitgo/trading/iAffirmations.d.ts +0 -10
- package/dist/src/bitgo/trading/iAffirmations.d.ts.map +0 -1
- package/dist/src/bitgo/trading/iAffirmations.js +0 -3
- package/dist/src/bitgo/trading/iSettlement.d.ts +0 -25
- package/dist/src/bitgo/trading/iSettlement.d.ts.map +0 -1
- package/dist/src/bitgo/trading/iSettlement.js +0 -17
- package/dist/src/bitgo/trading/iSettlements.d.ts +0 -19
- package/dist/src/bitgo/trading/iSettlements.d.ts.map +0 -1
- package/dist/src/bitgo/trading/iSettlements.js +0 -3
- package/dist/src/bitgo/trading/iTradingPartner.d.ts +0 -14
- package/dist/src/bitgo/trading/iTradingPartner.d.ts.map +0 -1
- package/dist/src/bitgo/trading/iTradingPartner.js +0 -17
- package/dist/src/bitgo/trading/iTradingPartners.d.ts +0 -15
- package/dist/src/bitgo/trading/iTradingPartners.d.ts.map +0 -1
- package/dist/src/bitgo/trading/iTradingPartners.js +0 -9
- package/dist/src/bitgo/trading/lock.d.ts +0 -16
- package/dist/src/bitgo/trading/lock.d.ts.map +0 -1
- package/dist/src/bitgo/trading/lock.js +0 -12
- package/dist/src/bitgo/trading/payload.d.ts +0 -22
- package/dist/src/bitgo/trading/payload.d.ts.map +0 -1
- package/dist/src/bitgo/trading/payload.js +0 -3
- package/dist/src/bitgo/trading/settlement.d.ts +0 -16
- package/dist/src/bitgo/trading/settlement.d.ts.map +0 -1
- package/dist/src/bitgo/trading/settlement.js +0 -21
- package/dist/src/bitgo/trading/settlements.d.ts +0 -32
- package/dist/src/bitgo/trading/settlements.d.ts.map +0 -1
- package/dist/src/bitgo/trading/settlements.js +0 -61
- package/dist/src/bitgo/trading/trade.d.ts +0 -29
- package/dist/src/bitgo/trading/trade.d.ts.map +0 -1
- package/dist/src/bitgo/trading/trade.js +0 -11
- package/dist/src/bitgo/trading/tradingPartner.d.ts +0 -26
- package/dist/src/bitgo/trading/tradingPartner.d.ts.map +0 -1
- package/dist/src/bitgo/trading/tradingPartner.js +0 -31
- package/dist/src/bitgo/trading/tradingPartners.d.ts +0 -24
- package/dist/src/bitgo/trading/tradingPartners.d.ts.map +0 -1
- package/dist/src/bitgo/trading/tradingPartners.js +0 -32
- package/dist/src/openssl/openssl.d.ts +0 -12
- package/dist/src/openssl/openssl.d.ts.map +0 -1
- package/dist/src/openssl/openssl.js +0 -48
- package/dist/src/openssl/opensslbytes.d.ts +0 -4
- package/dist/src/openssl/opensslbytes.d.ts.map +0 -1
- package/dist/src/openssl/opensslbytes.js +0 -20
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
5
|
+
}) : (function(o, m, k, k2) {
|
|
6
|
+
if (k2 === undefined) k2 = k;
|
|
7
|
+
o[k2] = m[k];
|
|
8
|
+
}));
|
|
9
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
10
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
11
|
+
}) : function(o, v) {
|
|
12
|
+
o["default"] = v;
|
|
13
|
+
});
|
|
14
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
15
|
+
if (mod && mod.__esModule) return mod;
|
|
16
|
+
var result = {};
|
|
17
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
18
|
+
__setModuleDefault(result, mod);
|
|
19
|
+
return result;
|
|
20
|
+
};
|
|
21
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
22
|
+
const assert = __importStar(require("assert"));
|
|
23
|
+
const public_types_1 = require("@bitgo/public-types");
|
|
24
|
+
describe('SendTransactionRequest', function () {
|
|
25
|
+
it('enforces codec', function () {
|
|
26
|
+
assert.deepStrictEqual(public_types_1.TxSendBody.encode({
|
|
27
|
+
addressType: 'p2sh',
|
|
28
|
+
txFormat: 'psbt',
|
|
29
|
+
comment: 'foo',
|
|
30
|
+
unknown: 'bar',
|
|
31
|
+
}), {
|
|
32
|
+
addressType: 'p2sh',
|
|
33
|
+
txFormat: 'psbt',
|
|
34
|
+
comment: 'foo',
|
|
35
|
+
// drops unknown properties
|
|
36
|
+
});
|
|
37
|
+
assert.deepStrictEqual(public_types_1.TxSendBody.encode({ txHex: '00' }), { txHex: '00' });
|
|
38
|
+
assert.deepStrictEqual(public_types_1.TxSendBody.encode({ txHex: '00', addressType: 'p2sh', bar: 'omit' }), {
|
|
39
|
+
txHex: '00',
|
|
40
|
+
addressType: 'p2sh',
|
|
41
|
+
});
|
|
42
|
+
});
|
|
43
|
+
});
|
|
44
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2VuZFRyYW5zYWN0aW9uUmVxdWVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Rlc3QvdW5pdC9iaXRnby93YWxsZXQvU2VuZFRyYW5zYWN0aW9uUmVxdWVzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSwrQ0FBaUM7QUFDakMsc0RBQWlEO0FBRWpELFFBQVEsQ0FBQyx3QkFBd0IsRUFBRTtJQUNqQyxFQUFFLENBQUMsZ0JBQWdCLEVBQUU7UUFDbkIsTUFBTSxDQUFDLGVBQWUsQ0FDcEIseUJBQVUsQ0FBQyxNQUFNLENBQUM7WUFDaEIsV0FBVyxFQUFFLE1BQU07WUFDbkIsUUFBUSxFQUFFLE1BQU07WUFDaEIsT0FBTyxFQUFFLEtBQUs7WUFDZCxPQUFPLEVBQUUsS0FBSztTQUNSLENBQUMsRUFDVDtZQUNFLFdBQVcsRUFBRSxNQUFNO1lBQ25CLFFBQVEsRUFBRSxNQUFNO1lBQ2hCLE9BQU8sRUFBRSxLQUFLO1lBQ2QsMkJBQTJCO1NBQzVCLENBQ0YsQ0FBQztRQUVGLE1BQU0sQ0FBQyxlQUFlLENBQUMseUJBQVUsQ0FBQyxNQUFNLENBQUMsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLENBQUMsRUFBRSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQzVFLE1BQU0sQ0FBQyxlQUFlLENBQUMseUJBQVUsQ0FBQyxNQUFNLENBQUMsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBUyxDQUFDLEVBQUU7WUFDbEcsS0FBSyxFQUFFLElBQUk7WUFDWCxXQUFXLEVBQUUsTUFBTTtTQUNwQixDQUFDLENBQUM7SUFDTCxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgYXNzZXJ0IGZyb20gJ2Fzc2VydCc7XG5pbXBvcnQgeyBUeFNlbmRCb2R5IH0gZnJvbSAnQGJpdGdvL3B1YmxpYy10eXBlcyc7XG5cbmRlc2NyaWJlKCdTZW5kVHJhbnNhY3Rpb25SZXF1ZXN0JywgZnVuY3Rpb24gKCkge1xuICBpdCgnZW5mb3JjZXMgY29kZWMnLCBmdW5jdGlvbiAoKSB7XG4gICAgYXNzZXJ0LmRlZXBTdHJpY3RFcXVhbChcbiAgICAgIFR4U2VuZEJvZHkuZW5jb2RlKHtcbiAgICAgICAgYWRkcmVzc1R5cGU6ICdwMnNoJyxcbiAgICAgICAgdHhGb3JtYXQ6ICdwc2J0JyxcbiAgICAgICAgY29tbWVudDogJ2ZvbycsXG4gICAgICAgIHVua25vd246ICdiYXInLFxuICAgICAgfSBhcyBhbnkpLFxuICAgICAge1xuICAgICAgICBhZGRyZXNzVHlwZTogJ3Ayc2gnLFxuICAgICAgICB0eEZvcm1hdDogJ3BzYnQnLFxuICAgICAgICBjb21tZW50OiAnZm9vJyxcbiAgICAgICAgLy8gZHJvcHMgdW5rbm93biBwcm9wZXJ0aWVzXG4gICAgICB9XG4gICAgKTtcblxuICAgIGFzc2VydC5kZWVwU3RyaWN0RXF1YWwoVHhTZW5kQm9keS5lbmNvZGUoeyB0eEhleDogJzAwJyB9KSwgeyB0eEhleDogJzAwJyB9KTtcbiAgICBhc3NlcnQuZGVlcFN0cmljdEVxdWFsKFR4U2VuZEJvZHkuZW5jb2RlKHsgdHhIZXg6ICcwMCcsIGFkZHJlc3NUeXBlOiAncDJzaCcsIGJhcjogJ29taXQnIH0gYXMgYW55KSwge1xuICAgICAgdHhIZXg6ICcwMCcsXG4gICAgICBhZGRyZXNzVHlwZTogJ3Ayc2gnLFxuICAgIH0pO1xuICB9KTtcbn0pO1xuIl19
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"openssl.d.ts","sourceRoot":"","sources":["../../../test/unit/openssl.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,CAAC"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
require("should");
|
|
4
|
+
const sdk_lib_mpc_1 = require("@bitgo-beta/sdk-lib-mpc");
|
|
5
|
+
const bigint_crypto_utils_1 = require("bigint-crypto-utils");
|
|
6
|
+
const node_utils_1 = require("../node.utils");
|
|
7
|
+
describe('openssl', function () {
|
|
8
|
+
it('should throw an error if module is not initialized', async function () {
|
|
9
|
+
const openssl = new sdk_lib_mpc_1.OpenSSL();
|
|
10
|
+
await openssl
|
|
11
|
+
.generateSafePrime(sdk_lib_mpc_1.minModulusBitLength)
|
|
12
|
+
.should.be.rejectedWith('The OpenSSl class is not initialized! Please call OpenSSL.init().');
|
|
13
|
+
});
|
|
14
|
+
// node 14 requires --experimental-wasm-bigint node flag
|
|
15
|
+
if (node_utils_1.NODE_MAJOR_VERSION > 14) {
|
|
16
|
+
it('should generate a safe prime number of a certain bitLength', async function () {
|
|
17
|
+
const openssl = new sdk_lib_mpc_1.OpenSSL();
|
|
18
|
+
await openssl.init();
|
|
19
|
+
const safePrime = await openssl.generateSafePrime(512);
|
|
20
|
+
bigint_crypto_utils_1.bitLength(safePrime).should.equal(512);
|
|
21
|
+
});
|
|
22
|
+
it('should generate a safe prime number', async function () {
|
|
23
|
+
const openssl = new sdk_lib_mpc_1.OpenSSL();
|
|
24
|
+
await openssl.init();
|
|
25
|
+
const safePrime = await openssl.generateSafePrime(512);
|
|
26
|
+
let isPrime = await bigint_crypto_utils_1.isProbablyPrime(safePrime);
|
|
27
|
+
isPrime.should.be.true();
|
|
28
|
+
isPrime = await bigint_crypto_utils_1.isProbablyPrime((safePrime - BigInt(1)) / BigInt(2));
|
|
29
|
+
isPrime.should.be.true();
|
|
30
|
+
});
|
|
31
|
+
it('should be able to generate multiple safe primes with the same openssl instance', async function () {
|
|
32
|
+
const openssl = new sdk_lib_mpc_1.OpenSSL();
|
|
33
|
+
await openssl.init();
|
|
34
|
+
const safePrimes = await Promise.all([openssl.generateSafePrime(512), openssl.generateSafePrime(512)]);
|
|
35
|
+
safePrimes.length.should.equal(2);
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
});
|
|
39
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3BlbnNzbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Rlc3QvdW5pdC9vcGVuc3NsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsa0JBQWdCO0FBQ2hCLHlEQUF1RTtBQUN2RSw2REFBaUU7QUFDakUsOENBQW1EO0FBRW5ELFFBQVEsQ0FBQyxTQUFTLEVBQUU7SUFDbEIsRUFBRSxDQUFDLG9EQUFvRCxFQUFFLEtBQUs7UUFDNUQsTUFBTSxPQUFPLEdBQUcsSUFBSSxxQkFBTyxFQUFFLENBQUM7UUFDOUIsTUFBTSxPQUFPO2FBQ1YsaUJBQWlCLENBQUMsaUNBQW1CLENBQUM7YUFDdEMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxZQUFZLENBQUMsbUVBQW1FLENBQUMsQ0FBQztJQUNqRyxDQUFDLENBQUMsQ0FBQztJQUVILHdEQUF3RDtJQUN4RCxJQUFJLCtCQUFrQixHQUFHLEVBQUUsRUFBRTtRQUMzQixFQUFFLENBQUMsNERBQTRELEVBQUUsS0FBSztZQUNwRSxNQUFNLE9BQU8sR0FBRyxJQUFJLHFCQUFPLEVBQUUsQ0FBQztZQUM5QixNQUFNLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNyQixNQUFNLFNBQVMsR0FBRyxNQUFNLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUN2RCwrQkFBUyxDQUFDLFNBQVMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDekMsQ0FBQyxDQUFDLENBQUM7UUFFSCxFQUFFLENBQUMscUNBQXFDLEVBQUUsS0FBSztZQUM3QyxNQUFNLE9BQU8sR0FBRyxJQUFJLHFCQUFPLEVBQUUsQ0FBQztZQUM5QixNQUFNLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNyQixNQUFNLFNBQVMsR0FBRyxNQUFNLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUN2RCxJQUFJLE9BQU8sR0FBRyxNQUFNLHFDQUFlLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDL0MsT0FBTyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDekIsT0FBTyxHQUFHLE1BQU0scUNBQWUsQ0FBQyxDQUFDLFNBQVMsR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNyRSxPQUFPLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUMzQixDQUFDLENBQUMsQ0FBQztRQUVILEVBQUUsQ0FBQyxnRkFBZ0YsRUFBRSxLQUFLO1lBQ3hGLE1BQU0sT0FBTyxHQUFHLElBQUkscUJBQU8sRUFBRSxDQUFDO1lBQzlCLE1BQU0sT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ3JCLE1BQU0sVUFBVSxHQUFHLE1BQU0sT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLENBQUMsRUFBRSxPQUFPLENBQUMsaUJBQWlCLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3ZHLFVBQVUsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNwQyxDQUFDLENBQUMsQ0FBQztLQUNKO0FBQ0gsQ0FBQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgJ3Nob3VsZCc7XG5pbXBvcnQgeyBPcGVuU1NMLCBtaW5Nb2R1bHVzQml0TGVuZ3RoIH0gZnJvbSAnQGJpdGdvLWJldGEvc2RrLWxpYi1tcGMnO1xuaW1wb3J0IHsgYml0TGVuZ3RoLCBpc1Byb2JhYmx5UHJpbWUgfSBmcm9tICdiaWdpbnQtY3J5cHRvLXV0aWxzJztcbmltcG9ydCB7IE5PREVfTUFKT1JfVkVSU0lPTiB9IGZyb20gJy4uL25vZGUudXRpbHMnO1xuXG5kZXNjcmliZSgnb3BlbnNzbCcsIGZ1bmN0aW9uICgpIHtcbiAgaXQoJ3Nob3VsZCB0aHJvdyBhbiBlcnJvciBpZiBtb2R1bGUgaXMgbm90IGluaXRpYWxpemVkJywgYXN5bmMgZnVuY3Rpb24gKCkge1xuICAgIGNvbnN0IG9wZW5zc2wgPSBuZXcgT3BlblNTTCgpO1xuICAgIGF3YWl0IG9wZW5zc2xcbiAgICAgIC5nZW5lcmF0ZVNhZmVQcmltZShtaW5Nb2R1bHVzQml0TGVuZ3RoKVxuICAgICAgLnNob3VsZC5iZS5yZWplY3RlZFdpdGgoJ1RoZSBPcGVuU1NsIGNsYXNzIGlzIG5vdCBpbml0aWFsaXplZCEgUGxlYXNlIGNhbGwgT3BlblNTTC5pbml0KCkuJyk7XG4gIH0pO1xuXG4gIC8vIG5vZGUgMTQgcmVxdWlyZXMgLS1leHBlcmltZW50YWwtd2FzbS1iaWdpbnQgbm9kZSBmbGFnXG4gIGlmIChOT0RFX01BSk9SX1ZFUlNJT04gPiAxNCkge1xuICAgIGl0KCdzaG91bGQgZ2VuZXJhdGUgYSBzYWZlIHByaW1lIG51bWJlciBvZiBhIGNlcnRhaW4gYml0TGVuZ3RoJywgYXN5bmMgZnVuY3Rpb24gKCkge1xuICAgICAgY29uc3Qgb3BlbnNzbCA9IG5ldyBPcGVuU1NMKCk7XG4gICAgICBhd2FpdCBvcGVuc3NsLmluaXQoKTtcbiAgICAgIGNvbnN0IHNhZmVQcmltZSA9IGF3YWl0IG9wZW5zc2wuZ2VuZXJhdGVTYWZlUHJpbWUoNTEyKTtcbiAgICAgIGJpdExlbmd0aChzYWZlUHJpbWUpLnNob3VsZC5lcXVhbCg1MTIpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCBnZW5lcmF0ZSBhIHNhZmUgcHJpbWUgbnVtYmVyJywgYXN5bmMgZnVuY3Rpb24gKCkge1xuICAgICAgY29uc3Qgb3BlbnNzbCA9IG5ldyBPcGVuU1NMKCk7XG4gICAgICBhd2FpdCBvcGVuc3NsLmluaXQoKTtcbiAgICAgIGNvbnN0IHNhZmVQcmltZSA9IGF3YWl0IG9wZW5zc2wuZ2VuZXJhdGVTYWZlUHJpbWUoNTEyKTtcbiAgICAgIGxldCBpc1ByaW1lID0gYXdhaXQgaXNQcm9iYWJseVByaW1lKHNhZmVQcmltZSk7XG4gICAgICBpc1ByaW1lLnNob3VsZC5iZS50cnVlKCk7XG4gICAgICBpc1ByaW1lID0gYXdhaXQgaXNQcm9iYWJseVByaW1lKChzYWZlUHJpbWUgLSBCaWdJbnQoMSkpIC8gQmlnSW50KDIpKTtcbiAgICAgIGlzUHJpbWUuc2hvdWxkLmJlLnRydWUoKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgYmUgYWJsZSB0byBnZW5lcmF0ZSBtdWx0aXBsZSBzYWZlIHByaW1lcyB3aXRoIHRoZSBzYW1lIG9wZW5zc2wgaW5zdGFuY2UnLCBhc3luYyBmdW5jdGlvbiAoKSB7XG4gICAgICBjb25zdCBvcGVuc3NsID0gbmV3IE9wZW5TU0woKTtcbiAgICAgIGF3YWl0IG9wZW5zc2wuaW5pdCgpO1xuICAgICAgY29uc3Qgc2FmZVByaW1lcyA9IGF3YWl0IFByb21pc2UuYWxsKFtvcGVuc3NsLmdlbmVyYXRlU2FmZVByaW1lKDUxMiksIG9wZW5zc2wuZ2VuZXJhdGVTYWZlUHJpbWUoNTEyKV0pO1xuICAgICAgc2FmZVByaW1lcy5sZW5ndGguc2hvdWxkLmVxdWFsKDIpO1xuICAgIH0pO1xuICB9XG59KTtcbiJdfQ==
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"units.d.ts","sourceRoot":"","sources":["../../../test/unit/units.ts"],"names":[],"mappings":"AACA,OAAO,QAAQ,CAAC"}
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const bignumber_js_1 = __importDefault(require("bignumber.js"));
|
|
7
|
+
require("should");
|
|
8
|
+
const src_1 = require("../../src");
|
|
9
|
+
describe('units', () => {
|
|
10
|
+
describe('toFullUnits', () => {
|
|
11
|
+
it('should convert numbers into full units', () => {
|
|
12
|
+
src_1.toFullUnits(0, 'susd').should.equal('0');
|
|
13
|
+
src_1.toFullUnits(75, 'susd').should.equal('0.75');
|
|
14
|
+
src_1.toFullUnits(-100, 'susd').should.equal('-1');
|
|
15
|
+
src_1.toFullUnits(0, 'btc').should.equal('0');
|
|
16
|
+
src_1.toFullUnits(75, 'btc').should.equal('7.5e-7');
|
|
17
|
+
src_1.toFullUnits(750000, 'btc').should.equal('0.0075');
|
|
18
|
+
src_1.toFullUnits(-7500000, 'btc').should.equal('-0.075');
|
|
19
|
+
});
|
|
20
|
+
it('should convert big numbers into full units', () => {
|
|
21
|
+
src_1.toFullUnits(bignumber_js_1.default(0), 'susd').should.equal('0');
|
|
22
|
+
src_1.toFullUnits(bignumber_js_1.default(75), 'susd').should.equal('0.75');
|
|
23
|
+
src_1.toFullUnits(bignumber_js_1.default('7500000000000'), 'susd').should.equal('75000000000');
|
|
24
|
+
src_1.toFullUnits(bignumber_js_1.default('750000000000000000000000000'), 'susd').should.equal('7.5e+24');
|
|
25
|
+
src_1.toFullUnits(bignumber_js_1.default(-100), 'susd').should.equal('-1');
|
|
26
|
+
src_1.toFullUnits(bignumber_js_1.default(0), 'btc').should.equal('0');
|
|
27
|
+
src_1.toFullUnits(bignumber_js_1.default(75), 'btc').should.equal('7.5e-7');
|
|
28
|
+
src_1.toFullUnits(bignumber_js_1.default(750000), 'btc').should.equal('0.0075');
|
|
29
|
+
src_1.toFullUnits(bignumber_js_1.default(-7500000), 'btc').should.equal('-0.075');
|
|
30
|
+
src_1.toFullUnits(bignumber_js_1.default('75000000000000000000000000'), 'btc').should.equal('750000000000000000');
|
|
31
|
+
});
|
|
32
|
+
});
|
|
33
|
+
describe('toFullUnitsFixed', () => {
|
|
34
|
+
it('should convert numbers into full fixed units', () => {
|
|
35
|
+
src_1.toFullUnitsFixed(0, 'susd').should.equal('0.00');
|
|
36
|
+
src_1.toFullUnitsFixed(75, 'susd').should.equal('0.75');
|
|
37
|
+
src_1.toFullUnitsFixed(-100, 'susd').should.equal('-1.00');
|
|
38
|
+
src_1.toFullUnitsFixed(0, 'btc').should.equal('0.00000000');
|
|
39
|
+
src_1.toFullUnitsFixed(75, 'btc').should.equal('0.00000075');
|
|
40
|
+
src_1.toFullUnitsFixed(750000, 'btc').should.equal('0.00750000');
|
|
41
|
+
src_1.toFullUnitsFixed(-7500000, 'btc').should.equal('-0.07500000');
|
|
42
|
+
});
|
|
43
|
+
it('should convert big numbers into full fixed units', () => {
|
|
44
|
+
src_1.toFullUnitsFixed(bignumber_js_1.default(0), 'susd').should.equal('0.00');
|
|
45
|
+
src_1.toFullUnitsFixed(bignumber_js_1.default(75), 'susd').should.equal('0.75');
|
|
46
|
+
src_1.toFullUnitsFixed(bignumber_js_1.default('7500000000000'), 'susd').should.equal('75000000000.00');
|
|
47
|
+
src_1.toFullUnitsFixed(bignumber_js_1.default('750000000000000000000000000'), 'susd').should.equal('7500000000000000000000000.00');
|
|
48
|
+
src_1.toFullUnitsFixed(bignumber_js_1.default(-100), 'susd').should.equal('-1.00');
|
|
49
|
+
src_1.toFullUnitsFixed(bignumber_js_1.default(0), 'btc').should.equal('0.00000000');
|
|
50
|
+
src_1.toFullUnitsFixed(bignumber_js_1.default(75), 'btc').should.equal('0.00000075');
|
|
51
|
+
src_1.toFullUnitsFixed(bignumber_js_1.default(750000), 'btc').should.equal('0.00750000');
|
|
52
|
+
src_1.toFullUnitsFixed(bignumber_js_1.default(-7500000), 'btc').should.equal('-0.07500000');
|
|
53
|
+
src_1.toFullUnitsFixed(bignumber_js_1.default('75000000000000000000000000'), 'btc').should.equal('750000000000000000.00000000');
|
|
54
|
+
});
|
|
55
|
+
});
|
|
56
|
+
describe('toBaseUnits', () => {
|
|
57
|
+
it('should convert into base units', () => {
|
|
58
|
+
src_1.toBaseUnits(0, 'susd').should.equal('0');
|
|
59
|
+
src_1.toBaseUnits('0.75', 'susd').should.equal('75');
|
|
60
|
+
src_1.toBaseUnits('-1.00', 'susd').should.equal('-100');
|
|
61
|
+
src_1.toBaseUnits('0', 'btc').should.equal('0');
|
|
62
|
+
src_1.toBaseUnits('0.000000000', 'btc').should.equal('0');
|
|
63
|
+
src_1.toBaseUnits('0.00000075', 'btc').should.equal('75');
|
|
64
|
+
src_1.toBaseUnits('0.00750000', 'btc').should.equal('750000');
|
|
65
|
+
src_1.toBaseUnits('-0.07500000', 'btc').should.equal('-7500000');
|
|
66
|
+
});
|
|
67
|
+
it('should convert big numbers into base units', () => {
|
|
68
|
+
src_1.toBaseUnits(bignumber_js_1.default(0), 'susd').should.equal('0');
|
|
69
|
+
src_1.toBaseUnits(bignumber_js_1.default(75), 'susd').should.equal('7500');
|
|
70
|
+
src_1.toBaseUnits(bignumber_js_1.default('7500000000000'), 'susd').should.equal('750000000000000');
|
|
71
|
+
src_1.toBaseUnits(bignumber_js_1.default('750000000000000000000000000'), 'susd').should.equal('7.5e+28');
|
|
72
|
+
src_1.toBaseUnits(bignumber_js_1.default(-100), 'susd').should.equal('-10000');
|
|
73
|
+
src_1.toBaseUnits(bignumber_js_1.default(0), 'btc').should.equal('0');
|
|
74
|
+
src_1.toBaseUnits(bignumber_js_1.default(75), 'btc').should.equal('7500000000');
|
|
75
|
+
src_1.toBaseUnits(bignumber_js_1.default(750000), 'btc').should.equal('75000000000000');
|
|
76
|
+
src_1.toBaseUnits(bignumber_js_1.default(-7500000), 'btc').should.equal('-750000000000000');
|
|
77
|
+
src_1.toBaseUnits(bignumber_js_1.default('75000000000000000000000000'), 'btc').should.equal('7.5e+33');
|
|
78
|
+
});
|
|
79
|
+
});
|
|
80
|
+
describe('toMarketValueBaseUnits', () => {
|
|
81
|
+
it('should convert into market value base units', () => {
|
|
82
|
+
src_1.toMarketValueBaseUnits('susd', 1, 0).should.equal(BigInt(0));
|
|
83
|
+
src_1.toMarketValueBaseUnits('susd', 1, 10).should.equal(BigInt(10));
|
|
84
|
+
src_1.toMarketValueBaseUnits('susd', 70000000, 0).should.equal(BigInt(0));
|
|
85
|
+
src_1.toMarketValueBaseUnits('susd', 70000000, 10).should.equal(BigInt(700000000));
|
|
86
|
+
src_1.toMarketValueBaseUnits('btc', 1, 0).should.equal(BigInt(0));
|
|
87
|
+
src_1.toMarketValueBaseUnits('btc', 1, 10).should.equal(BigInt(0));
|
|
88
|
+
src_1.toMarketValueBaseUnits('btc', 70000000, 0).should.equal(BigInt(0));
|
|
89
|
+
src_1.toMarketValueBaseUnits('btc', 70000000, 10).should.equal(BigInt(700));
|
|
90
|
+
src_1.toMarketValueBaseUnits('btc', bignumber_js_1.default('7000000000000000000000000'), 10).should.equal(BigInt('69999999999999999280'));
|
|
91
|
+
});
|
|
92
|
+
it('should allow changing the numerator of the trading pair', () => {
|
|
93
|
+
// $3.38 market value for 1 eth at 338.2582 cents market price
|
|
94
|
+
src_1.toMarketValueBaseUnits('teth', 338.2582, BigInt(10000000000000000).toString(), 'tsusd').should.equal(BigInt(338));
|
|
95
|
+
});
|
|
96
|
+
});
|
|
97
|
+
});
|
|
98
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidW5pdHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi90ZXN0L3VuaXQvdW5pdHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxnRUFBcUM7QUFDckMsa0JBQWdCO0FBQ2hCLG1DQUErRjtBQUUvRixRQUFRLENBQUMsT0FBTyxFQUFFLEdBQUcsRUFBRTtJQUNyQixRQUFRLENBQUMsYUFBYSxFQUFFLEdBQUcsRUFBRTtRQUMzQixFQUFFLENBQUMsd0NBQXdDLEVBQUUsR0FBRyxFQUFFO1lBQ2hELGlCQUFXLENBQUMsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDekMsaUJBQVcsQ0FBQyxFQUFFLEVBQUUsTUFBTSxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUM3QyxpQkFBVyxDQUFDLENBQUMsR0FBRyxFQUFFLE1BQU0sQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDN0MsaUJBQVcsQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUN4QyxpQkFBVyxDQUFDLEVBQUUsRUFBRSxLQUFLLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQzlDLGlCQUFXLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDbEQsaUJBQVcsQ0FBQyxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3RELENBQUMsQ0FBQyxDQUFDO1FBRUgsRUFBRSxDQUFDLDRDQUE0QyxFQUFFLEdBQUcsRUFBRTtZQUNwRCxpQkFBVyxDQUFDLHNCQUFTLENBQUMs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Q0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUM3RCw0QkFBc0IsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDL0QsNEJBQXNCLENBQUMsTUFBTSxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3BFLDRCQUFzQixDQUFDLE1BQU0sRUFBRSxRQUFRLEVBQUUsRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztZQUM3RSw0QkFBc0IsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDNUQsNEJBQXNCLENBQUMsS0FBSyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQzdELDRCQUFzQixDQUFDLEtBQUssRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNuRSw0QkFBc0IsQ0FBQyxLQUFLLEVBQUUsUUFBUSxFQUFFLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7WUFDdEUsNEJBQXNCLENBQUMsS0FBSyxFQUFFLHNCQUFTLENBQUMsMkJBQTJCLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUNwRixNQUFNLENBQUMsc0JBQXNCLENBQUMsQ0FDL0IsQ0FBQztRQUNKLENBQUMsQ0FBQyxDQUFDO1FBRUgsRUFBRSxDQUFDLHlEQUF5RCxFQUFFLEdBQUcsRUFBRTtZQUNqRSw4REFBOEQ7WUFDOUQsNEJBQXNCLENBQUMsTUFBTSxFQUFFLFFBQVEsRUFBRSxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRSxPQUFPLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQ3BILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBCaWdOdW1iZXIgZnJvbSAnYmlnbnVtYmVyLmpzJztcbmltcG9ydCAnc2hvdWxkJztcbmltcG9ydCB7IHRvRnVsbFVuaXRzLCB0b0Z1bGxVbml0c0ZpeGVkLCB0b0Jhc2VVbml0cywgdG9NYXJrZXRWYWx1ZUJhc2VVbml0cyB9IGZyb20gJy4uLy4uL3NyYyc7XG5cbmRlc2NyaWJlKCd1bml0cycsICgpID0+IHtcbiAgZGVzY3JpYmUoJ3RvRnVsbFVuaXRzJywgKCkgPT4ge1xuICAgIGl0KCdzaG91bGQgY29udmVydCBudW1iZXJzIGludG8gZnVsbCB1bml0cycsICgpID0+IHtcbiAgICAgIHRvRnVsbFVuaXRzKDAsICdzdXNkJykuc2hvdWxkLmVxdWFsKCcwJyk7XG4gICAgICB0b0Z1bGxVbml0cyg3NSwgJ3N1c2QnKS5zaG91bGQuZXF1YWwoJzAuNzUnKTtcbiAgICAgIHRvRnVsbFVuaXRzKC0xMDAsICdzdXNkJykuc2hvdWxkLmVxdWFsKCctMScpO1xuICAgICAgdG9GdWxsVW5pdHMoMCwgJ2J0YycpLnNob3VsZC5lcXVhbCgnMCcpO1xuICAgICAgdG9GdWxsVW5pdHMoNzUsICdidGMnKS5zaG91bGQuZXF1YWwoJzcuNWUtNycpO1xuICAgICAgdG9GdWxsVW5pdHMoNzUwMDAwLCAnYnRjJykuc2hvdWxkLmVxdWFsKCcwLjAwNzUnKTtcbiAgICAgIHRvRnVsbFVuaXRzKC03NTAwMDAwLCAnYnRjJykuc2hvdWxkLmVxdWFsKCctMC4wNzUnKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgY29udmVydCBiaWcgbnVtYmVycyBpbnRvIGZ1bGwgdW5pdHMnLCAoKSA9PiB7XG4gICAgICB0b0Z1bGxVbml0cyhCaWdOdW1iZXIoMCksICdzdXNkJykuc2hvdWxkLmVxdWFsKCcwJyk7XG4gICAgICB0b0Z1bGxVbml0cyhCaWdOdW1iZXIoNzUpLCAnc3VzZCcpLnNob3VsZC5lcXVhbCgnMC43NScpO1xuICAgICAgdG9GdWxsVW5pdHMoQmlnTnVtYmVyKCc3NTAwMDAwMDAwMDAwJyksICdzdXNkJykuc2hvdWxkLmVxdWFsKCc3NTAwMDAwMDAwMCcpO1xuICAgICAgdG9GdWxsVW5pdHMoQmlnTnVtYmVyKCc3NTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAnKSwgJ3N1c2QnKS5zaG91bGQuZXF1YWwoJzcuNWUrMjQnKTtcbiAgICAgIHRvRnVsbFVuaXRzKEJpZ051bWJlcigtMTAwKSwgJ3N1c2QnKS5zaG91bGQuZXF1YWwoJy0xJyk7XG4gICAgICB0b0Z1bGxVbml0cyhCaWdOdW1iZXIoMCksICdidGMnKS5zaG91bGQuZXF1YWwoJzAnKTtcbiAgICAgIHRvRnVsbFVuaXRzKEJpZ051bWJlcig3NSksICdidGMnKS5zaG91bGQuZXF1YWwoJzcuNWUtNycpO1xuICAgICAgdG9GdWxsVW5pdHMoQmlnTnVtYmVyKDc1MDAwMCksICdidGMnKS5zaG91bGQuZXF1YWwoJzAuMDA3NScpO1xuICAgICAgdG9GdWxsVW5pdHMoQmlnTnVtYmVyKC03NTAwMDAwKSwgJ2J0YycpLnNob3VsZC5lcXVhbCgnLTAuMDc1Jyk7XG4gICAgICB0b0Z1bGxVbml0cyhCaWdOdW1iZXIoJzc1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwJyksICdidGMnKS5zaG91bGQuZXF1YWwoJzc1MDAwMDAwMDAwMDAwMDAwMCcpO1xuICAgIH0pO1xuICB9KTtcblxuICBkZXNjcmliZSgndG9GdWxsVW5pdHNGaXhlZCcsICgpID0+IHtcbiAgICBpdCgnc2hvdWxkIGNvbnZlcnQgbnVtYmVycyBpbnRvIGZ1bGwgZml4ZWQgdW5pdHMnLCAoKSA9PiB7XG4gICAgICB0b0Z1bGxVbml0c0ZpeGVkKDAsICdzdXNkJykuc2hvdWxkLmVxdWFsKCcwLjAwJyk7XG4gICAgICB0b0Z1bGxVbml0c0ZpeGVkKDc1LCAnc3VzZCcpLnNob3VsZC5lcXVhbCgnMC43NScpO1xuICAgICAgdG9GdWxsVW5pdHNGaXhlZCgtMTAwLCAnc3VzZCcpLnNob3VsZC5lcXVhbCgnLTEuMDAnKTtcbiAgICAgIHRvRnVsbFVuaXRzRml4ZWQoMCwgJ2J0YycpLnNob3VsZC5lcXVhbCgnMC4wMDAwMDAwMCcpO1xuICAgICAgdG9GdWxsVW5pdHNGaXhlZCg3NSwgJ2J0YycpLnNob3VsZC5lcXVhbCgnMC4wMDAwMDA3NScpO1xuICAgICAgdG9GdWxsVW5pdHNGaXhlZCg3NTAwMDAsICdidGMnKS5zaG91bGQuZXF1YWwoJzAuMDA3NTAwMDAnKTtcbiAgICAgIHRvRnVsbFVuaXRzRml4ZWQoLTc1MDAwMDAsICdidGMnKS5zaG91bGQuZXF1YWwoJy0wLjA3NTAwMDAwJyk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIGNvbnZlcnQgYmlnIG51bWJlcnMgaW50byBmdWxsIGZpeGVkIHVuaXRzJywgKCkgPT4ge1xuICAgICAgdG9GdWxsVW5pdHNGaXhlZChCaWdOdW1iZXIoMCksICdzdXNkJykuc2hvdWxkLmVxdWFsKCcwLjAwJyk7XG4gICAgICB0b0Z1bGxVbml0c0ZpeGVkKEJpZ051bWJlcig3NSksICdzdXNkJykuc2hvdWxkLmVxdWFsKCcwLjc1Jyk7XG4gICAgICB0b0Z1bGxVbml0c0ZpeGVkKEJpZ051bWJlcignNzUwMDAwMDAwMDAwMCcpLCAnc3VzZCcpLnNob3VsZC5lcXVhbCgnNzUwMDAwMDAwMDAuMDAnKTtcbiAgICAgIHRvRnVsbFVuaXRzRml4ZWQoQmlnTnVtYmVyKCc3NTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAnKSwgJ3N1c2QnKS5zaG91bGQuZXF1YWwoJzc1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuMDAnKTtcbiAgICAgIHRvRnVsbFVuaXRzRml4ZWQoQmlnTnVtYmVyKC0xMDApLCAnc3VzZCcpLnNob3VsZC5lcXVhbCgnLTEuMDAnKTtcbiAgICAgIHRvRnVsbFVuaXRzRml4ZWQoQmlnTnVtYmVyKDApLCAnYnRjJykuc2hvdWxkLmVxdWFsKCcwLjAwMDAwMDAwJyk7XG4gICAgICB0b0Z1bGxVbml0c0ZpeGVkKEJpZ051bWJlcig3NSksICdidGMnKS5zaG91bGQuZXF1YWwoJzAuMDAwMDAwNzUnKTtcbiAgICAgIHRvRnVsbFVuaXRzRml4ZWQoQmlnTnVtYmVyKDc1MDAwMCksICdidGMnKS5zaG91bGQuZXF1YWwoJzAuMDA3NTAwMDAnKTtcbiAgICAgIHRvRnVsbFVuaXRzRml4ZWQoQmlnTnVtYmVyKC03NTAwMDAwKSwgJ2J0YycpLnNob3VsZC5lcXVhbCgnLTAuMDc1MDAwMDAnKTtcbiAgICAgIHRvRnVsbFVuaXRzRml4ZWQoQmlnTnVtYmVyKCc3NTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCcpLCAnYnRjJykuc2hvdWxkLmVxdWFsKCc3NTAwMDAwMDAwMDAwMDAwMDAuMDAwMDAwMDAnKTtcbiAgICB9KTtcbiAgfSk7XG5cbiAgZGVzY3JpYmUoJ3RvQmFzZVVuaXRzJywgKCkgPT4ge1xuICAgIGl0KCdzaG91bGQgY29udmVydCBpbnRvIGJhc2UgdW5pdHMnLCAoKSA9PiB7XG4gICAgICB0b0Jhc2VVbml0cygwLCAnc3VzZCcpLnNob3VsZC5lcXVhbCgnMCcpO1xuICAgICAgdG9CYXNlVW5pdHMoJzAuNzUnLCAnc3VzZCcpLnNob3VsZC5lcXVhbCgnNzUnKTtcbiAgICAgIHRvQmFzZVVuaXRzKCctMS4wMCcsICdzdXNkJykuc2hvdWxkLmVxdWFsKCctMTAwJyk7XG4gICAgICB0b0Jhc2VVbml0cygnMCcsICdidGMnKS5zaG91bGQuZXF1YWwoJzAnKTtcbiAgICAgIHRvQmFzZVVuaXRzKCcwLjAwMDAwMDAwMCcsICdidGMnKS5zaG91bGQuZXF1YWwoJzAnKTtcbiAgICAgIHRvQmFzZVVuaXRzKCcwLjAwMDAwMDc1JywgJ2J0YycpLnNob3VsZC5lcXVhbCgnNzUnKTtcbiAgICAgIHRvQmFzZVVuaXRzKCcwLjAwNzUwMDAwJywgJ2J0YycpLnNob3VsZC5lcXVhbCgnNzUwMDAwJyk7XG4gICAgICB0b0Jhc2VVbml0cygnLTAuMDc1MDAwMDAnLCAnYnRjJykuc2hvdWxkLmVxdWFsKCctNzUwMDAwMCcpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCBjb252ZXJ0IGJpZyBudW1iZXJzIGludG8gYmFzZSB1bml0cycsICgpID0+IHtcbiAgICAgIHRvQmFzZVVuaXRzKEJpZ051bWJlcigwKSwgJ3N1c2QnKS5zaG91bGQuZXF1YWwoJzAnKTtcbiAgICAgIHRvQmFzZVVuaXRzKEJpZ051bWJlcig3NSksICdzdXNkJykuc2hvdWxkLmVxdWFsKCc3NTAwJyk7XG4gICAgICB0b0Jhc2VVbml0cyhCaWdOdW1iZXIoJzc1MDAwMDAwMDAwMDAnKSwgJ3N1c2QnKS5zaG91bGQuZXF1YWwoJzc1MDAwMDAwMDAwMDAwMCcpO1xuICAgICAgdG9CYXNlVW5pdHMoQmlnTnVtYmVyKCc3NTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAnKSwgJ3N1c2QnKS5zaG91bGQuZXF1YWwoJzcuNWUrMjgnKTtcbiAgICAgIHRvQmFzZVVuaXRzKEJpZ051bWJlcigtMTAwKSwgJ3N1c2QnKS5zaG91bGQuZXF1YWwoJy0xMDAwMCcpO1xuICAgICAgdG9CYXNlVW5pdHMoQmlnTnVtYmVyKDApLCAnYnRjJykuc2hvdWxkLmVxdWFsKCcwJyk7XG4gICAgICB0b0Jhc2VVbml0cyhCaWdOdW1iZXIoNzUpLCAnYnRjJykuc2hvdWxkLmVxdWFsKCc3NTAwMDAwMDAwJyk7XG4gICAgICB0b0Jhc2VVbml0cyhCaWdOdW1iZXIoNzUwMDAwKSwgJ2J0YycpLnNob3VsZC5lcXVhbCgnNzUwMDAwMDAwMDAwMDAnKTtcbiAgICAgIHRvQmFzZVVuaXRzKEJpZ051bWJlcigtNzUwMDAwMCksICdidGMnKS5zaG91bGQuZXF1YWwoJy03NTAwMDAwMDAwMDAwMDAnKTtcbiAgICAgIHRvQmFzZVVuaXRzKEJpZ051bWJlcignNzUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAnKSwgJ2J0YycpLnNob3VsZC5lcXVhbCgnNy41ZSszMycpO1xuICAgIH0pO1xuICB9KTtcblxuICBkZXNjcmliZSgndG9NYXJrZXRWYWx1ZUJhc2VVbml0cycsICgpID0+IHtcbiAgICBpdCgnc2hvdWxkIGNvbnZlcnQgaW50byBtYXJrZXQgdmFsdWUgYmFzZSB1bml0cycsICgpID0+IHtcbiAgICAgIHRvTWFya2V0VmFsdWVCYXNlVW5pdHMoJ3N1c2QnLCAxLCAwKS5zaG91bGQuZXF1YWwoQmlnSW50KDApKTtcbiAgICAgIHRvTWFya2V0VmFsdWVCYXNlVW5pdHMoJ3N1c2QnLCAxLCAxMCkuc2hvdWxkLmVxdWFsKEJpZ0ludCgxMCkpO1xuICAgICAgdG9NYXJrZXRWYWx1ZUJhc2VVbml0cygnc3VzZCcsIDcwMDAwMDAwLCAwKS5zaG91bGQuZXF1YWwoQmlnSW50KDApKTtcbiAgICAgIHRvTWFya2V0VmFsdWVCYXNlVW5pdHMoJ3N1c2QnLCA3MDAwMDAwMCwgMTApLnNob3VsZC5lcXVhbChCaWdJbnQoNzAwMDAwMDAwKSk7XG4gICAgICB0b01hcmtldFZhbHVlQmFzZVVuaXRzKCdidGMnLCAxLCAwKS5zaG91bGQuZXF1YWwoQmlnSW50KDApKTtcbiAgICAgIHRvTWFya2V0VmFsdWVCYXNlVW5pdHMoJ2J0YycsIDEsIDEwKS5zaG91bGQuZXF1YWwoQmlnSW50KDApKTtcbiAgICAgIHRvTWFya2V0VmFsdWVCYXNlVW5pdHMoJ2J0YycsIDcwMDAwMDAwLCAwKS5zaG91bGQuZXF1YWwoQmlnSW50KDApKTtcbiAgICAgIHRvTWFya2V0VmFsdWVCYXNlVW5pdHMoJ2J0YycsIDcwMDAwMDAwLCAxMCkuc2hvdWxkLmVxdWFsKEJpZ0ludCg3MDApKTtcbiAgICAgIHRvTWFya2V0VmFsdWVCYXNlVW5pdHMoJ2J0YycsIEJpZ051bWJlcignNzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCcpLCAxMCkuc2hvdWxkLmVxdWFsKFxuICAgICAgICBCaWdJbnQoJzY5OTk5OTk5OTk5OTk5OTk5MjgwJylcbiAgICAgICk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIGFsbG93IGNoYW5naW5nIHRoZSBudW1lcmF0b3Igb2YgdGhlIHRyYWRpbmcgcGFpcicsICgpID0+IHtcbiAgICAgIC8vICQzLjM4IG1hcmtldCB2YWx1ZSBmb3IgMSBldGggYXQgMzM4LjI1ODIgY2VudHMgbWFya2V0IHByaWNlXG4gICAgICB0b01hcmtldFZhbHVlQmFzZVVuaXRzKCd0ZXRoJywgMzM4LjI1ODIsIEJpZ0ludCgxMDAwMDAwMDAwMDAwMDAwMCkudG9TdHJpbmcoKSwgJ3RzdXNkJykuc2hvdWxkLmVxdWFsKEJpZ0ludCgzMzgpKTtcbiAgICB9KTtcbiAgfSk7XG59KTtcbiJdfQ==
|