@bitgo-beta/abstract-eth 1.2.3-alpha.383 → 1.2.3-alpha.385

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 (43) hide show
  1. package/dist/src/lib/messages/eip712/eip712Message.d.ts +6 -0
  2. package/dist/src/lib/messages/eip712/eip712Message.d.ts.map +1 -0
  3. package/dist/src/lib/messages/eip712/eip712Message.js +27 -0
  4. package/dist/src/lib/messages/eip712/eip712MessageBuilder.d.ts +7 -0
  5. package/dist/src/lib/messages/eip712/eip712MessageBuilder.d.ts.map +1 -0
  6. package/dist/src/lib/messages/eip712/eip712MessageBuilder.js +15 -0
  7. package/dist/src/lib/messages/eip712/index.d.ts +3 -0
  8. package/dist/src/lib/messages/eip712/index.d.ts.map +1 -0
  9. package/dist/src/lib/messages/eip712/index.js +19 -0
  10. package/dist/src/lib/messages/index.d.ts +1 -0
  11. package/dist/src/lib/messages/index.d.ts.map +1 -1
  12. package/dist/src/lib/messages/index.js +2 -1
  13. package/dist/src/lib/messages/messageBuilderFactory.d.ts.map +1 -1
  14. package/dist/src/lib/messages/messageBuilderFactory.js +4 -1
  15. package/dist/test/unit/messages/abstractEthMessageBuilderTests.d.ts +3 -0
  16. package/dist/test/unit/messages/abstractEthMessageBuilderTests.d.ts.map +1 -0
  17. package/dist/test/unit/messages/abstractEthMessageBuilderTests.js +110 -0
  18. package/dist/test/unit/messages/abstractEthMessageTestTypes.d.ts +43 -0
  19. package/dist/test/unit/messages/abstractEthMessageTestTypes.d.ts.map +1 -0
  20. package/dist/test/unit/messages/abstractEthMessageTestTypes.js +3 -0
  21. package/dist/test/unit/messages/abstractEthMessagesTests.d.ts +3 -0
  22. package/dist/test/unit/messages/abstractEthMessagesTests.d.ts.map +1 -0
  23. package/dist/test/unit/messages/abstractEthMessagesTests.js +129 -0
  24. package/dist/test/unit/messages/eip191/eip191Message.js +7 -129
  25. package/dist/test/unit/messages/eip191/eip191MessageBuilder.js +9 -109
  26. package/dist/test/unit/messages/eip191/fixtures.d.ts +109 -0
  27. package/dist/test/unit/messages/eip191/fixtures.d.ts.map +1 -0
  28. package/dist/test/unit/messages/eip191/fixtures.js +63 -0
  29. package/dist/test/unit/messages/eip712/eip712Message.d.ts +2 -0
  30. package/dist/test/unit/messages/eip712/eip712Message.d.ts.map +1 -0
  31. package/dist/test/unit/messages/eip712/eip712Message.js +15 -0
  32. package/dist/test/unit/messages/eip712/eip712MessageBuilder.d.ts +2 -0
  33. package/dist/test/unit/messages/eip712/eip712MessageBuilder.d.ts.map +1 -0
  34. package/dist/test/unit/messages/eip712/eip712MessageBuilder.js +16 -0
  35. package/dist/test/unit/messages/eip712/fixtures.d.ts +76 -0
  36. package/dist/test/unit/messages/eip712/fixtures.d.ts.map +1 -0
  37. package/dist/test/unit/messages/eip712/fixtures.js +120 -0
  38. package/dist/test/unit/messages/messageBuilderFactory.js +25 -17
  39. package/dist/tsconfig.tsbuildinfo +1 -1
  40. package/package.json +7 -7
  41. package/dist/test/unit/messages/fixtures.d.ts +0 -24
  42. package/dist/test/unit/messages/fixtures.d.ts.map +0 -1
  43. package/dist/test/unit/messages/fixtures.js +0 -28
