@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.
Files changed (41) hide show
  1. package/dist/src/account-lib/baseCoin/index.d.ts +1 -0
  2. package/dist/src/account-lib/baseCoin/index.d.ts.map +1 -1
  3. package/dist/src/account-lib/baseCoin/index.js +2 -1
  4. package/dist/src/account-lib/baseCoin/messages/baseMessage.d.ts +76 -0
  5. package/dist/src/account-lib/baseCoin/messages/baseMessage.d.ts.map +1 -0
  6. package/dist/src/account-lib/baseCoin/messages/baseMessage.js +120 -0
  7. package/dist/src/account-lib/baseCoin/messages/baseMessageBuilder.d.ts +66 -0
  8. package/dist/src/account-lib/baseCoin/messages/baseMessageBuilder.d.ts.map +1 -0
  9. package/dist/src/account-lib/baseCoin/messages/baseMessageBuilder.js +96 -0
  10. package/dist/src/account-lib/baseCoin/messages/baseMessageBuilderFactory.d.ts +33 -0
  11. package/dist/src/account-lib/baseCoin/messages/baseMessageBuilderFactory.d.ts.map +1 -0
  12. package/dist/src/account-lib/baseCoin/messages/baseMessageBuilderFactory.js +34 -0
  13. package/dist/src/account-lib/baseCoin/messages/iface.d.ts +156 -0
  14. package/dist/src/account-lib/baseCoin/messages/iface.d.ts.map +1 -0
  15. package/dist/src/account-lib/baseCoin/messages/iface.js +3 -0
  16. package/dist/src/account-lib/baseCoin/messages/index.d.ts +5 -0
  17. package/dist/src/account-lib/baseCoin/messages/index.d.ts.map +1 -0
  18. package/dist/src/account-lib/baseCoin/messages/index.js +21 -0
  19. package/dist/src/bitgo/utils/index.d.ts +1 -0
  20. package/dist/src/bitgo/utils/index.d.ts.map +1 -1
  21. package/dist/src/bitgo/utils/index.js +2 -1
  22. package/dist/src/bitgo/utils/messageTypes.d.ts +34 -0
  23. package/dist/src/bitgo/utils/messageTypes.d.ts.map +1 -0
  24. package/dist/src/bitgo/utils/messageTypes.js +12 -0
  25. package/dist/test/unit/account-lib/baseCoin/messages/baseMessage.d.ts +2 -0
  26. package/dist/test/unit/account-lib/baseCoin/messages/baseMessage.d.ts.map +1 -0
  27. package/dist/test/unit/account-lib/baseCoin/messages/baseMessage.js +204 -0
  28. package/dist/test/unit/account-lib/baseCoin/messages/baseMessageBuilder.d.ts +2 -0
  29. package/dist/test/unit/account-lib/baseCoin/messages/baseMessageBuilder.d.ts.map +1 -0
  30. package/dist/test/unit/account-lib/baseCoin/messages/baseMessageBuilder.js +130 -0
  31. package/dist/test/unit/account-lib/baseCoin/messages/baseMessageBuilderFactory.d.ts +2 -0
  32. package/dist/test/unit/account-lib/baseCoin/messages/baseMessageBuilderFactory.d.ts.map +1 -0
  33. package/dist/test/unit/account-lib/baseCoin/messages/baseMessageBuilderFactory.js +86 -0
  34. package/dist/test/unit/account-lib/baseCoin/messages/fixtures.d.ts +36 -0
  35. package/dist/test/unit/account-lib/baseCoin/messages/fixtures.d.ts.map +1 -0
  36. package/dist/test/unit/account-lib/baseCoin/messages/fixtures.js +70 -0
  37. package/dist/test/unit/bitgo/utils/messageTypes.d.ts +2 -0
  38. package/dist/test/unit/bitgo/utils/messageTypes.d.ts.map +1 -0
  39. package/dist/test/unit/bitgo/utils/messageTypes.js +76 -0
  40. package/dist/tsconfig.tsbuildinfo +1 -1
  41. 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,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,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==