@bitgo-beta/sdk-coin-ada 2.3.14-beta.182 → 2.3.14-beta.1821
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/dist/src/ada.d.ts +15 -13
- package/dist/src/ada.d.ts.map +1 -1
- package/dist/src/ada.js +124 -42
- package/dist/src/adaToken.d.ts +16 -11
- package/dist/src/adaToken.d.ts.map +1 -1
- package/dist/src/adaToken.js +109 -3
- package/dist/src/index.js +6 -2
- package/dist/src/lib/index.d.ts +3 -1
- package/dist/src/lib/index.d.ts.map +1 -1
- package/dist/src/lib/index.js +29 -9
- package/dist/src/lib/keyPair.js +29 -16
- package/dist/src/lib/messages/cip8/cip8Message.d.ts +25 -0
- package/dist/src/lib/messages/cip8/cip8Message.d.ts.map +1 -0
- package/dist/src/lib/messages/cip8/cip8Message.js +140 -0
- package/dist/src/lib/messages/cip8/cip8MessageBuilder.d.ts +19 -0
- package/dist/src/lib/messages/cip8/cip8MessageBuilder.d.ts.map +1 -0
- package/dist/src/lib/messages/cip8/cip8MessageBuilder.js +27 -0
- package/dist/src/lib/messages/cip8/index.d.ts +4 -0
- package/dist/src/lib/messages/cip8/index.d.ts.map +1 -0
- package/dist/src/lib/messages/cip8/index.js +20 -0
- package/dist/src/lib/messages/cip8/utils.d.ts +24 -0
- package/dist/src/lib/messages/cip8/utils.d.ts.map +1 -0
- package/dist/src/lib/messages/cip8/utils.js +73 -0
- package/dist/src/lib/messages/index.d.ts +3 -0
- package/dist/src/lib/messages/index.d.ts.map +1 -0
- package/dist/src/lib/messages/index.js +19 -0
- package/dist/src/lib/messages/messageBuilderFactory.d.ts +7 -0
- package/dist/src/lib/messages/messageBuilderFactory.d.ts.map +1 -0
- package/dist/src/lib/messages/messageBuilderFactory.js +20 -0
- package/dist/src/lib/stakingActivateBuilder.d.ts +1 -1
- package/dist/src/lib/stakingActivateBuilder.d.ts.map +1 -1
- package/dist/src/lib/stakingActivateBuilder.js +30 -10
- package/dist/src/lib/stakingDeactivateBuilder.js +24 -10
- package/dist/src/lib/transaction.d.ts +24 -7
- package/dist/src/lib/transaction.d.ts.map +1 -1
- package/dist/src/lib/transaction.js +81 -17
- package/dist/src/lib/transactionBuilder.d.ts +114 -3
- package/dist/src/lib/transactionBuilder.d.ts.map +1 -1
- package/dist/src/lib/transactionBuilder.js +464 -20
- package/dist/src/lib/transactionBuilderFactory.d.ts +2 -0
- package/dist/src/lib/transactionBuilderFactory.d.ts.map +1 -1
- package/dist/src/lib/transactionBuilderFactory.js +7 -1
- package/dist/src/lib/utils.d.ts +22 -0
- package/dist/src/lib/utils.d.ts.map +1 -1
- package/dist/src/lib/utils.js +152 -17
- package/dist/src/lib/voteDelegationBuilder.d.ts +24 -0
- package/dist/src/lib/voteDelegationBuilder.d.ts.map +1 -0
- package/dist/src/lib/voteDelegationBuilder.js +84 -0
- package/dist/test/resources/cip8Resources.d.ts +25 -0
- package/dist/test/resources/cip8Resources.d.ts.map +1 -0
- package/dist/test/resources/cip8Resources.js +76 -0
- package/dist/test/resources/index.d.ts +458 -0
- package/dist/test/resources/index.d.ts.map +1 -0
- package/dist/test/resources/index.js +659 -0
- package/dist/test/unit/StakingActivateBuilder.d.ts +2 -0
- package/dist/test/unit/StakingActivateBuilder.d.ts.map +1 -0
- package/dist/test/unit/StakingActivateBuilder.js +213 -0
- package/dist/test/unit/StakingDeactivateBuilder.d.ts +2 -0
- package/dist/test/unit/StakingDeactivateBuilder.d.ts.map +1 -0
- package/dist/test/unit/StakingDeactivateBuilder.js +158 -0
- package/dist/test/unit/ada.d.ts +5 -0
- package/dist/test/unit/ada.d.ts.map +1 -0
- package/dist/test/unit/ada.js +1430 -0
- package/dist/test/unit/getBuilderFactory.d.ts +3 -0
- package/dist/test/unit/getBuilderFactory.d.ts.map +1 -0
- package/dist/test/unit/getBuilderFactory.js +10 -0
- package/dist/test/unit/index.d.ts +2 -0
- package/dist/test/unit/index.d.ts.map +1 -0
- package/dist/test/unit/index.js +32 -0
- package/dist/test/unit/keyPair.d.ts +2 -0
- package/dist/test/unit/keyPair.d.ts.map +1 -0
- package/dist/test/unit/keyPair.js +88 -0
- package/dist/test/unit/messages/cip8/cip8Message.d.ts +2 -0
- package/dist/test/unit/messages/cip8/cip8Message.d.ts.map +1 -0
- package/dist/test/unit/messages/cip8/cip8Message.js +131 -0
- package/dist/test/unit/messages/cip8/cip8MessageBuilder.d.ts +2 -0
- package/dist/test/unit/messages/cip8/cip8MessageBuilder.d.ts.map +1 -0
- package/dist/test/unit/messages/cip8/cip8MessageBuilder.js +132 -0
- package/dist/test/unit/messages/cip8/utils.d.ts +2 -0
- package/dist/test/unit/messages/cip8/utils.d.ts.map +1 -0
- package/dist/test/unit/messages/cip8/utils.js +127 -0
- package/dist/test/unit/messages/messageBuilderFactory.d.ts +2 -0
- package/dist/test/unit/messages/messageBuilderFactory.d.ts.map +1 -0
- package/dist/test/unit/messages/messageBuilderFactory.js +35 -0
- package/dist/test/unit/stakingClaimRewardsBuilder.d.ts +2 -0
- package/dist/test/unit/stakingClaimRewardsBuilder.d.ts.map +1 -0
- package/dist/test/unit/stakingClaimRewardsBuilder.js +70 -0
- package/dist/test/unit/stakingPledgeBuilder.d.ts +2 -0
- package/dist/test/unit/stakingPledgeBuilder.d.ts.map +1 -0
- package/dist/test/unit/stakingPledgeBuilder.js +141 -0
- package/dist/test/unit/stakingWithdrawBuilder.d.ts +2 -0
- package/dist/test/unit/stakingWithdrawBuilder.d.ts.map +1 -0
- package/dist/test/unit/stakingWithdrawBuilder.js +167 -0
- package/dist/test/unit/tokenWithdrawal.d.ts +2 -0
- package/dist/test/unit/tokenWithdrawal.d.ts.map +1 -0
- package/dist/test/unit/tokenWithdrawal.js +959 -0
- package/dist/test/unit/transaction.d.ts +2 -0
- package/dist/test/unit/transaction.d.ts.map +1 -0
- package/dist/test/unit/transaction.js +100 -0
- package/dist/test/unit/transactionBuilder.d.ts +2 -0
- package/dist/test/unit/transactionBuilder.d.ts.map +1 -0
- package/dist/test/unit/transactionBuilder.js +545 -0
- package/dist/test/unit/utils.d.ts +2 -0
- package/dist/test/unit/utils.d.ts.map +1 -0
- package/dist/test/unit/utils.js +138 -0
- package/dist/test/unit/voteDelegationBuilder.d.ts +2 -0
- package/dist/test/unit/voteDelegationBuilder.d.ts.map +1 -0
- package/dist/test/unit/voteDelegationBuilder.js +96 -0
- package/dist/tsconfig.tsbuildinfo +1 -0
- package/package.json +18 -13
- package/.eslintignore +0 -5
- package/.mocharc.yml +0 -8
- package/CHANGELOG.md +0 -450
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../test/unit/utils.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,138 @@
|
|
|
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 should_1 = __importDefault(require("should"));
|
|
7
|
+
const src_1 = require("../../src");
|
|
8
|
+
const sdk_core_1 = require("@bitgo-beta/sdk-core");
|
|
9
|
+
const cardano_serialization_lib_nodejs_1 = require("@emurgo/cardano-serialization-lib-nodejs");
|
|
10
|
+
const resources_1 = require("../resources");
|
|
11
|
+
describe('utils', () => {
|
|
12
|
+
it('should validate addresses correctly', () => {
|
|
13
|
+
should_1.default.equal(src_1.Utils.default.isValidAddress(resources_1.address.address1), true);
|
|
14
|
+
should_1.default.equal(src_1.Utils.default.isValidAddress(resources_1.address.address2), true);
|
|
15
|
+
should_1.default.equal(src_1.Utils.default.isValidAddress(resources_1.address.address3), true);
|
|
16
|
+
should_1.default.equal(src_1.Utils.default.isValidAddress(resources_1.address.address4), true);
|
|
17
|
+
should_1.default.equal(src_1.Utils.default.isValidAddress('dfjk35y'), false);
|
|
18
|
+
should_1.default.equal(src_1.Utils.default.isValidAddress(undefined), false);
|
|
19
|
+
should_1.default.equal(src_1.Utils.default.isValidAddress(''), false);
|
|
20
|
+
// validator addresses
|
|
21
|
+
should_1.default.equal(src_1.Utils.default.isValidAddress(resources_1.address.address7), true);
|
|
22
|
+
should_1.default.equal(src_1.Utils.default.isValidAddress(resources_1.address.address8), true);
|
|
23
|
+
should_1.default.equal(src_1.Utils.default.isValidAddress(resources_1.address.address9), false);
|
|
24
|
+
should_1.default.equal(src_1.Utils.default.isValidAddress(resources_1.address.address10), false);
|
|
25
|
+
should_1.default.equal(src_1.Utils.default.isValidAddress(resources_1.address.address11), false);
|
|
26
|
+
should_1.default.equal(src_1.Utils.default.isValidAddress(resources_1.address.address12), false);
|
|
27
|
+
should_1.default.equal(src_1.Utils.default.isValidAddress(resources_1.address.address13), false);
|
|
28
|
+
should_1.default.equal(src_1.Utils.default.isValidAddress(resources_1.address.address14), false);
|
|
29
|
+
should_1.default.equal(src_1.Utils.default.isValidAddress(resources_1.address.address15), false);
|
|
30
|
+
should_1.default.equal(src_1.Utils.default.isValidAddress(resources_1.address.address16), false);
|
|
31
|
+
// Byron addresses
|
|
32
|
+
should_1.default.equal(src_1.Utils.default.isValidAddress(resources_1.address.byron1), true);
|
|
33
|
+
should_1.default.equal(src_1.Utils.default.isValidAddress(resources_1.address.byron2), true);
|
|
34
|
+
should_1.default.equal(src_1.Utils.default.isValidAddress(resources_1.address.byron3), true);
|
|
35
|
+
should_1.default.equal(src_1.Utils.default.isValidAddress(resources_1.address.byron4), false);
|
|
36
|
+
should_1.default.equal(src_1.Utils.default.isValidAddress(resources_1.address.byron5), false);
|
|
37
|
+
should_1.default.equal(src_1.Utils.default.isValidAddress(resources_1.address.byron6), false);
|
|
38
|
+
});
|
|
39
|
+
it('should create stake and payment keys correctly', () => {
|
|
40
|
+
const keyPair1 = new src_1.KeyPair({ pub: resources_1.enterpriseAccounts.account1.publicKey });
|
|
41
|
+
const keyPair2 = new src_1.KeyPair({ pub: resources_1.enterpriseAccounts.account3.publicKey });
|
|
42
|
+
should_1.default.equal(src_1.Utils.default.createBaseAddressWithStakeAndPaymentKey(keyPair1, keyPair2, sdk_core_1.AddressFormat.testnet), 'addr_test1qq9arfq9pugs57apr3535z470ma2tvg8pnjy54q6s60muz5kelhytwhzrw9snh7759n9m8fr2xurpk4zyw8hmvk2avdsf62mmj');
|
|
43
|
+
});
|
|
44
|
+
it('should create stake and payment keys correctly from private keys', () => {
|
|
45
|
+
const keyPair1 = new src_1.KeyPair({ prv: resources_1.privateKeys.prvKey4 });
|
|
46
|
+
const keyPair2 = new src_1.KeyPair({ prv: resources_1.privateKeys.prvKey2 });
|
|
47
|
+
should_1.default.equal(src_1.Utils.default.createBaseAddressWithStakeAndPaymentKey(keyPair1, keyPair2, sdk_core_1.AddressFormat.testnet), 'addr_test1qqvglhn9k8um66dsahxyukn9l2f6zdmnpy8puth00gjulk7g0xp5f99mdzwswz4rmfwu00x724w2jahygheyk2zqg9lsvz2muj');
|
|
48
|
+
});
|
|
49
|
+
it('should create stake and payment keys correctly with keypairs initialized from nothing', () => {
|
|
50
|
+
const keyPair1 = new src_1.KeyPair();
|
|
51
|
+
const keyPair2 = new src_1.KeyPair();
|
|
52
|
+
should_1.default.equal(src_1.Utils.default.createBaseAddressWithStakeAndPaymentKey(keyPair1, keyPair2, sdk_core_1.AddressFormat.testnet), src_1.Utils.default.createBaseAddressWithStakeAndPaymentKey(keyPair1, keyPair2, sdk_core_1.AddressFormat.testnet));
|
|
53
|
+
});
|
|
54
|
+
it('should validate block hash correctly', () => {
|
|
55
|
+
should_1.default.equal(src_1.Utils.default.isValidBlockId(resources_1.blockHash.hash1), true);
|
|
56
|
+
should_1.default.equal(src_1.Utils.default.isValidBlockId(resources_1.blockHash.hash2), true);
|
|
57
|
+
// param is coming as undefined so it was causing an issue
|
|
58
|
+
should_1.default.equal(src_1.Utils.default.isValidBlockId(undefined), false);
|
|
59
|
+
should_1.default.equal(src_1.Utils.default.isValidBlockId(''), false);
|
|
60
|
+
});
|
|
61
|
+
it('should validate invalid block hash correctly', () => {
|
|
62
|
+
should_1.default.equal(src_1.Utils.default.isValidBlockId(''), false);
|
|
63
|
+
should_1.default.equal(src_1.Utils.default.isValidBlockId('0xade35465gfvdcsxsz24300'), false);
|
|
64
|
+
should_1.default.equal(src_1.Utils.default.isValidBlockId(resources_1.blockHash.hash2 + 'ff'), false);
|
|
65
|
+
});
|
|
66
|
+
it('should validate public key correctly', () => {
|
|
67
|
+
should_1.default.equal(src_1.Utils.default.isValidPublicKey('da025aa02990ef466069fadce5e3dcfad663914d6bf42fea3be50a8c3094d8e8'), true);
|
|
68
|
+
should_1.default.equal(src_1.Utils.default.isValidPublicKey(resources_1.publicKeys.pubKey1), true);
|
|
69
|
+
should_1.default.equal(src_1.Utils.default.isValidPublicKey(resources_1.publicKeys.pubKey2), true);
|
|
70
|
+
should_1.default.equal(src_1.Utils.default.isValidPublicKey(resources_1.publicKeys.pubKey3), true);
|
|
71
|
+
should_1.default.equal(src_1.Utils.default.isValidPublicKey(resources_1.publicKeys.pubKey4), false);
|
|
72
|
+
});
|
|
73
|
+
it('should validate private key correctly', () => {
|
|
74
|
+
should_1.default.equal(src_1.Utils.default.isValidPrivateKey(resources_1.privateKeys.prvKeyExtended), true);
|
|
75
|
+
should_1.default.equal(src_1.Utils.default.isValidPrivateKey(resources_1.privateKeys.prvKey2), true);
|
|
76
|
+
should_1.default.equal(src_1.Utils.default.isValidPrivateKey(resources_1.privateKeys.prvKey3WrongFormat), false);
|
|
77
|
+
should_1.default.equal(src_1.Utils.default.isValidPrivateKey(resources_1.privateKeys.prvKey4), true);
|
|
78
|
+
should_1.default.equal(src_1.Utils.default.isValidPrivateKey(resources_1.privateKeys.prvKey5WrongFormat), false);
|
|
79
|
+
});
|
|
80
|
+
it('should validate signature correctly', () => {
|
|
81
|
+
should_1.default.equal(src_1.Utils.default.isValidSignature((0, sdk_core_1.toHex)(cardano_serialization_lib_nodejs_1.Ed25519Signature.from_bech32(resources_1.signatures.signature1).to_bytes())), true);
|
|
82
|
+
should_1.default.equal(src_1.Utils.default.isValidSignature((0, sdk_core_1.toHex)(cardano_serialization_lib_nodejs_1.Ed25519Signature.from_bech32(resources_1.signatures.signature2).to_bytes())), true);
|
|
83
|
+
});
|
|
84
|
+
it('should validate invalid signature correctly', () => {
|
|
85
|
+
should_1.default.equal(src_1.Utils.default.isValidSignature(''), false);
|
|
86
|
+
should_1.default.equal(src_1.Utils.default.isValidSignature('0x00'), false);
|
|
87
|
+
should_1.default.equal(src_1.Utils.default.isValidSignature(resources_1.privateKeys.prvKeyExtended), false);
|
|
88
|
+
should_1.default.equal(src_1.Utils.default.isValidSignature(resources_1.signatures.signature1.slice(2)), false);
|
|
89
|
+
should_1.default.equal(src_1.Utils.default.isValidSignature(resources_1.signatures.signature2 + 'ff'), false);
|
|
90
|
+
});
|
|
91
|
+
it('should validate transaction id correctly', () => {
|
|
92
|
+
should_1.default.equal(src_1.Utils.default.isValidTransactionId(resources_1.txIds.hash1), true);
|
|
93
|
+
should_1.default.equal(src_1.Utils.default.isValidTransactionId(resources_1.txIds.hash2), true);
|
|
94
|
+
should_1.default.equal(src_1.Utils.default.isValidTransactionId(resources_1.txIds.hash3), true);
|
|
95
|
+
});
|
|
96
|
+
it('should validate invalid transaction id correctly', () => {
|
|
97
|
+
should_1.default.equal(src_1.Utils.default.isValidTransactionId(''), false);
|
|
98
|
+
should_1.default.equal(src_1.Utils.default.isValidTransactionId(resources_1.txIds.hash1.slice(3)), false);
|
|
99
|
+
should_1.default.equal(src_1.Utils.default.isValidTransactionId(resources_1.txIds.hash3 + '00'), false);
|
|
100
|
+
should_1.default.equal(src_1.Utils.default.isValidTransactionId('dalij43ta0ga2dadda02'), false);
|
|
101
|
+
});
|
|
102
|
+
it('should validate DRepId correctly', () => {
|
|
103
|
+
should_1.default.equal(src_1.Utils.default.isValidDRepId('always-abstain'), true);
|
|
104
|
+
should_1.default.equal(src_1.Utils.default.isValidDRepId('not-a-correct-choice'), false);
|
|
105
|
+
should_1.default.equal(src_1.Utils.default.isValidDRepId('always-no-confidence'), true);
|
|
106
|
+
should_1.default.equal(src_1.Utils.default.isValidDRepId('drep13d6sxkyz6st9h65qqrzd8ukpywhr8swe9f6357qntgjqye0incorrect'), false);
|
|
107
|
+
// CIP-105 standard DRepId
|
|
108
|
+
should_1.default.equal(src_1.Utils.default.isValidDRepId('drep13d6sxkyz6st9h65qqrzd8ukpywhr8swe9f6357qntgjqye0gttd'), true);
|
|
109
|
+
// CIP-129 standard DRepId
|
|
110
|
+
should_1.default.equal(src_1.Utils.default.isValidDRepId('drep1y29h2q6cst2pvkl2sqqvf5ljcy36uv7pmy482xnczddzgqshus24w'), true);
|
|
111
|
+
});
|
|
112
|
+
it('should get DRep entity from DRepId correctly', () => {
|
|
113
|
+
should_1.default.equal(src_1.Utils.default.getDRepFromDRepId('always-abstain').to_json(), cardano_serialization_lib_nodejs_1.DRep.new_always_abstain().to_json());
|
|
114
|
+
should_1.default.equal(src_1.Utils.default.getDRepFromDRepId('always-no-confidence').to_json(), cardano_serialization_lib_nodejs_1.DRep.new_always_no_confidence().to_json());
|
|
115
|
+
should_1.default.equal(src_1.Utils.default.getDRepFromDRepId('drep13d6sxkyz6st9h65qqrzd8ukpywhr8swe9f6357qntgjqye0gttd').to_json(), cardano_serialization_lib_nodejs_1.DRep.from_bech32('drep13d6sxkyz6st9h65qqrzd8ukpywhr8swe9f6357qntgjqye0gttd').to_json());
|
|
116
|
+
// DRep should be the same from both CIP-105 and CIP-129 IDs
|
|
117
|
+
should_1.default.equal(src_1.Utils.default.getDRepFromDRepId('drep1y29h2q6cst2pvkl2sqqvf5ljcy36uv7pmy482xnczddzgqshus24w').to_json(), src_1.Utils.default.getDRepFromDRepId('drep13d6sxkyz6st9h65qqrzd8ukpywhr8swe9f6357qntgjqye0gttd').to_json());
|
|
118
|
+
});
|
|
119
|
+
it('should get DRepId from DRep entity correctly', () => {
|
|
120
|
+
should_1.default.equal(src_1.Utils.default.getDRepIdFromDRep(cardano_serialization_lib_nodejs_1.DRep.new_always_abstain()), 'always-abstain');
|
|
121
|
+
should_1.default.equal(src_1.Utils.default.getDRepIdFromDRep(cardano_serialization_lib_nodejs_1.DRep.new_always_no_confidence()), 'always-no-confidence');
|
|
122
|
+
// Regardless of whether DRep was created from CIP-105 or CIP-129 ID, the DRepId from getDRepIdFromDRep will be the ID format from `to_bech32`
|
|
123
|
+
should_1.default.equal(src_1.Utils.default.getDRepIdFromDRep(src_1.Utils.default.getDRepFromDRepId('drep13d6sxkyz6st9h65qqrzd8ukpywhr8swe9f6357qntgjqye0gttd')), 'drep13d6sxkyz6st9h65qqrzd8ukpywhr8swe9f6357qntgjqye0gttd');
|
|
124
|
+
should_1.default.equal(src_1.Utils.default.getDRepIdFromDRep(src_1.Utils.default.getDRepFromDRepId('drep1y29h2q6cst2pvkl2sqqvf5ljcy36uv7pmy482xnczddzgqshus24w')), 'drep13d6sxkyz6st9h65qqrzd8ukpywhr8swe9f6357qntgjqye0gttd');
|
|
125
|
+
});
|
|
126
|
+
it('should get transaction body correctly', () => {
|
|
127
|
+
const { unsignedTx, unsignedTxBody, unsignedVoteDelegationTx, unsignedVoteDelegationTxBody, unsignedStakingActiveTx, unsignedStakingActiveTxBody, unsignedStakingDeactiveTx, unsignedStakingDeactiveTxBody, unsignedStakingWithdrawTx, unsignedStakingWithdrawTxBody, unsignedUpdatePledgeTx, unsignedUpdatePledgeTxBody, unsignedNewPledgeTx, unsignedNewPledgeTxBody, partiallySignedPledgeTx, } = resources_1.rawTx;
|
|
128
|
+
should_1.default.equal(src_1.Utils.default.getTransactionBody(unsignedTx), unsignedTxBody);
|
|
129
|
+
should_1.default.equal(src_1.Utils.default.getTransactionBody(unsignedVoteDelegationTx), unsignedVoteDelegationTxBody);
|
|
130
|
+
should_1.default.equal(src_1.Utils.default.getTransactionBody(unsignedStakingActiveTx), unsignedStakingActiveTxBody);
|
|
131
|
+
should_1.default.equal(src_1.Utils.default.getTransactionBody(unsignedStakingDeactiveTx), unsignedStakingDeactiveTxBody);
|
|
132
|
+
should_1.default.equal(src_1.Utils.default.getTransactionBody(unsignedStakingWithdrawTx), unsignedStakingWithdrawTxBody);
|
|
133
|
+
should_1.default.equal(src_1.Utils.default.getTransactionBody(unsignedUpdatePledgeTx), unsignedUpdatePledgeTxBody);
|
|
134
|
+
should_1.default.equal(src_1.Utils.default.getTransactionBody(unsignedNewPledgeTx), unsignedNewPledgeTxBody);
|
|
135
|
+
should_1.default.equal(src_1.Utils.default.getTransactionBody(partiallySignedPledgeTx), unsignedNewPledgeTxBody);
|
|
136
|
+
});
|
|
137
|
+
});
|
|
138
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi90ZXN0L3VuaXQvdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxvREFBNEI7QUFDNUIsbUNBQTJDO0FBQzNDLG1EQUE0RDtBQUM1RCwrRkFBa0Y7QUFDbEYsNENBU3NCO0FBRXRCLFFBQVEsQ0FBQyxPQUFPLEVBQUUsR0FBRyxFQUFFO0lBQ3JCLEVBQUUsQ0FBQyxxQ0FBcUMsRUFBRSxHQUFHLEVBQUU7UUFDN0MsZ0JBQU0sQ0FBQyxLQUFLLENBQUMsV0FBSyxDQUFDLE9BQU8sQ0FBQyxjQUFjLENBQUMsbUJBQU8sQ0FBQyxRQUFRLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUNuRSxnQkFBTSxDQUFDLEtBQUssQ0FBQyxXQUFLLENBQUMsT0FBTyxDQUFDLGNBQWMsQ0FBQyxtQkFBTyxDQUFDLFFBQVEsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ25FLGdCQUFNLENBQUMsS0FBSyxDQUFDLFdBQUssQ0FBQyxPQUFPLENBQUMsY0FBYyxDQUFDLG1CQUFPLENBQUMsUUFBUSxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDbkUsZ0JBQU0sQ0FBQyxLQUFLLENBQUMsV0FBSyxDQUFDLE9BQU8sQ0FBQyxjQUFjLENBQUMsbUJBQU8sQ0FBQyxRQUFRLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUNuRSxnQkFBTSxDQUFDLEtBQUssQ0FBQyxXQUFLLENBQUMsT0FBTyxDQUFDLGNBQWMsQ0FBQyxTQUFTLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUM3RCxnQkFBTSxDQUFDLEtBQUssQ0FBQyxXQUFLLENBQUMsT0FBTyxDQUFDLGNBQWMsQ0FBQyxTQUE4QixDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDbEYsZ0JBQU0sQ0FBQyxLQUFLLENBQUMsV0FBSyxDQUFDLE9BQU8sQ0FBQyxjQUFjLENBQUMsRUFBRSxDQUFDLEVBQUUsS0FBSyxD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LENBQUMsS0FBSyxDQUFDLFdBQUssQ0FBQyxPQUFPLENBQUMsa0JBQWtCLENBQUMsbUJBQW1CLENBQUMsRUFBRSx1QkFBdUIsQ0FBQyxDQUFDO1FBQzdGLGdCQUFNLENBQUMsS0FBSyxDQUFDLFdBQUssQ0FBQyxPQUFPLENBQUMsa0JBQWtCLENBQUMsdUJBQXVCLENBQUMsRUFBRSx1QkFBdUIsQ0FBQyxDQUFDO0lBQ25HLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgc2hvdWxkIGZyb20gJ3Nob3VsZCc7XG5pbXBvcnQgeyBLZXlQYWlyLCBVdGlscyB9IGZyb20gJy4uLy4uL3NyYyc7XG5pbXBvcnQgeyBBZGRyZXNzRm9ybWF0LCB0b0hleCB9IGZyb20gJ0BiaXRnby1iZXRhL3Nkay1jb3JlJztcbmltcG9ydCB7IEVkMjU1MTlTaWduYXR1cmUsIERSZXAgfSBmcm9tICdAZW11cmdvL2NhcmRhbm8tc2VyaWFsaXphdGlvbi1saWItbm9kZWpzJztcbmltcG9ydCB7XG4gIGFkZHJlc3MsXG4gIGJsb2NrSGFzaCxcbiAgZW50ZXJwcmlzZUFjY291bnRzLFxuICBwcml2YXRlS2V5cyxcbiAgcHVibGljS2V5cyxcbiAgc2lnbmF0dXJlcyxcbiAgdHhJZHMsXG4gIHJhd1R4LFxufSBmcm9tICcuLi9yZXNvdXJjZXMnO1xuXG5kZXNjcmliZSgndXRpbHMnLCAoKSA9PiB7XG4gIGl0KCdzaG91bGQgdmFsaWRhdGUgYWRkcmVzc2VzIGNvcnJlY3RseScsICgpID0+IHtcbiAgICBzaG91bGQuZXF1YWwoVXRpbHMuZGVmYXVsdC5pc1ZhbGlkQWRkcmVzcyhhZGRyZXNzLmFkZHJlc3MxKSwgdHJ1ZSk7XG4gICAgc2hvdWxkLmVxdWFsKFV0aWxzLmRlZmF1bHQuaXNWYWxpZEFkZHJlc3MoYWRkcmVzcy5hZGRyZXNzMiksIHRydWUpO1xuICAgIHNob3VsZC5lcXVhbChVdGlscy5kZWZhdWx0LmlzVmFsaWRBZGRyZXNzKGFkZHJlc3MuYWRkcmVzczMpLCB0cnVlKTtcbiAgICBzaG91bGQuZXF1YWwoVXRpbHMuZGVmYXVsdC5pc1ZhbGlkQWRkcmVzcyhhZGRyZXNzLmFkZHJlc3M0KSwgdHJ1ZSk7XG4gICAgc2hvdWxkLmVxdWFsKFV0aWxzLmRlZmF1bHQuaXNWYWxpZEFkZHJlc3MoJ2RmamszNXknKSwgZmFsc2UpO1xuICAgIHNob3VsZC5lcXVhbChVdGlscy5kZWZhdWx0LmlzVmFsaWRBZGRyZXNzKHVuZGVmaW5lZCBhcyB1bmtub3duIGFzIHN0cmluZyksIGZhbHNlKTtcbiAgICBzaG91bGQuZXF1YWwoVXRpbHMuZGVmYXVsdC5pc1ZhbGlkQWRkcmVzcygnJyksIGZhbHNlKTtcblxuICAgIC8vIHZhbGlkYXRvciBhZGRyZXNzZXNcbiAgICBzaG91bGQuZXF1YWwoVXRpbHMuZGVmYXVsdC5pc1ZhbGlkQWRkcmVzcyhhZGRyZXNzLmFkZHJlc3M3KSwgdHJ1ZSk7XG4gICAgc2hvdWxkLmVxdWFsKFV0aWxzLmRlZmF1bHQuaXNWYWxpZEFkZHJlc3MoYWRkcmVzcy5hZGRyZXNzOCksIHRydWUpO1xuICAgIHNob3VsZC5lcXVhbChVdGlscy5kZWZhdWx0LmlzVmFsaWRBZGRyZXNzKGFkZHJlc3MuYWRkcmVzczkpLCBmYWxzZSk7XG4gICAgc2hvdWxkLmVxdWFsKFV0aWxzLmRlZmF1bHQuaXNWYWxpZEFkZHJlc3MoYWRkcmVzcy5hZGRyZXNzMTApLCBmYWxzZSk7XG4gICAgc2hvdWxkLmVxdWFsKFV0aWxzLmRlZmF1bHQuaXNWYWxpZEFkZHJlc3MoYWRkcmVzcy5hZGRyZXNzMTEpLCBmYWxzZSk7XG4gICAgc2hvdWxkLmVxdWFsKFV0aWxzLmRlZmF1bHQuaXNWYWxpZEFkZHJlc3MoYWRkcmVzcy5hZGRyZXNzMTIpLCBmYWxzZSk7XG4gICAgc2hvdWxkLmVxdWFsKFV0aWxzLmRlZmF1bHQuaXNWYWxpZEFkZHJlc3MoYWRkcmVzcy5hZGRyZXNzMTMpLCBmYWxzZSk7XG4gICAgc2hvdWxkLmVxdWFsKFV0aWxzLmRlZmF1bHQuaXNWYWxpZEFkZHJlc3MoYWRkcmVzcy5hZGRyZXNzMTQpLCBmYWxzZSk7XG4gICAgc2hvdWxkLmVxdWFsKFV0aWxzLmRlZmF1bHQuaXNWYWxpZEFkZHJlc3MoYWRkcmVzcy5hZGRyZXNzMTUpLCBmYWxzZSk7XG4gICAgc2hvdWxkLmVxdWFsKFV0aWxzLmRlZmF1bHQuaXNWYWxpZEFkZHJlc3MoYWRkcmVzcy5hZGRyZXNzMTYpLCBmYWxzZSk7XG5cbiAgICAvLyBCeXJvbiBhZGRyZXNzZXNcbiAgICBzaG91bGQuZXF1YWwoVXRpbHMuZGVmYXVsdC5pc1ZhbGlkQWRkcmVzcyhhZGRyZXNzLmJ5cm9uMSksIHRydWUpO1xuICAgIHNob3VsZC5lcXVhbChVdGlscy5kZWZhdWx0LmlzVmFsaWRBZGRyZXNzKGFkZHJlc3MuYnlyb24yKSwgdHJ1ZSk7XG4gICAgc2hvdWxkLmVxdWFsKFV0aWxzLmRlZmF1bHQuaXNWYWxpZEFkZHJlc3MoYWRkcmVzcy5ieXJvbjMpLCB0cnVlKTtcbiAgICBzaG91bGQuZXF1YWwoVXRpbHMuZGVmYXVsdC5pc1ZhbGlkQWRkcmVzcyhhZGRyZXNzLmJ5cm9uNCksIGZhbHNlKTtcbiAgICBzaG91bGQuZXF1YWwoVXRpbHMuZGVmYXVsdC5pc1ZhbGlkQWRkcmVzcyhhZGRyZXNzLmJ5cm9uNSksIGZhbHNlKTtcbiAgICBzaG91bGQuZXF1YWwoVXRpbHMuZGVmYXVsdC5pc1ZhbGlkQWRkcmVzcyhhZGRyZXNzLmJ5cm9uNiksIGZhbHNlKTtcbiAgfSk7XG5cbiAgaXQoJ3Nob3VsZCBjcmVhdGUgc3Rha2UgYW5kIHBheW1lbnQga2V5cyBjb3JyZWN0bHknLCAoKSA9PiB7XG4gICAgY29uc3Qga2V5UGFpcjEgPSBuZXcgS2V5UGFpcih7IHB1YjogZW50ZXJwcmlzZUFjY291bnRzLmFjY291bnQxLnB1YmxpY0tleSB9KTtcbiAgICBjb25zdCBrZXlQYWlyMiA9IG5ldyBLZXlQYWlyKHsgcHViOiBlbnRlcnByaXNlQWNjb3VudHMuYWNjb3VudDMucHVibGljS2V5IH0pO1xuICAgIHNob3VsZC5lcXVhbChcbiAgICAgIFV0aWxzLmRlZmF1bHQuY3JlYXRlQmFzZUFkZHJlc3NXaXRoU3Rha2VBbmRQYXltZW50S2V5KGtleVBhaXIxLCBrZXlQYWlyMiwgQWRkcmVzc0Zvcm1hdC50ZXN0bmV0KSxcbiAgICAgICdhZGRyX3Rlc3QxcXE5YXJmcTlwdWdzNTdhcHIzNTM1ejQ3MG1hMnR2Zzhwbmp5NTRxNnM2MG11ejVrZWxoeXR3aHpydzlzbmg3NzU5bjltOGZyMnh1cnBrNHp5dzhobXZrMmF2ZHNmNjJtbWonXG4gICAgKTtcbiAgfSk7XG5cbiAgaXQoJ3Nob3VsZCBjcmVhdGUgc3Rha2UgYW5kIHBheW1lbnQga2V5cyBjb3JyZWN0bHkgZnJvbSBwcml2YXRlIGtleXMnLCAoKSA9PiB7XG4gICAgY29uc3Qga2V5UGFpcjEgPSBuZXcgS2V5UGFpcih7IHBydjogcHJpdmF0ZUtleXMucHJ2S2V5NCB9KTtcbiAgICBjb25zdCBrZXlQYWlyMiA9IG5ldyBLZXlQYWlyKHsgcHJ2OiBwcml2YXRlS2V5cy5wcnZLZXkyIH0pO1xuICAgIHNob3VsZC5lcXVhbChcbiAgICAgIFV0aWxzLmRlZmF1bHQuY3JlYXRlQmFzZUFkZHJlc3NXaXRoU3Rha2VBbmRQYXltZW50S2V5KGtleVBhaXIxLCBrZXlQYWlyMiwgQWRkcmVzc0Zvcm1hdC50ZXN0bmV0KSxcbiAgICAgICdhZGRyX3Rlc3QxcXF2Z2xobjlrOHVtNjZkc2FoeHl1a245bDJmNnpkbW5weThwdXRoMDBnanVsazdnMHhwNWY5OW1kendzd3o0cm1md3UwMHg3MjR3MmphaHlnaGV5azJ6cWc5bHN2ejJtdWonXG4gICAgKTtcbiAgfSk7XG5cbiAgaXQoJ3Nob3VsZCBjcmVhdGUgc3Rha2UgYW5kIHBheW1lbnQga2V5cyBjb3JyZWN0bHkgd2l0aCBrZXlwYWlycyBpbml0aWFsaXplZCBmcm9tIG5vdGhpbmcnLCAoKSA9PiB7XG4gICAgY29uc3Qga2V5UGFpcjEgPSBuZXcgS2V5UGFpcigpO1xuICAgIGNvbnN0IGtleVBhaXIyID0gbmV3IEtleVBhaXIoKTtcbiAgICBzaG91bGQuZXF1YWwoXG4gICAgICBVdGlscy5kZWZhdWx0LmNyZWF0ZUJhc2VBZGRyZXNzV2l0aFN0YWtlQW5kUGF5bWVudEtleShrZXlQYWlyMSwga2V5UGFpcjIsIEFkZHJlc3NGb3JtYXQudGVzdG5ldCksXG4gICAgICBVdGlscy5kZWZhdWx0LmNyZWF0ZUJhc2VBZGRyZXNzV2l0aFN0YWtlQW5kUGF5bWVudEtleShrZXlQYWlyMSwga2V5UGFpcjIsIEFkZHJlc3NGb3JtYXQudGVzdG5ldClcbiAgICApO1xuICB9KTtcblxuICBpdCgnc2hvdWxkIHZhbGlkYXRlIGJsb2NrIGhhc2ggY29ycmVjdGx5JywgKCkgPT4ge1xuICAgIHNob3VsZC5lcXVhbChVdGlscy5kZWZhdWx0LmlzVmFsaWRCbG9ja0lkKGJsb2NrSGFzaC5oYXNoMSksIHRydWUpO1xuICAgIHNob3VsZC5lcXVhbChVdGlscy5kZWZhdWx0LmlzVmFsaWRCbG9ja0lkKGJsb2NrSGFzaC5oYXNoMiksIHRydWUpO1xuICAgIC8vIHBhcmFtIGlzIGNvbWluZyBhcyB1bmRlZmluZWQgc28gaXQgd2FzIGNhdXNpbmcgYW4gaXNzdWVcbiAgICBzaG91bGQuZXF1YWwoVXRpbHMuZGVmYXVsdC5pc1ZhbGlkQmxvY2tJZCh1bmRlZmluZWQgYXMgdW5rbm93biBhcyBzdHJpbmcpLCBmYWxzZSk7XG4gICAgc2hvdWxkLmVxdWFsKFV0aWxzLmRlZmF1bHQuaXNWYWxpZEJsb2NrSWQoJycpLCBmYWxzZSk7XG4gIH0pO1xuXG4gIGl0KCdzaG91bGQgdmFsaWRhdGUgaW52YWxpZCBibG9jayBoYXNoIGNvcnJlY3RseScsICgpID0+IHtcbiAgICBzaG91bGQuZXF1YWwoVXRpbHMuZGVmYXVsdC5pc1ZhbGlkQmxvY2tJZCgnJyksIGZhbHNlKTtcbiAgICBzaG91bGQuZXF1YWwoVXRpbHMuZGVmYXVsdC5pc1ZhbGlkQmxvY2tJZCgnMHhhZGUzNTQ2NWdmdmRjc3hzejI0MzAwJyksIGZhbHNlKTtcbiAgICBzaG91bGQuZXF1YWwoVXRpbHMuZGVmYXVsdC5pc1ZhbGlkQmxvY2tJZChibG9ja0hhc2guaGFzaDIgKyAnZmYnKSwgZmFsc2UpO1xuICB9KTtcblxuICBpdCgnc2hvdWxkIHZhbGlkYXRlIHB1YmxpYyBrZXkgY29ycmVjdGx5JywgKCkgPT4ge1xuICAgIHNob3VsZC5lcXVhbChcbiAgICAgIFV0aWxzLmRlZmF1bHQuaXNWYWxpZFB1YmxpY0tleSgnZGEwMjVhYTAyOTkwZWY0NjYwNjlmYWRjZTVlM2RjZmFkNjYzOTE0ZDZiZjQyZmVhM2JlNTBhOGMzMDk0ZDhlOCcpLFxuICAgICAgdHJ1ZVxuICAgICk7XG4gICAgc2hvdWxkLmVxdWFsKFV0aWxzLmRlZmF1bHQuaXNWYWxpZFB1YmxpY0tleShwdWJsaWNLZXlzLnB1YktleTEpLCB0cnVlKTtcbiAgICBzaG91bGQuZXF1YWwoVXRpbHMuZGVmYXVsdC5pc1ZhbGlkUHVibGljS2V5KHB1YmxpY0tleXMucHViS2V5MiksIHRydWUpO1xuICAgIHNob3VsZC5lcXVhbChVdGlscy5kZWZhdWx0LmlzVmFsaWRQdWJsaWNLZXkocHVibGljS2V5cy5wdWJLZXkzKSwgdHJ1ZSk7XG4gICAgc2hvdWxkLmVxdWFsKFV0aWxzLmRlZmF1bHQuaXNWYWxpZFB1YmxpY0tleShwdWJsaWNLZXlzLnB1YktleTQpLCBmYWxzZSk7XG4gIH0pO1xuXG4gIGl0KCdzaG91bGQgdmFsaWRhdGUgcHJpdmF0ZSBrZXkgY29ycmVjdGx5JywgKCkgPT4ge1xuICAgIHNob3VsZC5lcXVhbChVdGlscy5kZWZhdWx0LmlzVmFsaWRQcml2YXRlS2V5KHByaXZhdGVLZXlzLnBydktleUV4dGVuZGVkKSwgdHJ1ZSk7XG4gICAgc2hvdWxkLmVxdWFsKFV0aWxzLmRlZmF1bHQuaXNWYWxpZFByaXZhdGVLZXkocHJpdmF0ZUtleXMucHJ2S2V5MiksIHRydWUpO1xuICAgIHNob3VsZC5lcXVhbChVdGlscy5kZWZhdWx0LmlzVmFsaWRQcml2YXRlS2V5KHByaXZhdGVLZXlzLnBydktleTNXcm9uZ0Zvcm1hdCksIGZhbHNlKTtcbiAgICBzaG91bGQuZXF1YWwoVXRpbHMuZGVmYXVsdC5pc1ZhbGlkUHJpdmF0ZUtleShwcml2YXRlS2V5cy5wcnZLZXk0KSwgdHJ1ZSk7XG4gICAgc2hvdWxkLmVxdWFsKFV0aWxzLmRlZmF1bHQuaXNWYWxpZFByaXZhdGVLZXkocHJpdmF0ZUtleXMucHJ2S2V5NVdyb25nRm9ybWF0KSwgZmFsc2UpO1xuICB9KTtcblxuICBpdCgnc2hvdWxkIHZhbGlkYXRlIHNpZ25hdHVyZSBjb3JyZWN0bHknLCAoKSA9PiB7XG4gICAgc2hvdWxkLmVxdWFsKFxuICAgICAgVXRpbHMuZGVmYXVsdC5pc1ZhbGlkU2lnbmF0dXJlKHRvSGV4KEVkMjU1MTlTaWduYXR1cmUuZnJvbV9iZWNoMzIoc2lnbmF0dXJlcy5zaWduYXR1cmUxKS50b19ieXRlcygpKSksXG4gICAgICB0cnVlXG4gICAgKTtcbiAgICBzaG91bGQuZXF1YWwoXG4gICAgICBVdGlscy5kZWZhdWx0LmlzVmFsaWRTaWduYXR1cmUodG9IZXgoRWQyNTUxOVNpZ25hdHVyZS5mcm9tX2JlY2gzMihzaWduYXR1cmVzLnNpZ25hdHVyZTIpLnRvX2J5dGVzKCkpKSxcbiAgICAgIHRydWVcbiAgICApO1xuICB9KTtcblxuICBpdCgnc2hvdWxkIHZhbGlkYXRlIGludmFsaWQgc2lnbmF0dXJlIGNvcnJlY3RseScsICgpID0+IHtcbiAgICBzaG91bGQuZXF1YWwoVXRpbHMuZGVmYXVsdC5pc1ZhbGlkU2lnbmF0dXJlKCcnKSwgZmFsc2UpO1xuICAgIHNob3VsZC5lcXVhbChVdGlscy5kZWZhdWx0LmlzVmFsaWRTaWduYXR1cmUoJzB4MDAnKSwgZmFsc2UpO1xuICAgIHNob3VsZC5lcXVhbChVdGlscy5kZWZhdWx0LmlzVmFsaWRTaWduYXR1cmUocHJpdmF0ZUtleXMucHJ2S2V5RXh0ZW5kZWQpLCBmYWxzZSk7XG4gICAgc2hvdWxkLmVxdWFsKFV0aWxzLmRlZmF1bHQuaXNWYWxpZFNpZ25hdHVyZShzaWduYXR1cmVzLnNpZ25hdHVyZTEuc2xpY2UoMikpLCBmYWxzZSk7XG4gICAgc2hvdWxkLmVxdWFsKFV0aWxzLmRlZmF1bHQuaXNWYWxpZFNpZ25hdHVyZShzaWduYXR1cmVzLnNpZ25hdHVyZTIgKyAnZmYnKSwgZmFsc2UpO1xuICB9KTtcblxuICBpdCgnc2hvdWxkIHZhbGlkYXRlIHRyYW5zYWN0aW9uIGlkIGNvcnJlY3RseScsICgpID0+IHtcbiAgICBzaG91bGQuZXF1YWwoVXRpbHMuZGVmYXVsdC5pc1ZhbGlkVHJhbnNhY3Rpb25JZCh0eElkcy5oYXNoMSksIHRydWUpO1xuICAgIHNob3VsZC5lcXVhbChVdGlscy5kZWZhdWx0LmlzVmFsaWRUcmFuc2FjdGlvbklkKHR4SWRzLmhhc2gyKSwgdHJ1ZSk7XG4gICAgc2hvdWxkLmVxdWFsKFV0aWxzLmRlZmF1bHQuaXNWYWxpZFRyYW5zYWN0aW9uSWQodHhJZHMuaGFzaDMpLCB0cnVlKTtcbiAgfSk7XG5cbiAgaXQoJ3Nob3VsZCB2YWxpZGF0ZSBpbnZhbGlkIHRyYW5zYWN0aW9uIGlkIGNvcnJlY3RseScsICgpID0+IHtcbiAgICBzaG91bGQuZXF1YWwoVXRpbHMuZGVmYXVsdC5pc1ZhbGlkVHJhbnNhY3Rpb25JZCgnJyksIGZhbHNlKTtcbiAgICBzaG91bGQuZXF1YWwoVXRpbHMuZGVmYXVsdC5pc1ZhbGlkVHJhbnNhY3Rpb25JZCh0eElkcy5oYXNoMS5zbGljZSgzKSksIGZhbHNlKTtcbiAgICBzaG91bGQuZXF1YWwoVXRpbHMuZGVmYXVsdC5pc1ZhbGlkVHJhbnNhY3Rpb25JZCh0eElkcy5oYXNoMyArICcwMCcpLCBmYWxzZSk7XG4gICAgc2hvdWxkLmVxdWFsKFV0aWxzLmRlZmF1bHQuaXNWYWxpZFRyYW5zYWN0aW9uSWQoJ2RhbGlqNDN0YTBnYTJkYWRkYTAyJyksIGZhbHNlKTtcbiAgfSk7XG5cbiAgaXQoJ3Nob3VsZCB2YWxpZGF0ZSBEUmVwSWQgY29ycmVjdGx5JywgKCkgPT4ge1xuICAgIHNob3VsZC5lcXVhbChVdGlscy5kZWZhdWx0LmlzVmFsaWREUmVwSWQoJ2Fsd2F5cy1hYnN0YWluJyksIHRydWUpO1xuICAgIHNob3VsZC5lcXVhbChVdGlscy5kZWZhdWx0LmlzVmFsaWREUmVwSWQoJ25vdC1hLWNvcnJlY3QtY2hvaWNlJyksIGZhbHNlKTtcbiAgICBzaG91bGQuZXF1YWwoVXRpbHMuZGVmYXVsdC5pc1ZhbGlkRFJlcElkKCdhbHdheXMtbm8tY29uZmlkZW5jZScpLCB0cnVlKTtcbiAgICBzaG91bGQuZXF1YWwoVXRpbHMuZGVmYXVsdC5pc1ZhbGlkRFJlcElkKCdkcmVwMTNkNnN4a3l6NnN0OWg2NXFxcnpkOHVrcHl3aHI4c3dlOWY2MzU3cW50Z2pxeWUwaW5jb3JyZWN0JyksIGZhbHNlKTtcbiAgICAvLyBDSVAtMTA1IHN0YW5kYXJkIERSZXBJZFxuICAgIHNob3VsZC5lcXVhbChVdGlscy5kZWZhdWx0LmlzVmFsaWREUmVwSWQoJ2RyZXAxM2Q2c3hreXo2c3Q5aDY1cXFyemQ4dWtweXdocjhzd2U5ZjYzNTdxbnRnanF5ZTBndHRkJyksIHRydWUpO1xuICAgIC8vIENJUC0xMjkgc3RhbmRhcmQgRFJlcElkXG4gICAgc2hvdWxkLmVxdWFsKFV0aWxzLmRlZmF1bHQuaXNWYWxpZERSZXBJZCgnZHJlcDF5MjloMnE2Y3N0MnB2a2wyc3FxdmY1bGpjeTM2dXY3cG15NDgyeG5jemRkemdxc2h1czI0dycpLCB0cnVlKTtcbiAgfSk7XG5cbiAgaXQoJ3Nob3VsZCBnZXQgRFJlcCBlbnRpdHkgZnJvbSBEUmVwSWQgY29ycmVjdGx5JywgKCkgPT4ge1xuICAgIHNob3VsZC5lcXVhbChVdGlscy5kZWZhdWx0LmdldERSZXBGcm9tRFJlcElkKCdhbHdheXMtYWJzdGFpbicpLnRvX2pzb24oKSwgRFJlcC5uZXdfYWx3YXlzX2Fic3RhaW4oKS50b19qc29uKCkpO1xuICAgIHNob3VsZC5lcXVhbChcbiAgICAgIFV0aWxzLmRlZmF1bHQuZ2V0RFJlcEZyb21EUmVwSWQoJ2Fsd2F5cy1uby1jb25maWRlbmNlJykudG9fanNvbigpLFxuICAgICAgRFJlcC5uZXdfYWx3YXlzX25vX2NvbmZpZGVuY2UoKS50b19qc29uKClcbiAgICApO1xuICAgIHNob3VsZC5lcXVhbChcbiAgICAgIFV0aWxzLmRlZmF1bHQuZ2V0RFJlcEZyb21EUmVwSWQoJ2RyZXAxM2Q2c3hreXo2c3Q5aDY1cXFyemQ4dWtweXdocjhzd2U5ZjYzNTdxbnRnanF5ZTBndHRkJykudG9fanNvbigpLFxuICAgICAgRFJlcC5mcm9tX2JlY2gzMignZHJlcDEzZDZzeGt5ejZzdDloNjVxcXJ6ZDh1a3B5d2hyOHN3ZTlmNjM1N3FudGdqcXllMGd0dGQnKS50b19qc29uKClcbiAgICApO1xuICAgIC8vIERSZXAgc2hvdWxkIGJlIHRoZSBzYW1lIGZyb20gYm90aCBDSVAtMTA1IGFuZCBDSVAtMTI5IElEc1xuICAgIHNob3VsZC5lcXVhbChcbiAgICAgIFV0aWxzLmRlZmF1bHQuZ2V0RFJlcEZyb21EUmVwSWQoJ2RyZXAxeTI5aDJxNmNzdDJwdmtsMnNxcXZmNWxqY3kzNnV2N3BteTQ4MnhuY3pkZHpncXNodXMyNHcnKS50b19qc29uKCksXG4gICAgICBVdGlscy5kZWZhdWx0LmdldERSZXBGcm9tRFJlcElkKCdkcmVwMTNkNnN4a3l6NnN0OWg2NXFxcnpkOHVrcHl3aHI4c3dlOWY2MzU3cW50Z2pxeWUwZ3R0ZCcpLnRvX2pzb24oKVxuICAgICk7XG4gIH0pO1xuXG4gIGl0KCdzaG91bGQgZ2V0IERSZXBJZCBmcm9tIERSZXAgZW50aXR5IGNvcnJlY3RseScsICgpID0+IHtcbiAgICBzaG91bGQuZXF1YWwoVXRpbHMuZGVmYXVsdC5nZXREUmVwSWRGcm9tRFJlcChEUmVwLm5ld19hbHdheXNfYWJzdGFpbigpKSwgJ2Fsd2F5cy1hYnN0YWluJyk7XG4gICAgc2hvdWxkLmVxdWFsKFV0aWxzLmRlZmF1bHQuZ2V0RFJlcElkRnJvbURSZXAoRFJlcC5uZXdfYWx3YXlzX25vX2NvbmZpZGVuY2UoKSksICdhbHdheXMtbm8tY29uZmlkZW5jZScpO1xuICAgIC8vIFJlZ2FyZGxlc3Mgb2Ygd2hldGhlciBEUmVwIHdhcyBjcmVhdGVkIGZyb20gQ0lQLTEwNSBvciBDSVAtMTI5IElELCB0aGUgRFJlcElkIGZyb20gZ2V0RFJlcElkRnJvbURSZXAgd2lsbCBiZSB0aGUgSUQgZm9ybWF0IGZyb20gYHRvX2JlY2gzMmBcbiAgICBzaG91bGQuZXF1YWwoXG4gICAgICBVdGlscy5kZWZhdWx0LmdldERSZXBJZEZyb21EUmVwKFxuICAgICAgICBVdGlscy5kZWZhdWx0LmdldERSZXBGcm9tRFJlcElkKCdkcmVwMTNkNnN4a3l6NnN0OWg2NXFxcnpkOHVrcHl3aHI4c3dlOWY2MzU3cW50Z2pxeWUwZ3R0ZCcpXG4gICAgICApLFxuICAgICAgJ2RyZXAxM2Q2c3hreXo2c3Q5aDY1cXFyemQ4dWtweXdocjhzd2U5ZjYzNTdxbnRnanF5ZTBndHRkJ1xuICAgICk7XG4gICAgc2hvdWxkLmVxdWFsKFxuICAgICAgVXRpbHMuZGVmYXVsdC5nZXREUmVwSWRGcm9tRFJlcChcbiAgICAgICAgVXRpbHMuZGVmYXVsdC5nZXREUmVwRnJvbURSZXBJZCgnZHJlcDF5MjloMnE2Y3N0MnB2a2wyc3FxdmY1bGpjeTM2dXY3cG15NDgyeG5jemRkemdxc2h1czI0dycpXG4gICAgICApLFxuICAgICAgJ2RyZXAxM2Q2c3hreXo2c3Q5aDY1cXFyemQ4dWtweXdocjhzd2U5ZjYzNTdxbnRnanF5ZTBndHRkJ1xuICAgICk7XG4gIH0pO1xuXG4gIGl0KCdzaG91bGQgZ2V0IHRyYW5zYWN0aW9uIGJvZHkgY29ycmVjdGx5JywgKCkgPT4ge1xuICAgIGNvbnN0IHtcbiAgICAgIHVuc2lnbmVkVHgsXG4gICAgICB1bnNpZ25lZFR4Qm9keSxcbiAgICAgIHVuc2lnbmVkVm90ZURlbGVnYXRpb25UeCxcbiAgICAgIHVuc2lnbmVkVm90ZURlbGVnYXRpb25UeEJvZHksXG4gICAgICB1bnNpZ25lZFN0YWtpbmdBY3RpdmVUeCxcbiAgICAgIHVuc2lnbmVkU3Rha2luZ0FjdGl2ZVR4Qm9keSxcbiAgICAgIHVuc2lnbmVkU3Rha2luZ0RlYWN0aXZlVHgsXG4gICAgICB1bnNpZ25lZFN0YWtpbmdEZWFjdGl2ZVR4Qm9keSxcbiAgICAgIHVuc2lnbmVkU3Rha2luZ1dpdGhkcmF3VHgsXG4gICAgICB1bnNpZ25lZFN0YWtpbmdXaXRoZHJhd1R4Qm9keSxcbiAgICAgIHVuc2lnbmVkVXBkYXRlUGxlZGdlVHgsXG4gICAgICB1bnNpZ25lZFVwZGF0ZVBsZWRnZVR4Qm9keSxcbiAgICAgIHVuc2lnbmVkTmV3UGxlZGdlVHgsXG4gICAgICB1bnNpZ25lZE5ld1BsZWRnZVR4Qm9keSxcbiAgICAgIHBhcnRpYWxseVNpZ25lZFBsZWRnZVR4LFxuICAgIH0gPSByYXdUeDtcbiAgICBzaG91bGQuZXF1YWwoVXRpbHMuZGVmYXVsdC5nZXRUcmFuc2FjdGlvbkJvZHkodW5zaWduZWRUeCksIHVuc2lnbmVkVHhCb2R5KTtcbiAgICBzaG91bGQuZXF1YWwoVXRpbHMuZGVmYXVsdC5nZXRUcmFuc2FjdGlvbkJvZHkodW5zaWduZWRWb3RlRGVsZWdhdGlvblR4KSwgdW5zaWduZWRWb3RlRGVsZWdhdGlvblR4Qm9keSk7XG4gICAgc2hvdWxkLmVxdWFsKFV0aWxzLmRlZmF1bHQuZ2V0VHJhbnNhY3Rpb25Cb2R5KHVuc2lnbmVkU3Rha2luZ0FjdGl2ZVR4KSwgdW5zaWduZWRTdGFraW5nQWN0aXZlVHhCb2R5KTtcbiAgICBzaG91bGQuZXF1YWwoVXRpbHMuZGVmYXVsdC5nZXRUcmFuc2FjdGlvbkJvZHkodW5zaWduZWRTdGFraW5nRGVhY3RpdmVUeCksIHVuc2lnbmVkU3Rha2luZ0RlYWN0aXZlVHhCb2R5KTtcbiAgICBzaG91bGQuZXF1YWwoVXRpbHMuZGVmYXVsdC5nZXRUcmFuc2FjdGlvbkJvZHkodW5zaWduZWRTdGFraW5nV2l0aGRyYXdUeCksIHVuc2lnbmVkU3Rha2luZ1dpdGhkcmF3VHhCb2R5KTtcbiAgICBzaG91bGQuZXF1YWwoVXRpbHMuZGVmYXVsdC5nZXRUcmFuc2FjdGlvbkJvZHkodW5zaWduZWRVcGRhdGVQbGVkZ2VUeCksIHVuc2lnbmVkVXBkYXRlUGxlZGdlVHhCb2R5KTtcbiAgICBzaG91bGQuZXF1YWwoVXRpbHMuZGVmYXVsdC5nZXRUcmFuc2FjdGlvbkJvZHkodW5zaWduZWROZXdQbGVkZ2VUeCksIHVuc2lnbmVkTmV3UGxlZGdlVHhCb2R5KTtcbiAgICBzaG91bGQuZXF1YWwoVXRpbHMuZGVmYXVsdC5nZXRUcmFuc2FjdGlvbkJvZHkocGFydGlhbGx5U2lnbmVkUGxlZGdlVHgpLCB1bnNpZ25lZE5ld1BsZWRnZVR4Qm9keSk7XG4gIH0pO1xufSk7XG4iXX0=
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"voteDelegationBuilder.d.ts","sourceRoot":"","sources":["../../../test/unit/voteDelegationBuilder.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
36
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
37
|
+
};
|
|
38
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
+
const should_1 = __importDefault(require("should"));
|
|
40
|
+
const sdk_core_1 = require("@bitgo-beta/sdk-core");
|
|
41
|
+
const testData = __importStar(require("../resources"));
|
|
42
|
+
const src_1 = require("../../src");
|
|
43
|
+
const statics_1 = require("@bitgo-beta/statics");
|
|
44
|
+
const transaction_1 = require("../../src/lib/transaction");
|
|
45
|
+
describe('ADA Vote Delegation Transaction Builder', async () => {
|
|
46
|
+
const factory = new src_1.TransactionBuilderFactory(statics_1.coins.get('tada'));
|
|
47
|
+
it('start and build an unsigned staking vote delegation tx', async () => {
|
|
48
|
+
const keyPairStake = new src_1.KeyPair({ prv: testData.privateKeys.prvKey2 });
|
|
49
|
+
const txBuilder = factory.getVoteDelegationBuilder();
|
|
50
|
+
txBuilder.input({
|
|
51
|
+
transaction_id: '3677e75c7ba699bfdc6cd57d42f246f86f63aefd76025006ac78313fad2bba21',
|
|
52
|
+
transaction_index: 1,
|
|
53
|
+
});
|
|
54
|
+
const totalInput = '4000000';
|
|
55
|
+
txBuilder.changeAddress('addr1q8rm9z7w4yx5gz652kn2q238efvms6t0qelur9nlglun8eu4tr5knj4fu4adelzqhxg8adu5xca4jra0gtllfrpcawyq9psz23', totalInput);
|
|
56
|
+
txBuilder.addVoteDelegationCertificate(keyPairStake.getKeys().pub, 'drep13d6sxkyz6st9h65qqrzd8ukpywhr8swe9f6357qntgjqye0gttd');
|
|
57
|
+
txBuilder.ttl(800000000);
|
|
58
|
+
const tx = (await txBuilder.build());
|
|
59
|
+
should_1.default.equal(tx.type, sdk_core_1.TransactionType.VoteDelegation);
|
|
60
|
+
const explainedTx = tx.explainTransaction();
|
|
61
|
+
should_1.default.equal(explainedTx.type, 'VoteDelegation');
|
|
62
|
+
const txData = tx.toJson();
|
|
63
|
+
const fee = tx.getFee;
|
|
64
|
+
fee.should.equal('168537');
|
|
65
|
+
txData.certs.length.should.equal(1);
|
|
66
|
+
txData.certs[0].type.should.equal(transaction_1.CertType.VoteDelegation);
|
|
67
|
+
txData.outputs.length.should.equal(1);
|
|
68
|
+
txData.outputs[0].amount.should.equal((Number(totalInput) - Number(fee)).toString());
|
|
69
|
+
tx.toBroadcastFormat().should.equal(testData.rawTx.unsignedVoteDelegationTx);
|
|
70
|
+
should_1.default.equal(tx.id, testData.rawTx.unsignedVoteDelegationTxHash);
|
|
71
|
+
});
|
|
72
|
+
it('should build a vote delegation transaction', async () => {
|
|
73
|
+
const prebuiltTx = new transaction_1.Transaction(statics_1.coins.get('tada'));
|
|
74
|
+
prebuiltTx.fromRawTransaction(testData.rawTx.unsignedVoteDelegationTx);
|
|
75
|
+
const txBuilder = factory.getVoteDelegationBuilder();
|
|
76
|
+
txBuilder.initBuilder(prebuiltTx);
|
|
77
|
+
const tx = (await txBuilder.build());
|
|
78
|
+
should_1.default.equal(tx.type, sdk_core_1.TransactionType.VoteDelegation);
|
|
79
|
+
const txData = tx.toJson();
|
|
80
|
+
txData.inputs.length.should.equal(1);
|
|
81
|
+
txData.outputs.length.should.equal(1);
|
|
82
|
+
txData.certs.length.should.equal(1);
|
|
83
|
+
txData.certs[0].type.should.equal(transaction_1.CertType.VoteDelegation);
|
|
84
|
+
should_1.default.exist(txData.certs[0].dRepId);
|
|
85
|
+
txData.certs[0].dRepId.should.equal('drep13d6sxkyz6st9h65qqrzd8ukpywhr8swe9f6357qntgjqye0gttd');
|
|
86
|
+
txData.withdrawals.length.should.equal(0);
|
|
87
|
+
txData.witnesses.length.should.equal(0);
|
|
88
|
+
const fee = tx.getFee;
|
|
89
|
+
fee.should.equal('168537');
|
|
90
|
+
tx.toBroadcastFormat().should.equal(testData.rawTx.unsignedVoteDelegationTx);
|
|
91
|
+
should_1.default.equal(tx.id, testData.rawTx.unsignedVoteDelegationTxHash);
|
|
92
|
+
const explainedTx = tx.explainTransaction();
|
|
93
|
+
should_1.default.equal(explainedTx.type, 'VoteDelegation');
|
|
94
|
+
});
|
|
95
|
+
});
|
|
96
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidm90ZURlbGVnYXRpb25CdWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vdGVzdC91bml0L3ZvdGVEZWxlZ2F0aW9uQnVpbGRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLG9EQUE0QjtBQUM1QixtREFBdUQ7QUFDdkQsdURBQXlDO0FBQ3pDLG1DQUErRDtBQUMvRCxpREFBNEM7QUFDNUMsMkRBQWtFO0FBRWxFLFFBQVEsQ0FBQyx5Q0FBeUMsRUFBRSxLQUFLLElBQUksRUFBRTtJQUM3RCxNQUFNLE9BQU8sR0FBRyxJQUFJLCtCQUF5QixDQUFDLGVBQUssQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztJQUNqRSxFQUFFLENBQUMsd0RBQXdELEVBQUUsS0FBSyxJQUFJLEVBQUU7UUFDdEUsTUFBTSxZQUFZLEdBQUcsSUFBSSxhQUFPLENBQUMsRUFBRSxHQUFHLEVBQUUsUUFBUSxDQUFDLFdBQVcsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO1FBQ3hFLE1BQU0sU0FBUyxHQUFHLE9BQU8sQ0FBQyx3QkFBd0IsRUFBRSxDQUFDO1FBQ3JELFNBQVMsQ0FBQyxLQUFLLENBQUM7WUFDZCxjQUFjLEVBQUUsa0VBQWtFO1lBQ2xGLGlCQUFpQixFQUFFLENBQUM7U0FDckIsQ0FBQyxDQUFDO1FBQ0gsTUFBTSxVQUFVLEdBQUcsU0FBUyxDQUFDO1FBQzdCLFNBQVMsQ0FBQyxhQUFhLENBQ3JCLHlHQUF5RyxFQUN6RyxVQUFVLENBQ1gsQ0FBQztRQUNGLFNBQVMsQ0FBQyw0QkFBNEIsQ0FDcEMsWUFBWSxDQUFDLE9BQU8sRUFBRSxDQUFDLEdBQUcsRUFDMUIsMERBQTBELENBQzNELENBQUM7UUFDRixTQUFTLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ3pCLE1BQU0sRUFBRSxHQUFHLENBQUMsTUFBTSxTQUFTLENBQUMsS0FB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QUMsQ0FBQyxNQUFPLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQywwREFBMEQsQ0FBQyxDQUFDO1FBQ2pHLE1BQU0sQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDMUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUV4QyxNQUFNLEdBQUcsR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFDO1FBQ3RCLEdBQUcsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQzNCLEVBQUUsQ0FBQyxpQkFBaUIsRUFBRSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO1FBQzdFLGdCQUFNLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsUUFBUSxDQUFDLEtBQUssQ0FBQyw0QkFBNEIsQ0FBQyxDQUFDO1FBRWpFLE1BQU0sV0FBVyxHQUFHLEVBQUUsQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1FBQzVDLGdCQUFNLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQztJQUNuRCxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHNob3VsZCBmcm9tICdzaG91bGQnO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb25UeXBlIH0gZnJvbSAnQGJpdGdvLWJldGEvc2RrLWNvcmUnO1xuaW1wb3J0ICogYXMgdGVzdERhdGEgZnJvbSAnLi4vcmVzb3VyY2VzJztcbmltcG9ydCB7IEtleVBhaXIsIFRyYW5zYWN0aW9uQnVpbGRlckZhY3RvcnkgfSBmcm9tICcuLi8uLi9zcmMnO1xuaW1wb3J0IHsgY29pbnMgfSBmcm9tICdAYml0Z28tYmV0YS9zdGF0aWNzJztcbmltcG9ydCB7IENlcnRUeXBlLCBUcmFuc2FjdGlvbiB9IGZyb20gJy4uLy4uL3NyYy9saWIvdHJhbnNhY3Rpb24nO1xuXG5kZXNjcmliZSgnQURBIFZvdGUgRGVsZWdhdGlvbiBUcmFuc2FjdGlvbiBCdWlsZGVyJywgYXN5bmMgKCkgPT4ge1xuICBjb25zdCBmYWN0b3J5ID0gbmV3IFRyYW5zYWN0aW9uQnVpbGRlckZhY3RvcnkoY29pbnMuZ2V0KCd0YWRhJykpO1xuICBpdCgnc3RhcnQgYW5kIGJ1aWxkIGFuIHVuc2lnbmVkIHN0YWtpbmcgdm90ZSBkZWxlZ2F0aW9uIHR4JywgYXN5bmMgKCkgPT4ge1xuICAgIGNvbnN0IGtleVBhaXJTdGFrZSA9IG5ldyBLZXlQYWlyKHsgcHJ2OiB0ZXN0RGF0YS5wcml2YXRlS2V5cy5wcnZLZXkyIH0pO1xuICAgIGNvbnN0IHR4QnVpbGRlciA9IGZhY3RvcnkuZ2V0Vm90ZURlbGVnYXRpb25CdWlsZGVyKCk7XG4gICAgdHhCdWlsZGVyLmlucHV0KHtcbiAgICAgIHRyYW5zYWN0aW9uX2lkOiAnMzY3N2U3NWM3YmE2OTliZmRjNmNkNTdkNDJmMjQ2Zjg2ZjYzYWVmZDc2MDI1MDA2YWM3ODMxM2ZhZDJiYmEyMScsXG4gICAgICB0cmFuc2FjdGlvbl9pbmRleDogMSxcbiAgICB9KTtcbiAgICBjb25zdCB0b3RhbElucHV0ID0gJzQwMDAwMDAnO1xuICAgIHR4QnVpbGRlci5jaGFuZ2VBZGRyZXNzKFxuICAgICAgJ2FkZHIxcThybTl6N3c0eXg1Z3o2NTJrbjJxMjM4ZWZ2bXM2dDBxZWx1cjlubGdsdW44ZXU0dHI1a25qNGZ1NGFkZWx6cWh4ZzhhZHU1eGNhNGpyYTBndGxsZnJwY2F3eXE5cHN6MjMnLFxuICAgICAgdG90YWxJbnB1dFxuICAgICk7XG4gICAgdHhCdWlsZGVyLmFkZFZvdGVEZWxlZ2F0aW9uQ2VydGlmaWNhdGUoXG4gICAgICBrZXlQYWlyU3Rha2UuZ2V0S2V5cygpLnB1YixcbiAgICAgICdkcmVwMTNkNnN4a3l6NnN0OWg2NXFxcnpkOHVrcHl3aHI4c3dlOWY2MzU3cW50Z2pxeWUwZ3R0ZCdcbiAgICApO1xuICAgIHR4QnVpbGRlci50dGwoODAwMDAwMDAwKTtcbiAgICBjb25zdCB0eCA9IChhd2FpdCB0eEJ1aWxkZXIuYnVpbGQoKSkgYXMgVHJhbnNhY3Rpb247XG4gICAgc2hvdWxkLmVxdWFsKHR4LnR5cGUsIFRyYW5zYWN0aW9uVHlwZS5Wb3RlRGVsZWdhdGlvbik7XG5cbiAgICBjb25zdCBleHBsYWluZWRUeCA9IHR4LmV4cGxhaW5UcmFuc2FjdGlvbigpO1xuICAgIHNob3VsZC5lcXVhbChleHBsYWluZWRUeC50eXBlLCAnVm90ZURlbGVnYXRpb24nKTtcblxuICAgIGNvbnN0IHR4RGF0YSA9IHR4LnRvSnNvbigpO1xuICAgIGNvbnN0IGZlZSA9IHR4LmdldEZlZTtcbiAgICBmZWUuc2hvdWxkLmVxdWFsKCcxNjg1MzcnKTtcblxuICAgIHR4RGF0YS5jZXJ0cy5sZW5ndGguc2hvdWxkLmVxdWFsKDEpO1xuICAgIHR4RGF0YS5jZXJ0c1swXS50eXBlLnNob3VsZC5lcXVhbChDZXJ0VHlwZS5Wb3RlRGVsZWdhdGlvbik7XG5cbiAgICB0eERhdGEub3V0cHV0cy5sZW5ndGguc2hvdWxkLmVxdWFsKDEpO1xuICAgIHR4RGF0YS5vdXRwdXRzWzBdLmFtb3VudC5zaG91bGQuZXF1YWwoKE51bWJlcih0b3RhbElucHV0KSAtIE51bWJlcihmZWUpKS50b1N0cmluZygpKTtcbiAgICB0eC50b0Jyb2FkY2FzdEZvcm1hdCgpLnNob3VsZC5lcXVhbCh0ZXN0RGF0YS5yYXdUeC51bnNpZ25lZFZvdGVEZWxlZ2F0aW9uVHgpO1xuICAgIHNob3VsZC5lcXVhbCh0eC5pZCwgdGVzdERhdGEucmF3VHgudW5zaWduZWRWb3RlRGVsZWdhdGlvblR4SGFzaCk7XG4gIH0pO1xuXG4gIGl0KCdzaG91bGQgYnVpbGQgYSB2b3RlIGRlbGVnYXRpb24gdHJhbnNhY3Rpb24nLCBhc3luYyAoKSA9PiB7XG4gICAgY29uc3QgcHJlYnVpbHRUeCA9IG5ldyBUcmFuc2FjdGlvbihjb2lucy5nZXQoJ3RhZGEnKSk7XG4gICAgcHJlYnVpbHRUeC5mcm9tUmF3VHJhbnNhY3Rpb24odGVzdERhdGEucmF3VHgudW5zaWduZWRWb3RlRGVsZWdhdGlvblR4KTtcbiAgICBjb25zdCB0eEJ1aWxkZXIgPSBmYWN0b3J5LmdldFZvdGVEZWxlZ2F0aW9uQnVpbGRlcigpO1xuICAgIHR4QnVpbGRlci5pbml0QnVpbGRlcihwcmVidWlsdFR4KTtcbiAgICBjb25zdCB0eCA9IChhd2FpdCB0eEJ1aWxkZXIuYnVpbGQoKSkgYXMgVHJhbnNhY3Rpb247XG4gICAgc2hvdWxkLmVxdWFsKHR4LnR5cGUsIFRyYW5zYWN0aW9uVHlwZS5Wb3RlRGVsZWdhdGlvbik7XG4gICAgY29uc3QgdHhEYXRhID0gdHgudG9Kc29uKCk7XG4gICAgdHhEYXRhLmlucHV0cy5sZW5ndGguc2hvdWxkLmVxdWFsKDEpO1xuICAgIHR4RGF0YS5vdXRwdXRzLmxlbmd0aC5zaG91bGQuZXF1YWwoMSk7XG4gICAgdHhEYXRhLmNlcnRzLmxlbmd0aC5zaG91bGQuZXF1YWwoMSk7XG4gICAgdHhEYXRhLmNlcnRzWzBdLnR5cGUuc2hvdWxkLmVxdWFsKENlcnRUeXBlLlZvdGVEZWxlZ2F0aW9uKTtcbiAgICBzaG91bGQuZXhpc3QodHhEYXRhLmNlcnRzWzBdLmRSZXBJZCk7XG4gICAgdHhEYXRhLmNlcnRzWzBdLmRSZXBJZCEuc2hvdWxkLmVxdWFsKCdkcmVwMTNkNnN4a3l6NnN0OWg2NXFxcnpkOHVrcHl3aHI4c3dlOWY2MzU3cW50Z2pxeWUwZ3R0ZCcpO1xuICAgIHR4RGF0YS53aXRoZHJhd2Fscy5sZW5ndGguc2hvdWxkLmVxdWFsKDApO1xuICAgIHR4RGF0YS53aXRuZXNzZXMubGVuZ3RoLnNob3VsZC5lcXVhbCgwKTtcblxuICAgIGNvbnN0IGZlZSA9IHR4LmdldEZlZTtcbiAgICBmZWUuc2hvdWxkLmVxdWFsKCcxNjg1MzcnKTtcbiAgICB0eC50b0Jyb2FkY2FzdEZvcm1hdCgpLnNob3VsZC5lcXVhbCh0ZXN0RGF0YS5yYXdUeC51bnNpZ25lZFZvdGVEZWxlZ2F0aW9uVHgpO1xuICAgIHNob3VsZC5lcXVhbCh0eC5pZCwgdGVzdERhdGEucmF3VHgudW5zaWduZWRWb3RlRGVsZWdhdGlvblR4SGFzaCk7XG5cbiAgICBjb25zdCBleHBsYWluZWRUeCA9IHR4LmV4cGxhaW5UcmFuc2FjdGlvbigpO1xuICAgIHNob3VsZC5lcXVhbChleHBsYWluZWRUeC50eXBlLCAnVm90ZURlbGVnYXRpb24nKTtcbiAgfSk7XG59KTtcbiJdfQ==
|