@bitgo-beta/abstract-eth 1.2.3-alpha.331 → 1.2.3-alpha.333
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/lib/index.d.ts +1 -0
- package/dist/src/lib/index.d.ts.map +1 -1
- package/dist/src/lib/index.js +2 -1
- package/dist/src/lib/messages/eip191/eip191Message.d.ts +12 -0
- package/dist/src/lib/messages/eip191/eip191Message.d.ts.map +1 -0
- package/dist/src/lib/messages/eip191/eip191Message.js +27 -0
- package/dist/src/lib/messages/eip191/eip191MessageBuilder.d.ts +25 -0
- package/dist/src/lib/messages/eip191/eip191MessageBuilder.d.ts.map +1 -0
- package/dist/src/lib/messages/eip191/eip191MessageBuilder.js +68 -0
- package/dist/src/lib/messages/eip191/index.d.ts +3 -0
- package/dist/src/lib/messages/eip191/index.d.ts.map +1 -0
- package/dist/src/lib/messages/eip191/index.js +19 -0
- package/dist/src/lib/messages/index.d.ts +3 -0
- package/dist/src/lib/messages/index.d.ts.map +1 -0
- package/dist/src/lib/messages/index.js +19 -0
- package/dist/src/lib/messages/messageBuilderFactory.d.ts +7 -0
- package/dist/src/lib/messages/messageBuilderFactory.d.ts.map +1 -0
- package/dist/src/lib/messages/messageBuilderFactory.js +20 -0
- package/dist/test/unit/index.d.ts +1 -0
- package/dist/test/unit/index.d.ts.map +1 -1
- package/dist/test/unit/index.js +2 -1
- package/dist/test/unit/messages/eip191/eip191Message.d.ts +2 -0
- package/dist/test/unit/messages/eip191/eip191Message.d.ts.map +1 -0
- package/dist/test/unit/messages/eip191/eip191Message.js +148 -0
- package/dist/test/unit/messages/eip191/eip191MessageBuilder.d.ts +2 -0
- package/dist/test/unit/messages/eip191/eip191MessageBuilder.d.ts.map +1 -0
- package/dist/test/unit/messages/eip191/eip191MessageBuilder.js +95 -0
- package/dist/test/unit/messages/fixtures.d.ts +19 -0
- package/dist/test/unit/messages/fixtures.d.ts.map +1 -0
- package/dist/test/unit/messages/fixtures.js +25 -0
- package/dist/test/unit/messages/index.d.ts +4 -0
- package/dist/test/unit/messages/index.d.ts.map +1 -0
- package/dist/test/unit/messages/index.js +20 -0
- package/dist/test/unit/messages/messageBuilderFactory.d.ts +2 -0
- package/dist/test/unit/messages/messageBuilderFactory.d.ts.map +1 -0
- package/dist/test/unit/messages/messageBuilderFactory.js +44 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +7 -7
|
@@ -0,0 +1,95 @@
|
|
|
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-beta/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
|
+
signatures: [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
|
+
signatures: [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
|
+
});
|
|
95
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWlwMTkxTWVzc2FnZUJ1aWxkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi90ZXN0L3VuaXQvbWVzc2FnZXMvZWlwMTkxL2VpcDE5MU1lc3NhZ2VCdWlsZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsa0JBQWdCO0FBQ2hCLGtEQUEwQjtBQUMxQixtREFBMkQ7QUFDM0QsMENBQXVDO0FBQ3ZDLHlDQUFzRTtBQUV0RSxRQUFRLENBQUMsd0JBQXdCLEVBQUUsR0FBRyxFQUFFO0lBQ3RDLE1BQU0sT0FBTyxHQUFHLGVBQUssQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUV0QyxTQUFTLENBQUMsR0FBRyxFQUFFO1FBQ2IsT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ3BCLENBQUMsQ0FBQyxDQUFDO0lBRUgsUUFBUSxDQUFDLGFBQWEsRUFBRSxHQUFHLEVBQUU7UUFDM0IsRUFBRSxDQUFDLGlEQUFpRCxFQUFFLEdBQUcsRUFBRTtZQUN6RCxNQUFNLE9BQU8sR0FBRyxJQUFJLDBCQUFvQixDQUFDLG1CQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDeEQsaUVBQWlFO1lBQ2pFLE9BQU8sQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQywwQkFBb0IsQ0FBQyxDQUFDO1FBQ3JELENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDLENBQUM7SUFFSCxRQUFRLENBQUMsY0FBYyxFQUFFLEdBQUcsRUFBRTtRQUM1QixFQUFFLENBQUMscUNBQXFDLEVBQUUsS0FBSyxJQUFJLEVBQUU7WUFDbkQsTUFBTSxPQUFPLEdBQUcsSUFBSSwwQkFBb0IsQ0FBQyxtQkFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBRXhELE9BQU8sQ0FBQyxVQUFVLENBQUMsbUJBQVEsQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLENBQUMsV0FBVyxDQUFDLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxDQUFDLENBQUM7WUFF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dCBzaW5vbiBmcm9tICdzaW5vbic7XG5pbXBvcnQgeyBNZXNzYWdlU3RhbmRhcmRUeXBlIH0gZnJvbSAnQGJpdGdvLWJldGEvc2RrLWNvcmUnO1xuaW1wb3J0IHsgZml4dHVyZXMgfSBmcm9tICcuLi9maXh0dXJlcyc7XG5pbXBvcnQgeyBFSVAxOTFNZXNzYWdlLCBFaXAxOTFNZXNzYWdlQnVpbGRlciB9IGZyb20gJy4uLy4uLy4uLy4uL3NyYyc7XG5cbmRlc2NyaWJlKCdFSVAxOTEgTWVzc2FnZSBCdWlsZGVyJywgKCkgPT4ge1xuICBjb25zdCBzYW5kYm94ID0gc2lub24uY3JlYXRlU2FuZGJveCgpO1xuXG4gIGFmdGVyRWFjaCgoKSA9PiB7XG4gICAgc2FuZGJveC5yZXN0b3JlKCk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCdjb25zdHJ1Y3RvcicsICgpID0+IHtcbiAgICBpdCgnc2hvdWxkIGluaXRpYWxpemUgd2l0aCB0aGUgY29ycmVjdCBtZXNzYWdlIHR5cGUnLCAoKSA9PiB7XG4gICAgICBjb25zdCBidWlsZGVyID0gbmV3IEVpcDE5MU1lc3NhZ2VCdWlsZGVyKGZpeHR1cmVzLmNvaW4pO1xuICAgICAgLy8gVGVzdCB0aGUgYnVpbGRlcidzIHByaXZhdGUgcHJvcGVydHkgaW5kaXJlY3RseSB0aHJvdWdoIGJ1aWxkKClcbiAgICAgIGJ1aWxkZXIuc2hvdWxkLmJlLmluc3RhbmNlb2YoRWlwMTkxTWVzc2FnZUJ1aWxkZXIpO1xuICAgIH0pO1xuICB9KTtcblxuICBkZXNjcmliZSgnYnVpbGQgbWV0aG9kJywgKCkgPT4ge1xuICAgIGl0KCdzaG91bGQgYnVpbGQgYSB2YWxpZCBFSVAxOTEgbWVzc2FnZScsIGFzeW5jICgpID0+IHtcbiAgICAgIGNvbnN0IGJ1aWxkZXIgPSBuZXcgRWlwMTkxTWVzc2FnZUJ1aWxkZXIoZml4dHVyZXMuY29pbik7XG5cbiAgICAgIGJ1aWxkZXIuc2V0UGF5bG9hZChmaXh0dXJlcy5tZXNzYWdlcy52YWxpZE1lc3NhZ2UpLnNldE1ldGFkYXRhKHsgY3VzdG9tRGF0YTogJ3Rlc3QgZGF0YScgfSk7XG5cbiAgICAgIGNvbnN0IG1lc3NhZ2UgPSBhd2FpdCBidWlsZGVyLmJ1aWxkKCk7XG5cbiAgICAgIG1lc3NhZ2Uuc2hvdWxkLmJlLmluc3RhbmNlb2YoRUlQMTkxTWVzc2FnZSk7XG4gICAgICBtZXNzYWdlLmdldFR5cGUoKS5zaG91bGQuZXF1YWwoTWVzc2FnZVN0YW5kYXJkVHlwZS5FSVAxOTEpO1xuICAgICAgbWVzc2FnZS5nZXRQYXlsb2FkKCkuc2hvdWxkLmVxdWFsKGZpeHR1cmVzLm1lc3NhZ2VzLnZhbGlkTWVzc2FnZSk7XG4gICAgICBtZXNzYWdlLmdldE1ldGFkYXRhKCkhLnNob3VsZC5oYXZlLnByb3BlcnR5KCdjdXN0b21EYXRhJywgJ3Rlc3QgZGF0YScpO1xuICAgICAgbWVzc2FnZS5nZXRNZXRhZGF0YSgpIS5zaG91bGQuaGF2ZS5wcm9wZXJ0eSgnZW5jb2RpbmcnLCAndXRmOCcpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCB0aHJvdyBhbiBlcnJvciB3aGVuIGJ1aWxkaW5nIHdpdGhvdXQgc2V0dGluZyBwYXlsb2FkJywgYXN5bmMgKCkgPT4ge1xuICAgICAgY29uc3QgYnVpbGRlciA9IG5ldyBFaXAxOTFNZXNzYWdlQnVpbGRlcihmaXh0dXJlcy5jb2luKTtcblxuICAgICAgYXdhaXQgYnVpbGRlci5idWlsZCgpLnNob3VsZC5iZS5yZWplY3RlZFdpdGgoJ01lc3NhZ2UgcGF5bG9hZCBtdXN0IGJlIHNldCBiZWZvcmUgYnVpbGRpbmcgdGhlIG1lc3NhZ2UnKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgaW5jbHVkZSBzaWduZXJzIHdoZW4gYnVpbGRpbmcgYSBtZXNzYWdlJywgYXN5bmMgKCkgPT4ge1xuICAgICAgY29uc3QgYnVpbGRlciA9IG5ldyBFaXAxOTFNZXNzYWdlQnVpbGRlcihmaXh0dXJlcy5jb2luKTtcblxuICAgICAgYnVpbGRlci5zZXRQYXlsb2FkKGZpeHR1cmVzLm1lc3NhZ2VzLnZhbGlkTWVzc2FnZSk7XG4gICAgICBidWlsZGVyLmFkZFNpZ25lcihmaXh0dXJlcy5laXAxOTEuc2lnbmVyKTtcblxuICAgICAgY29uc3QgbWVzc2FnZSA9IGF3YWl0IGJ1aWxkZXIuYnVpbGQoKTtcblxuICAgICAgbWVzc2FnZS5nZXRTaWduZXJzKCkuc2hvdWxkLmNvbnRhaW5FcWwoZml4dHVyZXMuZWlwMTkxLnNpZ25lcik7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIGluY2x1ZGUgc2lnbmF0dXJlcyB3aGVuIGJ1aWxkaW5nIGEgbWVzc2FnZScsIGFzeW5jICgpID0+IHtcbiAgICAgIGNvbnN0IGJ1aWxkZXIgPSBuZXcgRWlwMTkxTWVzc2FnZUJ1aWxkZXIoZml4dHVyZXMuY29pbik7XG5cbiAgICAgIGJ1aWxkZXIuc2V0UGF5bG9hZChmaXh0dXJlcy5tZXNzYWdlcy52YWxpZE1lc3NhZ2UpO1xuICAgICAgYnVpbGRlci5hZGRTaWduYXR1cmUoZml4dHVyZXMuZWlwMTkxLnNpZ25hdHVyZSk7XG5cbiAgICAgIGNvbnN0IG1lc3NhZ2UgPSBhd2FpdCBidWlsZGVyLmJ1aWxkKCk7XG5cbiAgICAgIG1lc3NhZ2UuZ2V0U2lnbmF0dXJlcygpLnNob3VsZC5jb250YWluRXFsKGZpeHR1cmVzLmVpcDE5MS5zaWduYXR1cmUpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCBvdmVycmlkZSBtZXRhZGF0YS5lbmNvZGluZyB3aXRoIHV0ZjgnLCBhc3luYyAoKSA9PiB7XG4gICAgICBjb25zdCBidWlsZGVyID0gbmV3IEVpcDE5MU1lc3NhZ2VCdWlsZGVyKGZpeHR1cmVzLmNvaW4pO1xuXG4gICAgICBidWlsZGVyLnNldFBheWxvYWQoZml4dHVyZXMubWVzc2FnZXMudmFsaWRNZXNzYWdlKTtcbiAgICAgIGJ1aWxkZXIuc2V0TWV0YWRhdGEoeyBlbmNvZGluZzogJ2hleCcsIGN1c3RvbURhdGE6ICd0ZXN0IGRhdGEnIH0pO1xuXG4gICAgICBjb25zdCBtZXNzYWdlID0gYXdhaXQgYnVpbGRlci5idWlsZCgpO1xuXG4gICAgICBtZXNzYWdlLmdldE1ldGFkYXRhKCkhLnNob3VsZC5oYXZlLnByb3BlcnR5KCdlbmNvZGluZycsICd1dGY4Jyk7XG4gICAgICBtZXNzYWdlLmdldE1ldGFkYXRhKCkhLnNob3VsZC5oYXZlLnByb3BlcnR5KCdjdXN0b21EYXRhJywgJ3Rlc3QgZGF0YScpO1xuICAgIH0pO1xuICB9KTtcblxuICBkZXNjcmliZSgnZnJvbUJyb2FkY2FzdEZvcm1hdCBtZXRob2QnLCAoKSA9PiB7XG4gICAgaXQoJ3Nob3VsZCByZWNvbnN0cnVjdCBhIG1lc3NhZ2UgZnJvbSBicm9hZGNhc3QgZm9ybWF0JywgYXN5bmMgKCkgPT4ge1xuICAgICAgY29uc3QgYnVpbGRlciA9IG5ldyBFaXAxOTFNZXNzYWdlQnVpbGRlcihmaXh0dXJlcy5jb2luKTtcblxuICAgICAgY29uc3QgYnJvYWRjYXN0TWVzc2FnZSA9IHtcbiAgICAgICAgdHlwZTogTWVzc2FnZVN0YW5kYXJkVHlwZS5FSVAxOTEsXG4gICAgICAgIHBheWxvYWQ6IGZpeHR1cmVzLm1lc3NhZ2VzLnZhbGlkTWVzc2FnZSxcbiAgICAgICAgc2lnbmF0dXJlczogW2ZpeHR1cmVzLmVpcDE5MS5zaWduYXR1cmVdLFxuICAgICAgICBzaWduZXJzOiBbZml4dHVyZXMuZWlwMTkxLnNpZ25lcl0sXG4gICAgICAgIG1ldGFkYXRhOiBmaXh0dXJlcy5laXAxOTEubWV0YWRhdGEsXG4gICAgICB9O1xuXG4gICAgICBjb25zdCBtZXNzYWdlID0gYXdhaXQgYnVpbGRlci5mcm9tQnJvYWRjYXN0Rm9ybWF0KGJyb2FkY2FzdE1lc3NhZ2UpO1xuXG4gICAgICBtZXNzYWdlLnNob3VsZC5iZS5pbnN0YW5jZW9mKEVJUDE5MU1lc3NhZ2UpO1xuICAgICAgbWVzc2FnZS5nZXRUeXBlKCkuc2hvdWxkLmVxdWFsKE1lc3NhZ2VTdGFuZGFyZFR5cGUuRUlQMTkxKTtcbiAgICAgIG1lc3NhZ2UuZ2V0UGF5bG9hZCgpLnNob3VsZC5lcXVhbChmaXh0dXJlcy5tZXNzYWdlcy52YWxpZE1lc3NhZ2UpO1xuICAgICAgbWVzc2FnZS5nZXRTaWduYXR1cmVzKCkuc2hvdWxkLmNvbnRhaW5FcWwoZml4dHVyZXMuZWlwMTkxLnNpZ25hdHVyZSk7XG4gICAgICBtZXNzYWdlLmdldFNpZ25lcnMoKS5zaG91bGQuY29udGFpbkVxbChmaXh0dXJlcy5laXAxOTEuc2lnbmVyKTtcbiAgICAgIG1lc3NhZ2UuZ2V0TWV0YWRhdGEoKSEuc2hvdWxkLmhhdmUucHJvcGVydHkoJ2VuY29kaW5nJywgJ3V0ZjgnKTtcbiAgICAgIG1lc3NhZ2UuZ2V0TWV0YWRhdGEoKSEuc2hvdWxkLmhhdmUucHJvcGVydHkoJ2N1c3RvbURhdGEnLCAndGVzdCBkYXRhJyk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIHRocm93IGFuIGVycm9yIGZvciBpbmNvcnJlY3QgbWVzc2FnZSB0eXBlJywgYXN5bmMgKCkgPT4ge1xuICAgICAgY29uc3QgYnVpbGRlciA9IG5ldyBFaXAxOTFNZXNzYWdlQnVpbGRlcihmaXh0dXJlcy5jb2luKTtcblxuICAgICAgY29uc3QgYnJvYWRjYXN0TWVzc2FnZSA9IHtcbiAgICAgICAgdHlwZTogTWVzc2FnZVN0YW5kYXJkVHlwZS5VTktOT1dOLFxuICAgICAgICBwYXlsb2FkOiBmaXh0dXJlcy5tZXNzYWdlcy52YWxpZE1lc3NhZ2UsXG4gICAgICAgIHNpZ25hdHVyZXM6IFtmaXh0dXJlcy5laXAxOTEuc2lnbmF0dXJlXSxcbiAgICAgICAgc2lnbmVyczogW2ZpeHR1cmVzLmVpcDE5MS5zaWduZXJdLFxuICAgICAgICBtZXRhZGF0YToge30sXG4gICAgICB9O1xuXG4gICAgICBhd2FpdCBidWlsZGVyXG4gICAgICAgIC5mcm9tQnJvYWRjYXN0Rm9ybWF0KGJyb2FkY2FzdE1lc3NhZ2UpXG4gICAgICAgIC5zaG91bGQuYmUucmVqZWN0ZWRXaXRoKGBJbnZhbGlkIG1lc3NhZ2UgdHlwZSwgZXhwZWN0ZWQgJHtNZXNzYWdlU3RhbmRhcmRUeXBlLkVJUDE5MX1gKTtcbiAgICB9KTtcbiAgfSk7XG59KTtcbiJdfQ==
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
export declare const fixtures: {
|
|
2
|
+
coin: Readonly<import("@bitgo-beta/statics").BaseCoin>;
|
|
3
|
+
messages: {
|
|
4
|
+
validMessage: string;
|
|
5
|
+
emptyMessage: string;
|
|
6
|
+
specialCharsMessage: string;
|
|
7
|
+
longMessage: string;
|
|
8
|
+
};
|
|
9
|
+
eip191: {
|
|
10
|
+
validSignablePayload: string;
|
|
11
|
+
signature: string;
|
|
12
|
+
signer: string;
|
|
13
|
+
metadata: {
|
|
14
|
+
encoding: string;
|
|
15
|
+
customData: string;
|
|
16
|
+
};
|
|
17
|
+
};
|
|
18
|
+
};
|
|
19
|
+
//# sourceMappingURL=fixtures.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fixtures.d.ts","sourceRoot":"","sources":["../../../../test/unit/messages/fixtures.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;CAoBpB,CAAC"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.fixtures = void 0;
|
|
4
|
+
const statics_1 = require("@bitgo-beta/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: '0x5d99b6f7f6d1f73d1a26497f2b1c89b24c0993913f86e9a2d02cd69887d9c94f3c880358579d811b21dd1b7fd9bb01c1d81d10e69f0384e675c32b39643be8921b',
|
|
18
|
+
signer: '0x7E5F4552091A69125d5DfCb7b8C2659029395Bdf',
|
|
19
|
+
metadata: {
|
|
20
|
+
encoding: 'utf8',
|
|
21
|
+
customData: 'test data',
|
|
22
|
+
},
|
|
23
|
+
},
|
|
24
|
+
};
|
|
25
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZml4dHVyZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi90ZXN0L3VuaXQvbWVzc2FnZXMvZml4dHVyZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsaURBQTRDO0FBRTVDLDBDQUEwQztBQUM3QixRQUFBLFFBQVEsR0FBRztJQUN0QixJQUFJLEVBQUUsZUFBSyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUM7SUFDdkIsUUFBUSxFQUFFO1FBQ1IsWUFBWSxFQUFFLGVBQWU7UUFDN0IsWUFBWSxFQUFFLEVBQUU7UUFDaEIsbUJBQW1CLEVBQUUsWUFBWTtRQUNqQyxXQUFXLEVBQ1QsbUZBQW1GO1lBQ25GLGdGQUFnRjtLQUNuRjtJQUNELE1BQU0sRUFBRTtRQUNOLG9CQUFvQixFQUFFLGtGQUFrRjtRQUN4RyxTQUFTLEVBQ1Asc0lBQXNJO1FBQ3hJLE1BQU0sRUFBRSw0Q0FBNEM7UUFDcEQsUUFBUSxFQUFFO1lBQ1IsUUFBUSxFQUFFLE1BQU07WUFDaEIsVUFBVSxFQUFFLFdBQVc7U0FDeEI7S0FDRjtDQUNGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjb2lucyB9IGZyb20gJ0BiaXRnby1iZXRhL3N0YXRpY3MnO1xuXG4vLyBUZXN0IGZpeHR1cmVzIGZvciBFSVAtMTkxIG1lc3NhZ2UgdGVzdHNcbmV4cG9ydCBjb25zdCBmaXh0dXJlcyA9IHtcbiAgY29pbjogY29pbnMuZ2V0KCd0ZXRoJyksXG4gIG1lc3NhZ2VzOiB7XG4gICAgdmFsaWRNZXNzYWdlOiAnSGVsbG8sIHdvcmxkIScsXG4gICAgZW1wdHlNZXNzYWdlOiAnJyxcbiAgICBzcGVjaWFsQ2hhcnNNZXNzYWdlOiAnIUAjJCVeJiooKScsXG4gICAgbG9uZ01lc3NhZ2U6XG4gICAgICAnVGhpcyBpcyBhIHZlcnkgbG9uZyBtZXNzYWdlIHRoYXQgY29udGFpbnMgbXVsdGlwbGUgbGluZXMgYW5kIHNwZWNpYWwgY2hhcmFjdGVycy4gJyArXG4gICAgICAnSXQgaXMgZGVzaWduZWQgdG8gdGVzdCB0aGUgRUlQLTE5MSBtZXNzYWdlIGZvcm1hdCB3aXRoIGEgbW9yZSBjb21wbGV4IHBheWxvYWQuJyxcbiAgfSxcbiAgZWlwMTkxOiB7XG4gICAgdmFsaWRTaWduYWJsZVBheWxvYWQ6ICcweDE5NDU3NDY4NjU3MjY1NzU2ZDIwNTM2OTY3NmU2NTY0MjA0ZDY1NzM3MzYxNjc2NTNhMGQ0ODY1NmM2YzZmMmMyMDc3NmY3MjZjNjQyMScsXG4gICAgc2lnbmF0dXJlOlxuICAgICAgJzB4NWQ5OWI2ZjdmNmQxZjczZDFhMjY0OTdmMmIxYzg5YjI0YzA5OTM5MTNmODZlOWEyZDAyY2Q2OTg4N2Q5Yzk0ZjNjODgwMzU4NTc5ZDgxMWIyMWRkMWI3ZmQ5YmIwMWMxZDgxZDEwZTY5ZjAzODRlNjc1YzMyYjM5NjQzYmU4OTIxYicsXG4gICAgc2lnbmVyOiAnMHg3RTVGNDU1MjA5MUE2OTEyNWQ1RGZDYjdiOEMyNjU5MDI5Mzk1QmRmJyxcbiAgICBtZXRhZGF0YToge1xuICAgICAgZW5jb2Rpbmc6ICd1dGY4JyxcbiAgICAgIGN1c3RvbURhdGE6ICd0ZXN0IGRhdGEnLFxuICAgIH0sXG4gIH0sXG59O1xuIl19
|
|
@@ -0,0 +1 @@
|
|
|
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"}
|
|
@@ -0,0 +1,20 @@
|
|
|
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=
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"messageBuilderFactory.d.ts","sourceRoot":"","sources":["../../../../test/unit/messages/messageBuilderFactory.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,CAAC"}
|
|
@@ -0,0 +1,44 @@
|
|
|
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-beta/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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZUJ1aWxkZXJGYWN0b3J5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vdGVzdC91bml0L21lc3NhZ2VzL21lc3NhZ2VCdWlsZGVyRmFjdG9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLGtCQUFnQjtBQUNoQixrREFBMEI7QUFDMUIsbURBQTJEO0FBQzNELHlDQUFzQztBQUN0QyxzQ0FBMkU7QUFFM0UsUUFBUSxDQUFDLHlCQUF5QixFQUFFLEdBQUcsRUFBRTtJQUN2QyxNQUFNLE9BQU8sR0FBRyxlQUFLLENBQUMsYUFBYSxFQUFFLENBQUM7SUFFdEMsU0FBUyxDQUFDLEdBQUcsRUFBRTtRQUNiLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUNwQixDQUFDLENBQUMsQ0FBQztJQUVILFFBQVEsQ0FBQyxtQkFBbUIsRUFBRSxHQUFHLEVBQUU7UUFDakMsRUFBRSxDQUFDLDJEQUEyRCxFQUFFLEdBQUcsRUFBRTtZQUNuRSxNQUFNLE9BQU8sR0FBRyxJQUFJLDJCQUFxQixDQUFDLG1CQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7WUFFekQsTUFBTSxPQUFPLEdBQUcsT0FBTyxDQUFDLGlCQUFpQixDQUFDLDhCQUFtQixDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBRXRFLE9BQU8sQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQywwQkFBb0IsQ0FBQyxDQUFDO1FBQ3JELENBQUMsQ0FBQyxDQUFDO1FBRUgsRUFBRSxDQUFDLHFEQUFxRCxFQUFFLEdBQUcsRUFBRTtZQUM3RCxNQUFNLE9BQU8sR0FBRyxJQUFJLDJCQUFxQixDQUFDLG1CQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7WUFFekQsZ0RBQWdEO1lBQ2hELE1BQU0sZUFBZSxHQUFHLGtCQUF5QyxDQUFDO1lBRWxFLENBQUMsR0FBRyxFQUFFLENBQUMsT0FBTyxDQUFDLGlCQUFpQixDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQywwQkFBMEIsQ0FBQyxDQUFDO1FBQzlGLENBQUMsQ0FBQyxDQUFDO1FBRUgsRUFBRSxDQUFDLDJDQUEyQyxFQUFFLEdBQUcsRUFBRTtZQUNuRCxNQUFNLE9BQU8sR0FBRyxJQUFJLDJCQUFxQixDQUFDLG1CQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7WUFFekQsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxPQUFPLENBQUMsaUJBQWlCLENBQUMsOEJBQW1CLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUN6RSw0QkFBNEIsOEJBQW1CLENBQUMsT0FBTyxFQUFFLENBQzFELENBQUM7UUFDSixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQyxDQUFDO0lBRUgsUUFBUSxDQUFDLDBCQUEwQixFQUFFLEdBQUcsRUFBRTtRQUN4QyxFQUFFLENBQUMsd0RBQXdELEVBQUUsS0FBSyxJQUFJLEVBQUU7WUFDdEUsTUFBTSxPQUFPLEdBQUcsSUFBSSwyQkFBcUIsQ0FBQyxtQkFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBRXpELE1BQU0sT0FBTyxHQUFHLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQyw4QkFBbUIsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUN0RSxPQUFPLENBQUMsVUFBVSxDQUFDLG1CQUFRLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxDQUFDO1lBRW5ELE1BQU0sT0FBTyxHQUFHLE1BQU0sT0FBTyxDQUFDLEtBQUssRUFBRSxDQUFDO1lBRXRDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLDhCQUFtQixDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQzNELE9BQU8sQ0FBQyxVQUFVLEVBQUUsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLG1CQUFRLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ3BFLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAnc2hvdWxkJztcbmltcG9ydCBzaW5vbiBmcm9tICdzaW5vbic7XG5pbXBvcnQgeyBNZXNzYWdlU3RhbmRhcmRUeXBlIH0gZnJvbSAnQGJpdGdvLWJldGEvc2RrLWNvcmUnO1xuaW1wb3J0IHsgZml4dHVyZXMgfSBmcm9tICcuL2ZpeHR1cmVzJztcbmltcG9ydCB7IEVpcDE5MU1lc3NhZ2VCdWlsZGVyLCBNZXNzYWdlQnVpbGRlckZhY3RvcnkgfSBmcm9tICcuLi8uLi8uLi9zcmMnO1xuXG5kZXNjcmliZSgnTWVzc2FnZSBCdWlsZGVyIEZhY3RvcnknLCAoKSA9PiB7XG4gIGNvbnN0IHNhbmRib3ggPSBzaW5vbi5jcmVhdGVTYW5kYm94KCk7XG5cbiAgYWZ0ZXJFYWNoKCgpID0+IHtcbiAgICBzYW5kYm94LnJlc3RvcmUoKTtcbiAgfSk7XG5cbiAgZGVzY3JpYmUoJ2dldE1lc3NhZ2VCdWlsZGVyJywgKCkgPT4ge1xuICAgIGl0KCdzaG91bGQgcmV0dXJuIHRoZSBjb3JyZWN0IGJ1aWxkZXIgZm9yIEVJUDE5MSBtZXNzYWdlIHR5cGUnLCAoKSA9PiB7XG4gICAgICBjb25zdCBmYWN0b3J5ID0gbmV3IE1lc3NhZ2VCdWlsZGVyRmFjdG9yeShmaXh0dXJlcy5jb2luKTtcblxuICAgICAgY29uc3QgYnVpbGRlciA9IGZhY3RvcnkuZ2V0TWVzc2FnZUJ1aWxkZXIoTWVzc2FnZVN0YW5kYXJkVHlwZS5FSVAxOTEpO1xuXG4gICAgICBidWlsZGVyLnNob3VsZC5iZS5pbnN0YW5jZW9mKEVpcDE5MU1lc3NhZ2VCdWlsZGVyKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgdGhyb3cgYW4gZXJyb3IgZm9yIHVuc3VwcG9ydGVkIG1lc3NhZ2UgdHlwZXMnLCAoKSA9PiB7XG4gICAgICBjb25zdCBmYWN0b3J5ID0gbmV3IE1lc3NhZ2VCdWlsZGVyRmFjdG9yeShmaXh0dXJlcy5jb2luKTtcblxuICAgICAgLy8gVGVzdCB3aXRoIGFuIGludmFsaWQvdW5zdXBwb3J0ZWQgbWVzc2FnZSB0eXBlXG4gICAgICBjb25zdCB1bnN1cHBvcnRlZFR5cGUgPSAnVU5TVVBQT1JURURfVFlQRScgYXMgTWVzc2FnZVN0YW5kYXJkVHlwZTtcblxuICAgICAgKCgpID0+IGZhY3RvcnkuZ2V0TWVzc2FnZUJ1aWxkZXIodW5zdXBwb3J0ZWRUeXBlKSkuc2hvdWxkLnRocm93KC9JbnZhbGlkIG1lc3NhZ2Ugc3RhbmRhcmQvKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgdGhyb3cgZm9yIHVua25vd24gbWVzc2FnZSBzdGFuZGFyZCcsICgpID0+IHtcbiAgICAgIGNvbnN0IGZhY3RvcnkgPSBuZXcgTWVzc2FnZUJ1aWxkZXJGYWN0b3J5KGZpeHR1cmVzLmNvaW4pO1xuXG4gICAgICAoKCkgPT4gZmFjdG9yeS5nZXRNZXNzYWdlQnVpbGRlcihNZXNzYWdlU3RhbmRhcmRUeXBlLlVOS05PV04pKS5zaG91bGQudGhyb3coXG4gICAgICAgIGBJbnZhbGlkIG1lc3NhZ2Ugc3RhbmRhcmQgJHtNZXNzYWdlU3RhbmRhcmRUeXBlLlVOS05PV059YFxuICAgICAgKTtcbiAgICB9KTtcbiAgfSk7XG5cbiAgZGVzY3JpYmUoJ0ludGVncmF0aW9uIHdpdGggYnVpbGRlcicsICgpID0+IHtcbiAgICBpdCgnc2hvdWxkIGNyZWF0ZSBhIGJ1aWxkZXIgdGhhdCBjYW4gYnVpbGQgYSB2YWxpZCBtZXNzYWdlJywgYXN5bmMgKCkgPT4ge1xuICAgICAgY29uc3QgZmFjdG9yeSA9IG5ldyBNZXNzYWdlQnVpbGRlckZhY3RvcnkoZml4dHVyZXMuY29pbik7XG5cbiAgICAgIGNvbnN0IGJ1aWxkZXIgPSBmYWN0b3J5LmdldE1lc3NhZ2VCdWlsZGVyKE1lc3NhZ2VTdGFuZGFyZFR5cGUuRUlQMTkxKTtcbiAgICAgIGJ1aWxkZXIuc2V0UGF5bG9hZChmaXh0dXJlcy5tZXNzYWdlcy52YWxpZE1lc3NhZ2UpO1xuXG4gICAgICBjb25zdCBtZXNzYWdlID0gYXdhaXQgYnVpbGRlci5idWlsZCgpO1xuXG4gICAgICBtZXNzYWdlLmdldFR5cGUoKS5zaG91bGQuZXF1YWwoTWVzc2FnZVN0YW5kYXJkVHlwZS5FSVAxOTEpO1xuICAgICAgbWVzc2FnZS5nZXRQYXlsb2FkKCkuc2hvdWxkLmVxdWFsKGZpeHR1cmVzLm1lc3NhZ2VzLnZhbGlkTWVzc2FnZSk7XG4gICAgfSk7XG4gIH0pO1xufSk7XG4iXX0=
|