@bitgo/abstract-eth 24.10.0 → 24.10.1

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 (121) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/package.json +6 -6
  3. package/LICENSE +0 -191
  4. package/dist/src/abstractEthLikeCoin.d.ts +0 -95
  5. package/dist/src/abstractEthLikeCoin.d.ts.map +0 -1
  6. package/dist/src/abstractEthLikeCoin.js +0 -160
  7. package/dist/src/abstractEthLikeNewCoins.d.ts +0 -749
  8. package/dist/src/abstractEthLikeNewCoins.d.ts.map +0 -1
  9. package/dist/src/abstractEthLikeNewCoins.js +0 -2229
  10. package/dist/src/ethLikeToken.d.ts +0 -70
  11. package/dist/src/ethLikeToken.d.ts.map +0 -1
  12. package/dist/src/ethLikeToken.js +0 -360
  13. package/dist/src/index.d.ts +0 -5
  14. package/dist/src/index.d.ts.map +0 -1
  15. package/dist/src/index.js +0 -21
  16. package/dist/src/lib/contractCall.d.ts +0 -8
  17. package/dist/src/lib/contractCall.d.ts.map +0 -1
  18. package/dist/src/lib/contractCall.js +0 -17
  19. package/dist/src/lib/iface.d.ts +0 -133
  20. package/dist/src/lib/iface.d.ts.map +0 -1
  21. package/dist/src/lib/iface.js +0 -8
  22. package/dist/src/lib/index.d.ts +0 -16
  23. package/dist/src/lib/index.d.ts.map +0 -1
  24. package/dist/src/lib/index.js +0 -57
  25. package/dist/src/lib/keyPair.d.ts +0 -26
  26. package/dist/src/lib/keyPair.d.ts.map +0 -1
  27. package/dist/src/lib/keyPair.js +0 -65
  28. package/dist/src/lib/messages/eip191/eip191Message.d.ts +0 -12
  29. package/dist/src/lib/messages/eip191/eip191Message.d.ts.map +0 -1
  30. package/dist/src/lib/messages/eip191/eip191Message.js +0 -25
  31. package/dist/src/lib/messages/eip191/eip191MessageBuilder.d.ts +0 -19
  32. package/dist/src/lib/messages/eip191/eip191MessageBuilder.d.ts.map +0 -1
  33. package/dist/src/lib/messages/eip191/eip191MessageBuilder.js +0 -27
  34. package/dist/src/lib/messages/eip191/index.d.ts +0 -3
  35. package/dist/src/lib/messages/eip191/index.d.ts.map +0 -1
  36. package/dist/src/lib/messages/eip191/index.js +0 -19
  37. package/dist/src/lib/messages/index.d.ts +0 -3
  38. package/dist/src/lib/messages/index.d.ts.map +0 -1
  39. package/dist/src/lib/messages/index.js +0 -19
  40. package/dist/src/lib/messages/messageBuilderFactory.d.ts +0 -7
  41. package/dist/src/lib/messages/messageBuilderFactory.d.ts.map +0 -1
  42. package/dist/src/lib/messages/messageBuilderFactory.js +0 -20
  43. package/dist/src/lib/transaction.d.ts +0 -67
  44. package/dist/src/lib/transaction.d.ts.map +0 -1
  45. package/dist/src/lib/transaction.js +0 -142
  46. package/dist/src/lib/transactionBuilder.d.ts +0 -251
  47. package/dist/src/lib/transactionBuilder.d.ts.map +0 -1
  48. package/dist/src/lib/transactionBuilder.js +0 -742
  49. package/dist/src/lib/transferBuilder.d.ts +0 -76
  50. package/dist/src/lib/transferBuilder.d.ts.map +0 -1
  51. package/dist/src/lib/transferBuilder.js +0 -307
  52. package/dist/src/lib/transferBuilders/baseNFTTransferBuilder.d.ts +0 -54
  53. package/dist/src/lib/transferBuilders/baseNFTTransferBuilder.d.ts.map +0 -1
  54. package/dist/src/lib/transferBuilders/baseNFTTransferBuilder.js +0 -120
  55. package/dist/src/lib/transferBuilders/index.d.ts +0 -4
  56. package/dist/src/lib/transferBuilders/index.d.ts.map +0 -1
  57. package/dist/src/lib/transferBuilders/index.js +0 -20
  58. package/dist/src/lib/transferBuilders/transferBuilderERC1155.d.ts +0 -17
  59. package/dist/src/lib/transferBuilders/transferBuilderERC1155.d.ts.map +0 -1
  60. package/dist/src/lib/transferBuilders/transferBuilderERC1155.js +0 -96
  61. package/dist/src/lib/transferBuilders/transferBuilderERC721.d.ts +0 -16
  62. package/dist/src/lib/transferBuilders/transferBuilderERC721.d.ts.map +0 -1
  63. package/dist/src/lib/transferBuilders/transferBuilderERC721.js +0 -81
  64. package/dist/src/lib/types.d.ts +0 -39
  65. package/dist/src/lib/types.d.ts.map +0 -1
  66. package/dist/src/lib/types.js +0 -137
  67. package/dist/src/lib/utils.d.ts +0 -270
  68. package/dist/src/lib/utils.d.ts.map +0 -1
  69. package/dist/src/lib/utils.js +0 -717
  70. package/dist/src/lib/walletUtil.d.ts +0 -32
  71. package/dist/src/lib/walletUtil.d.ts.map +0 -1
  72. package/dist/src/lib/walletUtil.js +0 -35
  73. package/dist/src/types.d.ts +0 -9
  74. package/dist/src/types.d.ts.map +0 -1
  75. package/dist/src/types.js +0 -3
  76. package/dist/test/index.d.ts +0 -2
  77. package/dist/test/index.d.ts.map +0 -1
  78. package/dist/test/index.js +0 -18
  79. package/dist/test/unit/coin.d.ts +0 -8
  80. package/dist/test/unit/coin.d.ts.map +0 -1
  81. package/dist/test/unit/coin.js +0 -577
  82. package/dist/test/unit/index.d.ts +0 -6
  83. package/dist/test/unit/index.d.ts.map +0 -1
  84. package/dist/test/unit/index.js +0 -22
  85. package/dist/test/unit/messages/eip191/eip191Message.d.ts +0 -2
  86. package/dist/test/unit/messages/eip191/eip191Message.d.ts.map +0 -1
  87. package/dist/test/unit/messages/eip191/eip191Message.js +0 -137
  88. package/dist/test/unit/messages/eip191/eip191MessageBuilder.d.ts +0 -2
  89. package/dist/test/unit/messages/eip191/eip191MessageBuilder.d.ts.map +0 -1
  90. package/dist/test/unit/messages/eip191/eip191MessageBuilder.js +0 -116
  91. package/dist/test/unit/messages/fixtures.d.ts +0 -24
  92. package/dist/test/unit/messages/fixtures.d.ts.map +0 -1
  93. package/dist/test/unit/messages/fixtures.js +0 -28
  94. package/dist/test/unit/messages/index.d.ts +0 -4
  95. package/dist/test/unit/messages/index.d.ts.map +0 -1
  96. package/dist/test/unit/messages/index.js +0 -20
  97. package/dist/test/unit/messages/messageBuilderFactory.d.ts +0 -2
  98. package/dist/test/unit/messages/messageBuilderFactory.d.ts.map +0 -1
  99. package/dist/test/unit/messages/messageBuilderFactory.js +0 -44
  100. package/dist/test/unit/token.d.ts +0 -2
  101. package/dist/test/unit/token.d.ts.map +0 -1
  102. package/dist/test/unit/token.js +0 -37
  103. package/dist/test/unit/transaction.d.ts +0 -3
  104. package/dist/test/unit/transaction.d.ts.map +0 -1
  105. package/dist/test/unit/transaction.js +0 -60
  106. package/dist/test/unit/transactionBuilder/addressInitialization.d.ts +0 -8
  107. package/dist/test/unit/transactionBuilder/addressInitialization.d.ts.map +0 -1
  108. package/dist/test/unit/transactionBuilder/addressInitialization.js +0 -95
  109. package/dist/test/unit/transactionBuilder/index.d.ts +0 -4
  110. package/dist/test/unit/transactionBuilder/index.d.ts.map +0 -1
  111. package/dist/test/unit/transactionBuilder/index.js +0 -20
  112. package/dist/test/unit/transactionBuilder/send.d.ts +0 -3
  113. package/dist/test/unit/transactionBuilder/send.d.ts.map +0 -1
  114. package/dist/test/unit/transactionBuilder/send.js +0 -197
  115. package/dist/test/unit/transactionBuilder/walletInitialization.d.ts +0 -10
  116. package/dist/test/unit/transactionBuilder/walletInitialization.d.ts.map +0 -1
  117. package/dist/test/unit/transactionBuilder/walletInitialization.js +0 -124
  118. package/dist/test/unit/transferBuilder.d.ts +0 -2
  119. package/dist/test/unit/transferBuilder.d.ts.map +0 -1
  120. package/dist/test/unit/transferBuilder.js +0 -76
  121. package/dist/tsconfig.tsbuildinfo +0 -1
