@bitgo-beta/sdk-coin-polyx 1.0.1-beta.69 → 1.0.1-beta.691
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/index.d.ts +1 -0
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +2 -1
- package/dist/src/lib/baseBuilder.d.ts +24 -0
- package/dist/src/lib/baseBuilder.d.ts.map +1 -0
- package/dist/src/lib/baseBuilder.js +31 -0
- package/dist/src/lib/batchStakingBuilder.d.ts +79 -0
- package/dist/src/lib/batchStakingBuilder.d.ts.map +1 -0
- package/dist/src/lib/batchStakingBuilder.js +299 -0
- package/dist/src/lib/batchUnstakingBuilder.d.ts +39 -0
- package/dist/src/lib/batchUnstakingBuilder.d.ts.map +1 -0
- package/dist/src/lib/batchUnstakingBuilder.js +127 -0
- package/dist/src/lib/bondExtraBuilder.d.ts +37 -0
- package/dist/src/lib/bondExtraBuilder.d.ts.map +1 -0
- package/dist/src/lib/bondExtraBuilder.js +101 -0
- package/dist/src/lib/constants.d.ts +12 -0
- package/dist/src/lib/constants.d.ts.map +1 -0
- package/dist/src/lib/constants.js +15 -0
- package/dist/src/lib/iface.d.ts +140 -2
- package/dist/src/lib/iface.d.ts.map +1 -1
- package/dist/src/lib/iface.js +37 -1
- package/dist/src/lib/index.d.ts +16 -7
- package/dist/src/lib/index.d.ts.map +1 -1
- package/dist/src/lib/index.js +44 -36
- package/dist/src/lib/preApproveAssetBuilder.d.ts +33 -0
- package/dist/src/lib/preApproveAssetBuilder.d.ts.map +1 -0
- package/dist/src/lib/preApproveAssetBuilder.js +77 -0
- package/dist/src/lib/registerDidWithCDDBuilder.d.ts +34 -0
- package/dist/src/lib/registerDidWithCDDBuilder.d.ts.map +1 -0
- package/dist/src/lib/registerDidWithCDDBuilder.js +83 -0
- package/dist/src/lib/rejectInstructionBuilder.d.ts +29 -0
- package/dist/src/lib/rejectInstructionBuilder.d.ts.map +1 -0
- package/dist/src/lib/rejectInstructionBuilder.js +89 -0
- package/dist/src/lib/tokenTransferBuilder.d.ts +58 -0
- package/dist/src/lib/tokenTransferBuilder.d.ts.map +1 -0
- package/dist/src/lib/tokenTransferBuilder.js +158 -0
- package/dist/src/lib/transaction.d.ts +26 -4
- package/dist/src/lib/transaction.d.ts.map +1 -1
- package/dist/src/lib/transaction.js +183 -7
- package/dist/src/lib/transactionBuilderFactory.d.ts +29 -5
- package/dist/src/lib/transactionBuilderFactory.d.ts.map +1 -1
- package/dist/src/lib/transactionBuilderFactory.js +119 -8
- package/dist/src/lib/transferBuilder.d.ts +51 -3
- package/dist/src/lib/transferBuilder.d.ts.map +1 -1
- package/dist/src/lib/transferBuilder.js +109 -3
- package/dist/src/lib/txnSchema.d.ts +50 -0
- package/dist/src/lib/txnSchema.d.ts.map +1 -0
- package/dist/src/lib/txnSchema.js +165 -0
- package/dist/src/lib/unbondBuilder.d.ts +37 -0
- package/dist/src/lib/unbondBuilder.d.ts.map +1 -0
- package/dist/src/lib/unbondBuilder.js +98 -0
- package/dist/src/lib/utils.d.ts +15 -14
- package/dist/src/lib/utils.d.ts.map +1 -1
- package/dist/src/lib/utils.js +40 -23
- package/dist/src/lib/withdrawUnbondedBuilder.d.ts +35 -0
- package/dist/src/lib/withdrawUnbondedBuilder.d.ts.map +1 -0
- package/dist/src/lib/withdrawUnbondedBuilder.js +89 -0
- package/dist/src/polyx.d.ts +50 -9
- package/dist/src/polyx.d.ts.map +1 -1
- package/dist/src/polyx.js +269 -15
- package/dist/src/polyxToken.d.ts +20 -0
- package/dist/src/polyxToken.d.ts.map +1 -0
- package/dist/src/polyxToken.js +55 -0
- package/dist/src/register.d.ts.map +1 -1
- package/dist/src/register.js +5 -1
- package/dist/src/resources/index.d.ts +3 -0
- package/dist/src/resources/index.d.ts.map +1 -0
- package/dist/src/resources/index.js +19 -0
- package/dist/src/resources/mainnet.d.ts +13 -0
- package/dist/src/resources/mainnet.d.ts.map +1 -0
- package/dist/src/resources/mainnet.js +16 -0
- package/dist/src/resources/testnet.d.ts +13 -0
- package/dist/src/resources/testnet.d.ts.map +1 -0
- package/dist/src/resources/testnet.js +16 -0
- package/dist/src/tpolyx.d.ts +7 -0
- package/dist/src/tpolyx.d.ts.map +1 -1
- package/dist/src/tpolyx.js +11 -1
- package/dist/test/integration/index.d.ts +1 -0
- package/dist/test/integration/index.d.ts.map +1 -0
- package/dist/test/integration/index.js +1 -0
- package/dist/test/resources/index.d.ts +106 -0
- package/dist/test/resources/index.d.ts.map +1 -0
- package/dist/test/resources/index.js +112 -0
- package/dist/test/resources/mainnet.d.ts +2 -0
- package/dist/test/resources/mainnet.d.ts.map +1 -0
- package/dist/test/resources/mainnet.js +5 -0
- package/dist/test/resources/materialData.json +8 -0
- package/dist/test/resources/materialDataModified.json +8 -0
- package/dist/test/resources/testnet.d.ts +2 -0
- package/dist/test/resources/testnet.d.ts.map +1 -0
- package/dist/test/resources/testnet.js +5 -0
- package/dist/test/resources/wrwUsers.d.ts +19 -0
- package/dist/test/resources/wrwUsers.d.ts.map +1 -0
- package/dist/test/resources/wrwUsers.js +60 -0
- package/dist/test/unit/polyx.d.ts +2 -0
- package/dist/test/unit/polyx.d.ts.map +1 -0
- package/dist/test/unit/polyx.js +209 -0
- package/dist/test/unit/transactionBuilder/base.d.ts +4 -0
- package/dist/test/unit/transactionBuilder/base.d.ts.map +1 -0
- package/dist/test/unit/transactionBuilder/base.js +245 -0
- package/dist/test/unit/transactionBuilder/batchStakingBuilder.d.ts +2 -0
- package/dist/test/unit/transactionBuilder/batchStakingBuilder.d.ts.map +1 -0
- package/dist/test/unit/transactionBuilder/batchStakingBuilder.js +263 -0
- package/dist/test/unit/transactionBuilder/batchUnstakingBuilder.d.ts +2 -0
- package/dist/test/unit/transactionBuilder/batchUnstakingBuilder.d.ts.map +1 -0
- package/dist/test/unit/transactionBuilder/batchUnstakingBuilder.js +159 -0
- package/dist/test/unit/transactionBuilder/bondExtraBuilder.d.ts +2 -0
- package/dist/test/unit/transactionBuilder/bondExtraBuilder.d.ts.map +1 -0
- package/dist/test/unit/transactionBuilder/bondExtraBuilder.js +158 -0
- package/dist/test/unit/transactionBuilder/preApproveAssetBuilder.d.ts +2 -0
- package/dist/test/unit/transactionBuilder/preApproveAssetBuilder.d.ts.map +1 -0
- package/dist/test/unit/transactionBuilder/preApproveAssetBuilder.js +115 -0
- package/dist/test/unit/transactionBuilder/registerDidWithCDDBuilder.d.ts +2 -0
- package/dist/test/unit/transactionBuilder/registerDidWithCDDBuilder.d.ts.map +1 -0
- package/dist/test/unit/transactionBuilder/registerDidWithCDDBuilder.js +302 -0
- package/dist/test/unit/transactionBuilder/rejectInstructionBuilder.d.ts +2 -0
- package/dist/test/unit/transactionBuilder/rejectInstructionBuilder.d.ts.map +1 -0
- package/dist/test/unit/transactionBuilder/rejectInstructionBuilder.js +128 -0
- package/dist/test/unit/transactionBuilder/singletonRegistry.d.ts +2 -0
- package/dist/test/unit/transactionBuilder/singletonRegistry.d.ts.map +1 -0
- package/dist/test/unit/transactionBuilder/singletonRegistry.js +59 -0
- package/dist/test/unit/transactionBuilder/tokenTransferBuilder.d.ts +2 -0
- package/dist/test/unit/transactionBuilder/tokenTransferBuilder.d.ts.map +1 -0
- package/dist/test/unit/transactionBuilder/tokenTransferBuilder.js +140 -0
- package/dist/test/unit/transactionBuilder/transactionBuilderFactory.d.ts +2 -0
- package/dist/test/unit/transactionBuilder/transactionBuilderFactory.d.ts.map +1 -0
- package/dist/test/unit/transactionBuilder/transactionBuilderFactory.js +74 -0
- package/dist/test/unit/transactionBuilder/transferBuilder.d.ts +2 -0
- package/dist/test/unit/transactionBuilder/transferBuilder.d.ts.map +1 -0
- package/dist/test/unit/transactionBuilder/transferBuilder.js +326 -0
- package/dist/test/unit/transactionBuilder/unbondBuilder.d.ts +2 -0
- package/dist/test/unit/transactionBuilder/unbondBuilder.d.ts.map +1 -0
- package/dist/test/unit/transactionBuilder/unbondBuilder.js +144 -0
- package/dist/test/unit/transactionBuilder/withdrawUnbondedBuilder.d.ts +2 -0
- package/dist/test/unit/transactionBuilder/withdrawUnbondedBuilder.d.ts.map +1 -0
- package/dist/test/unit/transactionBuilder/withdrawUnbondedBuilder.js +138 -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 +143 -0
- package/dist/tsconfig.tsbuildinfo +1 -0
- package/package.json +19 -10
- package/.eslintignore +0 -4
- package/.mocharc.yml +0 -8
- package/CHANGELOG.md +0 -16
- package/dist/src/lib/keyPair.d.ts +0 -12
- package/dist/src/lib/keyPair.d.ts.map +0 -1
- package/dist/src/lib/keyPair.js +0 -24
- package/dist/src/lib/transactionBuilder.d.ts +0 -43
- package/dist/src/lib/transactionBuilder.d.ts.map +0 -1
- package/dist/src/lib/transactionBuilder.js +0 -78
|
@@ -0,0 +1,59 @@
|
|
|
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 lib_1 = require("../../../src/lib");
|
|
41
|
+
const material = __importStar(require("../../resources/materialData.json"));
|
|
42
|
+
const modifiedMaterial = __importStar(require("../../resources/materialDataModified.json"));
|
|
43
|
+
describe('SingletonRegistry', function () {
|
|
44
|
+
let oldRegistry;
|
|
45
|
+
let newRegistry;
|
|
46
|
+
it('should get the same registry when material is the same', function () {
|
|
47
|
+
oldRegistry = lib_1.SingletonRegistry.getInstance(material);
|
|
48
|
+
should_1.default.notEqual(oldRegistry, null);
|
|
49
|
+
newRegistry = lib_1.SingletonRegistry.getInstance(material);
|
|
50
|
+
oldRegistry.should.equal(newRegistry);
|
|
51
|
+
});
|
|
52
|
+
it('should get a different registry when material is different', function () {
|
|
53
|
+
oldRegistry = lib_1.SingletonRegistry.getInstance(material);
|
|
54
|
+
should_1.default.notEqual(oldRegistry, null);
|
|
55
|
+
newRegistry = lib_1.SingletonRegistry.getInstance(modifiedMaterial);
|
|
56
|
+
oldRegistry.should.not.equal(newRegistry);
|
|
57
|
+
});
|
|
58
|
+
});
|
|
59
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2luZ2xldG9uUmVnaXN0cnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi90ZXN0L3VuaXQvdHJhbnNhY3Rpb25CdWlsZGVyL3NpbmdsZXRvblJlZ2lzdHJ5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsb0RBQTRCO0FBQzVCLDBDQUFxRDtBQUdyRCw0RUFBOEQ7QUFDOUQsNEZBQThFO0FBRTlFLFFBQVEsQ0FBQyxtQkFBbUIsRUFBRTtJQUM1QixJQUFJLFdBQXlCLENBQUM7SUFDOUIsSUFBSSxXQUF5QixDQUFDO0lBRTlCLEVBQUUsQ0FBQyx3REFBd0QsRUFBRTtRQUMzRCxXQUFXLEdBQUcsdUJBQWlCLENBQUMsV0FBVyxDQUFDLFFBQThCLENBQUMsQ0FBQztRQUM1RSxnQkFBTSxDQUFDLFFBQVEsQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDbkMsV0FBVyxHQUFHLHVCQUFpQixDQUFDLFdBQVcsQ0FBQyxRQUE4QixDQUFDLENBQUM7UUFDNUUsV0FBVyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDeEMsQ0FBQyxDQUFDLENBQUM7SUFFSCxFQUFFLENBQUMsNERBQTRELEVBQUU7UUFDL0QsV0FBVyxHQUFHLHVCQUFpQixDQUFDLFdBQVcsQ0FBQyxRQUE4QixDQUFDLENBQUM7UUFDNUUsZ0JBQU0sQ0FBQyxRQUFRLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ25DLFdBQVcsR0FBRyx1QkFBaUIsQ0FBQyxXQUFXLENBQUMsZ0JBQXNDLENBQUMsQ0FBQztRQUNwRixXQUFXLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDNUMsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBzaG91bGQgZnJvbSAnc2hvdWxkJztcbmltcG9ydCB7IFNpbmdsZXRvblJlZ2lzdHJ5IH0gZnJvbSAnLi4vLi4vLi4vc3JjL2xpYic7XG5pbXBvcnQgeyBUeXBlUmVnaXN0cnkgfSBmcm9tICdAc3Vic3RyYXRlL3R4d3JhcHBlci1jb3JlL2xpYi90eXBlcyc7XG5pbXBvcnQgeyBJbnRlcmZhY2UgfSBmcm9tICcuLi8uLi8uLi9zcmMnO1xuaW1wb3J0ICogYXMgbWF0ZXJpYWwgZnJvbSAnLi4vLi4vcmVzb3VyY2VzL21hdGVyaWFsRGF0YS5qc29uJztcbmltcG9ydCAqIGFzIG1vZGlmaWVkTWF0ZXJpYWwgZnJvbSAnLi4vLi4vcmVzb3VyY2VzL21hdGVyaWFsRGF0YU1vZGlmaWVkLmpzb24nO1xuXG5kZXNjcmliZSgnU2luZ2xldG9uUmVnaXN0cnknLCBmdW5jdGlvbiAoKSB7XG4gIGxldCBvbGRSZWdpc3RyeTogVHlwZVJlZ2lzdHJ5O1xuICBsZXQgbmV3UmVnaXN0cnk6IFR5cGVSZWdpc3RyeTtcblxuICBpdCgnc2hvdWxkIGdldCB0aGUgc2FtZSByZWdpc3RyeSB3aGVuIG1hdGVyaWFsIGlzIHRoZSBzYW1lJywgZnVuY3Rpb24gKCkge1xuICAgIG9sZFJlZ2lzdHJ5ID0gU2luZ2xldG9uUmVnaXN0cnkuZ2V0SW5zdGFuY2UobWF0ZXJpYWwgYXMgSW50ZXJmYWNlLk1hdGVyaWFsKTtcbiAgICBzaG91bGQubm90RXF1YWwob2xkUmVnaXN0cnksIG51bGwpO1xuICAgIG5ld1JlZ2lzdHJ5ID0gU2luZ2xldG9uUmVnaXN0cnkuZ2V0SW5zdGFuY2UobWF0ZXJpYWwgYXMgSW50ZXJmYWNlLk1hdGVyaWFsKTtcbiAgICBvbGRSZWdpc3RyeS5zaG91bGQuZXF1YWwobmV3UmVnaXN0cnkpO1xuICB9KTtcblxuICBpdCgnc2hvdWxkIGdldCBhIGRpZmZlcmVudCByZWdpc3RyeSB3aGVuIG1hdGVyaWFsIGlzIGRpZmZlcmVudCcsIGZ1bmN0aW9uICgpIHtcbiAgICBvbGRSZWdpc3RyeSA9IFNpbmdsZXRvblJlZ2lzdHJ5LmdldEluc3RhbmNlKG1hdGVyaWFsIGFzIEludGVyZmFjZS5NYXRlcmlhbCk7XG4gICAgc2hvdWxkLm5vdEVxdWFsKG9sZFJlZ2lzdHJ5LCBudWxsKTtcbiAgICBuZXdSZWdpc3RyeSA9IFNpbmdsZXRvblJlZ2lzdHJ5LmdldEluc3RhbmNlKG1vZGlmaWVkTWF0ZXJpYWwgYXMgSW50ZXJmYWNlLk1hdGVyaWFsKTtcbiAgICBvbGRSZWdpc3RyeS5zaG91bGQubm90LmVxdWFsKG5ld1JlZ2lzdHJ5KTtcbiAgfSk7XG59KTtcbiJdfQ==
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tokenTransferBuilder.d.ts","sourceRoot":"","sources":["../../../../test/unit/transactionBuilder/tokenTransferBuilder.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,140 @@
|
|
|
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 lib_1 = require("../../../src/lib");
|
|
8
|
+
const src_1 = require("../../../src");
|
|
9
|
+
const resources_1 = require("../../resources");
|
|
10
|
+
const base_1 = require("./base");
|
|
11
|
+
const resources_2 = require("../../../src/resources");
|
|
12
|
+
describe('Polyx token transfer Builder - Testnet', () => {
|
|
13
|
+
let builder;
|
|
14
|
+
const sender = resources_1.accounts.rbitgoTokenOwner;
|
|
15
|
+
const senderDID = '0x28e8649fec23dd688090b9b5bb950fd34bf20a014cf05542e3ad0264915ee775';
|
|
16
|
+
const receiverDID = '0x9202856204a721d2f5e8b85408067d54f1ca84390bf4f558b5615a5a6d3bddb8';
|
|
17
|
+
const assetId = '0x780602887b358cf48989d0d9aa6c8d28';
|
|
18
|
+
beforeEach(() => {
|
|
19
|
+
const config = (0, base_1.buildTestConfig)();
|
|
20
|
+
builder = new lib_1.TokenTransferBuilder(config).material(src_1.utils.getMaterial(config.network.type));
|
|
21
|
+
});
|
|
22
|
+
describe('build tokenTransfer transaction', () => {
|
|
23
|
+
it('should build a tokenTransfer transaction', async () => {
|
|
24
|
+
builder
|
|
25
|
+
.toDID(receiverDID)
|
|
26
|
+
.fromDID(senderDID)
|
|
27
|
+
.memo('0')
|
|
28
|
+
.assetId(assetId)
|
|
29
|
+
.amount('100')
|
|
30
|
+
.sender({ address: sender.address })
|
|
31
|
+
.validity({ firstValid: 3933, maxDuration: 64 })
|
|
32
|
+
.referenceBlock('0x149799bc9602cb5cf201f3425fb8d253b2d4e61fc119dcab3249f307f594754d')
|
|
33
|
+
.sequenceId({ name: 'Nonce', keyword: 'nonce', value: 200 })
|
|
34
|
+
.fee({ amount: 0, type: 'tip' });
|
|
35
|
+
builder.addSignature({ pub: sender.publicKey }, Buffer.from(resources_1.mockTssSignature, 'hex'));
|
|
36
|
+
const tx = await builder.build();
|
|
37
|
+
const txJson = tx.toJson();
|
|
38
|
+
should_1.default.deepEqual(txJson.amount, '100');
|
|
39
|
+
should_1.default.deepEqual(txJson.toDID, receiverDID);
|
|
40
|
+
should_1.default.deepEqual(txJson.fromDID, senderDID);
|
|
41
|
+
should_1.default.deepEqual(txJson.sender, sender.address);
|
|
42
|
+
should_1.default.deepEqual(txJson.assetId, assetId);
|
|
43
|
+
should_1.default.deepEqual(txJson.memo, '0x3030303030303030303030303030303030303030303030303030303030303030');
|
|
44
|
+
should_1.default.deepEqual(txJson.blockNumber, 3933);
|
|
45
|
+
should_1.default.deepEqual(txJson.referenceBlock, '0x149799bc9602cb5cf201f3425fb8d253b2d4e61fc119dcab3249f307f594754d');
|
|
46
|
+
should_1.default.deepEqual(txJson.genesisHash, resources_1.genesisHash);
|
|
47
|
+
should_1.default.deepEqual(txJson.specVersion, Number(resources_2.testnetMaterial.specVersion));
|
|
48
|
+
should_1.default.deepEqual(txJson.nonce, 200);
|
|
49
|
+
should_1.default.deepEqual(txJson.tip, 0);
|
|
50
|
+
should_1.default.deepEqual(txJson.transactionVersion, Number(resources_2.testnetMaterial.txVersion));
|
|
51
|
+
should_1.default.deepEqual(txJson.chainName, resources_2.testnetMaterial.chainName);
|
|
52
|
+
should_1.default.deepEqual(txJson.eraPeriod, 64);
|
|
53
|
+
const inputs = tx.inputs[0];
|
|
54
|
+
should_1.default.deepEqual(inputs.address, senderDID);
|
|
55
|
+
should_1.default.deepEqual(inputs.value, '100');
|
|
56
|
+
const outputs = tx.outputs[0];
|
|
57
|
+
should_1.default.deepEqual(outputs.address, receiverDID);
|
|
58
|
+
should_1.default.deepEqual(outputs.value, '100');
|
|
59
|
+
});
|
|
60
|
+
it('should build an unsigned tokenTransfer transaction', async () => {
|
|
61
|
+
builder
|
|
62
|
+
.toDID(receiverDID)
|
|
63
|
+
.fromDID(senderDID)
|
|
64
|
+
.memo('0')
|
|
65
|
+
.assetId(assetId)
|
|
66
|
+
.amount('100')
|
|
67
|
+
.sender({ address: sender.address })
|
|
68
|
+
.validity({ firstValid: 3933, maxDuration: 64 })
|
|
69
|
+
.referenceBlock('0x149799bc9602cb5cf201f3425fb8d253b2d4e61fc119dcab3249f307f594754d')
|
|
70
|
+
.sequenceId({ name: 'Nonce', keyword: 'nonce', value: 200 })
|
|
71
|
+
.fee({ amount: 0, type: 'tip' });
|
|
72
|
+
const tx = await builder.build();
|
|
73
|
+
const txJson = tx.toJson();
|
|
74
|
+
should_1.default.deepEqual(txJson.amount, '100');
|
|
75
|
+
should_1.default.deepEqual(txJson.toDID, receiverDID);
|
|
76
|
+
should_1.default.deepEqual(txJson.fromDID, senderDID);
|
|
77
|
+
should_1.default.deepEqual(txJson.sender, sender.address);
|
|
78
|
+
should_1.default.deepEqual(txJson.assetId, assetId);
|
|
79
|
+
should_1.default.deepEqual(txJson.memo, '0x3030303030303030303030303030303030303030303030303030303030303030');
|
|
80
|
+
should_1.default.deepEqual(txJson.blockNumber, 3933);
|
|
81
|
+
should_1.default.deepEqual(txJson.referenceBlock, '0x149799bc9602cb5cf201f3425fb8d253b2d4e61fc119dcab3249f307f594754d');
|
|
82
|
+
should_1.default.deepEqual(txJson.genesisHash, resources_1.genesisHash);
|
|
83
|
+
should_1.default.deepEqual(txJson.specVersion, Number(resources_2.testnetMaterial.specVersion));
|
|
84
|
+
should_1.default.deepEqual(txJson.nonce, 200);
|
|
85
|
+
should_1.default.deepEqual(txJson.tip, 0);
|
|
86
|
+
should_1.default.deepEqual(txJson.transactionVersion, Number(resources_2.testnetMaterial.txVersion));
|
|
87
|
+
should_1.default.deepEqual(txJson.chainName, resources_1.chainName);
|
|
88
|
+
should_1.default.deepEqual(txJson.eraPeriod, 64);
|
|
89
|
+
});
|
|
90
|
+
it('should build from raw signed tx', async () => {
|
|
91
|
+
builder.from(resources_1.rawTx.tokenTransfer.signed);
|
|
92
|
+
builder
|
|
93
|
+
.validity({ firstValid: 3933, maxDuration: 64 })
|
|
94
|
+
.referenceBlock('0x149799bc9602cb5cf201f3425fb8d253b2d4e61fc119dcab3249f307f594754d');
|
|
95
|
+
const tx = await builder.build();
|
|
96
|
+
const txJson = tx.toJson();
|
|
97
|
+
should_1.default.deepEqual(txJson.amount, '1000000');
|
|
98
|
+
should_1.default.deepEqual(txJson.toDID, '0xbc6f7ec808f361c1353ab9dc88c3cc54b98d9eb60fed9c063e67a40925b8ef61');
|
|
99
|
+
should_1.default.deepEqual(txJson.fromDID, '0x1208d7851e6698249aea40742701ee1ef6cdcced260a7c49c1cca1a9db836342');
|
|
100
|
+
should_1.default.deepEqual(txJson.sender, '5HK1b9uRQqkj422kbWmDYFgzoLcjtVZAgP9yXkQyAMNDJnpX');
|
|
101
|
+
should_1.default.deepEqual(txJson.assetId, '0x780602887b358cf48989d0d9aa6c8d28');
|
|
102
|
+
should_1.default.deepEqual(txJson.memo, '0x3000000000000000000000000000000000000000000000000000000000000000');
|
|
103
|
+
should_1.default.deepEqual(txJson.blockNumber, 3933);
|
|
104
|
+
should_1.default.deepEqual(txJson.referenceBlock, '0x149799bc9602cb5cf201f3425fb8d253b2d4e61fc119dcab3249f307f594754d');
|
|
105
|
+
should_1.default.deepEqual(txJson.genesisHash, resources_1.genesisHash);
|
|
106
|
+
should_1.default.deepEqual(txJson.specVersion, Number(resources_2.testnetMaterial.specVersion));
|
|
107
|
+
should_1.default.deepEqual(txJson.nonce, 3);
|
|
108
|
+
should_1.default.deepEqual(txJson.tip, 0);
|
|
109
|
+
should_1.default.deepEqual(txJson.transactionVersion, Number(resources_2.testnetMaterial.txVersion));
|
|
110
|
+
should_1.default.deepEqual(txJson.chainName, resources_1.chainName);
|
|
111
|
+
should_1.default.deepEqual(txJson.eraPeriod, 64);
|
|
112
|
+
});
|
|
113
|
+
it('should build from raw unsigned tx', async () => {
|
|
114
|
+
builder.from(resources_1.rawTx.tokenTransfer.unsigned);
|
|
115
|
+
builder
|
|
116
|
+
.validity({ firstValid: 3933, maxDuration: 64 })
|
|
117
|
+
.referenceBlock('0x149799bc9602cb5cf201f3425fb8d253b2d4e61fc119dcab3249f307f594754d')
|
|
118
|
+
.sender({ address: '5HK1b9uRQqkj422kbWmDYFgzoLcjtVZAgP9yXkQyAMNDJnpX' })
|
|
119
|
+
.addSignature({ pub: sender.publicKey }, Buffer.from(resources_1.mockTssSignature, 'hex'));
|
|
120
|
+
const tx = await builder.build();
|
|
121
|
+
const txJson = tx.toJson();
|
|
122
|
+
should_1.default.deepEqual(txJson.amount, '1000000');
|
|
123
|
+
should_1.default.deepEqual(txJson.toDID, '0xbc6f7ec808f361c1353ab9dc88c3cc54b98d9eb60fed9c063e67a40925b8ef61');
|
|
124
|
+
should_1.default.deepEqual(txJson.fromDID, '0x1208d7851e6698249aea40742701ee1ef6cdcced260a7c49c1cca1a9db836342');
|
|
125
|
+
should_1.default.deepEqual(txJson.sender, '5HK1b9uRQqkj422kbWmDYFgzoLcjtVZAgP9yXkQyAMNDJnpX');
|
|
126
|
+
should_1.default.deepEqual(txJson.assetId, '0x780602887b358cf48989d0d9aa6c8d28');
|
|
127
|
+
should_1.default.deepEqual(txJson.memo, '0x3000000000000000000000000000000000000000000000000000000000000000');
|
|
128
|
+
should_1.default.deepEqual(txJson.blockNumber, 3933);
|
|
129
|
+
should_1.default.deepEqual(txJson.referenceBlock, '0x149799bc9602cb5cf201f3425fb8d253b2d4e61fc119dcab3249f307f594754d');
|
|
130
|
+
should_1.default.deepEqual(txJson.genesisHash, resources_1.genesisHash);
|
|
131
|
+
should_1.default.deepEqual(txJson.specVersion, Number(resources_2.testnetMaterial.specVersion));
|
|
132
|
+
should_1.default.deepEqual(txJson.nonce, 3);
|
|
133
|
+
should_1.default.deepEqual(txJson.eraPeriod, 64);
|
|
134
|
+
should_1.default.deepEqual(txJson.tip, 0);
|
|
135
|
+
should_1.default.deepEqual(txJson.transactionVersion, Number(resources_2.testnetMaterial.txVersion));
|
|
136
|
+
should_1.default.deepEqual(txJson.chainName, resources_1.chainName);
|
|
137
|
+
});
|
|
138
|
+
});
|
|
139
|
+
});
|
|
140
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9rZW5UcmFuc2ZlckJ1aWxkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi90ZXN0L3VuaXQvdHJhbnNhY3Rpb25CdWlsZGVyL3Rva2VuVHJhbnNmZXJCdWlsZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsb0RBQTRCO0FBQzVCLDBDQUF3RDtBQUN4RCxzQ0FBcUM7QUFFckMsK0NBQTRGO0FBQzVGLGlDQUF5QztBQUN6QyxzREFBeUQ7QUFFekQsUUFBUSxDQUFDLHdDQUF3QyxFQUFFLEdBQUcsRUFBRTtJQUN0RCxJQUFJLE9BQTZCLENBQUM7SUFFbEMsTUFBTSxNQUFNLEdBQUcsb0JBQVEsQ0FBQyxnQkFBZ0IsQ0FBQztJQUN6QyxNQUFNLFNBQVMsR0FBRyxvRUFBb0UsQ0FBQztJQUN2RixNQUFNLFdBQVcsR0FBRyxvRUFBb0UsQ0FBQztJQUN6RixNQUFNLE9BQU8sR0FBRyxvQ0FBb0MsQ0FBQztJQUVyRCxVQUFVLENBQUMsR0FBRyxFQUFFO1FBQ2QsTUFBTSxNQUFNLEdBQUcsSUFBQSxzQkFBZSxHQUFFLENBQUM7UUFDakMsT0FBTyxHQUFHLElBQUksMEJBQW9CLENBQUMsTUFBTSxDQUFDLENBQUMsUUFBUSxDQUFDLFdBQUssQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQzlGLENBQUMsQ0FBQyxDQUFDO0lBRUgsUUFBUSxDQUFDLGlDQUFpQyxFQUFFLEdBQUcsRUFBRTtRQUMvQyxFQUFFLENBQUMsMENBQTBDLEVBQUUsS0FBSyxJQUFJLEVBQUU7WUFDeEQsT0FBTztpQkFDSixLQUFLLENBQUMsV0FBVyxDQUFDO2lCQUNsQixPQUFPLENBQUMsU0FBUyxDQUFDO2lCQUNsQixJQUFJLENBQUMsR0FBRyxDQUFDO2lCQUNULE9BQU8sQ0FBQyxPQUFPLENBQUM7aUJBQ2hCLE1BQU0sQ0FBQyxLQUFLLENBQUM7aUJBQ2IsTUFBTSxDQUFDLEVBQUUs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Q0FBQztRQUNoRCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgc2hvdWxkIGZyb20gJ3Nob3VsZCc7XG5pbXBvcnQgeyBUb2tlblRyYW5zZmVyQnVpbGRlciB9IGZyb20gJy4uLy4uLy4uL3NyYy9saWInO1xuaW1wb3J0IHsgdXRpbHMgfSBmcm9tICcuLi8uLi8uLi9zcmMnO1xuXG5pbXBvcnQgeyBhY2NvdW50cywgcmF3VHgsIGNoYWluTmFtZSwgZ2VuZXNpc0hhc2gsIG1vY2tUc3NTaWduYXR1cmUgfSBmcm9tICcuLi8uLi9yZXNvdXJjZXMnO1xuaW1wb3J0IHsgYnVpbGRUZXN0Q29uZmlnIH0gZnJvbSAnLi9iYXNlJztcbmltcG9ydCB7IHRlc3RuZXRNYXRlcmlhbCB9IGZyb20gJy4uLy4uLy4uL3NyYy9yZXNvdXJjZXMnO1xuXG5kZXNjcmliZSgnUG9seXggdG9rZW4gdHJhbnNmZXIgQnVpbGRlciAtIFRlc3RuZXQnLCAoKSA9PiB7XG4gIGxldCBidWlsZGVyOiBUb2tlblRyYW5zZmVyQnVpbGRlcjtcblxuICBjb25zdCBzZW5kZXIgPSBhY2NvdW50cy5yYml0Z29Ub2tlbk93bmVyO1xuICBjb25zdCBzZW5kZXJESUQgPSAnMHgyOGU4NjQ5ZmVjMjNkZDY4ODA5MGI5YjViYjk1MGZkMzRiZjIwYTAxNGNmMDU1NDJlM2FkMDI2NDkxNWVlNzc1JztcbiAgY29uc3QgcmVjZWl2ZXJESUQgPSAnMHg5MjAyODU2MjA0YTcyMWQyZjVlOGI4NTQwODA2N2Q1NGYxY2E4NDM5MGJmNGY1NThiNTYxNWE1YTZkM2JkZGI4JztcbiAgY29uc3QgYXNzZXRJZCA9ICcweDc4MDYwMjg4N2IzNThjZjQ4OTg5ZDBkOWFhNmM4ZDI4JztcblxuICBiZWZvcmVFYWNoKCgpID0+IHtcbiAgICBjb25zdCBjb25maWcgPSBidWlsZFRlc3RDb25maWcoKTtcbiAgICBidWlsZGVyID0gbmV3IFRva2VuVHJhbnNmZXJCdWlsZGVyKGNvbmZpZykubWF0ZXJpYWwodXRpbHMuZ2V0TWF0ZXJpYWwoY29uZmlnLm5ldHdvcmsudHlwZSkpO1xuICB9KTtcblxuICBkZXNjcmliZSgnYnVpbGQgdG9rZW5UcmFuc2ZlciB0cmFuc2FjdGlvbicsICgpID0+IHtcbiAgICBpdCgnc2hvdWxkIGJ1aWxkIGEgdG9rZW5UcmFuc2ZlciB0cmFuc2FjdGlvbicsIGFzeW5jICgpID0+IHtcbiAgICAgIGJ1aWxkZXJcbiAgICAgICAgLnRvRElEKHJlY2VpdmVyRElEKVxuICAgICAgICAuZnJvbURJRChzZW5kZXJESUQpXG4gICAgICAgIC5tZW1vKCcwJylcbiAgICAgICAgLmFzc2V0SWQoYXNzZXRJZClcbiAgICAgICAgLmFtb3VudCgnMTAwJylcbiAgICAgICAgLnNlbmRlcih7IGFkZHJlc3M6IHNlbmRlci5hZGRyZXNzIH0pXG4gICAgICAgIC52YWxpZGl0eSh7IGZpcnN0VmFsaWQ6IDM5MzMsIG1heER1cmF0aW9uOiA2NCB9KVxuICAgICAgICAucmVmZXJlbmNlQmxvY2soJzB4MTQ5Nzk5YmM5NjAyY2I1Y2YyMDFmMzQyNWZiOGQyNTNiMmQ0ZTYxZmMxMTlkY2FiMzI0OWYzMDdmNTk0NzU0ZCcpXG4gICAgICAgIC5zZXF1ZW5jZUlkKHsgbmFtZTogJ05vbmNlJywga2V5d29yZDogJ25vbmNlJywgdmFsdWU6IDIwMCB9KVxuICAgICAgICAuZmVlKHsgYW1vdW50OiAwLCB0eXBlOiAndGlwJyB9KTtcbiAgICAgIGJ1aWxkZXIuYWRkU2lnbmF0dXJlKHsgcHViOiBzZW5kZXIucHVibGljS2V5IH0sIEJ1ZmZlci5mcm9tKG1vY2tUc3NTaWduYXR1cmUsICdoZXgnKSk7XG4gICAgICBjb25zdCB0eCA9IGF3YWl0IGJ1aWxkZXIuYnVpbGQoKTtcbiAgICAgIGNvbnN0IHR4SnNvbiA9IHR4LnRvSnNvbigpO1xuICAgICAgc2hvdWxkLmRlZXBFcXVhbCh0eEpzb24uYW1vdW50LCAnMTAwJyk7XG4gICAgICBzaG91bGQuZGVlcEVxdWFsKHR4SnNvbi50b0RJRCwgcmVjZWl2ZXJESUQpO1xuICAgICAgc2hvdWxkLmRlZXBFcXVhbCh0eEpzb24uZnJvbURJRCwgc2VuZGVyRElEKTtcbiAgICAgIHNob3VsZC5kZWVwRXF1YWwodHhKc29uLnNlbmRlciwgc2VuZGVyLmFkZHJlc3MpO1xuICAgICAgc2hvdWxkLmRlZXBFcXVhbCh0eEpzb24uYXNzZXRJZCwgYXNzZXRJZCk7XG4gICAgICBzaG91bGQuZGVlcEVxdWFsKHR4SnNvbi5tZW1vLCAnMHgzMDMwMzAzMDMwMzAzMDMwMzAzMDMwMzAzMDMwMzAzMDMwMzAzMDMwMzAzMDMwMzAzMDMwMzAzMDMwMzAzMDMwJyk7XG4gICAgICBzaG91bGQuZGVlcEVxdWFsKHR4SnNvbi5ibG9ja051bWJlciwgMzkzMyk7XG4gICAgICBzaG91bGQuZGVlcEVxdWFsKHR4SnNvbi5yZWZlcmVuY2VCbG9jaywgJzB4MTQ5Nzk5YmM5NjAyY2I1Y2YyMDFmMzQyNWZiOGQyNTNiMmQ0ZTYxZmMxMTlkY2FiMzI0OWYzMDdmNTk0NzU0ZCcpO1xuICAgICAgc2hvdWxkLmRlZXBFcXVhbCh0eEpzb24uZ2VuZXNpc0hhc2gsIGdlbmVzaXNIYXNoKTtcbiAgICAgIHNob3VsZC5kZWVwRXF1YWwodHhKc29uLnNwZWNWZXJzaW9uLCBOdW1iZXIodGVzdG5ldE1hdGVyaWFsLnNwZWNWZXJzaW9uKSk7XG4gICAgICBzaG91bGQuZGVlcEVxdWFsKHR4SnNvbi5ub25jZSwgMjAwKTtcbiAgICAgIHNob3VsZC5kZWVwRXF1YWwodHhKc29uLnRpcCwgMCk7XG4gICAgICBzaG91bGQuZGVlcEVxdWFsKHR4SnNvbi50cmFuc2FjdGlvblZlcnNpb24sIE51bWJlcih0ZXN0bmV0TWF0ZXJpYWwudHhWZXJzaW9uKSk7XG4gICAgICBzaG91bGQuZGVlcEVxdWFsKHR4SnNvbi5jaGFpbk5hbWUsIHRlc3RuZXRNYXRlcmlhbC5jaGFpbk5hbWUpO1xuICAgICAgc2hvdWxkLmRlZXBFcXVhbCh0eEpzb24uZXJhUGVyaW9kLCA2NCk7XG5cbiAgICAgIGNvbnN0IGlucHV0cyA9IHR4LmlucHV0c1swXTtcbiAgICAgIHNob3VsZC5kZWVwRXF1YWwoaW5wdXRzLmFkZHJlc3MsIHNlbmRlckRJRCk7XG4gICAgICBzaG91bGQuZGVlcEVxdWFsKGlucHV0cy52YWx1ZSwgJzEwMCcpO1xuXG4gICAgICBjb25zdCBvdXRwdXRzID0gdHgub3V0cHV0c1swXTtcbiAgICAgIHNob3VsZC5kZWVwRXF1YWwob3V0cHV0cy5hZGRyZXNzLCByZWNlaXZlckRJRCk7XG4gICAgICBzaG91bGQuZGVlcEVxdWFsKG91dHB1dHMudmFsdWUsICcxMDAnKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgYnVpbGQgYW4gdW5zaWduZWQgdG9rZW5UcmFuc2ZlciB0cmFuc2FjdGlvbicsIGFzeW5jICgpID0+IHtcbiAgICAgIGJ1aWxkZXJcbiAgICAgICAgLnRvRElEKHJlY2VpdmVyRElEKVxuICAgICAgICAuZnJvbURJRChzZW5kZXJESUQpXG4gICAgICAgIC5tZW1vKCcwJylcbiAgICAgICAgLmFzc2V0SWQoYXNzZXRJZClcbiAgICAgICAgLmFtb3VudCgnMTAwJylcbiAgICAgICAgLnNlbmRlcih7IGFkZHJlc3M6IHNlbmRlci5hZGRyZXNzIH0pXG4gICAgICAgIC52YWxpZGl0eSh7IGZpcnN0VmFsaWQ6IDM5MzMsIG1heER1cmF0aW9uOiA2NCB9KVxuICAgICAgICAucmVmZXJlbmNlQmxvY2soJzB4MTQ5Nzk5YmM5NjAyY2I1Y2YyMDFmMzQyNWZiOGQyNTNiMmQ0ZTYxZmMxMTlkY2FiMzI0OWYzMDdmNTk0NzU0ZCcpXG4gICAgICAgIC5zZXF1ZW5jZUlkKHsgbmFtZTogJ05vbmNlJywga2V5d29yZDogJ25vbmNlJywgdmFsdWU6IDIwMCB9KVxuICAgICAgICAuZmVlKHsgYW1vdW50OiAwLCB0eXBlOiAndGlwJyB9KTtcbiAgICAgIGNvbnN0IHR4ID0gYXdhaXQgYnVpbGRlci5idWlsZCgpO1xuICAgICAgY29uc3QgdHhKc29uID0gdHgudG9Kc29uKCk7XG4gICAgICBzaG91bGQuZGVlcEVxdWFsKHR4SnNvbi5hbW91bnQsICcxMDAnKTtcbiAgICAgIHNob3VsZC5kZWVwRXF1YWwodHhKc29uLnRvRElELCByZWNlaXZlckRJRCk7XG4gICAgICBzaG91bGQuZGVlcEVxdWFsKHR4SnNvbi5mcm9tRElELCBzZW5kZXJESUQpO1xuICAgICAgc2hvdWxkLmRlZXBFcXVhbCh0eEpzb24uc2VuZGVyLCBzZW5kZXIuYWRkcmVzcyk7XG4gICAgICBzaG91bGQuZGVlcEVxdWFsKHR4SnNvbi5hc3NldElkLCBhc3NldElkKTtcbiAgICAgIHNob3VsZC5kZWVwRXF1YWwodHhKc29uLm1lbW8sICcweDMwMzAzMDMwMzAzMDMwMzAzMDMwMzAzMDMwMzAzMDMwMzAzMDMwMzAzMDMwMzAzMDMwMzAzMDMwMzAzMDMwMzAnKTtcbiAgICAgIHNob3VsZC5kZWVwRXF1YWwodHhKc29uLmJsb2NrTnVtYmVyLCAzOTMzKTtcbiAgICAgIHNob3VsZC5kZWVwRXF1YWwodHhKc29uLnJlZmVyZW5jZUJsb2NrLCAnMHgxNDk3OTliYzk2MDJjYjVjZjIwMWYzNDI1ZmI4ZDI1M2IyZDRlNjFmYzExOWRjYWIzMjQ5ZjMwN2Y1OTQ3NTRkJyk7XG4gICAgICBzaG91bGQuZGVlcEVxdWFsKHR4SnNvbi5nZW5lc2lzSGFzaCwgZ2VuZXNpc0hhc2gpO1xuICAgICAgc2hvdWxkLmRlZXBFcXVhbCh0eEpzb24uc3BlY1ZlcnNpb24sIE51bWJlcih0ZXN0bmV0TWF0ZXJpYWwuc3BlY1ZlcnNpb24pKTtcbiAgICAgIHNob3VsZC5kZWVwRXF1YWwodHhKc29uLm5vbmNlLCAyMDApO1xuICAgICAgc2hvdWxkLmRlZXBFcXVhbCh0eEpzb24udGlwLCAwKTtcbiAgICAgIHNob3VsZC5kZWVwRXF1YWwodHhKc29uLnRyYW5zYWN0aW9uVmVyc2lvbiwgTnVtYmVyKHRlc3RuZXRNYXRlcmlhbC50eFZlcnNpb24pKTtcbiAgICAgIHNob3VsZC5kZWVwRXF1YWwodHhKc29uLmNoYWluTmFtZSwgY2hhaW5OYW1lKTtcbiAgICAgIHNob3VsZC5kZWVwRXF1YWwodHhKc29uLmVyYVBlcmlvZCwgNjQpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCBidWlsZCBmcm9tIHJhdyBzaWduZWQgdHgnLCBhc3luYyAoKSA9PiB7XG4gICAgICBidWlsZGVyLmZyb20ocmF3VHgudG9rZW5UcmFuc2Zlci5zaWduZWQpO1xuICAgICAgYnVpbGRlclxuICAgICAgICAudmFsaWRpdHkoeyBmaXJzdFZhbGlkOiAzOTMzLCBtYXhEdXJhdGlvbjogNjQgfSlcbiAgICAgICAgLnJlZmVyZW5jZUJsb2NrKCcweDE0OTc5OWJjOTYwMmNiNWNmMjAxZjM0MjVmYjhkMjUzYjJkNGU2MWZjMTE5ZGNhYjMyNDlmMzA3ZjU5NDc1NGQnKTtcbiAgICAgIGNvbnN0IHR4ID0gYXdhaXQgYnVpbGRlci5idWlsZCgpO1xuICAgICAgY29uc3QgdHhKc29uID0gdHgudG9Kc29uKCk7XG4gICAgICBzaG91bGQuZGVlcEVxdWFsKHR4SnNvbi5hbW91bnQsICcxMDAwMDAwJyk7XG4gICAgICBzaG91bGQuZGVlcEVxdWFsKHR4SnNvbi50b0RJRCwgJzB4YmM2ZjdlYzgwOGYzNjFjMTM1M2FiOWRjODhjM2NjNTRiOThkOWViNjBmZWQ5YzA2M2U2N2E0MDkyNWI4ZWY2MScpO1xuICAgICAgc2hvdWxkLmRlZXBFcXVhbCh0eEpzb24uZnJvbURJRCwgJzB4MTIwOGQ3ODUxZTY2OTgyNDlhZWE0MDc0MjcwMWVlMWVmNmNkY2NlZDI2MGE3YzQ5YzFjY2ExYTlkYjgzNjM0MicpO1xuICAgICAgc2hvdWxkLmRlZXBFcXVhbCh0eEpzb24uc2VuZGVyLCAnNUhLMWI5dVJRcWtqNDIya2JXbURZRmd6b0xjanRWWkFnUDl5WGtReUFNTkRKbnBYJyk7XG4gICAgICBzaG91bGQuZGVlcEVxdWFsKHR4SnNvbi5hc3NldElkLCAnMHg3ODA2MDI4ODdiMzU4Y2Y0ODk4OWQwZDlhYTZjOGQyOCcpO1xuICAgICAgc2hvdWxkLmRlZXBFcXVhbCh0eEpzb24ubWVtbywgJzB4MzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCcpO1xuICAgICAgc2hvdWxkLmRlZXBFcXVhbCh0eEpzb24uYmxvY2tOdW1iZXIsIDM5MzMpO1xuICAgICAgc2hvdWxkLmRlZXBFcXVhbCh0eEpzb24ucmVmZXJlbmNlQmxvY2ssICcweDE0OTc5OWJjOTYwMmNiNWNmMjAxZjM0MjVmYjhkMjUzYjJkNGU2MWZjMTE5ZGNhYjMyNDlmMzA3ZjU5NDc1NGQnKTtcbiAgICAgIHNob3VsZC5kZWVwRXF1YWwodHhKc29uLmdlbmVzaXNIYXNoLCBnZW5lc2lzSGFzaCk7XG4gICAgICBzaG91bGQuZGVlcEVxdWFsKHR4SnNvbi5zcGVjVmVyc2lvbiwgTnVtYmVyKHRlc3RuZXRNYXRlcmlhbC5zcGVjVmVyc2lvbikpO1xuICAgICAgc2hvdWxkLmRlZXBFcXVhbCh0eEpzb24ubm9uY2UsIDMpO1xuICAgICAgc2hvdWxkLmRlZXBFcXVhbCh0eEpzb24udGlwLCAwKTtcbiAgICAgIHNob3VsZC5kZWVwRXF1YWwodHhKc29uLnRyYW5zYWN0aW9uVmVyc2lvbiwgTnVtYmVyKHRlc3RuZXRNYXRlcmlhbC50eFZlcnNpb24pKTtcbiAgICAgIHNob3VsZC5kZWVwRXF1YWwodHhKc29uLmNoYWluTmFtZSwgY2hhaW5OYW1lKTtcbiAgICAgIHNob3VsZC5kZWVwRXF1YWwodHhKc29uLmVyYVBlcmlvZCwgNjQpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCBidWlsZCBmcm9tIHJhdyB1bnNpZ25lZCB0eCcsIGFzeW5jICgpID0+IHtcbiAgICAgIGJ1aWxkZXIuZnJvbShyYXdUeC50b2tlblRyYW5zZmVyLnVuc2lnbmVkKTtcbiAgICAgIGJ1aWxkZXJcbiAgICAgICAgLnZhbGlkaXR5KHsgZmlyc3RWYWxpZDogMzkzMywgbWF4RHVyYXRpb246IDY0IH0pXG4gICAgICAgIC5yZWZlcmVuY2VCbG9jaygnMHgxNDk3OTliYzk2MDJjYjVjZjIwMWYzNDI1ZmI4ZDI1M2IyZDRlNjFmYzExOWRjYWIzMjQ5ZjMwN2Y1OTQ3NTRkJylcbiAgICAgICAgLnNlbmRlcih7IGFkZHJlc3M6ICc1SEsxYjl1UlFxa2o0MjJrYldtRFlGZ3pvTGNqdFZaQWdQOXlYa1F5QU1OREpucFgnIH0pXG4gICAgICAgIC5hZGRTaWduYXR1cmUoeyBwdWI6IHNlbmRlci5wdWJsaWNLZXkgfSwgQnVmZmVyLmZyb20obW9ja1Rzc1NpZ25hdHVyZSwgJ2hleCcpKTtcblxuICAgICAgY29uc3QgdHggPSBhd2FpdCBidWlsZGVyLmJ1aWxkKCk7XG4gICAgICBjb25zdCB0eEpzb24gPSB0eC50b0pzb24oKTtcbiAgICAgIHNob3VsZC5kZWVwRXF1YWwodHhKc29uLmFtb3VudCwgJzEwMDAwMDAnKTtcbiAgICAgIHNob3VsZC5kZWVwRXF1YWwodHhKc29uLnRvRElELCAnMHhiYzZmN2VjODA4ZjM2MWMxMzUzYWI5ZGM4OGMzY2M1NGI5OGQ5ZWI2MGZlZDljMDYzZTY3YTQwOTI1YjhlZjYxJyk7XG4gICAgICBzaG91bGQuZGVlcEVxdWFsKHR4SnNvbi5mcm9tRElELCAnMHgxMjA4ZDc4NTFlNjY5ODI0OWFlYTQwNzQyNzAxZWUxZWY2Y2RjY2VkMjYwYTdjNDljMWNjYTFhOWRiODM2MzQyJyk7XG4gICAgICBzaG91bGQuZGVlcEVxdWFsKHR4SnNvbi5zZW5kZXIsICc1SEsxYjl1UlFxa2o0MjJrYldtRFlGZ3pvTGNqdFZaQWdQOXlYa1F5QU1OREpucFgnKTtcbiAgICAgIHNob3VsZC5kZWVwRXF1YWwodHhKc29uLmFzc2V0SWQsICcweDc4MDYwMjg4N2IzNThjZjQ4OTg5ZDBkOWFhNmM4ZDI4Jyk7XG4gICAgICBzaG91bGQuZGVlcEVxdWFsKHR4SnNvbi5tZW1vLCAnMHgzMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwJyk7XG4gICAgICBzaG91bGQuZGVlcEVxdWFsKHR4SnNvbi5ibG9ja051bWJlciwgMzkzMyk7XG4gICAgICBzaG91bGQuZGVlcEVxdWFsKHR4SnNvbi5yZWZlcmVuY2VCbG9jaywgJzB4MTQ5Nzk5YmM5NjAyY2I1Y2YyMDFmMzQyNWZiOGQyNTNiMmQ0ZTYxZmMxMTlkY2FiMzI0OWYzMDdmNTk0NzU0ZCcpO1xuICAgICAgc2hvdWxkLmRlZXBFcXVhbCh0eEpzb24uZ2VuZXNpc0hhc2gsIGdlbmVzaXNIYXNoKTtcbiAgICAgIHNob3VsZC5kZWVwRXF1YWwodHhKc29uLnNwZWNWZXJzaW9uLCBOdW1iZXIodGVzdG5ldE1hdGVyaWFsLnNwZWNWZXJzaW9uKSk7XG4gICAgICBzaG91bGQuZGVlcEVxdWFsKHR4SnNvbi5ub25jZSwgMyk7XG4gICAgICBzaG91bGQuZGVlcEVxdWFsKHR4SnNvbi5lcmFQZXJpb2QsIDY0KTtcbiAgICAgIHNob3VsZC5kZWVwRXF1YWwodHhKc29uLnRpcCwgMCk7XG4gICAgICBzaG91bGQuZGVlcEVxdWFsKHR4SnNvbi50cmFuc2FjdGlvblZlcnNpb24sIE51bWJlcih0ZXN0bmV0TWF0ZXJpYWwudHhWZXJzaW9uKSk7XG4gICAgICBzaG91bGQuZGVlcEVxdWFsKHR4SnNvbi5jaGFpbk5hbWUsIGNoYWluTmFtZSk7XG4gICAgfSk7XG4gIH0pO1xufSk7XG4iXX0=
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transactionBuilderFactory.d.ts","sourceRoot":"","sources":["../../../../test/unit/transactionBuilder/transactionBuilderFactory.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,74 @@
|
|
|
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 statics_1 = require("@bitgo-beta/statics");
|
|
40
|
+
const should_1 = __importDefault(require("should"));
|
|
41
|
+
const lib_1 = require("../../../src/lib");
|
|
42
|
+
const resources_1 = require("../../resources");
|
|
43
|
+
const materialData = __importStar(require("../../resources/materialData.json"));
|
|
44
|
+
describe('Tao Transaction Builder Factory', function () {
|
|
45
|
+
const sender = resources_1.accounts.account1;
|
|
46
|
+
let factory;
|
|
47
|
+
xdescribe('parse generic builders', function () {
|
|
48
|
+
before(function () {
|
|
49
|
+
factory = new lib_1.TransactionBuilderFactory(statics_1.coins.get('tpolyx'));
|
|
50
|
+
});
|
|
51
|
+
[{ type: 'transfer', builder: lib_1.TransferBuilder }].forEach((txn) => {
|
|
52
|
+
it(`should parse an unsigned ${txn.type} txn and return a ${txn.type} builder`, async () => {
|
|
53
|
+
const builder = factory.from(resources_1.rawTx[txn.type].unsigned).material(materialData);
|
|
54
|
+
builder.should.be.instanceOf(txn.builder);
|
|
55
|
+
builder
|
|
56
|
+
.validity({ firstValid: 3933 })
|
|
57
|
+
.referenceBlock('0x149799bc9602cb5cf201f3425fb8d253b2d4e61fc119dcab3249f307f594754d')
|
|
58
|
+
.sender({ address: sender.address });
|
|
59
|
+
const tx = await builder.build();
|
|
60
|
+
should_1.default.equal(tx.toBroadcastFormat(), resources_1.rawTx[txn.type].unsigned);
|
|
61
|
+
});
|
|
62
|
+
it(`should parse a signed ${txn.type} txn and return a ${txn.type} builder`, async () => {
|
|
63
|
+
const builder = factory.from(resources_1.rawTx[txn.type].signed).material(materialData);
|
|
64
|
+
builder.should.be.instanceOf(txn.builder);
|
|
65
|
+
builder
|
|
66
|
+
.validity({ firstValid: 3933 })
|
|
67
|
+
.referenceBlock('0x149799bc9602cb5cf201f3425fb8d253b2d4e61fc119dcab3249f307f594754d');
|
|
68
|
+
const tx = await builder.build();
|
|
69
|
+
should_1.default.equal(tx.toBroadcastFormat(), resources_1.rawTx[txn.type].signed);
|
|
70
|
+
});
|
|
71
|
+
});
|
|
72
|
+
});
|
|
73
|
+
});
|
|
74
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Rlc3QvdW5pdC90cmFuc2FjdGlvbkJ1aWxkZXIvdHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLGlEQUE0QztBQUM1QyxvREFBNEI7QUFDNUIsMENBQThFO0FBRTlFLCtDQUFrRDtBQUNsRCxnRkFBa0U7QUFFbEUsUUFBUSxDQUFDLGlDQUFpQyxFQUFFO0lBQzFDLE1BQU0sTUFBTSxHQUFHLG9CQUFRLENBQUMsUUFBUSxDQUFDO0lBQ2pDLElBQUksT0FBa0MsQ0FBQztJQUV2QyxTQUFTLENBQUMsd0JBQXdCLEVBQUU7UUFDbEMsTUFBTSxDQUFDO1lBQ0wsT0FBTyxHQUFHLElBQUksK0JBQXlCLENBQUMsZUFBSyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO1FBQy9ELENBQUMsQ0FBQyxDQUFDO1FBRUgsQ0FBQyxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLHFCQUFlLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFO1lBQy9ELEVBQUUsQ0FBQyw0QkFBNEIsR0FBRyxDQUFDLElBQUkscUJBQXFCLEdBQUcsQ0FBQyxJQUFJLFVBQVUsRUFBRSxLQUFLLElBQUksRUFBRTtnQkFDekYsTUFBTSxPQUFPLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxpQkFBSyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxRQUFRLENBQUMsWUFBa0MsQ0FBQyxDQUFDO2dCQUVwRyxPQUFPLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDO2dCQUUxQyxPQUFPO3FCQUNKLFFBQVEsQ0FBQyxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUUsQ0FBQztxQkFDOUIsY0FBYyxDQUFDLG9FQUFvRSxDQUFDO3FCQUNwRixNQUFNLENBQUMsRUFBRSxPQUFPLEVBQUUsTUFBTSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7Z0JBQ3ZDLE1BQU0sRUFBRSxHQUFHLE1BQU0sT0FBTyxDQUFDLEtBQUssRUFBRSxDQUFDO2dCQUNqQyxnQkFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsaUJBQWlCLEVBQUUsRUFBRSxpQkFBSyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUNqRSxDQUFDLENBQUMsQ0FBQztZQUVILEVBQUUsQ0FBQyx5QkFBeUIsR0FBRyxDQUFDLElBQUkscUJBQXFCLEdBQUcsQ0FBQyxJQUFJLFVBQVUsRUFBRSxLQUFLLElBQUksRUFBRTtnQkFDdEYsTUFBTSxPQUFPLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxpQkFBSyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxRQUFRLENBQUMsWUFBa0MsQ0FBQyxDQUFDO2dCQUVsRyxPQUFPLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDO2dCQUUxQyxPQUFPO3FCQUNKLFFBQVEsQ0FBQyxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUUsQ0FBQztxQkFDOUIsY0FBYyxDQUFDLG9FQUFvRSxDQUFDLENBQUM7Z0JBQ3hGLE1BQU0sRUFBRSxHQUFHLE1BQU0sT0FBTyxDQUFDLEtBQUssRUFBRSxDQUFDO2dCQUNqQyxnQkFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsaUJBQWlCLEVBQUUsRUFBRSxpQkFBSyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUMvRCxDQUFDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNvaW5zIH0gZnJvbSAnQGJpdGdvLWJldGEvc3RhdGljcyc7XG5pbXBvcnQgc2hvdWxkIGZyb20gJ3Nob3VsZCc7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5LCBUcmFuc2ZlckJ1aWxkZXIgfSBmcm9tICcuLi8uLi8uLi9zcmMvbGliJztcbmltcG9ydCB7IEludGVyZmFjZSB9IGZyb20gJy4uLy4uLy4uL3NyYyc7XG5pbXBvcnQgeyByYXdUeCwgYWNjb3VudHMgfSBmcm9tICcuLi8uLi9yZXNvdXJjZXMnO1xuaW1wb3J0ICogYXMgbWF0ZXJpYWxEYXRhIGZyb20gJy4uLy4uL3Jlc291cmNlcy9tYXRlcmlhbERhdGEuanNvbic7XG5cbmRlc2NyaWJlKCdUYW8gVHJhbnNhY3Rpb24gQnVpbGRlciBGYWN0b3J5JywgZnVuY3Rpb24gKCkge1xuICBjb25zdCBzZW5kZXIgPSBhY2NvdW50cy5hY2NvdW50MTtcbiAgbGV0IGZhY3Rvcnk6IFRyYW5zYWN0aW9uQnVpbGRlckZhY3Rvcnk7XG5cbiAgeGRlc2NyaWJlKCdwYXJzZSBnZW5lcmljIGJ1aWxkZXJzJywgZnVuY3Rpb24gKCkge1xuICAgIGJlZm9yZShmdW5jdGlvbiAoKSB7XG4gICAgICBmYWN0b3J5ID0gbmV3IFRyYW5zYWN0aW9uQnVpbGRlckZhY3RvcnkoY29pbnMuZ2V0KCd0cG9seXgnKSk7XG4gICAgfSk7XG5cbiAgICBbeyB0eXBlOiAndHJhbnNmZXInLCBidWlsZGVyOiBUcmFuc2ZlckJ1aWxkZXIgfV0uZm9yRWFjaCgodHhuKSA9PiB7XG4gICAgICBpdChgc2hvdWxkIHBhcnNlIGFuIHVuc2lnbmVkICR7dHhuLnR5cGV9IHR4biBhbmQgcmV0dXJuIGEgJHt0eG4udHlwZX0gYnVpbGRlcmAsIGFzeW5jICgpID0+IHtcbiAgICAgICAgY29uc3QgYnVpbGRlciA9IGZhY3RvcnkuZnJvbShyYXdUeFt0eG4udHlwZV0udW5zaWduZWQpLm1hdGVyaWFsKG1hdGVyaWFsRGF0YSBhcyBJbnRlcmZhY2UuTWF0ZXJpYWwpO1xuXG4gICAgICAgIGJ1aWxkZXIuc2hvdWxkLmJlLmluc3RhbmNlT2YodHhuLmJ1aWxkZXIpO1xuXG4gICAgICAgIGJ1aWxkZXJcbiAgICAgICAgICAudmFsaWRpdHkoeyBmaXJzdFZhbGlkOiAzOTMzIH0pXG4gICAgICAgICAgLnJlZmVyZW5jZUJsb2NrKCcweDE0OTc5OWJjOTYwMmNiNWNmMjAxZjM0MjVmYjhkMjUzYjJkNGU2MWZjMTE5ZGNhYjMyNDlmMzA3ZjU5NDc1NGQnKVxuICAgICAgICAgIC5zZW5kZXIoeyBhZGRyZXNzOiBzZW5kZXIuYWRkcmVzcyB9KTtcbiAgICAgICAgY29uc3QgdHggPSBhd2FpdCBidWlsZGVyLmJ1aWxkKCk7XG4gICAgICAgIHNob3VsZC5lcXVhbCh0eC50b0Jyb2FkY2FzdEZvcm1hdCgpLCByYXdUeFt0eG4udHlwZV0udW5zaWduZWQpO1xuICAgICAgfSk7XG5cbiAgICAgIGl0KGBzaG91bGQgcGFyc2UgYSBzaWduZWQgJHt0eG4udHlwZX0gdHhuIGFuZCByZXR1cm4gYSAke3R4bi50eXBlfSBidWlsZGVyYCwgYXN5bmMgKCkgPT4ge1xuICAgICAgICBjb25zdCBidWlsZGVyID0gZmFjdG9yeS5mcm9tKHJhd1R4W3R4bi50eXBlXS5zaWduZWQpLm1hdGVyaWFsKG1hdGVyaWFsRGF0YSBhcyBJbnRlcmZhY2UuTWF0ZXJpYWwpO1xuXG4gICAgICAgIGJ1aWxkZXIuc2hvdWxkLmJlLmluc3RhbmNlT2YodHhuLmJ1aWxkZXIpO1xuXG4gICAgICAgIGJ1aWxkZXJcbiAgICAgICAgICAudmFsaWRpdHkoeyBmaXJzdFZhbGlkOiAzOTMzIH0pXG4gICAgICAgICAgLnJlZmVyZW5jZUJsb2NrKCcweDE0OTc5OWJjOTYwMmNiNWNmMjAxZjM0MjVmYjhkMjUzYjJkNGU2MWZjMTE5ZGNhYjMyNDlmMzA3ZjU5NDc1NGQnKTtcbiAgICAgICAgY29uc3QgdHggPSBhd2FpdCBidWlsZGVyLmJ1aWxkKCk7XG4gICAgICAgIHNob3VsZC5lcXVhbCh0eC50b0Jyb2FkY2FzdEZvcm1hdCgpLCByYXdUeFt0eG4udHlwZV0uc2lnbmVkKTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9KTtcbn0pO1xuIl19
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transferBuilder.d.ts","sourceRoot":"","sources":["../../../../test/unit/transactionBuilder/transferBuilder.ts"],"names":[],"mappings":""}
|