@@ -0,0 +1,76 @@
1
+ export declare const fixtures: {
2
+ tests: {
3
+ simple: {
4
+ input: {
5
+ payload: string;
6
+ metadata: {
7
+ encoding: string;
8
+ customData: string;
9
+ };
10
+ signature: {
11
+ publicKey: {
12
+ pub: string;
13
+ };
14
+ signature: Buffer<ArrayBuffer>;
15
+ };
16
+ signer: string;
17
+ };
18
+ expected: {
19
+ expectedSignableHex: string;
20
+ expectedSignableBase64: string;
21
+ };
22
+ broadcastHex: string;
23
+ };
24
+ recursive: {
25
+ input: {
26
+ payload: string;
27
+ };
28
+ expected: {
29
+ expectedSignableHex: string;
30
+ };
31
+ };
32
+ };
33
+ signedTest: {
34
+ input: {
35
+ payload: string;
36
+ metadata: {
37
+ encoding: string;
38
+ customData: string;
39
+ };
40
+ signature: {
41
+ publicKey: {
42
+ pub: string;
43
+ };
44
+ signature: Buffer<ArrayBuffer>;
45
+ };
46
+ signer: string;
47
+ };
48
+ expected: {
49
+ expectedSignableHex: string;
50
+ expectedSignableBase64: string;
51
+ };
52
+ broadcastHex: string;
53
+ };
54
+ messageBuilderTest: {
55
+ input: {
56
+ payload: string;
57
+ metadata: {
58
+ encoding: string;
59
+ customData: string;
60
+ };
61
+ signature: {
62
+ publicKey: {
63
+ pub: string;
64
+ };
65
+ signature: Buffer<ArrayBuffer>;
66
+ };
67
+ signer: string;
68
+ };
69
+ expected: {
70
+ expectedSignableHex: string;
71
+ expectedSignableBase64: string;
72
+ };
73
+ broadcastHex: string;
74
+ };
75
+ };
76
+ //# sourceMappingURL=fixtures.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fixtures.d.ts","sourceRoot":"","sources":["../../../../../test/unit/messages/eip712/fixtures.ts"],"names":[],"mappings":"AAuHA,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAIpB,CAAC"}
@@ -0,0 +1,120 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.fixtures = void 0;
4
+ const simple = {
5
+ input: {
6
+ payload: JSON.stringify({
7
+ types: {
8
+ EIP712Domain: [
9
+ { name: 'name', type: 'string' },
10
+ { name: 'version', type: 'string' },
11
+ { name: 'chainId', type: 'uint256' },
12
+ { name: 'verifyingContract', type: 'address' },
13
+ ],
14
+ Person: [
15
+ { name: 'name', type: 'string' },
16
+ { name: 'wallet', type: 'address' },
17
+ ],
18
+ Mail: [
19
+ { name: 'from', type: 'Person' },
20
+ { name: 'to', type: 'Person' },
21
+ { name: 'contents', type: 'string' },
22
+ ],
23
+ },
24
+ primaryType: 'Mail',
25
+ domain: {
26
+ name: 'Ether Mail',
27
+ version: '1',
28
+ chainId: 1,
29
+ verifyingContract: '0xCcCCccccCCCCcCCCCCCcCcCccCcCCCcCcccccccC',
30
+ },
31
+ message: {
32
+ from: {
33
+ name: 'Cow',
34
+ wallet: '0xCD2a3d9F938E13CD947Ec05AbC7FE734Df8DD826',
35
+ },
36
+ to: {
37
+ name: 'Bob',
38
+ wallet: '0xbBbBBBBbbBBBbbbBbbBbbbbBBbBbbbbBbBbbBBbB',
39
+ },
40
+ contents: 'Hello, Bob!',
41
+ },
42
+ }),
43
+ metadata: {
44
+ encoding: 'utf8',
45
+ customData: 'test data',
46
+ },
47
+ signature: {
48
+ publicKey: { pub: '0x7E5F4552091A69125d5DfCb7b8C2659029395Bdf' },
49
+ signature: Buffer.from('5d99b6f7f6d1f73d1a26497f2b1c89b24c0993913f86e9a2d02cd69887d9c94f3c880358579d811b21dd1b7fd9bb01c1d81d10e69f0384e675c32b39643be8921b', 'hex'),
50
+ },
51
+ signer: '0x7E5F4552091A69125d5DfCb7b8C2659029395Bdf',
52
+ },
53
+ expected: {
54
+ expectedSignableHex: '1901f2cee375fa42b42143804025fc449deafd50cc031ca257e0b194a650a912090fc52c0ee5d84264471806290a3f2c4cecfc5490626bf912d01f240d7a274b371e',
55
+ expectedSignableBase64: 'GQHyzuN1+kK0IUOAQCX8RJ3q/VDMAxyiV+CxlKZQqRIJD8UsDuXYQmRHGAYpCj8sTOz8VJBia/kS0B8kDXonSzce',
56
+ },
57
+ broadcastHex: '7b2274797065223a22454950373132222c227061796c6f6164223a227b5c2274797065735c223a7b5c22454950373132446f6d61696e5c223a5b7b5c226e616d655c223a5c226e616d655c222c5c22747970655c223a5c22737472696e675c227d2c7b5c226e616d655c223a5c2276657273696f6e5c222c5c22747970655c223a5c22737472696e675c227d2c7b5c226e616d655c223a5c22636861696e49645c222c5c22747970655c223a5c2275696e743235365c227d2c7b5c226e616d655c223a5c22766572696679696e67436f6e74726163745c222c5c22747970655c223a5c22616464726573735c227d5d2c5c22506572736f6e5c223a5b7b5c226e616d655c223a5c226e616d655c222c5c22747970655c223a5c22737472696e675c227d2c7b5c226e616d655c223a5c2277616c6c65745c222c5c22747970655c223a5c22616464726573735c227d5d2c5c224d61696c5c223a5b7b5c226e616d655c223a5c2266726f6d5c222c5c22747970655c223a5c22506572736f6e5c227d2c7b5c226e616d655c223a5c22746f5c222c5c22747970655c223a5c22506572736f6e5c227d2c7b5c226e616d655c223a5c22636f6e74656e74735c222c5c22747970655c223a5c22737472696e675c227d5d7d2c5c227072696d617279547970655c223a5c224d61696c5c222c5c22646f6d61696e5c223a7b5c226e616d655c223a5c224574686572204d61696c5c222c5c2276657273696f6e5c223a5c22315c222c5c22636861696e49645c223a312c5c22766572696679696e67436f6e74726163745c223a5c223078436343436363636343434343634343434343436343634363634363434343634363636363636363435c227d2c5c226d6573736167655c223a7b5c2266726f6d5c223a7b5c226e616d655c223a5c22436f775c222c5c2277616c6c65745c223a5c223078434432613364394639333845313343443934374563303541624337464537333444663844443832365c227d2c5c22746f5c223a7b5c226e616d655c223a5c22426f625c222c5c2277616c6c65745c223a5c223078624262424242426262424242626262426262426262626242426242626262624262426262424262425c227d2c5c22636f6e74656e74735c223a5c2248656c6c6f2c20426f62215c227d7d222c2273657269616c697a65645369676e617475726573223a5b7b227075626c69634b6579223a22307837453546343535323039314136393132356435446643623762384332363539303239333935426466222c227369676e6174757265223a22585a6d32392f6252397a30614a6b6c2f4b78794a736b774a6b35452f68756d6930437a576d49665a7955383869414e59563532424779486447332f5a757748423242305135703844684f5a31777973355a44766f6b68733d227d5d2c227369676e657273223a5b22307837453546343535323039314136393132356435446643623762384332363539303239333935426466225d2c226d65746164617461223a7b22656e636f64696e67223a2275746638222c22637573746f6d44617461223a22746573742064617461227d7d',
58
+ };
59
+ const recursive = {
60
+ input: {
61
+ payload: JSON.stringify({
62
+ types: {
63
+ EIP712Domain: [
64
+ { name: 'name', type: 'string' },
65
+ { name: 'version', type: 'string' },
66
+ { name: 'chainId', type: 'uint256' },
67
+ { name: 'verifyingContract', type: 'address' },
68
+ ],
69
+ Person: [
70
+ { name: 'name', type: 'string' },
71
+ { name: 'wallet', type: 'address' },
72
+ ],
73
+ Mail: [
74
+ { name: 'from', type: 'Person' },
75
+ { name: 'to', type: 'Person' },
76
+ { name: 'contents', type: 'string' },
77
+ { name: 'replyTo', type: 'Mail' },
78
+ ],
79
+ },
80
+ primaryType: 'Mail',
81
+ domain: {
82
+ name: 'Ether Mail',
83
+ version: '1',
84
+ chainId: 1,
85
+ verifyingContract: '0xCcCCccccCCCCcCCCCCCcCcCccCcCCCcCcccccccC',
86
+ },
87
+ message: {
88
+ from: {
89
+ name: 'Cow',
90
+ wallet: '0xCD2a3d9F938E13CD947Ec05AbC7FE734Df8DD826',
91
+ },
92
+ to: {
93
+ name: 'Bob',
94
+ wallet: '0xbBbBBBBbbBBBbbbBbbBbbbbBBbBbbbbBbBbbBBbB',
95
+ },
96
+ contents: 'Hello, Bob!',
97
+ replyTo: {
98
+ to: {
99
+ name: 'Cow',
100
+ wallet: '0xCD2a3d9F938E13CD947Ec05AbC7FE734Df8DD826',
101
+ },
102
+ from: {
103
+ name: 'Bob',
104
+ wallet: '0xbBbBBBBbbBBBbbbBbbBbbbbBBbBbbbbBbBbbBBbB',
105
+ },
106
+ contents: 'Hello!',
107
+ },
108
+ },
109
+ }),
110
+ },
111
+ expected: {
112
+ expectedSignableHex: '1901f2cee375fa42b42143804025fc449deafd50cc031ca257e0b194a650a912090f098a3fdba6dae9a89a220b7adbe1f38cf5d2aeabd94657aea65bb8aeef44f02e',
113
+ },
114
+ };
115
+ exports.fixtures = {
116
+ tests: { simple, recursive },
117
+ signedTest: simple,
118
+ messageBuilderTest: simple,
119
+ };
120
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZml4dHVyZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi90ZXN0L3VuaXQvbWVzc2FnZXMvZWlwNzEyL2ZpeHR1cmVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLE1BQU0sTUFBTSxHQUFHO0lBQ2IsS0FBSyxFQUFFO1FBQ0wsT0FBTyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUM7WUFDdEIsS0FBSyxFQUFFO2dCQUNMLFlBQVksRUFBRTtvQkFDWixFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRTtvQkFDaEMsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUU7b0JBQ25DLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFO29CQUNwQyxFQUFFLElBQUksRUFBRSxtQkFBbUIsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFO2lCQUMvQztnQkFDRCxNQUFNLEVBQUU7b0JBQ04sRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUU7b0JBQ2hDLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFO2lCQUNwQztnQkFDRCxJQUFJLEVBQUU7b0JBQ0osRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUU7b0JBQ2hDLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFO29CQUM5QixFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRTtpQkFDckM7YUFDRjtZQUNELFdBQVcsRUFBRSxNQUFNO1lBQ25CLE1BQU0sRUFBRTtnQkFDTixJQUFJLEVBQUUsWUFBWTtnQkFDbEIsT0FBTyxFQUFFLEdBQUc7Z0JBQ1osT0FBTyxFQUFFLENBQUM7Z0JBQ1YsaUJBQWlCLEVBQUUsNENBQTRDO2FBQ2hF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QUU7SUFDNUIsVUFBVSxFQUFFLE1BQU07SUFDbEIsa0JBQWtCLEVBQUUsTUFBTTtDQUMzQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiY29uc3Qgc2ltcGxlID0ge1xuICBpbnB1dDoge1xuICAgIHBheWxvYWQ6IEpTT04uc3RyaW5naWZ5KHtcbiAgICAgIHR5cGVzOiB7XG4gICAgICAgIEVJUDcxMkRvbWFpbjogW1xuICAgICAgICAgIHsgbmFtZTogJ25hbWUnLCB0eXBlOiAnc3RyaW5nJyB9LFxuICAgICAgICAgIHsgbmFtZTogJ3ZlcnNpb24nLCB0eXBlOiAnc3RyaW5nJyB9LFxuICAgICAgICAgIHsgbmFtZTogJ2NoYWluSWQnLCB0eXBlOiAndWludDI1NicgfSxcbiAgICAgICAgICB7IG5hbWU6ICd2ZXJpZnlpbmdDb250cmFjdCcsIHR5cGU6ICdhZGRyZXNzJyB9LFxuICAgICAgICBdLFxuICAgICAgICBQZXJzb246IFtcbiAgICAgICAgICB7IG5hbWU6ICduYW1lJywgdHlwZTogJ3N0cmluZycgfSxcbiAgICAgICAgICB7IG5hbWU6ICd3YWxsZXQnLCB0eXBlOiAnYWRkcmVzcycgfSxcbiAgICAgICAgXSxcbiAgICAgICAgTWFpbDogW1xuICAgICAgICAgIHsgbmFtZTogJ2Zyb20nLCB0eXBlOiAnUGVyc29uJyB9LFxuICAgICAgICAgIHsgbmFtZTogJ3RvJywgdHlwZTogJ1BlcnNvbicgfSxcbiAgICAgICAgICB7IG5hbWU6ICdjb250ZW50cycsIHR5cGU6ICdzdHJpbmcnIH0sXG4gICAgICAgIF0sXG4gICAgICB9LFxuICAgICAgcHJpbWFyeVR5cGU6ICdNYWlsJyxcbiAgICAgIGRvbWFpbjoge1xuICAgICAgICBuYW1lOiAnRXRoZXIgTWFpbCcsXG4gICAgICAgIHZlcnNpb246ICcxJyxcbiAgICAgICAgY2hhaW5JZDogMSxcbiAgICAgICAgdmVyaWZ5aW5nQ29udHJhY3Q6ICcweENjQ0NjY2NjQ0NDQ2NDQ0NDQ0NjQ2NDY2NDY0NDQ2NDY2NjY2NjY0MnLFxuICAgICAgfSxcbiAgICAgIG1lc3NhZ2U6IHtcbiAgICAgICAgZnJvbToge1xuICAgICAgICAgIG5hbWU6ICdDb3cnLFxuICAgICAgICAgIHdhbGxldDogJzB4Q0QyYTNkOUY5MzhFMTNDRDk0N0VjMDVBYkM3RkU3MzREZjhERDgyNicsXG4gICAgICAgIH0sXG4gICAgICAgIHRvOiB7XG4gICAgICAgICAgbmFtZTogJ0JvYicsXG4gICAgICAgICAgd2FsbGV0OiAnMHhiQmJCQkJCYmJCQkJiYmJCYmJCYmJiYkJCYkJiYmJiQmJCYmJCQmJCJyxcbiAgICAgICAgfSxcbiAgICAgICAgY29udGVudHM6ICdIZWxsbywgQm9iIScsXG4gICAgICB9LFxuICAgIH0pLFxuICAgIG1ldGFkYXRhOiB7XG4gICAgICBlbmNvZGluZzogJ3V0ZjgnLFxuICAgICAgY3VzdG9tRGF0YTogJ3Rlc3QgZGF0YScsXG4gICAgfSxcbiAgICBzaWduYXR1cmU6IHtcbiAgICAgIHB1YmxpY0tleTogeyBwdWI6ICcweDdFNUY0NTUyMDkxQTY5MTI1ZDVEZkNiN2I4QzI2NTkwMjkzOTVCZGYnIH0sXG4gICAgICBzaWduYXR1cmU6IEJ1ZmZlci5mcm9tKFxuICAgICAgICAnNWQ5OWI2ZjdmNmQxZjczZDFhMjY0OTdmMmIxYzg5YjI0YzA5OTM5MTNmODZlOWEyZDAyY2Q2OTg4N2Q5Yzk0ZjNjODgwMzU4NTc5ZDgxMWIyMWRkMWI3ZmQ5YmIwMWMxZDgxZDEwZTY5ZjAzODRlNjc1YzMyYjM5NjQzYmU4OTIxYicsXG4gICAgICAgICdoZXgnXG4gICAgICApLFxuICAgIH0sXG4gICAgc2lnbmVyOiAnMHg3RTVGNDU1MjA5MUE2OTEyNWQ1RGZDYjdiOEMyNjU5MDI5Mzk1QmRmJyxcbiAgfSxcbiAgZXhwZWN0ZWQ6IHtcbiAgICBleHBlY3RlZFNpZ25hYmxlSGV4OlxuICAgICAgJzE5MDFmMmNlZTM3NWZhNDJiNDIxNDM4MDQwMjVmYzQ0OWRlYWZkNTBjYzAzMWNhMjU3ZTBiMTk0YTY1MGE5MTIwOTBmYzUyYzBlZTVkODQyNjQ0NzE4MDYyOTBhM2YyYzRjZWNmYzU0OTA2MjZiZjkxMmQwMWYyNDBkN2EyNzRiMzcxZScsXG4gICAgZXhwZWN0ZWRTaWduYWJsZUJhc2U2NDogJ0dRSHl6dU4xK2tLMElVT0FRQ1g4UkozcS9WRE1BeHlpVitDeGxLWlFxUklKRDhVc0R1WFlRbVJIR0FZcENqOHNUT3o4VkpCaWEva1MwQjhrRFhvblN6Y2UnLFxuICB9LFxuICBicm9hZGNhc3RIZXg6XG4gICAgJzdiMjI3NDc5NzA2NTIyM2EyMjQ1NDk1MDM3MzEzMjIyMmMyMjcwNjE3OTZjNmY2MTY0MjIzYTIyN2I1YzIyNzQ3OTcwNjU3MzVjMjIzYTdiNWMyMjQ1NDk1MDM3MzEzMjQ0NmY2ZDYxNjk2ZTVjMjIzYTViN2I1YzIyNmU2MTZkNjU1YzIyM2E1YzIyNmU2MTZkNjU1YzIyMmM1YzIyNzQ3OTcwNjU1YzIyM2E1YzIyNzM3NDcyNjk2ZTY3NWMyMjdkMmM3YjVjMjI2ZTYxNmQ2NTVjMjIzYTVjMjI3NjY1NzI3MzY5NmY2ZTVjMjIyYzVjMjI3NDc5NzA2NTVjMjIzYTVjMjI3Mzc0NzI2OTZlNjc1YzIyN2QyYzdiNWMyMjZlNjE2ZDY1NWMyMjNhNWMyMjYzNjg2MTY5NmU0OTY0NWMyMjJjNWMyMjc0Nzk3MDY1NWMyMjNhNWMyMjc1Njk2ZTc0MzIzNTM2NWMyMjdkMmM3YjVjMjI2ZTYxNmQ2NTVjMjIzYTVjMjI3NjY1NzI2OTY2Nzk2OTZlNjc0MzZmNmU3NDcyNjE2Mzc0NWMyMjJjNWMyMjc0Nzk3MDY1NWMyMjNhNWMyMjYxNjQ2NDcyNjU3MzczNWMyMjdkNWQyYzVjMjI1MDY1NzI3MzZmNmU1YzIyM2E1YjdiNWMyMjZlNjE2ZDY1NWMyMjNhNWMyMjZlNjE2ZDY1NWMyMjJjNWMyMjc0Nzk3MDY1NWMyMjNhNWMyMjczNzQ3MjY5NmU2NzVjMjI3ZDJjN2I1YzIyNmU2MTZkNjU1YzIyM2E1YzIyNzc2MTZjNmM2NTc0NWMyMjJjNWMyMjc0Nzk3MDY1NWMyMjNhNWMyMjYxNjQ2NDcyNjU3MzczNWMyMjdkNWQyYzVjMjI0ZDYxNjk2YzVjMjIzYTViN2I1YzIyNmU2MTZkNjU1YzIyM2E1YzIyNjY3MjZmNmQ1YzIyMmM1YzIyNzQ3OTcwNjU1YzIyM2E1YzIyNTA2NTcyNzM2ZjZlNWMyMjdkMmM3YjVjMjI2ZTYxNmQ2NTVjMjIzYTVjMjI3NDZmNWMyMjJjNWMyMjc0Nzk3MDY1NWMyMjNhNWMyMjUwNjU3MjczNmY2ZTVjMjI3ZDJjN2I1YzIyNmU2MTZkNjU1YzIyM2E1YzIyNjM2ZjZlNzQ2NTZlNzQ3MzVjMjIyYzVjMjI3NDc5NzA2NTVjMjIzYTVjMjI3Mzc0NzI2OTZlNjc1YzIyN2Q1ZDdkMmM1YzIyNzA3MjY5NmQ2MTcyNzk1NDc5NzA2NTVjMjIzYTVjMjI0ZDYxNjk2YzVjMjIyYzVjMjI2NDZmNmQ2MTY5NmU1YzIyM2E3YjVjMjI2ZTYxNmQ2NTVjMjIzYTVjMjI0NTc0Njg2NTcyMjA0ZDYxNjk2YzVjMjIyYzVjMjI3NjY1NzI3MzY5NmY2ZTVjMjIzYTVjMjIzMTVjMjIyYzVjMjI2MzY4NjE2OTZlNDk2NDVjMjIzYTMxMmM1YzIyNzY2NTcyNjk2Njc5Njk2ZTY3NDM2ZjZlNzQ3MjYxNjM3NDVjMjIzYTVjMjIzMDc4NDM2MzQzNDM2MzYzNjM2MzQzNDM0MzQzNjM0MzQzNDM0MzQzNDM2MzQzNjM0MzYzNjM0MzYzNDM0MzQzNjM0MzYzNjM2MzYzNjM2MzYzNDM1YzIyN2QyYzVjMjI2ZDY1NzM3MzYxNjc2NTVjMjIzYTdiNWMyMjY2NzI2ZjZkNWMyMjNhN2I1YzIyNmU2MTZkNjU1YzIyM2E1YzIyNDM2Zjc3NWMyMjJjNWMyMjc3NjE2YzZjNjU3NDVjMjIzYTVjMjIzMDc4NDM0NDMyNjEzMzY0Mzk0NjM5MzMzODQ1MzEzMzQzNDQzOTM0Mzc0NTYzMzAzNTQxNjI0MzM3NDY0NTM3MzMzNDQ0NjYzODQ0NDQzODMyMzY1YzIyN2QyYzVjMjI3NDZmNWMyMjNhN2I1YzIyNmU2MTZkNjU1YzIyM2E1YzIyNDI2ZjYyNWMyMjJjNWMyMjc3NjE2YzZjNjU3NDVjMjIzYTVjMjIzMDc4NjI0MjYyNDI0MjQyNDI2MjYyNDI0MjQyNjI2MjYyNDI2MjYyNDI2MjYyNjI2MjQyNDI2MjQyNjI2MjYyNjI0MjYyNDI2MjYyNDI0MjYyNDI1YzIyN2QyYzVjMjI2MzZmNmU3NDY1NmU3NDczNWMyMjNhNWMyMjQ4NjU2YzZjNmYyYzIwNDI2ZjYyMjE1YzIyN2Q3ZDIyMmMyMjczNjU3MjY5NjE2YzY5N2E2NTY0NTM2OTY3NmU2MTc0NzU3MjY1NzMyMjNhNWI3YjIyNzA3NTYyNmM2OTYzNGI2NTc5MjIzYTIyMzA3ODM3NDUzNTQ2MzQzNTM1MzIzMDM5MzE0MTM2MzkzMTMyMzU2NDM1NDQ2NjQzNjIzNzYyMzg0MzMyMzYzNTM5MzAzMjM5MzMzOTM1NDI2NDY2MjIyYzIyNzM2OTY3NmU2MTc0NzU3MjY1MjIzYTIyNTg1YTZkMzIzOTJmNjI1MjM5N2EzMDYxNGE2YjZjMmY0Yjc4Nzk0YTczNmI3NzRhNmIzNTQ1MmY2ODc1NmQ2OTMwNDM3YTU3NmQ0OTY2NWE3OTU1MzgzODY5NDE0ZTU5NTYzNTMyNDI0Nzc5NDg2NDQ3MzMyZjVhNzU3NzQ4NDIzMjQyMzA1MTM1NzAzODQ0Njg0ZjVhMzE3Nzc5NzMzNTVhNDQ3NjZmNmI2ODczM2QyMjdkNWQyYzIyNzM2OTY3NmU2NTcyNzMyMjNhNWIyMjMwNzgzNzQ1MzU0NjM0MzUzNTMyMzAzOTMxNDEzNjM5MzEzMjM1NjQzNTQ0NjY0MzYyMzc2MjM4NDMzMjM2MzUzOTMwMzIzOTMzMzkzNTQyNjQ2NjIyNWQyYzIyNmQ2NTc0NjE2NDYxNzQ2MTIyM2E3YjIyNjU2ZTYzNmY2NDY5NmU2NzIyM2EyMjc1NzQ2NjM4MjIyYzIyNjM3NTczNzQ2ZjZkNDQ2MTc0NjEyMjNhMjI3NDY1NzM3NDIwNjQ2MTc0NjEyMjdkN2QnLFxufTtcblxuY29uc3QgcmVjdXJzaXZlID0ge1xuICBpbnB1dDoge1xuICAgIHBheWxvYWQ6IEpTT04uc3RyaW5naWZ5KHtcbiAgICAgIHR5cGVzOiB7XG4gICAgICAgIEVJUDcxMkRvbWFpbjogW1xuICAgICAgICAgIHsgbmFtZTogJ25hbWUnLCB0eXBlOiAnc3RyaW5nJyB9LFxuICAgICAgICAgIHsgbmFtZTogJ3ZlcnNpb24nLCB0eXBlOiAnc3RyaW5nJyB9LFxuICAgICAgICAgIHsgbmFtZTogJ2NoYWluSWQnLCB0eXBlOiAndWludDI1NicgfSxcbiAgICAgICAgICB7IG5hbWU6ICd2ZXJpZnlpbmdDb250cmFjdCcsIHR5cGU6ICdhZGRyZXNzJyB9LFxuICAgICAgICBdLFxuICAgICAgICBQZXJzb246IFtcbiAgICAgICAgICB7IG5hbWU6ICduYW1lJywgdHlwZTogJ3N0cmluZycgfSxcbiAgICAgICAgICB7IG5hbWU6ICd3YWxsZXQnLCB0eXBlOiAnYWRkcmVzcycgfSxcbiAgICAgICAgXSxcbiAgICAgICAgTWFpbDogW1xuICAgICAgICAgIHsgbmFtZTogJ2Zyb20nLCB0eXBlOiAnUGVyc29uJyB9LFxuICAgICAgICAgIHsgbmFtZTogJ3RvJywgdHlwZTogJ1BlcnNvbicgfSxcbiAgICAgICAgICB7IG5hbWU6ICdjb250ZW50cycsIHR5cGU6ICdzdHJpbmcnIH0sXG4gICAgICAgICAgeyBuYW1lOiAncmVwbHlUbycsIHR5cGU6ICdNYWlsJyB9LFxuICAgICAgICBdLFxuICAgICAgfSxcbiAgICAgIHByaW1hcnlUeXBlOiAnTWFpbCcsXG4gICAgICBkb21haW46IHtcbiAgICAgICAgbmFtZTogJ0V0aGVyIE1haWwnLFxuICAgICAgICB2ZXJzaW9uOiAnMScsXG4gICAgICAgIGNoYWluSWQ6IDEsXG4gICAgICAgIHZlcmlmeWluZ0NvbnRyYWN0OiAnMHhDY0NDY2NjY0NDQ0NjQ0NDQ0NDY0NjQ2NjQ2NDQ0NjQ2NjY2NjY2NDJyxcbiAgICAgIH0sXG4gICAgICBtZXNzYWdlOiB7XG4gICAgICAgIGZyb206IHtcbiAgICAgICAgICBuYW1lOiAnQ293JyxcbiAgICAgICAgICB3YWxsZXQ6ICcweENEMmEzZDlGOTM4RTEzQ0Q5NDdFYzA1QWJDN0ZFNzM0RGY4REQ4MjYnLFxuICAgICAgICB9LFxuICAgICAgICB0bzoge1xuICAgICAgICAgIG5hbWU6ICdCb2InLFxuICAgICAgICAgIHdhbGxldDogJzB4YkJiQkJCQmJiQkJCYmJiQmJiQmJiYmJCQmJCYmJiYkJiQmJiQkJiQicsXG4gICAgICAgIH0sXG4gICAgICAgIGNvbnRlbnRzOiAnSGVsbG8sIEJvYiEnLFxuICAgICAgICByZXBseVRvOiB7XG4gICAgICAgICAgdG86IHtcbiAgICAgICAgICAgIG5hbWU6ICdDb3cnLFxuICAgICAgICAgICAgd2FsbGV0OiAnMHhDRDJhM2Q5RjkzOEUxM0NEOTQ3RWMwNUFiQzdGRTczNERmOEREODI2JyxcbiAgICAgICAgICB9LFxuICAgICAgICAgIGZyb206IHtcbiAgICAgICAgICAgIG5hbWU6ICdCb2InLFxuICAgICAgICAgICAgd2FsbGV0OiAnMHhiQmJCQkJCYmJCQkJiYmJCYmJCYmJiYkJCYkJiYmJiQmJCYmJCQmJCJyxcbiAgICAgICAgICB9LFxuICAgICAgICAgIGNvbnRlbnRzOiAnSGVsbG8hJyxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgfSksXG4gIH0sXG4gIGV4cGVjdGVkOiB7XG4gICAgZXhwZWN0ZWRTaWduYWJsZUhleDpcbiAgICAgICcxOTAxZjJjZWUzNzVmYTQyYjQyMTQzODA0MDI1ZmM0NDlkZWFmZDUwY2MwMzFjYTI1N2UwYjE5NGE2NTBhOTEyMDkwZjA5OGEzZmRiYTZkYWU5YTg5YTIyMGI3YWRiZTFmMzhjZjVkMmFlYWJkOTQ2NTdhZWE2NWJiOGFlZWY0NGYwMmUnLFxuICB9LFxufTtcblxuZXhwb3J0IGNvbnN0IGZpeHR1cmVzID0ge1xuICB0ZXN0czogeyBzaW1wbGUsIHJlY3Vyc2l2ZSB9LFxuICBzaWduZWRUZXN0OiBzaW1wbGUsXG4gIG1lc3NhZ2VCdWlsZGVyVGVzdDogc2ltcGxlLFxufTtcbiJdfQ==
@@ -1,44 +1,52 @@
1
1
  "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
