@bitgo-beta/sdk-core 8.2.1-beta.968 → 8.2.1-beta.969
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/src/account-lib/baseCoin/index.d.ts +1 -0
- package/dist/src/account-lib/baseCoin/index.d.ts.map +1 -1
- package/dist/src/account-lib/baseCoin/index.js +2 -1
- package/dist/src/account-lib/baseCoin/messages/baseMessage.d.ts +76 -0
- package/dist/src/account-lib/baseCoin/messages/baseMessage.d.ts.map +1 -0
- package/dist/src/account-lib/baseCoin/messages/baseMessage.js +120 -0
- package/dist/src/account-lib/baseCoin/messages/baseMessageBuilder.d.ts +66 -0
- package/dist/src/account-lib/baseCoin/messages/baseMessageBuilder.d.ts.map +1 -0
- package/dist/src/account-lib/baseCoin/messages/baseMessageBuilder.js +96 -0
- package/dist/src/account-lib/baseCoin/messages/baseMessageBuilderFactory.d.ts +33 -0
- package/dist/src/account-lib/baseCoin/messages/baseMessageBuilderFactory.d.ts.map +1 -0
- package/dist/src/account-lib/baseCoin/messages/baseMessageBuilderFactory.js +34 -0
- package/dist/src/account-lib/baseCoin/messages/iface.d.ts +156 -0
- package/dist/src/account-lib/baseCoin/messages/iface.d.ts.map +1 -0
- package/dist/src/account-lib/baseCoin/messages/iface.js +3 -0
- package/dist/src/account-lib/baseCoin/messages/index.d.ts +5 -0
- package/dist/src/account-lib/baseCoin/messages/index.d.ts.map +1 -0
- package/dist/src/account-lib/baseCoin/messages/index.js +21 -0
- package/dist/src/bitgo/utils/index.d.ts +1 -0
- package/dist/src/bitgo/utils/index.d.ts.map +1 -1
- package/dist/src/bitgo/utils/index.js +2 -1
- package/dist/src/bitgo/utils/messageTypes.d.ts +34 -0
- package/dist/src/bitgo/utils/messageTypes.d.ts.map +1 -0
- package/dist/src/bitgo/utils/messageTypes.js +12 -0
- package/dist/test/unit/account-lib/baseCoin/messages/baseMessage.d.ts +2 -0
- package/dist/test/unit/account-lib/baseCoin/messages/baseMessage.d.ts.map +1 -0
- package/dist/test/unit/account-lib/baseCoin/messages/baseMessage.js +204 -0
- package/dist/test/unit/account-lib/baseCoin/messages/baseMessageBuilder.d.ts +2 -0
- package/dist/test/unit/account-lib/baseCoin/messages/baseMessageBuilder.d.ts.map +1 -0
- package/dist/test/unit/account-lib/baseCoin/messages/baseMessageBuilder.js +130 -0
- package/dist/test/unit/account-lib/baseCoin/messages/baseMessageBuilderFactory.d.ts +2 -0
- package/dist/test/unit/account-lib/baseCoin/messages/baseMessageBuilderFactory.d.ts.map +1 -0
- package/dist/test/unit/account-lib/baseCoin/messages/baseMessageBuilderFactory.js +86 -0
- package/dist/test/unit/account-lib/baseCoin/messages/fixtures.d.ts +36 -0
- package/dist/test/unit/account-lib/baseCoin/messages/fixtures.d.ts.map +1 -0
- package/dist/test/unit/account-lib/baseCoin/messages/fixtures.js +70 -0
- package/dist/test/unit/bitgo/utils/messageTypes.d.ts +2 -0
- package/dist/test/unit/bitgo/utils/messageTypes.d.ts.map +1 -0
- package/dist/test/unit/bitgo/utils/messageTypes.js +76 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +9 -9
|
@@ -0,0 +1,86 @@
|
|
|
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 statics_1 = require("@bitgo-beta/statics");
|
|
7
|
+
const sinon_1 = __importDefault(require("sinon"));
|
|
8
|
+
const should_1 = __importDefault(require("should"));
|
|
9
|
+
const src_1 = require("../../../../../src");
|
|
10
|
+
const fixtures_1 = require("./fixtures");
|
|
11
|
+
describe('Base Message Builder Factory', () => {
|
|
12
|
+
let factory;
|
|
13
|
+
let mockCoinConfig;
|
|
14
|
+
beforeEach(() => {
|
|
15
|
+
mockCoinConfig = sinon_1.default.createStubInstance(statics_1.BaseCoin);
|
|
16
|
+
factory = new fixtures_1.TestMessageBuilderFactory(mockCoinConfig);
|
|
17
|
+
});
|
|
18
|
+
describe('getMessageBuilder', () => {
|
|
19
|
+
it('should create a message builder for EIP191 type', () => {
|
|
20
|
+
const builder = factory.getMessageBuilder(src_1.MessageStandardType.EIP191);
|
|
21
|
+
should_1.default.exist(builder);
|
|
22
|
+
should_1.default.equal(builder.getType(), src_1.MessageStandardType.EIP191);
|
|
23
|
+
});
|
|
24
|
+
it('should create a message builder for UNKNOWN type', () => {
|
|
25
|
+
const builder = factory.getMessageBuilder(src_1.MessageStandardType.UNKNOWN);
|
|
26
|
+
should_1.default.exist(builder);
|
|
27
|
+
should_1.default.equal(builder.getType(), src_1.MessageStandardType.UNKNOWN);
|
|
28
|
+
});
|
|
29
|
+
});
|
|
30
|
+
describe('fromBroadcastFormat', () => {
|
|
31
|
+
it('should create a builder from a broadcast message', () => {
|
|
32
|
+
const broadcastMessage = {
|
|
33
|
+
type: src_1.MessageStandardType.EIP191,
|
|
34
|
+
payload: 'hello world',
|
|
35
|
+
signatures: ['sig1'],
|
|
36
|
+
signers: ['addr1'],
|
|
37
|
+
metadata: { version: '1.0' },
|
|
38
|
+
};
|
|
39
|
+
const builder = factory.fromBroadcastFormat(broadcastMessage);
|
|
40
|
+
should_1.default.exist(builder);
|
|
41
|
+
// Since the TestMessageBuilder always returns the same type that was passed to constructor
|
|
42
|
+
should_1.default.equal(builder.getType(), src_1.MessageStandardType.EIP191);
|
|
43
|
+
});
|
|
44
|
+
});
|
|
45
|
+
describe('fromBroadcastString', () => {
|
|
46
|
+
it('should parse a broadcast message string and create the appropriate builder', () => {
|
|
47
|
+
const broadcastMessage = {
|
|
48
|
+
type: src_1.MessageStandardType.EIP191,
|
|
49
|
+
payload: 'test message',
|
|
50
|
+
signatures: ['sig1', 'sig2'],
|
|
51
|
+
signers: ['addr1', 'addr2'],
|
|
52
|
+
metadata: { chainId: 1 },
|
|
53
|
+
};
|
|
54
|
+
const broadcastString = JSON.stringify(broadcastMessage);
|
|
55
|
+
const builder = factory.fromBroadcastString(broadcastString);
|
|
56
|
+
should_1.default.exist(builder);
|
|
57
|
+
// Since the TestMessageBuilder always returns the same type that was passed to constructor
|
|
58
|
+
should_1.default.equal(builder.getType(), src_1.MessageStandardType.EIP191);
|
|
59
|
+
});
|
|
60
|
+
it('should handle broadcast messages with different types', () => {
|
|
61
|
+
const broadcastMessage = {
|
|
62
|
+
type: src_1.MessageStandardType.UNKNOWN,
|
|
63
|
+
payload: 'unknown message',
|
|
64
|
+
signatures: ['sig1'],
|
|
65
|
+
signers: ['addr1'],
|
|
66
|
+
};
|
|
67
|
+
const broadcastString = JSON.stringify(broadcastMessage);
|
|
68
|
+
const builder = factory.fromBroadcastString(broadcastString);
|
|
69
|
+
should_1.default.exist(builder);
|
|
70
|
+
should_1.default.equal(builder.getType(), src_1.MessageStandardType.UNKNOWN);
|
|
71
|
+
});
|
|
72
|
+
it('should handle broadcast messages without optional fields', () => {
|
|
73
|
+
const broadcastMessage = {
|
|
74
|
+
type: src_1.MessageStandardType.EIP191,
|
|
75
|
+
payload: 'minimal message',
|
|
76
|
+
signatures: [],
|
|
77
|
+
signers: [],
|
|
78
|
+
};
|
|
79
|
+
const broadcastString = JSON.stringify(broadcastMessage);
|
|
80
|
+
const builder = factory.fromBroadcastString(broadcastString);
|
|
81
|
+
should_1.default.exist(builder);
|
|
82
|
+
should_1.default.equal(builder.getType(), src_1.MessageStandardType.EIP191);
|
|
83
|
+
});
|
|
84
|
+
});
|
|
85
|
+
});
|
|
86
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZU1lc3NhZ2VCdWlsZGVyRmFjdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Rlc3QvdW5pdC9hY2NvdW50LWxpYi9iYXNlQ29pbi9tZXNzYWdlcy9iYXNlTWVzc2FnZUJ1aWxkZXJGYWN0b3J5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsaURBQStDO0FBQy9DLGtEQUEwQjtBQUMxQixvREFBNEI7QUFDNUIsNENBQStFO0FBQy9FLHlDQUF1RDtBQUV2RCxRQUFRLENBQUMsOEJBQThCLEVBQUUsR0FBRyxFQUFFO0lBQzVDLElBQUksT0FBa0MsQ0FBQztJQUN2QyxJQUFJLGNBQW9ELENBQUM7SUFFekQsVUFBVSxDQUFDLEdBQUcsRUFBRTtRQUNkLGNBQWMsR0FBRyxlQUFLLENBQUMsa0JBQWtCLENBQUMsa0JBQVEsQ0FBQyxDQUFDO1FBQ3BELE9BQU8sR0FBRyxJQUFJLG9DQUF5QixDQUFDLGNBQXFDLENBQUMsQ0FBQztJQUNqRixDQUFDLENBQUMsQ0FBQztJQUVILFFBQVEsQ0FBQyxtQkFBbUIsRUFBRSxHQUFHLEVBQUU7UUFDakMsRUFBRSxDQUFDLGlEQUFpRCxFQUFFLEdBQUcsRUFBRTtZQUN6RCxNQUFNLE9BQU8sR0FBRyxPQUFPLENBQUMsaUJBQWlCLENBQUMseUJBQW1CLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDdEUsZ0JBQU0sQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDdEIsZ0JBQU0sQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxFQUFFLHlCQUFtQixDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzlELENBQUMsQ0FBQyxDQUFDO1FBRUgsRUFBRSxDQUFDLGtEQUFrRCxFQUFFLEdBQUcsRUFBRTtZQUMxRCxNQUFNLE9BQU8sR0FBRyxPQUFPLENBQUMsaUJBQWlCLENBQUMseUJBQW1CLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDdkUsZ0JBQU0sQ0FB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LEVBQUU7Z0JBQ2QsT0FBTyxFQUFFLEVBQUU7YUFDWixDQUFDO1lBRUYsTUFBTSxlQUFlLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1lBQ3pELE1BQU0sT0FBTyxHQUFHLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQyxlQUFlLENBQUMsQ0FBQztZQUU3RCxnQkFBTSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUN0QixnQkFBTSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLEVBQUUseUJBQW1CLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDOUQsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQmFzZUNvaW4gfSBmcm9tICdAYml0Z28tYmV0YS9zdGF0aWNzJztcbmltcG9ydCBzaW5vbiBmcm9tICdzaW5vbic7XG5pbXBvcnQgc2hvdWxkIGZyb20gJ3Nob3VsZCc7XG5pbXBvcnQgeyBCcm9hZGNhc3RhYmxlTWVzc2FnZSwgTWVzc2FnZVN0YW5kYXJkVHlwZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL3NyYyc7XG5pbXBvcnQgeyBUZXN0TWVzc2FnZUJ1aWxkZXJGYWN0b3J5IH0gZnJvbSAnLi9maXh0dXJlcyc7XG5cbmRlc2NyaWJlKCdCYXNlIE1lc3NhZ2UgQnVpbGRlciBGYWN0b3J5JywgKCkgPT4ge1xuICBsZXQgZmFjdG9yeTogVGVzdE1lc3NhZ2VCdWlsZGVyRmFjdG9yeTtcbiAgbGV0IG1vY2tDb2luQ29uZmlnOiBzaW5vbi5TaW5vblN0dWJiZWRJbnN0YW5jZTxCYXNlQ29pbj47XG5cbiAgYmVmb3JlRWFjaCgoKSA9PiB7XG4gICAgbW9ja0NvaW5Db25maWcgPSBzaW5vbi5jcmVhdGVTdHViSW5zdGFuY2UoQmFzZUNvaW4pO1xuICAgIGZhY3RvcnkgPSBuZXcgVGVzdE1lc3NhZ2VCdWlsZGVyRmFjdG9yeShtb2NrQ29pbkNvbmZpZyBhcyB1bmtub3duIGFzIEJhc2VDb2luKTtcbiAgfSk7XG5cbiAgZGVzY3JpYmUoJ2dldE1lc3NhZ2VCdWlsZGVyJywgKCkgPT4ge1xuICAgIGl0KCdzaG91bGQgY3JlYXRlIGEgbWVzc2FnZSBidWlsZGVyIGZvciBFSVAxOTEgdHlwZScsICgpID0+IHtcbiAgICAgIGNvbnN0IGJ1aWxkZXIgPSBmYWN0b3J5LmdldE1lc3NhZ2VCdWlsZGVyKE1lc3NhZ2VTdGFuZGFyZFR5cGUuRUlQMTkxKTtcbiAgICAgIHNob3VsZC5leGlzdChidWlsZGVyKTtcbiAgICAgIHNob3VsZC5lcXVhbChidWlsZGVyLmdldFR5cGUoKSwgTWVzc2FnZVN0YW5kYXJkVHlwZS5FSVAxOTEpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCBjcmVhdGUgYSBtZXNzYWdlIGJ1aWxkZXIgZm9yIFVOS05PV04gdHlwZScsICgpID0+IHtcbiAgICAgIGNvbnN0IGJ1aWxkZXIgPSBmYWN0b3J5LmdldE1lc3NhZ2VCdWlsZGVyKE1lc3NhZ2VTdGFuZGFyZFR5cGUuVU5LTk9XTik7XG4gICAgICBzaG91bGQuZXhpc3QoYnVpbGRlcik7XG4gICAgICBzaG91bGQuZXF1YWwoYnVpbGRlci5nZXRUeXBlKCksIE1lc3NhZ2VTdGFuZGFyZFR5cGUuVU5LTk9XTik7XG4gICAgfSk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCdmcm9tQnJvYWRjYXN0Rm9ybWF0JywgKCkgPT4ge1xuICAgIGl0KCdzaG91bGQgY3JlYXRlIGEgYnVpbGRlciBmcm9tIGEgYnJvYWRjYXN0IG1lc3NhZ2UnLCAoKSA9PiB7XG4gICAgICBjb25zdCBicm9hZGNhc3RNZXNzYWdlOiBCcm9hZGNhc3RhYmxlTWVzc2FnZSA9IHtcbiAgICAgICAgdHlwZTogTWVzc2FnZVN0YW5kYXJkVHlwZS5FSVAxOTEsXG4gICAgICAgIHBheWxvYWQ6ICdoZWxsbyB3b3JsZCcsXG4gICAgICAgIHNpZ25hdHVyZXM6IFsnc2lnMSddLFxuICAgICAgICBzaWduZXJzOiBbJ2FkZHIxJ10sXG4gICAgICAgIG1ldGFkYXRhOiB7IHZlcnNpb246ICcxLjAnIH0sXG4gICAgICB9O1xuXG4gICAgICBjb25zdCBidWlsZGVyID0gZmFjdG9yeS5mcm9tQnJvYWRjYXN0Rm9ybWF0KGJyb2FkY2FzdE1lc3NhZ2UpO1xuICAgICAgc2hvdWxkLmV4aXN0KGJ1aWxkZXIpO1xuICAgICAgLy8gU2luY2UgdGhlIFRlc3RNZXNzYWdlQnVpbGRlciBhbHdheXMgcmV0dXJucyB0aGUgc2FtZSB0eXBlIHRoYXQgd2FzIHBhc3NlZCB0byBjb25zdHJ1Y3RvclxuICAgICAgc2hvdWxkLmVxdWFsKGJ1aWxkZXIuZ2V0VHlwZSgpLCBNZXNzYWdlU3RhbmRhcmRUeXBlLkVJUDE5MSk7XG4gICAgfSk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCdmcm9tQnJvYWRjYXN0U3RyaW5nJywgKCkgPT4ge1xuICAgIGl0KCdzaG91bGQgcGFyc2UgYSBicm9hZGNhc3QgbWVzc2FnZSBzdHJpbmcgYW5kIGNyZWF0ZSB0aGUgYXBwcm9wcmlhdGUgYnVpbGRlcicsICgpID0+IHtcbiAgICAgIGNvbnN0IGJyb2FkY2FzdE1lc3NhZ2U6IEJyb2FkY2FzdGFibGVNZXNzYWdlID0ge1xuICAgICAgICB0eXBlOiBNZXNzYWdlU3RhbmRhcmRUeXBlLkVJUDE5MSxcbiAgICAgICAgcGF5bG9hZDogJ3Rlc3QgbWVzc2FnZScsXG4gICAgICAgIHNpZ25hdHVyZXM6IFsnc2lnMScsICdzaWcyJ10sXG4gICAgICAgIHNpZ25lcnM6IFsnYWRkcjEnLCAnYWRkcjInXSxcbiAgICAgICAgbWV0YWRhdGE6IHsgY2hhaW5JZDogMSB9LFxuICAgICAgfTtcblxuICAgICAgY29uc3QgYnJvYWRjYXN0U3RyaW5nID0gSlNPTi5zdHJpbmdpZnkoYnJvYWRjYXN0TWVzc2FnZSk7XG4gICAgICBjb25zdCBidWlsZGVyID0gZmFjdG9yeS5mcm9tQnJvYWRjYXN0U3RyaW5nKGJyb2FkY2FzdFN0cmluZyk7XG5cbiAgICAgIHNob3VsZC5leGlzdChidWlsZGVyKTtcbiAgICAgIC8vIFNpbmNlIHRoZSBUZXN0TWVzc2FnZUJ1aWxkZXIgYWx3YXlzIHJldHVybnMgdGhlIHNhbWUgdHlwZSB0aGF0IHdhcyBwYXNzZWQgdG8gY29uc3RydWN0b3JcbiAgICAgIHNob3VsZC5lcXVhbChidWlsZGVyLmdldFR5cGUoKSwgTWVzc2FnZVN0YW5kYXJkVHlwZS5FSVAxOTEpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCBoYW5kbGUgYnJvYWRjYXN0IG1lc3NhZ2VzIHdpdGggZGlmZmVyZW50IHR5cGVzJywgKCkgPT4ge1xuICAgICAgY29uc3QgYnJvYWRjYXN0TWVzc2FnZTogQnJvYWRjYXN0YWJsZU1lc3NhZ2UgPSB7XG4gICAgICAgIHR5cGU6IE1lc3NhZ2VTdGFuZGFyZFR5cGUuVU5LTk9XTixcbiAgICAgICAgcGF5bG9hZDogJ3Vua25vd24gbWVzc2FnZScsXG4gICAgICAgIHNpZ25hdHVyZXM6IFsnc2lnMSddLFxuICAgICAgICBzaWduZXJzOiBbJ2FkZHIxJ10sXG4gICAgICB9O1xuXG4gICAgICBjb25zdCBicm9hZGNhc3RTdHJpbmcgPSBKU09OLnN0cmluZ2lmeShicm9hZGNhc3RNZXNzYWdlKTtcbiAgICAgIGNvbnN0IGJ1aWxkZXIgPSBmYWN0b3J5LmZyb21Ccm9hZGNhc3RTdHJpbmcoYnJvYWRjYXN0U3RyaW5nKTtcblxuICAgICAgc2hvdWxkLmV4aXN0KGJ1aWxkZXIpO1xuICAgICAgc2hvdWxkLmVxdWFsKGJ1aWxkZXIuZ2V0VHlwZSgpLCBNZXNzYWdlU3RhbmRhcmRUeXBlLlVOS05PV04pO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCBoYW5kbGUgYnJvYWRjYXN0IG1lc3NhZ2VzIHdpdGhvdXQgb3B0aW9uYWwgZmllbGRzJywgKCkgPT4ge1xuICAgICAgY29uc3QgYnJvYWRjYXN0TWVzc2FnZSA9IHtcbiAgICAgICAgdHlwZTogTWVzc2FnZVN0YW5kYXJkVHlwZS5FSVAxOTEsXG4gICAgICAgIHBheWxvYWQ6ICdtaW5pbWFsIG1lc3NhZ2UnLFxuICAgICAgICBzaWduYXR1cmVzOiBbXSxcbiAgICAgICAgc2lnbmVyczogW10sXG4gICAgICB9O1xuXG4gICAgICBjb25zdCBicm9hZGNhc3RTdHJpbmcgPSBKU09OLnN0cmluZ2lmeShicm9hZGNhc3RNZXNzYWdlKTtcbiAgICAgIGNvbnN0IGJ1aWxkZXIgPSBmYWN0b3J5LmZyb21Ccm9hZGNhc3RTdHJpbmcoYnJvYWRjYXN0U3RyaW5nKTtcblxuICAgICAgc2hvdWxkLmV4aXN0KGJ1aWxkZXIpO1xuICAgICAgc2hvdWxkLmVxdWFsKGJ1aWxkZXIuZ2V0VHlwZSgpLCBNZXNzYWdlU3RhbmRhcmRUeXBlLkVJUDE5MSk7XG4gICAgfSk7XG4gIH0pO1xufSk7XG4iXX0=
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { BaseMessage, BaseMessageBuilder, BaseMessageBuilderFactory, IMessage, IMessageBuilder, MessageOptions, MessageStandardType } from '../../../../../src';
|
|
2
|
+
import { BaseCoin } from '@bitgo-beta/statics';
|
|
3
|
+
export declare class TestMessageBuilderFactory extends BaseMessageBuilderFactory {
|
|
4
|
+
constructor(coinConfig: Readonly<BaseCoin>);
|
|
5
|
+
getMessageBuilder(type: MessageStandardType): IMessageBuilder;
|
|
6
|
+
}
|
|
7
|
+
export declare class TestMessageBuilder extends BaseMessageBuilder {
|
|
8
|
+
constructor(coinConfig: Readonly<BaseCoin>, type?: MessageStandardType);
|
|
9
|
+
build(): Promise<IMessage>;
|
|
10
|
+
fromBroadcastFormat(broadcastMessage: any): Promise<IMessage>;
|
|
11
|
+
}
|
|
12
|
+
export declare class TestBaseMessage extends BaseMessage {
|
|
13
|
+
constructor(options: MessageOptions);
|
|
14
|
+
getSignablePayload(): Promise<string | Buffer>;
|
|
15
|
+
}
|
|
16
|
+
export declare const messageSamples: {
|
|
17
|
+
eip191: {
|
|
18
|
+
payload: string;
|
|
19
|
+
type: MessageStandardType;
|
|
20
|
+
metadata: {
|
|
21
|
+
chainId: number;
|
|
22
|
+
};
|
|
23
|
+
signers: string[];
|
|
24
|
+
signatures: string[];
|
|
25
|
+
};
|
|
26
|
+
unknown: {
|
|
27
|
+
payload: string;
|
|
28
|
+
type: MessageStandardType;
|
|
29
|
+
metadata: {
|
|
30
|
+
version: string;
|
|
31
|
+
};
|
|
32
|
+
signers: string[];
|
|
33
|
+
signatures: string[];
|
|
34
|
+
};
|
|
35
|
+
};
|
|
36
|
+
//# sourceMappingURL=fixtures.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fixtures.d.ts","sourceRoot":"","sources":["../../../../../../test/unit/account-lib/baseCoin/messages/fixtures.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,EACX,kBAAkB,EAClB,yBAAyB,EACzB,QAAQ,EACR,eAAe,EACf,cAAc,EACd,mBAAmB,EACpB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAE/C,qBAAa,yBAA0B,SAAQ,yBAAyB;gBAC1D,UAAU,EAAE,QAAQ,CAAC,QAAQ,CAAC;IAI1C,iBAAiB,CAAC,IAAI,EAAE,mBAAmB,GAAG,eAAe;CAG9D;AAED,qBAAa,kBAAmB,SAAQ,kBAAkB;gBAC5C,UAAU,EAAE,QAAQ,CAAC,QAAQ,CAAC,EAAE,IAAI,GAAE,mBAAiD;IAI7F,KAAK,IAAI,OAAO,CAAC,QAAQ,CAAC;IAa1B,mBAAmB,CAAC,gBAAgB,EAAE,GAAG,GAAG,OAAO,CAAC,QAAQ,CAAC;CAUpE;AAED,qBAAa,eAAgB,SAAQ,WAAW;gBAClC,OAAO,EAAE,cAAc;IAI7B,kBAAkB,IAAI,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC;CAMrD;AAED,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;CAe1B,CAAC"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.messageSamples = exports.TestBaseMessage = 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 build() {
|
|
19
|
+
return new TestBaseMessage({
|
|
20
|
+
coinConfig: this.coinConfig,
|
|
21
|
+
payload: this.payload,
|
|
22
|
+
type: this.type,
|
|
23
|
+
signatures: this.signatures,
|
|
24
|
+
signers: this.signers,
|
|
25
|
+
metadata: {
|
|
26
|
+
...this.metadata,
|
|
27
|
+
},
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
async fromBroadcastFormat(broadcastMessage) {
|
|
31
|
+
this.setType(broadcastMessage.type);
|
|
32
|
+
this.setPayload(broadcastMessage.payload);
|
|
33
|
+
this.setSignatures(broadcastMessage.signatures || []);
|
|
34
|
+
this.setSigners(broadcastMessage.signers || []);
|
|
35
|
+
if (broadcastMessage.metadata) {
|
|
36
|
+
this.setMetadata(broadcastMessage.metadata);
|
|
37
|
+
}
|
|
38
|
+
return this.build();
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
exports.TestMessageBuilder = TestMessageBuilder;
|
|
42
|
+
class TestBaseMessage extends src_1.BaseMessage {
|
|
43
|
+
constructor(options) {
|
|
44
|
+
super(options);
|
|
45
|
+
}
|
|
46
|
+
async getSignablePayload() {
|
|
47
|
+
if (this.signablePayload) {
|
|
48
|
+
return this.signablePayload;
|
|
49
|
+
}
|
|
50
|
+
return Buffer.from(this.payload);
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
exports.TestBaseMessage = TestBaseMessage;
|
|
54
|
+
exports.messageSamples = {
|
|
55
|
+
eip191: {
|
|
56
|
+
payload: 'Hello BitGo!',
|
|
57
|
+
type: src_1.MessageStandardType.EIP191,
|
|
58
|
+
metadata: { chainId: 1 },
|
|
59
|
+
signers: ['0x1234567890abcdef1234567890abcdef12345678'],
|
|
60
|
+
signatures: ['0xabcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890'],
|
|
61
|
+
},
|
|
62
|
+
unknown: {
|
|
63
|
+
payload: 'Unknown message type',
|
|
64
|
+
type: src_1.MessageStandardType.UNKNOWN,
|
|
65
|
+
metadata: { version: '1.0' },
|
|
66
|
+
signers: ['12345'],
|
|
67
|
+
signatures: ['67890'],
|
|
68
|
+
},
|
|
69
|
+
};
|
|
70
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZml4dHVyZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi90ZXN0L3VuaXQvYWNjb3VudC1saWIvYmFzZUNvaW4vbWVzc2FnZXMvZml4dHVyZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsNENBUTRCO0FBRzVCLE1BQWEseUJBQTBCLFNBQVEsK0JBQXlCO0lBQ3RFLFlBQVksVUFBOEI7UUFDeEMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ3BCLENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxJQUF5QjtRQUN6QyxPQUFPLElBQUksa0JBQWtCLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUN2RCxDQUFDO0NBQ0Y7QUFSRCw4REFRQztBQUVELE1BQWEsa0JBQW1CLFNBQVEsd0JBQWtCO0lBQ3hELFlBQVksVUFBOEIsRUFBRSxPQUE0Qix5QkFBbUIsQ0FBQyxPQUFPO1FBQ2pHLEtBQUssQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDMUIsQ0FBQztJQUVELEtBQUssQ0FBQyxLQUFLO1FBQ1QsT0FBTyxJQUFJLGVBQWUsQ0FBQztZQUN6QixVQUFVLEVBQUUsSUFBSSxDQUFDLFVBQVU7WUFDM0IsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPO1lBQ3JCLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSTtZQUNmLFVBQVUsRUFBRSxJQUFJLENBQUMsVUFBVTtZQUMzQixPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU87WUFDckIsUUFBUSxFQUFFO2dCQUNSLEdBQUcsSUFBSSxDQUFDLFFBQVE7YUFDakI7U0FDRixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsS0FBSyxDQUFDLG1CQUFtQixDQUFDLGdCQUFxQjtRQUM3QyxJQUFJLENBQUMsT0FBTyxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3BDLElBQUksQ0FBQyxVQUFVLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDMUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxnQkFBZ0IsQ0FBQyxVQUFVLElBQUksRUFBRSxDQUFDLENBQUM7UUFDdEQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLElBQUksRUFBRSxDQUFDLENBQUM7UUFDaEQsSUFBSSxnQkFBZ0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUM5QixJQUFJLENBQUMsV0FBVyxDQUFDLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQzlDLENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUN0QixDQUFDO0NBQ0Y7QUE1QkQsZ0RBNEJDO0FBRUQsTUFBYSxlQUFnQixTQUFRLGlCQUFXO0lBQzlDLFlBQVksT0FBdUI7UUFDakMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ2pCLENBQUM7SUFFRCxLQUFLLENBQUMsa0JBQWtCO1FBQ3RCLElBQUksSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1lBQ3pCLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQztRQUM5QixDQUFDO1FBQ0QsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNuQyxDQUFDO0NBQ0Y7QUFYRCwwQ0FXQztBQUVZLFFBQUEsY0FBYyxHQUFHO0lBQzVCLE1BQU0sRUFBRTtRQUNOLE9BQU8sRUFBRSxjQUFjO1FBQ3ZCLElBQUksRUFBRSx5QkFBbUIsQ0FBQyxNQUFNO1FBQ2hDLFFBQVEsRUFBRSxFQUFFLE9BQU8sRUFBRSxDQUFDLEVBQUU7UUFDeEIsT0FBTyxFQUFFLENBQUMsNENBQTRDLENBQUM7UUFDdkQsVUFBVSxFQUFFLENBQUMsb0VBQW9FLENBQUM7S0FDbkY7SUFDRCxPQUFPLEVBQUU7UUFDUCxPQUFPLEVBQUUsc0JBQXNCO1FBQy9CLElBQUksRUFBRSx5QkFBbUIsQ0FBQyxPQUFPO1FBQ2pDLFFBQVEsRUFBRSxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUU7UUFDNUIsT0FBTyxFQUFFLENBQUMsT0FBTyxDQUFDO1FBQ2xCLFVBQVUsRUFBRSxDQUFDLE9BQU8sQ0FBQztLQUN0QjtDQUNGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBCYXNlTWVzc2FnZSxcbiAgQmFzZU1lc3NhZ2VCdWlsZGVyLFxuICBCYXNlTWVzc2FnZUJ1aWxkZXJGYWN0b3J5LFxuICBJTWVzc2FnZSxcbiAgSU1lc3NhZ2VCdWlsZGVyLFxuICBNZXNzYWdlT3B0aW9ucyxcbiAgTWVzc2FnZVN0YW5kYXJkVHlwZSxcbn0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vc3JjJztcbmltcG9ydCB7IEJhc2VDb2luIH0gZnJvbSAnQGJpdGdvLWJldGEvc3RhdGljcyc7XG5cbmV4cG9ydCBjbGFzcyBUZXN0TWVzc2FnZUJ1aWxkZXJGYWN0b3J5IGV4dGVuZHMgQmFzZU1lc3NhZ2VCdWlsZGVyRmFjdG9yeSB7XG4gIGNvbnN0cnVjdG9yKGNvaW5Db25maWc6IFJlYWRvbmx5PEJhc2VDb2luPikge1xuICAgIHN1cGVyKGNvaW5Db25maWcpO1xuICB9XG5cbiAgZ2V0TWVzc2FnZUJ1aWxkZXIodHlwZTogTWVzc2FnZVN0YW5kYXJkVHlwZSk6IElNZXNzYWdlQnVpbGRlciB7XG4gICAgcmV0dXJuIG5ldyBUZXN0TWVzc2FnZUJ1aWxkZXIodGhpcy5jb2luQ29uZmlnLCB0eXBlKTtcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgVGVzdE1lc3NhZ2VCdWlsZGVyIGV4dGVuZHMgQmFzZU1lc3NhZ2VCdWlsZGVyIHtcbiAgY29uc3RydWN0b3IoY29pbkNvbmZpZzogUmVhZG9ubHk8QmFzZUNvaW4+LCB0eXBlOiBNZXNzYWdlU3RhbmRhcmRUeXBlID0gTWVzc2FnZVN0YW5kYXJkVHlwZS5VTktOT1dOKSB7XG4gICAgc3VwZXIoY29pbkNvbmZpZywgdHlwZSk7XG4gIH1cblxuICBhc3luYyBidWlsZCgpOiBQcm9taXNlPElNZXNzYWdlPiB7XG4gICAgcmV0dXJuIG5ldyBUZXN0QmFzZU1lc3NhZ2Uoe1xuICAgICAgY29pbkNvbmZpZzogdGhpcy5jb2luQ29uZmlnLFxuICAgICAgcGF5bG9hZDogdGhpcy5wYXlsb2FkLFxuICAgICAgdHlwZTogdGhpcy50eXBlLFxuICAgICAgc2lnbmF0dXJlczogdGhpcy5zaWduYXR1cmVzLFxuICAgICAgc2lnbmVyczogdGhpcy5zaWduZXJzLFxuICAgICAgbWV0YWRhdGE6IHtcbiAgICAgICAgLi4udGhpcy5tZXRhZGF0YSxcbiAgICAgIH0sXG4gICAgfSk7XG4gIH1cblxuICBhc3luYyBmcm9tQnJvYWRjYXN0Rm9ybWF0KGJyb2FkY2FzdE1lc3NhZ2U6IGFueSk6IFByb21pc2U8SU1lc3NhZ2U+IHtcbiAgICB0aGlzLnNldFR5cGUoYnJvYWRjYXN0TWVzc2FnZS50eXBlKTtcbiAgICB0aGlzLnNldFBheWxvYWQoYnJvYWRjYXN0TWVzc2FnZS5wYXlsb2FkKTtcbiAgICB0aGlzLnNldFNpZ25hdHVyZXMoYnJvYWRjYXN0TWVzc2FnZS5zaWduYXR1cmVzIHx8IFtdKTtcbiAgICB0aGlzLnNldFNpZ25lcnMoYnJvYWRjYXN0TWVzc2FnZS5zaWduZXJzIHx8IFtdKTtcbiAgICBpZiAoYnJvYWRjYXN0TWVzc2FnZS5tZXRhZGF0YSkge1xuICAgICAgdGhpcy5zZXRNZXRhZGF0YShicm9hZGNhc3RNZXNzYWdlLm1ldGFkYXRhKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuYnVpbGQoKTtcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgVGVzdEJhc2VNZXNzYWdlIGV4dGVuZHMgQmFzZU1lc3NhZ2Uge1xuICBjb25zdHJ1Y3RvcihvcHRpb25zOiBNZXNzYWdlT3B0aW9ucykge1xuICAgIHN1cGVyKG9wdGlvbnMpO1xuICB9XG5cbiAgYXN5bmMgZ2V0U2lnbmFibGVQYXlsb2FkKCk6IFByb21pc2U8c3RyaW5nIHwgQnVmZmVyPiB7XG4gICAgaWYgKHRoaXMuc2lnbmFibGVQYXlsb2FkKSB7XG4gICAgICByZXR1cm4gdGhpcy5zaWduYWJsZVBheWxvYWQ7XG4gICAgfVxuICAgIHJldHVybiBCdWZmZXIuZnJvbSh0aGlzLnBheWxvYWQpO1xuICB9XG59XG5cbmV4cG9ydCBjb25zdCBtZXNzYWdlU2FtcGxlcyA9IHtcbiAgZWlwMTkxOiB7XG4gICAgcGF5bG9hZDogJ0hlbGxvIEJpdEdvIScsXG4gICAgdHlwZTogTWVzc2FnZVN0YW5kYXJkVHlwZS5FSVAxOTEsXG4gICAgbWV0YWRhdGE6IHsgY2hhaW5JZDogMSB9LFxuICAgIHNpZ25lcnM6IFsnMHgxMjM0NTY3ODkwYWJjZGVmMTIzNDU2Nzg5MGFiY2RlZjEyMzQ1Njc4J10sXG4gICAgc2lnbmF0dXJlczogWycweGFiY2RlZjEyMzQ1Njc4OTBhYmNkZWYxMjM0NTY3ODkwYWJjZGVmMTIzNDU2Nzg5MGFiY2RlZjEyMzQ1Njc4OTAnXSxcbiAgfSxcbiAgdW5rbm93bjoge1xuICAgIHBheWxvYWQ6ICdVbmtub3duIG1lc3NhZ2UgdHlwZScsXG4gICAgdHlwZTogTWVzc2FnZVN0YW5kYXJkVHlwZS5VTktOT1dOLFxuICAgIG1ldGFkYXRhOiB7IHZlcnNpb246ICcxLjAnIH0sXG4gICAgc2lnbmVyczogWycxMjM0NSddLFxuICAgIHNpZ25hdHVyZXM6IFsnNjc4OTAnXSxcbiAgfSxcbn07XG4iXX0=
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"messageTypes.d.ts","sourceRoot":"","sources":["../../../../../test/unit/bitgo/utils/messageTypes.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
const should = __importStar(require("should"));
|
|
37
|
+
const bitgo_1 = require("../../../../src/bitgo");
|
|
38
|
+
describe('Message Types', () => {
|
|
39
|
+
describe('MessageStandardType', () => {
|
|
40
|
+
it('should define supported message standard types', () => {
|
|
41
|
+
should.exist(bitgo_1.MessageStandardType.UNKNOWN);
|
|
42
|
+
should.exist(bitgo_1.MessageStandardType.EIP191);
|
|
43
|
+
should.equal(bitgo_1.MessageStandardType.UNKNOWN, 'UNKNOWN');
|
|
44
|
+
should.equal(bitgo_1.MessageStandardType.EIP191, 'EIP191');
|
|
45
|
+
});
|
|
46
|
+
});
|
|
47
|
+
describe('BroadcastableMessage', () => {
|
|
48
|
+
it('should validate interface structure', () => {
|
|
49
|
+
const message = {
|
|
50
|
+
type: bitgo_1.MessageStandardType.EIP191,
|
|
51
|
+
payload: 'Test payload',
|
|
52
|
+
signatures: ['signature1', 'signature2'],
|
|
53
|
+
signers: ['signer1', 'signer2'],
|
|
54
|
+
metadata: { chainId: 1 },
|
|
55
|
+
signablePayload: Buffer.from('signable payload'),
|
|
56
|
+
};
|
|
57
|
+
should.equal(message.type, bitgo_1.MessageStandardType.EIP191);
|
|
58
|
+
should.equal(message.payload, 'Test payload');
|
|
59
|
+
should.deepEqual(message.signatures, ['signature1', 'signature2']);
|
|
60
|
+
should.deepEqual(message.signers, ['signer1', 'signer2']);
|
|
61
|
+
should.deepEqual(message.metadata, { chainId: 1 });
|
|
62
|
+
should.deepEqual(message.signablePayload, Buffer.from('signable payload'));
|
|
63
|
+
});
|
|
64
|
+
it('should allow optional fields to be undefined', () => {
|
|
65
|
+
const message = {
|
|
66
|
+
type: bitgo_1.MessageStandardType.UNKNOWN,
|
|
67
|
+
payload: 'Minimal message',
|
|
68
|
+
signatures: [],
|
|
69
|
+
signers: [],
|
|
70
|
+
};
|
|
71
|
+
should.not.exist(message.metadata);
|
|
72
|
+
should.not.exist(message.signablePayload);
|
|
73
|
+
});
|
|
74
|
+
});
|
|
75
|
+
});
|
|
76
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZVR5cGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vdGVzdC91bml0L2JpdGdvL3V0aWxzL21lc3NhZ2VUeXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLCtDQUFpQztBQUNqQyxpREFBa0Y7QUFFbEYsUUFBUSxDQUFDLGVBQWUsRUFBRSxHQUFHLEVBQUU7SUFDN0IsUUFBUSxDQUFDLHFCQUFxQixFQUFFLEdBQUcsRUFBRTtRQUNuQyxFQUFFLENBQUMsZ0RBQWdELEVBQUUsR0FBRyxFQUFFO1lBQ3hELE1BQU0sQ0FBQyxLQUFLLENBQUMsMkJBQW1CLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDMUMsTUFBTSxDQUFDLEtBQUssQ0FBQywyQkFBbUIsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUV6QyxNQUFNLENBQUMsS0FBSyxDQUFDLDJCQUFtQixDQUFDLE9BQU8sRUFBRSxTQUFTLENBQUMsQ0FBQztZQUNyRCxNQUFNLENBQUMsS0FBSyxDQUFDLDJCQUFtQixDQUFDLE1BQU0sRUFBRSxRQUFRLENBQUMsQ0FBQztRQUNyRCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQyxDQUFDO0lBRUgsUUFBUSxDQUFDLHNCQUFzQixFQUFFLEdBQUcsRUFBRTtRQUNwQyxFQUFFLENBQUMscUNBQXFDLEVBQUUsR0FBRyxFQUFFO1lBQzdDLE1BQU0sT0FBTyxHQUF5QjtnQkFDcEMsSUFBSSxFQUFFLDJCQUFtQixDQUFDLE1BQU07Z0JBQ2hDLE9BQU8sRUFBRSxjQUFjO2dCQUN2QixVQUFVLEVBQUUsQ0FBQyxZQUFZLEVBQUUsWUFBWSxDQUFDO2dCQUN4QyxPQUFPLEVBQUUsQ0FBQyxTQUFTLEVBQUUsU0FBUyxDQUFDO2dCQUMvQixRQUFRLEVBQUUsRUFBRSxPQUFPLEVBQUUsQ0FBQyxFQUFFO2dCQUN4QixlQUFlLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQzthQUNqRCxDQUFDO1lBRUYsTUFBTSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLDJCQUFtQixDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ3ZELE1BQU0sQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxjQUFjLENBQUMsQ0FBQztZQUM5QyxNQUFNLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUUsQ0FBQyxZQUFZLEVBQUUsWUFBWSxDQUFDLENBQUMsQ0FBQztZQUNuRSxNQUFNLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQyxTQUFTLEVBQUUsU0FBUyxDQUFDLENBQUMsQ0FBQztZQUMxRCxNQUFNLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsRUFBRSxPQUFPLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUNuRCxNQUFNLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxlQUFlLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLENBQUM7UUFDN0UsQ0FBQyxDQUFDLENBQUM7UUFFSCxFQUFFLENBQUMsOENBQThDLEVBQUUsR0FBRyxFQUFFO1lBQ3RELE1BQU0sT0FBTyxHQUF5QjtnQkFDcEMsSUFBSSxFQUFFLDJCQUFtQixDQUFDLE9BQU87Z0JBQ2pDLE9BQU8sRUFBRSxpQkFBaUI7Z0JBQzFCLFVBQVUsRUFBRSxFQUFFO2dCQUNkLE9BQU8sRUFBRSxFQUFFO2FBQ1osQ0FBQztZQUVGLE1BQU0sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUNuQyxNQUFNLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDNUMsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgc2hvdWxkIGZyb20gJ3Nob3VsZCc7XG5pbXBvcnQgeyBNZXNzYWdlU3RhbmRhcmRUeXBlLCBCcm9hZGNhc3RhYmxlTWVzc2FnZSB9IGZyb20gJy4uLy4uLy4uLy4uL3NyYy9iaXRnbyc7XG5cbmRlc2NyaWJlKCdNZXNzYWdlIFR5cGVzJywgKCkgPT4ge1xuICBkZXNjcmliZSgnTWVzc2FnZVN0YW5kYXJkVHlwZScsICgpID0+IHtcbiAgICBpdCgnc2hvdWxkIGRlZmluZSBzdXBwb3J0ZWQgbWVzc2FnZSBzdGFuZGFyZCB0eXBlcycsICgpID0+IHtcbiAgICAgIHNob3VsZC5leGlzdChNZXNzYWdlU3RhbmRhcmRUeXBlLlVOS05PV04pO1xuICAgICAgc2hvdWxkLmV4aXN0KE1lc3NhZ2VTdGFuZGFyZFR5cGUuRUlQMTkxKTtcblxuICAgICAgc2hvdWxkLmVxdWFsKE1lc3NhZ2VTdGFuZGFyZFR5cGUuVU5LTk9XTiwgJ1VOS05PV04nKTtcbiAgICAgIHNob3VsZC5lcXVhbChNZXNzYWdlU3RhbmRhcmRUeXBlLkVJUDE5MSwgJ0VJUDE5MScpO1xuICAgIH0pO1xuICB9KTtcblxuICBkZXNjcmliZSgnQnJvYWRjYXN0YWJsZU1lc3NhZ2UnLCAoKSA9PiB7XG4gICAgaXQoJ3Nob3VsZCB2YWxpZGF0ZSBpbnRlcmZhY2Ugc3RydWN0dXJlJywgKCkgPT4ge1xuICAgICAgY29uc3QgbWVzc2FnZTogQnJvYWRjYXN0YWJsZU1lc3NhZ2UgPSB7XG4gICAgICAgIHR5cGU6IE1lc3NhZ2VTdGFuZGFyZFR5cGUuRUlQMTkxLFxuICAgICAgICBwYXlsb2FkOiAnVGVzdCBwYXlsb2FkJyxcbiAgICAgICAgc2lnbmF0dXJlczogWydzaWduYXR1cmUxJywgJ3NpZ25hdHVyZTInXSxcbiAgICAgICAgc2lnbmVyczogWydzaWduZXIxJywgJ3NpZ25lcjInXSxcbiAgICAgICAgbWV0YWRhdGE6IHsgY2hhaW5JZDogMSB9LFxuICAgICAgICBzaWduYWJsZVBheWxvYWQ6IEJ1ZmZlci5mcm9tKCdzaWduYWJsZSBwYXlsb2FkJyksXG4gICAgICB9O1xuXG4gICAgICBzaG91bGQuZXF1YWwobWVzc2FnZS50eXBlLCBNZXNzYWdlU3RhbmRhcmRUeXBlLkVJUDE5MSk7XG4gICAgICBzaG91bGQuZXF1YWwobWVzc2FnZS5wYXlsb2FkLCAnVGVzdCBwYXlsb2FkJyk7XG4gICAgICBzaG91bGQuZGVlcEVxdWFsKG1lc3NhZ2Uuc2lnbmF0dXJlcywgWydzaWduYXR1cmUxJywgJ3NpZ25hdHVyZTInXSk7XG4gICAgICBzaG91bGQuZGVlcEVxdWFsKG1lc3NhZ2Uuc2lnbmVycywgWydzaWduZXIxJywgJ3NpZ25lcjInXSk7XG4gICAgICBzaG91bGQuZGVlcEVxdWFsKG1lc3NhZ2UubWV0YWRhdGEsIHsgY2hhaW5JZDogMSB9KTtcbiAgICAgIHNob3VsZC5kZWVwRXF1YWwobWVzc2FnZS5zaWduYWJsZVBheWxvYWQsIEJ1ZmZlci5mcm9tKCdzaWduYWJsZSBwYXlsb2FkJykpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCBhbGxvdyBvcHRpb25hbCBmaWVsZHMgdG8gYmUgdW5kZWZpbmVkJywgKCkgPT4ge1xuICAgICAgY29uc3QgbWVzc2FnZTogQnJvYWRjYXN0YWJsZU1lc3NhZ2UgPSB7XG4gICAgICAgIHR5cGU6IE1lc3NhZ2VTdGFuZGFyZFR5cGUuVU5LTk9XTixcbiAgICAgICAgcGF5bG9hZDogJ01pbmltYWwgbWVzc2FnZScsXG4gICAgICAgIHNpZ25hdHVyZXM6IFtdLFxuICAgICAgICBzaWduZXJzOiBbXSxcbiAgICAgIH07XG5cbiAgICAgIHNob3VsZC5ub3QuZXhpc3QobWVzc2FnZS5tZXRhZGF0YSk7XG4gICAgICBzaG91bGQubm90LmV4aXN0KG1lc3NhZ2Uuc2lnbmFibGVQYXlsb2FkKTtcbiAgICB9KTtcbiAgfSk7XG59KTtcbiJdfQ==
|