@bitgo/sdk-coin-polyx 1.17.1 → 1.18.0
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/lib/iface.d.ts +7 -0
- package/dist/src/lib/iface.d.ts.map +1 -1
- package/dist/src/lib/iface.js +1 -1
- package/dist/src/lib/index.d.ts +6 -0
- package/dist/src/lib/index.d.ts.map +1 -1
- package/dist/src/lib/index.js +14 -2
- package/dist/src/lib/preApproveAssetBuilder.d.ts.map +1 -1
- package/dist/src/lib/preApproveAssetBuilder.js +1 -2
- package/dist/src/lib/transaction.d.ts.map +1 -1
- package/dist/src/lib/transaction.js +5 -2
- package/dist/src/lib/transactionBuilderFactory.d.ts +12 -0
- package/dist/src/lib/transactionBuilderFactory.d.ts.map +1 -1
- package/dist/src/lib/transactionBuilderFactory.js +25 -1
- package/dist/src/lib/utils.d.ts +1 -0
- package/dist/src/lib/utils.d.ts.map +1 -1
- package/dist/src/lib/utils.js +6 -1
- package/dist/src/lib/v8HexTokenTransferBuilder.d.ts +11 -0
- package/dist/src/lib/v8HexTokenTransferBuilder.d.ts.map +1 -0
- package/dist/src/lib/v8HexTokenTransferBuilder.js +21 -0
- package/dist/src/lib/v8HexTransferBuilder.d.ts +11 -0
- package/dist/src/lib/v8HexTransferBuilder.d.ts.map +1 -0
- package/dist/src/lib/v8HexTransferBuilder.js +21 -0
- package/dist/src/lib/v8PreApproveAssetBuilder.d.ts +11 -0
- package/dist/src/lib/v8PreApproveAssetBuilder.d.ts.map +1 -0
- package/dist/src/lib/v8PreApproveAssetBuilder.js +21 -0
- package/dist/src/lib/v8RegisterDidWithCDDBuilder.d.ts +11 -0
- package/dist/src/lib/v8RegisterDidWithCDDBuilder.d.ts.map +1 -0
- package/dist/src/lib/v8RegisterDidWithCDDBuilder.js +21 -0
- package/dist/src/lib/v8TokenTransferBuilder.d.ts +11 -0
- package/dist/src/lib/v8TokenTransferBuilder.d.ts.map +1 -0
- package/dist/src/lib/v8TokenTransferBuilder.js +21 -0
- package/dist/src/lib/v8TransferBuilder.d.ts +11 -0
- package/dist/src/lib/v8TransferBuilder.d.ts.map +1 -0
- package/dist/src/lib/v8TransferBuilder.js +21 -0
- package/dist/src/resources/index.d.ts +2 -0
- package/dist/src/resources/index.d.ts.map +1 -1
- package/dist/src/resources/index.js +3 -1
- package/dist/src/resources/mainnetV8.d.ts +13 -0
- package/dist/src/resources/mainnetV8.d.ts.map +1 -0
- package/dist/src/resources/mainnetV8.js +16 -0
- package/dist/src/resources/testnetV8.d.ts +13 -0
- package/dist/src/resources/testnetV8.d.ts.map +1 -0
- package/dist/src/resources/testnetV8.js +16 -0
- package/dist/test/resources/index.d.ts +1 -1
- package/dist/test/resources/index.d.ts.map +1 -1
- package/dist/test/unit/polyx.js +6 -1
- package/dist/test/unit/transactionBuilder/batchStakingBuilder.js +30 -1
- package/dist/test/unit/transactionBuilder/nominateBuilder.js +58 -1
- package/dist/test/unit/transactionBuilder/v8HexTokenTransferBuilder.d.ts +2 -0
- package/dist/test/unit/transactionBuilder/v8HexTokenTransferBuilder.d.ts.map +1 -0
- package/dist/test/unit/transactionBuilder/v8HexTokenTransferBuilder.js +60 -0
- package/dist/test/unit/transactionBuilder/v8HexTransferBuilder.d.ts +2 -0
- package/dist/test/unit/transactionBuilder/v8HexTransferBuilder.d.ts.map +1 -0
- package/dist/test/unit/transactionBuilder/v8HexTransferBuilder.js +62 -0
- package/dist/test/unit/transactionBuilder/v8PreApproveAssetBuilder.d.ts +2 -0
- package/dist/test/unit/transactionBuilder/v8PreApproveAssetBuilder.d.ts.map +1 -0
- package/dist/test/unit/transactionBuilder/v8PreApproveAssetBuilder.js +45 -0
- package/dist/test/unit/transactionBuilder/v8RegisterDidWithCDDBuilder.d.ts +2 -0
- package/dist/test/unit/transactionBuilder/v8RegisterDidWithCDDBuilder.d.ts.map +1 -0
- package/dist/test/unit/transactionBuilder/v8RegisterDidWithCDDBuilder.js +45 -0
- package/dist/test/unit/transactionBuilder/v8TokenTransferBuilder.d.ts +2 -0
- package/dist/test/unit/transactionBuilder/v8TokenTransferBuilder.d.ts.map +1 -0
- package/dist/test/unit/transactionBuilder/v8TokenTransferBuilder.js +51 -0
- package/dist/test/unit/transactionBuilder/v8TransferBuilder.d.ts +2 -0
- package/dist/test/unit/transactionBuilder/v8TransferBuilder.d.ts.map +1 -0
- package/dist/test/unit/transactionBuilder/v8TransferBuilder.js +88 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +7 -7
|
@@ -0,0 +1,60 @@
|
|
|
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 resources_1 = require("../../resources");
|
|
9
|
+
const resources_2 = require("../../../src/resources");
|
|
10
|
+
const base_1 = require("./base");
|
|
11
|
+
const FROM_DID = '0x1208d7851e6698249aea40742701ee1ef6cdcced260a7c49c1cca1a9db836342';
|
|
12
|
+
const TO_DID = '0xbc6f7ec808f361c1353ab9dc88c3cc54b98d9eb60fed9c063e67a40925b8ef61';
|
|
13
|
+
const ASSET_ID = '0x780602887b358cf48989d0d9aa6c8d28';
|
|
14
|
+
describe('V8HexTokenTransferBuilder', () => {
|
|
15
|
+
describe('v8 material', () => {
|
|
16
|
+
it('carries v8 specVersion and txVersion', () => {
|
|
17
|
+
const builder = new lib_1.V8HexTokenTransferBuilder((0, base_1.buildTestConfig)());
|
|
18
|
+
const material = builder._material;
|
|
19
|
+
should_1.default.equal(material.specVersion, resources_2.testnetV8Material.specVersion);
|
|
20
|
+
should_1.default.equal(material.txVersion, resources_2.testnetV8Material.txVersion);
|
|
21
|
+
});
|
|
22
|
+
});
|
|
23
|
+
describe('factory method', () => {
|
|
24
|
+
it('getV8HexTokenTransferBuilder returns a V8HexTokenTransferBuilder', () => {
|
|
25
|
+
const factory = new lib_1.TransactionBuilderFactory((0, base_1.buildTestConfig)());
|
|
26
|
+
should_1.default.ok(factory.getV8HexTokenTransferBuilder() instanceof lib_1.V8HexTokenTransferBuilder);
|
|
27
|
+
});
|
|
28
|
+
});
|
|
29
|
+
describe('memo encoding', () => {
|
|
30
|
+
it('encodes memo in NEW (hex) format', () => {
|
|
31
|
+
const builder = new lib_1.V8HexTokenTransferBuilder((0, base_1.buildTestConfig)());
|
|
32
|
+
builder.memo('56594');
|
|
33
|
+
const memo = builder._memo;
|
|
34
|
+
should_1.default.ok(memo.startsWith('0x'), `expected 0x-prefixed hex memo, got: ${memo}`);
|
|
35
|
+
should_1.default.equal(memo.length, 66);
|
|
36
|
+
});
|
|
37
|
+
});
|
|
38
|
+
describe('build transaction', () => {
|
|
39
|
+
const sender = resources_1.accounts.account1;
|
|
40
|
+
it('should build a v8 hex token transfer transaction with v8 specVersion in output', async () => {
|
|
41
|
+
const builder = new lib_1.V8HexTokenTransferBuilder((0, base_1.buildTestConfig)())
|
|
42
|
+
.assetId(ASSET_ID)
|
|
43
|
+
.amount('1000000')
|
|
44
|
+
.fromDID(FROM_DID)
|
|
45
|
+
.toDID(TO_DID)
|
|
46
|
+
.memo('56594')
|
|
47
|
+
.sender({ address: sender.address })
|
|
48
|
+
.validity({ firstValid: 3933, maxDuration: 64 })
|
|
49
|
+
.referenceBlock('0x149799bc9602cb5cf201f3425fb8d253b2d4e61fc119dcab3249f307f594754d')
|
|
50
|
+
.sequenceId({ name: 'Nonce', keyword: 'nonce', value: 1 })
|
|
51
|
+
.fee({ amount: 0, type: 'tip' });
|
|
52
|
+
builder.addSignature({ pub: sender.publicKey }, Buffer.from(resources_1.mockTssSignature, 'hex'));
|
|
53
|
+
const tx = await builder.build();
|
|
54
|
+
const txJson = tx.toJson();
|
|
55
|
+
should_1.default.deepEqual(txJson.specVersion, resources_2.testnetV8Material.specVersion);
|
|
56
|
+
should_1.default.deepEqual(txJson.transactionVersion, resources_2.testnetV8Material.txVersion);
|
|
57
|
+
});
|
|
58
|
+
});
|
|
59
|
+
});
|
|
60
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidjhIZXhUb2tlblRyYW5zZmVyQnVpbGRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Rlc3QvdW5pdC90cmFuc2FjdGlvbkJ1aWxkZXIvdjhIZXhUb2tlblRyYW5zZmVyQnVpbGRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLG9EQUE0QjtBQUM1QiwwQ0FBd0Y7QUFDeEYsK0NBQTZEO0FBQzdELHNEQUEyRDtBQUMzRCxpQ0FBeUM7QUFFekMsTUFBTSxRQUFRLEdBQUcsb0VBQW9FLENBQUM7QUFDdEYsTUFBTSxNQUFNLEdBQUcsb0VBQW9FLENBQUM7QUFDcEYsTUFBTSxRQUFRLEdBQUcsb0NBQW9DLENBQUM7QUFFdEQsUUFBUSxDQUFDLDJCQUEyQixFQUFFLEdBQUcsRUFBRTtJQUN6QyxRQUFRLENBQUMsYUFBYSxFQUFFLEdBQUcsRUFBRTtRQUMzQixFQUFFLENBQUMsc0NBQXNDLEVBQUUsR0FBRyxFQUFFO1lBQzlDLE1BQU0sT0FBTyxHQUFHLElBQUksK0JBQXlCLENBQUMsSUFBQSxzQkFBZSxHQUFFLENBQUMsQ0FBQztZQUNqRSxNQUFNLFFBQVEsR0FBSSxPQUFlLENBQUMsU0FBUyxDQUFDO1lBQzVDLGdCQUFNLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxXQUFXLEVBQUUsNkJBQWlCLENBQUMsV0FBVyxDQUFDLENBQUM7WUFDbEUsZ0JBQU0sQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLFNBQVMsRUFBRSw2QkFBaUIsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUNoRSxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQyxDQUFDO0lBRUgsUUFBUSxDQUFDLGdCQUFnQixFQUFFLEdBQUcsRUFBRTtRQUM5QixFQUFFLENBQUMsa0VBQWtFLEVBQUUsR0FBRyxFQUFFO1lBQzFFLE1BQU0sT0FBTyxHQUFHLElBQUksK0JBQXlCLENBQUMsSUFBQSxzQkFBZSxHQUFFLENBQUMsQ0FBQztZQUNqRSxnQkFBTSxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsNEJBQTRCLEVBQUUsWUFBWSwrQkFBeUIsQ0FBQyxDQUFDO1FBQ3pGLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDLENBQUM7SUFFSCxRQUFRLENBQUMsZUFBZSxFQUFFLEdBQUcsRUFBRTtRQUM3QixFQUFFLENBQUMsa0NBQWtDLEVBQUUsR0FBRyxFQUFFO1lBQzFDLE1BQU0sT0FBTyxHQUFHLElBQUksK0JBQXlCLENBQUMsSUFBQSxzQkFBZSxHQUFFLENBQUMsQ0FBQztZQUNqRSxPQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ3RCLE1BQU0sSUFBSSxHQUFJLE9BQWUsQ0FBQyxLQUFlLENBQUM7WUFDOUMsZ0JBQU0sQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsRUFBRSx1Q0FBdUMsSUFBSSxFQUFFLENBQUMsQ0FBQztZQUNoRixnQkFBTSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ2hDLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDLENBQUM7SUFFSCxRQUFRLENBQUMsbUJBQW1CLEVBQUUsR0FBRyxFQUFFO1FBQ2pDLE1BQU0sTUFBTSxHQUFHLG9CQUFRLENBQUMsUUFBUSxDQUFDO1FBRWpDLEVBQUUsQ0FBQyxnRkFBZ0YsRUFBRSxLQUFLLElBQUksRUFBRTtZQUM5RixNQUFNLE9BQU8sR0FBRyxJQUFJLCtCQUF5QixDQUFDLElBQUEsc0JBQWUsR0FBRSxDQUFDO2lCQUM3RCxPQUFPLENBQUMsUUFBUSxDQUFDO2lCQUNqQixNQUFNLENBQUMsU0FBUyxDQUFDO2lCQUNqQixPQUFPLENBQUMsUUFBUSxDQUFDO2lCQUNqQixLQUFLLENBQUMsTUFBTSxDQUFDO2lCQUNiLElBQUksQ0FBQyxPQUFPLENBQUM7aUJBQ2IsTUFBTSxDQUFDLEVBQUUsT0FBTyxFQUFFLE1BQU0sQ0FBQyxPQUFPLEVBQUUsQ0FBQztpQkFDbkMsUUFBUSxDQUFDLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsRUFBRSxFQUFFLENBQUM7aUJBQy9DLGNBQWMsQ0FBQyxvRUFBb0UsQ0FBQztpQkFDcEYsVUFBVSxDQUFDLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUUsQ0FBQztpQkFDekQsR0FBRyxDQUFDLEVBQUUsTUFBTSxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztZQUNuQyxPQUFPLENBQUMsWUFBWSxDQUFDLEVBQUUsR0FBRyxFQUFFLE1BQU0sQ0FBQyxTQUFTLEVBQUUsRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLDRCQUFnQixFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUM7WUFDdEYsTUFBTSxFQUFFLEdBQUcsTUFBTSxPQUFPLENBQUMsS0FBSyxFQUFFLENBQUM7WUFFakMsTUFBTSxNQUFNLEdBQUcsRUFBRSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQzNCLGdCQUFNLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxXQUFXLEVBQUUsNkJBQWlCLENBQUMsV0FBVyxDQUFDLENBQUM7WUFDcEUsZ0JBQU0sQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLGtCQUFrQixFQUFFLDZCQUFpQixDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQzNFLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBzaG91bGQgZnJvbSAnc2hvdWxkJztcbmltcG9ydCB7IFY4SGV4VG9rZW5UcmFuc2ZlckJ1aWxkZXIsIFRyYW5zYWN0aW9uQnVpbGRlckZhY3RvcnkgfSBmcm9tICcuLi8uLi8uLi9zcmMvbGliJztcbmltcG9ydCB7IGFjY291bnRzLCBtb2NrVHNzU2lnbmF0dXJlIH0gZnJvbSAnLi4vLi4vcmVzb3VyY2VzJztcbmltcG9ydCB7IHRlc3RuZXRWOE1hdGVyaWFsIH0gZnJvbSAnLi4vLi4vLi4vc3JjL3Jlc291cmNlcyc7XG5pbXBvcnQgeyBidWlsZFRlc3RDb25maWcgfSBmcm9tICcuL2Jhc2UnO1xuXG5jb25zdCBGUk9NX0RJRCA9ICcweDEyMDhkNzg1MWU2Njk4MjQ5YWVhNDA3NDI3MDFlZTFlZjZjZGNjZWQyNjBhN2M0OWMxY2NhMWE5ZGI4MzYzNDInO1xuY29uc3QgVE9fRElEID0gJzB4YmM2ZjdlYzgwOGYzNjFjMTM1M2FiOWRjODhjM2NjNTRiOThkOWViNjBmZWQ5YzA2M2U2N2E0MDkyNWI4ZWY2MSc7XG5jb25zdCBBU1NFVF9JRCA9ICcweDc4MDYwMjg4N2IzNThjZjQ4OTg5ZDBkOWFhNmM4ZDI4JztcblxuZGVzY3JpYmUoJ1Y4SGV4VG9rZW5UcmFuc2ZlckJ1aWxkZXInLCAoKSA9PiB7XG4gIGRlc2NyaWJlKCd2OCBtYXRlcmlhbCcsICgpID0+IHtcbiAgICBpdCgnY2FycmllcyB2OCBzcGVjVmVyc2lvbiBhbmQgdHhWZXJzaW9uJywgKCkgPT4ge1xuICAgICAgY29uc3QgYnVpbGRlciA9IG5ldyBWOEhleFRva2VuVHJhbnNmZXJCdWlsZGVyKGJ1aWxkVGVzdENvbmZpZygpKTtcbiAgICAgIGNvbnN0IG1hdGVyaWFsID0gKGJ1aWxkZXIgYXMgYW55KS5fbWF0ZXJpYWw7XG4gICAgICBzaG91bGQuZXF1YWwobWF0ZXJpYWwuc3BlY1ZlcnNpb24sIHRlc3RuZXRWOE1hdGVyaWFsLnNwZWNWZXJzaW9uKTtcbiAgICAgIHNob3VsZC5lcXVhbChtYXRlcmlhbC50eFZlcnNpb24sIHRlc3RuZXRWOE1hdGVyaWFsLnR4VmVyc2lvbik7XG4gICAgfSk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCdmYWN0b3J5IG1ldGhvZCcsICgpID0+IHtcbiAgICBpdCgnZ2V0VjhIZXhUb2tlblRyYW5zZmVyQnVpbGRlciByZXR1cm5zIGEgVjhIZXhUb2tlblRyYW5zZmVyQnVpbGRlcicsICgpID0+IHtcbiAgICAgIGNvbnN0IGZhY3RvcnkgPSBuZXcgVHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeShidWlsZFRlc3RDb25maWcoKSk7XG4gICAgICBzaG91bGQub2soZmFjdG9yeS5nZXRWOEhleFRva2VuVHJhbnNmZXJCdWlsZGVyKCkgaW5zdGFuY2VvZiBWOEhleFRva2VuVHJhbnNmZXJCdWlsZGVyKTtcbiAgICB9KTtcbiAgfSk7XG5cbiAgZGVzY3JpYmUoJ21lbW8gZW5jb2RpbmcnLCAoKSA9PiB7XG4gICAgaXQoJ2VuY29kZXMgbWVtbyBpbiBORVcgKGhleCkgZm9ybWF0JywgKCkgPT4ge1xuICAgICAgY29uc3QgYnVpbGRlciA9IG5ldyBWOEhleFRva2VuVHJhbnNmZXJCdWlsZGVyKGJ1aWxkVGVzdENvbmZpZygpKTtcbiAgICAgIGJ1aWxkZXIubWVtbygnNTY1OTQnKTtcbiAgICAgIGNvbnN0IG1lbW8gPSAoYnVpbGRlciBhcyBhbnkpLl9tZW1vIGFzIHN0cmluZztcbiAgICAgIHNob3VsZC5vayhtZW1vLnN0YXJ0c1dpdGgoJzB4JyksIGBleHBlY3RlZCAweC1wcmVmaXhlZCBoZXggbWVtbywgZ290OiAke21lbW99YCk7XG4gICAgICBzaG91bGQuZXF1YWwobWVtby5sZW5ndGgsIDY2KTtcbiAgICB9KTtcbiAgfSk7XG5cbiAgZGVzY3JpYmUoJ2J1aWxkIHRyYW5zYWN0aW9uJywgKCkgPT4ge1xuICAgIGNvbnN0IHNlbmRlciA9IGFjY291bnRzLmFjY291bnQxO1xuXG4gICAgaXQoJ3Nob3VsZCBidWlsZCBhIHY4IGhleCB0b2tlbiB0cmFuc2ZlciB0cmFuc2FjdGlvbiB3aXRoIHY4IHNwZWNWZXJzaW9uIGluIG91dHB1dCcsIGFzeW5jICgpID0+IHtcbiAgICAgIGNvbnN0IGJ1aWxkZXIgPSBuZXcgVjhIZXhUb2tlblRyYW5zZmVyQnVpbGRlcihidWlsZFRlc3RDb25maWcoKSlcbiAgICAgICAgLmFzc2V0SWQoQVNTRVRfSUQpXG4gICAgICAgIC5hbW91bnQoJzEwMDAwMDAnKVxuICAgICAgICAuZnJvbURJRChGUk9NX0RJRClcbiAgICAgICAgLnRvRElEKFRPX0RJRClcbiAgICAgICAgLm1lbW8oJzU2NTk0JylcbiAgICAgICAgLnNlbmRlcih7IGFkZHJlc3M6IHNlbmRlci5hZGRyZXNzIH0pXG4gICAgICAgIC52YWxpZGl0eSh7IGZpcnN0VmFsaWQ6IDM5MzMsIG1heER1cmF0aW9uOiA2NCB9KVxuICAgICAgICAucmVmZXJlbmNlQmxvY2soJzB4MTQ5Nzk5YmM5NjAyY2I1Y2YyMDFmMzQyNWZiOGQyNTNiMmQ0ZTYxZmMxMTlkY2FiMzI0OWYzMDdmNTk0NzU0ZCcpXG4gICAgICAgIC5zZXF1ZW5jZUlkKHsgbmFtZTogJ05vbmNlJywga2V5d29yZDogJ25vbmNlJywgdmFsdWU6IDEgfSlcbiAgICAgICAgLmZlZSh7IGFtb3VudDogMCwgdHlwZTogJ3RpcCcgfSk7XG4gICAgICBidWlsZGVyLmFkZFNpZ25hdHVyZSh7IHB1Yjogc2VuZGVyLnB1YmxpY0tleSB9LCBCdWZmZXIuZnJvbShtb2NrVHNzU2lnbmF0dXJlLCAnaGV4JykpO1xuICAgICAgY29uc3QgdHggPSBhd2FpdCBidWlsZGVyLmJ1aWxkKCk7XG5cbiAgICAgIGNvbnN0IHR4SnNvbiA9IHR4LnRvSnNvbigpO1xuICAgICAgc2hvdWxkLmRlZXBFcXVhbCh0eEpzb24uc3BlY1ZlcnNpb24sIHRlc3RuZXRWOE1hdGVyaWFsLnNwZWNWZXJzaW9uKTtcbiAgICAgIHNob3VsZC5kZWVwRXF1YWwodHhKc29uLnRyYW5zYWN0aW9uVmVyc2lvbiwgdGVzdG5ldFY4TWF0ZXJpYWwudHhWZXJzaW9uKTtcbiAgICB9KTtcbiAgfSk7XG59KTtcbiJdfQ==
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"v8HexTransferBuilder.d.ts","sourceRoot":"","sources":["../../../../test/unit/transactionBuilder/v8HexTransferBuilder.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,62 @@
|
|
|
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 resources_1 = require("../../resources");
|
|
9
|
+
const resources_2 = require("../../../src/resources");
|
|
10
|
+
const base_1 = require("./base");
|
|
11
|
+
describe('V8HexTransferBuilder', () => {
|
|
12
|
+
describe('v8 material', () => {
|
|
13
|
+
it('carries v8 specVersion and txVersion', () => {
|
|
14
|
+
const builder = new lib_1.V8HexTransferBuilder((0, base_1.buildTestConfig)());
|
|
15
|
+
const material = builder._material;
|
|
16
|
+
should_1.default.equal(material.specVersion, resources_2.testnetV8Material.specVersion);
|
|
17
|
+
should_1.default.equal(material.txVersion, resources_2.testnetV8Material.txVersion);
|
|
18
|
+
});
|
|
19
|
+
});
|
|
20
|
+
describe('factory method', () => {
|
|
21
|
+
it('getV8HexTransferBuilder returns a V8HexTransferBuilder', () => {
|
|
22
|
+
const factory = new lib_1.TransactionBuilderFactory((0, base_1.buildTestConfig)());
|
|
23
|
+
should_1.default.ok(factory.getV8HexTransferBuilder() instanceof lib_1.V8HexTransferBuilder);
|
|
24
|
+
});
|
|
25
|
+
});
|
|
26
|
+
describe('memo encoding', () => {
|
|
27
|
+
it('encodes memo in NEW (hex) format', () => {
|
|
28
|
+
const builder = new lib_1.V8HexTransferBuilder((0, base_1.buildTestConfig)());
|
|
29
|
+
builder.memo('56594');
|
|
30
|
+
const memo = builder._memo;
|
|
31
|
+
should_1.default.ok(memo.startsWith('0x'), `expected 0x-prefixed hex memo, got: ${memo}`);
|
|
32
|
+
should_1.default.equal(memo.length, 66);
|
|
33
|
+
});
|
|
34
|
+
it('stores an already-encoded hex memo as-is', () => {
|
|
35
|
+
const builder = new lib_1.V8HexTransferBuilder((0, base_1.buildTestConfig)());
|
|
36
|
+
const encoded = '0x3536353934000000000000000000000000000000000000000000000000000000';
|
|
37
|
+
builder.memo(encoded);
|
|
38
|
+
should_1.default.equal(builder._memo, encoded);
|
|
39
|
+
});
|
|
40
|
+
});
|
|
41
|
+
describe('build transaction', () => {
|
|
42
|
+
const sender = resources_1.accounts.account1;
|
|
43
|
+
const receiver = resources_1.accounts.account2;
|
|
44
|
+
it('should build a v8 hex transfer transaction', async () => {
|
|
45
|
+
const builder = new lib_1.V8HexTransferBuilder((0, base_1.buildTestConfig)())
|
|
46
|
+
.amount('1000000')
|
|
47
|
+
.to({ address: receiver.address })
|
|
48
|
+
.sender({ address: sender.address })
|
|
49
|
+
.memo('56594')
|
|
50
|
+
.validity({ firstValid: 3933, maxDuration: 64 })
|
|
51
|
+
.referenceBlock('0x149799bc9602cb5cf201f3425fb8d253b2d4e61fc119dcab3249f307f594754d')
|
|
52
|
+
.sequenceId({ name: 'Nonce', keyword: 'nonce', value: 1 })
|
|
53
|
+
.fee({ amount: 0, type: 'tip' });
|
|
54
|
+
builder.addSignature({ pub: sender.publicKey }, Buffer.from(resources_1.mockTssSignature, 'hex'));
|
|
55
|
+
const tx = await builder.build();
|
|
56
|
+
const txJson = tx.toJson();
|
|
57
|
+
should_1.default.deepEqual(txJson.specVersion, resources_2.testnetV8Material.specVersion);
|
|
58
|
+
should_1.default.deepEqual(txJson.transactionVersion, resources_2.testnetV8Material.txVersion);
|
|
59
|
+
});
|
|
60
|
+
});
|
|
61
|
+
});
|
|
62
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidjhIZXhUcmFuc2ZlckJ1aWxkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi90ZXN0L3VuaXQvdHJhbnNhY3Rpb25CdWlsZGVyL3Y4SGV4VHJhbnNmZXJCdWlsZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsb0RBQTRCO0FBQzVCLDBDQUFtRjtBQUNuRiwrQ0FBNkQ7QUFDN0Qsc0RBQTJEO0FBQzNELGlDQUF5QztBQUV6QyxRQUFRLENBQUMsc0JBQXNCLEVBQUUsR0FBRyxFQUFFO0lBQ3BDLFFBQVEsQ0FBQyxhQUFhLEVBQUUsR0FBRyxFQUFFO1FBQzNCLEVBQUUsQ0FBQyxzQ0FBc0MsRUFBRSxHQUFHLEVBQUU7WUFDOUMsTUFBTSxPQUFPLEdBQUcsSUFBSSwwQkFBb0IsQ0FBQyxJQUFBLHNCQUFlLEdBQUUsQ0FBQyxDQUFDO1lBQzVELE1BQU0sUUFBUSxHQUFJLE9BQWUsQ0FBQyxTQUFTLENBQUM7WUFDNUMsZ0JBQU0sQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLFdBQVcsRUFBRSw2QkFBaUIsQ0FBQyxXQUFXLENBQUMsQ0FBQztZQUNsRSxnQkFBTSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsU0FBUyxFQUFFLDZCQUFpQixDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ2hFLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDLENBQUM7SUFFSCxRQUFRLENBQUMsZ0JBQWdCLEVBQUUsR0FBRyxFQUFFO1FBQzlCLEVBQUUsQ0FBQyx3REFBd0QsRUFBRSxHQUFHLEVBQUU7WUFDaEUsTUFBTSxPQUFPLEdBQUcsSUFBSSwrQkFBeUIsQ0FBQyxJQUFBLHNCQUFlLEdBQUUsQ0FBQyxDQUFDO1lBQ2pFLGdCQUFNLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyx1QkFBdUIsRUFBRSxZQUFZLDBCQUFvQixDQUFDLENBQUM7UUFDL0UsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDLENBQUMsQ0FBQztJQUVILFFBQVEsQ0FBQyxlQUFlLEVBQUUsR0FBRyxFQUFFO1FBQzdCLEVBQUUsQ0FBQyxrQ0FBa0MsRUFBRSxHQUFHLEVBQUU7WUFDMUMsTUFBTSxPQUFPLEdBQUcsSUFBSSwwQkFBb0IsQ0FBQyxJQUFBLHNCQUFlLEdBQUUsQ0FBQyxDQUFDO1lBQzVELE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDdEIsTUFBTSxJQUFJLEdBQUksT0FBZSxDQUFDLEtBQWUsQ0FBQztZQUM5QyxnQkFBTSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxFQUFFLHVDQUF1QyxJQUFJLEVBQUUsQ0FBQyxDQUFDO1lBQ2hGLGdCQUFNLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDaEMsQ0FBQyxDQUFDLENBQUM7UUFFSCxFQUFFLENBQUMsMENBQTBDLEVBQUUsR0FBRyxFQUFFO1lBQ2xELE1BQU0sT0FBTyxHQUFHLElBQUksMEJBQW9CLENBQUMsSUFBQSxzQkFBZSxHQUFFLENBQUMsQ0FBQztZQUM1RCxNQUFNLE9BQU8sR0FBRyxvRUFBb0UsQ0FBQztZQUNyRixPQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ3RCLGdCQUFNLENBQUMsS0FBSyxDQUFFLE9BQWUsQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDaEQsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDLENBQUMsQ0FBQztJQUVILFFBQVEsQ0FBQyxtQkFBbUIsRUFBRSxHQUFHLEVBQUU7UUFDakMsTUFBTSxNQUFNLEdBQUcsb0JBQVEsQ0FBQyxRQUFRLENBQUM7UUFDakMsTUFBTSxRQUFRLEdBQUcsb0JBQVEsQ0FBQyxRQUFRLENBQUM7UUFFbkMsRUFBRSxDQUFDLDRDQUE0QyxFQUFFLEtBQUssSUFBSSxFQUFFO1lBQzFELE1BQU0sT0FBTyxHQUFHLElBQUksMEJBQW9CLENBQUMsSUFBQSxzQkFBZSxHQUFFLENBQUM7aUJBQ3hELE1BQU0sQ0FBQyxTQUFTLENBQUM7aUJBQ2pCLEVBQUUsQ0FBQyxFQUFFLE9BQU8sRUFBRSxRQUFRLENBQUMsT0FBTyxFQUFFLENBQUM7aUJBQ2pDLE1BQU0sQ0FBQyxFQUFFLE9BQU8sRUFBRSxNQUFNLENBQUMsT0FBTyxFQUFFLENBQUM7aUJBQ25DLElBQUksQ0FBQyxPQUFPLENBQUM7aUJBQ2IsUUFBUSxDQUFDLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsRUFBRSxFQUFFLENBQUM7aUJBQy9DLGNBQWMsQ0FBQyxvRUFBb0UsQ0FBQztpQkFDcEYsVUFBVSxDQUFDLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUUsQ0FBQztpQkFDekQsR0FBRyxDQUFDLEVBQUUsTUFBTSxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztZQUNuQyxPQUFPLENBQUMsWUFBWSxDQUFDLEVBQUUsR0FBRyxFQUFFLE1BQU0sQ0FBQyxTQUFTLEVBQUUsRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLDRCQUFnQixFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUM7WUFDdEYsTUFBTSxFQUFFLEdBQUcsTUFBTSxPQUFPLENBQUMsS0FBSyxFQUFFLENBQUM7WUFFakMsTUFBTSxNQUFNLEdBQUcsRUFBRSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQzNCLGdCQUFNLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxXQUFXLEVBQUUsNkJBQWlCLENBQUMsV0FBVyxDQUFDLENBQUM7WUFDcEUsZ0JBQU0sQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLGtCQUFrQixFQUFFLDZCQUFpQixDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQzNFLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBzaG91bGQgZnJvbSAnc2hvdWxkJztcbmltcG9ydCB7IFY4SGV4VHJhbnNmZXJCdWlsZGVyLCBUcmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5IH0gZnJvbSAnLi4vLi4vLi4vc3JjL2xpYic7XG5pbXBvcnQgeyBhY2NvdW50cywgbW9ja1Rzc1NpZ25hdHVyZSB9IGZyb20gJy4uLy4uL3Jlc291cmNlcyc7XG5pbXBvcnQgeyB0ZXN0bmV0VjhNYXRlcmlhbCB9IGZyb20gJy4uLy4uLy4uL3NyYy9yZXNvdXJjZXMnO1xuaW1wb3J0IHsgYnVpbGRUZXN0Q29uZmlnIH0gZnJvbSAnLi9iYXNlJztcblxuZGVzY3JpYmUoJ1Y4SGV4VHJhbnNmZXJCdWlsZGVyJywgKCkgPT4ge1xuICBkZXNjcmliZSgndjggbWF0ZXJpYWwnLCAoKSA9PiB7XG4gICAgaXQoJ2NhcnJpZXMgdjggc3BlY1ZlcnNpb24gYW5kIHR4VmVyc2lvbicsICgpID0+IHtcbiAgICAgIGNvbnN0IGJ1aWxkZXIgPSBuZXcgVjhIZXhUcmFuc2ZlckJ1aWxkZXIoYnVpbGRUZXN0Q29uZmlnKCkpO1xuICAgICAgY29uc3QgbWF0ZXJpYWwgPSAoYnVpbGRlciBhcyBhbnkpLl9tYXRlcmlhbDtcbiAgICAgIHNob3VsZC5lcXVhbChtYXRlcmlhbC5zcGVjVmVyc2lvbiwgdGVzdG5ldFY4TWF0ZXJpYWwuc3BlY1ZlcnNpb24pO1xuICAgICAgc2hvdWxkLmVxdWFsKG1hdGVyaWFsLnR4VmVyc2lvbiwgdGVzdG5ldFY4TWF0ZXJpYWwudHhWZXJzaW9uKTtcbiAgICB9KTtcbiAgfSk7XG5cbiAgZGVzY3JpYmUoJ2ZhY3RvcnkgbWV0aG9kJywgKCkgPT4ge1xuICAgIGl0KCdnZXRWOEhleFRyYW5zZmVyQnVpbGRlciByZXR1cm5zIGEgVjhIZXhUcmFuc2ZlckJ1aWxkZXInLCAoKSA9PiB7XG4gICAgICBjb25zdCBmYWN0b3J5ID0gbmV3IFRyYW5zYWN0aW9uQnVpbGRlckZhY3RvcnkoYnVpbGRUZXN0Q29uZmlnKCkpO1xuICAgICAgc2hvdWxkLm9rKGZhY3RvcnkuZ2V0VjhIZXhUcmFuc2ZlckJ1aWxkZXIoKSBpbnN0YW5jZW9mIFY4SGV4VHJhbnNmZXJCdWlsZGVyKTtcbiAgICB9KTtcbiAgfSk7XG5cbiAgZGVzY3JpYmUoJ21lbW8gZW5jb2RpbmcnLCAoKSA9PiB7XG4gICAgaXQoJ2VuY29kZXMgbWVtbyBpbiBORVcgKGhleCkgZm9ybWF0JywgKCkgPT4ge1xuICAgICAgY29uc3QgYnVpbGRlciA9IG5ldyBWOEhleFRyYW5zZmVyQnVpbGRlcihidWlsZFRlc3RDb25maWcoKSk7XG4gICAgICBidWlsZGVyLm1lbW8oJzU2NTk0Jyk7XG4gICAgICBjb25zdCBtZW1vID0gKGJ1aWxkZXIgYXMgYW55KS5fbWVtbyBhcyBzdHJpbmc7XG4gICAgICBzaG91bGQub2sobWVtby5zdGFydHNXaXRoKCcweCcpLCBgZXhwZWN0ZWQgMHgtcHJlZml4ZWQgaGV4IG1lbW8sIGdvdDogJHttZW1vfWApO1xuICAgICAgc2hvdWxkLmVxdWFsKG1lbW8ubGVuZ3RoLCA2Nik7XG4gICAgfSk7XG5cbiAgICBpdCgnc3RvcmVzIGFuIGFscmVhZHktZW5jb2RlZCBoZXggbWVtbyBhcy1pcycsICgpID0+IHtcbiAgICAgIGNvbnN0IGJ1aWxkZXIgPSBuZXcgVjhIZXhUcmFuc2ZlckJ1aWxkZXIoYnVpbGRUZXN0Q29uZmlnKCkpO1xuICAgICAgY29uc3QgZW5jb2RlZCA9ICcweDM1MzYzNTM5MzQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAnO1xuICAgICAgYnVpbGRlci5tZW1vKGVuY29kZWQpO1xuICAgICAgc2hvdWxkLmVxdWFsKChidWlsZGVyIGFzIGFueSkuX21lbW8sIGVuY29kZWQpO1xuICAgIH0pO1xuICB9KTtcblxuICBkZXNjcmliZSgnYnVpbGQgdHJhbnNhY3Rpb24nLCAoKSA9PiB7XG4gICAgY29uc3Qgc2VuZGVyID0gYWNjb3VudHMuYWNjb3VudDE7XG4gICAgY29uc3QgcmVjZWl2ZXIgPSBhY2NvdW50cy5hY2NvdW50MjtcblxuICAgIGl0KCdzaG91bGQgYnVpbGQgYSB2OCBoZXggdHJhbnNmZXIgdHJhbnNhY3Rpb24nLCBhc3luYyAoKSA9PiB7XG4gICAgICBjb25zdCBidWlsZGVyID0gbmV3IFY4SGV4VHJhbnNmZXJCdWlsZGVyKGJ1aWxkVGVzdENvbmZpZygpKVxuICAgICAgICAuYW1vdW50KCcxMDAwMDAwJylcbiAgICAgICAgLnRvKHsgYWRkcmVzczogcmVjZWl2ZXIuYWRkcmVzcyB9KVxuICAgICAgICAuc2VuZGVyKHsgYWRkcmVzczogc2VuZGVyLmFkZHJlc3MgfSlcbiAgICAgICAgLm1lbW8oJzU2NTk0JylcbiAgICAgICAgLnZhbGlkaXR5KHsgZmlyc3RWYWxpZDogMzkzMywgbWF4RHVyYXRpb246IDY0IH0pXG4gICAgICAgIC5yZWZlcmVuY2VCbG9jaygnMHgxNDk3OTliYzk2MDJjYjVjZjIwMWYzNDI1ZmI4ZDI1M2IyZDRlNjFmYzExOWRjYWIzMjQ5ZjMwN2Y1OTQ3NTRkJylcbiAgICAgICAgLnNlcXVlbmNlSWQoeyBuYW1lOiAnTm9uY2UnLCBrZXl3b3JkOiAnbm9uY2UnLCB2YWx1ZTogMSB9KVxuICAgICAgICAuZmVlKHsgYW1vdW50OiAwLCB0eXBlOiAndGlwJyB9KTtcbiAgICAgIGJ1aWxkZXIuYWRkU2lnbmF0dXJlKHsgcHViOiBzZW5kZXIucHVibGljS2V5IH0sIEJ1ZmZlci5mcm9tKG1vY2tUc3NTaWduYXR1cmUsICdoZXgnKSk7XG4gICAgICBjb25zdCB0eCA9IGF3YWl0IGJ1aWxkZXIuYnVpbGQoKTtcblxuICAgICAgY29uc3QgdHhKc29uID0gdHgudG9Kc29uKCk7XG4gICAgICBzaG91bGQuZGVlcEVxdWFsKHR4SnNvbi5zcGVjVmVyc2lvbiwgdGVzdG5ldFY4TWF0ZXJpYWwuc3BlY1ZlcnNpb24pO1xuICAgICAgc2hvdWxkLmRlZXBFcXVhbCh0eEpzb24udHJhbnNhY3Rpb25WZXJzaW9uLCB0ZXN0bmV0VjhNYXRlcmlhbC50eFZlcnNpb24pO1xuICAgIH0pO1xuICB9KTtcbn0pO1xuIl19
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"v8PreApproveAssetBuilder.d.ts","sourceRoot":"","sources":["../../../../test/unit/transactionBuilder/v8PreApproveAssetBuilder.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,45 @@
|
|
|
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 resources_1 = require("../../resources");
|
|
9
|
+
const resources_2 = require("../../../src/resources");
|
|
10
|
+
const base_1 = require("./base");
|
|
11
|
+
const ASSET_ID = '0x780602887b358cf48989d0d9aa6c8d28';
|
|
12
|
+
describe('V8PreApproveAssetBuilder', () => {
|
|
13
|
+
describe('v8 material', () => {
|
|
14
|
+
it('carries v8 specVersion and txVersion', () => {
|
|
15
|
+
const builder = new lib_1.V8PreApproveAssetBuilder((0, base_1.buildTestConfig)());
|
|
16
|
+
const material = builder._material;
|
|
17
|
+
should_1.default.equal(material.specVersion, resources_2.testnetV8Material.specVersion);
|
|
18
|
+
should_1.default.equal(material.txVersion, resources_2.testnetV8Material.txVersion);
|
|
19
|
+
});
|
|
20
|
+
});
|
|
21
|
+
describe('factory method', () => {
|
|
22
|
+
it('getV8PreApproveAssetBuilder returns a V8PreApproveAssetBuilder', () => {
|
|
23
|
+
const factory = new lib_1.TransactionBuilderFactory((0, base_1.buildTestConfig)());
|
|
24
|
+
should_1.default.ok(factory.getV8PreApproveAssetBuilder() instanceof lib_1.V8PreApproveAssetBuilder);
|
|
25
|
+
});
|
|
26
|
+
});
|
|
27
|
+
describe('build transaction', () => {
|
|
28
|
+
const sender = resources_1.accounts.account1;
|
|
29
|
+
it('should build a v8 pre-approve asset transaction with v8 specVersion in output', async () => {
|
|
30
|
+
const builder = new lib_1.V8PreApproveAssetBuilder((0, base_1.buildTestConfig)())
|
|
31
|
+
.assetId(ASSET_ID)
|
|
32
|
+
.sender({ address: sender.address })
|
|
33
|
+
.validity({ firstValid: 3933, maxDuration: 64 })
|
|
34
|
+
.referenceBlock('0x149799bc9602cb5cf201f3425fb8d253b2d4e61fc119dcab3249f307f594754d')
|
|
35
|
+
.sequenceId({ name: 'Nonce', keyword: 'nonce', value: 1 })
|
|
36
|
+
.fee({ amount: 0, type: 'tip' });
|
|
37
|
+
builder.addSignature({ pub: sender.publicKey }, Buffer.from(resources_1.mockTssSignature, 'hex'));
|
|
38
|
+
const tx = await builder.build();
|
|
39
|
+
const txJson = tx.toJson();
|
|
40
|
+
should_1.default.deepEqual(txJson.specVersion, resources_2.testnetV8Material.specVersion);
|
|
41
|
+
should_1.default.deepEqual(txJson.transactionVersion, resources_2.testnetV8Material.txVersion);
|
|
42
|
+
});
|
|
43
|
+
});
|
|
44
|
+
});
|
|
45
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidjhQcmVBcHByb3ZlQXNzZXRCdWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vdGVzdC91bml0L3RyYW5zYWN0aW9uQnVpbGRlci92OFByZUFwcHJvdmVBc3NldEJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxvREFBNEI7QUFDNUIsMENBQXVGO0FBQ3ZGLCtDQUE2RDtBQUM3RCxzREFBMkQ7QUFDM0QsaUNBQXlDO0FBRXpDLE1BQU0sUUFBUSxHQUFHLG9DQUFvQyxDQUFDO0FBRXRELFFBQVEsQ0FBQywwQkFBMEIsRUFBRSxHQUFHLEVBQUU7SUFDeEMsUUFBUSxDQUFDLGFBQWEsRUFBRSxHQUFHLEVBQUU7UUFDM0IsRUFBRSxDQUFDLHNDQUFzQyxFQUFFLEdBQUcsRUFBRTtZQUM5QyxNQUFNLE9BQU8sR0FBRyxJQUFJLDhCQUF3QixDQUFDLElBQUEsc0JBQWUsR0FBRSxDQUFDLENBQUM7WUFDaEUsTUFBTSxRQUFRLEdBQUksT0FBZSxDQUFDLFNBQVMsQ0FBQztZQUM1QyxnQkFBTSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsV0FBVyxFQUFFLDZCQUFpQixDQUFDLFdBQVcsQ0FBQyxDQUFDO1lBQ2xFLGdCQUFNLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxTQUFTLEVBQUUsNkJBQWlCLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDaEUsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDLENBQUMsQ0FBQztJQUVILFFBQVEsQ0FBQyxnQkFBZ0IsRUFBRSxHQUFHLEVBQUU7UUFDOUIsRUFBRSxDQUFDLGdFQUFnRSxFQUFFLEdBQUcsRUFBRTtZQUN4RSxNQUFNLE9BQU8sR0FBRyxJQUFJLCtCQUF5QixDQUFDLElBQUEsc0JBQWUsR0FBRSxDQUFDLENBQUM7WUFDakUsZ0JBQU0sQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLDJCQUEyQixFQUFFLFlBQVksOEJBQXdCLENBQUMsQ0FBQztRQUN2RixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQyxDQUFDO0lBRUgsUUFBUSxDQUFDLG1CQUFtQixFQUFFLEdBQUcsRUFBRTtRQUNqQyxNQUFNLE1BQU0sR0FBRyxvQkFBUSxDQUFDLFFBQVEsQ0FBQztRQUVqQyxFQUFFLENBQUMsK0VBQStFLEVBQUUsS0FBSyxJQUFJLEVBQUU7WUFDN0YsTUFBTSxPQUFPLEdBQUcsSUFBSSw4QkFBd0IsQ0FBQyxJQUFBLHNCQUFlLEdBQUUsQ0FBQztpQkFDNUQsT0FBTyxDQUFDLFFBQVEsQ0FBQztpQkFDakIsTUFBTSxDQUFDLEVBQUUsT0FBTyxFQUFFLE1BQU0sQ0FBQyxPQUFPLEVBQUUsQ0FBQztpQkFDbkMsUUFBUSxDQUFDLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsRUFBRSxFQUFFLENBQUM7aUJBQy9DLGNBQWMsQ0FBQyxvRUFBb0UsQ0FBQztpQkFDcEYsVUFBVSxDQUFDLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUUsQ0FBQztpQkFDekQsR0FBRyxDQUFDLEVBQUUsTUFBTSxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztZQUNuQyxPQUFPLENBQUMsWUFBWSxDQUFDLEVBQUUsR0FBRyxFQUFFLE1BQU0sQ0FBQyxTQUFTLEVBQUUsRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLDRCQUFnQixFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUM7WUFDdEYsTUFBTSxFQUFFLEdBQUcsTUFBTSxPQUFPLENBQUMsS0FBSyxFQUFFLENBQUM7WUFFakMsTUFBTSxNQUFNLEdBQUcsRUFBRSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQzNCLGdCQUFNLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxXQUFXLEVBQUUsNkJBQWlCLENBQUMsV0FBVyxDQUFDLENBQUM7WUFDcEUsZ0JBQU0sQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLGtCQUFrQixFQUFFLDZCQUFpQixDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQzNFLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBzaG91bGQgZnJvbSAnc2hvdWxkJztcbmltcG9ydCB7IFY4UHJlQXBwcm92ZUFzc2V0QnVpbGRlciwgVHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeSB9IGZyb20gJy4uLy4uLy4uL3NyYy9saWInO1xuaW1wb3J0IHsgYWNjb3VudHMsIG1vY2tUc3NTaWduYXR1cmUgfSBmcm9tICcuLi8uLi9yZXNvdXJjZXMnO1xuaW1wb3J0IHsgdGVzdG5ldFY4TWF0ZXJpYWwgfSBmcm9tICcuLi8uLi8uLi9zcmMvcmVzb3VyY2VzJztcbmltcG9ydCB7IGJ1aWxkVGVzdENvbmZpZyB9IGZyb20gJy4vYmFzZSc7XG5cbmNvbnN0IEFTU0VUX0lEID0gJzB4NzgwNjAyODg3YjM1OGNmNDg5ODlkMGQ5YWE2YzhkMjgnO1xuXG5kZXNjcmliZSgnVjhQcmVBcHByb3ZlQXNzZXRCdWlsZGVyJywgKCkgPT4ge1xuICBkZXNjcmliZSgndjggbWF0ZXJpYWwnLCAoKSA9PiB7XG4gICAgaXQoJ2NhcnJpZXMgdjggc3BlY1ZlcnNpb24gYW5kIHR4VmVyc2lvbicsICgpID0+IHtcbiAgICAgIGNvbnN0IGJ1aWxkZXIgPSBuZXcgVjhQcmVBcHByb3ZlQXNzZXRCdWlsZGVyKGJ1aWxkVGVzdENvbmZpZygpKTtcbiAgICAgIGNvbnN0IG1hdGVyaWFsID0gKGJ1aWxkZXIgYXMgYW55KS5fbWF0ZXJpYWw7XG4gICAgICBzaG91bGQuZXF1YWwobWF0ZXJpYWwuc3BlY1ZlcnNpb24sIHRlc3RuZXRWOE1hdGVyaWFsLnNwZWNWZXJzaW9uKTtcbiAgICAgIHNob3VsZC5lcXVhbChtYXRlcmlhbC50eFZlcnNpb24sIHRlc3RuZXRWOE1hdGVyaWFsLnR4VmVyc2lvbik7XG4gICAgfSk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCdmYWN0b3J5IG1ldGhvZCcsICgpID0+IHtcbiAgICBpdCgnZ2V0VjhQcmVBcHByb3ZlQXNzZXRCdWlsZGVyIHJldHVybnMgYSBWOFByZUFwcHJvdmVBc3NldEJ1aWxkZXInLCAoKSA9PiB7XG4gICAgICBjb25zdCBmYWN0b3J5ID0gbmV3IFRyYW5zYWN0aW9uQnVpbGRlckZhY3RvcnkoYnVpbGRUZXN0Q29uZmlnKCkpO1xuICAgICAgc2hvdWxkLm9rKGZhY3RvcnkuZ2V0VjhQcmVBcHByb3ZlQXNzZXRCdWlsZGVyKCkgaW5zdGFuY2VvZiBWOFByZUFwcHJvdmVBc3NldEJ1aWxkZXIpO1xuICAgIH0pO1xuICB9KTtcblxuICBkZXNjcmliZSgnYnVpbGQgdHJhbnNhY3Rpb24nLCAoKSA9PiB7XG4gICAgY29uc3Qgc2VuZGVyID0gYWNjb3VudHMuYWNjb3VudDE7XG5cbiAgICBpdCgnc2hvdWxkIGJ1aWxkIGEgdjggcHJlLWFwcHJvdmUgYXNzZXQgdHJhbnNhY3Rpb24gd2l0aCB2OCBzcGVjVmVyc2lvbiBpbiBvdXRwdXQnLCBhc3luYyAoKSA9PiB7XG4gICAgICBjb25zdCBidWlsZGVyID0gbmV3IFY4UHJlQXBwcm92ZUFzc2V0QnVpbGRlcihidWlsZFRlc3RDb25maWcoKSlcbiAgICAgICAgLmFzc2V0SWQoQVNTRVRfSUQpXG4gICAgICAgIC5zZW5kZXIoeyBhZGRyZXNzOiBzZW5kZXIuYWRkcmVzcyB9KVxuICAgICAgICAudmFsaWRpdHkoeyBmaXJzdFZhbGlkOiAzOTMzLCBtYXhEdXJhdGlvbjogNjQgfSlcbiAgICAgICAgLnJlZmVyZW5jZUJsb2NrKCcweDE0OTc5OWJjOTYwMmNiNWNmMjAxZjM0MjVmYjhkMjUzYjJkNGU2MWZjMTE5ZGNhYjMyNDlmMzA3ZjU5NDc1NGQnKVxuICAgICAgICAuc2VxdWVuY2VJZCh7IG5hbWU6ICdOb25jZScsIGtleXdvcmQ6ICdub25jZScsIHZhbHVlOiAxIH0pXG4gICAgICAgIC5mZWUoeyBhbW91bnQ6IDAsIHR5cGU6ICd0aXAnIH0pO1xuICAgICAgYnVpbGRlci5hZGRTaWduYXR1cmUoeyBwdWI6IHNlbmRlci5wdWJsaWNLZXkgfSwgQnVmZmVyLmZyb20obW9ja1Rzc1NpZ25hdHVyZSwgJ2hleCcpKTtcbiAgICAgIGNvbnN0IHR4ID0gYXdhaXQgYnVpbGRlci5idWlsZCgpO1xuXG4gICAgICBjb25zdCB0eEpzb24gPSB0eC50b0pzb24oKTtcbiAgICAgIHNob3VsZC5kZWVwRXF1YWwodHhKc29uLnNwZWNWZXJzaW9uLCB0ZXN0bmV0VjhNYXRlcmlhbC5zcGVjVmVyc2lvbik7XG4gICAgICBzaG91bGQuZGVlcEVxdWFsKHR4SnNvbi50cmFuc2FjdGlvblZlcnNpb24sIHRlc3RuZXRWOE1hdGVyaWFsLnR4VmVyc2lvbik7XG4gICAgfSk7XG4gIH0pO1xufSk7XG4iXX0=
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"v8RegisterDidWithCDDBuilder.d.ts","sourceRoot":"","sources":["../../../../test/unit/transactionBuilder/v8RegisterDidWithCDDBuilder.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,45 @@
|
|
|
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 resources_1 = require("../../resources");
|
|
9
|
+
const resources_2 = require("../../../src/resources");
|
|
10
|
+
const base_1 = require("./base");
|
|
11
|
+
describe('V8RegisterDidWithCDDBuilder', () => {
|
|
12
|
+
describe('v8 material', () => {
|
|
13
|
+
it('carries v8 specVersion and txVersion', () => {
|
|
14
|
+
const builder = new lib_1.V8RegisterDidWithCDDBuilder((0, base_1.buildTestConfig)());
|
|
15
|
+
const material = builder._material;
|
|
16
|
+
should_1.default.equal(material.specVersion, resources_2.testnetV8Material.specVersion);
|
|
17
|
+
should_1.default.equal(material.txVersion, resources_2.testnetV8Material.txVersion);
|
|
18
|
+
});
|
|
19
|
+
});
|
|
20
|
+
describe('factory method', () => {
|
|
21
|
+
it('getV8RegisterDidWithCDDBuilder returns a V8RegisterDidWithCDDBuilder', () => {
|
|
22
|
+
const factory = new lib_1.TransactionBuilderFactory((0, base_1.buildTestConfig)());
|
|
23
|
+
should_1.default.ok(factory.getV8RegisterDidWithCDDBuilder() instanceof lib_1.V8RegisterDidWithCDDBuilder);
|
|
24
|
+
});
|
|
25
|
+
});
|
|
26
|
+
describe('build transaction', () => {
|
|
27
|
+
const sender = resources_1.accounts.cddProvider;
|
|
28
|
+
const target = resources_1.accounts.account1;
|
|
29
|
+
it('should build a v8 DID registration transaction with v8 specVersion in output', async () => {
|
|
30
|
+
const builder = new lib_1.V8RegisterDidWithCDDBuilder((0, base_1.buildTestConfig)())
|
|
31
|
+
.to({ address: target.address })
|
|
32
|
+
.sender({ address: sender.address })
|
|
33
|
+
.validity({ firstValid: 3933, maxDuration: 64 })
|
|
34
|
+
.referenceBlock('0x149799bc9602cb5cf201f3425fb8d253b2d4e61fc119dcab3249f307f594754d')
|
|
35
|
+
.sequenceId({ name: 'Nonce', keyword: 'nonce', value: 1 })
|
|
36
|
+
.fee({ amount: 0, type: 'tip' });
|
|
37
|
+
builder.addSignature({ pub: sender.publicKey }, Buffer.from(resources_1.mockTssSignature, 'hex'));
|
|
38
|
+
const tx = await builder.build();
|
|
39
|
+
const txJson = tx.toJson();
|
|
40
|
+
should_1.default.deepEqual(txJson.specVersion, resources_2.testnetV8Material.specVersion);
|
|
41
|
+
should_1.default.deepEqual(txJson.transactionVersion, resources_2.testnetV8Material.txVersion);
|
|
42
|
+
});
|
|
43
|
+
});
|
|
44
|
+
});
|
|
45
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidjhSZWdpc3RlckRpZFdpdGhDRERCdWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vdGVzdC91bml0L3RyYW5zYWN0aW9uQnVpbGRlci92OFJlZ2lzdGVyRGlkV2l0aENEREJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxvREFBNEI7QUFDNUIsMENBQTBGO0FBQzFGLCtDQUE2RDtBQUM3RCxzREFBMkQ7QUFDM0QsaUNBQXlDO0FBRXpDLFFBQVEsQ0FBQyw2QkFBNkIsRUFBRSxHQUFHLEVBQUU7SUFDM0MsUUFBUSxDQUFDLGFBQWEsRUFBRSxHQUFHLEVBQUU7UUFDM0IsRUFBRSxDQUFDLHNDQUFzQyxFQUFFLEdBQUcsRUFBRTtZQUM5QyxNQUFNLE9BQU8sR0FBRyxJQUFJLGlDQUEyQixDQUFDLElBQUEsc0JBQWUsR0FBRSxDQUFDLENBQUM7WUFDbkUsTUFBTSxRQUFRLEdBQUksT0FBZSxDQUFDLFNBQVMsQ0FBQztZQUM1QyxnQkFBTSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsV0FBVyxFQUFFLDZCQUFpQixDQUFDLFdBQVcsQ0FBQyxDQUFDO1lBQ2xFLGdCQUFNLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxTQUFTLEVBQUUsNkJBQWlCLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDaEUsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDLENBQUMsQ0FBQztJQUVILFFBQVEsQ0FBQyxnQkFBZ0IsRUFBRSxHQUFHLEVBQUU7UUFDOUIsRUFBRSxDQUFDLHNFQUFzRSxFQUFFLEdBQUcsRUFBRTtZQUM5RSxNQUFNLE9BQU8sR0FBRyxJQUFJLCtCQUF5QixDQUFDLElBQUEsc0JBQWUsR0FBRSxDQUFDLENBQUM7WUFDakUsZ0JBQU0sQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLDhCQUE4QixFQUFFLFlBQVksaUNBQTJCLENBQUMsQ0FBQztRQUM3RixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQyxDQUFDO0lBRUgsUUFBUSxDQUFDLG1CQUFtQixFQUFFLEdBQUcsRUFBRTtRQUNqQyxNQUFNLE1BQU0sR0FBRyxvQkFBUSxDQUFDLFdBQVcsQ0FBQztRQUNwQyxNQUFNLE1BQU0sR0FBRyxvQkFBUSxDQUFDLFFBQVEsQ0FBQztRQUVqQyxFQUFFLENBQUMsOEVBQThFLEVBQUUsS0FBSyxJQUFJLEVBQUU7WUFDNUYsTUFBTSxPQUFPLEdBQUcsSUFBSSxpQ0FBMkIsQ0FBQyxJQUFBLHNCQUFlLEdBQUUsQ0FBQztpQkFDL0QsRUFBRSxDQUFDLEVBQUUsT0FBTyxFQUFFLE1BQU0sQ0FBQyxPQUFPLEVBQUUsQ0FBQztpQkFDL0IsTUFBTSxDQUFDLEVBQUUsT0FBTyxFQUFFLE1BQU0sQ0FBQyxPQUFPLEVBQUUsQ0FBQztpQkFDbkMsUUFBUSxDQUFDLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsRUFBRSxFQUFFLENBQUM7aUJBQy9DLGNBQWMsQ0FBQyxvRUFBb0UsQ0FBQztpQkFDcEYsVUFBVSxDQUFDLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUUsQ0FBQztpQkFDekQsR0FBRyxDQUFDLEVBQUUsTUFBTSxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztZQUNuQyxPQUFPLENBQUMsWUFBWSxDQUFDLEVBQUUsR0FBRyxFQUFFLE1BQU0sQ0FBQyxTQUFTLEVBQUUsRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLDRCQUFnQixFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUM7WUFDdEYsTUFBTSxFQUFFLEdBQUcsTUFBTSxPQUFPLENBQUMsS0FBSyxFQUFFLENBQUM7WUFFakMsTUFBTSxNQUFNLEdBQUcsRUFBRSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQzNCLGdCQUFNLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxXQUFXLEVBQUUsNkJBQWlCLENBQUMsV0FBVyxDQUFDLENBQUM7WUFDcEUsZ0JBQU0sQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLGtCQUFrQixFQUFFLDZCQUFpQixDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQzNFLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBzaG91bGQgZnJvbSAnc2hvdWxkJztcbmltcG9ydCB7IFY4UmVnaXN0ZXJEaWRXaXRoQ0REQnVpbGRlciwgVHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeSB9IGZyb20gJy4uLy4uLy4uL3NyYy9saWInO1xuaW1wb3J0IHsgYWNjb3VudHMsIG1vY2tUc3NTaWduYXR1cmUgfSBmcm9tICcuLi8uLi9yZXNvdXJjZXMnO1xuaW1wb3J0IHsgdGVzdG5ldFY4TWF0ZXJpYWwgfSBmcm9tICcuLi8uLi8uLi9zcmMvcmVzb3VyY2VzJztcbmltcG9ydCB7IGJ1aWxkVGVzdENvbmZpZyB9IGZyb20gJy4vYmFzZSc7XG5cbmRlc2NyaWJlKCdWOFJlZ2lzdGVyRGlkV2l0aENEREJ1aWxkZXInLCAoKSA9PiB7XG4gIGRlc2NyaWJlKCd2OCBtYXRlcmlhbCcsICgpID0+IHtcbiAgICBpdCgnY2FycmllcyB2OCBzcGVjVmVyc2lvbiBhbmQgdHhWZXJzaW9uJywgKCkgPT4ge1xuICAgICAgY29uc3QgYnVpbGRlciA9IG5ldyBWOFJlZ2lzdGVyRGlkV2l0aENEREJ1aWxkZXIoYnVpbGRUZXN0Q29uZmlnKCkpO1xuICAgICAgY29uc3QgbWF0ZXJpYWwgPSAoYnVpbGRlciBhcyBhbnkpLl9tYXRlcmlhbDtcbiAgICAgIHNob3VsZC5lcXVhbChtYXRlcmlhbC5zcGVjVmVyc2lvbiwgdGVzdG5ldFY4TWF0ZXJpYWwuc3BlY1ZlcnNpb24pO1xuICAgICAgc2hvdWxkLmVxdWFsKG1hdGVyaWFsLnR4VmVyc2lvbiwgdGVzdG5ldFY4TWF0ZXJpYWwudHhWZXJzaW9uKTtcbiAgICB9KTtcbiAgfSk7XG5cbiAgZGVzY3JpYmUoJ2ZhY3RvcnkgbWV0aG9kJywgKCkgPT4ge1xuICAgIGl0KCdnZXRWOFJlZ2lzdGVyRGlkV2l0aENEREJ1aWxkZXIgcmV0dXJucyBhIFY4UmVnaXN0ZXJEaWRXaXRoQ0REQnVpbGRlcicsICgpID0+IHtcbiAgICAgIGNvbnN0IGZhY3RvcnkgPSBuZXcgVHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeShidWlsZFRlc3RDb25maWcoKSk7XG4gICAgICBzaG91bGQub2soZmFjdG9yeS5nZXRWOFJlZ2lzdGVyRGlkV2l0aENEREJ1aWxkZXIoKSBpbnN0YW5jZW9mIFY4UmVnaXN0ZXJEaWRXaXRoQ0REQnVpbGRlcik7XG4gICAgfSk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCdidWlsZCB0cmFuc2FjdGlvbicsICgpID0+IHtcbiAgICBjb25zdCBzZW5kZXIgPSBhY2NvdW50cy5jZGRQcm92aWRlcjtcbiAgICBjb25zdCB0YXJnZXQgPSBhY2NvdW50cy5hY2NvdW50MTtcblxuICAgIGl0KCdzaG91bGQgYnVpbGQgYSB2OCBESUQgcmVnaXN0cmF0aW9uIHRyYW5zYWN0aW9uIHdpdGggdjggc3BlY1ZlcnNpb24gaW4gb3V0cHV0JywgYXN5bmMgKCkgPT4ge1xuICAgICAgY29uc3QgYnVpbGRlciA9IG5ldyBWOFJlZ2lzdGVyRGlkV2l0aENEREJ1aWxkZXIoYnVpbGRUZXN0Q29uZmlnKCkpXG4gICAgICAgIC50byh7IGFkZHJlc3M6IHRhcmdldC5hZGRyZXNzIH0pXG4gICAgICAgIC5zZW5kZXIoeyBhZGRyZXNzOiBzZW5kZXIuYWRkcmVzcyB9KVxuICAgICAgICAudmFsaWRpdHkoeyBmaXJzdFZhbGlkOiAzOTMzLCBtYXhEdXJhdGlvbjogNjQgfSlcbiAgICAgICAgLnJlZmVyZW5jZUJsb2NrKCcweDE0OTc5OWJjOTYwMmNiNWNmMjAxZjM0MjVmYjhkMjUzYjJkNGU2MWZjMTE5ZGNhYjMyNDlmMzA3ZjU5NDc1NGQnKVxuICAgICAgICAuc2VxdWVuY2VJZCh7IG5hbWU6ICdOb25jZScsIGtleXdvcmQ6ICdub25jZScsIHZhbHVlOiAxIH0pXG4gICAgICAgIC5mZWUoeyBhbW91bnQ6IDAsIHR5cGU6ICd0aXAnIH0pO1xuICAgICAgYnVpbGRlci5hZGRTaWduYXR1cmUoeyBwdWI6IHNlbmRlci5wdWJsaWNLZXkgfSwgQnVmZmVyLmZyb20obW9ja1Rzc1NpZ25hdHVyZSwgJ2hleCcpKTtcbiAgICAgIGNvbnN0IHR4ID0gYXdhaXQgYnVpbGRlci5idWlsZCgpO1xuXG4gICAgICBjb25zdCB0eEpzb24gPSB0eC50b0pzb24oKTtcbiAgICAgIHNob3VsZC5kZWVwRXF1YWwodHhKc29uLnNwZWNWZXJzaW9uLCB0ZXN0bmV0VjhNYXRlcmlhbC5zcGVjVmVyc2lvbik7XG4gICAgICBzaG91bGQuZGVlcEVxdWFsKHR4SnNvbi50cmFuc2FjdGlvblZlcnNpb24sIHRlc3RuZXRWOE1hdGVyaWFsLnR4VmVyc2lvbik7XG4gICAgfSk7XG4gIH0pO1xufSk7XG4iXX0=
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"v8TokenTransferBuilder.d.ts","sourceRoot":"","sources":["../../../../test/unit/transactionBuilder/v8TokenTransferBuilder.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,51 @@
|
|
|
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 resources_1 = require("../../resources");
|
|
9
|
+
const resources_2 = require("../../../src/resources");
|
|
10
|
+
const base_1 = require("./base");
|
|
11
|
+
const FROM_DID = '0x1208d7851e6698249aea40742701ee1ef6cdcced260a7c49c1cca1a9db836342';
|
|
12
|
+
const TO_DID = '0xbc6f7ec808f361c1353ab9dc88c3cc54b98d9eb60fed9c063e67a40925b8ef61';
|
|
13
|
+
const ASSET_ID = '0x780602887b358cf48989d0d9aa6c8d28';
|
|
14
|
+
describe('V8TokenTransferBuilder', () => {
|
|
15
|
+
describe('v8 material', () => {
|
|
16
|
+
it('carries v8 specVersion and txVersion', () => {
|
|
17
|
+
const builder = new lib_1.V8TokenTransferBuilder((0, base_1.buildTestConfig)());
|
|
18
|
+
const material = builder._material;
|
|
19
|
+
should_1.default.equal(material.specVersion, resources_2.testnetV8Material.specVersion);
|
|
20
|
+
should_1.default.equal(material.txVersion, resources_2.testnetV8Material.txVersion);
|
|
21
|
+
});
|
|
22
|
+
});
|
|
23
|
+
describe('factory method', () => {
|
|
24
|
+
it('getV8TokenTransferBuilder returns a V8TokenTransferBuilder', () => {
|
|
25
|
+
const factory = new lib_1.TransactionBuilderFactory((0, base_1.buildTestConfig)());
|
|
26
|
+
should_1.default.ok(factory.getV8TokenTransferBuilder() instanceof lib_1.V8TokenTransferBuilder);
|
|
27
|
+
});
|
|
28
|
+
});
|
|
29
|
+
describe('build transaction', () => {
|
|
30
|
+
const sender = resources_1.accounts.account1;
|
|
31
|
+
it('should build a v8 token transfer transaction with v8 specVersion in output', async () => {
|
|
32
|
+
const builder = new lib_1.V8TokenTransferBuilder((0, base_1.buildTestConfig)())
|
|
33
|
+
.assetId(ASSET_ID)
|
|
34
|
+
.amount('1000000')
|
|
35
|
+
.fromDID(FROM_DID)
|
|
36
|
+
.toDID(TO_DID)
|
|
37
|
+
.memo('0')
|
|
38
|
+
.sender({ address: sender.address })
|
|
39
|
+
.validity({ firstValid: 3933, maxDuration: 64 })
|
|
40
|
+
.referenceBlock('0x149799bc9602cb5cf201f3425fb8d253b2d4e61fc119dcab3249f307f594754d')
|
|
41
|
+
.sequenceId({ name: 'Nonce', keyword: 'nonce', value: 1 })
|
|
42
|
+
.fee({ amount: 0, type: 'tip' });
|
|
43
|
+
builder.addSignature({ pub: sender.publicKey }, Buffer.from(resources_1.mockTssSignature, 'hex'));
|
|
44
|
+
const tx = await builder.build();
|
|
45
|
+
const txJson = tx.toJson();
|
|
46
|
+
should_1.default.deepEqual(txJson.specVersion, resources_2.testnetV8Material.specVersion);
|
|
47
|
+
should_1.default.deepEqual(txJson.transactionVersion, resources_2.testnetV8Material.txVersion);
|
|
48
|
+
});
|
|
49
|
+
});
|
|
50
|
+
});
|
|
51
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidjhUb2tlblRyYW5zZmVyQnVpbGRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Rlc3QvdW5pdC90cmFuc2FjdGlvbkJ1aWxkZXIvdjhUb2tlblRyYW5zZmVyQnVpbGRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLG9EQUE0QjtBQUM1QiwwQ0FBcUY7QUFDckYsK0NBQTZEO0FBQzdELHNEQUEyRDtBQUMzRCxpQ0FBeUM7QUFFekMsTUFBTSxRQUFRLEdBQUcsb0VBQW9FLENBQUM7QUFDdEYsTUFBTSxNQUFNLEdBQUcsb0VBQW9FLENBQUM7QUFDcEYsTUFBTSxRQUFRLEdBQUcsb0NBQW9DLENBQUM7QUFFdEQsUUFBUSxDQUFDLHdCQUF3QixFQUFFLEdBQUcsRUFBRTtJQUN0QyxRQUFRLENBQUMsYUFBYSxFQUFFLEdBQUcsRUFBRTtRQUMzQixFQUFFLENBQUMsc0NBQXNDLEVBQUUsR0FBRyxFQUFFO1lBQzlDLE1BQU0sT0FBTyxHQUFHLElBQUksNEJBQXNCLENBQUMsSUFBQSxzQkFBZSxHQUFFLENBQUMsQ0FBQztZQUM5RCxNQUFNLFFBQVEsR0FBSSxPQUFlLENBQUMsU0FBUyxDQUFDO1lBQzVDLGdCQUFNLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxXQUFXLEVBQUUsNkJBQWlCLENBQUMsV0FBVyxDQUFDLENBQUM7WUFDbEUsZ0JBQU0sQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLFNBQVMsRUFBRSw2QkFBaUIsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUNoRSxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQyxDQUFDO0lBRUgsUUFBUSxDQUFDLGdCQUFnQixFQUFFLEdBQUcsRUFBRTtRQUM5QixFQUFFLENBQUMsNERBQTRELEVBQUUsR0FBRyxFQUFFO1lBQ3BFLE1BQU0sT0FBTyxHQUFHLElBQUksK0JBQXlCLENBQUMsSUFBQSxzQkFBZSxHQUFFLENBQUMsQ0FBQztZQUNqRSxnQkFBTSxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMseUJBQXlCLEVBQUUsWUFBWSw0QkFBc0IsQ0FBQyxDQUFDO1FBQ25GLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDLENBQUM7SUFFSCxRQUFRLENBQUMsbUJBQW1CLEVBQUUsR0FBRyxFQUFFO1FBQ2pDLE1BQU0sTUFBTSxHQUFHLG9CQUFRLENBQUMsUUFBUSxDQUFDO1FBRWpDLEVBQUUsQ0FBQyw0RUFBNEUsRUFBRSxLQUFLLElBQUksRUFBRTtZQUMxRixNQUFNLE9BQU8sR0FBRyxJQUFJLDRCQUFzQixDQUFDLElBQUEsc0JBQWUsR0FBRSxDQUFDO2lCQUMxRCxPQUFPLENBQUMsUUFBUSxDQUFDO2lCQUNqQixNQUFNLENBQUMsU0FBUyxDQUFDO2lCQUNqQixPQUFPLENBQUMsUUFBUSxDQUFDO2lCQUNqQixLQUFLLENBQUMsTUFBTSxDQUFDO2lCQUNiLElBQUksQ0FBQyxHQUFHLENBQUM7aUJBQ1QsTUFBTSxDQUFDLEVBQUUsT0FBTyxFQUFFLE1BQU0sQ0FBQyxPQUFPLEVBQUUsQ0FBQztpQkFDbkMsUUFBUSxDQUFDLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsRUFBRSxFQUFFLENBQUM7aUJBQy9DLGNBQWMsQ0FBQyxvRUFBb0UsQ0FBQztpQkFDcEYsVUFBVSxDQUFDLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUUsQ0FBQztpQkFDekQsR0FBRyxDQUFDLEVBQUUsTUFBTSxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztZQUNuQyxPQUFPLENBQUMsWUFBWSxDQUFDLEVBQUUsR0FBRyxFQUFFLE1BQU0sQ0FBQyxTQUFTLEVBQUUsRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLDRCQUFnQixFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUM7WUFDdEYsTUFBTSxFQUFFLEdBQUcsTUFBTSxPQUFPLENBQUMsS0FBSyxFQUFFLENBQUM7WUFFakMsTUFBTSxNQUFNLEdBQUcsRUFBRSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQzNCLGdCQUFNLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxXQUFXLEVBQUUsNkJBQWlCLENBQUMsV0FBVyxDQUFDLENBQUM7WUFDcEUsZ0JBQU0sQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLGtCQUFrQixFQUFFLDZCQUFpQixDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQzNFLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBzaG91bGQgZnJvbSAnc2hvdWxkJztcbmltcG9ydCB7IFY4VG9rZW5UcmFuc2ZlckJ1aWxkZXIsIFRyYW5zYWN0aW9uQnVpbGRlckZhY3RvcnkgfSBmcm9tICcuLi8uLi8uLi9zcmMvbGliJztcbmltcG9ydCB7IGFjY291bnRzLCBtb2NrVHNzU2lnbmF0dXJlIH0gZnJvbSAnLi4vLi4vcmVzb3VyY2VzJztcbmltcG9ydCB7IHRlc3RuZXRWOE1hdGVyaWFsIH0gZnJvbSAnLi4vLi4vLi4vc3JjL3Jlc291cmNlcyc7XG5pbXBvcnQgeyBidWlsZFRlc3RDb25maWcgfSBmcm9tICcuL2Jhc2UnO1xuXG5jb25zdCBGUk9NX0RJRCA9ICcweDEyMDhkNzg1MWU2Njk4MjQ5YWVhNDA3NDI3MDFlZTFlZjZjZGNjZWQyNjBhN2M0OWMxY2NhMWE5ZGI4MzYzNDInO1xuY29uc3QgVE9fRElEID0gJzB4YmM2ZjdlYzgwOGYzNjFjMTM1M2FiOWRjODhjM2NjNTRiOThkOWViNjBmZWQ5YzA2M2U2N2E0MDkyNWI4ZWY2MSc7XG5jb25zdCBBU1NFVF9JRCA9ICcweDc4MDYwMjg4N2IzNThjZjQ4OTg5ZDBkOWFhNmM4ZDI4JztcblxuZGVzY3JpYmUoJ1Y4VG9rZW5UcmFuc2ZlckJ1aWxkZXInLCAoKSA9PiB7XG4gIGRlc2NyaWJlKCd2OCBtYXRlcmlhbCcsICgpID0+IHtcbiAgICBpdCgnY2FycmllcyB2OCBzcGVjVmVyc2lvbiBhbmQgdHhWZXJzaW9uJywgKCkgPT4ge1xuICAgICAgY29uc3QgYnVpbGRlciA9IG5ldyBWOFRva2VuVHJhbnNmZXJCdWlsZGVyKGJ1aWxkVGVzdENvbmZpZygpKTtcbiAgICAgIGNvbnN0IG1hdGVyaWFsID0gKGJ1aWxkZXIgYXMgYW55KS5fbWF0ZXJpYWw7XG4gICAgICBzaG91bGQuZXF1YWwobWF0ZXJpYWwuc3BlY1ZlcnNpb24sIHRlc3RuZXRWOE1hdGVyaWFsLnNwZWNWZXJzaW9uKTtcbiAgICAgIHNob3VsZC5lcXVhbChtYXRlcmlhbC50eFZlcnNpb24sIHRlc3RuZXRWOE1hdGVyaWFsLnR4VmVyc2lvbik7XG4gICAgfSk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCdmYWN0b3J5IG1ldGhvZCcsICgpID0+IHtcbiAgICBpdCgnZ2V0VjhUb2tlblRyYW5zZmVyQnVpbGRlciByZXR1cm5zIGEgVjhUb2tlblRyYW5zZmVyQnVpbGRlcicsICgpID0+IHtcbiAgICAgIGNvbnN0IGZhY3RvcnkgPSBuZXcgVHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeShidWlsZFRlc3RDb25maWcoKSk7XG4gICAgICBzaG91bGQub2soZmFjdG9yeS5nZXRWOFRva2VuVHJhbnNmZXJCdWlsZGVyKCkgaW5zdGFuY2VvZiBWOFRva2VuVHJhbnNmZXJCdWlsZGVyKTtcbiAgICB9KTtcbiAgfSk7XG5cbiAgZGVzY3JpYmUoJ2J1aWxkIHRyYW5zYWN0aW9uJywgKCkgPT4ge1xuICAgIGNvbnN0IHNlbmRlciA9IGFjY291bnRzLmFjY291bnQxO1xuXG4gICAgaXQoJ3Nob3VsZCBidWlsZCBhIHY4IHRva2VuIHRyYW5zZmVyIHRyYW5zYWN0aW9uIHdpdGggdjggc3BlY1ZlcnNpb24gaW4gb3V0cHV0JywgYXN5bmMgKCkgPT4ge1xuICAgICAgY29uc3QgYnVpbGRlciA9IG5ldyBWOFRva2VuVHJhbnNmZXJCdWlsZGVyKGJ1aWxkVGVzdENvbmZpZygpKVxuICAgICAgICAuYXNzZXRJZChBU1NFVF9JRClcbiAgICAgICAgLmFtb3VudCgnMTAwMDAwMCcpXG4gICAgICAgIC5mcm9tRElEKEZST01fRElEKVxuICAgICAgICAudG9ESUQoVE9fRElEKVxuICAgICAgICAubWVtbygnMCcpXG4gICAgICAgIC5zZW5kZXIoeyBhZGRyZXNzOiBzZW5kZXIuYWRkcmVzcyB9KVxuICAgICAgICAudmFsaWRpdHkoeyBmaXJzdFZhbGlkOiAzOTMzLCBtYXhEdXJhdGlvbjogNjQgfSlcbiAgICAgICAgLnJlZmVyZW5jZUJsb2NrKCcweDE0OTc5OWJjOTYwMmNiNWNmMjAxZjM0MjVmYjhkMjUzYjJkNGU2MWZjMTE5ZGNhYjMyNDlmMzA3ZjU5NDc1NGQnKVxuICAgICAgICAuc2VxdWVuY2VJZCh7IG5hbWU6ICdOb25jZScsIGtleXdvcmQ6ICdub25jZScsIHZhbHVlOiAxIH0pXG4gICAgICAgIC5mZWUoeyBhbW91bnQ6IDAsIHR5cGU6ICd0aXAnIH0pO1xuICAgICAgYnVpbGRlci5hZGRTaWduYXR1cmUoeyBwdWI6IHNlbmRlci5wdWJsaWNLZXkgfSwgQnVmZmVyLmZyb20obW9ja1Rzc1NpZ25hdHVyZSwgJ2hleCcpKTtcbiAgICAgIGNvbnN0IHR4ID0gYXdhaXQgYnVpbGRlci5idWlsZCgpO1xuXG4gICAgICBjb25zdCB0eEpzb24gPSB0eC50b0pzb24oKTtcbiAgICAgIHNob3VsZC5kZWVwRXF1YWwodHhKc29uLnNwZWNWZXJzaW9uLCB0ZXN0bmV0VjhNYXRlcmlhbC5zcGVjVmVyc2lvbik7XG4gICAgICBzaG91bGQuZGVlcEVxdWFsKHR4SnNvbi50cmFuc2FjdGlvblZlcnNpb24sIHRlc3RuZXRWOE1hdGVyaWFsLnR4VmVyc2lvbik7XG4gICAgfSk7XG4gIH0pO1xufSk7XG4iXX0=
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"v8TransferBuilder.d.ts","sourceRoot":"","sources":["../../../../test/unit/transactionBuilder/v8TransferBuilder.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,88 @@
|
|
|
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 resources_2 = require("../../../src/resources");
|
|
11
|
+
const base_1 = require("./base");
|
|
12
|
+
describe('V8TransferBuilder', () => {
|
|
13
|
+
describe('v8 material', () => {
|
|
14
|
+
it('testnet builder uses v8 specVersion and txVersion', () => {
|
|
15
|
+
const config = (0, base_1.buildTestConfig)();
|
|
16
|
+
const builder = new lib_1.V8TransferBuilder(config);
|
|
17
|
+
const material = builder._material;
|
|
18
|
+
should_1.default.equal(material.specVersion, resources_2.testnetV8Material.specVersion);
|
|
19
|
+
should_1.default.equal(material.txVersion, resources_2.testnetV8Material.txVersion);
|
|
20
|
+
should_1.default.equal(material.chainName, resources_2.testnetV8Material.chainName);
|
|
21
|
+
});
|
|
22
|
+
it('mainnet builder uses v8 specVersion and txVersion', () => {
|
|
23
|
+
const config = (0, base_1.buildMainnetConfig)();
|
|
24
|
+
const builder = new lib_1.V8TransferBuilder(config);
|
|
25
|
+
const material = builder._material;
|
|
26
|
+
should_1.default.equal(material.specVersion, resources_2.mainnetV8Material.specVersion);
|
|
27
|
+
should_1.default.equal(material.txVersion, resources_2.mainnetV8Material.txVersion);
|
|
28
|
+
});
|
|
29
|
+
it('v8 specVersion is greater than v7 specVersion', () => {
|
|
30
|
+
const config = (0, base_1.buildTestConfig)();
|
|
31
|
+
const v7Material = src_1.utils.getMaterial(config.network.type);
|
|
32
|
+
const v8Material = src_1.utils.getV8Material(config.network.type);
|
|
33
|
+
should_1.default.ok(v8Material.specVersion > v7Material.specVersion, `expected v8 (${v8Material.specVersion}) > v7 (${v7Material.specVersion})`);
|
|
34
|
+
});
|
|
35
|
+
});
|
|
36
|
+
describe('factory method', () => {
|
|
37
|
+
it('getV8TransferBuilder returns a V8TransferBuilder', () => {
|
|
38
|
+
const factory = new lib_1.TransactionBuilderFactory((0, base_1.buildTestConfig)());
|
|
39
|
+
should_1.default.ok(factory.getV8TransferBuilder() instanceof lib_1.V8TransferBuilder);
|
|
40
|
+
});
|
|
41
|
+
it('factory v8 builder carries v8 material', () => {
|
|
42
|
+
const factory = new lib_1.TransactionBuilderFactory((0, base_1.buildTestConfig)());
|
|
43
|
+
const builder = factory.getV8TransferBuilder();
|
|
44
|
+
should_1.default.equal(builder._material.specVersion, resources_2.testnetV8Material.specVersion);
|
|
45
|
+
});
|
|
46
|
+
});
|
|
47
|
+
describe('build transaction', () => {
|
|
48
|
+
const sender = resources_1.accounts.account1;
|
|
49
|
+
const receiver = resources_1.accounts.account2;
|
|
50
|
+
it('should build a signed v8 transfer transaction with v8 specVersion in output', async () => {
|
|
51
|
+
const config = (0, base_1.buildTestConfig)();
|
|
52
|
+
const builder = new lib_1.V8TransferBuilder(config)
|
|
53
|
+
.amount('90034235235322')
|
|
54
|
+
.to({ address: receiver.address })
|
|
55
|
+
.sender({ address: sender.address })
|
|
56
|
+
.memo('0')
|
|
57
|
+
.validity({ firstValid: 3933, maxDuration: 64 })
|
|
58
|
+
.referenceBlock('0x149799bc9602cb5cf201f3425fb8d253b2d4e61fc119dcab3249f307f594754d')
|
|
59
|
+
.sequenceId({ name: 'Nonce', keyword: 'nonce', value: 200 })
|
|
60
|
+
.fee({ amount: 0, type: 'tip' });
|
|
61
|
+
builder.addSignature({ pub: sender.publicKey }, Buffer.from(resources_1.mockTssSignature, 'hex'));
|
|
62
|
+
const tx = await builder.build();
|
|
63
|
+
const txJson = tx.toJson();
|
|
64
|
+
should_1.default.deepEqual(txJson.amount, '90034235235322');
|
|
65
|
+
should_1.default.deepEqual(txJson.to, receiver.address);
|
|
66
|
+
should_1.default.deepEqual(txJson.sender, sender.address);
|
|
67
|
+
should_1.default.deepEqual(txJson.specVersion, resources_2.testnetV8Material.specVersion);
|
|
68
|
+
should_1.default.deepEqual(txJson.transactionVersion, resources_2.testnetV8Material.txVersion);
|
|
69
|
+
});
|
|
70
|
+
it('should build an unsigned v8 transfer transaction', async () => {
|
|
71
|
+
const config = (0, base_1.buildTestConfig)();
|
|
72
|
+
const tx = await new lib_1.V8TransferBuilder(config)
|
|
73
|
+
.amount('1000000')
|
|
74
|
+
.to({ address: receiver.address })
|
|
75
|
+
.sender({ address: sender.address })
|
|
76
|
+
.memo('0')
|
|
77
|
+
.validity({ firstValid: 3933, maxDuration: 64 })
|
|
78
|
+
.referenceBlock('0x149799bc9602cb5cf201f3425fb8d253b2d4e61fc119dcab3249f307f594754d')
|
|
79
|
+
.sequenceId({ name: 'Nonce', keyword: 'nonce', value: 1 })
|
|
80
|
+
.fee({ amount: 0, type: 'tip' })
|
|
81
|
+
.build();
|
|
82
|
+
const txJson = tx.toJson();
|
|
83
|
+
should_1.default.deepEqual(txJson.specVersion, resources_2.testnetV8Material.specVersion);
|
|
84
|
+
should_1.default.deepEqual(txJson.transactionVersion, resources_2.testnetV8Material.txVersion);
|
|
85
|
+
});
|
|
86
|
+
});
|
|
87
|
+
});
|
|
88
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidjhUcmFuc2ZlckJ1aWxkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi90ZXN0L3VuaXQvdHJhbnNhY3Rpb25CdWlsZGVyL3Y4VHJhbnNmZXJCdWlsZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsb0RBQTRCO0FBQzVCLDBDQUFnRjtBQUNoRixzQ0FBcUM7QUFDckMsK0NBQTZEO0FBQzdELHNEQUE4RTtBQUM5RSxpQ0FBNkQ7QUFFN0QsUUFBUSxDQUFDLG1CQUFtQixFQUFFLEdBQUcsRUFBRTtJQUNqQyxRQUFRLENBQUMsYUFBYSxFQUFFLEdBQUcsRUFBRTtRQUMzQixFQUFFLENBQUMsbURBQW1ELEVBQUUsR0FBRyxFQUFFO1lBQzNELE1BQU0sTUFBTSxHQUFHLElBQUEsc0JBQWUsR0FBRSxDQUFDO1lBQ2pDLE1BQU0sT0FBTyxHQUFHLElBQUksdUJBQWlCLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDOUMsTUFBTSxRQUFRLEdBQUksT0FBZSxDQUFDLFNBQVMsQ0FBQztZQUM1QyxnQkFBTSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsV0FBVyxFQUFFLDZCQUFpQixDQUFDLFdBQVcsQ0FBQyxDQUFDO1lBQ2xFLGdCQUFNLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxTQUFTLEVBQUUsNkJBQWlCLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDOUQsZ0JBQU0sQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLFNBQVMsRUFBRSw2QkFBaUIsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUNoRSxDQUFDLENBQUMsQ0FBQztRQUVILEVBQUUsQ0FBQyxtREFBbUQsRUFBRSxHQUFHLEVBQUU7WUFDM0QsTUFBTSxNQUFNLEdBQUcsSUFBQSx5QkFBa0IsR0FBRSxDQUFDO1lBQ3BDLE1BQU0sT0FBTyxHQUFHLElBQUksdUJBQWlCLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDOUMsTUFBTSxRQUFRLEdBQUksT0FBZSxDQUFDLFNBQVMs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QUFFLEVBQUUsRUFBRSxDQUFDO2lCQUMvQyxjQUFjLENBQUMsb0VBQW9FLENBQUM7aUJBQ3BGLFVBQVUsQ0FBQyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUFFLENBQUM7aUJBQ3pELEdBQUcsQ0FBQyxFQUFFLE1BQU0sRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxDQUFDO2lCQUMvQixLQUFLLEVBQUUsQ0FBQztZQUVYLE1BQU0sTUFBTSxHQUFHLEVBQUUsQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUMzQixnQkFBTSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsV0FBVyxFQUFFLDZCQUFpQixDQUFDLFdBQVcsQ0FBQyxDQUFDO1lBQ3BFLGdCQUFNLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxrQkFBa0IsRUFBRSw2QkFBaUIsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUMzRSxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgc2hvdWxkIGZyb20gJ3Nob3VsZCc7XG5pbXBvcnQgeyBWOFRyYW5zZmVyQnVpbGRlciwgVHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeSB9IGZyb20gJy4uLy4uLy4uL3NyYy9saWInO1xuaW1wb3J0IHsgdXRpbHMgfSBmcm9tICcuLi8uLi8uLi9zcmMnO1xuaW1wb3J0IHsgYWNjb3VudHMsIG1vY2tUc3NTaWduYXR1cmUgfSBmcm9tICcuLi8uLi9yZXNvdXJjZXMnO1xuaW1wb3J0IHsgdGVzdG5ldFY4TWF0ZXJpYWwsIG1haW5uZXRWOE1hdGVyaWFsIH0gZnJvbSAnLi4vLi4vLi4vc3JjL3Jlc291cmNlcyc7XG5pbXBvcnQgeyBidWlsZFRlc3RDb25maWcsIGJ1aWxkTWFpbm5ldENvbmZpZyB9IGZyb20gJy4vYmFzZSc7XG5cbmRlc2NyaWJlKCdWOFRyYW5zZmVyQnVpbGRlcicsICgpID0+IHtcbiAgZGVzY3JpYmUoJ3Y4IG1hdGVyaWFsJywgKCkgPT4ge1xuICAgIGl0KCd0ZXN0bmV0IGJ1aWxkZXIgdXNlcyB2OCBzcGVjVmVyc2lvbiBhbmQgdHhWZXJzaW9uJywgKCkgPT4ge1xuICAgICAgY29uc3QgY29uZmlnID0gYnVpbGRUZXN0Q29uZmlnKCk7XG4gICAgICBjb25zdCBidWlsZGVyID0gbmV3IFY4VHJhbnNmZXJCdWlsZGVyKGNvbmZpZyk7XG4gICAgICBjb25zdCBtYXRlcmlhbCA9IChidWlsZGVyIGFzIGFueSkuX21hdGVyaWFsO1xuICAgICAgc2hvdWxkLmVxdWFsKG1hdGVyaWFsLnNwZWNWZXJzaW9uLCB0ZXN0bmV0VjhNYXRlcmlhbC5zcGVjVmVyc2lvbik7XG4gICAgICBzaG91bGQuZXF1YWwobWF0ZXJpYWwudHhWZXJzaW9uLCB0ZXN0bmV0VjhNYXRlcmlhbC50eFZlcnNpb24pO1xuICAgICAgc2hvdWxkLmVxdWFsKG1hdGVyaWFsLmNoYWluTmFtZSwgdGVzdG5ldFY4TWF0ZXJpYWwuY2hhaW5OYW1lKTtcbiAgICB9KTtcblxuICAgIGl0KCdtYWlubmV0IGJ1aWxkZXIgdXNlcyB2OCBzcGVjVmVyc2lvbiBhbmQgdHhWZXJzaW9uJywgKCkgPT4ge1xuICAgICAgY29uc3QgY29uZmlnID0gYnVpbGRNYWlubmV0Q29uZmlnKCk7XG4gICAgICBjb25zdCBidWlsZGVyID0gbmV3IFY4VHJhbnNmZXJCdWlsZGVyKGNvbmZpZyk7XG4gICAgICBjb25zdCBtYXRlcmlhbCA9IChidWlsZGVyIGFzIGFueSkuX21hdGVyaWFsO1xuICAgICAgc2hvdWxkLmVxdWFsKG1hdGVyaWFsLnNwZWNWZXJzaW9uLCBtYWlubmV0VjhNYXRlcmlhbC5zcGVjVmVyc2lvbik7XG4gICAgICBzaG91bGQuZXF1YWwobWF0ZXJpYWwudHhWZXJzaW9uLCBtYWlubmV0VjhNYXRlcmlhbC50eFZlcnNpb24pO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Y4IHNwZWNWZXJzaW9uIGlzIGdyZWF0ZXIgdGhhbiB2NyBzcGVjVmVyc2lvbicsICgpID0+IHtcbiAgICAgIGNvbnN0IGNvbmZpZyA9IGJ1aWxkVGVzdENvbmZpZygpO1xuICAgICAgY29uc3QgdjdNYXRlcmlhbCA9IHV0aWxzLmdldE1hdGVyaWFsKGNvbmZpZy5uZXR3b3JrLnR5cGUpO1xuICAgICAgY29uc3QgdjhNYXRlcmlhbCA9IHV0aWxzLmdldFY4TWF0ZXJpYWwoY29uZmlnLm5ldHdvcmsudHlwZSk7XG4gICAgICBzaG91bGQub2soXG4gICAgICAgIHY4TWF0ZXJpYWwuc3BlY1ZlcnNpb24gPiB2N01hdGVyaWFsLnNwZWNWZXJzaW9uLFxuICAgICAgICBgZXhwZWN0ZWQgdjggKCR7djhNYXRlcmlhbC5zcGVjVmVyc2lvbn0pID4gdjcgKCR7djdNYXRlcmlhbC5zcGVjVmVyc2lvbn0pYFxuICAgICAgKTtcbiAgICB9KTtcbiAgfSk7XG5cbiAgZGVzY3JpYmUoJ2ZhY3RvcnkgbWV0aG9kJywgKCkgPT4ge1xuICAgIGl0KCdnZXRWOFRyYW5zZmVyQnVpbGRlciByZXR1cm5zIGEgVjhUcmFuc2ZlckJ1aWxkZXInLCAoKSA9PiB7XG4gICAgICBjb25zdCBmYWN0b3J5ID0gbmV3IFRyYW5zYWN0aW9uQnVpbGRlckZhY3RvcnkoYnVpbGRUZXN0Q29uZmlnKCkpO1xuICAgICAgc2hvdWxkLm9rKGZhY3RvcnkuZ2V0VjhUcmFuc2ZlckJ1aWxkZXIoKSBpbnN0YW5jZW9mIFY4VHJhbnNmZXJCdWlsZGVyKTtcbiAgICB9KTtcblxuICAgIGl0KCdmYWN0b3J5IHY4IGJ1aWxkZXIgY2FycmllcyB2OCBtYXRlcmlhbCcsICgpID0+IHtcbiAgICAgIGNvbnN0IGZhY3RvcnkgPSBuZXcgVHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeShidWlsZFRlc3RDb25maWcoKSk7XG4gICAgICBjb25zdCBidWlsZGVyID0gZmFjdG9yeS5nZXRWOFRyYW5zZmVyQnVpbGRlcigpO1xuICAgICAgc2hvdWxkLmVxdWFsKChidWlsZGVyIGFzIGFueSkuX21hdGVyaWFsLnNwZWNWZXJzaW9uLCB0ZXN0bmV0VjhNYXRlcmlhbC5zcGVjVmVyc2lvbik7XG4gICAgfSk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCdidWlsZCB0cmFuc2FjdGlvbicsICgpID0+IHtcbiAgICBjb25zdCBzZW5kZXIgPSBhY2NvdW50cy5hY2NvdW50MTtcbiAgICBjb25zdCByZWNlaXZlciA9IGFjY291bnRzLmFjY291bnQyO1xuXG4gICAgaXQoJ3Nob3VsZCBidWlsZCBhIHNpZ25lZCB2OCB0cmFuc2ZlciB0cmFuc2FjdGlvbiB3aXRoIHY4IHNwZWNWZXJzaW9uIGluIG91dHB1dCcsIGFzeW5jICgpID0+IHtcbiAgICAgIGNvbnN0IGNvbmZpZyA9IGJ1aWxkVGVzdENvbmZpZygpO1xuICAgICAgY29uc3QgYnVpbGRlciA9IG5ldyBWOFRyYW5zZmVyQnVpbGRlcihjb25maWcpXG4gICAgICAgIC5hbW91bnQoJzkwMDM0MjM1MjM1MzIyJylcbiAgICAgICAgLnRvKHsgYWRkcmVzczogcmVjZWl2ZXIuYWRkcmVzcyB9KVxuICAgICAgICAuc2VuZGVyKHsgYWRkcmVzczogc2VuZGVyLmFkZHJlc3MgfSlcbiAgICAgICAgLm1lbW8oJzAnKVxuICAgICAgICAudmFsaWRpdHkoeyBmaXJzdFZhbGlkOiAzOTMzLCBtYXhEdXJhdGlvbjogNjQgfSlcbiAgICAgICAgLnJlZmVyZW5jZUJsb2NrKCcweDE0OTc5OWJjOTYwMmNiNWNmMjAxZjM0MjVmYjhkMjUzYjJkNGU2MWZjMTE5ZGNhYjMyNDlmMzA3ZjU5NDc1NGQnKVxuICAgICAgICAuc2VxdWVuY2VJZCh7IG5hbWU6ICdOb25jZScsIGtleXdvcmQ6ICdub25jZScsIHZhbHVlOiAyMDAgfSlcbiAgICAgICAgLmZlZSh7IGFtb3VudDogMCwgdHlwZTogJ3RpcCcgfSk7XG4gICAgICBidWlsZGVyLmFkZFNpZ25hdHVyZSh7IHB1Yjogc2VuZGVyLnB1YmxpY0tleSB9LCBCdWZmZXIuZnJvbShtb2NrVHNzU2lnbmF0dXJlLCAnaGV4JykpO1xuXG4gICAgICBjb25zdCB0eCA9IGF3YWl0IGJ1aWxkZXIuYnVpbGQoKTtcbiAgICAgIGNvbnN0IHR4SnNvbiA9IHR4LnRvSnNvbigpO1xuXG4gICAgICBzaG91bGQuZGVlcEVxdWFsKHR4SnNvbi5hbW91bnQsICc5MDAzNDIzNTIzNTMyMicpO1xuICAgICAgc2hvdWxkLmRlZXBFcXVhbCh0eEpzb24udG8sIHJlY2VpdmVyLmFkZHJlc3MpO1xuICAgICAgc2hvdWxkLmRlZXBFcXVhbCh0eEpzb24uc2VuZGVyLCBzZW5kZXIuYWRkcmVzcyk7XG4gICAgICBzaG91bGQuZGVlcEVxdWFsKHR4SnNvbi5zcGVjVmVyc2lvbiwgdGVzdG5ldFY4TWF0ZXJpYWwuc3BlY1ZlcnNpb24pO1xuICAgICAgc2hvdWxkLmRlZXBFcXVhbCh0eEpzb24udHJhbnNhY3Rpb25WZXJzaW9uLCB0ZXN0bmV0VjhNYXRlcmlhbC50eFZlcnNpb24pO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCBidWlsZCBhbiB1bnNpZ25lZCB2OCB0cmFuc2ZlciB0cmFuc2FjdGlvbicsIGFzeW5jICgpID0+IHtcbiAgICAgIGNvbnN0IGNvbmZpZyA9IGJ1aWxkVGVzdENvbmZpZygpO1xuICAgICAgY29uc3QgdHggPSBhd2FpdCBuZXcgVjhUcmFuc2ZlckJ1aWxkZXIoY29uZmlnKVxuICAgICAgICAuYW1vdW50KCcxMDAwMDAwJylcbiAgICAgICAgLnRvKHsgYWRkcmVzczogcmVjZWl2ZXIuYWRkcmVzcyB9KVxuICAgICAgICAuc2VuZGVyKHsgYWRkcmVzczogc2VuZGVyLmFkZHJlc3MgfSlcbiAgICAgICAgLm1lbW8oJzAnKVxuICAgICAgICAudmFsaWRpdHkoeyBmaXJzdFZhbGlkOiAzOTMzLCBtYXhEdXJhdGlvbjogNjQgfSlcbiAgICAgICAgLnJlZmVyZW5jZUJsb2NrKCcweDE0OTc5OWJjOTYwMmNiNWNmMjAxZjM0MjVmYjhkMjUzYjJkNGU2MWZjMTE5ZGNhYjMyNDlmMzA3ZjU5NDc1NGQnKVxuICAgICAgICAuc2VxdWVuY2VJZCh7IG5hbWU6ICdOb25jZScsIGtleXdvcmQ6ICdub25jZScsIHZhbHVlOiAxIH0pXG4gICAgICAgIC5mZWUoeyBhbW91bnQ6IDAsIHR5cGU6ICd0aXAnIH0pXG4gICAgICAgIC5idWlsZCgpO1xuXG4gICAgICBjb25zdCB0eEpzb24gPSB0eC50b0pzb24oKTtcbiAgICAgIHNob3VsZC5kZWVwRXF1YWwodHhKc29uLnNwZWNWZXJzaW9uLCB0ZXN0bmV0VjhNYXRlcmlhbC5zcGVjVmVyc2lvbik7XG4gICAgICBzaG91bGQuZGVlcEVxdWFsKHR4SnNvbi50cmFuc2FjdGlvblZlcnNpb24sIHRlc3RuZXRWOE1hdGVyaWFsLnR4VmVyc2lvbik7XG4gICAgfSk7XG4gIH0pO1xufSk7XG4iXX0=
|