2
  Object.defineProperty(exports, "__esModule", { value: true });
6
3
  require("should");
7
- const sinon_1 = __importDefault(require("sinon"));
8
4
  const sdk_core_1 = require("@bitgo-beta/sdk-core");
9
- const fixtures_1 = require("./fixtures");
5
+ const fixtures_1 = require("./eip191/fixtures");
6
+ const fixtures_2 = require("./eip712/fixtures");
10
7
  const src_1 = require("../../../src");
8
+ const statics_1 = require("@bitgo-beta/statics");
11
9
  describe('Message Builder Factory', () => {
12
- const sandbox = sinon_1.default.createSandbox();
13
- afterEach(() => {
14
- sandbox.restore();
15
- });
10
+ const coinConfig = statics_1.coins.get('eth');
16
11
  describe('getMessageBuilder', () => {
17
12
  it('should return the correct builder for EIP191 message type', () => {
18
- const factory = new src_1.MessageBuilderFactory(fixtures_1.fixtures.coin);
13
+ const factory = new src_1.MessageBuilderFactory(coinConfig);
19
14
  const builder = factory.getMessageBuilder(sdk_core_1.MessageStandardType.EIP191);
20
15
  builder.should.be.instanceof(src_1.Eip191MessageBuilder);
21
16
  });
17
+ it('should return the correct builder for EIP712 message type', () => {
18
+ const factory = new src_1.MessageBuilderFactory(coinConfig);
19
+ const builder = factory.getMessageBuilder(sdk_core_1.MessageStandardType.EIP712);
20
+ builder.should.be.instanceof(src_1.Eip712MessageBuilder);
21
+ });
22
22
  it('should throw an error for unsupported message types', () => {
23
- const factory = new src_1.MessageBuilderFactory(fixtures_1.fixtures.coin);
23
+ const factory = new src_1.MessageBuilderFactory(coinConfig);
24
24
  // Test with an invalid/unsupported message type
25
25
  const unsupportedType = 'UNSUPPORTED_TYPE';
26
26
  (() => factory.getMessageBuilder(unsupportedType)).should.throw(/Invalid message standard/);
27
27
  });
28
28
  it('should throw for unknown message standard', () => {
29
- const factory = new src_1.MessageBuilderFactory(fixtures_1.fixtures.coin);
29
+ const factory = new src_1.MessageBuilderFactory(coinConfig);
30
30
  (() => factory.getMessageBuilder(sdk_core_1.MessageStandardType.UNKNOWN)).should.throw(`Invalid message standard ${sdk_core_1.MessageStandardType.UNKNOWN}`);
31
31
  });
32
32
  });
33
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);
34
+ it('should create a builder that can build a valid EIP191 message', async () => {
35
+ const factory = new src_1.MessageBuilderFactory(coinConfig);
36
36
  const builder = factory.getMessageBuilder(sdk_core_1.MessageStandardType.EIP191);
37
- builder.setPayload(fixtures_1.fixtures.messages.validMessage);
37
+ builder.setPayload(fixtures_1.fixtures.tests.validMessage.input.payload);
38
38
  const message = await builder.build();
39
39
  message.getType().should.equal(sdk_core_1.MessageStandardType.EIP191);
40
- message.getPayload().should.equal(fixtures_1.fixtures.messages.validMessage);
40
+ message.getPayload().should.equal(fixtures_1.fixtures.tests.validMessage.input.payload);
41
+ });
42
+ it('should create a builder that can build a valid EIP712 message', async () => {
43
+ const factory = new src_1.MessageBuilderFactory(coinConfig);
44
+ const builder = factory.getMessageBuilder(sdk_core_1.MessageStandardType.EIP712);
45
+ builder.setPayload(fixtures_2.fixtures.tests.simple.input.payload);
46
+ const message = await builder.build();
47
+ message.getType().should.equal(sdk_core_1.MessageStandardType.EIP712);
48
+ message.getPayload().should.equal(fixtures_2.fixtures.tests.simple.input.payload);
41
49
  });
42
50
  });
