@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.
Files changed (68) hide show
  1. package/dist/src/lib/iface.d.ts +7 -0
  2. package/dist/src/lib/iface.d.ts.map +1 -1
  3. package/dist/src/lib/iface.js +1 -1
  4. package/dist/src/lib/index.d.ts +6 -0
  5. package/dist/src/lib/index.d.ts.map +1 -1
  6. package/dist/src/lib/index.js +14 -2
  7. package/dist/src/lib/preApproveAssetBuilder.d.ts.map +1 -1
  8. package/dist/src/lib/preApproveAssetBuilder.js +1 -2
  9. package/dist/src/lib/transaction.d.ts.map +1 -1
  10. package/dist/src/lib/transaction.js +5 -2
  11. package/dist/src/lib/transactionBuilderFactory.d.ts +12 -0
  12. package/dist/src/lib/transactionBuilderFactory.d.ts.map +1 -1
  13. package/dist/src/lib/transactionBuilderFactory.js +25 -1
  14. package/dist/src/lib/utils.d.ts +1 -0
  15. package/dist/src/lib/utils.d.ts.map +1 -1
  16. package/dist/src/lib/utils.js +6 -1
  17. package/dist/src/lib/v8HexTokenTransferBuilder.d.ts +11 -0
  18. package/dist/src/lib/v8HexTokenTransferBuilder.d.ts.map +1 -0
  19. package/dist/src/lib/v8HexTokenTransferBuilder.js +21 -0
  20. package/dist/src/lib/v8HexTransferBuilder.d.ts +11 -0
  21. package/dist/src/lib/v8HexTransferBuilder.d.ts.map +1 -0
  22. package/dist/src/lib/v8HexTransferBuilder.js +21 -0
  23. package/dist/src/lib/v8PreApproveAssetBuilder.d.ts +11 -0
  24. package/dist/src/lib/v8PreApproveAssetBuilder.d.ts.map +1 -0
  25. package/dist/src/lib/v8PreApproveAssetBuilder.js +21 -0
  26. package/dist/src/lib/v8RegisterDidWithCDDBuilder.d.ts +11 -0
  27. package/dist/src/lib/v8RegisterDidWithCDDBuilder.d.ts.map +1 -0
  28. package/dist/src/lib/v8RegisterDidWithCDDBuilder.js +21 -0
  29. package/dist/src/lib/v8TokenTransferBuilder.d.ts +11 -0
  30. package/dist/src/lib/v8TokenTransferBuilder.d.ts.map +1 -0
  31. package/dist/src/lib/v8TokenTransferBuilder.js +21 -0
  32. package/dist/src/lib/v8TransferBuilder.d.ts +11 -0
  33. package/dist/src/lib/v8TransferBuilder.d.ts.map +1 -0
  34. package/dist/src/lib/v8TransferBuilder.js +21 -0
  35. package/dist/src/resources/index.d.ts +2 -0
  36. package/dist/src/resources/index.d.ts.map +1 -1
  37. package/dist/src/resources/index.js +3 -1
  38. package/dist/src/resources/mainnetV8.d.ts +13 -0
  39. package/dist/src/resources/mainnetV8.d.ts.map +1 -0
  40. package/dist/src/resources/mainnetV8.js +16 -0
  41. package/dist/src/resources/testnetV8.d.ts +13 -0
  42. package/dist/src/resources/testnetV8.d.ts.map +1 -0
  43. package/dist/src/resources/testnetV8.js +16 -0
  44. package/dist/test/resources/index.d.ts +1 -1
  45. package/dist/test/resources/index.d.ts.map +1 -1
  46. package/dist/test/unit/polyx.js +6 -1
  47. package/dist/test/unit/transactionBuilder/batchStakingBuilder.js +30 -1
  48. package/dist/test/unit/transactionBuilder/nominateBuilder.js +58 -1
  49. package/dist/test/unit/transactionBuilder/v8HexTokenTransferBuilder.d.ts +2 -0
  50. package/dist/test/unit/transactionBuilder/v8HexTokenTransferBuilder.d.ts.map +1 -0
  51. package/dist/test/unit/transactionBuilder/v8HexTokenTransferBuilder.js +60 -0
  52. package/dist/test/unit/transactionBuilder/v8HexTransferBuilder.d.ts +2 -0
  53. package/dist/test/unit/transactionBuilder/v8HexTransferBuilder.d.ts.map +1 -0
  54. package/dist/test/unit/transactionBuilder/v8HexTransferBuilder.js +62 -0
  55. package/dist/test/unit/transactionBuilder/v8PreApproveAssetBuilder.d.ts +2 -0
  56. package/dist/test/unit/transactionBuilder/v8PreApproveAssetBuilder.d.ts.map +1 -0
  57. package/dist/test/unit/transactionBuilder/v8PreApproveAssetBuilder.js +45 -0
  58. package/dist/test/unit/transactionBuilder/v8RegisterDidWithCDDBuilder.d.ts +2 -0
  59. package/dist/test/unit/transactionBuilder/v8RegisterDidWithCDDBuilder.d.ts.map +1 -0
  60. package/dist/test/unit/transactionBuilder/v8RegisterDidWithCDDBuilder.js +45 -0
  61. package/dist/test/unit/transactionBuilder/v8TokenTransferBuilder.d.ts +2 -0
  62. package/dist/test/unit/transactionBuilder/v8TokenTransferBuilder.d.ts.map +1 -0
  63. package/dist/test/unit/transactionBuilder/v8TokenTransferBuilder.js +51 -0
  64. package/dist/test/unit/transactionBuilder/v8TransferBuilder.d.ts +2 -0
  65. package/dist/test/unit/transactionBuilder/v8TransferBuilder.d.ts.map +1 -0
  66. package/dist/test/unit/transactionBuilder/v8TransferBuilder.js +88 -0
  67. package/dist/tsconfig.tsbuildinfo +1 -1
  68. 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,2 @@
1
+ export {};
2
+ //# sourceMappingURL=v8HexTransferBuilder.d.ts.map
@@ -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,2 @@
1
+ export {};
2
+ //# sourceMappingURL=v8PreApproveAssetBuilder.d.ts.map
@@ -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,2 @@
1
+ export {};
2
+ //# sourceMappingURL=v8RegisterDidWithCDDBuilder.d.ts.map
@@ -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,2 @@
1
+ export {};
2
+ //# sourceMappingURL=v8TokenTransferBuilder.d.ts.map
@@ -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,2 @@
1
+ export {};
2
+ //# sourceMappingURL=v8TransferBuilder.d.ts.map
@@ -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=