@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,127 @@
|
|
|
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 buffer_1 = require("buffer");
|
|
40
|
+
const should_1 = __importDefault(require("should"));
|
|
41
|
+
const CardanoSL = __importStar(require("@emurgo/cardano-serialization-lib-nodejs"));
|
|
42
|
+
const cbor_1 = require("cbor");
|
|
43
|
+
const cip8Resources_1 = require("../../../resources/cip8Resources");
|
|
44
|
+
const utils_1 = require("../../../../src/lib/messages/cip8/utils");
|
|
45
|
+
describe('CIP8 Utils', function () {
|
|
46
|
+
let addressCborBytes;
|
|
47
|
+
before(function () {
|
|
48
|
+
const address = CardanoSL.Address.from_bech32(cip8Resources_1.cip8TestResources.address.bech32);
|
|
49
|
+
addressCborBytes = address.to_bytes();
|
|
50
|
+
});
|
|
51
|
+
describe('bytesToHex', function () {
|
|
52
|
+
it('should convert Uint8Array to hex string', function () {
|
|
53
|
+
const bytes = new Uint8Array([0, 1, 10, 15, 255]);
|
|
54
|
+
const hex = (0, utils_1.bytesToHex)(bytes);
|
|
55
|
+
should_1.default.equal(hex, '00010a0fff');
|
|
56
|
+
});
|
|
57
|
+
it('should convert Buffer to hex string', function () {
|
|
58
|
+
const buffer = buffer_1.Buffer.from([0, 1, 10, 15, 255]);
|
|
59
|
+
const hex = (0, utils_1.bytesToHex)(buffer);
|
|
60
|
+
should_1.default.equal(hex, '00010a0fff');
|
|
61
|
+
});
|
|
62
|
+
it('should return empty string for empty input', function () {
|
|
63
|
+
const bytes = new Uint8Array([]);
|
|
64
|
+
const hex = (0, utils_1.bytesToHex)(bytes);
|
|
65
|
+
should_1.default.equal(hex, '');
|
|
66
|
+
});
|
|
67
|
+
});
|
|
68
|
+
describe('createCSLSigStructure', function () {
|
|
69
|
+
it('should create valid signature structure', async function () {
|
|
70
|
+
const message = 'Hello, Cardano!';
|
|
71
|
+
const result = (0, utils_1.createCSLSigStructure)(addressCborBytes, message);
|
|
72
|
+
should_1.default.exist(result.sigStructureCborBytes);
|
|
73
|
+
should_1.default.exist(result.protectedHeaderCborBytes);
|
|
74
|
+
should_1.default.exist(result.payloadBytes);
|
|
75
|
+
// Verify payload bytes match original message
|
|
76
|
+
should_1.default.equal(result.payloadBytes.toString('utf-8'), message);
|
|
77
|
+
// Verify structure of protected header
|
|
78
|
+
const decodedHeader = await cbor_1.Decoder.decodeFirst(result.protectedHeaderCborBytes);
|
|
79
|
+
should_1.default.exist(decodedHeader);
|
|
80
|
+
should_1.default.equal(decodedHeader.get(1), -8); // Algorithm ID: EdDSA
|
|
81
|
+
should_1.default.exist(decodedHeader.get('address')); // Address should be present
|
|
82
|
+
// Verify structure of sig_structure
|
|
83
|
+
const decodedSigStructure = await cbor_1.Decoder.decodeFirst(result.sigStructureCborBytes);
|
|
84
|
+
should_1.default.exist(decodedSigStructure);
|
|
85
|
+
should_1.default.equal(decodedSigStructure[0], 'Signature1');
|
|
86
|
+
should_1.default.deepEqual(decodedSigStructure[1], buffer_1.Buffer.from(result.protectedHeaderCborBytes));
|
|
87
|
+
should_1.default.deepEqual(decodedSigStructure[2], buffer_1.Buffer.from([]));
|
|
88
|
+
should_1.default.deepEqual(decodedSigStructure[3], buffer_1.Buffer.from(message, 'utf-8'));
|
|
89
|
+
});
|
|
90
|
+
it('should handle empty message', function () {
|
|
91
|
+
const message = '';
|
|
92
|
+
const result = (0, utils_1.createCSLSigStructure)(addressCborBytes, message);
|
|
93
|
+
should_1.default.exist(result);
|
|
94
|
+
should_1.default.equal(result.payloadBytes.toString('utf-8'), '');
|
|
95
|
+
should_1.default.equal(result.payloadBytes.length, 0);
|
|
96
|
+
});
|
|
97
|
+
});
|
|
98
|
+
describe('constructCSLCoseObjects', function () {
|
|
99
|
+
it('should construct valid COSE objects', function () {
|
|
100
|
+
const message = 'Hello, Cardano!';
|
|
101
|
+
const { protectedHeaderCborBytes, payloadBytes } = (0, utils_1.createCSLSigStructure)(addressCborBytes, message);
|
|
102
|
+
const signatureBytes = cip8Resources_1.cip8TestResources.createTestSignature(message);
|
|
103
|
+
const pubKey = cip8Resources_1.cip8TestResources.createTestPublicKey();
|
|
104
|
+
const result = (0, utils_1.constructCSLCoseObjects)(protectedHeaderCborBytes, payloadBytes, signatureBytes, pubKey);
|
|
105
|
+
should_1.default.exist(result.manualCoseSign1Hex);
|
|
106
|
+
should_1.default.exist(result.manualCoseKeyHex);
|
|
107
|
+
should_1.default.ok(result.manualCoseSign1Hex.length > 0);
|
|
108
|
+
should_1.default.ok(result.manualCoseKeyHex.length > 0);
|
|
109
|
+
});
|
|
110
|
+
});
|
|
111
|
+
describe('coseObjectsOutputToBuffer and bufferToCoseObjectsOutput', function () {
|
|
112
|
+
it('should convert CSLCoseObjectsOutput to buffer and back', async function () {
|
|
113
|
+
const message = 'Hello, Cardano!';
|
|
114
|
+
const { protectedHeaderCborBytes, payloadBytes } = (0, utils_1.createCSLSigStructure)(addressCborBytes, message);
|
|
115
|
+
const signatureBytes = cip8Resources_1.cip8TestResources.createTestSignature(message);
|
|
116
|
+
const pubKey = cip8Resources_1.cip8TestResources.createTestPublicKey();
|
|
117
|
+
const originalObjects = (0, utils_1.constructCSLCoseObjects)(protectedHeaderCborBytes, payloadBytes, signatureBytes, pubKey);
|
|
118
|
+
const buffer = (0, utils_1.coseObjectsOutputToBuffer)(originalObjects);
|
|
119
|
+
should_1.default.ok(buffer.length > 0);
|
|
120
|
+
const reconstructedObjects = await (0, utils_1.bufferToCoseObjectsOutput)(buffer);
|
|
121
|
+
should_1.default.exist(reconstructedObjects);
|
|
122
|
+
should_1.default.equal(reconstructedObjects.manualCoseSign1Hex, originalObjects.manualCoseSign1Hex);
|
|
123
|
+
should_1.default.equal(reconstructedObjects.manualCoseKeyHex, originalObjects.manualCoseKeyHex);
|
|
124
|
+
});
|
|
125
|
+
});
|
|
126
|
+
});
|
|
127
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi90ZXN0L3VuaXQvbWVzc2FnZXMvY2lwOC91dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLG1DQUFnQztBQUNoQyxvREFBNEI7QUFDNUIsb0ZBQXNFO0FBQ3RFLCtCQUErQjtBQUUvQixvRUFBcUU7QUFDckUsbUVBTWlEO0FBRWpELFFBQVEsQ0FBQyxZQUFZLEVBQUU7SUFDckIsSUFBSSxnQkFBNEIsQ0FBQztJQUVqQyxNQUFNLENBQUM7UUFDTCxNQUFNLE9BQU8sR0FBRyxTQUFTLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxpQ0FBaUIsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDaEYsZ0JBQWdCLEdBQUcsT0FBTyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ3hDLENBQUMsQ0FBQyxDQUFDO0lBRUgsUUFBUSxDQUFDLFlBQVksRUFBRTtRQUNyQixFQUFFLENBQUMseUNBQXlDLEVBQUU7WUFDNUMsTUFBTSxLQUFLLEdBQUcsSUFBSSxVQUFVLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQztZQUNsRCxNQUFNLEdBQUcsR0FBRyxJQUFBLGtCQUFVLEVBQUMsS0FBSyxDQUFDLENBQUM7WUFDOUIsZ0JBQU0sQ0FBQyxLQUFLLENBQUMsR0FBRyxFQUFFLFlBQVksQ0FBQyxDQUFDO1FBQ2xDLENBQUMsQ0FBQyxDQUFDO1FBRUgsRUFBRSxDQUFDLHFDQUFxQyxFQUFFO1lBQ3hDLE1BQU0sTUFBTSxHQUFHLGVBQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQztZQUNoRCxNQUFNLEdBQUcsR0FBRyxJQUFBLGtCQUFVLEVBQUMsTUFBTSxDQUFDLENBQUM7WUFDL0IsZ0JBQU0sQ0FBQyxLQUFLLENBQUMsR0FBRyxFQUFFLFlBQVksQ0FBQyxDQUFDO1FBQ2xDLENBQUMsQ0FBQyxDQUFDO1FBRUgsRUFBRSxDQUFDLDRDQUE0QyxFQUFFO1lBQy9DLE1BQU0sS0FBSyxHQUFHLElBQUksVUFBVSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQ2pDLE1BQU0sR0FBRyxHQUFHLElBQUEsa0JBQVUsRUFBQyxLQUFLLENBQUMsQ0FBQztZQUM5QixnQkFBTSxDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDeEIsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDLENBQUMsQ0FBQztJQUVILFFBQVEsQ0FBQyx1QkFBdUIsRUFBRTtRQUNoQyxFQUFFLENBQUMseUNBQXlDLEVBQUUsS0FBSztZQUNqRCxNQUFNLE9BQU8sR0FBRyxpQkFBaUIsQ0FBQztZQUNsQyxNQUFNLE1BQU0sR0FBRyxJQUFBLDZCQUFxQixFQUFDLGdCQUFnQixFQUFFLE9BQU8sQ0FBQyxDQUFDO1lBRWhFLGdCQUFNLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO1lBQzNDLGdCQUFNLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO1lBQzlDLGdCQUFNLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQztZQUVsQyw4Q0FBOEM7WUFDOUMsZ0JBQU0sQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLEVBQUUsT0FBTyxDQUFDLENBQUM7WUFFN0QsdUNBQXVDO1lBQ3ZDLE1BQU0sYUFBYSxHQUFHLE1BQU0sY0FBTyxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsd0JBQXdCLENBQUMsQ0FBQztZQUNqRixnQkFBTSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsQ0FBQztZQUM1QixnQkFBTSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxzQkFBc0I7WUFDOUQsZ0JBQU0sQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsNEJBQTRCO1lBRXhFLG9DQUFvQztZQUNwQyxNQUFNLG1CQUFtQixHQUFHLE1BQU0sY0FBTyxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMscUJBQXFCLENBQUMsQ0FBQztZQUNwRixnQkFBTSxDQUFDLEtBQUssQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1lBQ2xDLGdCQUFNLENBQUMsS0FBSyxDQUFDLG1CQUFtQixDQUFDLENBQUMsQ0FBQyxFQUFFLFlBQVksQ0FBQyxDQUFDO1lBQ25ELGdCQUFNLENBQUMsU0FBUyxDQUFDLG1CQUFtQixDQUFDLENBQUMsQ0FBQyxFQUFFLGVBQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLHdCQUF3QixDQUFDLENBQUMsQ0FBQztZQUN2RixnQkFBTSxDQUFDLFNBQVMsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLENBQUMsRUFBRSxlQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDMUQsZ0JBQU0sQ0FBQyxTQUFTLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxDQUFDLEVBQUUsZUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQztRQUMxRSxDQUFDLENBQUMsQ0FBQztRQUVILEVBQUUsQ0FBQyw2QkFBNkIsRUFBRTtZQUNoQyxNQUFNLE9BQU8sR0FBRyxFQUFFLENBQUM7WUFDbkIsTUFBTSxNQUFNLEdBQUcsSUFBQSw2QkFBcUIsRUFBQyxnQkFBZ0IsRUFBRSxPQUFPLENBQUMsQ0FBQztZQUVoRSxnQkFBTSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUNyQixnQkFBTSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztZQUN4RCxnQkFBTSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQztRQUM5QyxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQyxDQUFDO0lBRUgsUUFBUSxDQUFDLHlCQUF5QixFQUFFO1FBQ2xDLEVBQUUsQ0FBQyxxQ0FBcUMsRUFBRTtZQUN4QyxNQUFNLE9BQU8sR0FBRyxpQkFBaUIsQ0FBQztZQUNsQyxNQUFNLEVBQUUsd0JBQXdCLEVBQUUsWUFBWSxFQUFFLEdBQUcsSUFBQSw2QkFBcUIsRUFBQyxnQkFBZ0IsRUFBRSxPQUFPLENBQUMsQ0FBQztZQUVwRyxNQUFNLGNBQWMsR0FBRyxpQ0FBaUIsQ0FBQyxtQkFBbUIsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUN0RSxNQUFNLE1BQU0sR0FBRyxpQ0FBaUIsQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO1lBRXZELE1BQU0sTUFBTSxHQUFHLElBQUEsK0JBQXVCLEVBQUMsd0JBQXdCLEVBQUUsWUFBWSxFQUFFLGNBQWMsRUFBRSxNQUFNLENBQUMsQ0FBQztZQUV2RyxnQkFBTSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsa0JBQWtCLENBQUMsQ0FBQztZQUN4QyxnQkFBTSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztZQUV0QyxnQkFBTSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsa0JBQWtCLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDO1lBQ2hELGdCQUFNLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDaEQsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDLENBQUMsQ0FBQztJQUVILFFBQVEsQ0FBQyx5REFBeUQsRUFBRTtRQUNsRSxFQUFFLENBQUMsd0RBQXdELEVBQUUsS0FBSztZQUNoRSxNQUFNLE9BQU8sR0FBRyxpQkFBaUIsQ0FBQztZQUNsQyxNQUFNLEVBQUUsd0JBQXdCLEVBQUUsWUFBWSxFQUFFLEdBQUcsSUFBQSw2QkFBcUIsRUFBQyxnQkFBZ0IsRUFBRSxPQUFPLENBQUMsQ0FBQztZQUVwRyxNQUFNLGNBQWMsR0FBRyxpQ0FBaUIsQ0FBQyxtQkFBbUIsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUN0RSxNQUFNLE1BQU0sR0FBRyxpQ0FBaUIsQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO1lBRXZELE1BQU0sZUFBZSxHQUFHLElBQUEsK0JBQXVCLEVBQUMsd0JBQXdCLEVBQUUsWUFBWSxFQUFFLGNBQWMsRUFBRSxNQUFNLENBQUMsQ0FBQztZQUVoSCxNQUFNLE1BQU0sR0FBRyxJQUFBLGlDQUF5QixFQUFDLGVBQWUsQ0FBQyxDQUFDO1lBQzFELGdCQUFNLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUM7WUFFN0IsTUFBTSxvQkFBb0IsR0FBRyxNQUFNLElBQUEsaUNBQXlCLEVBQUMsTUFBTSxDQUFDLENBQUM7WUFDckUsZ0JBQU0sQ0FBQyxLQUFLLENBQUMsb0JBQW9CLENBQUMsQ0FBQztZQUNuQyxnQkFBTSxDQUFDLEtBQUssQ0FBQyxvQkFBb0IsQ0FBQyxrQkFBa0IsRUFBRSxlQUFlLENBQUMsa0JBQWtCLENBQUMsQ0FBQztZQUMxRixnQkFBTSxDQUFDLEtBQUssQ0FBQyxvQkFBb0IsQ0FBQyxnQkFBZ0IsRUFBRSxlQUFlLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUN4RixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCdWZmZXIgfSBmcm9tICdidWZmZXInO1xuaW1wb3J0IHNob3VsZCBmcm9tICdzaG91bGQnO1xuaW1wb3J0ICogYXMgQ2FyZGFub1NMIGZyb20gJ0BlbXVyZ28vY2FyZGFuby1zZXJpYWxpemF0aW9uLWxpYi1ub2RlanMnO1xuaW1wb3J0IHsgRGVjb2RlciB9IGZyb20gJ2Nib3InO1xuXG5pbXBvcnQgeyBjaXA4VGVzdFJlc291cmNlcyB9IGZyb20gJy4uLy4uLy4uL3Jlc291cmNlcy9jaXA4UmVzb3VyY2VzJztcbmltcG9ydCB7XG4gIGJ5dGVzVG9IZXgsXG4gIGNyZWF0ZUNTTFNpZ1N0cnVjdHVyZSxcbiAgY29uc3RydWN0Q1NMQ29zZU9iamVjdHMsXG4gIGNvc2VPYmplY3RzT3V0cHV0VG9CdWZmZXIsXG4gIGJ1ZmZlclRvQ29zZU9iamVjdHNPdXRwdXQsXG59IGZyb20gJy4uLy4uLy4uLy4uL3NyYy9saWIvbWVzc2FnZXMvY2lwOC91dGlscyc7XG5cbmRlc2NyaWJlKCdDSVA4IFV0aWxzJywgZnVuY3Rpb24gKCkge1xuICBsZXQgYWRkcmVzc0Nib3JCeXRlczogVWludDhBcnJheTtcblxuICBiZWZvcmUoZnVuY3Rpb24gKCkge1xuICAgIGNvbnN0IGFkZHJlc3MgPSBDYXJkYW5vU0wuQWRkcmVzcy5mcm9tX2JlY2gzMihjaXA4VGVzdFJlc291cmNlcy5hZGRyZXNzLmJlY2gzMik7XG4gICAgYWRkcmVzc0Nib3JCeXRlcyA9IGFkZHJlc3MudG9fYnl0ZXMoKTtcbiAgfSk7XG5cbiAgZGVzY3JpYmUoJ2J5dGVzVG9IZXgnLCBmdW5jdGlvbiAoKSB7XG4gICAgaXQoJ3Nob3VsZCBjb252ZXJ0IFVpbnQ4QXJyYXkgdG8gaGV4IHN0cmluZycsIGZ1bmN0aW9uICgpIHtcbiAgICAgIGNvbnN0IGJ5dGVzID0gbmV3IFVpbnQ4QXJyYXkoWzAsIDEsIDEwLCAxNSwgMjU1XSk7XG4gICAgICBjb25zdCBoZXggPSBieXRlc1RvSGV4KGJ5dGVzKTtcbiAgICAgIHNob3VsZC5lcXVhbChoZXgsICcwMDAxMGEwZmZmJyk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIGNvbnZlcnQgQnVmZmVyIHRvIGhleCBzdHJpbmcnLCBmdW5jdGlvbiAoKSB7XG4gICAgICBjb25zdCBidWZmZXIgPSBCdWZmZXIuZnJvbShbMCwgMSwgMTAsIDE1LCAyNTVdKTtcbiAgICAgIGNvbnN0IGhleCA9IGJ5dGVzVG9IZXgoYnVmZmVyKTtcbiAgICAgIHNob3VsZC5lcXVhbChoZXgsICcwMDAxMGEwZmZmJyk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIHJldHVybiBlbXB0eSBzdHJpbmcgZm9yIGVtcHR5IGlucHV0JywgZnVuY3Rpb24gKCkge1xuICAgICAgY29uc3QgYnl0ZXMgPSBuZXcgVWludDhBcnJheShbXSk7XG4gICAgICBjb25zdCBoZXggPSBieXRlc1RvSGV4KGJ5dGVzKTtcbiAgICAgIHNob3VsZC5lcXVhbChoZXgsICcnKTtcbiAgICB9KTtcbiAgfSk7XG5cbiAgZGVzY3JpYmUoJ2NyZWF0ZUNTTFNpZ1N0cnVjdHVyZScsIGZ1bmN0aW9uICgpIHtcbiAgICBpdCgnc2hvdWxkIGNyZWF0ZSB2YWxpZCBzaWduYXR1cmUgc3RydWN0dXJlJywgYXN5bmMgZnVuY3Rpb24gKCkge1xuICAgICAgY29uc3QgbWVzc2FnZSA9ICdIZWxsbywgQ2FyZGFubyEnO1xuICAgICAgY29uc3QgcmVzdWx0ID0gY3JlYXRlQ1NMU2lnU3RydWN0dXJlKGFkZHJlc3NDYm9yQnl0ZXMsIG1lc3NhZ2UpO1xuXG4gICAgICBzaG91bGQuZXhpc3QocmVzdWx0LnNpZ1N0cnVjdHVyZUNib3JCeXRlcyk7XG4gICAgICBzaG91bGQuZXhpc3QocmVzdWx0LnByb3RlY3RlZEhlYWRlckNib3JCeXRlcyk7XG4gICAgICBzaG91bGQuZXhpc3QocmVzdWx0LnBheWxvYWRCeXRlcyk7XG5cbiAgICAgIC8vIFZlcmlmeSBwYXlsb2FkIGJ5dGVzIG1hdGNoIG9yaWdpbmFsIG1lc3NhZ2VcbiAgICAgIHNob3VsZC5lcXVhbChyZXN1bHQucGF5bG9hZEJ5dGVzLnRvU3RyaW5nKCd1dGYtOCcpLCBtZXNzYWdlKTtcblxuICAgICAgLy8gVmVyaWZ5IHN0cnVjdHVyZSBvZiBwcm90ZWN0ZWQgaGVhZGVyXG4gICAgICBjb25zdCBkZWNvZGVkSGVhZGVyID0gYXdhaXQgRGVjb2Rlci5kZWNvZGVGaXJzdChyZXN1bHQucHJvdGVjdGVkSGVhZGVyQ2JvckJ5dGVzKTtcbiAgICAgIHNob3VsZC5leGlzdChkZWNvZGVkSGVhZGVyKTtcbiAgICAgIHNob3VsZC5lcXVhbChkZWNvZGVkSGVhZGVyLmdldCgxKSwgLTgpOyAvLyBBbGdvcml0aG0gSUQ6IEVkRFNBXG4gICAgICBzaG91bGQuZXhpc3QoZGVjb2RlZEhlYWRlci5nZXQoJ2FkZHJlc3MnKSk7IC8vIEFkZHJlc3Mgc2hvdWxkIGJlIHByZXNlbnRcblxuICAgICAgLy8gVmVyaWZ5IHN0cnVjdHVyZSBvZiBzaWdfc3RydWN0dXJlXG4gICAgICBjb25zdCBkZWNvZGVkU2lnU3RydWN0dXJlID0gYXdhaXQgRGVjb2Rlci5kZWNvZGVGaXJzdChyZXN1bHQuc2lnU3RydWN0dXJlQ2JvckJ5dGVzKTtcbiAgICAgIHNob3VsZC5leGlzdChkZWNvZGVkU2lnU3RydWN0dXJlKTtcbiAgICAgIHNob3VsZC5lcXVhbChkZWNvZGVkU2lnU3RydWN0dXJlWzBdLCAnU2lnbmF0dXJlMScpO1xuICAgICAgc2hvdWxkLmRlZXBFcXVhbChkZWNvZGVkU2lnU3RydWN0dXJlWzFdLCBCdWZmZXIuZnJvbShyZXN1bHQucHJvdGVjdGVkSGVhZGVyQ2JvckJ5dGVzKSk7XG4gICAgICBzaG91bGQuZGVlcEVxdWFsKGRlY29kZWRTaWdTdHJ1Y3R1cmVbMl0sIEJ1ZmZlci5mcm9tKFtdKSk7XG4gICAgICBzaG91bGQuZGVlcEVxdWFsKGRlY29kZWRTaWdTdHJ1Y3R1cmVbM10sIEJ1ZmZlci5mcm9tKG1lc3NhZ2UsICd1dGYtOCcpKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgaGFuZGxlIGVtcHR5IG1lc3NhZ2UnLCBmdW5jdGlvbiAoKSB7XG4gICAgICBjb25zdCBtZXNzYWdlID0gJyc7XG4gICAgICBjb25zdCByZXN1bHQgPSBjcmVhdGVDU0xTaWdTdHJ1Y3R1cmUoYWRkcmVzc0Nib3JCeXRlcywgbWVzc2FnZSk7XG5cbiAgICAgIHNob3VsZC5leGlzdChyZXN1bHQpO1xuICAgICAgc2hvdWxkLmVxdWFsKHJlc3VsdC5wYXlsb2FkQnl0ZXMudG9TdHJpbmcoJ3V0Zi04JyksICcnKTtcbiAgICAgIHNob3VsZC5lcXVhbChyZXN1bHQucGF5bG9hZEJ5dGVzLmxlbmd0aCwgMCk7XG4gICAgfSk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCdjb25zdHJ1Y3RDU0xDb3NlT2JqZWN0cycsIGZ1bmN0aW9uICgpIHtcbiAgICBpdCgnc2hvdWxkIGNvbnN0cnVjdCB2YWxpZCBDT1NFIG9iamVjdHMnLCBmdW5jdGlvbiAoKSB7XG4gICAgICBjb25zdCBtZXNzYWdlID0gJ0hlbGxvLCBDYXJkYW5vISc7XG4gICAgICBjb25zdCB7IHByb3RlY3RlZEhlYWRlckNib3JCeXRlcywgcGF5bG9hZEJ5dGVzIH0gPSBjcmVhdGVDU0xTaWdTdHJ1Y3R1cmUoYWRkcmVzc0Nib3JCeXRlcywgbWVzc2FnZSk7XG5cbiAgICAgIGNvbnN0IHNpZ25hdHVyZUJ5dGVzID0gY2lwOFRlc3RSZXNvdXJjZXMuY3JlYXRlVGVzdFNpZ25hdHVyZShtZXNzYWdlKTtcbiAgICAgIGNvbnN0IHB1YktleSA9IGNpcDhUZXN0UmVzb3VyY2VzLmNyZWF0ZVRlc3RQdWJsaWNLZXkoKTtcblxuICAgICAgY29uc3QgcmVzdWx0ID0gY29uc3RydWN0Q1NMQ29zZU9iamVjdHMocHJvdGVjdGVkSGVhZGVyQ2JvckJ5dGVzLCBwYXlsb2FkQnl0ZXMsIHNpZ25hdHVyZUJ5dGVzLCBwdWJLZXkpO1xuXG4gICAgICBzaG91bGQuZXhpc3QocmVzdWx0Lm1hbnVhbENvc2VTaWduMUhleCk7XG4gICAgICBzaG91bGQuZXhpc3QocmVzdWx0Lm1hbnVhbENvc2VLZXlIZXgpO1xuXG4gICAgICBzaG91bGQub2socmVzdWx0Lm1hbnVhbENvc2VTaWduMUhleC5sZW5ndGggPiAwKTtcbiAgICAgIHNob3VsZC5vayhyZXN1bHQubWFudWFsQ29zZUtleUhleC5sZW5ndGggPiAwKTtcbiAgICB9KTtcbiAgfSk7XG5cbiAgZGVzY3JpYmUoJ2Nvc2VPYmplY3RzT3V0cHV0VG9CdWZmZXIgYW5kIGJ1ZmZlclRvQ29zZU9iamVjdHNPdXRwdXQnLCBmdW5jdGlvbiAoKSB7XG4gICAgaXQoJ3Nob3VsZCBjb252ZXJ0IENTTENvc2VPYmplY3RzT3V0cHV0IHRvIGJ1ZmZlciBhbmQgYmFjaycsIGFzeW5jIGZ1bmN0aW9uICgpIHtcbiAgICAgIGNvbnN0IG1lc3NhZ2UgPSAnSGVsbG8sIENhcmRhbm8hJztcbiAgICAgIGNvbnN0IHsgcHJvdGVjdGVkSGVhZGVyQ2JvckJ5dGVzLCBwYXlsb2FkQnl0ZXMgfSA9IGNyZWF0ZUNTTFNpZ1N0cnVjdHVyZShhZGRyZXNzQ2JvckJ5dGVzLCBtZXNzYWdlKTtcblxuICAgICAgY29uc3Qgc2lnbmF0dXJlQnl0ZXMgPSBjaXA4VGVzdFJlc291cmNlcy5jcmVhdGVUZXN0U2lnbmF0dXJlKG1lc3NhZ2UpO1xuICAgICAgY29uc3QgcHViS2V5ID0gY2lwOFRlc3RSZXNvdXJjZXMuY3JlYXRlVGVzdFB1YmxpY0tleSgpO1xuXG4gICAgICBjb25zdCBvcmlnaW5hbE9iamVjdHMgPSBjb25zdHJ1Y3RDU0xDb3NlT2JqZWN0cyhwcm90ZWN0ZWRIZWFkZXJDYm9yQnl0ZXMsIHBheWxvYWRCeXRlcywgc2lnbmF0dXJlQnl0ZXMsIHB1YktleSk7XG5cbiAgICAgIGNvbnN0IGJ1ZmZlciA9IGNvc2VPYmplY3RzT3V0cHV0VG9CdWZmZXIob3JpZ2luYWxPYmplY3RzKTtcbiAgICAgIHNob3VsZC5vayhidWZmZXIubGVuZ3RoID4gMCk7XG5cbiAgICAgIGNvbnN0IHJlY29uc3RydWN0ZWRPYmplY3RzID0gYXdhaXQgYnVmZmVyVG9Db3NlT2JqZWN0c091dHB1dChidWZmZXIpO1xuICAgICAgc2hvdWxkLmV4aXN0KHJlY29uc3RydWN0ZWRPYmplY3RzKTtcbiAgICAgIHNob3VsZC5lcXVhbChyZWNvbnN0cnVjdGVkT2JqZWN0cy5tYW51YWxDb3NlU2lnbjFIZXgsIG9yaWdpbmFsT2JqZWN0cy5tYW51YWxDb3NlU2lnbjFIZXgpO1xuICAgICAgc2hvdWxkLmVxdWFsKHJlY29uc3RydWN0ZWRPYmplY3RzLm1hbnVhbENvc2VLZXlIZXgsIG9yaWdpbmFsT2JqZWN0cy5tYW51YWxDb3NlS2V5SGV4KTtcbiAgICB9KTtcbiAgfSk7XG59KTtcbiJdfQ==
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"messageBuilderFactory.d.ts","sourceRoot":"","sources":["../../../../test/unit/messages/messageBuilderFactory.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,35 @@
|
|
|
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 sinon_1 = __importDefault(require("sinon"));
|
|
8
|
+
const sdk_core_1 = require("@bitgo-beta/sdk-core");
|
|
9
|
+
const src_1 = require("../../../src");
|
|
10
|
+
describe('MessageBuilderFactory', function () {
|
|
11
|
+
let sandbox;
|
|
12
|
+
let factory;
|
|
13
|
+
const coinConfig = { name: 'tada' };
|
|
14
|
+
beforeEach(function () {
|
|
15
|
+
sandbox = sinon_1.default.createSandbox();
|
|
16
|
+
factory = new src_1.MessageBuilderFactory(coinConfig);
|
|
17
|
+
});
|
|
18
|
+
afterEach(function () {
|
|
19
|
+
sandbox.restore();
|
|
20
|
+
});
|
|
21
|
+
describe('getMessageBuilder', function () {
|
|
22
|
+
it('should return CIP8 message builder for CIP8 type', function () {
|
|
23
|
+
const builder = factory.getMessageBuilder(sdk_core_1.MessageStandardType.CIP8);
|
|
24
|
+
should_1.default.exist(builder);
|
|
25
|
+
builder.should.be.instanceof(src_1.Cip8MessageBuilder);
|
|
26
|
+
});
|
|
27
|
+
it('should throw error for unsupported message type', function () {
|
|
28
|
+
const unsupportedTypes = ['UNSUPPORTED'];
|
|
29
|
+
unsupportedTypes.forEach((type) => {
|
|
30
|
+
should_1.default.throws(() => factory.getMessageBuilder(type), /Invalid message standard UNSUPPORTED/);
|
|
31
|
+
});
|
|
32
|
+
});
|
|
33
|
+
});
|
|
34
|
+
});
|
|
35
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZUJ1aWxkZXJGYWN0b3J5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vdGVzdC91bml0L21lc3NhZ2VzL21lc3NhZ2VCdWlsZGVyRmFjdG9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLG9EQUE0QjtBQUM1QixrREFBMEI7QUFFMUIsbURBQTJEO0FBQzNELHNDQUF5RTtBQUV6RSxRQUFRLENBQUMsdUJBQXVCLEVBQUU7SUFDaEMsSUFBSSxPQUEyQixDQUFDO0lBQ2hDLElBQUksT0FBOEIsQ0FBQztJQUNuQyxNQUFNLFVBQVUsR0FBRyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQWMsQ0FBQztJQUVoRCxVQUFVLENBQUM7UUFDVCxPQUFPLEdBQUcsZUFBSyxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQ2hDLE9BQU8sR0FBRyxJQUFJLDJCQUFxQixDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ2xELENBQUMsQ0FBQyxDQUFDO0lBRUgsU0FBUyxDQUFDO1FBQ1IsT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ3BCLENBQUMsQ0FBQyxDQUFDO0lBRUgsUUFBUSxDQUFDLG1CQUFtQixFQUFFO1FBQzVCLEVBQUUsQ0FBQyxrREFBa0QsRUFBRTtZQUNyRCxNQUFNLE9BQU8sR0FBRyxPQUFPLENBQUMsaUJBQWlCLENBQUMsOEJBQW1CLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDcEUsZ0JBQU0sQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDdEIsT0FBTyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLHdCQUFrQixDQUFDLENBQUM7UUFDbkQsQ0FBQyxDQUFDLENBQUM7UUFFSCxFQUFFLENBQUMsaURBQWlELEVBQUU7WUFDcEQsTUFBTSxnQkFBZ0IsR0FBRyxDQUFDLGFBQW9DLENBQUMsQ0FBQztZQUVoRSxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtnQkFDaEMsZ0JBQU0sQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFLENBQUMsT0FBTyxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxFQUFFLHNDQUFzQyxDQUFDLENBQUM7WUFDL0YsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgc2hvdWxkIGZyb20gJ3Nob3VsZCc7XG5pbXBvcnQgc2lub24gZnJvbSAnc2lub24nO1xuaW1wb3J0IHsgQmFzZUNvaW4gfSBmcm9tICdAYml0Z28tYmV0YS9zdGF0aWNzJztcbmltcG9ydCB7IE1lc3NhZ2VTdGFuZGFyZFR5cGUgfSBmcm9tICdAYml0Z28tYmV0YS9zZGstY29yZSc7XG5pbXBvcnQgeyBDaXA4TWVzc2FnZUJ1aWxkZXIsIE1lc3NhZ2VCdWlsZGVyRmFjdG9yeSB9IGZyb20gJy4uLy4uLy4uL3NyYyc7XG5cbmRlc2NyaWJlKCdNZXNzYWdlQnVpbGRlckZhY3RvcnknLCBmdW5jdGlvbiAoKSB7XG4gIGxldCBzYW5kYm94OiBzaW5vbi5TaW5vblNhbmRib3g7XG4gIGxldCBmYWN0b3J5OiBNZXNzYWdlQnVpbGRlckZhY3Rvcnk7XG4gIGNvbnN0IGNvaW5Db25maWcgPSB7IG5hbWU6ICd0YWRhJyB9IGFzIEJhc2VDb2luO1xuXG4gIGJlZm9yZUVhY2goZnVuY3Rpb24gKCkge1xuICAgIHNhbmRib3ggPSBzaW5vbi5jcmVhdGVTYW5kYm94KCk7XG4gICAgZmFjdG9yeSA9IG5ldyBNZXNzYWdlQnVpbGRlckZhY3RvcnkoY29pbkNvbmZpZyk7XG4gIH0pO1xuXG4gIGFmdGVyRWFjaChmdW5jdGlvbiAoKSB7XG4gICAgc2FuZGJveC5yZXN0b3JlKCk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCdnZXRNZXNzYWdlQnVpbGRlcicsIGZ1bmN0aW9uICgpIHtcbiAgICBpdCgnc2hvdWxkIHJldHVybiBDSVA4IG1lc3NhZ2UgYnVpbGRlciBmb3IgQ0lQOCB0eXBlJywgZnVuY3Rpb24gKCkge1xuICAgICAgY29uc3QgYnVpbGRlciA9IGZhY3RvcnkuZ2V0TWVzc2FnZUJ1aWxkZXIoTWVzc2FnZVN0YW5kYXJkVHlwZS5DSVA4KTtcbiAgICAgIHNob3VsZC5leGlzdChidWlsZGVyKTtcbiAgICAgIGJ1aWxkZXIuc2hvdWxkLmJlLmluc3RhbmNlb2YoQ2lwOE1lc3NhZ2VCdWlsZGVyKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgdGhyb3cgZXJyb3IgZm9yIHVuc3VwcG9ydGVkIG1lc3NhZ2UgdHlwZScsIGZ1bmN0aW9uICgpIHtcbiAgICAgIGNvbnN0IHVuc3VwcG9ydGVkVHlwZXMgPSBbJ1VOU1VQUE9SVEVEJyBhcyBNZXNzYWdlU3RhbmRhcmRUeXBlXTtcblxuICAgICAgdW5zdXBwb3J0ZWRUeXBlcy5mb3JFYWNoKCh0eXBlKSA9PiB7XG4gICAgICAgIHNob3VsZC50aHJvd3MoKCkgPT4gZmFjdG9yeS5nZXRNZXNzYWdlQnVpbGRlcih0eXBlKSwgL0ludmFsaWQgbWVzc2FnZSBzdGFuZGFyZCBVTlNVUFBPUlRFRC8pO1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH0pO1xufSk7XG4iXX0=
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stakingClaimRewardsBuilder.d.ts","sourceRoot":"","sources":["../../../test/unit/stakingClaimRewardsBuilder.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,70 @@
|
|
|
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
|
+
describe('ADA Staking Withdraw Transaction Builder', async () => {
|
|
45
|
+
const factory = new src_1.TransactionBuilderFactory(statics_1.coins.get('tada'));
|
|
46
|
+
it('should build an unsigned claim rewards tx', async () => {
|
|
47
|
+
const keyPairStake = new src_1.KeyPair({ prv: testData.privateKeys.prvKey2 });
|
|
48
|
+
const txBuilder = factory.getStakingClaimRewardsBuilder();
|
|
49
|
+
txBuilder.input({
|
|
50
|
+
transaction_id: '3677e75c7ba699bfdc6cd57d42f246f86f63aefd76025006ac78313fad2bba21',
|
|
51
|
+
transaction_index: 1,
|
|
52
|
+
});
|
|
53
|
+
const totalInput = '4000000';
|
|
54
|
+
txBuilder.changeAddress('addr1q8rm9z7w4yx5gz652kn2q238efvms6t0qelur9nlglun8eu4tr5knj4fu4adelzqhxg8adu5xca4jra0gtllfrpcawyq9psz23', totalInput);
|
|
55
|
+
const reward = 1239239;
|
|
56
|
+
txBuilder.addWithdrawal(keyPairStake.getKeys().pub, reward.toString());
|
|
57
|
+
txBuilder.ttl(800000000);
|
|
58
|
+
const tx = (await txBuilder.build());
|
|
59
|
+
should_1.default.equal(tx.type, sdk_core_1.TransactionType.StakingClaim);
|
|
60
|
+
const txData = tx.toJson();
|
|
61
|
+
const fee = tx.getFee;
|
|
62
|
+
txData.certs.length.should.equal(0);
|
|
63
|
+
txData.withdrawals.length.should.equal(1);
|
|
64
|
+
txData.withdrawals[0].value.should.equal(reward.toString());
|
|
65
|
+
txData.outputs.length.should.equal(1);
|
|
66
|
+
txData.outputs[0].amount.should.equal((Number(totalInput) + reward - Number(fee)).toString());
|
|
67
|
+
fee.should.equal('167217');
|
|
68
|
+
});
|
|
69
|
+
});
|
|
70
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3Rha2luZ0NsYWltUmV3YXJkc0J1aWxkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi90ZXN0L3VuaXQvc3Rha2luZ0NsYWltUmV3YXJkc0J1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxvREFBNEI7QUFDNUIsbURBQXVEO0FBQ3ZELHVEQUF5QztBQUN6QyxtQ0FBK0Q7QUFDL0QsaURBQTRDO0FBRzVDLFFBQVEsQ0FBQywwQ0FBMEMsRUFBRSxLQUFLLElBQUksRUFBRTtJQUM5RCxNQUFNLE9BQU8sR0FBRyxJQUFJLCtCQUF5QixDQUFDLGVBQUssQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztJQUNqRSxFQUFFLENBQUMsMkNBQTJDLEVBQUUsS0FBSyxJQUFJLEVBQUU7UUFDekQsTUFBTSxZQUFZLEdBQUcsSUFBSSxhQUFPLENBQUMsRUFBRSxHQUFHLEVBQUUsUUFBUSxDQUFDLFdBQVcsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO1FBQ3hFLE1BQU0sU0FBUyxHQUFHLE9BQU8sQ0FBQyw2QkFBNkIsRUFBRSxDQUFDO1FBQzFELFNBQVMsQ0FBQyxLQUFLLENBQUM7WUFDZCxjQUFjLEVBQUUsa0VBQWtFO1lBQ2xGLGlCQUFpQixFQUFFLENBQUM7U0FDckIsQ0FBQyxDQUFDO1FBQ0gsTUFBTSxVQUFVLEdBQUcsU0FBUyxDQUFDO1FBQzdCLFNBQVMsQ0FBQyxhQUFhLENBQ3JCLHlHQUF5RyxFQUN6RyxVQUFVLENBQ1gsQ0FBQztRQUNGLE1BQU0sTUFBTSxHQUFHLE9BQU8sQ0FBQztRQUN2QixTQUFTLENBQUMsYUFBYSxDQUFDLFlBQVksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxHQUFHLEVBQUUsTUFBTSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7UUFDdkUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUN6QixNQUFNLEVBQUUsR0FBRyxDQUFDLE1BQU0sU0FBUyxDQUFDLEtBQUssRUFBRSxDQUFnQixDQUFDO1FBQ3BELGdCQUFNLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxJQUFJLEVBQUUsMEJBQWUsQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUNwRCxNQUFNLE1BQU0sR0FBRyxFQUFFLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDM0IsTUFBTSxHQUFHLEdBQUcsRUFBRSxDQUFDLE1BQU0sQ0FBQztRQUN0QixNQUFNLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3BDLE1BQU0sQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDMUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztRQUM1RCxNQUFNLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3RDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLEdBQUcsTUFBTSxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7UUFDOUYsR0FBRyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDN0IsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBzaG91bGQgZnJvbSAnc2hvdWxkJztcbmltcG9ydCB7IFRyYW5zYWN0aW9uVHlwZSB9IGZyb20gJ0BiaXRnby1iZXRhL3Nkay1jb3JlJztcbmltcG9ydCAqIGFzIHRlc3REYXRhIGZyb20gJy4uL3Jlc291cmNlcyc7XG5pbXBvcnQgeyBLZXlQYWlyLCBUcmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5IH0gZnJvbSAnLi4vLi4vc3JjJztcbmltcG9ydCB7IGNvaW5zIH0gZnJvbSAnQGJpdGdvLWJldGEvc3RhdGljcyc7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbiB9IGZyb20gJy4uLy4uL3NyYy9saWIvdHJhbnNhY3Rpb24nO1xuXG5kZXNjcmliZSgnQURBIFN0YWtpbmcgV2l0aGRyYXcgVHJhbnNhY3Rpb24gQnVpbGRlcicsIGFzeW5jICgpID0+IHtcbiAgY29uc3QgZmFjdG9yeSA9IG5ldyBUcmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5KGNvaW5zLmdldCgndGFkYScpKTtcbiAgaXQoJ3Nob3VsZCBidWlsZCBhbiB1bnNpZ25lZCBjbGFpbSByZXdhcmRzIHR4JywgYXN5bmMgKCkgPT4ge1xuICAgIGNvbnN0IGtleVBhaXJTdGFrZSA9IG5ldyBLZXlQYWlyKHsgcHJ2OiB0ZXN0RGF0YS5wcml2YXRlS2V5cy5wcnZLZXkyIH0pO1xuICAgIGNvbnN0IHR4QnVpbGRlciA9IGZhY3RvcnkuZ2V0U3Rha2luZ0NsYWltUmV3YXJkc0J1aWxkZXIoKTtcbiAgICB0eEJ1aWxkZXIuaW5wdXQoe1xuICAgICAgdHJhbnNhY3Rpb25faWQ6ICczNjc3ZTc1YzdiYTY5OWJmZGM2Y2Q1N2Q0MmYyNDZmODZmNjNhZWZkNzYwMjUwMDZhYzc4MzEzZmFkMmJiYTIxJyxcbiAgICAgIHRyYW5zYWN0aW9uX2luZGV4OiAxLFxuICAgIH0pO1xuICAgIGNvbnN0IHRvdGFsSW5wdXQgPSAnNDAwMDAwMCc7XG4gICAgdHhCdWlsZGVyLmNoYW5nZUFkZHJlc3MoXG4gICAgICAnYWRkcjFxOHJtOXo3dzR5eDVnejY1MmtuMnEyMzhlZnZtczZ0MHFlbHVyOW5sZ2x1bjhldTR0cjVrbmo0ZnU0YWRlbHpxaHhnOGFkdTV4Y2E0anJhMGd0bGxmcnBjYXd5cTlwc3oyMycsXG4gICAgICB0b3RhbElucHV0XG4gICAgKTtcbiAgICBjb25zdCByZXdhcmQgPSAxMjM5MjM5O1xuICAgIHR4QnVpbGRlci5hZGRXaXRoZHJhd2FsKGtleVBhaXJTdGFrZS5nZXRLZXlzKCkucHViLCByZXdhcmQudG9TdHJpbmcoKSk7XG4gICAgdHhCdWlsZGVyLnR0bCg4MDAwMDAwMDApO1xuICAgIGNvbnN0IHR4ID0gKGF3YWl0IHR4QnVpbGRlci5idWlsZCgpKSBhcyBUcmFuc2FjdGlvbjtcbiAgICBzaG91bGQuZXF1YWwodHgudHlwZSwgVHJhbnNhY3Rpb25UeXBlLlN0YWtpbmdDbGFpbSk7XG4gICAgY29uc3QgdHhEYXRhID0gdHgudG9Kc29uKCk7XG4gICAgY29uc3QgZmVlID0gdHguZ2V0RmVlO1xuICAgIHR4RGF0YS5jZXJ0cy5sZW5ndGguc2hvdWxkLmVxdWFsKDApO1xuICAgIHR4RGF0YS53aXRoZHJhd2Fscy5sZW5ndGguc2hvdWxkLmVxdWFsKDEpO1xuICAgIHR4RGF0YS53aXRoZHJhd2Fsc1swXS52YWx1ZS5zaG91bGQuZXF1YWwocmV3YXJkLnRvU3RyaW5nKCkpO1xuICAgIHR4RGF0YS5vdXRwdXRzLmxlbmd0aC5zaG91bGQuZXF1YWwoMSk7XG4gICAgdHhEYXRhLm91dHB1dHNbMF0uYW1vdW50LnNob3VsZC5lcXVhbCgoTnVtYmVyKHRvdGFsSW5wdXQpICsgcmV3YXJkIC0gTnVtYmVyKGZlZSkpLnRvU3RyaW5nKCkpO1xuICAgIGZlZS5zaG91bGQuZXF1YWwoJzE2NzIxNycpO1xuICB9KTtcbn0pO1xuIl19
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stakingPledgeBuilder.d.ts","sourceRoot":"","sources":["../../../test/unit/stakingPledgeBuilder.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,141 @@
|
|
|
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 src_1 = require("../../src");
|
|
7
|
+
const statics_1 = require("@bitgo-beta/statics");
|
|
8
|
+
const resources_1 = require("../resources");
|
|
9
|
+
const should_1 = __importDefault(require("should"));
|
|
10
|
+
const sdk_core_1 = require("@bitgo-beta/sdk-core");
|
|
11
|
+
describe('ADA Staking Pledge Transaction Builder', async () => {
|
|
12
|
+
const factory = new src_1.TransactionBuilderFactory(statics_1.coins.get('tada'));
|
|
13
|
+
it('should build a pledge transaction that registers a new staking pool', async () => {
|
|
14
|
+
const prebuiltTx = new src_1.Transaction(statics_1.coins.get('tada'));
|
|
15
|
+
prebuiltTx.fromRawTransaction(resources_1.rawTx.unsignedNewPledgeTx);
|
|
16
|
+
const txBuilder = factory.getStakingPledgeBuilder();
|
|
17
|
+
txBuilder.initBuilder(prebuiltTx);
|
|
18
|
+
const tx = (await txBuilder.build());
|
|
19
|
+
should_1.default.equal(tx.type, sdk_core_1.TransactionType.StakingPledge);
|
|
20
|
+
const txData = tx.toJson();
|
|
21
|
+
txData.inputs.length.should.equal(2);
|
|
22
|
+
txData.outputs.length.should.equal(1);
|
|
23
|
+
txData.certs.length.should.equal(2);
|
|
24
|
+
txData.certs[0].type.should.equal(3);
|
|
25
|
+
txData.certs[1].type.should.equal(1);
|
|
26
|
+
should_1.default.exist(txData.certs[1].poolKeyHash);
|
|
27
|
+
txData.certs[0].poolKeyHash.should.equal('10324dc34187735de46f6260d94620cdcc819f7ed1f93e3fc58d06a0');
|
|
28
|
+
txData.withdrawals.length.should.equal(0);
|
|
29
|
+
txData.witnesses.length.should.equal(0);
|
|
30
|
+
should_1.default.exist(txData.pledgeDetails);
|
|
31
|
+
should_1.default.not.exist(txData.pledgeDetails.stakeKeyRegistration);
|
|
32
|
+
should_1.default.exist(txData.pledgeDetails.stakeKeyDelegation);
|
|
33
|
+
should_1.default.exist(txData.pledgeDetails.stakePoolRegistration);
|
|
34
|
+
should_1.default.equal(txData.pledgeDetails.stakeKeyDelegation.poolKeyHash, txData.pledgeDetails.stakePoolRegistration.poolKeyHash);
|
|
35
|
+
txData.pledgeDetails.stakePoolRegistration.pledge.should.equal('100000000');
|
|
36
|
+
txData.pledgeDetails.stakePoolRegistration.cost.should.equal('500000000');
|
|
37
|
+
txData.pledgeDetails.stakePoolRegistration.marginNumerator.should.equal('3');
|
|
38
|
+
txData.pledgeDetails.stakePoolRegistration.marginDenominator.should.equal('20');
|
|
39
|
+
txData.pledgeDetails.stakePoolRegistration.rewardAccount.should.equal(txData.pledgeDetails.stakePoolRegistration.poolOwners[0]);
|
|
40
|
+
const fee = tx.getFee;
|
|
41
|
+
fee.should.equal('1000000');
|
|
42
|
+
tx.toBroadcastFormat().should.equal(resources_1.rawTx.unsignedNewPledgeTx);
|
|
43
|
+
should_1.default.equal(tx.id, resources_1.rawTx.unsignedNewPledgeTxHash);
|
|
44
|
+
const explainedTx = tx.explainTransaction();
|
|
45
|
+
should_1.default.equal(explainedTx.type, 'StakingPledge');
|
|
46
|
+
});
|
|
47
|
+
it('should build a pledge transaction that updates existing staking pool', async () => {
|
|
48
|
+
const prebuiltTx = new src_1.Transaction(statics_1.coins.get('tada'));
|
|
49
|
+
prebuiltTx.fromRawTransaction(resources_1.rawTx.unsignedUpdatePledgeTx);
|
|
50
|
+
const txBuilder = factory.getStakingPledgeBuilder();
|
|
51
|
+
txBuilder.initBuilder(prebuiltTx);
|
|
52
|
+
const tx = (await txBuilder.build());
|
|
53
|
+
should_1.default.equal(tx.type, sdk_core_1.TransactionType.StakingPledge);
|
|
54
|
+
const txData = tx.toJson();
|
|
55
|
+
txData.inputs.length.should.equal(2);
|
|
56
|
+
txData.outputs.length.should.equal(1);
|
|
57
|
+
txData.certs.length.should.equal(1);
|
|
58
|
+
txData.certs[0].type.should.equal(3);
|
|
59
|
+
should_1.default.exist(txData.certs[0].poolKeyHash);
|
|
60
|
+
txData.certs[0].poolKeyHash.should.equal('10324dc34187735de46f6260d94620cdcc819f7ed1f93e3fc58d06a0');
|
|
61
|
+
txData.withdrawals.length.should.equal(0);
|
|
62
|
+
txData.witnesses.length.should.equal(0);
|
|
63
|
+
should_1.default.exist(txData.pledgeDetails);
|
|
64
|
+
should_1.default.not.exist(txData.pledgeDetails.stakeKeyRegistration);
|
|
65
|
+
should_1.default.not.exist(txData.pledgeDetails.stakeKeyDelegation);
|
|
66
|
+
should_1.default.exist(txData.pledgeDetails.stakePoolRegistration);
|
|
67
|
+
txData.pledgeDetails.stakePoolRegistration.pledge.should.equal('100000000');
|
|
68
|
+
txData.pledgeDetails.stakePoolRegistration.cost.should.equal('500000000');
|
|
69
|
+
txData.pledgeDetails.stakePoolRegistration.marginNumerator.should.equal('3');
|
|
70
|
+
txData.pledgeDetails.stakePoolRegistration.marginDenominator.should.equal('20');
|
|
71
|
+
txData.pledgeDetails.stakePoolRegistration.rewardAccount.should.equal(txData.pledgeDetails.stakePoolRegistration.poolOwners[0]);
|
|
72
|
+
const fee = tx.getFee;
|
|
73
|
+
fee.should.equal('1000000');
|
|
74
|
+
tx.toBroadcastFormat().should.equal(resources_1.rawTx.unsignedUpdatePledgeTx);
|
|
75
|
+
should_1.default.equal(tx.id, resources_1.rawTx.unsignedUpdatePledgeTxHash);
|
|
76
|
+
const explainedTx = tx.explainTransaction();
|
|
77
|
+
should_1.default.equal(explainedTx.type, 'StakingPledge');
|
|
78
|
+
});
|
|
79
|
+
it('should add node key witness to unsigned pledge transaction', async () => {
|
|
80
|
+
const prebuiltTx = new src_1.Transaction(statics_1.coins.get('tada'));
|
|
81
|
+
prebuiltTx.fromRawTransaction(resources_1.rawTx.unsignedUpdatePledgeTx);
|
|
82
|
+
const txBuilder = factory.getStakingPledgeBuilder();
|
|
83
|
+
txBuilder.initBuilder(prebuiltTx);
|
|
84
|
+
txBuilder.addNodeKeyWitness(resources_1.rawTx.pledgeNodeKeyPubkey, resources_1.rawTx.pledgeNodeWitnessSignature);
|
|
85
|
+
const tx = (await txBuilder.build());
|
|
86
|
+
tx.signature.length.should.equal(1);
|
|
87
|
+
const txData = tx.toJson();
|
|
88
|
+
txData.witnesses.length.should.equal(1);
|
|
89
|
+
should_1.default.exist(txData.pledgeDetails);
|
|
90
|
+
should_1.default.not.exist(txData.pledgeDetails.stakeKeyRegistration);
|
|
91
|
+
should_1.default.not.exist(txData.pledgeDetails.stakeKeyDelegation);
|
|
92
|
+
should_1.default.exist(txData.pledgeDetails.stakePoolRegistration);
|
|
93
|
+
txData.pledgeDetails.stakePoolRegistration.pledge.should.equal('100000000');
|
|
94
|
+
txData.pledgeDetails.stakePoolRegistration.cost.should.equal('500000000');
|
|
95
|
+
txData.pledgeDetails.stakePoolRegistration.marginNumerator.should.equal('3');
|
|
96
|
+
txData.pledgeDetails.stakePoolRegistration.marginDenominator.should.equal('20');
|
|
97
|
+
txData.pledgeDetails.stakePoolRegistration.rewardAccount.should.equal(txData.pledgeDetails.stakePoolRegistration.poolOwners[0]);
|
|
98
|
+
const rebuiltTx = new src_1.Transaction(statics_1.coins.get('tada'));
|
|
99
|
+
rebuiltTx.fromRawTransaction(tx.toBroadcastFormat());
|
|
100
|
+
rebuiltTx.signature.length.should.equal(1);
|
|
101
|
+
rebuiltTx.toBroadcastFormat().should.equal(tx.toBroadcastFormat());
|
|
102
|
+
rebuiltTx.toBroadcastFormat().should.not.equal(resources_1.rawTx.unsignedUpdatePledgeTx);
|
|
103
|
+
});
|
|
104
|
+
it('should init from partially signed txn hex and preserve the signature', async () => {
|
|
105
|
+
const txnBuilderFactory = new src_1.TransactionBuilderFactory(statics_1.coins.get('tada'));
|
|
106
|
+
const txnBuilder = txnBuilderFactory.from(resources_1.rawTx.partiallySignedPledgeTx);
|
|
107
|
+
let tx = (await txnBuilder.build());
|
|
108
|
+
tx.type.should.equal(sdk_core_1.TransactionType.StakingPledge);
|
|
109
|
+
tx.signature.length.should.equal(1);
|
|
110
|
+
let txData = tx.toJson();
|
|
111
|
+
txData.witnesses.length.should.equal(1);
|
|
112
|
+
txData.witnesses[0].publicKey.should.equal(resources_1.rawTx.pledgeNodeKeyPubkey);
|
|
113
|
+
txData.witnesses[0].signature.should.equal(resources_1.rawTx.pledgeNodeWitnessSignature);
|
|
114
|
+
txnBuilder.addSignature({ pub: resources_1.rawTx.pledgeWalletKeyPubkey }, Buffer.from(resources_1.rawTx.pledgeWalletWitnessSignature, 'hex'));
|
|
115
|
+
tx = (await txnBuilder.build());
|
|
116
|
+
tx.type.should.equal(sdk_core_1.TransactionType.StakingPledge);
|
|
117
|
+
txData = tx.toJson();
|
|
118
|
+
txData.witnesses.length.should.equal(2);
|
|
119
|
+
txData.witnesses[0].publicKey.should.equal(resources_1.rawTx.pledgeNodeKeyPubkey);
|
|
120
|
+
txData.witnesses[0].signature.should.equal(resources_1.rawTx.pledgeNodeWitnessSignature);
|
|
121
|
+
txData.witnesses[1].publicKey.should.equal(resources_1.rawTx.pledgeWalletKeyPubkey);
|
|
122
|
+
txData.witnesses[1].signature.should.equal(resources_1.rawTx.pledgeWalletWitnessSignature);
|
|
123
|
+
});
|
|
124
|
+
it('should init from partially signed txn object and preserve the signature', async () => {
|
|
125
|
+
const prebuiltTx = new src_1.Transaction(statics_1.coins.get('tada'));
|
|
126
|
+
prebuiltTx.fromRawTransaction(resources_1.rawTx.partiallySignedPledgeTx);
|
|
127
|
+
prebuiltTx.toBroadcastFormat().should.equal(resources_1.rawTx.partiallySignedPledgeTx);
|
|
128
|
+
prebuiltTx.signature.length.should.equal(1);
|
|
129
|
+
const txBuilder = factory.getStakingPledgeBuilder();
|
|
130
|
+
txBuilder.initBuilder(prebuiltTx);
|
|
131
|
+
const tx = (await txBuilder.build());
|
|
132
|
+
tx.type.should.equal(sdk_core_1.TransactionType.StakingPledge);
|
|
133
|
+
tx.toBroadcastFormat().should.equal(resources_1.rawTx.partiallySignedPledgeTx);
|
|
134
|
+
tx.signature.length.should.equal(1);
|
|
135
|
+
const txData = tx.toJson();
|
|
136
|
+
txData.witnesses.length.should.equal(1);
|
|
137
|
+
txData.witnesses[0].publicKey.should.equal(resources_1.rawTx.pledgeNodeKeyPubkey);
|
|
138
|
+
txData.witnesses[0].signature.should.equal(resources_1.rawTx.pledgeNodeWitnessSignature);
|
|
139
|
+
});
|
|
140
|
+
});
|
|
141
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3Rha2luZ1BsZWRnZUJ1aWxkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi90ZXN0L3VuaXQvc3Rha2luZ1BsZWRnZUJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxtQ0FBbUU7QUFDbkUsaURBQTRDO0FBQzVDLDRDQUFxQztBQUNyQyxvREFBNEI7QUFDNUIsbURBQXVEO0FBRXZELFFBQVEsQ0FBQyx3Q0FBd0MsRUFBRSxLQUFLLElBQUksRUFBRTtJQUM1RCxNQUFNLE9BQU8sR0FBRyxJQUFJLCtCQUF5QixDQUFDLGVBQUssQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztJQUVqRSxFQUFFLENBQUMscUVBQXFFLEVBQUUsS0FBSyxJQUFJLEVBQUU7UUFDbkYsTUFBTSxVQUFVLEdBQUcsSUFBSSxpQkFBVyxDQUFDLGVBQUssQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztRQUN0RCxVQUFVLENBQUMsa0JBQWtCLENBQUMsaUJBQUssQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1FBQ3pELE1BQU0sU0FBUyxHQUFHLE9BQU8sQ0FBQyx1QkFBdUIsRUFBRSxDQUFDO1FBQ3BELFNBQVMsQ0FBQyxXQUFXLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDbEMsTUFBTSxFQUFFLEdBQUcsQ0FBQyxNQUFNLFNBQVMsQ0FBQyxLQUFLLEVBQUUsQ0FBZ0IsQ0FBQztRQUNwRCxnQkFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsSUFBSSxFQUFFLDBCQUFlLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDckQsTUFBTSxNQUFNLEdBQUcsRUFBRSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQzNCLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDckMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN0QyxNQUFNLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3BDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDckMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNyQyxnQkFBTSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQzFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBWSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsMERBQTBELENBQUMsQ0FBQztRQUN0RyxNQUFNLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDeEMsZ0JBQU0sQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ25DLGdCQUFNLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsYUFBYyxDQUFDLG9CQUFvQixDQUFDLENBQUM7UUFDN0QsZ0JBQU0sQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLGFBQWMsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1FBQ3ZELGdCQUFNLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxhQUFjLENBQUMscUJBQXFCLENBQUMsQ0FBQztRQUMxRCxnQkFBTSxDQUFDLEtBQUssQ0FDVixNQUFNLENBQUMsYUFBYyxDQUFDLGtCQUFtQixDQUFDLFdBQVcsRUFDckQsTUFBTSxDQUFDLGFBQWMsQ0FBQyxxQkFBc0IsQ0FBQyxXQUFXLENBQ3pELENBQUM7UUFDRixNQUFNLENBQUMsYUFBYyxDQUFDLHFCQUFzQixDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQzlFLE1BQU0sQ0FBQyxhQUFjLENBQUMscUJBQXNCLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDNUUsTUFBTSxDQUFDLGFBQWMsQ0FBQyxxQkFBc0IsQ0FBQyxlQUFlLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUMvRSxNQUFNLENBQUMsYUFBYyxDQUFDLHFCQUFzQixDQUFDLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDbEYsTUFBTSxDQUFDLGFBQWMsQ0FBQyxxQkFBc0IsQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FDckUsTUFBTSxDQUFDLGFBQWMsQ0FBQyxxQkFBc0IsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQzNELENBQUM7UUFFRixNQUFNLEdBQUcsR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFDO1FBQ3RCLEdBQUcsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQzVCLEVBQUUsQ0FBQyxpQkFBaUIsRUFBRSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsaUJBQUssQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1FBQy9ELGdCQUFNLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsaUJBQUssQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO1FBRW5ELE1BQU0sV0FBVyxHQUFHLEVBQUUsQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1FBQzVDLGdCQUFNLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsZUFBZSxDQUFDLENBQUM7SUFDbEQsQ0FBQyxDQUFDLENBQUM7SUFFSCxFQUFFLENBQUMsc0VBQXNFLEVBQUUsS0FBSyxJQUFJLEVBQUU7UUFDcEYsTUFBTSxVQUFVLEdBQUcsSUFBSSxpQkFBVyxDQUFDLGVBQUssQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztRQUN0RCxVQUFVLENBQUMsa0JBQWtCLENBQUMsaUJBQUssQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO1FBQzVELE1BQU0sU0FBUyxHQUFHLE9BQU8sQ0FBQyx1QkFBdUIsRUFBRSxDQUFDO1FBQ3BELFNBQVMsQ0FBQyxXQUFXLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDbEMsTUFBTSxFQUFFLEdBQUcsQ0FBQyxNQUFNLFNBQVMsQ0FBQyxLQUFLLEVBQUUsQ0FBZ0IsQ0FBQztRQUNwRCxnQkFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsSUFBSSxFQUFFLDBCQUFlLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDckQsTUFBTSxNQUFNLEdBQUcsRUFBRSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQzNCLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDckMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN0QyxNQUFNLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3BDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDckMsZ0JBQU0sQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUMxQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLDBEQUEwRCxDQUFDLENBQUM7UUFDdEcsTUFBTSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUMxQyxNQUFNLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3hDLGdCQUFNLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUNuQyxnQkFBTSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLGFBQWMsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1FBQzdELGdCQUFNLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsYUFBYyxDQUFDLGtCQUFrQixDQUFDLENBQUM7UUFDM0QsZ0JBQU0sQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLGFBQWMsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO1FBQzFELE1BQU0sQ0FBQyxhQUFjLENBQUMscUJBQXNCLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDOUUsTUFBTSxDQUFDLGFBQWMsQ0FBQyxxQkFBc0IsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUM1RSxNQUFNLENBQUMsYUFBYyxDQUFDLHFCQUFzQixDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQy9FLE1BQU0sQ0FBQyxhQUFjLENBQUMscUJBQXNCLENBQUMsaUJBQWlCLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNsRixNQUFNLENBQUMsYUFBYyxDQUFDLHFCQUFzQixDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUNyRSxNQUFNLENBQUMsYUFBYyxDQUFDLHFCQUFzQixDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FDM0QsQ0FBQztRQUVGLE1BQU0sR0FBRyxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUM7UUFDdEIsR0FBRyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDNUIsRUFBRSxDQUFDLGlCQUFpQixFQUFFLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxpQkFBSyxDQUFDLHNCQUFzQixDQUFDLENBQUM7UUFDbEUsZ0JBQU0sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxpQkFBSyxDQUFDLDBCQUEwQixDQUFDLENBQUM7UUFFdEQsTUFBTSxXQUFXLEdBQUcsRUFBRSxDQUFDLGtCQUFrQixFQUFFLENBQUM7UUFDNUMsZ0JBQU0sQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxlQUFlLENBQUMsQ0FBQztJQUNsRCxDQUFDLENBQUMsQ0FBQztJQUVILEVBQUUsQ0FBQyw0REFBNEQsRUFBRSxLQUFLLElBQUksRUFBRTtRQUMxRSxNQUFNLFVBQVUsR0FBRyxJQUFJLGlCQUFXLENBQUMsZUFBSyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO1FBQ3RELFVBQVUsQ0FBQyxrQkFBa0IsQ0FBQyxpQkFBSyxDQUFDLHNCQUFzQixDQUFDLENBQUM7UUFDNUQsTUFBTSxTQUFTLEdBQUcsT0FBTyxDQUFDLHVCQUF1QixFQUFFLENBQUM7UUFDcEQsU0FBUyxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNsQyxTQUFTLENBQUMsaUJBQWlCLENBQUMsaUJBQUssQ0FBQyxtQkFBbUIsRUFBRSxpQkFBSyxDQUFDLDBCQUEwQixDQUFDLENBQUM7UUFDekYsTUFBTSxFQUFFLEdBQUcsQ0FBQyxNQUFNLFNBQVMsQ0FBQyxLQUFLLEVBQUUsQ0FBZ0IsQ0FBQztRQUNwRCxFQUFFLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3BDLE1BQU0sTUFBTSxHQUFHLEVBQUUsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUMzQixNQUFNLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3hDLGdCQUFNLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUNuQyxnQkFBTSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLGFBQWMsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1FBQzdELGdCQUFNLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsYUFBYyxDQUFDLGtCQUFrQixDQUFDLENBQUM7UUFDM0QsZ0JBQU0sQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLGFBQWMsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO1FBQzFELE1BQU0sQ0FBQyxhQUFjLENBQUMscUJBQXNCLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDOUUsTUFBTSxDQUFDLGFBQWMsQ0FBQyxxQkFBc0IsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUM1RSxNQUFNLENBQUMsYUFBYyxDQUFDLHFCQUFzQixDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQy9FLE1BQU0sQ0FBQyxhQUFjLENBQUMscUJBQXNCLENBQUMsaUJBQWlCLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNsRixNQUFNLENBQUMsYUFBYyxDQUFDLHFCQUFzQixDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUNyRSxNQUFNLENBQUMsYUFBYyxDQUFDLHFCQUFzQixDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FDM0QsQ0FBQztRQUVGLE1BQU0sU0FBUyxHQUFHLElBQUksaUJBQVcsQ0FBQyxlQUFLLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7UUFDckQsU0FBUyxDQUFDLGtCQUFrQixDQUFDLEVBQUUsQ0FBQyxpQkFBaUIsRUFBRSxDQUFDLENBQUM7UUFDckQsU0FBUyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUMzQyxTQUFTLENBQUMsaUJBQWlCLEVBQUUsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxpQkFBaUIsRUFBRSxDQUFDLENBQUM7UUFDbkUsU0FBUyxDQUFDLGlCQUFpQixFQUFFLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsaUJBQUssQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO0lBQy9FLENBQUMsQ0FBQyxDQUFDO0lBRUgsRUFBRSxDQUFDLHNFQUFzRSxFQUFFLEtBQUssSUFBSSxFQUFFO1FBQ3BGLE1BQU0saUJBQWlCLEdBQUcsSUFBSSwrQkFBeUIsQ0FBQyxlQUFLLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7UUFDM0UsTUFBTSxVQUFVLEdBQUcsaUJBQWlCLENBQUMsSUFBSSxDQUFDLGlCQUFLLENBQUMsdUJBQXVCLENBQUMsQ0FBQztRQUN6RSxJQUFJLEVBQUUsR0FBRyxDQUFDLE1BQU0sVUFBVSxDQUFDLEtBQUssRUFBRSxDQUFnQixDQUFDO1FBQ25ELEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQywwQkFBZSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ3BELEVBQUUsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDcEMsSUFBSSxNQUFNLEdBQUcsRUFBRSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ3pCLE1BQU0sQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDeEMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxpQkFBSyxDQUFDLG1CQUFtQixDQUFDLENBQUM7UUFDdEUsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxpQkFBSyxDQUFDLDBCQUEwQixDQUFDLENBQUM7UUFFN0UsVUFBVSxDQUFDLFlBQVksQ0FDckIsRUFBRSxHQUFHLEVBQUUsaUJBQUssQ0FBQyxxQkFBcUIsRUFBRSxFQUNwQyxNQUFNLENBQUMsSUFBSSxDQUFDLGlCQUFLLENBQUMsNEJBQTRCLEVBQUUsS0FBSyxDQUFDLENBQ3ZELENBQUM7UUFDRixFQUFFLEdBQUcsQ0FBQyxNQUFNLFVBQVUsQ0FBQyxLQUFLLEVBQUUsQ0FBZ0IsQ0FBQztRQUMvQyxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsMEJBQWUsQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUNwRCxNQUFNLEdBQUcsRUFBRSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ3JCLE1BQU0sQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDeEMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxpQkFBSyxDQUFDLG1CQUFtQixDQUFDLENBQUM7UUFDdEUsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxpQkFBSyxDQUFDLDBCQUEwQixDQUFDLENBQUM7UUFDN0UsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxpQkFBSyxDQUFDLHFCQUFxQixDQUFDLENBQUM7UUFDeEUsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxpQkFBSyxDQUFDLDRCQUE0QixDQUFDLENBQUM7SUFDakYsQ0FBQyxDQUFDLENBQUM7SUFFSCxFQUFFLENBQUMseUVBQXlFLEVBQUUsS0FBSyxJQUFJLEVBQUU7UUFDdkYsTUFBTSxVQUFVLEdBQUcsSUFBSSxpQkFBVyxDQUFDLGVBQUssQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztRQUN0RCxVQUFVLENBQUMsa0JBQWtCLENBQUMsaUJBQUssQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO1FBQzdELFVBQVUsQ0FBQyxpQkFBaUIsRUFBRSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsaUJBQUssQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO1FBQzNFLFVBQVUsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDNUMsTUFBTSxTQUFTLEdBQUcsT0FBTyxDQUFDLHVCQUF1QixFQUFFLENBQUM7UUFDcEQsU0FBUyxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNsQyxNQUFNLEVBQUUsR0FBRyxDQUFDLE1BQU0sU0FBUyxDQUFDLEtBQUssRUFBRSxDQUFnQixDQUFDO1FBQ3BELEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQywwQkFBZSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ3BELEVBQUUsQ0FBQyxpQkFBaUIsRUFBRSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsaUJBQUssQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO1FBQ25FLEVBQUUsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDcEMsTUFBTSxNQUFNLEdBQUcsRUFBRSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQzNCLE1BQU0sQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDeEMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxpQkFBSyxDQUFDLG1CQUFtQixDQUFDLENBQUM7UUFDdEUsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxpQkFBSyxDQUFDLDBCQUEwQixDQUFDLENBQUM7SUFDL0UsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFRyYW5zYWN0aW9uLCBUcmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5IH0gZnJvbSAnLi4vLi4vc3JjJztcbmltcG9ydCB7IGNvaW5zIH0gZnJvbSAnQGJpdGdvLWJldGEvc3RhdGljcyc7XG5pbXBvcnQgeyByYXdUeCB9IGZyb20gJy4uL3Jlc291cmNlcyc7XG5pbXBvcnQgc2hvdWxkIGZyb20gJ3Nob3VsZCc7XG5pbXBvcnQgeyBUcmFuc2FjdGlvblR5cGUgfSBmcm9tICdAYml0Z28tYmV0YS9zZGstY29yZSc7XG5cbmRlc2NyaWJlKCdBREEgU3Rha2luZyBQbGVkZ2UgVHJhbnNhY3Rpb24gQnVpbGRlcicsIGFzeW5jICgpID0+IHtcbiAgY29uc3QgZmFjdG9yeSA9IG5ldyBUcmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5KGNvaW5zLmdldCgndGFkYScpKTtcblxuICBpdCgnc2hvdWxkIGJ1aWxkIGEgcGxlZGdlIHRyYW5zYWN0aW9uIHRoYXQgcmVnaXN0ZXJzIGEgbmV3IHN0YWtpbmcgcG9vbCcsIGFzeW5jICgpID0+IHtcbiAgICBjb25zdCBwcmVidWlsdFR4ID0gbmV3IFRyYW5zYWN0aW9uKGNvaW5zLmdldCgndGFkYScpKTtcbiAgICBwcmVidWlsdFR4LmZyb21SYXdUcmFuc2FjdGlvbihyYXdUeC51bnNpZ25lZE5ld1BsZWRnZVR4KTtcbiAgICBjb25zdCB0eEJ1aWxkZXIgPSBmYWN0b3J5LmdldFN0YWtpbmdQbGVkZ2VCdWlsZGVyKCk7XG4gICAgdHhCdWlsZGVyLmluaXRCdWlsZGVyKHByZWJ1aWx0VHgpO1xuICAgIGNvbnN0IHR4ID0gKGF3YWl0IHR4QnVpbGRlci5idWlsZCgpKSBhcyBUcmFuc2FjdGlvbjtcbiAgICBzaG91bGQuZXF1YWwodHgudHlwZSwgVHJhbnNhY3Rpb25UeXBlLlN0YWtpbmdQbGVkZ2UpO1xuICAgIGNvbnN0IHR4RGF0YSA9IHR4LnRvSnNvbigpO1xuICAgIHR4RGF0YS5pbnB1dHMubGVuZ3RoLnNob3VsZC5lcXVhbCgyKTtcbiAgICB0eERhdGEub3V0cHV0cy5sZW5ndGguc2hvdWxkLmVxdWFsKDEpO1xuICAgIHR4RGF0YS5jZXJ0cy5sZW5ndGguc2hvdWxkLmVxdWFsKDIpO1xuICAgIHR4RGF0YS5jZXJ0c1swXS50eXBlLnNob3VsZC5lcXVhbCgzKTtcbiAgICB0eERhdGEuY2VydHNbMV0udHlwZS5zaG91bGQuZXF1YWwoMSk7XG4gICAgc2hvdWxkLmV4aXN0KHR4RGF0YS5jZXJ0c1sxXS5wb29sS2V5SGFzaCk7XG4gICAgdHhEYXRhLmNlcnRzWzBdLnBvb2xLZXlIYXNoIS5zaG91bGQuZXF1YWwoJzEwMzI0ZGMzNDE4NzczNWRlNDZmNjI2MGQ5NDYyMGNkY2M4MTlmN2VkMWY5M2UzZmM1OGQwNmEwJyk7XG4gICAgdHhEYXRhLndpdGhkcmF3YWxzLmxlbmd0aC5zaG91bGQuZXF1YWwoMCk7XG4gICAgdHhEYXRhLndpdG5lc3Nlcy5sZW5ndGguc2hvdWxkLmVxdWFsKDApO1xuICAgIHNob3VsZC5leGlzdCh0eERhdGEucGxlZGdlRGV0YWlscyk7XG4gICAgc2hvdWxkLm5vdC5leGlzdCh0eERhdGEucGxlZGdlRGV0YWlscyEuc3Rha2VLZXlSZWdpc3RyYXRpb24pO1xuICAgIHNob3VsZC5leGlzdCh0eERhdGEucGxlZGdlRGV0YWlscyEuc3Rha2VLZXlEZWxlZ2F0aW9uKTtcbiAgICBzaG91bGQuZXhpc3QodHhEYXRhLnBsZWRnZURldGFpbHMhLnN0YWtlUG9vbFJlZ2lzdHJhdGlvbik7XG4gICAgc2hvdWxkLmVxdWFsKFxuICAgICAgdHhEYXRhLnBsZWRnZURldGFpbHMhLnN0YWtlS2V5RGVsZWdhdGlvbiEucG9vbEtleUhhc2gsXG4gICAgICB0eERhdGEucGxlZGdlRGV0YWlscyEuc3Rha2VQb29sUmVnaXN0cmF0aW9uIS5wb29sS2V5SGFzaFxuICAgICk7XG4gICAgdHhEYXRhLnBsZWRnZURldGFpbHMhLnN0YWtlUG9vbFJlZ2lzdHJhdGlvbiEucGxlZGdlLnNob3VsZC5lcXVhbCgnMTAwMDAwMDAwJyk7XG4gICAgdHhEYXRhLnBsZWRnZURldGFpbHMhLnN0YWtlUG9vbFJlZ2lzdHJhdGlvbiEuY29zdC5zaG91bGQuZXF1YWwoJzUwMDAwMDAwMCcpO1xuICAgIHR4RGF0YS5wbGVkZ2VEZXRhaWxzIS5zdGFrZVBvb2xSZWdpc3RyYXRpb24hLm1hcmdpbk51bWVyYXRvci5zaG91bGQuZXF1YWwoJzMnKTtcbiAgICB0eERhdGEucGxlZGdlRGV0YWlscyEuc3Rha2VQb29sUmVnaXN0cmF0aW9uIS5tYXJnaW5EZW5vbWluYXRvci5zaG91bGQuZXF1YWwoJzIwJyk7XG4gICAgdHhEYXRhLnBsZWRnZURldGFpbHMhLnN0YWtlUG9vbFJlZ2lzdHJhdGlvbiEucmV3YXJkQWNjb3VudC5zaG91bGQuZXF1YWwoXG4gICAgICB0eERhdGEucGxlZGdlRGV0YWlscyEuc3Rha2VQb29sUmVnaXN0cmF0aW9uIS5wb29sT3duZXJzWzBdXG4gICAgKTtcblxuICAgIGNvbnN0IGZlZSA9IHR4LmdldEZlZTtcbiAgICBmZWUuc2hvdWxkLmVxdWFsKCcxMDAwMDAwJyk7XG4gICAgdHgudG9Ccm9hZGNhc3RGb3JtYXQoKS5zaG91bGQuZXF1YWwocmF3VHgudW5zaWduZWROZXdQbGVkZ2VUeCk7XG4gICAgc2hvdWxkLmVxdWFsKHR4LmlkLCByYXdUeC51bnNpZ25lZE5ld1BsZWRnZVR4SGFzaCk7XG5cbiAgICBjb25zdCBleHBsYWluZWRUeCA9IHR4LmV4cGxhaW5UcmFuc2FjdGlvbigpO1xuICAgIHNob3VsZC5lcXVhbChleHBsYWluZWRUeC50eXBlLCAnU3Rha2luZ1BsZWRnZScpO1xuICB9KTtcblxuICBpdCgnc2hvdWxkIGJ1aWxkIGEgcGxlZGdlIHRyYW5zYWN0aW9uIHRoYXQgdXBkYXRlcyBleGlzdGluZyBzdGFraW5nIHBvb2wnLCBhc3luYyAoKSA9PiB7XG4gICAgY29uc3QgcHJlYnVpbHRUeCA9IG5ldyBUcmFuc2FjdGlvbihjb2lucy5nZXQoJ3RhZGEnKSk7XG4gICAgcHJlYnVpbHRUeC5mcm9tUmF3VHJhbnNhY3Rpb24ocmF3VHgudW5zaWduZWRVcGRhdGVQbGVkZ2VUeCk7XG4gICAgY29uc3QgdHhCdWlsZGVyID0gZmFjdG9yeS5nZXRTdGFraW5nUGxlZGdlQnVpbGRlcigpO1xuICAgIHR4QnVpbGRlci5pbml0QnVpbGRlcihwcmVidWlsdFR4KTtcbiAgICBjb25zdCB0eCA9IChhd2FpdCB0eEJ1aWxkZXIuYnVpbGQoKSkgYXMgVHJhbnNhY3Rpb247XG4gICAgc2hvdWxkLmVxdWFsKHR4LnR5cGUsIFRyYW5zYWN0aW9uVHlwZS5TdGFraW5nUGxlZGdlKTtcbiAgICBjb25zdCB0eERhdGEgPSB0eC50b0pzb24oKTtcbiAgICB0eERhdGEuaW5wdXRzLmxlbmd0aC5zaG91bGQuZXF1YWwoMik7XG4gICAgdHhEYXRhLm91dHB1dHMubGVuZ3RoLnNob3VsZC5lcXVhbCgxKTtcbiAgICB0eERhdGEuY2VydHMubGVuZ3RoLnNob3VsZC5lcXVhbCgxKTtcbiAgICB0eERhdGEuY2VydHNbMF0udHlwZS5zaG91bGQuZXF1YWwoMyk7XG4gICAgc2hvdWxkLmV4aXN0KHR4RGF0YS5jZXJ0c1swXS5wb29sS2V5SGFzaCk7XG4gICAgdHhEYXRhLmNlcnRzWzBdLnBvb2xLZXlIYXNoIS5zaG91bGQuZXF1YWwoJzEwMzI0ZGMzNDE4NzczNWRlNDZmNjI2MGQ5NDYyMGNkY2M4MTlmN2VkMWY5M2UzZmM1OGQwNmEwJyk7XG4gICAgdHhEYXRhLndpdGhkcmF3YWxzLmxlbmd0aC5zaG91bGQuZXF1YWwoMCk7XG4gICAgdHhEYXRhLndpdG5lc3Nlcy5sZW5ndGguc2hvdWxkLmVxdWFsKDApO1xuICAgIHNob3VsZC5leGlzdCh0eERhdGEucGxlZGdlRGV0YWlscyk7XG4gICAgc2hvdWxkLm5vdC5leGlzdCh0eERhdGEucGxlZGdlRGV0YWlscyEuc3Rha2VLZXlSZWdpc3RyYXRpb24pO1xuICAgIHNob3VsZC5ub3QuZXhpc3QodHhEYXRhLnBsZWRnZURldGFpbHMhLnN0YWtlS2V5RGVsZWdhdGlvbik7XG4gICAgc2hvdWxkLmV4aXN0KHR4RGF0YS5wbGVkZ2VEZXRhaWxzIS5zdGFrZVBvb2xSZWdpc3RyYXRpb24pO1xuICAgIHR4RGF0YS5wbGVkZ2VEZXRhaWxzIS5zdGFrZVBvb2xSZWdpc3RyYXRpb24hLnBsZWRnZS5zaG91bGQuZXF1YWwoJzEwMDAwMDAwMCcpO1xuICAgIHR4RGF0YS5wbGVkZ2VEZXRhaWxzIS5zdGFrZVBvb2xSZWdpc3RyYXRpb24hLmNvc3Quc2hvdWxkLmVxdWFsKCc1MDAwMDAwMDAnKTtcbiAgICB0eERhdGEucGxlZGdlRGV0YWlscyEuc3Rha2VQb29sUmVnaXN0cmF0aW9uIS5tYXJnaW5OdW1lcmF0b3Iuc2hvdWxkLmVxdWFsKCczJyk7XG4gICAgdHhEYXRhLnBsZWRnZURldGFpbHMhLnN0YWtlUG9vbFJlZ2lzdHJhdGlvbiEubWFyZ2luRGVub21pbmF0b3Iuc2hvdWxkLmVxdWFsKCcyMCcpO1xuICAgIHR4RGF0YS5wbGVkZ2VEZXRhaWxzIS5zdGFrZVBvb2xSZWdpc3RyYXRpb24hLnJld2FyZEFjY291bnQuc2hvdWxkLmVxdWFsKFxuICAgICAgdHhEYXRhLnBsZWRnZURldGFpbHMhLnN0YWtlUG9vbFJlZ2lzdHJhdGlvbiEucG9vbE93bmVyc1swXVxuICAgICk7XG5cbiAgICBjb25zdCBmZWUgPSB0eC5nZXRGZWU7XG4gICAgZmVlLnNob3VsZC5lcXVhbCgnMTAwMDAwMCcpO1xuICAgIHR4LnRvQnJvYWRjYXN0Rm9ybWF0KCkuc2hvdWxkLmVxdWFsKHJhd1R4LnVuc2lnbmVkVXBkYXRlUGxlZGdlVHgpO1xuICAgIHNob3VsZC5lcXVhbCh0eC5pZCwgcmF3VHgudW5zaWduZWRVcGRhdGVQbGVkZ2VUeEhhc2gpO1xuXG4gICAgY29uc3QgZXhwbGFpbmVkVHggPSB0eC5leHBsYWluVHJhbnNhY3Rpb24oKTtcbiAgICBzaG91bGQuZXF1YWwoZXhwbGFpbmVkVHgudHlwZSwgJ1N0YWtpbmdQbGVkZ2UnKTtcbiAgfSk7XG5cbiAgaXQoJ3Nob3VsZCBhZGQgbm9kZSBrZXkgd2l0bmVzcyB0byB1bnNpZ25lZCBwbGVkZ2UgdHJhbnNhY3Rpb24nLCBhc3luYyAoKSA9PiB7XG4gICAgY29uc3QgcHJlYnVpbHRUeCA9IG5ldyBUcmFuc2FjdGlvbihjb2lucy5nZXQoJ3RhZGEnKSk7XG4gICAgcHJlYnVpbHRUeC5mcm9tUmF3VHJhbnNhY3Rpb24ocmF3VHgudW5zaWduZWRVcGRhdGVQbGVkZ2VUeCk7XG4gICAgY29uc3QgdHhCdWlsZGVyID0gZmFjdG9yeS5nZXRTdGFraW5nUGxlZGdlQnVpbGRlcigpO1xuICAgIHR4QnVpbGRlci5pbml0QnVpbGRlcihwcmVidWlsdFR4KTtcbiAgICB0eEJ1aWxkZXIuYWRkTm9kZUtleVdpdG5lc3MocmF3VHgucGxlZGdlTm9kZUtleVB1YmtleSwgcmF3VHgucGxlZGdlTm9kZVdpdG5lc3NTaWduYXR1cmUpO1xuICAgIGNvbnN0IHR4ID0gKGF3YWl0IHR4QnVpbGRlci5idWlsZCgpKSBhcyBUcmFuc2FjdGlvbjtcbiAgICB0eC5zaWduYXR1cmUubGVuZ3RoLnNob3VsZC5lcXVhbCgxKTtcbiAgICBjb25zdCB0eERhdGEgPSB0eC50b0pzb24oKTtcbiAgICB0eERhdGEud2l0bmVzc2VzLmxlbmd0aC5zaG91bGQuZXF1YWwoMSk7XG4gICAgc2hvdWxkLmV4aXN0KHR4RGF0YS5wbGVkZ2VEZXRhaWxzKTtcbiAgICBzaG91bGQubm90LmV4aXN0KHR4RGF0YS5wbGVkZ2VEZXRhaWxzIS5zdGFrZUtleVJlZ2lzdHJhdGlvbik7XG4gICAgc2hvdWxkLm5vdC5leGlzdCh0eERhdGEucGxlZGdlRGV0YWlscyEuc3Rha2VLZXlEZWxlZ2F0aW9uKTtcbiAgICBzaG91bGQuZXhpc3QodHhEYXRhLnBsZWRnZURldGFpbHMhLnN0YWtlUG9vbFJlZ2lzdHJhdGlvbik7XG4gICAgdHhEYXRhLnBsZWRnZURldGFpbHMhLnN0YWtlUG9vbFJlZ2lzdHJhdGlvbiEucGxlZGdlLnNob3VsZC5lcXVhbCgnMTAwMDAwMDAwJyk7XG4gICAgdHhEYXRhLnBsZWRnZURldGFpbHMhLnN0YWtlUG9vbFJlZ2lzdHJhdGlvbiEuY29zdC5zaG91bGQuZXF1YWwoJzUwMDAwMDAwMCcpO1xuICAgIHR4RGF0YS5wbGVkZ2VEZXRhaWxzIS5zdGFrZVBvb2xSZWdpc3RyYXRpb24hLm1hcmdpbk51bWVyYXRvci5zaG91bGQuZXF1YWwoJzMnKTtcbiAgICB0eERhdGEucGxlZGdlRGV0YWlscyEuc3Rha2VQb29sUmVnaXN0cmF0aW9uIS5tYXJnaW5EZW5vbWluYXRvci5zaG91bGQuZXF1YWwoJzIwJyk7XG4gICAgdHhEYXRhLnBsZWRnZURldGFpbHMhLnN0YWtlUG9vbFJlZ2lzdHJhdGlvbiEucmV3YXJkQWNjb3VudC5zaG91bGQuZXF1YWwoXG4gICAgICB0eERhdGEucGxlZGdlRGV0YWlscyEuc3Rha2VQb29sUmVnaXN0cmF0aW9uIS5wb29sT3duZXJzWzBdXG4gICAgKTtcblxuICAgIGNvbnN0IHJlYnVpbHRUeCA9IG5ldyBUcmFuc2FjdGlvbihjb2lucy5nZXQoJ3RhZGEnKSk7XG4gICAgcmVidWlsdFR4LmZyb21SYXdUcmFuc2FjdGlvbih0eC50b0Jyb2FkY2FzdEZvcm1hdCgpKTtcbiAgICByZWJ1aWx0VHguc2lnbmF0dXJlLmxlbmd0aC5zaG91bGQuZXF1YWwoMSk7XG4gICAgcmVidWlsdFR4LnRvQnJvYWRjYXN0Rm9ybWF0KCkuc2hvdWxkLmVxdWFsKHR4LnRvQnJvYWRjYXN0Rm9ybWF0KCkpO1xuICAgIHJlYnVpbHRUeC50b0Jyb2FkY2FzdEZvcm1hdCgpLnNob3VsZC5ub3QuZXF1YWwocmF3VHgudW5zaWduZWRVcGRhdGVQbGVkZ2VUeCk7XG4gIH0pO1xuXG4gIGl0KCdzaG91bGQgaW5pdCBmcm9tIHBhcnRpYWxseSBzaWduZWQgdHhuIGhleCBhbmQgcHJlc2VydmUgdGhlIHNpZ25hdHVyZScsIGFzeW5jICgpID0+IHtcbiAgICBjb25zdCB0eG5CdWlsZGVyRmFjdG9yeSA9IG5ldyBUcmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5KGNvaW5zLmdldCgndGFkYScpKTtcbiAgICBjb25zdCB0eG5CdWlsZGVyID0gdHhuQnVpbGRlckZhY3RvcnkuZnJvbShyYXdUeC5wYXJ0aWFsbHlTaWduZWRQbGVkZ2VUeCk7XG4gICAgbGV0IHR4ID0gKGF3YWl0IHR4bkJ1aWxkZXIuYnVpbGQoKSkgYXMgVHJhbnNhY3Rpb247XG4gICAgdHgudHlwZS5zaG91bGQuZXF1YWwoVHJhbnNhY3Rpb25UeXBlLlN0YWtpbmdQbGVkZ2UpO1xuICAgIHR4LnNpZ25hdHVyZS5sZW5ndGguc2hvdWxkLmVxdWFsKDEpO1xuICAgIGxldCB0eERhdGEgPSB0eC50b0pzb24oKTtcbiAgICB0eERhdGEud2l0bmVzc2VzLmxlbmd0aC5zaG91bGQuZXF1YWwoMSk7XG4gICAgdHhEYXRhLndpdG5lc3Nlc1swXS5wdWJsaWNLZXkuc2hvdWxkLmVxdWFsKHJhd1R4LnBsZWRnZU5vZGVLZXlQdWJrZXkpO1xuICAgIHR4RGF0YS53aXRuZXNzZXNbMF0uc2lnbmF0dXJlLnNob3VsZC5lcXVhbChyYXdUeC5wbGVkZ2VOb2RlV2l0bmVzc1NpZ25hdHVyZSk7XG5cbiAgICB0eG5CdWlsZGVyLmFkZFNpZ25hdHVyZShcbiAgICAgIHsgcHViOiByYXdUeC5wbGVkZ2VXYWxsZXRLZXlQdWJrZXkgfSxcbiAgICAgIEJ1ZmZlci5mcm9tKHJhd1R4LnBsZWRnZVdhbGxldFdpdG5lc3NTaWduYXR1cmUsICdoZXgnKVxuICAgICk7XG4gICAgdHggPSAoYXdhaXQgdHhuQnVpbGRlci5idWlsZCgpKSBhcyBUcmFuc2FjdGlvbjtcbiAgICB0eC50eXBlLnNob3VsZC5lcXVhbChUcmFuc2FjdGlvblR5cGUuU3Rha2luZ1BsZWRnZSk7XG4gICAgdHhEYXRhID0gdHgudG9Kc29uKCk7XG4gICAgdHhEYXRhLndpdG5lc3Nlcy5sZW5ndGguc2hvdWxkLmVxdWFsKDIpO1xuICAgIHR4RGF0YS53aXRuZXNzZXNbMF0ucHVibGljS2V5LnNob3VsZC5lcXVhbChyYXdUeC5wbGVkZ2VOb2RlS2V5UHVia2V5KTtcbiAgICB0eERhdGEud2l0bmVzc2VzWzBdLnNpZ25hdHVyZS5zaG91bGQuZXF1YWwocmF3VHgucGxlZGdlTm9kZVdpdG5lc3NTaWduYXR1cmUpO1xuICAgIHR4RGF0YS53aXRuZXNzZXNbMV0ucHVibGljS2V5LnNob3VsZC5lcXVhbChyYXdUeC5wbGVkZ2VXYWxsZXRLZXlQdWJrZXkpO1xuICAgIHR4RGF0YS53aXRuZXNzZXNbMV0uc2lnbmF0dXJlLnNob3VsZC5lcXVhbChyYXdUeC5wbGVkZ2VXYWxsZXRXaXRuZXNzU2lnbmF0dXJlKTtcbiAgfSk7XG5cbiAgaXQoJ3Nob3VsZCBpbml0IGZyb20gcGFydGlhbGx5IHNpZ25lZCB0eG4gb2JqZWN0IGFuZCBwcmVzZXJ2ZSB0aGUgc2lnbmF0dXJlJywgYXN5bmMgKCkgPT4ge1xuICAgIGNvbnN0IHByZWJ1aWx0VHggPSBuZXcgVHJhbnNhY3Rpb24oY29pbnMuZ2V0KCd0YWRhJykpO1xuICAgIHByZWJ1aWx0VHguZnJvbVJhd1RyYW5zYWN0aW9uKHJhd1R4LnBhcnRpYWxseVNpZ25lZFBsZWRnZVR4KTtcbiAgICBwcmVidWlsdFR4LnRvQnJvYWRjYXN0Rm9ybWF0KCkuc2hvdWxkLmVxdWFsKHJhd1R4LnBhcnRpYWxseVNpZ25lZFBsZWRnZVR4KTtcbiAgICBwcmVidWlsdFR4LnNpZ25hdHVyZS5sZW5ndGguc2hvdWxkLmVxdWFsKDEpO1xuICAgIGNvbnN0IHR4QnVpbGRlciA9IGZhY3RvcnkuZ2V0U3Rha2luZ1BsZWRnZUJ1aWxkZXIoKTtcbiAgICB0eEJ1aWxkZXIuaW5pdEJ1aWxkZXIocHJlYnVpbHRUeCk7XG4gICAgY29uc3QgdHggPSAoYXdhaXQgdHhCdWlsZGVyLmJ1aWxkKCkpIGFzIFRyYW5zYWN0aW9uO1xuICAgIHR4LnR5cGUuc2hvdWxkLmVxdWFsKFRyYW5zYWN0aW9uVHlwZS5TdGFraW5nUGxlZGdlKTtcbiAgICB0eC50b0Jyb2FkY2FzdEZvcm1hdCgpLnNob3VsZC5lcXVhbChyYXdUeC5wYXJ0aWFsbHlTaWduZWRQbGVkZ2VUeCk7XG4gICAgdHguc2lnbmF0dXJlLmxlbmd0aC5zaG91bGQuZXF1YWwoMSk7XG4gICAgY29uc3QgdHhEYXRhID0gdHgudG9Kc29uKCk7XG4gICAgdHhEYXRhLndpdG5lc3Nlcy5sZW5ndGguc2hvdWxkLmVxdWFsKDEpO1xuICAgIHR4RGF0YS53aXRuZXNzZXNbMF0ucHVibGljS2V5LnNob3VsZC5lcXVhbChyYXdUeC5wbGVkZ2VOb2RlS2V5UHVia2V5KTtcbiAgICB0eERhdGEud2l0bmVzc2VzWzBdLnNpZ25hdHVyZS5zaG91bGQuZXF1YWwocmF3VHgucGxlZGdlTm9kZVdpdG5lc3NTaWduYXR1cmUpO1xuICB9KTtcbn0pO1xuIl19
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stakingWithdrawBuilder.d.ts","sourceRoot":"","sources":["../../../test/unit/stakingWithdrawBuilder.ts"],"names":[],"mappings":""}
|