@bitgo/sdk-core 35.4.1 → 35.6.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 (86) hide show
  1. package/CHANGELOG.md +19 -0
  2. package/dist/src/account-lib/baseCoin/errors.d.ts +3 -0
  3. package/dist/src/account-lib/baseCoin/errors.d.ts.map +1 -1
  4. package/dist/src/account-lib/baseCoin/errors.js +8 -2
  5. package/dist/src/account-lib/baseCoin/iface.d.ts +8 -0
  6. package/dist/src/account-lib/baseCoin/iface.d.ts.map +1 -1
  7. package/dist/src/account-lib/baseCoin/iface.js +23 -1
  8. package/dist/src/account-lib/baseCoin/index.d.ts +1 -0
  9. package/dist/src/account-lib/baseCoin/index.d.ts.map +1 -1
  10. package/dist/src/account-lib/baseCoin/index.js +2 -1
  11. package/dist/src/account-lib/baseCoin/messages/baseMessage.d.ts +88 -0
  12. package/dist/src/account-lib/baseCoin/messages/baseMessage.d.ts.map +1 -0
  13. package/dist/src/account-lib/baseCoin/messages/baseMessage.js +153 -0
  14. package/dist/src/account-lib/baseCoin/messages/baseMessageBuilder.d.ts +67 -0
  15. package/dist/src/account-lib/baseCoin/messages/baseMessageBuilder.d.ts.map +1 -0
  16. package/dist/src/account-lib/baseCoin/messages/baseMessageBuilder.js +144 -0
  17. package/dist/src/account-lib/baseCoin/messages/baseMessageBuilderFactory.d.ts +33 -0
  18. package/dist/src/account-lib/baseCoin/messages/baseMessageBuilderFactory.d.ts.map +1 -0
  19. package/dist/src/account-lib/baseCoin/messages/baseMessageBuilderFactory.js +44 -0
  20. package/dist/src/account-lib/baseCoin/messages/iface.d.ts +164 -0
  21. package/dist/src/account-lib/baseCoin/messages/iface.d.ts.map +1 -0
  22. package/dist/src/account-lib/baseCoin/messages/iface.js +3 -0
  23. package/dist/src/account-lib/baseCoin/messages/index.d.ts +6 -0
  24. package/dist/src/account-lib/baseCoin/messages/index.d.ts.map +1 -0
  25. package/dist/src/account-lib/baseCoin/messages/index.js +22 -0
  26. package/dist/src/account-lib/baseCoin/messages/simple/index.d.ts +3 -0
  27. package/dist/src/account-lib/baseCoin/messages/simple/index.d.ts.map +1 -0
  28. package/dist/src/account-lib/baseCoin/messages/simple/index.js +19 -0
  29. package/dist/src/account-lib/baseCoin/messages/simple/simpleMessage.d.ts +13 -0
  30. package/dist/src/account-lib/baseCoin/messages/simple/simpleMessage.d.ts.map +1 -0
  31. package/dist/src/account-lib/baseCoin/messages/simple/simpleMessage.js +28 -0
  32. package/dist/src/account-lib/baseCoin/messages/simple/simpleMessageBuilder.d.ts +21 -0
  33. package/dist/src/account-lib/baseCoin/messages/simple/simpleMessageBuilder.d.ts.map +1 -0
  34. package/dist/src/account-lib/baseCoin/messages/simple/simpleMessageBuilder.js +28 -0
  35. package/dist/src/bitgo/baseCoin/iBaseCoin.d.ts +3 -1
  36. package/dist/src/bitgo/baseCoin/iBaseCoin.d.ts.map +1 -1
  37. package/dist/src/bitgo/baseCoin/iBaseCoin.js +1 -1
  38. package/dist/src/bitgo/environments.d.ts.map +1 -1
  39. package/dist/src/bitgo/environments.js +17 -1
  40. package/dist/src/bitgo/staking/goStakingInterfaces.d.ts +129 -0
  41. package/dist/src/bitgo/staking/goStakingInterfaces.d.ts.map +1 -0
  42. package/dist/src/bitgo/staking/goStakingInterfaces.js +3 -0
  43. package/dist/src/bitgo/staking/goStakingWallet.d.ts +27 -1
  44. package/dist/src/bitgo/staking/goStakingWallet.d.ts.map +1 -1
  45. package/dist/src/bitgo/staking/goStakingWallet.js +52 -1
  46. package/dist/src/bitgo/staking/iGoStakingWallet.d.ts +8 -35
  47. package/dist/src/bitgo/staking/iGoStakingWallet.d.ts.map +1 -1
  48. package/dist/src/bitgo/staking/iGoStakingWallet.js +1 -1
  49. package/dist/src/bitgo/staking/index.d.ts +1 -0
  50. package/dist/src/bitgo/staking/index.d.ts.map +1 -1
  51. package/dist/src/bitgo/staking/index.js +2 -1
  52. package/dist/src/bitgo/utils/index.d.ts +1 -0
  53. package/dist/src/bitgo/utils/index.d.ts.map +1 -1
  54. package/dist/src/bitgo/utils/index.js +2 -1
  55. package/dist/src/bitgo/utils/messageTypes.d.ts +37 -0
  56. package/dist/src/bitgo/utils/messageTypes.d.ts.map +1 -0
  57. package/dist/src/bitgo/utils/messageTypes.js +14 -0
  58. package/dist/src/bitgo/utils/tss/baseTSSUtils.d.ts +16 -2
  59. package/dist/src/bitgo/utils/tss/baseTSSUtils.d.ts.map +1 -1
  60. package/dist/src/bitgo/utils/tss/baseTSSUtils.js +48 -2
  61. package/dist/src/bitgo/utils/tss/baseTypes.d.ts +3 -0
  62. package/dist/src/bitgo/utils/tss/baseTypes.d.ts.map +1 -1
  63. package/dist/src/bitgo/utils/tss/baseTypes.js +1 -1
  64. package/dist/src/bitgo/wallet/iWallet.d.ts +2 -1
  65. package/dist/src/bitgo/wallet/iWallet.d.ts.map +1 -1
  66. package/dist/src/bitgo/wallet/iWallet.js +1 -1
  67. package/dist/src/bitgo/wallet/wallet.d.ts +7 -0
  68. package/dist/src/bitgo/wallet/wallet.d.ts.map +1 -1
  69. package/dist/src/bitgo/wallet/wallet.js +51 -11
  70. package/dist/test/unit/account-lib/baseCoin/messages/baseMessage.d.ts +2 -0
  71. package/dist/test/unit/account-lib/baseCoin/messages/baseMessage.d.ts.map +1 -0
  72. package/dist/test/unit/account-lib/baseCoin/messages/baseMessage.js +206 -0
  73. package/dist/test/unit/account-lib/baseCoin/messages/baseMessageBuilder.d.ts +2 -0
  74. package/dist/test/unit/account-lib/baseCoin/messages/baseMessageBuilder.d.ts.map +1 -0
  75. package/dist/test/unit/account-lib/baseCoin/messages/baseMessageBuilder.js +173 -0
  76. package/dist/test/unit/account-lib/baseCoin/messages/baseMessageBuilderFactory.d.ts +2 -0
  77. package/dist/test/unit/account-lib/baseCoin/messages/baseMessageBuilderFactory.d.ts.map +1 -0
  78. package/dist/test/unit/account-lib/baseCoin/messages/baseMessageBuilderFactory.js +105 -0
  79. package/dist/test/unit/account-lib/baseCoin/messages/fixtures.d.ts +46 -0
  80. package/dist/test/unit/account-lib/baseCoin/messages/fixtures.d.ts.map +1 -0
  81. package/dist/test/unit/account-lib/baseCoin/messages/fixtures.js +69 -0
  82. package/dist/test/unit/bitgo/utils/messageTypes.d.ts +2 -0
  83. package/dist/test/unit/bitgo/utils/messageTypes.d.ts.map +1 -0
  84. package/dist/test/unit/bitgo/utils/messageTypes.js +64 -0
  85. package/dist/tsconfig.tsbuildinfo +1 -1
  86. package/package.json +6 -6