43
51
  });
44
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZUJ1aWxkZXJGYWN0b3J5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vdGVzdC91bml0L21lc3NhZ2VzL21lc3NhZ2VCdWlsZGVyRmFjdG9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLGtCQUFnQjtBQUNoQixrREFBMEI7QUFDMUIsbURBQTJEO0FBQzNELHlDQUFzQztBQUN0QyxzQ0FBMkU7QUFFM0UsUUFBUSxDQUFDLHlCQUF5QixFQUFFLEdBQUcsRUFBRTtJQUN2QyxNQUFNLE9BQU8sR0FBRyxlQUFLLENBQUMsYUFBYSxFQUFFLENBQUM7SUFFdEMsU0FBUyxDQUFDLEdBQUcsRUFBRTtRQUNiLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUNwQixDQUFDLENBQUMsQ0FBQztJQUVILFFBQVEsQ0FBQyxtQkFBbUIsRUFBRSxHQUFHLEVBQUU7UUFDakMsRUFBRSxDQUFDLDJEQUEyRCxFQUFFLEdBQUcsRUFBRTtZQUNuRSxNQUFNLE9BQU8sR0FBRyxJQUFJLDJCQUFxQixDQUFDLG1CQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7WUFFekQsTUFBTSxPQUFPLEdBQUcsT0FBTyxDQUFDLGlCQUFpQixDQUFDLDhCQUFtQixDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBRXRFLE9BQU8sQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQywwQkFBb0IsQ0FBQyxDQUFDO1FBQ3JELENBQUMsQ0FBQyxDQUFDO1FBRUgsRUFBRSxDQUFDLHFEQUFxRCxFQUFFLEdBQUcsRUFBRTtZQUM3RCxNQUFNLE9BQU8sR0FBRyxJQUFJLDJCQUFxQixDQUFDLG1CQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7WUFFekQsZ0RBQWdEO1lBQ2hELE1BQU0sZUFBZSxHQUFHLGtCQUF5QyxDQUFDO1lBRWxFLENBQUMsR0FBRyxFQUFFLENBQUMsT0FBTyxDQUFDLGlCQUFpQixDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQywwQkFBMEIsQ0FBQyxDQUFDO1FBQzlGLENBQUMsQ0FBQyxDQUFDO1FBRUgsRUFBRSxDQUFDLDJDQUEyQyxFQUFFLEdBQUcsRUFBRTtZQUNuRCxNQUFNLE9BQU8sR0FBRyxJQUFJLDJCQUFxQixDQUFDLG1CQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7WUFFekQsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxPQUFPLENBQUMsaUJBQWlCLENBQUMsOEJBQW1CLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUN6RSw0QkFBNEIsOEJBQW1CLENBQUMsT0FBTyxFQUFFLENBQzFELENBQUM7UUFDSixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQyxDQUFDO0lBRUgsUUFBUSxDQUFDLDBCQUEwQixFQUFFLEdBQUcsRUFBRTtRQUN4QyxFQUFFLENBQUMsd0RBQXdELEVBQUUsS0FBSyxJQUFJLEVBQUU7WUFDdEUsTUFBTSxPQUFPLEdBQUcsSUFBSSwyQkFBcUIsQ0FBQyxtQkFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBRXpELE1BQU0sT0FBTyxHQUFHLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQyw4QkFBbUIsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUN0RSxPQUFPLENBQUMsVUFBVSxDQUFDLG1CQUFRLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxDQUFDO1lBRW5ELE1BQU0sT0FBTyxHQUFHLE1BQU0sT0FBTyxDQUFDLEtBQUssRUFBRSxDQUFDO1lBRXRDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLDhCQUFtQixDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQzNELE9BQU8sQ0FBQyxVQUFVLEVBQUUsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLG1CQUFRLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ3BFLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAnc2hvdWxkJztcbmltcG9ydCBzaW5vbiBmcm9tICdzaW5vbic7XG5pbXBvcnQgeyBNZXNzYWdlU3RhbmRhcmRUeXBlIH0gZnJvbSAnQGJpdGdvLWJldGEvc2RrLWNvcmUnO1xuaW1wb3J0IHsgZml4dHVyZXMgfSBmcm9tICcuL2ZpeHR1cmVzJztcbmltcG9ydCB7IEVpcDE5MU1lc3NhZ2VCdWlsZGVyLCBNZXNzYWdlQnVpbGRlckZhY3RvcnkgfSBmcm9tICcuLi8uLi8uLi9zcmMnO1xuXG5kZXNjcmliZSgnTWVzc2FnZSBCdWlsZGVyIEZhY3RvcnknLCAoKSA9PiB7XG4gIGNvbnN0IHNhbmRib3ggPSBzaW5vbi5jcmVhdGVTYW5kYm94KCk7XG5cbiAgYWZ0ZXJFYWNoKCgpID0+IHtcbiAgICBzYW5kYm94LnJlc3RvcmUoKTtcbiAgfSk7XG5cbiAgZGVzY3JpYmUoJ2dldE1lc3NhZ2VCdWlsZGVyJywgKCkgPT4ge1xuICAgIGl0KCdzaG91bGQgcmV0dXJuIHRoZSBjb3JyZWN0IGJ1aWxkZXIgZm9yIEVJUDE5MSBtZXNzYWdlIHR5cGUnLCAoKSA9PiB7XG4gICAgICBjb25zdCBmYWN0b3J5ID0gbmV3IE1lc3NhZ2VCdWlsZGVyRmFjdG9yeShmaXh0dXJlcy5jb2luKTtcblxuICAgICAgY29uc3QgYnVpbGRlciA9IGZhY3RvcnkuZ2V0TWVzc2FnZUJ1aWxkZXIoTWVzc2FnZVN0YW5kYXJkVHlwZS5FSVAxOTEpO1xuXG4gICAgICBidWlsZGVyLnNob3VsZC5iZS5pbnN0YW5jZW9mKEVpcDE5MU1lc3NhZ2VCdWlsZGVyKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgdGhyb3cgYW4gZXJyb3IgZm9yIHVuc3VwcG9ydGVkIG1lc3NhZ2UgdHlwZXMnLCAoKSA9PiB7XG4gICAgICBjb25zdCBmYWN0b3J5ID0gbmV3IE1lc3NhZ2VCdWlsZGVyRmFjdG9yeShmaXh0dXJlcy5jb2luKTtcblxuICAgICAgLy8gVGVzdCB3aXRoIGFuIGludmFsaWQvdW5zdXBwb3J0ZWQgbWVzc2FnZSB0eXBlXG4gICAgICBjb25zdCB1bnN1cHBvcnRlZFR5cGUgPSAnVU5TVVBQT1JURURfVFlQRScgYXMgTWVzc2FnZVN0YW5kYXJkVHlwZTtcblxuICAgICAgKCgpID0+IGZhY3RvcnkuZ2V0TWVzc2FnZUJ1aWxkZXIodW5zdXBwb3J0ZWRUeXBlKSkuc2hvdWxkLnRocm93KC9JbnZhbGlkIG1lc3NhZ2Ugc3RhbmRhcmQvKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgdGhyb3cgZm9yIHVua25vd24gbWVzc2FnZSBzdGFuZGFyZCcsICgpID0+IHtcbiAgICAgIGNvbnN0IGZhY3RvcnkgPSBuZXcgTWVzc2FnZUJ1aWxkZXJGYWN0b3J5KGZpeHR1cmVzLmNvaW4pO1xuXG4gICAgICAoKCkgPT4gZmFjdG9yeS5nZXRNZXNzYWdlQnVpbGRlcihNZXNzYWdlU3RhbmRhcmRUeXBlLlVOS05PV04pKS5zaG91bGQudGhyb3coXG4gICAgICAgIGBJbnZhbGlkIG1lc3NhZ2Ugc3RhbmRhcmQgJHtNZXNzYWdlU3RhbmRhcmRUeXBlLlVOS05PV059YFxuICAgICAgKTtcbiAgICB9KTtcbiAgfSk7XG5cbiAgZGVzY3JpYmUoJ0ludGVncmF0aW9uIHdpdGggYnVpbGRlcicsICgpID0+IHtcbiAgICBpdCgnc2hvdWxkIGNyZWF0ZSBhIGJ1aWxkZXIgdGhhdCBjYW4gYnVpbGQgYSB2YWxpZCBtZXNzYWdlJywgYXN5bmMgKCkgPT4ge1xuICAgICAgY29uc3QgZmFjdG9yeSA9IG5ldyBNZXNzYWdlQnVpbGRlckZhY3RvcnkoZml4dHVyZXMuY29pbik7XG5cbiAgICAgIGNvbnN0IGJ1aWxkZXIgPSBmYWN0b3J5LmdldE1lc3NhZ2VCdWlsZGVyKE1lc3NhZ2VTdGFuZGFyZFR5cGUuRUlQMTkxKTtcbiAgICAgIGJ1aWxkZXIuc2V0UGF5bG9hZChmaXh0dXJlcy5tZXNzYWdlcy52YWxpZE1lc3NhZ2UpO1xuXG4gICAgICBjb25zdCBtZXNzYWdlID0gYXdhaXQgYnVpbGRlci5idWlsZCgpO1xuXG4gICAgICBtZXNzYWdlLmdldFR5cGUoKS5zaG91bGQuZXF1YWwoTWVzc2FnZVN0YW5kYXJkVHlwZS5FSVAxOTEpO1xuICAgICAgbWVzc2FnZS5nZXRQYXlsb2FkKCkuc2hvdWxkLmVxdWFsKGZpeHR1cmVzLm1lc3NhZ2VzLnZhbGlkTWVzc2FnZSk7XG4gICAgfSk7XG4gIH0pO1xufSk7XG4iXX0=
52
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZUJ1aWxkZXJGYWN0b3J5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vdGVzdC91bml0L21lc3NhZ2VzL21lc3NhZ2VCdWlsZGVyRmFjdG9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLGtCQUFnQjtBQUNoQixtREFBMkQ7QUFDM0QsZ0RBQStEO0FBQy9ELGdEQUErRDtBQUMvRCxzQ0FBaUc7QUFDakcsaURBQTRDO0FBRTVDLFFBQVEsQ0FBQyx5QkFBeUIsRUFBRSxHQUFHLEVBQUU7SUFDdkMsTUFBTSxVQUFVLEdBQUcsZUFBSyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUVwQyxRQUFRLENBQUMsbUJBQW1CLEVBQUUsR0FBRyxFQUFFO1FBQ2pDLEVBQUUsQ0FBQywyREFBMkQsRUFBRSxHQUFHLEVBQUU7WUFDbkUsTUFBTSxPQUFPLEdBQUcsSUFBSSwyQkFBcUIsQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUV0RCxNQUFNLE9BQU8sR0FBRyxPQUFPLENBQUMsaUJBQWlCLENBQUMsOEJBQW1CLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDdEUsT0FBTyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLDBCQUFvQixDQUFDLENBQUM7UUFDckQsQ0FBQyxDQUFDLENBQUM7UUFFSCxFQUFFLENBQUMsMkRBQTJELEVBQUUsR0FBRyxFQUFFO1lBQ25FLE1BQU0sT0FBTyxHQUFHLElBQUksMkJBQXFCLENBQUMsVUFBVSxDQUFDLENBQUM7WUFFdEQsTUFBTSxPQUFPLEdBQUcsT0FBTyxDQUFDLGlCQUFpQixDQUFDLDhCQUFtQixDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ3RFLE9BQU8sQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQywwQkFBb0IsQ0FBQyxDQUFDO1FBQ3JELENBQUMsQ0FBQyxDQUFDO1FBRUgsRUFBRSxDQUFDLHFEQUFxRCxFQUFFLEdBQUcsRUFBRTtZQUM3RCxNQUFNLE9BQU8sR0FBRyxJQUFJLDJCQUFxQixDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBRXRELGdEQUFnRDtZQUNoRCxNQUFNLGVBQWUsR0FBRyxrQkFBeUMsQ0FBQztZQUVsRSxDQUFDLEdBQUcsRUFBRSxDQUFDLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsMEJBQTBCLENBQUMsQ0FBQztRQUM5RixDQUFDLENBQUMsQ0FBQztRQUVILEVBQUUsQ0FBQywyQ0FBMkMsRUFBRSxHQUFHLEVBQUU7WUFDbkQsTUFBTSxPQUFPLEdBQUcsSUFBSSwyQkFBcUIsQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUV0RCxDQUFDLEdBQUcsRUFBRSxDQUFDLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQyw4QkFBbUIsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQ3pFLDRCQUE0Qiw4QkFBbUIsQ0FBQyxPQUFPLEVBQUUsQ0FDMUQsQ0FBQztRQUNKLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDLENBQUM7SUFFSCxRQUFRLENBQUMsMEJBQTBCLEVBQUUsR0FBRyxFQUFFO1FBQ3hDLEVBQUUsQ0FBQywrREFBK0QsRUFBRSxLQUFLLElBQUksRUFBRTtZQUM3RSxNQUFNLE9BQU8sR0FBRyxJQUFJLDJCQUFxQixDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBRXRELE1BQU0sT0FBTyxHQUFHLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQyw4QkFBbUIsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUN0RSxPQUFPLENBQUMsVUFBVSxDQUFDLG1CQUFjLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7WUFFcEUsTUFBTSxPQUFPLEdBQUcsTUFBTSxPQUFPLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDdEMsT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsOEJBQW1CLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDM0QsT0FBTyxDQUFDLFVBQVUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsbUJBQWMsQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNyRixDQUFDLENBQUMsQ0FBQztRQUVILEVBQUUsQ0FBQywrREFBK0QsRUFBRSxLQUFLLElBQUksRUFBRTtZQUM3RSxNQUFNLE9BQU8sR0FBRyxJQUFJLDJCQUFxQixDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBRXRELE1BQU0sT0FBTyxHQUFHLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQyw4QkFBbUIsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUN0RSxPQUFPLENBQUMsVUFBVSxDQUFDLG1CQUFjLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7WUFFOUQsTUFBTSxPQUFPLEdBQUcsTUFBTSxPQUFPLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDdEMsT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsOEJBQW1CLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDM0QsT0FBTyxDQUFDLFVBQVUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsbUJBQWMsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUMvRSxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgJ3Nob3VsZCc7XG5pbXBvcnQgeyBNZXNzYWdlU3RhbmRhcmRUeXBlIH0gZnJvbSAnQGJpdGdvLWJldGEvc2RrLWNvcmUnO1xuaW1wb3J0IHsgZml4dHVyZXMgYXMgZWlwMTkxRml4dHVyZXMgfSBmcm9tICcuL2VpcDE5MS9maXh0dXJlcyc7XG5pbXBvcnQgeyBmaXh0dXJlcyBhcyBlaXA3MTJGaXh0dXJlcyB9IGZyb20gJy4vZWlwNzEyL2ZpeHR1cmVzJztcbmltcG9ydCB7IEVpcDE5MU1lc3NhZ2VCdWlsZGVyLCBFaXA3MTJNZXNzYWdlQnVpbGRlciwgTWVzc2FnZUJ1aWxkZXJGYWN0b3J5IH0gZnJvbSAnLi4vLi4vLi4vc3JjJztcbmltcG9ydCB7IGNvaW5zIH0gZnJvbSAnQGJpdGdvLWJldGEvc3RhdGljcyc7XG5cbmRlc2NyaWJlKCdNZXNzYWdlIEJ1aWxkZXIgRmFjdG9yeScsICgpID0+IHtcbiAgY29uc3QgY29pbkNvbmZpZyA9IGNvaW5zLmdldCgnZXRoJyk7XG5cbiAgZGVzY3JpYmUoJ2dldE1lc3NhZ2VCdWlsZGVyJywgKCkgPT4ge1xuICAgIGl0KCdzaG91bGQgcmV0dXJuIHRoZSBjb3JyZWN0IGJ1aWxkZXIgZm9yIEVJUDE5MSBtZXNzYWdlIHR5cGUnLCAoKSA9PiB7XG4gICAgICBjb25zdCBmYWN0b3J5ID0gbmV3IE1lc3NhZ2VCdWlsZGVyRmFjdG9yeShjb2luQ29uZmlnKTtcblxuICAgICAgY29uc3QgYnVpbGRlciA9IGZhY3RvcnkuZ2V0TWVzc2FnZUJ1aWxkZXIoTWVzc2FnZVN0YW5kYXJkVHlwZS5FSVAxOTEpO1xuICAgICAgYnVpbGRlci5zaG91bGQuYmUuaW5zdGFuY2VvZihFaXAxOTFNZXNzYWdlQnVpbGRlcik7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIHJldHVybiB0aGUgY29ycmVjdCBidWlsZGVyIGZvciBFSVA3MTIgbWVzc2FnZSB0eXBlJywgKCkgPT4ge1xuICAgICAgY29uc3QgZmFjdG9yeSA9IG5ldyBNZXNzYWdlQnVpbGRlckZhY3RvcnkoY29pbkNvbmZpZyk7XG5cbiAgICAgIGNvbnN0IGJ1aWxkZXIgPSBmYWN0b3J5LmdldE1lc3NhZ2VCdWlsZGVyKE1lc3NhZ2VTdGFuZGFyZFR5cGUuRUlQNzEyKTtcbiAgICAgIGJ1aWxkZXIuc2hvdWxkLmJlLmluc3RhbmNlb2YoRWlwNzEyTWVzc2FnZUJ1aWxkZXIpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCB0aHJvdyBhbiBlcnJvciBmb3IgdW5zdXBwb3J0ZWQgbWVzc2FnZSB0eXBlcycsICgpID0+IHtcbiAgICAgIGNvbnN0IGZhY3RvcnkgPSBuZXcgTWVzc2FnZUJ1aWxkZXJGYWN0b3J5KGNvaW5Db25maWcpO1xuXG4gICAgICAvLyBUZXN0IHdpdGggYW4gaW52YWxpZC91bnN1cHBvcnRlZCBtZXNzYWdlIHR5cGVcbiAgICAgIGNvbnN0IHVuc3VwcG9ydGVkVHlwZSA9ICdVTlNVUFBPUlRFRF9UWVBFJyBhcyBNZXNzYWdlU3RhbmRhcmRUeXBlO1xuXG4gICAgICAoKCkgPT4gZmFjdG9yeS5nZXRNZXNzYWdlQnVpbGRlcih1bnN1cHBvcnRlZFR5cGUpKS5zaG91bGQudGhyb3coL0ludmFsaWQgbWVzc2FnZSBzdGFuZGFyZC8pO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCB0aHJvdyBmb3IgdW5rbm93biBtZXNzYWdlIHN0YW5kYXJkJywgKCkgPT4ge1xuICAgICAgY29uc3QgZmFjdG9yeSA9IG5ldyBNZXNzYWdlQnVpbGRlckZhY3RvcnkoY29pbkNvbmZpZyk7XG5cbiAgICAgICgoKSA9PiBmYWN0b3J5LmdldE1lc3NhZ2VCdWlsZGVyKE1lc3NhZ2VTdGFuZGFyZFR5cGUuVU5LTk9XTikpLnNob3VsZC50aHJvdyhcbiAgICAgICAgYEludmFsaWQgbWVzc2FnZSBzdGFuZGFyZCAke01lc3NhZ2VTdGFuZGFyZFR5cGUuVU5LTk9XTn1gXG4gICAgICApO1xuICAgIH0pO1xuICB9KTtcblxuICBkZXNjcmliZSgnSW50ZWdyYXRpb24gd2l0aCBidWlsZGVyJywgKCkgPT4ge1xuICAgIGl0KCdzaG91bGQgY3JlYXRlIGEgYnVpbGRlciB0aGF0IGNhbiBidWlsZCBhIHZhbGlkIEVJUDE5MSBtZXNzYWdlJywgYXN5bmMgKCkgPT4ge1xuICAgICAgY29uc3QgZmFjdG9yeSA9IG5ldyBNZXNzYWdlQnVpbGRlckZhY3RvcnkoY29pbkNvbmZpZyk7XG5cbiAgICAgIGNvbnN0IGJ1aWxkZXIgPSBmYWN0b3J5LmdldE1lc3NhZ2VCdWlsZGVyKE1lc3NhZ2VTdGFuZGFyZFR5cGUuRUlQMTkxKTtcbiAgICAgIGJ1aWxkZXIuc2V0UGF5bG9hZChlaXAxOTFGaXh0dXJlcy50ZXN0cy52YWxpZE1lc3NhZ2UuaW5wdXQucGF5bG9hZCk7XG5cbiAgICAgIGNvbnN0IG1lc3NhZ2UgPSBhd2FpdCBidWlsZGVyLmJ1aWxkKCk7XG4gICAgICBtZXNzYWdlLmdldFR5cGUoKS5zaG91bGQuZXF1YWwoTWVzc2FnZVN0YW5kYXJkVHlwZS5FSVAxOTEpO1xuICAgICAgbWVzc2FnZS5nZXRQYXlsb2FkKCkuc2hvdWxkLmVxdWFsKGVpcDE5MUZpeHR1cmVzLnRlc3RzLnZhbGlkTWVzc2FnZS5pbnB1dC5wYXlsb2FkKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgY3JlYXRlIGEgYnVpbGRlciB0aGF0IGNhbiBidWlsZCBhIHZhbGlkIEVJUDcxMiBtZXNzYWdlJywgYXN5bmMgKCkgPT4ge1xuICAgICAgY29uc3QgZmFjdG9yeSA9IG5ldyBNZXNzYWdlQnVpbGRlckZhY3RvcnkoY29pbkNvbmZpZyk7XG5cbiAgICAgIGNvbnN0IGJ1aWxkZXIgPSBmYWN0b3J5LmdldE1lc3NhZ2VCdWlsZGVyKE1lc3NhZ2VTdGFuZGFyZFR5cGUuRUlQNzEyKTtcbiAgICAgIGJ1aWxkZXIuc2V0UGF5bG9hZChlaXA3MTJGaXh0dXJlcy50ZXN0cy5zaW1wbGUuaW5wdXQucGF5bG9hZCk7XG5cbiAgICAgIGNvbnN0IG1lc3NhZ2UgPSBhd2FpdCBidWlsZGVyLmJ1aWxkKCk7XG4gICAgICBtZXNzYWdlLmdldFR5cGUoKS5zaG91bGQuZXF1YWwoTWVzc2FnZVN0YW5kYXJkVHlwZS5FSVA3MTIpO1xuICAgICAgbWVzc2FnZS5nZXRQYXlsb2FkKCkuc2hvdWxkLmVxdWFsKGVpcDcxMkZpeHR1cmVzLnRlc3RzLnNpbXBsZS5pbnB1dC5wYXlsb2FkKTtcbiAgICB9KTtcbiAgfSk7XG59KTtcbiJdfQ==