@bitgo/sdk-coin-ada 4.12.7 → 4.12.9
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 +8 -0
- package/package.json +6 -6
- package/LICENSE +0 -191
- package/dist/src/ada.d.ts +0 -116
- package/dist/src/ada.d.ts.map +0 -1
- package/dist/src/ada.js +0 -548
- package/dist/src/adaToken.d.ts +0 -38
- package/dist/src/adaToken.d.ts.map +0 -1
- package/dist/src/adaToken.js +0 -69
- package/dist/src/index.d.ts +0 -6
- package/dist/src/index.d.ts.map +0 -1
- package/dist/src/index.js +0 -22
- package/dist/src/lib/index.d.ts +0 -15
- package/dist/src/lib/index.d.ts.map +0 -1
- package/dist/src/lib/index.js +0 -65
- package/dist/src/lib/keyPair.d.ts +0 -20
- package/dist/src/lib/keyPair.d.ts.map +0 -1
- package/dist/src/lib/keyPair.js +0 -91
- package/dist/src/lib/messages/cip8/cip8Message.d.ts +0 -25
- package/dist/src/lib/messages/cip8/cip8Message.d.ts.map +0 -1
- package/dist/src/lib/messages/cip8/cip8Message.js +0 -140
- package/dist/src/lib/messages/cip8/cip8MessageBuilder.d.ts +0 -19
- package/dist/src/lib/messages/cip8/cip8MessageBuilder.d.ts.map +0 -1
- package/dist/src/lib/messages/cip8/cip8MessageBuilder.js +0 -27
- package/dist/src/lib/messages/cip8/index.d.ts +0 -3
- package/dist/src/lib/messages/cip8/index.d.ts.map +0 -1
- package/dist/src/lib/messages/cip8/index.js +0 -19
- package/dist/src/lib/messages/cip8/utils.d.ts +0 -24
- package/dist/src/lib/messages/cip8/utils.d.ts.map +0 -1
- package/dist/src/lib/messages/cip8/utils.js +0 -73
- package/dist/src/lib/messages/index.d.ts +0 -3
- package/dist/src/lib/messages/index.d.ts.map +0 -1
- package/dist/src/lib/messages/index.js +0 -19
- package/dist/src/lib/messages/messageBuilderFactory.d.ts +0 -7
- package/dist/src/lib/messages/messageBuilderFactory.d.ts.map +0 -1
- package/dist/src/lib/messages/messageBuilderFactory.js +0 -20
- package/dist/src/lib/stakingActivateBuilder.d.ts +0 -24
- package/dist/src/lib/stakingActivateBuilder.d.ts.map +0 -1
- package/dist/src/lib/stakingActivateBuilder.js +0 -88
- package/dist/src/lib/stakingBaseClaimBuilder.d.ts +0 -20
- package/dist/src/lib/stakingBaseClaimBuilder.d.ts.map +0 -1
- package/dist/src/lib/stakingBaseClaimBuilder.js +0 -35
- package/dist/src/lib/stakingClaimRewardsBuilder.d.ts +0 -10
- package/dist/src/lib/stakingClaimRewardsBuilder.d.ts.map +0 -1
- package/dist/src/lib/stakingClaimRewardsBuilder.js +0 -22
- package/dist/src/lib/stakingDeactivateBuilder.d.ts +0 -22
- package/dist/src/lib/stakingDeactivateBuilder.d.ts.map +0 -1
- package/dist/src/lib/stakingDeactivateBuilder.js +0 -75
- package/dist/src/lib/stakingPledgeBuilder.d.ts +0 -23
- package/dist/src/lib/stakingPledgeBuilder.d.ts.map +0 -1
- package/dist/src/lib/stakingPledgeBuilder.js +0 -43
- package/dist/src/lib/stakingWithdrawBuilder.d.ts +0 -12
- package/dist/src/lib/stakingWithdrawBuilder.d.ts.map +0 -1
- package/dist/src/lib/stakingWithdrawBuilder.js +0 -22
- package/dist/src/lib/transaction.d.ts +0 -133
- package/dist/src/lib/transaction.d.ts.map +0 -1
- package/dist/src/lib/transaction.js +0 -371
- package/dist/src/lib/transactionBuilder.d.ts +0 -59
- package/dist/src/lib/transactionBuilder.d.ts.map +0 -1
- package/dist/src/lib/transactionBuilder.js +0 -445
- package/dist/src/lib/transactionBuilderFactory.d.ts +0 -36
- package/dist/src/lib/transactionBuilderFactory.d.ts.map +0 -1
- package/dist/src/lib/transactionBuilderFactory.js +0 -92
- package/dist/src/lib/transferBuilder.d.ts +0 -14
- package/dist/src/lib/transferBuilder.d.ts.map +0 -1
- package/dist/src/lib/transferBuilder.js +0 -27
- package/dist/src/lib/utils.d.ts +0 -52
- package/dist/src/lib/utils.d.ts.map +0 -1
- package/dist/src/lib/utils.js +0 -277
- package/dist/src/lib/voteDelegationBuilder.d.ts +0 -24
- package/dist/src/lib/voteDelegationBuilder.d.ts.map +0 -1
- package/dist/src/lib/voteDelegationBuilder.js +0 -84
- package/dist/src/lib/walletInitializationBuilder.d.ts +0 -14
- package/dist/src/lib/walletInitializationBuilder.d.ts.map +0 -1
- package/dist/src/lib/walletInitializationBuilder.js +0 -24
- package/dist/src/register.d.ts +0 -3
- package/dist/src/register.d.ts.map +0 -1
- package/dist/src/register.js +0 -13
- package/dist/src/tada.d.ts +0 -21
- package/dist/src/tada.d.ts.map +0 -1
- package/dist/src/tada.js +0 -26
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
import { BaseCoin as CoinConfig } from '@bitgo/statics';
|
|
2
|
-
import { BaseTransactionBuilderFactory } from '@bitgo/sdk-core';
|
|
3
|
-
import { TransferBuilder } from './transferBuilder';
|
|
4
|
-
import { WalletInitializationBuilder } from './walletInitializationBuilder';
|
|
5
|
-
import { TransactionBuilder } from './transactionBuilder';
|
|
6
|
-
import { Transaction } from './transaction';
|
|
7
|
-
import { StakingActivateBuilder } from './stakingActivateBuilder';
|
|
8
|
-
import { StakingDeactivateBuilder } from './stakingDeactivateBuilder';
|
|
9
|
-
import { StakingWithdrawBuilder } from './stakingWithdrawBuilder';
|
|
10
|
-
import { StakingPledgeBuilder } from './stakingPledgeBuilder';
|
|
11
|
-
import { StakingClaimRewardsBuilder } from './stakingClaimRewardsBuilder';
|
|
12
|
-
import { VoteDelegationBuilder } from './voteDelegationBuilder';
|
|
13
|
-
export declare class TransactionBuilderFactory extends BaseTransactionBuilderFactory {
|
|
14
|
-
constructor(_coinConfig: Readonly<CoinConfig>);
|
|
15
|
-
/** @inheritdoc */
|
|
16
|
-
from(raw: Uint8Array | string): TransactionBuilder;
|
|
17
|
-
/** @inheritdoc */
|
|
18
|
-
getWalletInitializationBuilder(tx?: Transaction): WalletInitializationBuilder;
|
|
19
|
-
/** @inheritdoc */
|
|
20
|
-
getTransferBuilder(tx?: Transaction): TransferBuilder;
|
|
21
|
-
getStakingActivateBuilder(tx?: Transaction): StakingActivateBuilder;
|
|
22
|
-
getVoteDelegationBuilder(tx?: Transaction): VoteDelegationBuilder;
|
|
23
|
-
getStakingClaimRewardsBuilder(tx?: Transaction): StakingClaimRewardsBuilder;
|
|
24
|
-
getStakingDeactivateBuilder(tx?: Transaction): StakingDeactivateBuilder;
|
|
25
|
-
getStakingWithdrawBuilder(tx?: Transaction): StakingWithdrawBuilder;
|
|
26
|
-
getStakingPledgeBuilder(tx?: Transaction): StakingPledgeBuilder;
|
|
27
|
-
/**
|
|
28
|
-
* Initialize the builder with the given transaction
|
|
29
|
-
*
|
|
30
|
-
* @param {Transaction | undefined} tx - the transaction used to initialize the builder
|
|
31
|
-
* @param {TransactionBuilder} builder - the builder to be initialized
|
|
32
|
-
* @returns {TransactionBuilder} the builder initialized
|
|
33
|
-
*/
|
|
34
|
-
private static initializeBuilder;
|
|
35
|
-
}
|
|
36
|
-
//# sourceMappingURL=transactionBuilderFactory.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"transactionBuilderFactory.d.ts","sourceRoot":"","sources":["../../../src/lib/transactionBuilderFactory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAE,6BAA6B,EAA4C,MAAM,iBAAiB,CAAC;AAC1G,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAC;AAC5E,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AAC1E,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAEhE,qBAAa,yBAA0B,SAAQ,6BAA6B;gBAC9D,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC;IAI7C,kBAAkB;IAClB,IAAI,CAAC,GAAG,EAAE,UAAU,GAAG,MAAM,GAAG,kBAAkB;IAgClD,kBAAkB;IAClB,8BAA8B,CAAC,EAAE,CAAC,EAAE,WAAW,GAAG,2BAA2B;IAI7E,kBAAkB;IAClB,kBAAkB,CAAC,EAAE,CAAC,EAAE,WAAW,GAAG,eAAe;IAIrD,yBAAyB,CAAC,EAAE,CAAC,EAAE,WAAW,GAAG,sBAAsB;IAInE,wBAAwB,CAAC,EAAE,CAAC,EAAE,WAAW,GAAG,qBAAqB;IAIjE,6BAA6B,CAAC,EAAE,CAAC,EAAE,WAAW,GAAG,0BAA0B;IAI3E,2BAA2B,CAAC,EAAE,CAAC,EAAE,WAAW,GAAG,wBAAwB;IAIvE,yBAAyB,CAAC,EAAE,CAAC,EAAE,WAAW,GAAG,sBAAsB;IAInE,uBAAuB,CAAC,EAAE,CAAC,EAAE,WAAW,GAAG,oBAAoB;IAI/D;;;;;;OAMG;IACH,OAAO,CAAC,MAAM,CAAC,iBAAiB;CAMjC"}
|
|
@@ -1,92 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.TransactionBuilderFactory = void 0;
|
|
4
|
-
const sdk_core_1 = require("@bitgo/sdk-core");
|
|
5
|
-
const transferBuilder_1 = require("./transferBuilder");
|
|
6
|
-
const walletInitializationBuilder_1 = require("./walletInitializationBuilder");
|
|
7
|
-
const transaction_1 = require("./transaction");
|
|
8
|
-
const stakingActivateBuilder_1 = require("./stakingActivateBuilder");
|
|
9
|
-
const stakingDeactivateBuilder_1 = require("./stakingDeactivateBuilder");
|
|
10
|
-
const stakingWithdrawBuilder_1 = require("./stakingWithdrawBuilder");
|
|
11
|
-
const stakingPledgeBuilder_1 = require("./stakingPledgeBuilder");
|
|
12
|
-
const stakingClaimRewardsBuilder_1 = require("./stakingClaimRewardsBuilder");
|
|
13
|
-
const voteDelegationBuilder_1 = require("./voteDelegationBuilder");
|
|
14
|
-
class TransactionBuilderFactory extends sdk_core_1.BaseTransactionBuilderFactory {
|
|
15
|
-
constructor(_coinConfig) {
|
|
16
|
-
super(_coinConfig);
|
|
17
|
-
}
|
|
18
|
-
/** @inheritdoc */
|
|
19
|
-
from(raw) {
|
|
20
|
-
if (raw instanceof Uint8Array) {
|
|
21
|
-
return this.from(Buffer.from(raw).toString('hex'));
|
|
22
|
-
}
|
|
23
|
-
try {
|
|
24
|
-
const tx = new transaction_1.Transaction(this._coinConfig);
|
|
25
|
-
tx.fromRawTransaction(raw);
|
|
26
|
-
switch (tx.type) {
|
|
27
|
-
case sdk_core_1.TransactionType.Send:
|
|
28
|
-
return this.getTransferBuilder(tx);
|
|
29
|
-
case sdk_core_1.TransactionType.StakingActivate:
|
|
30
|
-
return this.getStakingActivateBuilder(tx);
|
|
31
|
-
case sdk_core_1.TransactionType.StakingClaim:
|
|
32
|
-
return this.getStakingClaimRewardsBuilder(tx);
|
|
33
|
-
case sdk_core_1.TransactionType.StakingDeactivate:
|
|
34
|
-
return this.getStakingDeactivateBuilder(tx);
|
|
35
|
-
case sdk_core_1.TransactionType.StakingWithdraw:
|
|
36
|
-
return this.getStakingWithdrawBuilder(tx);
|
|
37
|
-
case sdk_core_1.TransactionType.WalletInitialization:
|
|
38
|
-
return this.getWalletInitializationBuilder(tx);
|
|
39
|
-
case sdk_core_1.TransactionType.StakingPledge:
|
|
40
|
-
return this.getStakingPledgeBuilder(tx);
|
|
41
|
-
case sdk_core_1.TransactionType.VoteDelegation:
|
|
42
|
-
return this.getVoteDelegationBuilder(tx);
|
|
43
|
-
default:
|
|
44
|
-
throw new sdk_core_1.InvalidTransactionError('unsupported transaction');
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
catch (e) {
|
|
48
|
-
throw e;
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
/** @inheritdoc */
|
|
52
|
-
getWalletInitializationBuilder(tx) {
|
|
53
|
-
return TransactionBuilderFactory.initializeBuilder(tx, new walletInitializationBuilder_1.WalletInitializationBuilder(this._coinConfig));
|
|
54
|
-
}
|
|
55
|
-
/** @inheritdoc */
|
|
56
|
-
getTransferBuilder(tx) {
|
|
57
|
-
return TransactionBuilderFactory.initializeBuilder(tx, new transferBuilder_1.TransferBuilder(this._coinConfig));
|
|
58
|
-
}
|
|
59
|
-
getStakingActivateBuilder(tx) {
|
|
60
|
-
return TransactionBuilderFactory.initializeBuilder(tx, new stakingActivateBuilder_1.StakingActivateBuilder(this._coinConfig));
|
|
61
|
-
}
|
|
62
|
-
getVoteDelegationBuilder(tx) {
|
|
63
|
-
return TransactionBuilderFactory.initializeBuilder(tx, new voteDelegationBuilder_1.VoteDelegationBuilder(this._coinConfig));
|
|
64
|
-
}
|
|
65
|
-
getStakingClaimRewardsBuilder(tx) {
|
|
66
|
-
return TransactionBuilderFactory.initializeBuilder(tx, new stakingClaimRewardsBuilder_1.StakingClaimRewardsBuilder(this._coinConfig));
|
|
67
|
-
}
|
|
68
|
-
getStakingDeactivateBuilder(tx) {
|
|
69
|
-
return TransactionBuilderFactory.initializeBuilder(tx, new stakingDeactivateBuilder_1.StakingDeactivateBuilder(this._coinConfig));
|
|
70
|
-
}
|
|
71
|
-
getStakingWithdrawBuilder(tx) {
|
|
72
|
-
return TransactionBuilderFactory.initializeBuilder(tx, new stakingWithdrawBuilder_1.StakingWithdrawBuilder(this._coinConfig));
|
|
73
|
-
}
|
|
74
|
-
getStakingPledgeBuilder(tx) {
|
|
75
|
-
return TransactionBuilderFactory.initializeBuilder(tx, new stakingPledgeBuilder_1.StakingPledgeBuilder(this._coinConfig));
|
|
76
|
-
}
|
|
77
|
-
/**
|
|
78
|
-
* Initialize the builder with the given transaction
|
|
79
|
-
*
|
|
80
|
-
* @param {Transaction | undefined} tx - the transaction used to initialize the builder
|
|
81
|
-
* @param {TransactionBuilder} builder - the builder to be initialized
|
|
82
|
-
* @returns {TransactionBuilder} the builder initialized
|
|
83
|
-
*/
|
|
84
|
-
static initializeBuilder(tx, builder) {
|
|
85
|
-
if (tx) {
|
|
86
|
-
builder.initBuilder(tx);
|
|
87
|
-
}
|
|
88
|
-
return builder;
|
|
89
|
-
}
|
|
90
|
-
}
|
|
91
|
-
exports.TransactionBuilderFactory = TransactionBuilderFactory;
|
|
92
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvdHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFDQSw4Q0FBMEc7QUFDMUcsdURBQW9EO0FBQ3BELCtFQUE0RTtBQUU1RSwrQ0FBNEM7QUFDNUMscUVBQWtFO0FBQ2xFLHlFQUFzRTtBQUN0RSxxRUFBa0U7QUFDbEUsaUVBQThEO0FBQzlELDZFQUEwRTtBQUMxRSxtRUFBZ0U7QUFFaEUsTUFBYSx5QkFBMEIsU0FBUSx3Q0FBNkI7SUFDMUUsWUFBWSxXQUFpQztRQUMzQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDckIsQ0FBQztJQUVELGtCQUFrQjtJQUNsQixJQUFJLENBQUMsR0FBd0I7UUFDM0IsSUFBSSxHQUFHLFlBQVksVUFBVSxFQUFFLENBQUM7WUFDOUIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFDckQsQ0FBQztRQUNELElBQUksQ0FBQztZQUNILE1BQU0sRUFBRSxHQUFHLElBQUkseUJBQVcsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7WUFDN0MsRUFBRSxDQUFDLGtCQUFrQixDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQzNCLFFBQVEsRUFBRSxDQUFDLElBQUksRUFBRSxDQUFDO2dCQUNoQixLQUFLLDBCQUFlLENBQUMsSUFBSTtvQkFDdkIsT0FBTyxJQUFJLENBQUMsa0JBQWtCLENBQUMsRUFBRSxDQUFDLENBQUM7Z0JBQ3JDLEtBQUssMEJBQWUsQ0FBQyxlQUFlO29CQUNsQyxPQUFPLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxFQUFFLENBQUMsQ0FBQztnQkFDNUMsS0FBSywwQkFBZSxDQUFDLFlBQVk7b0JBQy9CLE9BQU8sSUFB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bXBvcnQgeyBCYXNlQ29pbiBhcyBDb2luQ29uZmlnIH0gZnJvbSAnQGJpdGdvL3N0YXRpY3MnO1xuaW1wb3J0IHsgQmFzZVRyYW5zYWN0aW9uQnVpbGRlckZhY3RvcnksIEludmFsaWRUcmFuc2FjdGlvbkVycm9yLCBUcmFuc2FjdGlvblR5cGUgfSBmcm9tICdAYml0Z28vc2RrLWNvcmUnO1xuaW1wb3J0IHsgVHJhbnNmZXJCdWlsZGVyIH0gZnJvbSAnLi90cmFuc2ZlckJ1aWxkZXInO1xuaW1wb3J0IHsgV2FsbGV0SW5pdGlhbGl6YXRpb25CdWlsZGVyIH0gZnJvbSAnLi93YWxsZXRJbml0aWFsaXphdGlvbkJ1aWxkZXInO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb25CdWlsZGVyIH0gZnJvbSAnLi90cmFuc2FjdGlvbkJ1aWxkZXInO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb24gfSBmcm9tICcuL3RyYW5zYWN0aW9uJztcbmltcG9ydCB7IFN0YWtpbmdBY3RpdmF0ZUJ1aWxkZXIgfSBmcm9tICcuL3N0YWtpbmdBY3RpdmF0ZUJ1aWxkZXInO1xuaW1wb3J0IHsgU3Rha2luZ0RlYWN0aXZhdGVCdWlsZGVyIH0gZnJvbSAnLi9zdGFraW5nRGVhY3RpdmF0ZUJ1aWxkZXInO1xuaW1wb3J0IHsgU3Rha2luZ1dpdGhkcmF3QnVpbGRlciB9IGZyb20gJy4vc3Rha2luZ1dpdGhkcmF3QnVpbGRlcic7XG5pbXBvcnQgeyBTdGFraW5nUGxlZGdlQnVpbGRlciB9IGZyb20gJy4vc3Rha2luZ1BsZWRnZUJ1aWxkZXInO1xuaW1wb3J0IHsgU3Rha2luZ0NsYWltUmV3YXJkc0J1aWxkZXIgfSBmcm9tICcuL3N0YWtpbmdDbGFpbVJld2FyZHNCdWlsZGVyJztcbmltcG9ydCB7IFZvdGVEZWxlZ2F0aW9uQnVpbGRlciB9IGZyb20gJy4vdm90ZURlbGVnYXRpb25CdWlsZGVyJztcblxuZXhwb3J0IGNsYXNzIFRyYW5zYWN0aW9uQnVpbGRlckZhY3RvcnkgZXh0ZW5kcyBCYXNlVHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeSB7XG4gIGNvbnN0cnVjdG9yKF9jb2luQ29uZmlnOiBSZWFkb25seTxDb2luQ29uZmlnPikge1xuICAgIHN1cGVyKF9jb2luQ29uZmlnKTtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICBmcm9tKHJhdzogVWludDhBcnJheSB8IHN0cmluZyk6IFRyYW5zYWN0aW9uQnVpbGRlciB7XG4gICAgaWYgKHJhdyBpbnN0YW5jZW9mIFVpbnQ4QXJyYXkpIHtcbiAgICAgIHJldHVybiB0aGlzLmZyb20oQnVmZmVyLmZyb20ocmF3KS50b1N0cmluZygnaGV4JykpO1xuICAgIH1cbiAgICB0cnkge1xuICAgICAgY29uc3QgdHggPSBuZXcgVHJhbnNhY3Rpb24odGhpcy5fY29pbkNvbmZpZyk7XG4gICAgICB0eC5mcm9tUmF3VHJhbnNhY3Rpb24ocmF3KTtcbiAgICAgIHN3aXRjaCAodHgudHlwZSkge1xuICAgICAgICBjYXNlIFRyYW5zYWN0aW9uVHlwZS5TZW5kOlxuICAgICAgICAgIHJldHVybiB0aGlzLmdldFRyYW5zZmVyQnVpbGRlcih0eCk7XG4gICAgICAgIGNhc2UgVHJhbnNhY3Rpb25UeXBlLlN0YWtpbmdBY3RpdmF0ZTpcbiAgICAgICAgICByZXR1cm4gdGhpcy5nZXRTdGFraW5nQWN0aXZhdGVCdWlsZGVyKHR4KTtcbiAgICAgICAgY2FzZSBUcmFuc2FjdGlvblR5cGUuU3Rha2luZ0NsYWltOlxuICAgICAgICAgIHJldHVybiB0aGlzLmdldFN0YWtpbmdDbGFpbVJld2FyZHNCdWlsZGVyKHR4KTtcbiAgICAgICAgY2FzZSBUcmFuc2FjdGlvblR5cGUuU3Rha2luZ0RlYWN0aXZhdGU6XG4gICAgICAgICAgcmV0dXJuIHRoaXMuZ2V0U3Rha2luZ0RlYWN0aXZhdGVCdWlsZGVyKHR4KTtcbiAgICAgICAgY2FzZSBUcmFuc2FjdGlvblR5cGUuU3Rha2luZ1dpdGhkcmF3OlxuICAgICAgICAgIHJldHVybiB0aGlzLmdldFN0YWtpbmdXaXRoZHJhd0J1aWxkZXIodHgpO1xuICAgICAgICBjYXNlIFRyYW5zYWN0aW9uVHlwZS5XYWxsZXRJbml0aWFsaXphdGlvbjpcbiAgICAgICAgICByZXR1cm4gdGhpcy5nZXRXYWxsZXRJbml0aWFsaXphdGlvbkJ1aWxkZXIodHgpO1xuICAgICAgICBjYXNlIFRyYW5zYWN0aW9uVHlwZS5TdGFraW5nUGxlZGdlOlxuICAgICAgICAgIHJldHVybiB0aGlzLmdldFN0YWtpbmdQbGVkZ2VCdWlsZGVyKHR4KTtcbiAgICAgICAgY2FzZSBUcmFuc2FjdGlvblR5cGUuVm90ZURlbGVnYXRpb246XG4gICAgICAgICAgcmV0dXJuIHRoaXMuZ2V0Vm90ZURlbGVnYXRpb25CdWlsZGVyKHR4KTtcbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICB0aHJvdyBuZXcgSW52YWxpZFRyYW5zYWN0aW9uRXJyb3IoJ3Vuc3VwcG9ydGVkIHRyYW5zYWN0aW9uJyk7XG4gICAgICB9XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgdGhyb3cgZTtcbiAgICB9XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgZ2V0V2FsbGV0SW5pdGlhbGl6YXRpb25CdWlsZGVyKHR4PzogVHJhbnNhY3Rpb24pOiBXYWxsZXRJbml0aWFsaXphdGlvbkJ1aWxkZXIge1xuICAgIHJldHVybiBUcmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5LmluaXRpYWxpemVCdWlsZGVyKHR4LCBuZXcgV2FsbGV0SW5pdGlhbGl6YXRpb25CdWlsZGVyKHRoaXMuX2NvaW5Db25maWcpKTtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICBnZXRUcmFuc2ZlckJ1aWxkZXIodHg/OiBUcmFuc2FjdGlvbik6IFRyYW5zZmVyQnVpbGRlciB7XG4gICAgcmV0dXJuIFRyYW5zYWN0aW9uQnVpbGRlckZhY3RvcnkuaW5pdGlhbGl6ZUJ1aWxkZXIodHgsIG5ldyBUcmFuc2ZlckJ1aWxkZXIodGhpcy5fY29pbkNvbmZpZykpO1xuICB9XG5cbiAgZ2V0U3Rha2luZ0FjdGl2YXRlQnVpbGRlcih0eD86IFRyYW5zYWN0aW9uKTogU3Rha2luZ0FjdGl2YXRlQnVpbGRlciB7XG4gICAgcmV0dXJuIFRyYW5zYWN0aW9uQnVpbGRlckZhY3RvcnkuaW5pdGlhbGl6ZUJ1aWxkZXIodHgsIG5ldyBTdGFraW5nQWN0aXZhdGVCdWlsZGVyKHRoaXMuX2NvaW5Db25maWcpKTtcbiAgfVxuXG4gIGdldFZvdGVEZWxlZ2F0aW9uQnVpbGRlcih0eD86IFRyYW5zYWN0aW9uKTogVm90ZURlbGVnYXRpb25CdWlsZGVyIHtcbiAgICByZXR1cm4gVHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeS5pbml0aWFsaXplQnVpbGRlcih0eCwgbmV3IFZvdGVEZWxlZ2F0aW9uQnVpbGRlcih0aGlzLl9jb2luQ29uZmlnKSk7XG4gIH1cblxuICBnZXRTdGFraW5nQ2xhaW1SZXdhcmRzQnVpbGRlcih0eD86IFRyYW5zYWN0aW9uKTogU3Rha2luZ0NsYWltUmV3YXJkc0J1aWxkZXIge1xuICAgIHJldHVybiBUcmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5LmluaXRpYWxpemVCdWlsZGVyKHR4LCBuZXcgU3Rha2luZ0NsYWltUmV3YXJkc0J1aWxkZXIodGhpcy5fY29pbkNvbmZpZykpO1xuICB9XG5cbiAgZ2V0U3Rha2luZ0RlYWN0aXZhdGVCdWlsZGVyKHR4PzogVHJhbnNhY3Rpb24pOiBTdGFraW5nRGVhY3RpdmF0ZUJ1aWxkZXIge1xuICAgIHJldHVybiBUcmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5LmluaXRpYWxpemVCdWlsZGVyKHR4LCBuZXcgU3Rha2luZ0RlYWN0aXZhdGVCdWlsZGVyKHRoaXMuX2NvaW5Db25maWcpKTtcbiAgfVxuXG4gIGdldFN0YWtpbmdXaXRoZHJhd0J1aWxkZXIodHg/OiBUcmFuc2FjdGlvbik6IFN0YWtpbmdXaXRoZHJhd0J1aWxkZXIge1xuICAgIHJldHVybiBUcmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5LmluaXRpYWxpemVCdWlsZGVyKHR4LCBuZXcgU3Rha2luZ1dpdGhkcmF3QnVpbGRlcih0aGlzLl9jb2luQ29uZmlnKSk7XG4gIH1cblxuICBnZXRTdGFraW5nUGxlZGdlQnVpbGRlcih0eD86IFRyYW5zYWN0aW9uKTogU3Rha2luZ1BsZWRnZUJ1aWxkZXIge1xuICAgIHJldHVybiBUcmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5LmluaXRpYWxpemVCdWlsZGVyKHR4LCBuZXcgU3Rha2luZ1BsZWRnZUJ1aWxkZXIodGhpcy5fY29pbkNvbmZpZykpO1xuICB9XG5cbiAgLyoqXG4gICAqIEluaXRpYWxpemUgdGhlIGJ1aWxkZXIgd2l0aCB0aGUgZ2l2ZW4gdHJhbnNhY3Rpb25cbiAgICpcbiAgICogQHBhcmFtIHtUcmFuc2FjdGlvbiB8IHVuZGVmaW5lZH0gdHggLSB0aGUgdHJhbnNhY3Rpb24gdXNlZCB0byBpbml0aWFsaXplIHRoZSBidWlsZGVyXG4gICAqIEBwYXJhbSB7VHJhbnNhY3Rpb25CdWlsZGVyfSBidWlsZGVyIC0gdGhlIGJ1aWxkZXIgdG8gYmUgaW5pdGlhbGl6ZWRcbiAgICogQHJldHVybnMge1RyYW5zYWN0aW9uQnVpbGRlcn0gdGhlIGJ1aWxkZXIgaW5pdGlhbGl6ZWRcbiAgICovXG4gIHByaXZhdGUgc3RhdGljIGluaXRpYWxpemVCdWlsZGVyPFQgZXh0ZW5kcyBUcmFuc2FjdGlvbkJ1aWxkZXI+KHR4OiBUcmFuc2FjdGlvbiB8IHVuZGVmaW5lZCwgYnVpbGRlcjogVCk6IFQge1xuICAgIGlmICh0eCkge1xuICAgICAgYnVpbGRlci5pbml0QnVpbGRlcih0eCk7XG4gICAgfVxuICAgIHJldHVybiBidWlsZGVyO1xuICB9XG59XG4iXX0=
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { BaseKey } from '@bitgo/sdk-core';
|
|
2
|
-
import { BaseCoin as CoinConfig } from '@bitgo/statics';
|
|
3
|
-
import { TransactionBuilder } from './transactionBuilder';
|
|
4
|
-
import { Transaction } from './transaction';
|
|
5
|
-
export declare class TransferBuilder extends TransactionBuilder {
|
|
6
|
-
constructor(_coinConfig: Readonly<CoinConfig>);
|
|
7
|
-
/** @inheritdoc */
|
|
8
|
-
protected buildImplementation(): Promise<Transaction>;
|
|
9
|
-
/** @inheritdoc */
|
|
10
|
-
protected fromImplementation(rawTransaction: any): Transaction;
|
|
11
|
-
/** @inheritdoc */
|
|
12
|
-
protected signImplementation(key: BaseKey): Transaction;
|
|
13
|
-
}
|
|
14
|
-
//# sourceMappingURL=transferBuilder.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"transferBuilder.d.ts","sourceRoot":"","sources":["../../../src/lib/transferBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAmB,MAAM,iBAAiB,CAAC;AAC3D,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,qBAAa,eAAgB,SAAQ,kBAAkB;gBACzC,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC;IAK7C,kBAAkB;cACF,mBAAmB,IAAI,OAAO,CAAC,WAAW,CAAC;IAM3D,kBAAkB;IAClB,SAAS,CAAC,kBAAkB,CAAC,cAAc,EAAE,GAAG,GAAG,WAAW;IAI9D,kBAAkB;IAClB,SAAS,CAAC,kBAAkB,CAAC,GAAG,EAAE,OAAO,GAAG,WAAW;CAGxD"}
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.TransferBuilder = void 0;
|
|
4
|
-
const sdk_core_1 = require("@bitgo/sdk-core");
|
|
5
|
-
const transactionBuilder_1 = require("./transactionBuilder");
|
|
6
|
-
class TransferBuilder extends transactionBuilder_1.TransactionBuilder {
|
|
7
|
-
constructor(_coinConfig) {
|
|
8
|
-
super(_coinConfig);
|
|
9
|
-
this._type = sdk_core_1.TransactionType.Send;
|
|
10
|
-
}
|
|
11
|
-
/** @inheritdoc */
|
|
12
|
-
async buildImplementation() {
|
|
13
|
-
const tx = await super.buildImplementation();
|
|
14
|
-
tx.setTransactionType(sdk_core_1.TransactionType.Send);
|
|
15
|
-
return tx;
|
|
16
|
-
}
|
|
17
|
-
/** @inheritdoc */
|
|
18
|
-
fromImplementation(rawTransaction) {
|
|
19
|
-
return super.fromImplementation(rawTransaction);
|
|
20
|
-
}
|
|
21
|
-
/** @inheritdoc */
|
|
22
|
-
signImplementation(key) {
|
|
23
|
-
return super.signImplementation(key);
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
exports.TransferBuilder = TransferBuilder;
|
|
27
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNmZXJCdWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi90cmFuc2ZlckJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsOENBQTJEO0FBRTNELDZEQUEwRDtBQUcxRCxNQUFhLGVBQWdCLFNBQVEsdUNBQWtCO0lBQ3JELFlBQVksV0FBaUM7UUFDM0MsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ25CLElBQUksQ0FBQyxLQUFLLEdBQUcsMEJBQWUsQ0FBQyxJQUFJLENBQUM7SUFDcEMsQ0FBQztJQUVELGtCQUFrQjtJQUNSLEtBQUssQ0FBQyxtQkFBbUI7UUFDakMsTUFBTSxFQUFFLEdBQUcsTUFBTSxLQUFLLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztRQUM3QyxFQUFFLENBQUMsa0JBQWtCLENBQUMsMEJBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM1QyxPQUFPLEVBQUUsQ0FBQztJQUNaLENBQUM7SUFFRCxrQkFBa0I7SUFDUixrQkFBa0IsQ0FBQyxjQUFtQjtRQUM5QyxPQUFPLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUNsRCxDQUFDO0lBRUQsa0JBQWtCO0lBQ1Isa0JBQWtCLENBQUMsR0FBWTtRQUN2QyxPQUFPLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUN2QyxDQUFDO0NBQ0Y7QUF0QkQsMENBc0JDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQmFzZUtleSwgVHJhbnNhY3Rpb25UeXBlIH0gZnJvbSAnQGJpdGdvL3Nkay1jb3JlJztcbmltcG9ydCB7IEJhc2VDb2luIGFzIENvaW5Db25maWcgfSBmcm9tICdAYml0Z28vc3RhdGljcyc7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbkJ1aWxkZXIgfSBmcm9tICcuL3RyYW5zYWN0aW9uQnVpbGRlcic7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbiB9IGZyb20gJy4vdHJhbnNhY3Rpb24nO1xuXG5leHBvcnQgY2xhc3MgVHJhbnNmZXJCdWlsZGVyIGV4dGVuZHMgVHJhbnNhY3Rpb25CdWlsZGVyIHtcbiAgY29uc3RydWN0b3IoX2NvaW5Db25maWc6IFJlYWRvbmx5PENvaW5Db25maWc+KSB7XG4gICAgc3VwZXIoX2NvaW5Db25maWcpO1xuICAgIHRoaXMuX3R5cGUgPSBUcmFuc2FjdGlvblR5cGUuU2VuZDtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICBwcm90ZWN0ZWQgYXN5bmMgYnVpbGRJbXBsZW1lbnRhdGlvbigpOiBQcm9taXNlPFRyYW5zYWN0aW9uPiB7XG4gICAgY29uc3QgdHggPSBhd2FpdCBzdXBlci5idWlsZEltcGxlbWVudGF0aW9uKCk7XG4gICAgdHguc2V0VHJhbnNhY3Rpb25UeXBlKFRyYW5zYWN0aW9uVHlwZS5TZW5kKTtcbiAgICByZXR1cm4gdHg7XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgcHJvdGVjdGVkIGZyb21JbXBsZW1lbnRhdGlvbihyYXdUcmFuc2FjdGlvbjogYW55KTogVHJhbnNhY3Rpb24ge1xuICAgIHJldHVybiBzdXBlci5mcm9tSW1wbGVtZW50YXRpb24ocmF3VHJhbnNhY3Rpb24pO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIHByb3RlY3RlZCBzaWduSW1wbGVtZW50YXRpb24oa2V5OiBCYXNlS2V5KTogVHJhbnNhY3Rpb24ge1xuICAgIHJldHVybiBzdXBlci5zaWduSW1wbGVtZW50YXRpb24oa2V5KTtcbiAgfVxufVxuIl19
|
package/dist/src/lib/utils.d.ts
DELETED
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
import { AddressFormat, BaseUtils } from '@bitgo/sdk-core';
|
|
2
|
-
import { DRep, Address } from '@emurgo/cardano-serialization-lib-nodejs';
|
|
3
|
-
import { KeyPair } from './keyPair';
|
|
4
|
-
export declare const MIN_ADA_FOR_ONE_ASSET = "1500000";
|
|
5
|
-
export declare const VOTE_ALWAYS_ABSTAIN = "always-abstain";
|
|
6
|
-
export declare const VOTE_ALWAYS_NO_CONFIDENCE = "always-no-confidence";
|
|
7
|
-
export declare class Utils implements BaseUtils {
|
|
8
|
-
createBaseAddressWithStakeAndPaymentKey(stakeKeyPair: KeyPair, paymentKeyPair: KeyPair, network: AddressFormat): string;
|
|
9
|
-
validateBlake2b(hash: string): boolean;
|
|
10
|
-
getRewardAddress(stakingPubKey: string, coinName: string): string;
|
|
11
|
-
isValidDRepId(dRepId: string): boolean;
|
|
12
|
-
getDRepFromDRepId(dRepId: string): DRep;
|
|
13
|
-
getDRepIdFromDRep(dRep: DRep): string;
|
|
14
|
-
/** @inheritdoc */
|
|
15
|
-
isValidAddress(address: string): boolean;
|
|
16
|
-
/** @inheritdoc */
|
|
17
|
-
isValidBlockId(hash: string): boolean;
|
|
18
|
-
/** @inheritdoc */
|
|
19
|
-
isValidPrivateKey(key: string): boolean;
|
|
20
|
-
isValidKey(key: string): boolean;
|
|
21
|
-
/** @inheritdoc */
|
|
22
|
-
isValidPublicKey(pubKey: string): boolean;
|
|
23
|
-
/** @inheritdoc */
|
|
24
|
-
isValidSignature(signature: string): boolean;
|
|
25
|
-
/** @inheritdoc */
|
|
26
|
-
isValidTransactionId(txId: string): boolean;
|
|
27
|
-
/**
|
|
28
|
-
* Get the transaction body from a serialized transaction
|
|
29
|
-
* @param {string} serializedTx - serialized transaction in hex or base64 format
|
|
30
|
-
* @returns {string} transaction body in hex format
|
|
31
|
-
*/
|
|
32
|
-
getTransactionBody(serializedTx: string): string;
|
|
33
|
-
/**
|
|
34
|
-
* Decode wallet address from string.
|
|
35
|
-
* Attempts to decode as Shelley (bech32) first, then Byron (base58).
|
|
36
|
-
* @param {string} address - Valid Byron or Shelley-era address.
|
|
37
|
-
* @returns {Address} - Valid address object.
|
|
38
|
-
* @throws {InvalidAddressError} If the address is neither valid Shelley nor Byron.
|
|
39
|
-
*/
|
|
40
|
-
getWalletAddress(address: string): Address;
|
|
41
|
-
/**
|
|
42
|
-
* Decode address string from Address object.
|
|
43
|
-
* Attempts to decode as Shelley (bech32) first, then Byron (base58).
|
|
44
|
-
* @param {Address} address - Valid Address object
|
|
45
|
-
* @returns {string} - Valid Byron or Shelley-era address string.
|
|
46
|
-
* @throws {InvalidAddressError} If the Address object is neither valid Shelley nor Byron.
|
|
47
|
-
*/
|
|
48
|
-
getAddressString(address: Address): string;
|
|
49
|
-
}
|
|
50
|
-
declare const utils: Utils;
|
|
51
|
-
export default utils;
|
|
52
|
-
//# sourceMappingURL=utils.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/lib/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,SAAS,EAAuB,MAAM,iBAAiB,CAAC;AAChF,OAAO,EAQL,IAAI,EAIJ,OAAO,EAIR,MAAM,0CAA0C,CAAC;AAClD,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAKpC,eAAO,MAAM,qBAAqB,YAAY,CAAC;AAC/C,eAAO,MAAM,mBAAmB,mBAAmB,CAAC;AACpD,eAAO,MAAM,yBAAyB,yBAAyB,CAAC;AAEhE,qBAAa,KAAM,YAAW,SAAS;IACrC,uCAAuC,CACrC,YAAY,EAAE,OAAO,EACrB,cAAc,EAAE,OAAO,EACvB,OAAO,EAAE,aAAa,GACrB,MAAM;IAiCT,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAUtC,gBAAgB,CAAC,aAAa,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM;IAcjE,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO;IAStC,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAuCvC,iBAAiB,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM;IAWrC,kBAAkB;IAElB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAiDxC,kBAAkB;IAClB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAIrC,kBAAkB;IAClB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAKvC,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAShC,kBAAkB;IAClB,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO;IASzC,kBAAkB;IAClB,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;IAS5C,kBAAkB;IAClB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAI3C;;;;OAIG;IACH,kBAAkB,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM;IAQhD;;;;;;OAMG;IACH,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IA0B1C;;;;;;OAMG;IACH,gBAAgB,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM;CAuB3C;AAED,QAAA,MAAM,KAAK,OAAc,CAAC;AAE1B,eAAe,KAAK,CAAC"}
|
package/dist/src/lib/utils.js
DELETED
|
@@ -1,277 +0,0 @@
|
|
|
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
|
-
exports.Utils = exports.VOTE_ALWAYS_NO_CONFIDENCE = exports.VOTE_ALWAYS_ABSTAIN = exports.MIN_ADA_FOR_ONE_ASSET = void 0;
|
|
7
|
-
const sdk_core_1 = require("@bitgo/sdk-core");
|
|
8
|
-
const cardano_serialization_lib_nodejs_1 = require("@emurgo/cardano-serialization-lib-nodejs");
|
|
9
|
-
const keyPair_1 = require("./keyPair");
|
|
10
|
-
const bech32_1 = require("bech32");
|
|
11
|
-
const bs58_1 = __importDefault(require("bs58"));
|
|
12
|
-
const cbor_1 = __importDefault(require("cbor"));
|
|
13
|
-
exports.MIN_ADA_FOR_ONE_ASSET = '1500000';
|
|
14
|
-
exports.VOTE_ALWAYS_ABSTAIN = 'always-abstain';
|
|
15
|
-
exports.VOTE_ALWAYS_NO_CONFIDENCE = 'always-no-confidence';
|
|
16
|
-
class Utils {
|
|
17
|
-
createBaseAddressWithStakeAndPaymentKey(stakeKeyPair, paymentKeyPair, network) {
|
|
18
|
-
let baseAddr;
|
|
19
|
-
if (network === sdk_core_1.AddressFormat.mainnet) {
|
|
20
|
-
// 1. create stake pubKey
|
|
21
|
-
const key = stakeKeyPair.getKeys().pub;
|
|
22
|
-
const stakePub = cardano_serialization_lib_nodejs_1.PublicKey.from_bytes(Buffer.from(key, 'hex'));
|
|
23
|
-
// 2. create payment pubKey
|
|
24
|
-
const paymentPub = cardano_serialization_lib_nodejs_1.PublicKey.from_bytes(Buffer.from(paymentKeyPair.getKeys().pub, 'hex'));
|
|
25
|
-
// 3. create full base address for staking
|
|
26
|
-
baseAddr = cardano_serialization_lib_nodejs_1.BaseAddress.new(cardano_serialization_lib_nodejs_1.NetworkInfo.mainnet().network_id(), cardano_serialization_lib_nodejs_1.Credential.from_keyhash(paymentPub.hash()), cardano_serialization_lib_nodejs_1.Credential.from_keyhash(stakePub.hash()));
|
|
27
|
-
return baseAddr.to_address().to_bech32();
|
|
28
|
-
}
|
|
29
|
-
else if (network === sdk_core_1.AddressFormat.testnet) {
|
|
30
|
-
// 1. create stake pubKey
|
|
31
|
-
const stakePub = cardano_serialization_lib_nodejs_1.PublicKey.from_bytes(Buffer.from(stakeKeyPair.getKeys().pub, 'hex'));
|
|
32
|
-
// 2. create payment pubKey
|
|
33
|
-
const paymentPub = cardano_serialization_lib_nodejs_1.PublicKey.from_bytes(Buffer.from(paymentKeyPair.getKeys().pub, 'hex'));
|
|
34
|
-
// 3. create full base address for staking
|
|
35
|
-
const baseAddr = cardano_serialization_lib_nodejs_1.BaseAddress.new(cardano_serialization_lib_nodejs_1.NetworkInfo.testnet_preprod().network_id(), cardano_serialization_lib_nodejs_1.Credential.from_keyhash(paymentPub.hash()), cardano_serialization_lib_nodejs_1.Credential.from_keyhash(stakePub.hash()));
|
|
36
|
-
return baseAddr.to_address().to_bech32();
|
|
37
|
-
}
|
|
38
|
-
else {
|
|
39
|
-
throw new Error('Improper Network Type!');
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
validateBlake2b(hash) {
|
|
43
|
-
if (!hash) {
|
|
44
|
-
return false;
|
|
45
|
-
}
|
|
46
|
-
if (hash.length !== 64) {
|
|
47
|
-
return false;
|
|
48
|
-
}
|
|
49
|
-
return hash.match(/^[a-zA-Z0-9]+$/) !== null;
|
|
50
|
-
}
|
|
51
|
-
getRewardAddress(stakingPubKey, coinName) {
|
|
52
|
-
const stakePub = cardano_serialization_lib_nodejs_1.PublicKey.from_bytes(Buffer.from(stakingPubKey, 'hex'));
|
|
53
|
-
let rewardAddress;
|
|
54
|
-
if (coinName === 'ada') {
|
|
55
|
-
rewardAddress = cardano_serialization_lib_nodejs_1.RewardAddress.new(cardano_serialization_lib_nodejs_1.NetworkInfo.mainnet().network_id(), cardano_serialization_lib_nodejs_1.Credential.from_keyhash(stakePub.hash()));
|
|
56
|
-
}
|
|
57
|
-
else {
|
|
58
|
-
rewardAddress = cardano_serialization_lib_nodejs_1.RewardAddress.new(cardano_serialization_lib_nodejs_1.NetworkInfo.testnet_preprod().network_id(), cardano_serialization_lib_nodejs_1.Credential.from_keyhash(stakePub.hash()));
|
|
59
|
-
}
|
|
60
|
-
return rewardAddress.to_address().to_bech32();
|
|
61
|
-
}
|
|
62
|
-
isValidDRepId(dRepId) {
|
|
63
|
-
try {
|
|
64
|
-
this.getDRepFromDRepId(dRepId);
|
|
65
|
-
return true;
|
|
66
|
-
}
|
|
67
|
-
catch (err) {
|
|
68
|
-
return false;
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
|
-
getDRepFromDRepId(dRepId) {
|
|
72
|
-
switch (dRepId) {
|
|
73
|
-
case 'always-abstain':
|
|
74
|
-
return cardano_serialization_lib_nodejs_1.DRep.new_always_abstain();
|
|
75
|
-
case 'always-no-confidence':
|
|
76
|
-
return cardano_serialization_lib_nodejs_1.DRep.new_always_no_confidence();
|
|
77
|
-
default:
|
|
78
|
-
try {
|
|
79
|
-
// for parsing CIP-105 standard DRep ID
|
|
80
|
-
return cardano_serialization_lib_nodejs_1.DRep.from_bech32(dRepId);
|
|
81
|
-
}
|
|
82
|
-
catch (err) {
|
|
83
|
-
// for parsing CIP-129 standard DRep ID
|
|
84
|
-
// https://cips.cardano.org/cip/CIP-0129
|
|
85
|
-
const decodedBech32 = bech32_1.bech32.decode(dRepId);
|
|
86
|
-
const decodedBytes = Buffer.from(bech32_1.bech32.fromWords(decodedBech32.words));
|
|
87
|
-
const header = decodedBytes[0];
|
|
88
|
-
const keyBytes = decodedBytes.subarray(1);
|
|
89
|
-
const keyType = (header & 0xf0) >> 4;
|
|
90
|
-
const credentialType = header & 0x0f;
|
|
91
|
-
if (keyType !== 0x02) {
|
|
92
|
-
throw new Error('Invalid key type for DRep');
|
|
93
|
-
}
|
|
94
|
-
switch (credentialType) {
|
|
95
|
-
case 0x02:
|
|
96
|
-
const ed25519KeyHash = cardano_serialization_lib_nodejs_1.Ed25519KeyHash.from_bytes(keyBytes);
|
|
97
|
-
return cardano_serialization_lib_nodejs_1.DRep.new_key_hash(ed25519KeyHash);
|
|
98
|
-
case 0x03:
|
|
99
|
-
const scriptHash = cardano_serialization_lib_nodejs_1.ScriptHash.from_bytes(keyBytes);
|
|
100
|
-
return cardano_serialization_lib_nodejs_1.DRep.new_script_hash(scriptHash);
|
|
101
|
-
default:
|
|
102
|
-
throw new Error('Invalid credential type for DRep');
|
|
103
|
-
}
|
|
104
|
-
}
|
|
105
|
-
}
|
|
106
|
-
}
|
|
107
|
-
getDRepIdFromDRep(dRep) {
|
|
108
|
-
switch (dRep.kind()) {
|
|
109
|
-
case cardano_serialization_lib_nodejs_1.DRepKind.AlwaysAbstain:
|
|
110
|
-
return exports.VOTE_ALWAYS_ABSTAIN;
|
|
111
|
-
case cardano_serialization_lib_nodejs_1.DRepKind.AlwaysNoConfidence:
|
|
112
|
-
return exports.VOTE_ALWAYS_NO_CONFIDENCE;
|
|
113
|
-
default:
|
|
114
|
-
return dRep.to_bech32();
|
|
115
|
-
}
|
|
116
|
-
}
|
|
117
|
-
/** @inheritdoc */
|
|
118
|
-
// this will validate both stake and payment addresses
|
|
119
|
-
isValidAddress(address) {
|
|
120
|
-
const bech32PrefixList = ['addr', 'addr_test', 'stake', 'stake_test'];
|
|
121
|
-
const BASE_ADDR_LEN = 92;
|
|
122
|
-
const REWARD_AND_ENTERPRISE_ADDR_LEN = 47;
|
|
123
|
-
const POINTER_ADDR_LEN = 52;
|
|
124
|
-
const VALIDATOR_ADDR_LEN = 56;
|
|
125
|
-
//Check for Shelley-era (Bech32) addresses
|
|
126
|
-
if (new RegExp(`^(${bech32PrefixList.join('|')})`).test(address)) {
|
|
127
|
-
try {
|
|
128
|
-
const decodedBech = bech32_1.bech32.decode(address, 108);
|
|
129
|
-
const wordLength = decodedBech.words.length;
|
|
130
|
-
if (bech32PrefixList.includes(decodedBech.prefix) &&
|
|
131
|
-
(wordLength === BASE_ADDR_LEN ||
|
|
132
|
-
wordLength === REWARD_AND_ENTERPRISE_ADDR_LEN ||
|
|
133
|
-
wordLength === POINTER_ADDR_LEN)) {
|
|
134
|
-
return true;
|
|
135
|
-
}
|
|
136
|
-
}
|
|
137
|
-
catch (e) {
|
|
138
|
-
console.log(`Address: ${address} failed Bech32 test with error: ${e}`);
|
|
139
|
-
}
|
|
140
|
-
}
|
|
141
|
-
//Check for Validator addresses
|
|
142
|
-
if (new RegExp(`^(?!pool)[a-z0-9]{${VALIDATOR_ADDR_LEN}}$`).test(address)) {
|
|
143
|
-
return true;
|
|
144
|
-
}
|
|
145
|
-
//Check for Byron-era address
|
|
146
|
-
try {
|
|
147
|
-
// Reject Daedalus wallet addresses (Byron-era addresses starting with "DdzFF")
|
|
148
|
-
if (address.startsWith('DdzFF')) {
|
|
149
|
-
console.log(`Rejecting Daedalus wallet address: ${address}`);
|
|
150
|
-
return false;
|
|
151
|
-
}
|
|
152
|
-
const decoded = bs58_1.default.decode(address);
|
|
153
|
-
const cborData = cbor_1.default.decodeFirstSync(decoded);
|
|
154
|
-
return Array.isArray(cborData) && cborData.length >= 2;
|
|
155
|
-
}
|
|
156
|
-
catch (e) {
|
|
157
|
-
console.log(`Address: ${address} failed Byron test with error: ${e}`);
|
|
158
|
-
console.log(e.stack);
|
|
159
|
-
}
|
|
160
|
-
return false;
|
|
161
|
-
}
|
|
162
|
-
/** @inheritdoc */
|
|
163
|
-
isValidBlockId(hash) {
|
|
164
|
-
return this.validateBlake2b(hash);
|
|
165
|
-
}
|
|
166
|
-
/** @inheritdoc */
|
|
167
|
-
isValidPrivateKey(key) {
|
|
168
|
-
// this will return true for both extended and non-extended ED25519 keys
|
|
169
|
-
return this.isValidKey(key);
|
|
170
|
-
}
|
|
171
|
-
isValidKey(key) {
|
|
172
|
-
try {
|
|
173
|
-
new keyPair_1.KeyPair({ prv: key });
|
|
174
|
-
return true;
|
|
175
|
-
}
|
|
176
|
-
catch {
|
|
177
|
-
return false;
|
|
178
|
-
}
|
|
179
|
-
}
|
|
180
|
-
/** @inheritdoc */
|
|
181
|
-
isValidPublicKey(pubKey) {
|
|
182
|
-
try {
|
|
183
|
-
new keyPair_1.KeyPair({ pub: pubKey });
|
|
184
|
-
return true;
|
|
185
|
-
}
|
|
186
|
-
catch {
|
|
187
|
-
return false;
|
|
188
|
-
}
|
|
189
|
-
}
|
|
190
|
-
/** @inheritdoc */
|
|
191
|
-
isValidSignature(signature) {
|
|
192
|
-
try {
|
|
193
|
-
cardano_serialization_lib_nodejs_1.Ed25519Signature.from_hex(signature);
|
|
194
|
-
return true;
|
|
195
|
-
}
|
|
196
|
-
catch (err) {
|
|
197
|
-
return false;
|
|
198
|
-
}
|
|
199
|
-
}
|
|
200
|
-
/** @inheritdoc */
|
|
201
|
-
isValidTransactionId(txId) {
|
|
202
|
-
return this.validateBlake2b(txId);
|
|
203
|
-
}
|
|
204
|
-
/**
|
|
205
|
-
* Get the transaction body from a serialized transaction
|
|
206
|
-
* @param {string} serializedTx - serialized transaction in hex or base64 format
|
|
207
|
-
* @returns {string} transaction body in hex format
|
|
208
|
-
*/
|
|
209
|
-
getTransactionBody(serializedTx) {
|
|
210
|
-
const HEX_REGEX = /^[0-9a-fA-F]+$/;
|
|
211
|
-
const bufferRawTransaction = HEX_REGEX.test(serializedTx)
|
|
212
|
-
? Buffer.from(serializedTx, 'hex')
|
|
213
|
-
: Buffer.from(serializedTx, 'base64');
|
|
214
|
-
return Buffer.from(cardano_serialization_lib_nodejs_1.Transaction.from_bytes(bufferRawTransaction).body().to_bytes()).toString('hex');
|
|
215
|
-
}
|
|
216
|
-
/**
|
|
217
|
-
* Decode wallet address from string.
|
|
218
|
-
* Attempts to decode as Shelley (bech32) first, then Byron (base58).
|
|
219
|
-
* @param {string} address - Valid Byron or Shelley-era address.
|
|
220
|
-
* @returns {Address} - Valid address object.
|
|
221
|
-
* @throws {InvalidAddressError} If the address is neither valid Shelley nor Byron.
|
|
222
|
-
*/
|
|
223
|
-
getWalletAddress(address) {
|
|
224
|
-
if (!address || typeof address !== 'string') {
|
|
225
|
-
throw new sdk_core_1.InvalidAddressError('Provided address is not a valid string');
|
|
226
|
-
}
|
|
227
|
-
// Try decoding as a Shelley (bech32) address first
|
|
228
|
-
try {
|
|
229
|
-
return cardano_serialization_lib_nodejs_1.Address.from_bech32(address);
|
|
230
|
-
}
|
|
231
|
-
catch (e) {
|
|
232
|
-
console.error(`Could not decode shelly address from string '${address}'`);
|
|
233
|
-
}
|
|
234
|
-
// Try decoding as a Byron (base58) address later
|
|
235
|
-
try {
|
|
236
|
-
// Reject Daedalus wallet addresses (Byron-era addresses starting with "DdzFF")
|
|
237
|
-
if (address.startsWith('DdzFF')) {
|
|
238
|
-
throw new sdk_core_1.InvalidAddressError('Provided string is a Daedalus address');
|
|
239
|
-
}
|
|
240
|
-
return cardano_serialization_lib_nodejs_1.ByronAddress.from_base58(address).to_address();
|
|
241
|
-
}
|
|
242
|
-
catch (e) {
|
|
243
|
-
console.error(`Could not decode byron address from string '${address}'`);
|
|
244
|
-
}
|
|
245
|
-
throw new sdk_core_1.InvalidAddressError('Provided string is not a valid Shelley or Byron address');
|
|
246
|
-
}
|
|
247
|
-
/**
|
|
248
|
-
* Decode address string from Address object.
|
|
249
|
-
* Attempts to decode as Shelley (bech32) first, then Byron (base58).
|
|
250
|
-
* @param {Address} address - Valid Address object
|
|
251
|
-
* @returns {string} - Valid Byron or Shelley-era address string.
|
|
252
|
-
* @throws {InvalidAddressError} If the Address object is neither valid Shelley nor Byron.
|
|
253
|
-
*/
|
|
254
|
-
getAddressString(address) {
|
|
255
|
-
// Check all Shelley address types
|
|
256
|
-
if (cardano_serialization_lib_nodejs_1.BaseAddress.from_address(address) ||
|
|
257
|
-
cardano_serialization_lib_nodejs_1.EnterpriseAddress.from_address(address) ||
|
|
258
|
-
cardano_serialization_lib_nodejs_1.RewardAddress.from_address(address) ||
|
|
259
|
-
cardano_serialization_lib_nodejs_1.PointerAddress.from_address(address)) {
|
|
260
|
-
return address.to_bech32();
|
|
261
|
-
}
|
|
262
|
-
const byronAddress = cardano_serialization_lib_nodejs_1.ByronAddress.from_address(address);
|
|
263
|
-
// Reject Daedalus wallet addresses (Byron-era addresses starting with "DdzFF")
|
|
264
|
-
if (byronAddress) {
|
|
265
|
-
if (byronAddress.to_base58().startsWith('DdzFF')) {
|
|
266
|
-
throw new sdk_core_1.InvalidAddressError('Provided address is a Daedalus address');
|
|
267
|
-
}
|
|
268
|
-
return byronAddress.to_base58();
|
|
269
|
-
}
|
|
270
|
-
// If neither, it's invalid
|
|
271
|
-
throw new sdk_core_1.InvalidAddressError('Provided Address is not a valid Shelley or Byron address');
|
|
272
|
-
}
|
|
273
|
-
}
|
|
274
|
-
exports.Utils = Utils;
|
|
275
|
-
const utils = new Utils();
|
|
276
|
-
exports.default = utils;
|
|
277
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL3V0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLDhDQUFnRjtBQUNoRiwrRkFnQmtEO0FBQ2xELHVDQUFvQztBQUNwQyxtQ0FBZ0M7QUFDaEMsZ0RBQXdCO0FBQ3hCLGdEQUF3QjtBQUVYLFFBQUEscUJBQXFCLEdBQUcsU0FBUyxDQUFDO0FBQ2xDLFFBQUEsbUJBQW1CLEdBQUcsZ0JBQWdCLENBQUM7QUFDdkMsUUFBQSx5QkFBeUIsR0FBRyxzQkFBc0IsQ0FBQztBQUVoRSxNQUFhLEtBQUs7SUFDaEIsdUNBQXVDLENBQ3JDLFlBQXFCLEVBQ3JCLGNBQXVCLEVBQ3ZCLE9BQXNCO1FBRXRCLElBQUksUUFBUSxDQUFDO1FBQ2IsSUFBSSxPQUFPLEtBQUssd0JBQWEsQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUN0Qyx5QkFBeUI7WUFDekIsTUFBTSxHQUFHLEdBQUcsWUFBWSxDQUFDLE9BQU8sRUFBRSxDQUFDLEdBQUcsQ0FBQztZQUV2QyxNQUFNLFFBQVEsR0FBRyw0Q0FBUyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDO1lBQy9ELDJCQUEyQjtZQUMzQixNQUFNLFVBQVUsR0FBRyw0Q0FBUyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQztZQUMxRiwwQ0FBMEM7WUFDMUMsUUFBUSxHQUFHLDhDQUFXLENBQUMsR0FBRyxDQUN4Qiw4Q0FBVyxDQUFDLE9BQU8sRUFBRSxDQUFDLFVBQVUsRUFBRSxFQUNsQyw2Q0FBVSxDQUFDLFlBQVksQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLENBQUMsRUFDMUMsNkNBQVUsQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLElBQUks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QUFDO1lBQ1gsT0FBTyxDQUFDLEtBQUssQ0FBQywrQ0FBK0MsT0FBTyxHQUFHLENBQUMsQ0FBQztRQUMzRSxDQUFDO1FBQ0QsTUFBTSxJQUFJLDhCQUFtQixDQUFDLHlEQUF5RCxDQUFDLENBQUM7SUFDM0YsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNILGdCQUFnQixDQUFDLE9BQWdCO1FBQy9CLGtDQUFrQztRQUNsQyxJQUNFLDhDQUFXLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQztZQUNqQyxvREFBaUIsQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDO1lBQ3ZDLGdEQUFhLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQztZQUNuQyxpREFBYyxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsRUFDcEMsQ0FBQztZQUNELE9BQU8sT0FBTyxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQzdCLENBQUM7UUFFRCxNQUFNLFlBQVksR0FBRywrQ0FBWSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUN4RCwrRUFBK0U7UUFDL0UsSUFBSSxZQUFZLEVBQUUsQ0FBQztZQUNqQixJQUFJLFlBQVksQ0FBQyxTQUFTLEVBQUUsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztnQkFDakQsTUFBTSxJQUFJLDhCQUFtQixDQUFDLHdDQUF3QyxDQUFDLENBQUM7WUFDMUUsQ0FBQztZQUNELE9BQU8sWUFBWSxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQ2xDLENBQUM7UUFFRCwyQkFBMkI7UUFDM0IsTUFBTSxJQUFJLDhCQUFtQixDQUFDLDBEQUEwRCxDQUFDLENBQUM7SUFDNUYsQ0FBQztDQUNGO0FBclNELHNCQXFTQztBQUVELE1BQU0sS0FBSyxHQUFHLElBQUksS0FBSyxFQUFFLENBQUM7QUFFMUIsa0JBQWUsS0FBSyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWRkcmVzc0Zvcm1hdCwgQmFzZVV0aWxzLCBJbnZhbGlkQWRkcmVzc0Vycm9yIH0gZnJvbSAnQGJpdGdvL3Nkay1jb3JlJztcbmltcG9ydCB7XG4gIEJhc2VBZGRyZXNzLFxuICBQdWJsaWNLZXksXG4gIEVkMjU1MTlTaWduYXR1cmUsXG4gIE5ldHdvcmtJbmZvLFxuICBDcmVkZW50aWFsLFxuICBSZXdhcmRBZGRyZXNzLFxuICBUcmFuc2FjdGlvbiBhcyBDYXJkYW5vVHJhbnNhY3Rpb24sXG4gIERSZXAsXG4gIEVkMjU1MTlLZXlIYXNoLFxuICBTY3JpcHRIYXNoLFxuICBEUmVwS2luZCxcbiAgQWRkcmVzcyxcbiAgRW50ZXJwcmlzZUFkZHJlc3MsXG4gIFBvaW50ZXJBZGRyZXNzLFxuICBCeXJvbkFkZHJlc3MsXG59IGZyb20gJ0BlbXVyZ28vY2FyZGFuby1zZXJpYWxpemF0aW9uLWxpYi1ub2RlanMnO1xuaW1wb3J0IHsgS2V5UGFpciB9IGZyb20gJy4va2V5UGFpcic7XG5pbXBvcnQgeyBiZWNoMzIgfSBmcm9tICdiZWNoMzInO1xuaW1wb3J0IGJzNTggZnJvbSAnYnM1OCc7XG5pbXBvcnQgY2JvciBmcm9tICdjYm9yJztcblxuZXhwb3J0IGNvbnN0IE1JTl9BREFfRk9SX09ORV9BU1NFVCA9ICcxNTAwMDAwJztcbmV4cG9ydCBjb25zdCBWT1RFX0FMV0FZU19BQlNUQUlOID0gJ2Fsd2F5cy1hYnN0YWluJztcbmV4cG9ydCBjb25zdCBWT1RFX0FMV0FZU19OT19DT05GSURFTkNFID0gJ2Fsd2F5cy1uby1jb25maWRlbmNlJztcblxuZXhwb3J0IGNsYXNzIFV0aWxzIGltcGxlbWVudHMgQmFzZVV0aWxzIHtcbiAgY3JlYXRlQmFzZUFkZHJlc3NXaXRoU3Rha2VBbmRQYXltZW50S2V5KFxuICAgIHN0YWtlS2V5UGFpcjogS2V5UGFpcixcbiAgICBwYXltZW50S2V5UGFpcjogS2V5UGFpcixcbiAgICBuZXR3b3JrOiBBZGRyZXNzRm9ybWF0XG4gICk6IHN0cmluZyB7XG4gICAgbGV0IGJhc2VBZGRyO1xuICAgIGlmIChuZXR3b3JrID09PSBBZGRyZXNzRm9ybWF0Lm1haW5uZXQpIHtcbiAgICAgIC8vIDEuIGNyZWF0ZSBzdGFrZSBwdWJLZXlcbiAgICAgIGNvbnN0IGtleSA9IHN0YWtlS2V5UGFpci5nZXRLZXlzKCkucHViO1xuXG4gICAgICBjb25zdCBzdGFrZVB1YiA9IFB1YmxpY0tleS5mcm9tX2J5dGVzKEJ1ZmZlci5mcm9tKGtleSwgJ2hleCcpKTtcbiAgICAgIC8vIDIuIGNyZWF0ZSBwYXltZW50IHB1YktleVxuICAgICAgY29uc3QgcGF5bWVudFB1YiA9IFB1YmxpY0tleS5mcm9tX2J5dGVzKEJ1ZmZlci5mcm9tKHBheW1lbnRLZXlQYWlyLmdldEtleXMoKS5wdWIsICdoZXgnKSk7XG4gICAgICAvLyAzLiBjcmVhdGUgZnVsbCBiYXNlIGFkZHJlc3MgZm9yIHN0YWtpbmdcbiAgICAgIGJhc2VBZGRyID0gQmFzZUFkZHJlc3MubmV3KFxuICAgICAgICBOZXR3b3JrSW5mby5tYWlubmV0KCkubmV0d29ya19pZCgpLFxuICAgICAgICBDcmVkZW50aWFsLmZyb21fa2V5aGFzaChwYXltZW50UHViLmhhc2goKSksXG4gICAgICAgIENyZWRlbnRpYWwuZnJvbV9rZXloYXNoKHN0YWtlUHViLmhhc2goKSlcbiAgICAgICk7XG4gICAgICByZXR1cm4gYmFzZUFkZHIudG9fYWRkcmVzcygpLnRvX2JlY2gzMigpO1xuICAgIH0gZWxzZSBpZiAobmV0d29yayA9PT0gQWRkcmVzc0Zvcm1hdC50ZXN0bmV0KSB7XG4gICAgICAvLyAxLiBjcmVhdGUgc3Rha2UgcHViS2V5XG4gICAgICBjb25zdCBzdGFrZVB1YiA9IFB1YmxpY0tleS5mcm9tX2J5dGVzKEJ1ZmZlci5mcm9tKHN0YWtlS2V5UGFpci5nZXRLZXlzKCkucHViLCAnaGV4JykpO1xuICAgICAgLy8gMi4gY3JlYXRlIHBheW1lbnQgcHViS2V5XG4gICAgICBjb25zdCBwYXltZW50UHViID0gUHVibGljS2V5LmZyb21fYnl0ZXMoQnVmZmVyLmZyb20ocGF5bWVudEtleVBhaXIuZ2V0S2V5cygpLnB1YiwgJ2hleCcpKTtcbiAgICAgIC8vIDMuIGNyZWF0ZSBmdWxsIGJhc2UgYWRkcmVzcyBmb3Igc3Rha2luZ1xuICAgICAgY29uc3QgYmFzZUFkZHIgPSBCYXNlQWRkcmVzcy5uZXcoXG4gICAgICAgIE5ldHdvcmtJbmZvLnRlc3RuZXRfcHJlcHJvZCgpLm5ldHdvcmtfaWQoKSxcbiAgICAgICAgQ3JlZGVudGlhbC5mcm9tX2tleWhhc2gocGF5bWVudFB1Yi5oYXNoKCkpLFxuICAgICAgICBDcmVkZW50aWFsLmZyb21fa2V5aGFzaChzdGFrZVB1Yi5oYXNoKCkpXG4gICAgICApO1xuICAgICAgcmV0dXJuIGJhc2VBZGRyLnRvX2FkZHJlc3MoKS50b19iZWNoMzIoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdJbXByb3BlciBOZXR3b3JrIFR5cGUhJyk7XG4gICAgfVxuICB9XG5cbiAgdmFsaWRhdGVCbGFrZTJiKGhhc2g6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIGlmICghaGFzaCkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICBpZiAoaGFzaC5sZW5ndGggIT09IDY0KSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIHJldHVybiBoYXNoLm1hdGNoKC9eW2EtekEtWjAtOV0rJC8pICE9PSBudWxsO1xuICB9XG5cbiAgZ2V0UmV3YXJkQWRkcmVzcyhzdGFraW5nUHViS2V5OiBzdHJpbmcsIGNvaW5OYW1lOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGNvbnN0IHN0YWtlUHViID0gUHVibGljS2V5LmZyb21fYnl0ZXMoQnVmZmVyLmZyb20oc3Rha2luZ1B1YktleSwgJ2hleCcpKTtcbiAgICBsZXQgcmV3YXJkQWRkcmVzcztcbiAgICBpZiAoY29pbk5hbWUgPT09ICdhZGEnKSB7XG4gICAgICByZXdhcmRBZGRyZXNzID0gUmV3YXJkQWRkcmVzcy5uZXcoTmV0d29ya0luZm8ubWFpbm5ldCgpLm5ldHdvcmtfaWQoKSwgQ3JlZGVudGlhbC5mcm9tX2tleWhhc2goc3Rha2VQdWIuaGFzaCgpKSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJld2FyZEFkZHJlc3MgPSBSZXdhcmRBZGRyZXNzLm5ldyhcbiAgICAgICAgTmV0d29ya0luZm8udGVzdG5ldF9wcmVwcm9kKCkubmV0d29ya19pZCgpLFxuICAgICAgICBDcmVkZW50aWFsLmZyb21fa2V5aGFzaChzdGFrZVB1Yi5oYXNoKCkpXG4gICAgICApO1xuICAgIH1cbiAgICByZXR1cm4gcmV3YXJkQWRkcmVzcy50b19hZGRyZXNzKCkudG9fYmVjaDMyKCk7XG4gIH1cblxuICBpc1ZhbGlkRFJlcElkKGRSZXBJZDogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgdHJ5IHtcbiAgICAgIHRoaXMuZ2V0RFJlcEZyb21EUmVwSWQoZFJlcElkKTtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIGdldERSZXBGcm9tRFJlcElkKGRSZXBJZDogc3RyaW5nKTogRFJlcCB7XG4gICAgc3dpdGNoIChkUmVwSWQpIHtcbiAgICAgIGNhc2UgJ2Fsd2F5cy1hYnN0YWluJzpcbiAgICAgICAgcmV0dXJuIERSZXAubmV3X2Fsd2F5c19hYnN0YWluKCk7XG4gICAgICBjYXNlICdhbHdheXMtbm8tY29uZmlkZW5jZSc6XG4gICAgICAgIHJldHVybiBEUmVwLm5ld19hbHdheXNfbm9fY29uZmlkZW5jZSgpO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAvLyBmb3IgcGFyc2luZyBDSVAtMTA1IHN0YW5kYXJkIERSZXAgSURcbiAgICAgICAgICByZXR1cm4gRFJlcC5mcm9tX2JlY2gzMihkUmVwSWQpO1xuICAgICAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgICAgICAvLyBmb3IgcGFyc2luZyBDSVAtMTI5IHN0YW5kYXJkIERSZXAgSURcbiAgICAgICAgICAvLyBodHRwczovL2NpcHMuY2FyZGFuby5vcmcvY2lwL0NJUC0wMTI5XG4gICAgICAgICAgY29uc3QgZGVjb2RlZEJlY2gzMiA9IGJlY2gzMi5kZWNvZGUoZFJlcElkKTtcbiAgICAgICAgICBjb25zdCBkZWNvZGVkQnl0ZXMgPSBCdWZmZXIuZnJvbShiZWNoMzIuZnJvbVdvcmRzKGRlY29kZWRCZWNoMzIud29yZHMpKTtcbiAgICAgICAgICBjb25zdCBoZWFkZXIgPSBkZWNvZGVkQnl0ZXNbMF07XG4gICAgICAgICAgY29uc3Qga2V5Qnl0ZXMgPSBkZWNvZGVkQnl0ZXMuc3ViYXJyYXkoMSk7XG5cbiAgICAgICAgICBjb25zdCBrZXlUeXBlID0gKGhlYWRlciAmIDB4ZjApID4+IDQ7XG4gICAgICAgICAgY29uc3QgY3JlZGVudGlhbFR5cGUgPSBoZWFkZXIgJiAweDBmO1xuXG4gICAgICAgICAgaWYgKGtleVR5cGUgIT09IDB4MDIpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignSW52YWxpZCBrZXkgdHlwZSBmb3IgRFJlcCcpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHN3aXRjaCAoY3JlZGVudGlhbFR5cGUpIHtcbiAgICAgICAgICAgIGNhc2UgMHgwMjpcbiAgICAgICAgICAgICAgY29uc3QgZWQyNTUxOUtleUhhc2ggPSBFZDI1NTE5S2V5SGFzaC5mcm9tX2J5dGVzKGtleUJ5dGVzKTtcbiAgICAgICAgICAgICAgcmV0dXJuIERSZXAubmV3X2tleV9oYXNoKGVkMjU1MTlLZXlIYXNoKTtcbiAgICAgICAgICAgIGNhc2UgMHgwMzpcbiAgICAgICAgICAgICAgY29uc3Qgc2NyaXB0SGFzaCA9IFNjcmlwdEhhc2guZnJvbV9ieXRlcyhrZXlCeXRlcyk7XG4gICAgICAgICAgICAgIHJldHVybiBEUmVwLm5ld19zY3JpcHRfaGFzaChzY3JpcHRIYXNoKTtcbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignSW52YWxpZCBjcmVkZW50aWFsIHR5cGUgZm9yIERSZXAnKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gIH1cblxuICBnZXREUmVwSWRGcm9tRFJlcChkUmVwOiBEUmVwKTogc3RyaW5nIHtcbiAgICBzd2l0Y2ggKGRSZXAua2luZCgpKSB7XG4gICAgICBjYXNlIERSZXBLaW5kLkFsd2F5c0Fic3RhaW46XG4gICAgICAgIHJldHVybiBWT1RFX0FMV0FZU19BQlNUQUlOO1xuICAgICAgY2FzZSBEUmVwS2luZC5BbHdheXNOb0NvbmZpZGVuY2U6XG4gICAgICAgIHJldHVybiBWT1RFX0FMV0FZU19OT19DT05GSURFTkNFO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuIGRSZXAudG9fYmVjaDMyKCk7XG4gICAgfVxuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIC8vIHRoaXMgd2lsbCB2YWxpZGF0ZSBib3RoIHN0YWtlIGFuZCBwYXltZW50IGFkZHJlc3Nlc1xuICBpc1ZhbGlkQWRkcmVzcyhhZGRyZXNzOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICBjb25zdCBiZWNoMzJQcmVmaXhMaXN0ID0gWydhZGRyJywgJ2FkZHJfdGVzdCcsICdzdGFrZScsICdzdGFrZV90ZXN0J107XG4gICAgY29uc3QgQkFTRV9BRERSX0xFTiA9IDkyO1xuICAgIGNvbnN0IFJFV0FSRF9BTkRfRU5URVJQUklTRV9BRERSX0xFTiA9IDQ3O1xuICAgIGNvbnN0IFBPSU5URVJfQUREUl9MRU4gPSA1MjtcbiAgICBjb25zdCBWQUxJREFUT1JfQUREUl9MRU4gPSA1NjtcblxuICAgIC8vQ2hlY2sgZm9yIFNoZWxsZXktZXJhIChCZWNoMzIpIGFkZHJlc3Nlc1xuICAgIGlmIChuZXcgUmVnRXhwKGBeKCR7YmVjaDMyUHJlZml4TGlzdC5qb2luKCd8Jyl9KWApLnRlc3QoYWRkcmVzcykpIHtcbiAgICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IGRlY29kZWRCZWNoID0gYmVjaDMyLmRlY29kZShhZGRyZXNzLCAxMDgpO1xuICAgICAgICBjb25zdCB3b3JkTGVuZ3RoID0gZGVjb2RlZEJlY2gud29yZHMubGVuZ3RoO1xuICAgICAgICBpZiAoXG4gICAgICAgICAgYmVjaDMyUHJlZml4TGlzdC5pbmNsdWRlcyhkZWNvZGVkQmVjaC5wcmVmaXgpICYmXG4gICAgICAgICAgKHdvcmRMZW5ndGggPT09IEJBU0VfQUREUl9MRU4gfHxcbiAgICAgICAgICAgIHdvcmRMZW5ndGggPT09IFJFV0FSRF9BTkRfRU5URVJQUklTRV9BRERSX0xFTiB8fFxuICAgICAgICAgICAgd29yZExlbmd0aCA9PT0gUE9JTlRFUl9BRERSX0xFTilcbiAgICAgICAgKSB7XG4gICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cbiAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgY29uc29sZS5sb2coYEFkZHJlc3M6ICR7YWRkcmVzc30gZmFpbGVkIEJlY2gzMiB0ZXN0IHdpdGggZXJyb3I6ICR7ZX1gKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvL0NoZWNrIGZvciBWYWxpZGF0b3IgYWRkcmVzc2VzXG4gICAgaWYgKG5ldyBSZWdFeHAoYF4oPyFwb29sKVthLXowLTldeyR7VkFMSURBVE9SX0FERFJfTEVOfX0kYCkudGVzdChhZGRyZXNzKSkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgLy9DaGVjayBmb3IgQnlyb24tZXJhIGFkZHJlc3NcbiAgICB0cnkge1xuICAgICAgLy8gUmVqZWN0IERhZWRhbHVzIHdhbGxldCBhZGRyZXNzZXMgKEJ5cm9uLWVyYSBhZGRyZXNzZXMgc3RhcnRpbmcgd2l0aCBcIkRkekZGXCIpXG4gICAgICBpZiAoYWRkcmVzcy5zdGFydHNXaXRoKCdEZHpGRicpKSB7XG4gICAgICAgIGNvbnNvbGUubG9nKGBSZWplY3RpbmcgRGFlZGFsdXMgd2FsbGV0IGFkZHJlc3M6ICR7YWRkcmVzc31gKTtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuXG4gICAgICBjb25zdCBkZWNvZGVkID0gYnM1OC5kZWNvZGUoYWRkcmVzcyk7XG4gICAgICBjb25zdCBjYm9yRGF0YSA9IGNib3IuZGVjb2RlRmlyc3RTeW5jKGRlY29kZWQpO1xuICAgICAgcmV0dXJuIEFycmF5LmlzQXJyYXkoY2JvckRhdGEpICYmIGNib3JEYXRhLmxlbmd0aCA+PSAyO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIGNvbnNvbGUubG9nKGBBZGRyZXNzOiAke2FkZHJlc3N9IGZhaWxlZCBCeXJvbiB0ZXN0IHdpdGggZXJyb3I6ICR7ZX1gKTtcbiAgICAgIGNvbnNvbGUubG9nKGUuc3RhY2spO1xuICAgIH1cblxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICBpc1ZhbGlkQmxvY2tJZChoYXNoOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy52YWxpZGF0ZUJsYWtlMmIoaGFzaCk7XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgaXNWYWxpZFByaXZhdGVLZXkoa2V5OiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICAvLyB0aGlzIHdpbGwgcmV0dXJuIHRydWUgZm9yIGJvdGggZXh0ZW5kZWQgYW5kIG5vbi1leHRlbmRlZCBFRDI1NTE5IGtleXNcbiAgICByZXR1cm4gdGhpcy5pc1ZhbGlkS2V5KGtleSk7XG4gIH1cblxuICBpc1ZhbGlkS2V5KGtleTogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgdHJ5IHtcbiAgICAgIG5ldyBLZXlQYWlyKHsgcHJ2OiBrZXkgfSk7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9IGNhdGNoIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgaXNWYWxpZFB1YmxpY0tleShwdWJLZXk6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIHRyeSB7XG4gICAgICBuZXcgS2V5UGFpcih7IHB1YjogcHViS2V5IH0pO1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfSBjYXRjaCB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIGlzVmFsaWRTaWduYXR1cmUoc2lnbmF0dXJlOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICB0cnkge1xuICAgICAgRWQyNTUxOVNpZ25hdHVyZS5mcm9tX2hleChzaWduYXR1cmUpO1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIGlzVmFsaWRUcmFuc2FjdGlvbklkKHR4SWQ6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnZhbGlkYXRlQmxha2UyYih0eElkKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgdGhlIHRyYW5zYWN0aW9uIGJvZHkgZnJvbSBhIHNlcmlhbGl6ZWQgdHJhbnNhY3Rpb25cbiAgICogQHBhcmFtIHtzdHJpbmd9IHNlcmlhbGl6ZWRUeCAtIHNlcmlhbGl6ZWQgdHJhbnNhY3Rpb24gaW4gaGV4IG9yIGJhc2U2NCBmb3JtYXRcbiAgICogQHJldHVybnMge3N0cmluZ30gdHJhbnNhY3Rpb24gYm9keSBpbiBoZXggZm9ybWF0XG4gICAqL1xuICBnZXRUcmFuc2FjdGlvbkJvZHkoc2VyaWFsaXplZFR4OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGNvbnN0IEhFWF9SRUdFWCA9IC9eWzAtOWEtZkEtRl0rJC87XG4gICAgY29uc3QgYnVmZmVyUmF3VHJhbnNhY3Rpb24gPSBIRVhfUkVHRVgudGVzdChzZXJpYWxpemVkVHgpXG4gICAgICA/IEJ1ZmZlci5mcm9tKHNlcmlhbGl6ZWRUeCwgJ2hleCcpXG4gICAgICA6IEJ1ZmZlci5mcm9tKHNlcmlhbGl6ZWRUeCwgJ2Jhc2U2NCcpO1xuICAgIHJldHVybiBCdWZmZXIuZnJvbShDYXJkYW5vVHJhbnNhY3Rpb24uZnJvbV9ieXRlcyhidWZmZXJSYXdUcmFuc2FjdGlvbikuYm9keSgpLnRvX2J5dGVzKCkpLnRvU3RyaW5nKCdoZXgnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBEZWNvZGUgd2FsbGV0IGFkZHJlc3MgZnJvbSBzdHJpbmcuXG4gICAqIEF0dGVtcHRzIHRvIGRlY29kZSBhcyBTaGVsbGV5IChiZWNoMzIpIGZpcnN0LCB0aGVuIEJ5cm9uIChiYXNlNTgpLlxuICAgKiBAcGFyYW0ge3N0cmluZ30gYWRkcmVzcyAtIFZhbGlkIEJ5cm9uIG9yIFNoZWxsZXktZXJhIGFkZHJlc3MuXG4gICAqIEByZXR1cm5zIHtBZGRyZXNzfSAtIFZhbGlkIGFkZHJlc3Mgb2JqZWN0LlxuICAgKiBAdGhyb3dzIHtJbnZhbGlkQWRkcmVzc0Vycm9yfSBJZiB0aGUgYWRkcmVzcyBpcyBuZWl0aGVyIHZhbGlkIFNoZWxsZXkgbm9yIEJ5cm9uLlxuICAgKi9cbiAgZ2V0V2FsbGV0QWRkcmVzcyhhZGRyZXNzOiBzdHJpbmcpOiBBZGRyZXNzIHtcbiAgICBpZiAoIWFkZHJlc3MgfHwgdHlwZW9mIGFkZHJlc3MgIT09ICdzdHJpbmcnKSB7XG4gICAgICB0aHJvdyBuZXcgSW52YWxpZEFkZHJlc3NFcnJvcignUHJvdmlkZWQgYWRkcmVzcyBpcyBub3QgYSB2YWxpZCBzdHJpbmcnKTtcbiAgICB9XG5cbiAgICAvLyBUcnkgZGVjb2RpbmcgYXMgYSBTaGVsbGV5IChiZWNoMzIpIGFkZHJlc3MgZmlyc3RcbiAgICB0cnkge1xuICAgICAgcmV0dXJuIEFkZHJlc3MuZnJvbV9iZWNoMzIoYWRkcmVzcyk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgY29uc29sZS5lcnJvcihgQ291bGQgbm90IGRlY29kZSBzaGVsbHkgYWRkcmVzcyBmcm9tIHN0cmluZyAnJHthZGRyZXNzfSdgKTtcbiAgICB9XG5cbiAgICAvLyBUcnkgZGVjb2RpbmcgYXMgYSBCeXJvbiAoYmFzZTU4KSBhZGRyZXNzIGxhdGVyXG4gICAgdHJ5IHtcbiAgICAgIC8vIFJlamVjdCBEYWVkYWx1cyB3YWxsZXQgYWRkcmVzc2VzIChCeXJvbi1lcmEgYWRkcmVzc2VzIHN0YXJ0aW5nIHdpdGggXCJEZHpGRlwiKVxuICAgICAgaWYgKGFkZHJlc3Muc3RhcnRzV2l0aCgnRGR6RkYnKSkge1xuICAgICAgICB0aHJvdyBuZXcgSW52YWxpZEFkZHJlc3NFcnJvcignUHJvdmlkZWQgc3RyaW5nIGlzIGEgRGFlZGFsdXMgYWRkcmVzcycpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gQnlyb25BZGRyZXNzLmZyb21fYmFzZTU4KGFkZHJlc3MpLnRvX2FkZHJlc3MoKTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICBjb25zb2xlLmVycm9yKGBDb3VsZCBub3QgZGVjb2RlIGJ5cm9uIGFkZHJlc3MgZnJvbSBzdHJpbmcgJyR7YWRkcmVzc30nYCk7XG4gICAgfVxuICAgIHRocm93IG5ldyBJbnZhbGlkQWRkcmVzc0Vycm9yKCdQcm92aWRlZCBzdHJpbmcgaXMgbm90IGEgdmFsaWQgU2hlbGxleSBvciBCeXJvbiBhZGRyZXNzJyk7XG4gIH1cblxuICAvKipcbiAgICogRGVjb2RlIGFkZHJlc3Mgc3RyaW5nIGZyb20gQWRkcmVzcyBvYmplY3QuXG4gICAqIEF0dGVtcHRzIHRvIGRlY29kZSBhcyBTaGVsbGV5IChiZWNoMzIpIGZpcnN0LCB0aGVuIEJ5cm9uIChiYXNlNTgpLlxuICAgKiBAcGFyYW0ge0FkZHJlc3N9IGFkZHJlc3MgLSBWYWxpZCBBZGRyZXNzIG9iamVjdFxuICAgKiBAcmV0dXJucyB7c3RyaW5nfSAtIFZhbGlkIEJ5cm9uIG9yIFNoZWxsZXktZXJhIGFkZHJlc3Mgc3RyaW5nLlxuICAgKiBAdGhyb3dzIHtJbnZhbGlkQWRkcmVzc0Vycm9yfSBJZiB0aGUgQWRkcmVzcyBvYmplY3QgaXMgbmVpdGhlciB2YWxpZCBTaGVsbGV5IG5vciBCeXJvbi5cbiAgICovXG4gIGdldEFkZHJlc3NTdHJpbmcoYWRkcmVzczogQWRkcmVzcyk6IHN0cmluZyB7XG4gICAgLy8gQ2hlY2sgYWxsIFNoZWxsZXkgYWRkcmVzcyB0eXBlc1xuICAgIGlmIChcbiAgICAgIEJhc2VBZGRyZXNzLmZyb21fYWRkcmVzcyhhZGRyZXNzKSB8fFxuICAgICAgRW50ZXJwcmlzZUFkZHJlc3MuZnJvbV9hZGRyZXNzKGFkZHJlc3MpIHx8XG4gICAgICBSZXdhcmRBZGRyZXNzLmZyb21fYWRkcmVzcyhhZGRyZXNzKSB8fFxuICAgICAgUG9pbnRlckFkZHJlc3MuZnJvbV9hZGRyZXNzKGFkZHJlc3MpXG4gICAgKSB7XG4gICAgICByZXR1cm4gYWRkcmVzcy50b19iZWNoMzIoKTtcbiAgICB9XG5cbiAgICBjb25zdCBieXJvbkFkZHJlc3MgPSBCeXJvbkFkZHJlc3MuZnJvbV9hZGRyZXNzKGFkZHJlc3MpO1xuICAgIC8vIFJlamVjdCBEYWVkYWx1cyB3YWxsZXQgYWRkcmVzc2VzIChCeXJvbi1lcmEgYWRkcmVzc2VzIHN0YXJ0aW5nIHdpdGggXCJEZHpGRlwiKVxuICAgIGlmIChieXJvbkFkZHJlc3MpIHtcbiAgICAgIGlmIChieXJvbkFkZHJlc3MudG9fYmFzZTU4KCkuc3RhcnRzV2l0aCgnRGR6RkYnKSkge1xuICAgICAgICB0aHJvdyBuZXcgSW52YWxpZEFkZHJlc3NFcnJvcignUHJvdmlkZWQgYWRkcmVzcyBpcyBhIERhZWRhbHVzIGFkZHJlc3MnKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBieXJvbkFkZHJlc3MudG9fYmFzZTU4KCk7XG4gICAgfVxuXG4gICAgLy8gSWYgbmVpdGhlciwgaXQncyBpbnZhbGlkXG4gICAgdGhyb3cgbmV3IEludmFsaWRBZGRyZXNzRXJyb3IoJ1Byb3ZpZGVkIEFkZHJlc3MgaXMgbm90IGEgdmFsaWQgU2hlbGxleSBvciBCeXJvbiBhZGRyZXNzJyk7XG4gIH1cbn1cblxuY29uc3QgdXRpbHMgPSBuZXcgVXRpbHMoKTtcblxuZXhwb3J0IGRlZmF1bHQgdXRpbHM7XG4iXX0=
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import { BaseKey, TransactionType } from '@bitgo/sdk-core';
|
|
2
|
-
import { BaseCoin as CoinConfig } from '@bitgo/statics';
|
|
3
|
-
import { TransactionBuilder } from './transactionBuilder';
|
|
4
|
-
import { Transaction } from './transaction';
|
|
5
|
-
export declare class VoteDelegationBuilder extends TransactionBuilder {
|
|
6
|
-
constructor(_coinConfig: Readonly<CoinConfig>);
|
|
7
|
-
protected get transactionType(): TransactionType;
|
|
8
|
-
/** @inheritdoc */
|
|
9
|
-
initBuilder(tx: Transaction): void;
|
|
10
|
-
/**
|
|
11
|
-
* Creates the proper certificates needed to delegate a user's vote to a given DRep
|
|
12
|
-
*
|
|
13
|
-
* @param stakingPublicKey The user's public stake key
|
|
14
|
-
* @param dRepId The DRep ID of the DRep we will delegate vote to
|
|
15
|
-
*/
|
|
16
|
-
addVoteDelegationCertificate(stakingPublicKey: string, dRepId: string): this;
|
|
17
|
-
/** @inheritdoc */
|
|
18
|
-
protected buildImplementation(): Promise<Transaction>;
|
|
19
|
-
/** @inheritdoc */
|
|
20
|
-
protected fromImplementation(rawTransaction: string): Transaction;
|
|
21
|
-
/** @inheritdoc */
|
|
22
|
-
protected signImplementation(key: BaseKey): Transaction;
|
|
23
|
-
}
|
|
24
|
-
//# sourceMappingURL=voteDelegationBuilder.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"voteDelegationBuilder.d.ts","sourceRoot":"","sources":["../../../src/lib/voteDelegationBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAC3D,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAI5C,qBAAa,qBAAsB,SAAQ,kBAAkB;gBAC/C,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC;IAK7C,SAAS,KAAK,eAAe,IAAI,eAAe,CAE/C;IAED,kBAAkB;IAClB,WAAW,CAAC,EAAE,EAAE,WAAW,GAAG,IAAI;IAIlC;;;;;OAKG;IACH,4BAA4B,CAAC,gBAAgB,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAW5E,kBAAkB;cACF,mBAAmB,IAAI,OAAO,CAAC,WAAW,CAAC;IAM3D,kBAAkB;IAClB,SAAS,CAAC,kBAAkB,CAAC,cAAc,EAAE,MAAM,GAAG,WAAW;IAIjE,kBAAkB;IAClB,SAAS,CAAC,kBAAkB,CAAC,GAAG,EAAE,OAAO,GAAG,WAAW;CAGxD"}
|