@@ -0,0 +1,69 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.messageSamples = exports.TestMessage = exports.TestMessageBuilder = exports.TestMessageBuilderFactory = void 0;
4
+ const src_1 = require("../../../../../src");
5
+ class TestMessageBuilderFactory extends src_1.BaseMessageBuilderFactory {
6
+ constructor(coinConfig) {
7
+ super(coinConfig);
8
+ }
9
+ getMessageBuilder(type) {
10
+ return new TestMessageBuilder(this.coinConfig, type);
11
+ }
12
+ }
13
+ exports.TestMessageBuilderFactory = TestMessageBuilderFactory;
14
+ class TestMessageBuilder extends src_1.BaseMessageBuilder {
15
+ constructor(coinConfig, type = src_1.MessageStandardType.UNKNOWN) {
16
+ super(coinConfig, type);
17
+ }
18
+ async buildMessage(options) {
19
+ return new TestMessage(options);
20
+ }
21
+ async fromBroadcastFormat(broadcastMessage) {
22
+ this.setType(broadcastMessage.type);
23
+ this.setPayload(broadcastMessage.payload);
24
+ this.setSignatures(broadcastMessage.signatures || []);
25
+ this.setSigners(broadcastMessage.signers || []);
26
+ if (broadcastMessage.metadata) {
27
+ this.setMetadata(broadcastMessage.metadata);
28
+ }
29
+ return this.build();
30
+ }
31
+ }
32
+ exports.TestMessageBuilder = TestMessageBuilder;
33
+ class TestMessage extends src_1.BaseMessage {
34
+ constructor(options) {
35
+ super(options);
36
+ }
37
+ async getSignablePayload() {
38
+ this.signablePayload = Buffer.from(this.payload);
39
+ return this.signablePayload;
40
+ }
41
+ }
42
+ exports.TestMessage = TestMessage;
43
+ exports.messageSamples = {
44
+ eip191: {
45
+ payload: 'Hello BitGo!',
46
+ type: src_1.MessageStandardType.EIP191,
47
+ metadata: { chainId: 1 },
48
+ signers: ['0x1234567890abcdef1234567890abcdef12345678'],
49
+ signatures: [
50
+ {
51
+ publicKey: { pub: '0x1234567890abcdef1234567890abcdef12345678' },
52
+ signature: Buffer.from('abcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890', 'hex'),
53
+ },
54
+ ],
55
+ },
56
+ unknown: {
57
+ payload: 'Unknown message type',
58
+ type: src_1.MessageStandardType.UNKNOWN,
59
+ metadata: { version: '1.0' },
60
+ signers: ['12345'],
61
+ signatures: [
62
+ {
63
+ publicKey: { pub: '12345' },
64
+ signature: Buffer.from('67890'),
65
+ },
66
+ ],
67
+ },
68
+ };
69
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZml4dHVyZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi90ZXN0L3VuaXQvYWNjb3VudC1saWIvYmFzZUNvaW4vbWVzc2FnZXMvZml4dHVyZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsNENBUTRCO0FBRzVCLE1BQWEseUJBQTBCLFNBQVEsK0JBQXlCO0lBQ3RFLFlBQVksVUFBOEI7UUFDeEMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ3BCLENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxJQUF5QjtRQUN6QyxPQUFPLElBQUksa0JBQWtCLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUN2RCxDQUFDO0NBQ0Y7QUFSRCw4REFRQztBQUVELE1BQWEsa0JBQW1CLFNBQVEsd0JBQWtCO0lBQ3hELFlBQVksVUFBOEIsRUFBRSxPQUE0Qix5QkFBbUIsQ0FBQyxPQUFPO1FBQ2pHLEtBQUssQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDMUIsQ0FBQztJQUVELEtBQUssQ0FBQyxZQUFZLENBQUMsT0FBdUI7UUFDeEMsT0FBTyxJQUFJLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNsQyxDQUFDO0lBRUQsS0FBSyxDQUFDLG1CQUFtQixDQUFDLGdCQUFxQjtRQUM3QyxJQUFJLENBQUMsT0FBTyxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3BDLElBQUksQ0FBQyxVQUFVLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDMUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxnQkFBZ0IsQ0FBQyxVQUFVLElBQUksRUFBRSxDQUFDLENBQUM7UUFDdEQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLElBQUksRUFBRSxDQUFDLENBQUM7UUFDaEQsSUFBSSxnQkFBZ0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUM5QixJQUFJLENBQUMsV0FBVyxDQUFDLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQzlDLENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUN0QixDQUFDO0NBQ0Y7QUFuQkQsZ0RBbUJDO0FBRUQsTUFBYSxXQUFZLFNBQVEsaUJBQVc7SUFDMUMsWUFBWSxPQUF1QjtRQUNqQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDakIsQ0FBQztJQUVELEtBQUssQ0FBQyxrQkFBa0I7UUFDdEIsSUFBSSxDQUFDLGVBQWUsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNqRCxPQUFPLElBQUksQ0FBQyxlQUFlLENBQUM7SUFDOUIsQ0FBQztDQUNGO0FBVEQsa0NBU0M7QUFFWSxRQUFBLGNBQWMsR0FBRztJQUM1QixNQUFNLEVBQUU7UUFDTixPQUFPLEVBQUUsY0FBYztRQUN2QixJQUFJLEVBQUUseUJBQW1CLENBQUMsTUFBTTtRQUNoQyxRQUFRLEVBQUUsRUFBRSxPQUFPLEVBQUUsQ0FBQyxFQUFFO1FBQ3hCLE9BQU8sRUFBRSxDQUFDLDRDQUE0QyxDQUFDO1FBQ3ZELFVBQVUsRUFBRTtZQUNWO2dCQUNFLFNBQVMsRUFBRSxFQUFFLEdBQUcsRUFBRSw0Q0FBNEMsRUFBRTtnQkFDaEUsU0FBUyxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsa0VBQWtFLEVBQUUsS0FBSyxDQUFDO2FBQ2xHO1NBQ0Y7S0FDRjtJQUNELE9BQU8sRUFBRTtRQUNQLE9BQU8sRUFBRSxzQkFBc0I7UUFDL0IsSUFBSSxFQUFFLHlCQUFtQixDQUFDLE9BQU87UUFDakMsUUFBUSxFQUFFLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRTtRQUM1QixPQUFPLEVBQUUsQ0FBQyxPQUFPLENBQUM7UUFDbEIsVUFBVSxFQUFFO1lBQ1Y7Z0JBQ0UsU0FBUyxFQUFFLEVBQUUsR0FBRyxFQUFFLE9BQU8sRUFBRTtnQkFDM0IsU0FBUyxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDO2FBQ2hDO1NBQ0Y7S0FDRjtDQUNGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBCYXNlTWVzc2FnZSxcbiAgQmFzZU1lc3NhZ2VCdWlsZGVyLFxuICBCYXNlTWVzc2FnZUJ1aWxkZXJGYWN0b3J5LFxuICBJTWVzc2FnZSxcbiAgSU1lc3NhZ2VCdWlsZGVyLFxuICBNZXNzYWdlT3B0aW9ucyxcbiAgTWVzc2FnZVN0YW5kYXJkVHlwZSxcbn0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vc3JjJztcbmltcG9ydCB7IEJhc2VDb2luIH0gZnJvbSAnQGJpdGdvL3N0YXRpY3MnO1xuXG5leHBvcnQgY2xhc3MgVGVzdE1lc3NhZ2VCdWlsZGVyRmFjdG9yeSBleHRlbmRzIEJhc2VNZXNzYWdlQnVpbGRlckZhY3Rvcnkge1xuICBjb25zdHJ1Y3Rvcihjb2luQ29uZmlnOiBSZWFkb25seTxCYXNlQ29pbj4pIHtcbiAgICBzdXBlcihjb2luQ29uZmlnKTtcbiAgfVxuXG4gIGdldE1lc3NhZ2VCdWlsZGVyKHR5cGU6IE1lc3NhZ2VTdGFuZGFyZFR5cGUpOiBJTWVzc2FnZUJ1aWxkZXIge1xuICAgIHJldHVybiBuZXcgVGVzdE1lc3NhZ2VCdWlsZGVyKHRoaXMuY29pbkNvbmZpZywgdHlwZSk7XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIFRlc3RNZXNzYWdlQnVpbGRlciBleHRlbmRzIEJhc2VNZXNzYWdlQnVpbGRlciB7XG4gIGNvbnN0cnVjdG9yKGNvaW5Db25maWc6IFJlYWRvbmx5PEJhc2VDb2luPiwgdHlwZTogTWVzc2FnZVN0YW5kYXJkVHlwZSA9IE1lc3NhZ2VTdGFuZGFyZFR5cGUuVU5LTk9XTikge1xuICAgIHN1cGVyKGNvaW5Db25maWcsIHR5cGUpO1xuICB9XG5cbiAgYXN5bmMgYnVpbGRNZXNzYWdlKG9wdGlvbnM6IE1lc3NhZ2VPcHRpb25zKTogUHJvbWlzZTxJTWVzc2FnZT4ge1xuICAgIHJldHVybiBuZXcgVGVzdE1lc3NhZ2Uob3B0aW9ucyk7XG4gIH1cblxuICBhc3luYyBmcm9tQnJvYWRjYXN0Rm9ybWF0KGJyb2FkY2FzdE1lc3NhZ2U6IGFueSk6IFByb21pc2U8SU1lc3NhZ2U+IHtcbiAgICB0aGlzLnNldFR5cGUoYnJvYWRjYXN0TWVzc2FnZS50eXBlKTtcbiAgICB0aGlzLnNldFBheWxvYWQoYnJvYWRjYXN0TWVzc2FnZS5wYXlsb2FkKTtcbiAgICB0aGlzLnNldFNpZ25hdHVyZXMoYnJvYWRjYXN0TWVzc2FnZS5zaWduYXR1cmVzIHx8IFtdKTtcbiAgICB0aGlzLnNldFNpZ25lcnMoYnJvYWRjYXN0TWVzc2FnZS5zaWduZXJzIHx8IFtdKTtcbiAgICBpZiAoYnJvYWRjYXN0TWVzc2FnZS5tZXRhZGF0YSkge1xuICAgICAgdGhpcy5zZXRNZXRhZGF0YShicm9hZGNhc3RNZXNzYWdlLm1ldGFkYXRhKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuYnVpbGQoKTtcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgVGVzdE1lc3NhZ2UgZXh0ZW5kcyBCYXNlTWVzc2FnZSB7XG4gIGNvbnN0cnVjdG9yKG9wdGlvbnM6IE1lc3NhZ2VPcHRpb25zKSB7XG4gICAgc3VwZXIob3B0aW9ucyk7XG4gIH1cblxuICBhc3luYyBnZXRTaWduYWJsZVBheWxvYWQoKTogUHJvbWlzZTxzdHJpbmcgfCBCdWZmZXI+IHtcbiAgICB0aGlzLnNpZ25hYmxlUGF5bG9hZCA9IEJ1ZmZlci5mcm9tKHRoaXMucGF5bG9hZCk7XG4gICAgcmV0dXJuIHRoaXMuc2lnbmFibGVQYXlsb2FkO1xuICB9XG59XG5cbmV4cG9ydCBjb25zdCBtZXNzYWdlU2FtcGxlcyA9IHtcbiAgZWlwMTkxOiB7XG4gICAgcGF5bG9hZDogJ0hlbGxvIEJpdEdvIScsXG4gICAgdHlwZTogTWVzc2FnZVN0YW5kYXJkVHlwZS5FSVAxOTEsXG4gICAgbWV0YWRhdGE6IHsgY2hhaW5JZDogMSB9LFxuICAgIHNpZ25lcnM6IFsnMHgxMjM0NTY3ODkwYWJjZGVmMTIzNDU2Nzg5MGFiY2RlZjEyMzQ1Njc4J10sXG4gICAgc2lnbmF0dXJlczogW1xuICAgICAge1xuICAgICAgICBwdWJsaWNLZXk6IHsgcHViOiAnMHgxMjM0NTY3ODkwYWJjZGVmMTIzNDU2Nzg5MGFiY2RlZjEyMzQ1Njc4JyB9LFxuICAgICAgICBzaWduYXR1cmU6IEJ1ZmZlci5mcm9tKCdhYmNkZWYxMjM0NTY3ODkwYWJjZGVmMTIzNDU2Nzg5MGFiY2RlZjEyMzQ1Njc4OTBhYmNkZWYxMjM0NTY3ODkwJywgJ2hleCcpLFxuICAgICAgfSxcbiAgICBdLFxuICB9LFxuICB1bmtub3duOiB7XG4gICAgcGF5bG9hZDogJ1Vua25vd24gbWVzc2FnZSB0eXBlJyxcbiAgICB0eXBlOiBNZXNzYWdlU3RhbmRhcmRUeXBlLlVOS05PV04sXG4gICAgbWV0YWRhdGE6IHsgdmVyc2lvbjogJzEuMCcgfSxcbiAgICBzaWduZXJzOiBbJzEyMzQ1J10sXG4gICAgc2lnbmF0dXJlczogW1xuICAgICAge1xuICAgICAgICBwdWJsaWNLZXk6IHsgcHViOiAnMTIzNDUnIH0sXG4gICAgICAgIHNpZ25hdHVyZTogQnVmZmVyLmZyb20oJzY3ODkwJyksXG4gICAgICB9LFxuICAgIF0sXG4gIH0sXG59O1xuIl19
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=messageTypes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"messageTypes.d.ts","sourceRoot":"","sources":["../../../../../test/unit/bitgo/utils/messageTypes.ts"],"names":[],"mappings":""}
@@ -0,0 +1,64 @@
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 src_1 = require("../../../../src");
8
+ describe('Message Types', () => {
9
+ describe('MessageStandardType', () => {
10
+ it('should define supported message standard types', () => {
11
+ should_1.default.exist(src_1.MessageStandardType.UNKNOWN);
12
+ should_1.default.exist(src_1.MessageStandardType.EIP191);
13
+ should_1.default.equal(src_1.MessageStandardType.UNKNOWN, 'UNKNOWN');
14
+ should_1.default.equal(src_1.MessageStandardType.EIP191, 'EIP191');
15
+ });
16
+ });
17
+ describe('BroadcastableMessage', () => {
18
+ it('should validate interface structure', () => {
19
+ const message = {
20
+ type: src_1.MessageStandardType.EIP191,
21
+ payload: 'Test payload',
22
+ serializedSignatures: [
23
+ {
24
+ publicKey: 'pub1',
25
+ signature: 'signature1',
26
+ },
27
+ {
28
+ publicKey: 'pub2',
29
+ signature: 'signature2',
30
+ },
31
+ ],
32
+ signers: ['signer1', 'signer2'],
33
+ metadata: { chainId: 1 },
34
+ signablePayload: 'signable payload',
35
+ };
36
+ should_1.default.equal(message.type, src_1.MessageStandardType.EIP191);
37
+ should_1.default.equal(message.payload, 'Test payload');
38
+ should_1.default.deepEqual(message.serializedSignatures, [
39
+ {
40
+ publicKey: 'pub1',
41
+ signature: 'signature1',
42
+ },
43
+ {
44
+ publicKey: 'pub2',
45
+ signature: 'signature2',
46
+ },
47
+ ]);
48
+ should_1.default.deepEqual(message.signers, ['signer1', 'signer2']);
49
+ should_1.default.deepEqual(message.metadata, { chainId: 1 });
50
+ should_1.default.deepEqual(message.signablePayload, 'signable payload');
51
+ });
52
+ it('should allow optional fields to be undefined', () => {
53
+ const message = {
54
+ type: src_1.MessageStandardType.UNKNOWN,
55
+ payload: 'Minimal message',
56
+ serializedSignatures: [],
57
+ signers: [],
58
+ };
59
+ should_1.default.not.exist(message.metadata);
60
+ should_1.default.not.exist(message.signablePayload);
61
+ });
62
+ });
63
+ });
64
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZVR5cGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vdGVzdC91bml0L2JpdGdvL3V0aWxzL21lc3NhZ2VUeXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLG9EQUE0QjtBQUM1Qix5Q0FBNEU7QUFFNUUsUUFBUSxDQUFDLGVBQWUsRUFBRSxHQUFHLEVBQUU7SUFDN0IsUUFBUSxDQUFDLHFCQUFxQixFQUFFLEdBQUcsRUFBRTtRQUNuQyxFQUFFLENBQUMsZ0RBQWdELEVBQUUsR0FBRyxFQUFFO1lBQ3hELGdCQUFNLENBQUMsS0FBSyxDQUFDLHlCQUFtQixDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQzFDLGdCQUFNLENBQUMsS0FBSyxDQUFDLHlCQUFtQixDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBRXpDLGdCQUFNLENBQUMsS0FBSyxDQUFDLHlCQUFtQixDQUFDLE9BQU8sRUFBRSxTQUFTLENBQUMsQ0FBQztZQUNyRCxnQkFBTSxDQUFDLEtBQUssQ0FBQyx5QkFBbUIsQ0FBQyxNQUFNLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFDckQsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDLENBQUMsQ0FBQztJQUVILFFBQVEsQ0FBQyxzQkFBc0IsRUFBRSxHQUFHLEVBQUU7UUFDcEMsRUFBRSxDQUFDLHFDQUFxQyxFQUFFLEdBQUcsRUFBRTtZQUM3QyxNQUFNLE9BQU8sR0FBeUI7Z0JBQ3BDLElBQUksRUFBRSx5QkFBbUIsQ0FBQyxNQUFNO2dCQUNoQyxPQUFPLEVBQUUsY0FBYztnQkFDdkIsb0JBQW9CLEVBQUU7b0JBQ3BCO3dCQUNFLFNBQVMsRUFBRSxNQUFNO3dCQUNqQixTQUFTLEVBQUUsWUFBWTtxQkFDeEI7b0JBQ0Q7d0JBQ0UsU0FBUyxFQUFFLE1BQU07d0JBQ2pCLFNBQVMsRUFBRSxZQUFZO3FCQUN4QjtpQkFDRjtnQkFDRCxPQUFPLEVBQUUsQ0FBQyxTQUFTLEVBQUUsU0FBUyxDQUFDO2dCQUMvQixRQUFRLEVBQUUsRUFBRSxPQUFPLEVBQUUsQ0FBQyxFQUFFO2dCQUN4QixlQUFlLEVBQUUsa0JBQWtCO2FBQ3BDLENBQUM7WUFFRixnQkFBTSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLHlCQUFtQixDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ3ZELGdCQUFNLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsY0FBYyxDQUFDLENBQUM7WUFDOUMsZ0JBQU0sQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLG9CQUFvQixFQUFFO2dCQUM3QztvQkFDRSxTQUFTLEVBQUUsTUFBTTtvQkFDakIsU0FBUyxFQUFFLFlBQVk7aUJBQ3hCO2dCQUNEO29CQUNFLFNBQVMsRUFBRSxNQUFNO29CQUNqQixTQUFTLEVBQUUsWUFBWTtpQkFDeEI7YUFDRixDQUFDLENBQUM7WUFDSCxnQkFBTSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLENBQUMsU0FBUyxFQUFFLFNBQVMsQ0FBQyxDQUFDLENBQUM7WUFDMUQsZ0JBQU0sQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxFQUFFLE9BQU8sRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQ25ELGdCQUFNLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxlQUFlLEVBQUUsa0JBQWtCLENBQUMsQ0FBQztRQUNoRSxDQUFDLENBQUMsQ0FBQztRQUVILEVBQUUsQ0FBQyw4Q0FBOEMsRUFBRSxHQUFHLEVBQUU7WUFDdEQsTUFBTSxPQUFPLEdBQXlCO2dCQUNwQyxJQUFJLEVBQUUseUJBQW1CLENBQUMsT0FBTztnQkFDakMsT0FBTyxFQUFFLGlCQUFpQjtnQkFDMUIsb0JBQW9CLEVBQUUsRUFBRTtnQkFDeEIsT0FBTyxFQUFFLEVBQUU7YUFDWixDQUFDO1lBRUYsZ0JBQU0sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUNuQyxnQkFBTSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQzVDLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBzaG91bGQgZnJvbSAnc2hvdWxkJztcbmltcG9ydCB7IE1lc3NhZ2VTdGFuZGFyZFR5cGUsIEJyb2FkY2FzdGFibGVNZXNzYWdlIH0gZnJvbSAnLi4vLi4vLi4vLi4vc3JjJztcblxuZGVzY3JpYmUoJ01lc3NhZ2UgVHlwZXMnLCAoKSA9PiB7XG4gIGRlc2NyaWJlKCdNZXNzYWdlU3RhbmRhcmRUeXBlJywgKCkgPT4ge1xuICAgIGl0KCdzaG91bGQgZGVmaW5lIHN1cHBvcnRlZCBtZXNzYWdlIHN0YW5kYXJkIHR5cGVzJywgKCkgPT4ge1xuICAgICAgc2hvdWxkLmV4aXN0KE1lc3NhZ2VTdGFuZGFyZFR5cGUuVU5LTk9XTik7XG4gICAgICBzaG91bGQuZXhpc3QoTWVzc2FnZVN0YW5kYXJkVHlwZS5FSVAxOTEpO1xuXG4gICAgICBzaG91bGQuZXF1YWwoTWVzc2FnZVN0YW5kYXJkVHlwZS5VTktOT1dOLCAnVU5LTk9XTicpO1xuICAgICAgc2hvdWxkLmVxdWFsKE1lc3NhZ2VTdGFuZGFyZFR5cGUuRUlQMTkxLCAnRUlQMTkxJyk7XG4gICAgfSk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCdCcm9hZGNhc3RhYmxlTWVzc2FnZScsICgpID0+IHtcbiAgICBpdCgnc2hvdWxkIHZhbGlkYXRlIGludGVyZmFjZSBzdHJ1Y3R1cmUnLCAoKSA9PiB7XG4gICAgICBjb25zdCBtZXNzYWdlOiBCcm9hZGNhc3RhYmxlTWVzc2FnZSA9IHtcbiAgICAgICAgdHlwZTogTWVzc2FnZVN0YW5kYXJkVHlwZS5FSVAxOTEsXG4gICAgICAgIHBheWxvYWQ6ICdUZXN0IHBheWxvYWQnLFxuICAgICAgICBzZXJpYWxpemVkU2lnbmF0dXJlczogW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIHB1YmxpY0tleTogJ3B1YjEnLFxuICAgICAgICAgICAgc2lnbmF0dXJlOiAnc2lnbmF0dXJlMScsXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBwdWJsaWNLZXk6ICdwdWIyJyxcbiAgICAgICAgICAgIHNpZ25hdHVyZTogJ3NpZ25hdHVyZTInLFxuICAgICAgICAgIH0sXG4gICAgICAgIF0sXG4gICAgICAgIHNpZ25lcnM6IFsnc2lnbmVyMScsICdzaWduZXIyJ10sXG4gICAgICAgIG1ldGFkYXRhOiB7IGNoYWluSWQ6IDEgfSxcbiAgICAgICAgc2lnbmFibGVQYXlsb2FkOiAnc2lnbmFibGUgcGF5bG9hZCcsXG4gICAgICB9O1xuXG4gICAgICBzaG91bGQuZXF1YWwobWVzc2FnZS50eXBlLCBNZXNzYWdlU3RhbmRhcmRUeXBlLkVJUDE5MSk7XG4gICAgICBzaG91bGQuZXF1YWwobWVzc2FnZS5wYXlsb2FkLCAnVGVzdCBwYXlsb2FkJyk7XG4gICAgICBzaG91bGQuZGVlcEVxdWFsKG1lc3NhZ2Uuc2VyaWFsaXplZFNpZ25hdHVyZXMsIFtcbiAgICAgICAge1xuICAgICAgICAgIHB1YmxpY0tleTogJ3B1YjEnLFxuICAgICAgICAgIHNpZ25hdHVyZTogJ3NpZ25hdHVyZTEnLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgcHVibGljS2V5OiAncHViMicsXG4gICAgICAgICAgc2lnbmF0dXJlOiAnc2lnbmF0dXJlMicsXG4gICAgICAgIH0sXG4gICAgICBdKTtcbiAgICAgIHNob3VsZC5kZWVwRXF1YWwobWVzc2FnZS5zaWduZXJzLCBbJ3NpZ25lcjEnLCAnc2lnbmVyMiddKTtcbiAgICAgIHNob3VsZC5kZWVwRXF1YWwobWVzc2FnZS5tZXRhZGF0YSwgeyBjaGFpbklkOiAxIH0pO1xuICAgICAgc2hvdWxkLmRlZXBFcXVhbChtZXNzYWdlLnNpZ25hYmxlUGF5bG9hZCwgJ3NpZ25hYmxlIHBheWxvYWQnKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgYWxsb3cgb3B0aW9uYWwgZmllbGRzIHRvIGJlIHVuZGVmaW5lZCcsICgpID0+IHtcbiAgICAgIGNvbnN0IG1lc3NhZ2U6IEJyb2FkY2FzdGFibGVNZXNzYWdlID0ge1xuICAgICAgICB0eXBlOiBNZXNzYWdlU3RhbmRhcmRUeXBlLlVOS05PV04sXG4gICAgICAgIHBheWxvYWQ6ICdNaW5pbWFsIG1lc3NhZ2UnLFxuICAgICAgICBzZXJpYWxpemVkU2lnbmF0dXJlczogW10sXG4gICAgICAgIHNpZ25lcnM6IFtdLFxuICAgICAgfTtcblxuICAgICAgc2hvdWxkLm5vdC5leGlzdChtZXNzYWdlLm1ldGFkYXRhKTtcbiAgICAgIHNob3VsZC5ub3QuZXhpc3QobWVzc2FnZS5zaWduYWJsZVBheWxvYWQpO1xuICAgIH0pO1xuICB9KTtcbn0pO1xuIl19