@@ -1,6 +0,0 @@
1
- export * from './transactionBuilder';
2
- export * from './token';
3
- export * from './transaction';
4
- export * from './coin';
5
- export * from './messages';
6
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../test/unit/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC;AACrC,cAAc,SAAS,CAAC;AACxB,cAAc,eAAe,CAAC;AAC9B,cAAc,QAAQ,CAAC;AACvB,cAAc,YAAY,CAAC"}
@@ -1,22 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./transactionBuilder"), exports);
18
- __exportStar(require("./token"), exports);
19
- __exportStar(require("./transaction"), exports);
20
- __exportStar(require("./coin"), exports);
21
- __exportStar(require("./messages"), exports);
22
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi90ZXN0L3VuaXQvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLHVEQUFxQztBQUNyQywwQ0FBd0I7QUFDeEIsZ0RBQThCO0FBQzlCLHlDQUF1QjtBQUN2Qiw2Q0FBMkIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3RyYW5zYWN0aW9uQnVpbGRlcic7XG5leHBvcnQgKiBmcm9tICcuL3Rva2VuJztcbmV4cG9ydCAqIGZyb20gJy4vdHJhbnNhY3Rpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9jb2luJztcbmV4cG9ydCAqIGZyb20gJy4vbWVzc2FnZXMnO1xuIl19
@@ -1,2 +0,0 @@
1
- import 'should';
2
- //# sourceMappingURL=eip191Message.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"eip191Message.d.ts","sourceRoot":"","sources":["../../../../../test/unit/messages/eip191/eip191Message.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,CAAC"}
@@ -1,137 +0,0 @@
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
- require("should");
7
- const sinon_1 = __importDefault(require("sinon"));
8
- const sdk_core_1 = require("@bitgo/sdk-core");
9
- const fixtures_1 = require("../fixtures");
10
- const src_1 = require("../../../../src");
11
- describe('EIP191 Message', () => {
12
- const sandbox = sinon_1.default.createSandbox();
13
- afterEach(() => {
14
- sandbox.restore();
15
- });
16
- it('should initialize with the correct type', () => {
17
- const message = new src_1.EIP191Message({
18
- coinConfig: fixtures_1.fixtures.coin,
19
- payload: fixtures_1.fixtures.messages.validMessage,
20
- });
21
- message.getType().should.equal(sdk_core_1.MessageStandardType.EIP191);
22
- });
23
- it('should generate the correct signable payload with Ethereum prefix', async () => {
24
- const message = new src_1.EIP191Message({
25
- coinConfig: fixtures_1.fixtures.coin,
26
- payload: fixtures_1.fixtures.messages.validMessage,
27
- });
28
- const signablePayload = await message.getSignablePayload();
29
- // Message is prefixed with "\u0019Ethereum Signed Message:\n<length><message>"
30
- const expectedPrefix = `\u0019Ethereum Signed Message:\n${fixtures_1.fixtures.messages.validMessage.length}`;
31
- const expectedPayload = Buffer.from(expectedPrefix.concat(fixtures_1.fixtures.messages.validMessage)).toString('hex');
32
- signablePayload.should.equal(expectedPayload);
33
- });
34
- it('should handle empty messages correctly', async () => {
35
- const message = new src_1.EIP191Message({
36
- coinConfig: fixtures_1.fixtures.coin,
37
- payload: fixtures_1.fixtures.messages.emptyMessage,
38
- });
39
- const signablePayload = await message.getSignablePayload();
40
- // Empty message has length 0
41
- const expectedPrefix = `\u0019Ethereum Signed Message:\n0`;
42
- const expectedPayload = Buffer.from(expectedPrefix.concat('')).toString('hex');
43
- signablePayload.should.equal(expectedPayload);
44
- });
45
- it('should handle messages with special characters', async () => {
46
- const message = new src_1.EIP191Message({
47
- coinConfig: fixtures_1.fixtures.coin,
48
- payload: fixtures_1.fixtures.messages.specialCharsMessage,
49
- });
50
- const signablePayload = await message.getSignablePayload();
51
- const expectedPrefix = `\u0019Ethereum Signed Message:\n${fixtures_1.fixtures.messages.specialCharsMessage.length}`;
52
- const expectedPayload = Buffer.from(expectedPrefix.concat(fixtures_1.fixtures.messages.specialCharsMessage)).toString('hex');
53
- signablePayload.should.equal(expectedPayload);
54
- });
55
- it('should maintain signatures and signers correctly', () => {
56
- const message = new src_1.EIP191Message({
57
- coinConfig: fixtures_1.fixtures.coin,
58
- payload: fixtures_1.fixtures.messages.validMessage,
59
- signatures: [fixtures_1.fixtures.eip191.signature],
60
- signers: [fixtures_1.fixtures.eip191.signer],
61
- });
62
- message.getSignatures().should.containEql(fixtures_1.fixtures.eip191.signature);
63
- message.getSigners().should.containEql(fixtures_1.fixtures.eip191.signer);
64
- // Test adding new ones
65
- message.addSignature({
66
- publicKey: { pub: 'pub1' },
67
- signature: Buffer.from('new-signature'),
68
- });
69
- message.addSigner('new-signer');
70
- message.getSignatures().should.containEql({
71
- publicKey: { pub: 'pub1' },
72
- signature: Buffer.from('new-signature'),
73
- });
74
- message.getSigners().should.containEql('new-signer');
75
- // Test replacing all
76
- message.setSignatures([
77
- {
78
- publicKey: { pub: 'pub2' },
79
- signature: Buffer.from('replaced-signature'),
80
- },
81
- ]);
82
- message.setSigners(['replaced-signer']);
83
- message.getSignatures().should.deepEqual([
84
- {
85
- publicKey: { pub: 'pub2' },
86
- signature: Buffer.from('replaced-signature'),
87
- },
88
- ]);
89
- message.getSigners().should.deepEqual(['replaced-signer']);
90
- });
91
- it('should store and retrieve metadata correctly', () => {
92
- const message = new src_1.EIP191Message({
93
- coinConfig: fixtures_1.fixtures.coin,
94
- payload: fixtures_1.fixtures.messages.validMessage,
95
- metadata: fixtures_1.fixtures.eip191.metadata,
96
- });
97
- message.getMetadata().should.deepEqual(fixtures_1.fixtures.eip191.metadata);
98
- });
99
- describe('Broadcast Format', () => {
100
- it('should convert to broadcast format correctly', async () => {
101
- const message = new src_1.EIP191Message({
102
- coinConfig: fixtures_1.fixtures.coin,
103
- payload: fixtures_1.fixtures.messages.validMessage,
104
- signatures: [fixtures_1.fixtures.eip191.signature],
105
- signers: [fixtures_1.fixtures.eip191.signer],
106
- metadata: fixtures_1.fixtures.eip191.metadata,
107
- });
108
- const broadcastFormat = await message.toBroadcastFormat();
109
- const expectedSerializedSignatures = (0, sdk_core_1.serializeSignatures)([fixtures_1.fixtures.eip191.signature]);
110
- broadcastFormat.type.should.equal(sdk_core_1.MessageStandardType.EIP191);
111
- broadcastFormat.payload.should.equal(fixtures_1.fixtures.messages.validMessage);
112
- broadcastFormat.serializedSignatures?.should.deepEqual(expectedSerializedSignatures);
113
- broadcastFormat.signers?.should.deepEqual([fixtures_1.fixtures.eip191.signer]);
114
- broadcastFormat.metadata.should.deepEqual(fixtures_1.fixtures.eip191.metadata);
115
- broadcastFormat.signablePayload.should.equal('MTk0NTc0Njg2NTcyNjU3NTZkMjA1MzY5Njc2ZTY1NjQyMDRkNjU3MzczNjE2NzY1M2EwYTMxMzM0ODY1NmM2YzZmMmMyMDc3NmY3MjZjNjQyMQ==');
116
- });
117
- it('should convert to broadcast string correctly', async () => {
118
- const message = new src_1.EIP191Message({
119
- coinConfig: fixtures_1.fixtures.coin,
120
- payload: fixtures_1.fixtures.messages.validMessage,
121
- signatures: [fixtures_1.fixtures.eip191.signature],
122
- signers: [fixtures_1.fixtures.eip191.signer],
123
- metadata: fixtures_1.fixtures.eip191.metadata,
124
- });
125
- const broadcastHex = await message.toBroadcastString();
126
- const broadcastString = Buffer.from(broadcastHex, 'hex').toString();
127
- const parsedBroadcast = JSON.parse(broadcastString);
128
- const expectedSerializedSignatures = (0, sdk_core_1.serializeSignatures)([fixtures_1.fixtures.eip191.signature]);
129
- parsedBroadcast.type.should.equal(sdk_core_1.MessageStandardType.EIP191);
130
- parsedBroadcast.payload.should.equal(fixtures_1.fixtures.messages.validMessage);
131
- parsedBroadcast.serializedSignatures.should.deepEqual(expectedSerializedSignatures);
132
- parsedBroadcast.signers.should.deepEqual([fixtures_1.fixtures.eip191.signer]);
133
- parsedBroadcast.metadata.should.deepEqual(fixtures_1.fixtures.eip191.metadata);
134
- });
135
- });
136
- });
137
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWlwMTkxTWVzc2FnZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Rlc3QvdW5pdC9tZXNzYWdlcy9laXAxOTEvZWlwMTkxTWVzc2FnZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLGtCQUFnQjtBQUNoQixrREFBMEI7QUFDMUIsOENBQTJFO0FBQzNFLDBDQUF1QztBQUN2Qyx5Q0FBZ0Q7QUFFaEQsUUFBUSxDQUFDLGdCQUFnQixFQUFFLEdBQUcsRUFBRTtJQUM5QixNQUFNLE9BQU8sR0FBRyxlQUFLLENBQUMsYUFBYSxFQUFFLENBQUM7SUFFdEMsU0FBUyxDQUFDLEdBQUcsRUFBRTtRQUNiLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUNwQixDQUFDLENBQUMsQ0FBQztJQUVILEVBQUUsQ0FBQyx5Q0FBeUMsRUFBRSxHQUFHLEVBQUU7UUFDakQsTUFBTSxPQUFPLEdBQUcsSUFBSSxtQkFBYSxDQUFDO1lBQ2hDLFVBQVUsRUFBRSxtQkFBUSxDQUFDLElBQUk7WUFDekIsT0FBTyxFQUFFLG1CQUFRLENBQUMsUUFBUSxDQUFDLFlBQVk7U0FDeEMsQ0FBQyxDQUFDO1FBRUgsT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsOEJBQW1CLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDN0QsQ0FBQyxDQUFDLENBQUM7SUFFSCxFQUFFLENBQUMsbUVBQW1FLEVBQUUsS0FBSyxJQUFJLEVBQUU7UUFDakYsTUFBTSxPQUFPLEdBQUcsSUFBSSxtQkFBYSxDQUFDO1lBQ2hDLFVBQVUsRUFBRSxtQkFBUSxDQUFDLElBQUk7WUFDekIsT0FBTyxFQUFFLG1CQUFRLENBQUMsUUFBUSxDQUFDLFlBQVk7U0FDeEMsQ0FBQyxDQUFDO1FBRUgsTUFBTSxlQUFlLEdBQUcsTUFBTSxPQUFPLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztRQUMzRCwrRUFBK0U7UUFDL0UsTUFBTSxjQUFjLEdBQUcsbUNB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QUMsS0FBSyxDQUFDLG1CQUFRLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxDQUFDO1lBQ3JFLGVBQWUsQ0FBQyxvQkFBb0IsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLDRCQUE0QixDQUFDLENBQUM7WUFDcEYsZUFBZSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsbUJBQVEsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztZQUNuRSxlQUFlLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsbUJBQVEsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDdEUsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICdzaG91bGQnO1xuaW1wb3J0IHNpbm9uIGZyb20gJ3Npbm9uJztcbmltcG9ydCB7IE1lc3NhZ2VTdGFuZGFyZFR5cGUsIHNlcmlhbGl6ZVNpZ25hdHVyZXMgfSBmcm9tICdAYml0Z28vc2RrLWNvcmUnO1xuaW1wb3J0IHsgZml4dHVyZXMgfSBmcm9tICcuLi9maXh0dXJlcyc7XG5pbXBvcnQgeyBFSVAxOTFNZXNzYWdlIH0gZnJvbSAnLi4vLi4vLi4vLi4vc3JjJztcblxuZGVzY3JpYmUoJ0VJUDE5MSBNZXNzYWdlJywgKCkgPT4ge1xuICBjb25zdCBzYW5kYm94ID0gc2lub24uY3JlYXRlU2FuZGJveCgpO1xuXG4gIGFmdGVyRWFjaCgoKSA9PiB7XG4gICAgc2FuZGJveC5yZXN0b3JlKCk7XG4gIH0pO1xuXG4gIGl0KCdzaG91bGQgaW5pdGlhbGl6ZSB3aXRoIHRoZSBjb3JyZWN0IHR5cGUnLCAoKSA9PiB7XG4gICAgY29uc3QgbWVzc2FnZSA9IG5ldyBFSVAxOTFNZXNzYWdlKHtcbiAgICAgIGNvaW5Db25maWc6IGZpeHR1cmVzLmNvaW4sXG4gICAgICBwYXlsb2FkOiBmaXh0dXJlcy5tZXNzYWdlcy52YWxpZE1lc3NhZ2UsXG4gICAgfSk7XG5cbiAgICBtZXNzYWdlLmdldFR5cGUoKS5zaG91bGQuZXF1YWwoTWVzc2FnZVN0YW5kYXJkVHlwZS5FSVAxOTEpO1xuICB9KTtcblxuICBpdCgnc2hvdWxkIGdlbmVyYXRlIHRoZSBjb3JyZWN0IHNpZ25hYmxlIHBheWxvYWQgd2l0aCBFdGhlcmV1bSBwcmVmaXgnLCBhc3luYyAoKSA9PiB7XG4gICAgY29uc3QgbWVzc2FnZSA9IG5ldyBFSVAxOTFNZXNzYWdlKHtcbiAgICAgIGNvaW5Db25maWc6IGZpeHR1cmVzLmNvaW4sXG4gICAgICBwYXlsb2FkOiBmaXh0dXJlcy5tZXNzYWdlcy52YWxpZE1lc3NhZ2UsXG4gICAgfSk7XG5cbiAgICBjb25zdCBzaWduYWJsZVBheWxvYWQgPSBhd2FpdCBtZXNzYWdlLmdldFNpZ25hYmxlUGF5bG9hZCgpO1xuICAgIC8vIE1lc3NhZ2UgaXMgcHJlZml4ZWQgd2l0aCBcIlxcdTAwMTlFdGhlcmV1bSBTaWduZWQgTWVzc2FnZTpcXG48bGVuZ3RoPjxtZXNzYWdlPlwiXG4gICAgY29uc3QgZXhwZWN0ZWRQcmVmaXggPSBgXFx1MDAxOUV0aGVyZXVtIFNpZ25lZCBNZXNzYWdlOlxcbiR7Zml4dHVyZXMubWVzc2FnZXMudmFsaWRNZXNzYWdlLmxlbmd0aH1gO1xuICAgIGNvbnN0IGV4cGVjdGVkUGF5bG9hZCA9IEJ1ZmZlci5mcm9tKGV4cGVjdGVkUHJlZml4LmNvbmNhdChmaXh0dXJlcy5tZXNzYWdlcy52YWxpZE1lc3NhZ2UpKS50b1N0cmluZygnaGV4Jyk7XG5cbiAgICBzaWduYWJsZVBheWxvYWQuc2hvdWxkLmVxdWFsKGV4cGVjdGVkUGF5bG9hZCk7XG4gIH0pO1xuXG4gIGl0KCdzaG91bGQgaGFuZGxlIGVtcHR5IG1lc3NhZ2VzIGNvcnJlY3RseScsIGFzeW5jICgpID0+IHtcbiAgICBjb25zdCBtZXNzYWdlID0gbmV3IEVJUDE5MU1lc3NhZ2Uoe1xuICAgICAgY29pbkNvbmZpZzogZml4dHVyZXMuY29pbixcbiAgICAgIHBheWxvYWQ6IGZpeHR1cmVzLm1lc3NhZ2VzLmVtcHR5TWVzc2FnZSxcbiAgICB9KTtcblxuICAgIGNvbnN0IHNpZ25hYmxlUGF5bG9hZCA9IGF3YWl0IG1lc3NhZ2UuZ2V0U2lnbmFibGVQYXlsb2FkKCk7XG4gICAgLy8gRW1wdHkgbWVzc2FnZSBoYXMgbGVuZ3RoIDBcbiAgICBjb25zdCBleHBlY3RlZFByZWZpeCA9IGBcXHUwMDE5RXRoZXJldW0gU2lnbmVkIE1lc3NhZ2U6XFxuMGA7XG4gICAgY29uc3QgZXhwZWN0ZWRQYXlsb2FkID0gQnVmZmVyLmZyb20oZXhwZWN0ZWRQcmVmaXguY29uY2F0KCcnKSkudG9TdHJpbmcoJ2hleCcpO1xuXG4gICAgc2lnbmFibGVQYXlsb2FkLnNob3VsZC5lcXVhbChleHBlY3RlZFBheWxvYWQpO1xuICB9KTtcblxuICBpdCgnc2hvdWxkIGhhbmRsZSBtZXNzYWdlcyB3aXRoIHNwZWNpYWwgY2hhcmFjdGVycycsIGFzeW5jICgpID0+IHtcbiAgICBjb25zdCBtZXNzYWdlID0gbmV3IEVJUDE5MU1lc3NhZ2Uoe1xuICAgICAgY29pbkNvbmZpZzogZml4dHVyZXMuY29pbixcbiAgICAgIHBheWxvYWQ6IGZpeHR1cmVzLm1lc3NhZ2VzLnNwZWNpYWxDaGFyc01lc3NhZ2UsXG4gICAgfSk7XG5cbiAgICBjb25zdCBzaWduYWJsZVBheWxvYWQgPSBhd2FpdCBtZXNzYWdlLmdldFNpZ25hYmxlUGF5bG9hZCgpO1xuICAgIGNvbnN0IGV4cGVjdGVkUHJlZml4ID0gYFxcdTAwMTlFdGhlcmV1bSBTaWduZWQgTWVzc2FnZTpcXG4ke2ZpeHR1cmVzLm1lc3NhZ2VzLnNwZWNpYWxDaGFyc01lc3NhZ2UubGVuZ3RofWA7XG4gICAgY29uc3QgZXhwZWN0ZWRQYXlsb2FkID0gQnVmZmVyLmZyb20oZXhwZWN0ZWRQcmVmaXguY29uY2F0KGZpeHR1cmVzLm1lc3NhZ2VzLnNwZWNpYWxDaGFyc01lc3NhZ2UpKS50b1N0cmluZygnaGV4Jyk7XG5cbiAgICBzaWduYWJsZVBheWxvYWQuc2hvdWxkLmVxdWFsKGV4cGVjdGVkUGF5bG9hZCk7XG4gIH0pO1xuXG4gIGl0KCdzaG91bGQgbWFpbnRhaW4gc2lnbmF0dXJlcyBhbmQgc2lnbmVycyBjb3JyZWN0bHknLCAoKSA9PiB7XG4gICAgY29uc3QgbWVzc2FnZSA9IG5ldyBFSVAxOTFNZXNzYWdlKHtcbiAgICAgIGNvaW5Db25maWc6IGZpeHR1cmVzLmNvaW4sXG4gICAgICBwYXlsb2FkOiBmaXh0dXJlcy5tZXNzYWdlcy52YWxpZE1lc3NhZ2UsXG4gICAgICBzaWduYXR1cmVzOiBbZml4dHVyZXMuZWlwMTkxLnNpZ25hdHVyZV0sXG4gICAgICBzaWduZXJzOiBbZml4dHVyZXMuZWlwMTkxLnNpZ25lcl0sXG4gICAgfSk7XG5cbiAgICBtZXNzYWdlLmdldFNpZ25hdHVyZXMoKS5zaG91bGQuY29udGFpbkVxbChmaXh0dXJlcy5laXAxOTEuc2lnbmF0dXJlKTtcbiAgICBtZXNzYWdlLmdldFNpZ25lcnMoKS5zaG91bGQuY29udGFpbkVxbChmaXh0dXJlcy5laXAxOTEuc2lnbmVyKTtcblxuICAgIC8vIFRlc3QgYWRkaW5nIG5ldyBvbmVzXG4gICAgbWVzc2FnZS5hZGRTaWduYXR1cmUoe1xuICAgICAgcHVibGljS2V5OiB7IHB1YjogJ3B1YjEnIH0sXG4gICAgICBzaWduYXR1cmU6IEJ1ZmZlci5mcm9tKCduZXctc2lnbmF0dXJlJyksXG4gICAgfSk7XG4gICAgbWVzc2FnZS5hZGRTaWduZXIoJ25ldy1zaWduZXInKTtcblxuICAgIG1lc3NhZ2UuZ2V0U2lnbmF0dXJlcygpLnNob3VsZC5jb250YWluRXFsKHtcbiAgICAgIHB1YmxpY0tleTogeyBwdWI6ICdwdWIxJyB9LFxuICAgICAgc2lnbmF0dXJlOiBCdWZmZXIuZnJvbSgnbmV3LXNpZ25hdHVyZScpLFxuICAgIH0pO1xuICAgIG1lc3NhZ2UuZ2V0U2lnbmVycygpLnNob3VsZC5jb250YWluRXFsKCduZXctc2lnbmVyJyk7XG5cbiAgICAvLyBUZXN0IHJlcGxhY2luZyBhbGxcbiAgICBtZXNzYWdlLnNldFNpZ25hdHVyZXMoW1xuICAgICAge1xuICAgICAgICBwdWJsaWNLZXk6IHsgcHViOiAncHViMicgfSxcbiAgICAgICAgc2lnbmF0dXJlOiBCdWZmZXIuZnJvbSgncmVwbGFjZWQtc2lnbmF0dXJlJyksXG4gICAgICB9LFxuICAgIF0pO1xuICAgIG1lc3NhZ2Uuc2V0U2lnbmVycyhbJ3JlcGxhY2VkLXNpZ25lciddKTtcblxuICAgIG1lc3NhZ2UuZ2V0U2lnbmF0dXJlcygpLnNob3VsZC5kZWVwRXF1YWwoW1xuICAgICAge1xuICAgICAgICBwdWJsaWNLZXk6IHsgcHViOiAncHViMicgfSxcbiAgICAgICAgc2lnbmF0dXJlOiBCdWZmZXIuZnJvbSgncmVwbGFjZWQtc2lnbmF0dXJlJyksXG4gICAgICB9LFxuICAgIF0pO1xuICAgIG1lc3NhZ2UuZ2V0U2lnbmVycygpLnNob3VsZC5kZWVwRXF1YWwoWydyZXBsYWNlZC1zaWduZXInXSk7XG4gIH0pO1xuXG4gIGl0KCdzaG91bGQgc3RvcmUgYW5kIHJldHJpZXZlIG1ldGFkYXRhIGNvcnJlY3RseScsICgpID0+IHtcbiAgICBjb25zdCBtZXNzYWdlID0gbmV3IEVJUDE5MU1lc3NhZ2Uoe1xuICAgICAgY29pbkNvbmZpZzogZml4dHVyZXMuY29pbixcbiAgICAgIHBheWxvYWQ6IGZpeHR1cmVzLm1lc3NhZ2VzLnZhbGlkTWVzc2FnZSxcbiAgICAgIG1ldGFkYXRhOiBmaXh0dXJlcy5laXAxOTEubWV0YWRhdGEsXG4gICAgfSk7XG5cbiAgICBtZXNzYWdlLmdldE1ldGFkYXRhKCkhLnNob3VsZC5kZWVwRXF1YWwoZml4dHVyZXMuZWlwMTkxLm1ldGFkYXRhKTtcbiAgfSk7XG5cbiAgZGVzY3JpYmUoJ0Jyb2FkY2FzdCBGb3JtYXQnLCAoKSA9PiB7XG4gICAgaXQoJ3Nob3VsZCBjb252ZXJ0IHRvIGJyb2FkY2FzdCBmb3JtYXQgY29ycmVjdGx5JywgYXN5bmMgKCkgPT4ge1xuICAgICAgY29uc3QgbWVzc2FnZSA9IG5ldyBFSVAxOTFNZXNzYWdlKHtcbiAgICAgICAgY29pbkNvbmZpZzogZml4dHVyZXMuY29pbixcbiAgICAgICAgcGF5bG9hZDogZml4dHVyZXMubWVzc2FnZXMudmFsaWRNZXNzYWdlLFxuICAgICAgICBzaWduYXR1cmVzOiBbZml4dHVyZXMuZWlwMTkxLnNpZ25hdHVyZV0sXG4gICAgICAgIHNpZ25lcnM6IFtmaXh0dXJlcy5laXAxOTEuc2lnbmVyXSxcbiAgICAgICAgbWV0YWRhdGE6IGZpeHR1cmVzLmVpcDE5MS5tZXRhZGF0YSxcbiAgICAgIH0pO1xuXG4gICAgICBjb25zdCBicm9hZGNhc3RGb3JtYXQgPSBhd2FpdCBtZXNzYWdlLnRvQnJvYWRjYXN0Rm9ybWF0KCk7XG5cbiAgICAgIGNvbnN0IGV4cGVjdGVkU2VyaWFsaXplZFNpZ25hdHVyZXMgPSBzZXJpYWxpemVTaWduYXR1cmVzKFtmaXh0dXJlcy5laXAxOTEuc2lnbmF0dXJlXSk7XG4gICAgICBicm9hZGNhc3RGb3JtYXQudHlwZS5zaG91bGQuZXF1YWwoTWVzc2FnZVN0YW5kYXJkVHlwZS5FSVAxOTEpO1xuICAgICAgYnJvYWRjYXN0Rm9ybWF0LnBheWxvYWQuc2hvdWxkLmVxdWFsKGZpeHR1cmVzLm1lc3NhZ2VzLnZhbGlkTWVzc2FnZSk7XG4gICAgICBicm9hZGNhc3RGb3JtYXQuc2VyaWFsaXplZFNpZ25hdHVyZXM/LnNob3VsZC5kZWVwRXF1YWwoZXhwZWN0ZWRTZXJpYWxpemVkU2lnbmF0dXJlcyk7XG4gICAgICBicm9hZGNhc3RGb3JtYXQuc2lnbmVycz8uc2hvdWxkLmRlZXBFcXVhbChbZml4dHVyZXMuZWlwMTkxLnNpZ25lcl0pO1xuICAgICAgYnJvYWRjYXN0Rm9ybWF0Lm1ldGFkYXRhIS5zaG91bGQuZGVlcEVxdWFsKGZpeHR1cmVzLmVpcDE5MS5tZXRhZGF0YSk7XG4gICAgICBicm9hZGNhc3RGb3JtYXQuc2lnbmFibGVQYXlsb2FkIS5zaG91bGQuZXF1YWwoXG4gICAgICAgICdNVGswTlRjME5qZzJOVGN5TmpVM05UWmtNakExTXpZNU5qYzJaVFkxTmpReU1EUmtOalUzTXpjek5qRTJOelkxTTJFd1lUTXhNek0wT0RZMU5tTTJZelptTW1NeU1EYzNObVkzTWpaak5qUXlNUT09J1xuICAgICAgKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgY29udmVydCB0byBicm9hZGNhc3Qgc3RyaW5nIGNvcnJlY3RseScsIGFzeW5jICgpID0+IHtcbiAgICAgIGNvbnN0IG1lc3NhZ2UgPSBuZXcgRUlQMTkxTWVzc2FnZSh7XG4gICAgICAgIGNvaW5Db25maWc6IGZpeHR1cmVzLmNvaW4sXG4gICAgICAgIHBheWxvYWQ6IGZpeHR1cmVzLm1lc3NhZ2VzLnZhbGlkTWVzc2FnZSxcbiAgICAgICAgc2lnbmF0dXJlczogW2ZpeHR1cmVzLmVpcDE5MS5zaWduYXR1cmVdLFxuICAgICAgICBzaWduZXJzOiBbZml4dHVyZXMuZWlwMTkxLnNpZ25lcl0sXG4gICAgICAgIG1ldGFkYXRhOiBmaXh0dXJlcy5laXAxOTEubWV0YWRhdGEsXG4gICAgICB9KTtcblxuICAgICAgY29uc3QgYnJvYWRjYXN0SGV4ID0gYXdhaXQgbWVzc2FnZS50b0Jyb2FkY2FzdFN0cmluZygpO1xuICAgICAgY29uc3QgYnJvYWRjYXN0U3RyaW5nID0gQnVmZmVyLmZyb20oYnJvYWRjYXN0SGV4LCAnaGV4JykudG9TdHJpbmcoKTtcbiAgICAgIGNvbnN0IHBhcnNlZEJyb2FkY2FzdCA9IEpTT04ucGFyc2UoYnJvYWRjYXN0U3RyaW5nKTtcbiAgICAgIGNvbnN0IGV4cGVjdGVkU2VyaWFsaXplZFNpZ25hdHVyZXMgPSBzZXJpYWxpemVTaWduYXR1cmVzKFtmaXh0dXJlcy5laXAxOTEuc2lnbmF0dXJlXSk7XG5cbiAgICAgIHBhcnNlZEJyb2FkY2FzdC50eXBlLnNob3VsZC5lcXVhbChNZXNzYWdlU3RhbmRhcmRUeXBlLkVJUDE5MSk7XG4gICAgICBwYXJzZWRCcm9hZGNhc3QucGF5bG9hZC5zaG91bGQuZXF1YWwoZml4dHVyZXMubWVzc2FnZXMudmFsaWRNZXNzYWdlKTtcbiAgICAgIHBhcnNlZEJyb2FkY2FzdC5zZXJpYWxpemVkU2lnbmF0dXJlcy5zaG91bGQuZGVlcEVxdWFsKGV4cGVjdGVkU2VyaWFsaXplZFNpZ25hdHVyZXMpO1xuICAgICAgcGFyc2VkQnJvYWRjYXN0LnNpZ25lcnMuc2hvdWxkLmRlZXBFcXVhbChbZml4dHVyZXMuZWlwMTkxLnNpZ25lcl0pO1xuICAgICAgcGFyc2VkQnJvYWRjYXN0Lm1ldGFkYXRhLnNob3VsZC5kZWVwRXF1YWwoZml4dHVyZXMuZWlwMTkxLm1ldGFkYXRhKTtcbiAgICB9KTtcbiAgfSk7XG59KTtcbiJdfQ==
@@ -1,2 +0,0 @@
1
- import 'should';
2
- //# sourceMappingURL=eip191MessageBuilder.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"eip191MessageBuilder.d.ts","sourceRoot":"","sources":["../../../../../test/unit/messages/eip191/eip191MessageBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,CAAC"}
@@ -1,116 +0,0 @@
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
- require("should");
7
- const sinon_1 = __importDefault(require("sinon"));
8
- const sdk_core_1 = require("@bitgo/sdk-core");
9
- const fixtures_1 = require("../fixtures");
10
- const src_1 = require("../../../../src");
11
- describe('EIP191 Message Builder', () => {
12
- const sandbox = sinon_1.default.createSandbox();
13
- afterEach(() => {
14
- sandbox.restore();
15
- });
16
- describe('constructor', () => {
17
- it('should initialize with the correct message type', () => {
18
- const builder = new src_1.Eip191MessageBuilder(fixtures_1.fixtures.coin);
19
- // Test the builder's private property indirectly through build()
20
- builder.should.be.instanceof(src_1.Eip191MessageBuilder);
21
- });
22
- });
23
- describe('build method', () => {
24
- it('should build a valid EIP191 message', async () => {
25
- const builder = new src_1.Eip191MessageBuilder(fixtures_1.fixtures.coin);
26
- builder.setPayload(fixtures_1.fixtures.messages.validMessage).setMetadata({ customData: 'test data' });
27
- const message = await builder.build();
28
- message.should.be.instanceof(src_1.EIP191Message);
29
- message.getType().should.equal(sdk_core_1.MessageStandardType.EIP191);
30
- message.getPayload().should.equal(fixtures_1.fixtures.messages.validMessage);
31
- message.getMetadata().should.have.property('customData', 'test data');
32
- message.getMetadata().should.have.property('encoding', 'utf8');
33
- });
34
- it('should throw an error when building without setting payload', async () => {
35
- const builder = new src_1.Eip191MessageBuilder(fixtures_1.fixtures.coin);
36
- await builder.build().should.be.rejectedWith('Message payload must be set before building the message');
37
- });
38
- it('should include signers when building a message', async () => {
39
- const builder = new src_1.Eip191MessageBuilder(fixtures_1.fixtures.coin);
40
- builder.setPayload(fixtures_1.fixtures.messages.validMessage);
41
- builder.addSigner(fixtures_1.fixtures.eip191.signer);
42
- const message = await builder.build();
43
- message.getSigners().should.containEql(fixtures_1.fixtures.eip191.signer);
44
- });
45
- it('should include signatures when building a message', async () => {
46
- const builder = new src_1.Eip191MessageBuilder(fixtures_1.fixtures.coin);
47
- builder.setPayload(fixtures_1.fixtures.messages.validMessage);
48
- builder.addSignature(fixtures_1.fixtures.eip191.signature);
49
- const message = await builder.build();
50
- message.getSignatures().should.containEql(fixtures_1.fixtures.eip191.signature);
51
- });
52
- it('should override metadata.encoding with utf8', async () => {
53
- const builder = new src_1.Eip191MessageBuilder(fixtures_1.fixtures.coin);
54
- builder.setPayload(fixtures_1.fixtures.messages.validMessage);
55
- builder.setMetadata({ encoding: 'hex', customData: 'test data' });
56
- const message = await builder.build();
57
- message.getMetadata().should.have.property('encoding', 'utf8');
58
- message.getMetadata().should.have.property('customData', 'test data');
59
- });
60
- });
61
- describe('fromBroadcastFormat method', () => {
62
- it('should reconstruct a message from broadcast format', async () => {
63
- const builder = new src_1.Eip191MessageBuilder(fixtures_1.fixtures.coin);
64
- const broadcastMessage = {
65
- type: sdk_core_1.MessageStandardType.EIP191,
66
- payload: fixtures_1.fixtures.messages.validMessage,
67
- serializedSignatures: (0, sdk_core_1.serializeSignatures)([fixtures_1.fixtures.eip191.signature]),
68
- signers: [fixtures_1.fixtures.eip191.signer],
69
- metadata: fixtures_1.fixtures.eip191.metadata,
70
- };
71
- const message = await builder.fromBroadcastFormat(broadcastMessage);
72
- message.should.be.instanceof(src_1.EIP191Message);
73
- message.getType().should.equal(sdk_core_1.MessageStandardType.EIP191);
74
- message.getPayload().should.equal(fixtures_1.fixtures.messages.validMessage);
75
- message.getSignatures().should.containEql(fixtures_1.fixtures.eip191.signature);
76
- message.getSigners().should.containEql(fixtures_1.fixtures.eip191.signer);
77
- message.getMetadata().should.have.property('encoding', 'utf8');
78
- message.getMetadata().should.have.property('customData', 'test data');
79
- });
80
- it('should throw an error for incorrect message type', async () => {
81
- const builder = new src_1.Eip191MessageBuilder(fixtures_1.fixtures.coin);
82
- const broadcastMessage = {
83
- type: sdk_core_1.MessageStandardType.UNKNOWN,
84
- payload: fixtures_1.fixtures.messages.validMessage,
85
- serializedSignatures: (0, sdk_core_1.serializeSignatures)([fixtures_1.fixtures.eip191.signature]),
86
- signers: [fixtures_1.fixtures.eip191.signer],
87
- metadata: {},
88
- };
89
- await builder
90
- .fromBroadcastFormat(broadcastMessage)
91
- .should.be.rejectedWith(`Invalid message type, expected ${sdk_core_1.MessageStandardType.EIP191}`);
92
- });
93
- });
94
- describe('fromBroadcastString', function () {
95
- it('should parse broadcastable string and return correct builder type', async function () {
96
- const broadcastHex = '7b2274797065223a22454950313931222c227061796c6f6164223a2253544152203130303020746f20616464725f746573743171727139366830726a68743275366e336667776d7939307837676d6c38686475657774326e6d72327536636d6b707771743477373839776b346534387a6a73616b673237647533683730776d656a756b34386b783465343368767a737566736876362033316136626162353061383462383433396164636662373836626232303230663638303765366538666461363239623432343131306663376262316336623862222c2273657269616c697a65645369676e617475726573223a5b7b227075626c69634b6579223a22222c227369676e6174757265223a2274386c6e725a4b7a757264566c777343355a66422f4b314b5533516d4b5a3970343671576a3155795744307046464577584e6d754f327a4845644e3164372b2b414e5653796f5a3869547737375073546462334b3878773d227d5d2c227369676e657273223a5b22307866613061376634613064396535343463353761656361346533326233623130343862363333636466225d2c226d65746164617461223a7b22656e636f64696e67223a2275746638227d2c227369676e61626c655061796c6f6164223a224d546b304e5463304e6a67324e5463794e6a55334e545a6b4d6a41314d7a59354e6a63325a5459314e6a51794d44526b4e6a55334d7a637a4e6a45324e7a59314d32457759544d784d7a677a4e6a557a4e5451304d5455794d6a417a4d544d774d7a417a4d4449774e7a51325a6a49774e6a45324e4459304e7a49315a6a63304e6a55334d7a63304d7a45334d5463794e7a457a4f544d324e6a677a4d4463794e6d45324f4463304d7a49334e544d324e6d557a4d7a59324e6a63334e7a5a6b4e7a6b7a4f544d774e7a677a4e7a59334e6d5132597a4d344e6a67324e4463314e6a55334e7a63304d7a49325a545a6b4e7a497a4d6a63314d7a59324d7a5a6b4e6d49334d4463334e7a45334e444d304e7a637a4e7a4d344d7a6b334e7a5a694d7a51324e544d304d7a673359545a684e7a4d324d545a694e6a637a4d6a4d334e6a51334e544d7a4e6a677a4e7a4d774e7a63325a4459314e6d45334e545a694d7a517a4f445a694e7a677a4e4459314d7a517a4d7a59344e7a59335954637a4e7a55324e6a637a4e6a67334e6a4d324d6a417a4d7a4d784e6a457a4e6a59794e6a45324d6a4d314d7a41324d544d344d7a51324d6a4d344d7a517a4d7a4d354e6a45324e44597a4e6a59324d6a4d334d7a677a4e6a59794e6a497a4d6a4d774d7a497a4d4459324d7a597a4f444d774d7a63324e544d324e6a557a4f4459324e6a51324d544d324d7a497a4f5459794d7a517a4d6a4d304d7a457a4d544d774e6a59324d7a4d334e6a49324d6a4d784e6a4d7a4e6a59794d7a67324d673d3d227d';
97
- const coinConfig = { name: 'eth' };
98
- const factory = new src_1.MessageBuilderFactory(coinConfig);
99
- const builder = factory.fromBroadcastString(broadcastHex);
100
- const message = await builder.build();
101
- const payload = message.getPayload();
102
- const payloadParts = payload.split(' ');
103
- const address = message.getSigners()[0];
104
- address.should.equal('0xfa0a7f4a0d9e544c57aeca4e32b3b1048b633cdf');
105
- const destinationAddress = payloadParts[3];
106
- destinationAddress.should.equal('addr_test1qrq96h0rjht2u6n3fgwmy90x7gml8hduewt2nmr2u6cmkpwqt4w789wk4e48zjsakg27du3h70wmejuk48kx4e43hvzsufshv6');
107
- const amount = Number(payloadParts[1]);
108
- amount.should.equal(1000);
109
- const signature = message.getSignatures()[0].signature.toString('hex');
110
- signature.should.equal('b7c967ad92b3bab755970b02e597c1fcad4a537426299f69e3aa968f5532583d291451305cd9ae3b6cc711d37577bfbe00d552ca867c893c3becfb1375bdcaf31c');
111
- const publicKeyHex = message.getSignatures()[0].publicKey.pub;
112
- publicKeyHex.should.equal('');
113
- });
114
- });
115
- });
116
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWlwMTkxTWVzc2FnZUJ1aWxkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi90ZXN0L3VuaXQvbWVzc2FnZXMvZWlwMTkxL2VpcDE5MU1lc3NhZ2VCdWlsZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsa0JBQWdCO0FBQ2hCLGtEQUEwQjtBQUMxQiw4Q0FBaUc7QUFDakcsMENBQXVDO0FBQ3ZDLHlDQUE2RjtBQUc3RixRQUFRLENBQUMsd0JBQXdCLEVBQUUsR0FBRyxFQUFFO0lBQ3RDLE1BQU0sT0FBTyxHQUFHLGVBQUssQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUV0QyxTQUFTLENBQUMsR0FBRyxFQUFFO1FBQ2IsT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ3BCLENBQUMsQ0FBQyxDQUFDO0lBRUgsUUFBUSxDQUFDLGFBQWEsRUFBRSxHQUFHLEVBQUU7UUFDM0IsRUFBRSxDQUFDLGlEQUFpRCxFQUFFLEdBQUcsRUFBRTtZQUN6RCxNQUFNLE9BQU8sR0FBRyxJQUFJLDBCQUFvQixDQUFDLG1CQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDeEQsaUVBQWlFO1lBQ2pFLE9BQU8sQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQywwQkFBb0IsQ0FBQyxDQUFDO1FBQ3JELENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDLENBQUM7SUFFSCxRQUFRLENBQUMsY0FBYyxFQUFFLEdBQUcsRUFBRTtRQUM1QixFQUFFLENBQUMscUNBQXFDLEVBQUUsS0FBSyxJQUFJLEVBQUU7WUFDbkQsTUFBTSxPQUFPLEdBQUcsSUFBSSwwQkFBb0IsQ0FBQyxtQkFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBRXhELE9BQU8sQ0FBQyxVQUFVLENBQUMsbUJBQVEsQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLENBQUMsV0FBVyxDQUFDLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxDQUFDLENBQUM7WUFF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T0FBTyxDQUFDLGFBQWEsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUM7WUFDOUQsWUFBWSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDaEMsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICdzaG91bGQnO1xuaW1wb3J0IHNpbm9uIGZyb20gJ3Npbm9uJztcbmltcG9ydCB7IEJyb2FkY2FzdGFibGVNZXNzYWdlLCBNZXNzYWdlU3RhbmRhcmRUeXBlLCBzZXJpYWxpemVTaWduYXR1cmVzIH0gZnJvbSAnQGJpdGdvL3Nkay1jb3JlJztcbmltcG9ydCB7IGZpeHR1cmVzIH0gZnJvbSAnLi4vZml4dHVyZXMnO1xuaW1wb3J0IHsgRUlQMTkxTWVzc2FnZSwgRWlwMTkxTWVzc2FnZUJ1aWxkZXIsIE1lc3NhZ2VCdWlsZGVyRmFjdG9yeSB9IGZyb20gJy4uLy4uLy4uLy4uL3NyYyc7XG5pbXBvcnQgeyBCYXNlQ29pbiB9IGZyb20gJ0BiaXRnby9zdGF0aWNzJztcblxuZGVzY3JpYmUoJ0VJUDE5MSBNZXNzYWdlIEJ1aWxkZXInLCAoKSA9PiB7XG4gIGNvbnN0IHNhbmRib3ggPSBzaW5vbi5jcmVhdGVTYW5kYm94KCk7XG5cbiAgYWZ0ZXJFYWNoKCgpID0+IHtcbiAgICBzYW5kYm94LnJlc3RvcmUoKTtcbiAgfSk7XG5cbiAgZGVzY3JpYmUoJ2NvbnN0cnVjdG9yJywgKCkgPT4ge1xuICAgIGl0KCdzaG91bGQgaW5pdGlhbGl6ZSB3aXRoIHRoZSBjb3JyZWN0IG1lc3NhZ2UgdHlwZScsICgpID0+IHtcbiAgICAgIGNvbnN0IGJ1aWxkZXIgPSBuZXcgRWlwMTkxTWVzc2FnZUJ1aWxkZXIoZml4dHVyZXMuY29pbik7XG4gICAgICAvLyBUZXN0IHRoZSBidWlsZGVyJ3MgcHJpdmF0ZSBwcm9wZXJ0eSBpbmRpcmVjdGx5IHRocm91Z2ggYnVpbGQoKVxuICAgICAgYnVpbGRlci5zaG91bGQuYmUuaW5zdGFuY2VvZihFaXAxOTFNZXNzYWdlQnVpbGRlcik7XG4gICAgfSk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCdidWlsZCBtZXRob2QnLCAoKSA9PiB7XG4gICAgaXQoJ3Nob3VsZCBidWlsZCBhIHZhbGlkIEVJUDE5MSBtZXNzYWdlJywgYXN5bmMgKCkgPT4ge1xuICAgICAgY29uc3QgYnVpbGRlciA9IG5ldyBFaXAxOTFNZXNzYWdlQnVpbGRlcihmaXh0dXJlcy5jb2luKTtcblxuICAgICAgYnVpbGRlci5zZXRQYXlsb2FkKGZpeHR1cmVzLm1lc3NhZ2VzLnZhbGlkTWVzc2FnZSkuc2V0TWV0YWRhdGEoeyBjdXN0b21EYXRhOiAndGVzdCBkYXRhJyB9KTtcblxuICAgICAgY29uc3QgbWVzc2FnZSA9IGF3YWl0IGJ1aWxkZXIuYnVpbGQoKTtcblxuICAgICAgbWVzc2FnZS5zaG91bGQuYmUuaW5zdGFuY2VvZihFSVAxOTFNZXNzYWdlKTtcbiAgICAgIG1lc3NhZ2UuZ2V0VHlwZSgpLnNob3VsZC5lcXVhbChNZXNzYWdlU3RhbmRhcmRUeXBlLkVJUDE5MSk7XG4gICAgICBtZXNzYWdlLmdldFBheWxvYWQoKS5zaG91bGQuZXF1YWwoZml4dHVyZXMubWVzc2FnZXMudmFsaWRNZXNzYWdlKTtcbiAgICAgIG1lc3NhZ2UuZ2V0TWV0YWRhdGEoKSEuc2hvdWxkLmhhdmUucHJvcGVydHkoJ2N1c3RvbURhdGEnLCAndGVzdCBkYXRhJyk7XG4gICAgICBtZXNzYWdlLmdldE1ldGFkYXRhKCkhLnNob3VsZC5oYXZlLnByb3BlcnR5KCdlbmNvZGluZycsICd1dGY4Jyk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIHRocm93IGFuIGVycm9yIHdoZW4gYnVpbGRpbmcgd2l0aG91dCBzZXR0aW5nIHBheWxvYWQnLCBhc3luYyAoKSA9PiB7XG4gICAgICBjb25zdCBidWlsZGVyID0gbmV3IEVpcDE5MU1lc3NhZ2VCdWlsZGVyKGZpeHR1cmVzLmNvaW4pO1xuXG4gICAgICBhd2FpdCBidWlsZGVyLmJ1aWxkKCkuc2hvdWxkLmJlLnJlamVjdGVkV2l0aCgnTWVzc2FnZSBwYXlsb2FkIG11c3QgYmUgc2V0IGJlZm9yZSBidWlsZGluZyB0aGUgbWVzc2FnZScpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCBpbmNsdWRlIHNpZ25lcnMgd2hlbiBidWlsZGluZyBhIG1lc3NhZ2UnLCBhc3luYyAoKSA9PiB7XG4gICAgICBjb25zdCBidWlsZGVyID0gbmV3IEVpcDE5MU1lc3NhZ2VCdWlsZGVyKGZpeHR1cmVzLmNvaW4pO1xuXG4gICAgICBidWlsZGVyLnNldFBheWxvYWQoZml4dHVyZXMubWVzc2FnZXMudmFsaWRNZXNzYWdlKTtcbiAgICAgIGJ1aWxkZXIuYWRkU2lnbmVyKGZpeHR1cmVzLmVpcDE5MS5zaWduZXIpO1xuXG4gICAgICBjb25zdCBtZXNzYWdlID0gYXdhaXQgYnVpbGRlci5idWlsZCgpO1xuXG4gICAgICBtZXNzYWdlLmdldFNpZ25lcnMoKS5zaG91bGQuY29udGFpbkVxbChmaXh0dXJlcy5laXAxOTEuc2lnbmVyKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgaW5jbHVkZSBzaWduYXR1cmVzIHdoZW4gYnVpbGRpbmcgYSBtZXNzYWdlJywgYXN5bmMgKCkgPT4ge1xuICAgICAgY29uc3QgYnVpbGRlciA9IG5ldyBFaXAxOTFNZXNzYWdlQnVpbGRlcihmaXh0dXJlcy5jb2luKTtcblxuICAgICAgYnVpbGRlci5zZXRQYXlsb2FkKGZpeHR1cmVzLm1lc3NhZ2VzLnZhbGlkTWVzc2FnZSk7XG4gICAgICBidWlsZGVyLmFkZFNpZ25hdHVyZShmaXh0dXJlcy5laXAxOTEuc2lnbmF0dXJlKTtcblxuICAgICAgY29uc3QgbWVzc2FnZSA9IGF3YWl0IGJ1aWxkZXIuYnVpbGQoKTtcblxuICAgICAgbWVzc2FnZS5nZXRTaWduYXR1cmVzKCkuc2hvdWxkLmNvbnRhaW5FcWwoZml4dHVyZXMuZWlwMTkxLnNpZ25hdHVyZSk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIG92ZXJyaWRlIG1ldGFkYXRhLmVuY29kaW5nIHdpdGggdXRmOCcsIGFzeW5jICgpID0+IHtcbiAgICAgIGNvbnN0IGJ1aWxkZXIgPSBuZXcgRWlwMTkxTWVzc2FnZUJ1aWxkZXIoZml4dHVyZXMuY29pbik7XG5cbiAgICAgIGJ1aWxkZXIuc2V0UGF5bG9hZChmaXh0dXJlcy5tZXNzYWdlcy52YWxpZE1lc3NhZ2UpO1xuICAgICAgYnVpbGRlci5zZXRNZXRhZGF0YSh7IGVuY29kaW5nOiAnaGV4JywgY3VzdG9tRGF0YTogJ3Rlc3QgZGF0YScgfSk7XG5cbiAgICAgIGNvbnN0IG1lc3NhZ2UgPSBhd2FpdCBidWlsZGVyLmJ1aWxkKCk7XG5cbiAgICAgIG1lc3NhZ2UuZ2V0TWV0YWRhdGEoKSEuc2hvdWxkLmhhdmUucHJvcGVydHkoJ2VuY29kaW5nJywgJ3V0ZjgnKTtcbiAgICAgIG1lc3NhZ2UuZ2V0TWV0YWRhdGEoKSEuc2hvdWxkLmhhdmUucHJvcGVydHkoJ2N1c3RvbURhdGEnLCAndGVzdCBkYXRhJyk7XG4gICAgfSk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCdmcm9tQnJvYWRjYXN0Rm9ybWF0IG1ldGhvZCcsICgpID0+IHtcbiAgICBpdCgnc2hvdWxkIHJlY29uc3RydWN0IGEgbWVzc2FnZSBmcm9tIGJyb2FkY2FzdCBmb3JtYXQnLCBhc3luYyAoKSA9PiB7XG4gICAgICBjb25zdCBidWlsZGVyID0gbmV3IEVpcDE5MU1lc3NhZ2VCdWlsZGVyKGZpeHR1cmVzLmNvaW4pO1xuXG4gICAgICBjb25zdCBicm9hZGNhc3RNZXNzYWdlOiBCcm9hZGNhc3RhYmxlTWVzc2FnZSA9IHtcbiAgICAgICAgdHlwZTogTWVzc2FnZVN0YW5kYXJkVHlwZS5FSVAxOTEsXG4gICAgICAgIHBheWxvYWQ6IGZpeHR1cmVzLm1lc3NhZ2VzLnZhbGlkTWVzc2FnZSxcbiAgICAgICAgc2VyaWFsaXplZFNpZ25hdHVyZXM6IHNlcmlhbGl6ZVNpZ25hdHVyZXMoW2ZpeHR1cmVzLmVpcDE5MS5zaWduYXR1cmVdKSxcbiAgICAgICAgc2lnbmVyczogW2ZpeHR1cmVzLmVpcDE5MS5zaWduZXJdLFxuICAgICAgICBtZXRhZGF0YTogZml4dHVyZXMuZWlwMTkxLm1ldGFkYXRhLFxuICAgICAgfTtcblxuICAgICAgY29uc3QgbWVzc2FnZSA9IGF3YWl0IGJ1aWxkZXIuZnJvbUJyb2FkY2FzdEZvcm1hdChicm9hZGNhc3RNZXNzYWdlKTtcblxuICAgICAgbWVzc2FnZS5zaG91bGQuYmUuaW5zdGFuY2VvZihFSVAxOTFNZXNzYWdlKTtcbiAgICAgIG1lc3NhZ2UuZ2V0VHlwZSgpLnNob3VsZC5lcXVhbChNZXNzYWdlU3RhbmRhcmRUeXBlLkVJUDE5MSk7XG4gICAgICBtZXNzYWdlLmdldFBheWxvYWQoKS5zaG91bGQuZXF1YWwoZml4dHVyZXMubWVzc2FnZXMudmFsaWRNZXNzYWdlKTtcbiAgICAgIG1lc3NhZ2UuZ2V0U2lnbmF0dXJlcygpLnNob3VsZC5jb250YWluRXFsKGZpeHR1cmVzLmVpcDE5MS5zaWduYXR1cmUpO1xuICAgICAgbWVzc2FnZS5nZXRTaWduZXJzKCkuc2hvdWxkLmNvbnRhaW5FcWwoZml4dHVyZXMuZWlwMTkxLnNpZ25lcik7XG4gICAgICBtZXNzYWdlLmdldE1ldGFkYXRhKCkhLnNob3VsZC5oYXZlLnByb3BlcnR5KCdlbmNvZGluZycsICd1dGY4Jyk7XG4gICAgICBtZXNzYWdlLmdldE1ldGFkYXRhKCkhLnNob3VsZC5oYXZlLnByb3BlcnR5KCdjdXN0b21EYXRhJywgJ3Rlc3QgZGF0YScpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCB0aHJvdyBhbiBlcnJvciBmb3IgaW5jb3JyZWN0IG1lc3NhZ2UgdHlwZScsIGFzeW5jICgpID0+IHtcbiAgICAgIGNvbnN0IGJ1aWxkZXIgPSBuZXcgRWlwMTkxTWVzc2FnZUJ1aWxkZXIoZml4dHVyZXMuY29pbik7XG5cbiAgICAgIGNvbnN0IGJyb2FkY2FzdE1lc3NhZ2U6IEJyb2FkY2FzdGFibGVNZXNzYWdlID0ge1xuICAgICAgICB0eXBlOiBNZXNzYWdlU3RhbmRhcmRUeXBlLlVOS05PV04sXG4gICAgICAgIHBheWxvYWQ6IGZpeHR1cmVzLm1lc3NhZ2VzLnZhbGlkTWVzc2FnZSxcbiAgICAgICAgc2VyaWFsaXplZFNpZ25hdHVyZXM6IHNlcmlhbGl6ZVNpZ25hdHVyZXMoW2ZpeHR1cmVzLmVpcDE5MS5zaWduYXR1cmVdKSxcbiAgICAgICAgc2lnbmVyczogW2ZpeHR1cmVzLmVpcDE5MS5zaWduZXJdLFxuICAgICAgICBtZXRhZGF0YToge30sXG4gICAgICB9O1xuXG4gICAgICBhd2FpdCBidWlsZGVyXG4gICAgICAgIC5mcm9tQnJvYWRjYXN0Rm9ybWF0KGJyb2FkY2FzdE1lc3NhZ2UpXG4gICAgICAgIC5zaG91bGQuYmUucmVqZWN0ZWRXaXRoKGBJbnZhbGlkIG1lc3NhZ2UgdHlwZSwgZXhwZWN0ZWQgJHtNZXNzYWdlU3RhbmRhcmRUeXBlLkVJUDE5MX1gKTtcbiAgICB9KTtcbiAgfSk7XG5cbiAgZGVzY3JpYmUoJ2Zyb21Ccm9hZGNhc3RTdHJpbmcnLCBmdW5jdGlvbiAoKSB7XG4gICAgaXQoJ3Nob3VsZCBwYXJzZSBicm9hZGNhc3RhYmxlIHN0cmluZyBhbmQgcmV0dXJuIGNvcnJlY3QgYnVpbGRlciB0eXBlJywgYXN5bmMgZnVuY3Rpb24gKCkge1xuICAgICAgY29uc3QgYnJvYWRjYXN0SGV4ID1cbiAgICAgICAgJzdiMjI3NDc5NzA2NTIyM2EyMjQ1NDk1MDMxMzkzMTIyMmMyMjcwNjE3OTZjNmY2MTY0MjIzYTIyNTM1NDQxNTIyMDMxMzAzMDMwMjA3NDZmMjA2MTY0NjQ3MjVmNzQ2NTczNzQzMTcxNzI3MTM5MzY2ODMwNzI2YTY4NzQzMjc1MzY2ZTMzNjY2Nzc3NmQ3OTM5MzA3ODM3Njc2ZDZjMzg2ODY0NzU2NTc3NzQzMjZlNmQ3MjMyNzUzNjYzNmQ2YjcwNzc3MTc0MzQ3NzM3MzgzOTc3NmIzNDY1MzQzODdhNmE3MzYxNmI2NzMyMzc2NDc1MzM2ODM3MzA3NzZkNjU2YTc1NmIzNDM4NmI3ODM0NjUzNDMzNjg3NjdhNzM3NTY2NzM2ODc2MzYyMDMzMzE2MTM2NjI2MTYyMzUzMDYxMzgzNDYyMzgzNDMzMzk2MTY0NjM2NjYyMzczODM2NjI2MjMyMzAzMjMwNjYzNjM4MzAzNzY1MzY2NTM4NjY2NDYxMzYzMjM5NjIzNDMyMzQzMTMxMzA2NjYzMzc2MjYyMzE2MzM2NjIzODYyMjIyYzIyNzM2NTcyNjk2MTZjNjk3YTY1NjQ1MzY5Njc2ZTYxNzQ3NTcyNjU3MzIyM2E1YjdiMjI3MDc1NjI2YzY5NjM0YjY1NzkyMjNhMjIyMjJjMjI3MzY5Njc2ZTYxNzQ3NTcyNjUyMjNhMjI3NDM4NmM2ZTcyNWE0YjdhNzU3MjY0NTY2Yzc3NzM0MzM1NWE2NjQyMmY0YjMxNGI1NTMzNTE2ZDRiNWEzOTcwMzQzNjcxNTc2YTMxNTU3OTU3NDQzMDcwNDY0NjQ1Nzc1ODRlNmQ3NTRmMzI3YTQ4NDU2NDRlMzE2NDM3MmIyYjQxNGU1NjUzNzk2ZjVhMzg2OTU0NzczNzM3NTA3MzU0NjQ2MjMzNGIzODc4NzczZDIyN2Q1ZDJjMjI3MzY5Njc2ZTY1NzI3MzIyM2E1YjIyMzA3ODY2NjEzMDYxMzc2NjM0NjEzMDY0Mzk2NTM1MzQzNDYzMzUzNzYxNjU2MzYxMzQ2NTMzMzI2MjMzNjIzMTMwMzQzODYyMzYzMzMzNjM2NDY2MjI1ZDJjMjI2ZDY1NzQ2MTY0NjE3NDYxMjIzYTdiMjI2NTZlNjM2ZjY0Njk2ZTY3MjIzYTIyNzU3NDY2MzgyMjdkMmMyMjczNjk2NzZlNjE2MjZjNjU1MDYxNzk2YzZmNjE2NDIyM2EyMjRkNTQ2YjMwNGU1NDYzMzA0ZTZhNjczMjRlNTQ2Mzc5NGU2YTU1MzM0ZTU0NWE2YjRkNmE0MTMxNGQ3YTU5MzU0ZTZhNjMzMjVhNTQ1OTMxNGU2YTUxNzk0ZDQ0NTI2YjRlNmE1NTMzNGQ3YTYzN2E0ZTZhNDUzMjRlN2E1OTMxNGQzMjQ1Nzc1OTU0NGQ3ODRkN2E2NzdhNGU2YTU1N2E0ZTU0NTEzMDRkNTQ1NTc5NGQ2YTQxN2E0ZDU0NGQ3NzRkN2E0MTdhNGQ0NDQ5Nzc0ZTdhNTEzMjVhNmE0OTc3NGU2YTQ1MzI0ZTQ0NTkzMDRlN2E0OTMxNWE2YTYzMzA0ZTZhNTUzMzRkN2E2MzMwNGQ3YTQ1MzM0ZDU0NjM3OTRlN2E0NTdhNGY1NDRkMzI0ZTZhNjc3YTRkNDQ2Mzc5NGU2ZDQ1MzI0ZjQ0NjMzMDRkN2E0OTMzNGU1NDRkMzI0ZTZkNTU3YTRkN2E1OTMyNGU2YTYzMzM0ZTdhNWE2YjRlN2E2YjdhNGY1NDRkNzc0ZTdhNjc3YTRlN2E1OTMzNGU2ZDUxMzI1OTdhNGQzNDRlNmE2NzMyNGU0NDYzMzE0ZTZhNTUzMzRlN2E2MzMwNGQ3YTQ5MzI1YTU0NWE2YjRlN2E0OTdhNGQ2YTYzMzE0ZDdhNTkzMjRkN2E1YTZiNGU2ZDQ5MzM0ZDQ0NjMzMzRlN2E0NTMzNGU0NDRkMzA0ZTdhNjM3YTRlN2E0ZDM0NGQ3YTZiMzM0ZTdhNWE2OTRkN2E1MTMyNGU1NDRkMzA0ZDdhNjczMzU5NTQ1YTY4NGU3YTRkMzI0ZDU0NWE2OTRlNmE2MzdhNGQ2YTRkMzM0ZTZhNTEzMzRlNTQ0ZDdhNGU2YTY3N2E0ZTdhNGQ3NzRlN2E2MzMyNWE0NDU5MzE0ZTZkNDUzMzRlNTQ1YTY5NGQ3YTUxN2E0ZjQ0NWE2OTRlN2E2NzdhNGU0NDU5MzE0ZDdhNTE3YTRkN2E1OTM0NGU3YTU5MzM1OTU0NjM3YTRlN2E1NTMyNGU2YTYzN2E0ZTZhNjczMzRlNmE0ZDMyNGQ2YTQxN2E0ZDdhNGQ3ODRlNmE0NTdhNGU2YTU5Nzk0ZTZhNDUzMjRkNmE0ZDMxNGQ3YTQxMzI0ZDU0NGQzNDRkN2E1MTMyNGQ2YTRkMzQ0ZDdhNTE3YTRkN2E0ZDM1NGU2YTQ1MzI0ZTQ0NTk3YTRlNmE1OTMyNGQ2YTRkMzM0ZDdhNjc3YTRlNmE1OTc5NGU2YTQ5N2E0ZDZhNGQ3NzRkN2E0OTdhNGQ0NDU5MzI0ZDdhNTk3YTRmNDQ0ZDc3NGQ3YTYzMzI0ZTU0NGQzMjRlNmE1NTdhNGY0NDU5MzI0ZTZhNTEzMjRkNTQ0ZDMyNGQ3YTQ5N2E0ZjU0NTk3OTRkN2E1MTdhNGQ2YTRkMzA0ZDdhNDU3YTRkNTQ0ZDc3NGU2YTU5MzI0ZDdhNGQzMzRlNmE0OTMyNGQ2YTRkNzg0ZTZhNGQ3YTRlNmE1OTc5NGQ3YTY3MzI0ZDY3M2QzZDIyN2QnO1xuICAgICAgY29uc3QgY29pbkNvbmZpZyA9IHsgbmFtZTogJ2V0aCcgfSBhcyBCYXNlQ29pbjtcbiAgICAgIGNvbnN0IGZhY3RvcnkgPSBuZXcgTWVzc2FnZUJ1aWxkZXJGYWN0b3J5KGNvaW5Db25maWcpO1xuICAgICAgY29uc3QgYnVpbGRlciA9IGZhY3RvcnkuZnJvbUJyb2FkY2FzdFN0cmluZyhicm9hZGNhc3RIZXgpO1xuICAgICAgY29uc3QgbWVzc2FnZSA9IGF3YWl0IGJ1aWxkZXIuYnVpbGQoKTtcblxuICAgICAgY29uc3QgcGF5bG9hZCA9IG1lc3NhZ2UuZ2V0UGF5bG9hZCgpO1xuICAgICAgY29uc3QgcGF5bG9hZFBhcnRzID0gcGF5bG9hZC5zcGxpdCgnICcpO1xuICAgICAgY29uc3QgYWRkcmVzcyA9IG1lc3NhZ2UuZ2V0U2lnbmVycygpWzBdO1xuICAgICAgYWRkcmVzcy5zaG91bGQuZXF1YWwoJzB4ZmEwYTdmNGEwZDllNTQ0YzU3YWVjYTRlMzJiM2IxMDQ4YjYzM2NkZicpO1xuICAgICAgY29uc3QgZGVzdGluYXRpb25BZGRyZXNzID0gcGF5bG9hZFBhcnRzWzNdO1xuICAgICAgZGVzdGluYXRpb25BZGRyZXNzLnNob3VsZC5lcXVhbChcbiAgICAgICAgJ2FkZHJfdGVzdDFxcnE5NmgwcmpodDJ1Nm4zZmd3bXk5MHg3Z21sOGhkdWV3dDJubXIydTZjbWtwd3F0NHc3ODl3azRlNDh6anNha2cyN2R1M2g3MHdtZWp1azQ4a3g0ZTQzaHZ6c3Vmc2h2NidcbiAgICAgICk7XG4gICAgICBjb25zdCBhbW91bnQgPSBOdW1iZXIocGF5bG9hZFBhcnRzWzFdKTtcbiAgICAgIGFtb3VudC5zaG91bGQuZXF1YWwoMTAwMCk7XG5cbiAgICAgIGNvbnN0IHNpZ25hdHVyZSA9IG1lc3NhZ2UuZ2V0U2lnbmF0dXJlcygpWzBdLnNpZ25hdHVyZS50b1N0cmluZygnaGV4Jyk7XG4gICAgICBzaWduYXR1cmUuc2hvdWxkLmVxdWFsKFxuICAgICAgICAnYjdjOTY3YWQ5MmIzYmFiNzU1OTcwYjAyZTU5N2MxZmNhZDRhNTM3NDI2Mjk5ZjY5ZTNhYTk2OGY1NTMyNTgzZDI5MTQ1MTMwNWNkOWFlM2I2Y2M3MTFkMzc1NzdiZmJlMDBkNTUyY2E4NjdjODkzYzNiZWNmYjEzNzViZGNhZjMxYydcbiAgICAgICk7XG4gICAgICBjb25zdCBwdWJsaWNLZXlIZXggPSBtZXNzYWdlLmdldFNpZ25hdHVyZXMoKVswXS5wdWJsaWNLZXkucHViO1xuICAgICAgcHVibGljS2V5SGV4LnNob3VsZC5lcXVhbCgnJyk7XG4gICAgfSk7XG4gIH0pO1xufSk7XG4iXX0=
@@ -1,24 +0,0 @@
1
- export declare const fixtures: {
2
- coin: Readonly<import("@bitgo/statics").BaseCoin>;
3
- messages: {
4
- validMessage: string;
5
- emptyMessage: string;
6
- specialCharsMessage: string;
7
- longMessage: string;
8
- };
9
- eip191: {
10
- validSignablePayload: string;
11
- signature: {
12
- publicKey: {
13
- pub: string;
14
- };
15
- signature: Buffer<ArrayBuffer>;
16
- };
17
- signer: string;
18
- metadata: {
19
- encoding: string;
20
- customData: string;
21
- };
22
- };
23
- };
24
- //# sourceMappingURL=fixtures.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"fixtures.d.ts","sourceRoot":"","sources":["../../../../test/unit/messages/fixtures.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;CAyBpB,CAAC"}
@@ -1,28 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.fixtures = void 0;
4
- const statics_1 = require("@bitgo/statics");
5
- // Test fixtures for EIP-191 message tests
6
- exports.fixtures = {
7
- coin: statics_1.coins.get('teth'),
8
- messages: {
9
- validMessage: 'Hello, world!',
10
- emptyMessage: '',
11
- specialCharsMessage: '!@#$%^&*()',
12
- longMessage: 'This is a very long message that contains multiple lines and special characters. ' +
13
- 'It is designed to test the EIP-191 message format with a more complex payload.',
14
- },
15
- eip191: {
16
- validSignablePayload: '0x19457468657265756d205369676e6564204d6573736167653a0d48656c6c6f2c20776f726c6421',
17
- signature: {
18
- publicKey: { pub: '0x7E5F4552091A69125d5DfCb7b8C2659029395Bdf' },
19
- signature: Buffer.from('5d99b6f7f6d1f73d1a26497f2b1c89b24c0993913f86e9a2d02cd69887d9c94f3c880358579d811b21dd1b7fd9bb01c1d81d10e69f0384e675c32b39643be8921b', 'hex'),
20
- },
21
- signer: '0x7E5F4552091A69125d5DfCb7b8C2659029395Bdf',
22
- metadata: {
23
- encoding: 'utf8',
24
- customData: 'test data',
25
- },
26
- },
27
- };
28
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZml4dHVyZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi90ZXN0L3VuaXQvbWVzc2FnZXMvZml4dHVyZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsNENBQXVDO0FBRXZDLDBDQUEwQztBQUM3QixRQUFBLFFBQVEsR0FBRztJQUN0QixJQUFJLEVBQUUsZUFBSyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUM7SUFDdkIsUUFBUSxFQUFFO1FBQ1IsWUFBWSxFQUFFLGVBQWU7UUFDN0IsWUFBWSxFQUFFLEVBQUU7UUFDaEIsbUJBQW1CLEVBQUUsWUFBWTtRQUNqQyxXQUFXLEVBQ1QsbUZBQW1GO1lBQ25GLGdGQUFnRjtLQUNuRjtJQUNELE1BQU0sRUFBRTtRQUNOLG9CQUFvQixFQUFFLGtGQUFrRjtRQUN4RyxTQUFTLEVBQUU7WUFDVCxTQUFTLEVBQUUsRUFBRSxHQUFHLEVBQUUsNENBQTRDLEVBQUU7WUFDaEUsU0FBUyxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQ3BCLG9JQUFvSSxFQUNwSSxLQUFLLENBQ047U0FDRjtRQUNELE1BQU0sRUFBRSw0Q0FBNEM7UUFDcEQsUUFBUSxFQUFFO1lBQ1IsUUFBUSxFQUFFLE1BQU07WUFDaEIsVUFBVSxFQUFFLFdBQVc7U0FDeEI7S0FDRjtDQUNGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjb2lucyB9IGZyb20gJ0BiaXRnby9zdGF0aWNzJztcblxuLy8gVGVzdCBmaXh0dXJlcyBmb3IgRUlQLTE5MSBtZXNzYWdlIHRlc3RzXG5leHBvcnQgY29uc3QgZml4dHVyZXMgPSB7XG4gIGNvaW46IGNvaW5zLmdldCgndGV0aCcpLFxuICBtZXNzYWdlczoge1xuICAgIHZhbGlkTWVzc2FnZTogJ0hlbGxvLCB3b3JsZCEnLFxuICAgIGVtcHR5TWVzc2FnZTogJycsXG4gICAgc3BlY2lhbENoYXJzTWVzc2FnZTogJyFAIyQlXiYqKCknLFxuICAgIGxvbmdNZXNzYWdlOlxuICAgICAgJ1RoaXMgaXMgYSB2ZXJ5IGxvbmcgbWVzc2FnZSB0aGF0IGNvbnRhaW5zIG11bHRpcGxlIGxpbmVzIGFuZCBzcGVjaWFsIGNoYXJhY3RlcnMuICcgK1xuICAgICAgJ0l0IGlzIGRlc2lnbmVkIHRvIHRlc3QgdGhlIEVJUC0xOTEgbWVzc2FnZSBmb3JtYXQgd2l0aCBhIG1vcmUgY29tcGxleCBwYXlsb2FkLicsXG4gIH0sXG4gIGVpcDE5MToge1xuICAgIHZhbGlkU2lnbmFibGVQYXlsb2FkOiAnMHgxOTQ1NzQ2ODY1NzI2NTc1NmQyMDUzNjk2NzZlNjU2NDIwNGQ2NTczNzM2MTY3NjUzYTBkNDg2NTZjNmM2ZjJjMjA3NzZmNzI2YzY0MjEnLFxuICAgIHNpZ25hdHVyZToge1xuICAgICAgcHVibGljS2V5OiB7IHB1YjogJzB4N0U1RjQ1NTIwOTFBNjkxMjVkNURmQ2I3YjhDMjY1OTAyOTM5NUJkZicgfSxcbiAgICAgIHNpZ25hdHVyZTogQnVmZmVyLmZyb20oXG4gICAgICAgICc1ZDk5YjZmN2Y2ZDFmNzNkMWEyNjQ5N2YyYjFjODliMjRjMDk5MzkxM2Y4NmU5YTJkMDJjZDY5ODg3ZDljOTRmM2M4ODAzNTg1NzlkODExYjIxZGQxYjdmZDliYjAxYzFkODFkMTBlNjlmMDM4NGU2NzVjMzJiMzk2NDNiZTg5MjFiJyxcbiAgICAgICAgJ2hleCdcbiAgICAgICksXG4gICAgfSxcbiAgICBzaWduZXI6ICcweDdFNUY0NTUyMDkxQTY5MTI1ZDVEZkNiN2I4QzI2NTkwMjkzOTVCZGYnLFxuICAgIG1ldGFkYXRhOiB7XG4gICAgICBlbmNvZGluZzogJ3V0ZjgnLFxuICAgICAgY3VzdG9tRGF0YTogJ3Rlc3QgZGF0YScsXG4gICAgfSxcbiAgfSxcbn07XG4iXX0=
@@ -1,4 +0,0 @@
1
- export * from './eip191/eip191Message';
2
- export * from './eip191/eip191MessageBuilder';
3
- export * from './messageBuilderFactory';
4
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../test/unit/messages/index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAC;AACvC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,yBAAyB,CAAC"}
@@ -1,20 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./eip191/eip191Message"), exports);
18
- __exportStar(require("./eip191/eip191MessageBuilder"), exports);
19
- __exportStar(require("./messageBuilderFactory"), exports);
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi90ZXN0L3VuaXQvbWVzc2FnZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLHlEQUF1QztBQUN2QyxnRUFBOEM7QUFDOUMsMERBQXdDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9laXAxOTEvZWlwMTkxTWVzc2FnZSc7XG5leHBvcnQgKiBmcm9tICcuL2VpcDE5MS9laXAxOTFNZXNzYWdlQnVpbGRlcic7XG5leHBvcnQgKiBmcm9tICcuL21lc3NhZ2VCdWlsZGVyRmFjdG9yeSc7XG4iXX0=
@@ -1,2 +0,0 @@
1
- import 'should';
2
- //# sourceMappingURL=messageBuilderFactory.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"messageBuilderFactory.d.ts","sourceRoot":"","sources":["../../../../test/unit/messages/messageBuilderFactory.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,CAAC"}
@@ -1,44 +0,0 @@
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
- require("should");
7
- const sinon_1 = __importDefault(require("sinon"));
8
- const sdk_core_1 = require("@bitgo/sdk-core");
9
- const fixtures_1 = require("./fixtures");
10
- const src_1 = require("../../../src");
11
- describe('Message Builder Factory', () => {
12
- const sandbox = sinon_1.default.createSandbox();
13
- afterEach(() => {
14
- sandbox.restore();
15
- });
16
- describe('getMessageBuilder', () => {
17
- it('should return the correct builder for EIP191 message type', () => {
18
- const factory = new src_1.MessageBuilderFactory(fixtures_1.fixtures.coin);
19
- const builder = factory.getMessageBuilder(sdk_core_1.MessageStandardType.EIP191);
20
- builder.should.be.instanceof(src_1.Eip191MessageBuilder);
21
- });
22
- it('should throw an error for unsupported message types', () => {
23
- const factory = new src_1.MessageBuilderFactory(fixtures_1.fixtures.coin);
24
- // Test with an invalid/unsupported message type
25
- const unsupportedType = 'UNSUPPORTED_TYPE';
26
- (() => factory.getMessageBuilder(unsupportedType)).should.throw(/Invalid message standard/);
27
- });
28
- it('should throw for unknown message standard', () => {
29
- const factory = new src_1.MessageBuilderFactory(fixtures_1.fixtures.coin);
30
- (() => factory.getMessageBuilder(sdk_core_1.MessageStandardType.UNKNOWN)).should.throw(`Invalid message standard ${sdk_core_1.MessageStandardType.UNKNOWN}`);
31
- });
32
- });
33
- describe('Integration with builder', () => {
34
- it('should create a builder that can build a valid message', async () => {
35
- const factory = new src_1.MessageBuilderFactory(fixtures_1.fixtures.coin);
36
- const builder = factory.getMessageBuilder(sdk_core_1.MessageStandardType.EIP191);
37
- builder.setPayload(fixtures_1.fixtures.messages.validMessage);
38
- const message = await builder.build();
39
- message.getType().should.equal(sdk_core_1.MessageStandardType.EIP191);
40
- message.getPayload().should.equal(fixtures_1.fixtures.messages.validMessage);
41
- });
42
- });
43
- });
44
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZUJ1aWxkZXJGYWN0b3J5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vdGVzdC91bml0L21lc3NhZ2VzL21lc3NhZ2VCdWlsZGVyRmFjdG9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLGtCQUFnQjtBQUNoQixrREFBMEI7QUFDMUIsOENBQXNEO0FBQ3RELHlDQUFzQztBQUN0QyxzQ0FBMkU7QUFFM0UsUUFBUSxDQUFDLHlCQUF5QixFQUFFLEdBQUcsRUFBRTtJQUN2QyxNQUFNLE9BQU8sR0FBRyxlQUFLLENBQUMsYUFBYSxFQUFFLENBQUM7SUFFdEMsU0FBUyxDQUFDLEdBQUcsRUFBRTtRQUNiLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUNwQixDQUFDLENBQUMsQ0FBQztJQUVILFFBQVEsQ0FBQyxtQkFBbUIsRUFBRSxHQUFHLEVBQUU7UUFDakMsRUFBRSxDQUFDLDJEQUEyRCxFQUFFLEdBQUcsRUFBRTtZQUNuRSxNQUFNLE9BQU8sR0FBRyxJQUFJLDJCQUFxQixDQUFDLG1CQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7WUFFekQsTUFBTSxPQUFPLEdBQUcsT0FBTyxDQUFDLGlCQUFpQixDQUFDLDhCQUFtQixDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBRXRFLE9BQU8sQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQywwQkFBb0IsQ0FBQyxDQUFDO1FBQ3JELENBQUMsQ0FBQyxDQUFDO1FBRUgsRUFBRSxDQUFDLHFEQUFxRCxFQUFFLEdBQUcsRUFBRTtZQUM3RCxNQUFNLE9BQU8sR0FBRyxJQUFJLDJCQUFxQixDQUFDLG1CQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7WUFFekQsZ0RBQWdEO1lBQ2hELE1BQU0sZUFBZSxHQUFHLGtCQUF5QyxDQUFDO1lBRWxFLENBQUMsR0FBRyxFQUFFLENBQUMsT0FBTyxDQUFDLGlCQUFpQixDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQywwQkFBMEIsQ0FBQyxDQUFDO1FBQzlGLENBQUMsQ0FBQyxDQUFDO1FBRUgsRUFBRSxDQUFDLDJDQUEyQyxFQUFFLEdBQUcsRUFBRTtZQUNuRCxNQUFNLE9BQU8sR0FBRyxJQUFJLDJCQUFxQixDQUFDLG1CQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7WUFFekQsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxPQUFPLENBQUMsaUJBQWlCLENBQUMsOEJBQW1CLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUN6RSw0QkFBNEIsOEJBQW1CLENBQUMsT0FBTyxFQUFFLENBQzFELENBQUM7UUFDSixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQyxDQUFDO0lBRUgsUUFBUSxDQUFDLDBCQUEwQixFQUFFLEdBQUcsRUFBRTtRQUN4QyxFQUFFLENBQUMsd0RBQXdELEVBQUUsS0FBSyxJQUFJLEVBQUU7WUFDdEUsTUFBTSxPQUFPLEdBQUcsSUFBSSwyQkFBcUIsQ0FBQyxtQkFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBRXpELE1BQU0sT0FBTyxHQUFHLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQyw4QkFBbUIsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUN0RSxPQUFPLENBQUMsVUFBVSxDQUFDLG1CQUFRLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxDQUFDO1lBRW5ELE1BQU0sT0FBTyxHQUFHLE1BQU0sT0FBTyxDQUFDLEtBQUssRUFBRSxDQUFDO1lBRXRDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLDhCQUFtQixDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQzNELE9BQU8sQ0FBQyxVQUFVLEVBQUUsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLG1CQUFRLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ3BFLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAnc2hvdWxkJztcbmltcG9ydCBzaW5vbiBmcm9tICdzaW5vbic7XG5pbXBvcnQgeyBNZXNzYWdlU3RhbmRhcmRUeXBlIH0gZnJvbSAnQGJpdGdvL3Nkay1jb3JlJztcbmltcG9ydCB7IGZpeHR1cmVzIH0gZnJvbSAnLi9maXh0dXJlcyc7XG5pbXBvcnQgeyBFaXAxOTFNZXNzYWdlQnVpbGRlciwgTWVzc2FnZUJ1aWxkZXJGYWN0b3J5IH0gZnJvbSAnLi4vLi4vLi4vc3JjJztcblxuZGVzY3JpYmUoJ01lc3NhZ2UgQnVpbGRlciBGYWN0b3J5JywgKCkgPT4ge1xuICBjb25zdCBzYW5kYm94ID0gc2lub24uY3JlYXRlU2FuZGJveCgpO1xuXG4gIGFmdGVyRWFjaCgoKSA9PiB7XG4gICAgc2FuZGJveC5yZXN0b3JlKCk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCdnZXRNZXNzYWdlQnVpbGRlcicsICgpID0+IHtcbiAgICBpdCgnc2hvdWxkIHJldHVybiB0aGUgY29ycmVjdCBidWlsZGVyIGZvciBFSVAxOTEgbWVzc2FnZSB0eXBlJywgKCkgPT4ge1xuICAgICAgY29uc3QgZmFjdG9yeSA9IG5ldyBNZXNzYWdlQnVpbGRlckZhY3RvcnkoZml4dHVyZXMuY29pbik7XG5cbiAgICAgIGNvbnN0IGJ1aWxkZXIgPSBmYWN0b3J5LmdldE1lc3NhZ2VCdWlsZGVyKE1lc3NhZ2VTdGFuZGFyZFR5cGUuRUlQMTkxKTtcblxuICAgICAgYnVpbGRlci5zaG91bGQuYmUuaW5zdGFuY2VvZihFaXAxOTFNZXNzYWdlQnVpbGRlcik7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIHRocm93IGFuIGVycm9yIGZvciB1bnN1cHBvcnRlZCBtZXNzYWdlIHR5cGVzJywgKCkgPT4ge1xuICAgICAgY29uc3QgZmFjdG9yeSA9IG5ldyBNZXNzYWdlQnVpbGRlckZhY3RvcnkoZml4dHVyZXMuY29pbik7XG5cbiAgICAgIC8vIFRlc3Qgd2l0aCBhbiBpbnZhbGlkL3Vuc3VwcG9ydGVkIG1lc3NhZ2UgdHlwZVxuICAgICAgY29uc3QgdW5zdXBwb3J0ZWRUeXBlID0gJ1VOU1VQUE9SVEVEX1RZUEUnIGFzIE1lc3NhZ2VTdGFuZGFyZFR5cGU7XG5cbiAgICAgICgoKSA9PiBmYWN0b3J5LmdldE1lc3NhZ2VCdWlsZGVyKHVuc3VwcG9ydGVkVHlwZSkpLnNob3VsZC50aHJvdygvSW52YWxpZCBtZXNzYWdlIHN0YW5kYXJkLyk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIHRocm93IGZvciB1bmtub3duIG1lc3NhZ2Ugc3RhbmRhcmQnLCAoKSA9PiB7XG4gICAgICBjb25zdCBmYWN0b3J5ID0gbmV3IE1lc3NhZ2VCdWlsZGVyRmFjdG9yeShmaXh0dXJlcy5jb2luKTtcblxuICAgICAgKCgpID0+IGZhY3RvcnkuZ2V0TWVzc2FnZUJ1aWxkZXIoTWVzc2FnZVN0YW5kYXJkVHlwZS5VTktOT1dOKSkuc2hvdWxkLnRocm93KFxuICAgICAgICBgSW52YWxpZCBtZXNzYWdlIHN0YW5kYXJkICR7TWVzc2FnZVN0YW5kYXJkVHlwZS5VTktOT1dOfWBcbiAgICAgICk7XG4gICAgfSk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCdJbnRlZ3JhdGlvbiB3aXRoIGJ1aWxkZXInLCAoKSA9PiB7XG4gICAgaXQoJ3Nob3VsZCBjcmVhdGUgYSBidWlsZGVyIHRoYXQgY2FuIGJ1aWxkIGEgdmFsaWQgbWVzc2FnZScsIGFzeW5jICgpID0+IHtcbiAgICAgIGNvbnN0IGZhY3RvcnkgPSBuZXcgTWVzc2FnZUJ1aWxkZXJGYWN0b3J5KGZpeHR1cmVzLmNvaW4pO1xuXG4gICAgICBjb25zdCBidWlsZGVyID0gZmFjdG9yeS5nZXRNZXNzYWdlQnVpbGRlcihNZXNzYWdlU3RhbmRhcmRUeXBlLkVJUDE5MSk7XG4gICAgICBidWlsZGVyLnNldFBheWxvYWQoZml4dHVyZXMubWVzc2FnZXMudmFsaWRNZXNzYWdlKTtcblxuICAgICAgY29uc3QgbWVzc2FnZSA9IGF3YWl0IGJ1aWxkZXIuYnVpbGQoKTtcblxuICAgICAgbWVzc2FnZS5nZXRUeXBlKCkuc2hvdWxkLmVxdWFsKE1lc3NhZ2VTdGFuZGFyZFR5cGUuRUlQMTkxKTtcbiAgICAgIG1lc3NhZ2UuZ2V0UGF5bG9hZCgpLnNob3VsZC5lcXVhbChmaXh0dXJlcy5tZXNzYWdlcy52YWxpZE1lc3NhZ2UpO1xuICAgIH0pO1xuICB9KTtcbn0pO1xuIl19
@@ -1,2 +0,0 @@
1
- export declare function runTokenTestInitialization(currentCoinToken: any, coinName: string, tokenNetworkName: string, testData: any): void;
2
- //# sourceMappingURL=token.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"token.d.ts","sourceRoot":"","sources":["../../../test/unit/token.ts"],"names":[],"mappings":"AAGA,wBAAgB,0BAA0B,CACxC,gBAAgB,KAAA,EAChB,QAAQ,EAAE,MAAM,EAChB,gBAAgB,EAAE,MAAM,EACxB,QAAQ,EAAE,GAAG,QAiCd"}
@@ -1,37 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.runTokenTestInitialization = runTokenTestInitialization;
4
- const sdk_test_1 = require("@bitgo/sdk-test");
5
- const sdk_api_1 = require("@bitgo/sdk-api");
6
- function runTokenTestInitialization(currentCoinToken, coinName, tokenNetworkName, testData) {
7
- describe(`${coinName} Token:`, () => {
8
- let bitgo;
9
- let tokenCoin;
10
- const coin = testData.COIN;
11
- const tokenName = testData.NETWORK_TOKEN_IDENTIFIER;
12
- before(function () {
13
- bitgo = sdk_test_1.TestBitGo.decorate(sdk_api_1.BitGoAPI, { env: 'test' });
14
- currentCoinToken.createTokenConstructors().forEach(({ name, coinConstructor }) => {
15
- bitgo.safeRegister(name, coinConstructor);
16
- });
17
- bitgo.initializeTestVars();
18
- tokenCoin = bitgo.coin(tokenName);
19
- });
20
- it('should return constants', () => {
21
- tokenCoin.getChain().should.equal(tokenName);
22
- tokenCoin.getBaseChain().should.equal(coin);
23
- tokenCoin.getFullName().should.equal(`${coinName} Token`);
24
- tokenCoin.getBaseFactor().should.equal(1e18);
25
- tokenCoin.type.should.equal(tokenName);
26
- tokenCoin.name.should.equal(tokenNetworkName);
27
- tokenCoin.coin.should.equal(coin);
28
- tokenCoin.network.should.equal('Testnet');
29
- tokenCoin.decimalPlaces.should.equal(18);
30
- });
31
- it('should return same token by contract address', () => {
32
- const tokencoinBycontractAddress = bitgo.coin(tokenCoin.tokenContractAddress);
33
- tokenCoin.should.deepEqual(tokencoinBycontractAddress);
34
- });
35
- });
36
- }
37
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9rZW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi90ZXN0L3VuaXQvdG9rZW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFHQSxnRUFxQ0M7QUF4Q0QsOENBQTBEO0FBQzFELDRDQUEwQztBQUUxQyxTQUFnQiwwQkFBMEIsQ0FDeEMsZ0JBQWdCLEVBQ2hCLFFBQWdCLEVBQ2hCLGdCQUF3QixFQUN4QixRQUFhO0lBRWIsUUFBUSxDQUFDLEdBQUcsUUFBUSxTQUFTLEVBQUUsR0FBRyxFQUFFO1FBQ2xDLElBQUksS0FBbUIsQ0FBQztRQUN4QixJQUFJLFNBQVMsQ0FBQztRQUNkLE1BQU0sSUFBSSxHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUM7UUFDM0IsTUFBTSxTQUFTLEdBQUcsUUFBUSxDQUFDLHdCQUF3QixDQUFDO1FBQ3BELE1BQU0sQ0FBQztZQUNMLEtBQUssR0FBRyxvQkFBUyxDQUFDLFFBQVEsQ0FBQyxrQkFBUSxFQUFFLEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUM7WUFDdEQsZ0JBQWdCLENBQUMsdUJBQXVCLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxlQUFlLEVBQUUsRUFBRSxFQUFFO2dCQUMvRSxLQUFLLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRSxlQUFlLENBQUMsQ0FBQztZQUM1QyxDQUFDLENBQUMsQ0FBQztZQUNILEtBQUssQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1lBQzNCLFNBQVMsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ3BDLENBQUMsQ0FBQyxDQUFDO1FBRUgsRUFBRSxDQUFDLHlCQUF5QixFQUFFLEdBQUcsRUFBRTtZQUNqQyxTQUFTLENBQUMsUUFBUSxFQUFFLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUM3QyxTQUFTLENBQUMsWUFBWSxFQUFFLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUM1QyxTQUFTLENBQUMsV0FBVyxFQUFFLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxHQUFHLFFBQVEsUUFBUSxDQUFDLENBQUM7WUFDMUQsU0FBUyxDQUFDLGFBQWEsRUFBRSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDN0MsU0FBUyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQ3ZDLFNBQVMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1lBQzlDLFNBQVMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNsQyxTQUFTLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDMUMsU0FBUyxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQzNDLENBQUMsQ0FBQyxDQUFDO1FBRUgsRUFBRSxDQUFDLDhDQUE4QyxFQUFFLEdBQUcsRUFBRTtZQUN0RCxNQUFNLDBCQUEwQixHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLG9CQUFvQixDQUFDLENBQUM7WUFDOUUsU0FBUyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsMEJBQTBCLENBQUMsQ0FBQztRQUN6RCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFRlc3RCaXRHbywgVGVzdEJpdEdvQVBJIH0gZnJvbSAnQGJpdGdvL3Nkay10ZXN0JztcbmltcG9ydCB7IEJpdEdvQVBJIH0gZnJvbSAnQGJpdGdvL3Nkay1hcGknO1xuXG5leHBvcnQgZnVuY3Rpb24gcnVuVG9rZW5UZXN0SW5pdGlhbGl6YXRpb24oXG4gIGN1cnJlbnRDb2luVG9rZW4sXG4gIGNvaW5OYW1lOiBzdHJpbmcsXG4gIHRva2VuTmV0d29ya05hbWU6IHN0cmluZyxcbiAgdGVzdERhdGE6IGFueVxuKSB7XG4gIGRlc2NyaWJlKGAke2NvaW5OYW1lfSBUb2tlbjpgLCAoKSA9PiB7XG4gICAgbGV0IGJpdGdvOiBUZXN0Qml0R29BUEk7XG4gICAgbGV0IHRva2VuQ29pbjtcbiAgICBjb25zdCBjb2luID0gdGVzdERhdGEuQ09JTjtcbiAgICBjb25zdCB0b2tlbk5hbWUgPSB0ZXN0RGF0YS5ORVRXT1JLX1RPS0VOX0lERU5USUZJRVI7XG4gICAgYmVmb3JlKGZ1bmN0aW9uICgpIHtcbiAgICAgIGJpdGdvID0gVGVzdEJpdEdvLmRlY29yYXRlKEJpdEdvQVBJLCB7IGVudjogJ3Rlc3QnIH0pO1xuICAgICAgY3VycmVudENvaW5Ub2tlbi5jcmVhdGVUb2tlbkNvbnN0cnVjdG9ycygpLmZvckVhY2goKHsgbmFtZSwgY29pbkNvbnN0cnVjdG9yIH0pID0+IHtcbiAgICAgICAgYml0Z28uc2FmZVJlZ2lzdGVyKG5hbWUsIGNvaW5Db25zdHJ1Y3Rvcik7XG4gICAgICB9KTtcbiAgICAgIGJpdGdvLmluaXRpYWxpemVUZXN0VmFycygpO1xuICAgICAgdG9rZW5Db2luID0gYml0Z28uY29pbih0b2tlbk5hbWUpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCByZXR1cm4gY29uc3RhbnRzJywgKCkgPT4ge1xuICAgICAgdG9rZW5Db2luLmdldENoYWluKCkuc2hvdWxkLmVxdWFsKHRva2VuTmFtZSk7XG4gICAgICB0b2tlbkNvaW4uZ2V0QmFzZUNoYWluKCkuc2hvdWxkLmVxdWFsKGNvaW4pO1xuICAgICAgdG9rZW5Db2luLmdldEZ1bGxOYW1lKCkuc2hvdWxkLmVxdWFsKGAke2NvaW5OYW1lfSBUb2tlbmApO1xuICAgICAgdG9rZW5Db2luLmdldEJhc2VGYWN0b3IoKS5zaG91bGQuZXF1YWwoMWUxOCk7XG4gICAgICB0b2tlbkNvaW4udHlwZS5zaG91bGQuZXF1YWwodG9rZW5OYW1lKTtcbiAgICAgIHRva2VuQ29pbi5uYW1lLnNob3VsZC5lcXVhbCh0b2tlbk5ldHdvcmtOYW1lKTtcbiAgICAgIHRva2VuQ29pbi5jb2luLnNob3VsZC5lcXVhbChjb2luKTtcbiAgICAgIHRva2VuQ29pbi5uZXR3b3JrLnNob3VsZC5lcXVhbCgnVGVzdG5ldCcpO1xuICAgICAgdG9rZW5Db2luLmRlY2ltYWxQbGFjZXMuc2hvdWxkLmVxdWFsKDE4KTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgcmV0dXJuIHNhbWUgdG9rZW4gYnkgY29udHJhY3QgYWRkcmVzcycsICgpID0+IHtcbiAgICAgIGNvbnN0IHRva2VuY29pbkJ5Y29udHJhY3RBZGRyZXNzID0gYml0Z28uY29pbih0b2tlbkNvaW4udG9rZW5Db250cmFjdEFkZHJlc3MpO1xuICAgICAgdG9rZW5Db2luLnNob3VsZC5kZWVwRXF1YWwodG9rZW5jb2luQnljb250cmFjdEFkZHJlc3MpO1xuICAgIH0pO1xuICB9KTtcbn1cbiJdfQ==
@@ -1,3 +0,0 @@
1
- import Common from '@ethereumjs/common';
2
- export declare function runTransactionTests(coinName: string, testData: any, common: Common): void;
3
- //# sourceMappingURL=transaction.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"transaction.d.ts","sourceRoot":"","sources":["../../../test/unit/transaction.ts"],"names":[],"mappings":"AAGA,OAAO,MAAM,MAAM,oBAAoB,CAAC;AAExC,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,QAuDlF"}