@bitgo/abstract-eth 24.5.4 → 24.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (39) hide show
  1. package/CHANGELOG.md +7 -0
  2. package/dist/src/lib/index.d.ts +1 -0
  3. package/dist/src/lib/index.d.ts.map +1 -1
  4. package/dist/src/lib/index.js +2 -1
  5. package/dist/src/lib/messages/eip191/eip191Message.d.ts +12 -0
  6. package/dist/src/lib/messages/eip191/eip191Message.d.ts.map +1 -0
  7. package/dist/src/lib/messages/eip191/eip191Message.js +27 -0
  8. package/dist/src/lib/messages/eip191/eip191MessageBuilder.d.ts +25 -0
  9. package/dist/src/lib/messages/eip191/eip191MessageBuilder.d.ts.map +1 -0
  10. package/dist/src/lib/messages/eip191/eip191MessageBuilder.js +68 -0
  11. package/dist/src/lib/messages/eip191/index.d.ts +3 -0
  12. package/dist/src/lib/messages/eip191/index.d.ts.map +1 -0
  13. package/dist/src/lib/messages/eip191/index.js +19 -0
  14. package/dist/src/lib/messages/index.d.ts +3 -0
  15. package/dist/src/lib/messages/index.d.ts.map +1 -0
  16. package/dist/src/lib/messages/index.js +19 -0
  17. package/dist/src/lib/messages/messageBuilderFactory.d.ts +7 -0
  18. package/dist/src/lib/messages/messageBuilderFactory.d.ts.map +1 -0
  19. package/dist/src/lib/messages/messageBuilderFactory.js +20 -0
  20. package/dist/test/unit/index.d.ts +1 -0
  21. package/dist/test/unit/index.d.ts.map +1 -1
  22. package/dist/test/unit/index.js +2 -1
  23. package/dist/test/unit/messages/eip191/eip191Message.d.ts +2 -0
  24. package/dist/test/unit/messages/eip191/eip191Message.d.ts.map +1 -0
  25. package/dist/test/unit/messages/eip191/eip191Message.js +148 -0
  26. package/dist/test/unit/messages/eip191/eip191MessageBuilder.d.ts +2 -0
  27. package/dist/test/unit/messages/eip191/eip191MessageBuilder.d.ts.map +1 -0
  28. package/dist/test/unit/messages/eip191/eip191MessageBuilder.js +95 -0
  29. package/dist/test/unit/messages/fixtures.d.ts +19 -0
  30. package/dist/test/unit/messages/fixtures.d.ts.map +1 -0
  31. package/dist/test/unit/messages/fixtures.js +25 -0
  32. package/dist/test/unit/messages/index.d.ts +4 -0
  33. package/dist/test/unit/messages/index.d.ts.map +1 -0
  34. package/dist/test/unit/messages/index.js +20 -0
  35. package/dist/test/unit/messages/messageBuilderFactory.d.ts +2 -0
  36. package/dist/test/unit/messages/messageBuilderFactory.d.ts.map +1 -0
  37. package/dist/test/unit/messages/messageBuilderFactory.js +44 -0
  38. package/dist/tsconfig.tsbuildinfo +1 -1
  39. package/package.json +7 -7
package/CHANGELOG.md CHANGED
@@ -3,6 +3,13 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ # [24.6.0](https://github.com/BitGo/BitGoJS/compare/@bitgo/abstract-eth@24.5.4...@bitgo/abstract-eth@24.6.0) (2025-07-03)
7
+
8
+ ### Features
9
+
10
+ - **account-lib:** register message builder factory ([bc5c71c](https://github.com/BitGo/BitGoJS/commit/bc5c71cd92266ec1011d85f0568bf174c3743bc2))
11
+ - **sdk-core:** add message builder and message builder factory ([5741739](https://github.com/BitGo/BitGoJS/commit/57417395029ec064485ac9ee69eb38fb08c592ec))
12
+
6
13
  ## [24.5.4](https://github.com/BitGo/BitGoJS/compare/@bitgo/abstract-eth@24.5.3...@bitgo/abstract-eth@24.5.4) (2025-06-25)
7
14
 
8
15
  **Note:** Version bump only for package @bitgo/abstract-eth
@@ -9,6 +9,7 @@ export * from './transferBuilder';
9
9
  export * from './types';
10
10
  export * from './utils';
11
11
  export * from './walletUtil';
12
+ export * from './messages';
12
13
  import * as Interface from './iface';
13
14
  import * as Utils from './utils';
14
15
  export { Interface, Utils };
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,SAAS,CAAC;AACxB,cAAc,WAAW,CAAC;AAC1B,cAAc,eAAe,CAAC;AAC9B,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,cAAc,CAAC;AAG7B,OAAO,KAAK,SAAS,MAAM,SAAS,CAAC;AACrC,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC;AAEjC,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,SAAS,CAAC;AACxB,cAAc,WAAW,CAAC;AAC1B,cAAc,eAAe,CAAC;AAC9B,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAG3B,OAAO,KAAK,SAAS,MAAM,SAAS,CAAC;AACrC,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC;AAEjC,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC"}
@@ -48,9 +48,10 @@ __exportStar(require("./transferBuilder"), exports);
48
48
  __exportStar(require("./types"), exports);
49
49
  __exportStar(require("./utils"), exports);
50
50
  __exportStar(require("./walletUtil"), exports);
51
+ __exportStar(require("./messages"), exports);
51
52
  // for Backwards Compatibility
52
53
  const Interface = __importStar(require("./iface"));
53
54
  exports.Interface = Interface;
54
55
  const Utils = __importStar(require("./utils"));
55
56
  exports.Utils = Utils;
56
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLGlEQUErQjtBQUMvQiwwQ0FBd0I7QUFDeEIsNENBQTBCO0FBQzFCLGdEQUE4QjtBQUM5Qix1REFBcUM7QUFDckMsb0RBQWtDO0FBQ2xDLHFEQUFtQztBQUNuQyxvREFBa0M7QUFDbEMsMENBQXdCO0FBQ3hCLDBDQUF3QjtBQUN4QiwrQ0FBNkI7QUFFN0IsOEJBQThCO0FBQzlCLG1EQUFxQztBQUc1Qiw4QkFBUztBQUZsQiwrQ0FBaUM7QUFFYixzQkFBSyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vY29udHJhY3RDYWxsJztcbmV4cG9ydCAqIGZyb20gJy4vaWZhY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9rZXlQYWlyJztcbmV4cG9ydCAqIGZyb20gJy4vdHJhbnNhY3Rpb24nO1xuZXhwb3J0ICogZnJvbSAnLi90cmFuc2FjdGlvbkJ1aWxkZXInO1xuZXhwb3J0ICogZnJvbSAnLi90cmFuc2ZlckJ1aWxkZXInO1xuZXhwb3J0ICogZnJvbSAnLi90cmFuc2ZlckJ1aWxkZXJzJztcbmV4cG9ydCAqIGZyb20gJy4vdHJhbnNmZXJCdWlsZGVyJztcbmV4cG9ydCAqIGZyb20gJy4vdHlwZXMnO1xuZXhwb3J0ICogZnJvbSAnLi91dGlscyc7XG5leHBvcnQgKiBmcm9tICcuL3dhbGxldFV0aWwnO1xuXG4vLyBmb3IgQmFja3dhcmRzIENvbXBhdGliaWxpdHlcbmltcG9ydCAqIGFzIEludGVyZmFjZSBmcm9tICcuL2lmYWNlJztcbmltcG9ydCAqIGFzIFV0aWxzIGZyb20gJy4vdXRpbHMnO1xuXG5leHBvcnQgeyBJbnRlcmZhY2UsIFV0aWxzIH07XG4iXX0=
57
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLGlEQUErQjtBQUMvQiwwQ0FBd0I7QUFDeEIsNENBQTBCO0FBQzFCLGdEQUE4QjtBQUM5Qix1REFBcUM7QUFDckMsb0RBQWtDO0FBQ2xDLHFEQUFtQztBQUNuQyxvREFBa0M7QUFDbEMsMENBQXdCO0FBQ3hCLDBDQUF3QjtBQUN4QiwrQ0FBNkI7QUFDN0IsNkNBQTJCO0FBRTNCLDhCQUE4QjtBQUM5QixtREFBcUM7QUFHNUIsOEJBQVM7QUFGbEIsK0NBQWlDO0FBRWIsc0JBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2NvbnRyYWN0Q2FsbCc7XG5leHBvcnQgKiBmcm9tICcuL2lmYWNlJztcbmV4cG9ydCAqIGZyb20gJy4va2V5UGFpcic7XG5leHBvcnQgKiBmcm9tICcuL3RyYW5zYWN0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vdHJhbnNhY3Rpb25CdWlsZGVyJztcbmV4cG9ydCAqIGZyb20gJy4vdHJhbnNmZXJCdWlsZGVyJztcbmV4cG9ydCAqIGZyb20gJy4vdHJhbnNmZXJCdWlsZGVycyc7XG5leHBvcnQgKiBmcm9tICcuL3RyYW5zZmVyQnVpbGRlcic7XG5leHBvcnQgKiBmcm9tICcuL3R5cGVzJztcbmV4cG9ydCAqIGZyb20gJy4vdXRpbHMnO1xuZXhwb3J0ICogZnJvbSAnLi93YWxsZXRVdGlsJztcbmV4cG9ydCAqIGZyb20gJy4vbWVzc2FnZXMnO1xuXG4vLyBmb3IgQmFja3dhcmRzIENvbXBhdGliaWxpdHlcbmltcG9ydCAqIGFzIEludGVyZmFjZSBmcm9tICcuL2lmYWNlJztcbmltcG9ydCAqIGFzIFV0aWxzIGZyb20gJy4vdXRpbHMnO1xuXG5leHBvcnQgeyBJbnRlcmZhY2UsIFV0aWxzIH07XG4iXX0=
@@ -0,0 +1,12 @@
1
+ import { BaseMessage, MessageOptions } from '@bitgo/sdk-core';
2
+ /**
3
+ * Implementation of Message for EIP191 standard
4
+ */
5
+ export declare class EIP191Message extends BaseMessage {
6
+ constructor(options: MessageOptions);
7
+ /**
8
+ * Returns the hash of the EIP-191 prefixed message
9
+ */
10
+ getSignablePayload(): Promise<string | Buffer>;
11
+ }
12
+ //# sourceMappingURL=eip191Message.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"eip191Message.d.ts","sourceRoot":"","sources":["../../../../../src/lib/messages/eip191/eip191Message.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,cAAc,EAAuB,MAAM,iBAAiB,CAAC;AAEnF;;GAEG;AACH,qBAAa,aAAc,SAAQ,WAAW;gBAChC,OAAO,EAAE,cAAc;IAOnC;;OAEG;IACG,kBAAkB,IAAI,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC;CAOrD"}
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.EIP191Message = void 0;
4
+ const sdk_core_1 = require("@bitgo/sdk-core");
5
+ /**
6
+ * Implementation of Message for EIP191 standard
7
+ */
8
+ class EIP191Message extends sdk_core_1.BaseMessage {
9
+ constructor(options) {
10
+ super({
11
+ ...options,
12
+ type: sdk_core_1.MessageStandardType.EIP191,
13
+ });
14
+ }
15
+ /**
16
+ * Returns the hash of the EIP-191 prefixed message
17
+ */
18
+ async getSignablePayload() {
19
+ if (!this.signablePayload) {
20
+ const prefix = `\u0019Ethereum Signed Message:\n${this.payload.length}`;
21
+ this.signablePayload = Buffer.from(prefix.concat(this.payload)).toString('hex');
22
+ }
23
+ return this.signablePayload;
24
+ }
25
+ }
26
+ exports.EIP191Message = EIP191Message;
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWlwMTkxTWVzc2FnZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvbWVzc2FnZXMvZWlwMTkxL2VpcDE5MU1lc3NhZ2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsOENBQW1GO0FBRW5GOztHQUVHO0FBQ0gsTUFBYSxhQUFjLFNBQVEsc0JBQVc7SUFDNUMsWUFBWSxPQUF1QjtRQUNqQyxLQUFLLENBQUM7WUFDSixHQUFHLE9BQU87WUFDVixJQUFJLEVBQUUsOEJBQW1CLENBQUMsTUFBTTtTQUNqQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxLQUFLLENBQUMsa0JBQWtCO1FBQ3RCLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7WUFDMUIsTUFBTSxNQUFNLEdBQUcsbUNBQW1DLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDeEUsSUFBSSxDQUFDLGVBQWUsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2xGLENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQyxlQUFlLENBQUM7SUFDOUIsQ0FBQztDQUNGO0FBbEJELHNDQWtCQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJhc2VNZXNzYWdlLCBNZXNzYWdlT3B0aW9ucywgTWVzc2FnZVN0YW5kYXJkVHlwZSB9IGZyb20gJ0BiaXRnby9zZGstY29yZSc7XG5cbi8qKlxuICogSW1wbGVtZW50YXRpb24gb2YgTWVzc2FnZSBmb3IgRUlQMTkxIHN0YW5kYXJkXG4gKi9cbmV4cG9ydCBjbGFzcyBFSVAxOTFNZXNzYWdlIGV4dGVuZHMgQmFzZU1lc3NhZ2Uge1xuICBjb25zdHJ1Y3RvcihvcHRpb25zOiBNZXNzYWdlT3B0aW9ucykge1xuICAgIHN1cGVyKHtcbiAgICAgIC4uLm9wdGlvbnMsXG4gICAgICB0eXBlOiBNZXNzYWdlU3RhbmRhcmRUeXBlLkVJUDE5MSxcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBoYXNoIG9mIHRoZSBFSVAtMTkxIHByZWZpeGVkIG1lc3NhZ2VcbiAgICovXG4gIGFzeW5jIGdldFNpZ25hYmxlUGF5bG9hZCgpOiBQcm9taXNlPHN0cmluZyB8IEJ1ZmZlcj4ge1xuICAgIGlmICghdGhpcy5zaWduYWJsZVBheWxvYWQpIHtcbiAgICAgIGNvbnN0IHByZWZpeCA9IGBcXHUwMDE5RXRoZXJldW0gU2lnbmVkIE1lc3NhZ2U6XFxuJHt0aGlzLnBheWxvYWQubGVuZ3RofWA7XG4gICAgICB0aGlzLnNpZ25hYmxlUGF5bG9hZCA9IEJ1ZmZlci5mcm9tKHByZWZpeC5jb25jYXQodGhpcy5wYXlsb2FkKSkudG9TdHJpbmcoJ2hleCcpO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5zaWduYWJsZVBheWxvYWQ7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,25 @@
1
+ import { BaseCoin as CoinConfig } from '@bitgo/statics';
2
+ import { BaseMessageBuilder, BroadcastableMessage, IMessage } from '@bitgo/sdk-core';
3
+ /**
4
+ * Builder for EIP-191 messages
5
+ */
6
+ export declare class Eip191MessageBuilder extends BaseMessageBuilder {
7
+ /**
8
+ * Base constructor.
9
+ * @param _coinConfig BaseCoin from statics library
10
+ */
11
+ constructor(_coinConfig: Readonly<CoinConfig>);
12
+ /**
13
+ * Build a signable message using the EIP-191 standard
14
+ * with previously set input and metadata
15
+ * @returns A signable message
16
+ */
17
+ build(): Promise<IMessage>;
18
+ /**
19
+ * Parse a broadcastable message back into a message
20
+ * @param broadcastMessage The broadcastable message to parse
21
+ * @returns The parsed message
22
+ */
23
+ fromBroadcastFormat(broadcastMessage: BroadcastableMessage): Promise<IMessage>;
24
+ }
25
+ //# sourceMappingURL=eip191MessageBuilder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"eip191MessageBuilder.d.ts","sourceRoot":"","sources":["../../../../../src/lib/messages/eip191/eip191MessageBuilder.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,QAAQ,EAAuB,MAAM,iBAAiB,CAAC;AAE1G;;GAEG;AACH,qBAAa,oBAAqB,SAAQ,kBAAkB;IAC1D;;;OAGG;gBACgB,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC;IAIpD;;;;OAIG;IACU,KAAK,IAAI,OAAO,CAAC,QAAQ,CAAC;IAuBvC;;;;OAIG;IACU,mBAAmB,CAAC,gBAAgB,EAAE,oBAAoB,GAAG,OAAO,CAAC,QAAQ,CAAC;CAgB5F"}
@@ -0,0 +1,68 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Eip191MessageBuilder = void 0;
4
+ const eip191Message_1 = require("./eip191Message");
5
+ const sdk_core_1 = require("@bitgo/sdk-core");
6
+ /**
7
+ * Builder for EIP-191 messages
8
+ */
9
+ class Eip191MessageBuilder extends sdk_core_1.BaseMessageBuilder {
10
+ /**
11
+ * Base constructor.
12
+ * @param _coinConfig BaseCoin from statics library
13
+ */
14
+ constructor(_coinConfig) {
15
+ super(_coinConfig, sdk_core_1.MessageStandardType.EIP191);
16
+ }
17
+ /**
18
+ * Build a signable message using the EIP-191 standard
19
+ * with previously set input and metadata
20
+ * @returns A signable message
21
+ */
22
+ async build() {
23
+ try {
24
+ if (!this.payload) {
25
+ throw new Error('Message payload must be set before building the message');
26
+ }
27
+ return new eip191Message_1.EIP191Message({
28
+ coinConfig: this.coinConfig,
29
+ payload: this.payload,
30
+ signatures: this.signatures,
31
+ signers: this.signers,
32
+ metadata: {
33
+ ...this.metadata,
34
+ encoding: 'utf8',
35
+ },
36
+ });
37
+ }
38
+ catch (err) {
39
+ if (err instanceof Error) {
40
+ throw err;
41
+ }
42
+ throw new Error('Failed to build EIP-191 message');
43
+ }
44
+ }
45
+ /**
46
+ * Parse a broadcastable message back into a message
47
+ * @param broadcastMessage The broadcastable message to parse
48
+ * @returns The parsed message
49
+ */
50
+ async fromBroadcastFormat(broadcastMessage) {
51
+ const { type, payload, signatures, signers, metadata } = broadcastMessage;
52
+ if (type !== sdk_core_1.MessageStandardType.EIP191) {
53
+ throw new Error(`Invalid message type, expected ${sdk_core_1.MessageStandardType.EIP191}`);
54
+ }
55
+ return new eip191Message_1.EIP191Message({
56
+ coinConfig: this.coinConfig,
57
+ payload,
58
+ signatures,
59
+ signers,
60
+ metadata: {
61
+ ...metadata,
62
+ encoding: 'utf8',
63
+ },
64
+ });
65
+ }
66
+ }
67
+ exports.Eip191MessageBuilder = Eip191MessageBuilder;
68
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWlwMTkxTWVzc2FnZUJ1aWxkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL21lc3NhZ2VzL2VpcDE5MS9laXAxOTFNZXNzYWdlQnVpbGRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxtREFBZ0Q7QUFFaEQsOENBQTBHO0FBRTFHOztHQUVHO0FBQ0gsTUFBYSxvQkFBcUIsU0FBUSw2QkFBa0I7SUFDMUQ7OztPQUdHO0lBQ0gsWUFBbUIsV0FBaUM7UUFDbEQsS0FBSyxDQUFDLFdBQVcsRUFBRSw4QkFBbUIsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNqRCxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNJLEtBQUssQ0FBQyxLQUFLO1FBQ2hCLElBQUksQ0FBQztZQUNILElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7Z0JBQ2xCLE1BQU0sSUFBSSxLQUFLLENBQUMseURBQXlELENBQUMsQ0FBQztZQUM3RSxDQUFDO1lBQ0QsT0FBTyxJQUFJLDZCQUFhLENBQUM7Z0JBQ3ZCLFVBQVUsRUFBRSxJQUFJLENBQUMsVUFBVTtnQkFDM0IsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPO2dCQUNyQixVQUFVLEVBQUUsSUFBSSxDQUFDLFVBQVU7Z0JBQzNCLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTztnQkFDckIsUUFBUSxFQUFFO29CQUNSLEdBQUcsSUFBSSxDQUFDLFFBQVE7b0JBQ2hCLFFBQVEsRUFBRSxNQUFNO2lCQUNqQjthQUNGLENBQUMsQ0FBQztRQUNMLENBQUM7UUFBQyxPQUFPLEdBQUcsRUFBRSxDQUFDO1lBQ2IsSUFBSSxHQUFHLFlBQVksS0FBSyxFQUFFLENBQUM7Z0JBQ3pCLE1BQU0sR0FBRyxDQUFDO1lBQ1osQ0FBQztZQUNELE1BQU0sSUFBSSxLQUFLLENBQUMsaUNBQWlDLENBQUMsQ0FBQztRQUNyRCxDQUFDO0lBQ0gsQ0FBQztJQUVEOzs7O09BSUc7SUFDSSxLQUFLLENBQUMsbUJBQW1CLENBQUMsZ0JBQXNDO1FBQ3JFLE1BQU0sRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLEdBQUcsZ0JBQWdCLENBQUM7UUFDMUUsSUFBSSxJQUFJLEtBQUssOEJBQW1CLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDeEMsTUFBTSxJQUFJLEtBQUssQ0FBQyxrQ0FBa0MsOEJBQW1CLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQztRQUNsRixDQUFDO1FBQ0QsT0FBTyxJQUFJLDZCQUFhLENBQUM7WUFDdkIsVUFBVSxFQUFFLElBQUksQ0FBQyxVQUFVO1lBQzNCLE9BQU87WUFDUCxVQUFVO1lBQ1YsT0FBTztZQUNQLFFBQVEsRUFBRTtnQkFDUixHQUFHLFFBQVE7Z0JBQ1gsUUFBUSxFQUFFLE1BQU07YUFDakI7U0FDRixDQUFDLENBQUM7SUFDTCxDQUFDO0NBQ0Y7QUExREQsb0RBMERDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRUlQMTkxTWVzc2FnZSB9IGZyb20gJy4vZWlwMTkxTWVzc2FnZSc7XG5pbXBvcnQgeyBCYXNlQ29pbiBhcyBDb2luQ29uZmlnIH0gZnJvbSAnQGJpdGdvL3N0YXRpY3MnO1xuaW1wb3J0IHsgQmFzZU1lc3NhZ2VCdWlsZGVyLCBCcm9hZGNhc3RhYmxlTWVzc2FnZSwgSU1lc3NhZ2UsIE1lc3NhZ2VTdGFuZGFyZFR5cGUgfSBmcm9tICdAYml0Z28vc2RrLWNvcmUnO1xuXG4vKipcbiAqIEJ1aWxkZXIgZm9yIEVJUC0xOTEgbWVzc2FnZXNcbiAqL1xuZXhwb3J0IGNsYXNzIEVpcDE5MU1lc3NhZ2VCdWlsZGVyIGV4dGVuZHMgQmFzZU1lc3NhZ2VCdWlsZGVyIHtcbiAgLyoqXG4gICAqIEJhc2UgY29uc3RydWN0b3IuXG4gICAqIEBwYXJhbSBfY29pbkNvbmZpZyBCYXNlQ29pbiBmcm9tIHN0YXRpY3MgbGlicmFyeVxuICAgKi9cbiAgcHVibGljIGNvbnN0cnVjdG9yKF9jb2luQ29uZmlnOiBSZWFkb25seTxDb2luQ29uZmlnPikge1xuICAgIHN1cGVyKF9jb2luQ29uZmlnLCBNZXNzYWdlU3RhbmRhcmRUeXBlLkVJUDE5MSk7XG4gIH1cblxuICAvKipcbiAgICogQnVpbGQgYSBzaWduYWJsZSBtZXNzYWdlIHVzaW5nIHRoZSBFSVAtMTkxIHN0YW5kYXJkXG4gICAqIHdpdGggcHJldmlvdXNseSBzZXQgaW5wdXQgYW5kIG1ldGFkYXRhXG4gICAqIEByZXR1cm5zIEEgc2lnbmFibGUgbWVzc2FnZVxuICAgKi9cbiAgcHVibGljIGFzeW5jIGJ1aWxkKCk6IFByb21pc2U8SU1lc3NhZ2U+IHtcbiAgICB0cnkge1xuICAgICAgaWYgKCF0aGlzLnBheWxvYWQpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdNZXNzYWdlIHBheWxvYWQgbXVzdCBiZSBzZXQgYmVmb3JlIGJ1aWxkaW5nIHRoZSBtZXNzYWdlJyk7XG4gICAgICB9XG4gICAgICByZXR1cm4gbmV3IEVJUDE5MU1lc3NhZ2Uoe1xuICAgICAgICBjb2luQ29uZmlnOiB0aGlzLmNvaW5Db25maWcsXG4gICAgICAgIHBheWxvYWQ6IHRoaXMucGF5bG9hZCxcbiAgICAgICAgc2lnbmF0dXJlczogdGhpcy5zaWduYXR1cmVzLFxuICAgICAgICBzaWduZXJzOiB0aGlzLnNpZ25lcnMsXG4gICAgICAgIG1ldGFkYXRhOiB7XG4gICAgICAgICAgLi4udGhpcy5tZXRhZGF0YSxcbiAgICAgICAgICBlbmNvZGluZzogJ3V0ZjgnLFxuICAgICAgICB9LFxuICAgICAgfSk7XG4gICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICBpZiAoZXJyIGluc3RhbmNlb2YgRXJyb3IpIHtcbiAgICAgICAgdGhyb3cgZXJyO1xuICAgICAgfVxuICAgICAgdGhyb3cgbmV3IEVycm9yKCdGYWlsZWQgdG8gYnVpbGQgRUlQLTE5MSBtZXNzYWdlJyk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFBhcnNlIGEgYnJvYWRjYXN0YWJsZSBtZXNzYWdlIGJhY2sgaW50byBhIG1lc3NhZ2VcbiAgICogQHBhcmFtIGJyb2FkY2FzdE1lc3NhZ2UgVGhlIGJyb2FkY2FzdGFibGUgbWVzc2FnZSB0byBwYXJzZVxuICAgKiBAcmV0dXJucyBUaGUgcGFyc2VkIG1lc3NhZ2VcbiAgICovXG4gIHB1YmxpYyBhc3luYyBmcm9tQnJvYWRjYXN0Rm9ybWF0KGJyb2FkY2FzdE1lc3NhZ2U6IEJyb2FkY2FzdGFibGVNZXNzYWdlKTogUHJvbWlzZTxJTWVzc2FnZT4ge1xuICAgIGNvbnN0IHsgdHlwZSwgcGF5bG9hZCwgc2lnbmF0dXJlcywgc2lnbmVycywgbWV0YWRhdGEgfSA9IGJyb2FkY2FzdE1lc3NhZ2U7XG4gICAgaWYgKHR5cGUgIT09IE1lc3NhZ2VTdGFuZGFyZFR5cGUuRUlQMTkxKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgbWVzc2FnZSB0eXBlLCBleHBlY3RlZCAke01lc3NhZ2VTdGFuZGFyZFR5cGUuRUlQMTkxfWApO1xuICAgIH1cbiAgICByZXR1cm4gbmV3IEVJUDE5MU1lc3NhZ2Uoe1xuICAgICAgY29pbkNvbmZpZzogdGhpcy5jb2luQ29uZmlnLFxuICAgICAgcGF5bG9hZCxcbiAgICAgIHNpZ25hdHVyZXMsXG4gICAgICBzaWduZXJzLFxuICAgICAgbWV0YWRhdGE6IHtcbiAgICAgICAgLi4ubWV0YWRhdGEsXG4gICAgICAgIGVuY29kaW5nOiAndXRmOCcsXG4gICAgICB9LFxuICAgIH0pO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,3 @@
1
+ export * from './eip191Message';
2
+ export * from './eip191MessageBuilder';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/lib/messages/eip191/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,wBAAwB,CAAC"}
@@ -0,0 +1,19 @@
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("./eip191Message"), exports);
18
+ __exportStar(require("./eip191MessageBuilder"), exports);
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL21lc3NhZ2VzL2VpcDE5MS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsa0RBQWdDO0FBQ2hDLHlEQUF1QyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vZWlwMTkxTWVzc2FnZSc7XG5leHBvcnQgKiBmcm9tICcuL2VpcDE5MU1lc3NhZ2VCdWlsZGVyJztcbiJdfQ==
@@ -0,0 +1,3 @@
1
+ export * from './messageBuilderFactory';
2
+ export * from './eip191';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/lib/messages/index.ts"],"names":[],"mappings":"AAAA,cAAc,yBAAyB,CAAC;AACxC,cAAc,UAAU,CAAC"}
@@ -0,0 +1,19 @@
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("./messageBuilderFactory"), exports);
18
+ __exportStar(require("./eip191"), exports);
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL21lc3NhZ2VzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSwwREFBd0M7QUFDeEMsMkNBQXlCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9tZXNzYWdlQnVpbGRlckZhY3RvcnknO1xuZXhwb3J0ICogZnJvbSAnLi9laXAxOTEnO1xuIl19
@@ -0,0 +1,7 @@
1
+ import { BaseCoin as CoinConfig } from '@bitgo/statics';
2
+ import { BaseMessageBuilderFactory, IMessageBuilder, MessageStandardType } from '@bitgo/sdk-core';
3
+ export declare class MessageBuilderFactory extends BaseMessageBuilderFactory {
4
+ constructor(coinConfig: Readonly<CoinConfig>);
5
+ getMessageBuilder(type: MessageStandardType): IMessageBuilder;
6
+ }
7
+ //# sourceMappingURL=messageBuilderFactory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"messageBuilderFactory.d.ts","sourceRoot":"","sources":["../../../../src/lib/messages/messageBuilderFactory.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAE,yBAAyB,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAElG,qBAAa,qBAAsB,SAAQ,yBAAyB;gBACtD,UAAU,EAAE,QAAQ,CAAC,UAAU,CAAC;IAIrC,iBAAiB,CAAC,IAAI,EAAE,mBAAmB,GAAG,eAAe;CAQrE"}
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MessageBuilderFactory = void 0;
4
+ const eip191_1 = require("./eip191");
5
+ const sdk_core_1 = require("@bitgo/sdk-core");
6
+ class MessageBuilderFactory extends sdk_core_1.BaseMessageBuilderFactory {
7
+ constructor(coinConfig) {
8
+ super(coinConfig);
9
+ }
10
+ getMessageBuilder(type) {
11
+ switch (type) {
12
+ case sdk_core_1.MessageStandardType.EIP191:
13
+ return new eip191_1.Eip191MessageBuilder(this.coinConfig);
14
+ default:
15
+ throw new Error(`Invalid message standard ${type}`);
16
+ }
17
+ }
18
+ }
19
+ exports.MessageBuilderFactory = MessageBuilderFactory;
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZUJ1aWxkZXJGYWN0b3J5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi9tZXNzYWdlcy9tZXNzYWdlQnVpbGRlckZhY3RvcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEscUNBQWdEO0FBRWhELDhDQUFrRztBQUVsRyxNQUFhLHFCQUFzQixTQUFRLG9DQUF5QjtJQUNsRSxZQUFZLFVBQWdDO1FBQzFDLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUNwQixDQUFDO0lBRU0saUJBQWlCLENBQUMsSUFBeUI7UUFDaEQsUUFBUSxJQUFJLEVBQUUsQ0FBQztZQUNiLEtBQUssOEJBQW1CLENBQUMsTUFBTTtnQkFDN0IsT0FBTyxJQUFJLDZCQUFvQixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUNuRDtnQkFDRSxNQUFNLElBQUksS0FBSyxDQUFDLDRCQUE0QixJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQ3hELENBQUM7SUFDSCxDQUFDO0NBQ0Y7QUFiRCxzREFhQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVpcDE5MU1lc3NhZ2VCdWlsZGVyIH0gZnJvbSAnLi9laXAxOTEnO1xuaW1wb3J0IHsgQmFzZUNvaW4gYXMgQ29pbkNvbmZpZyB9IGZyb20gJ0BiaXRnby9zdGF0aWNzJztcbmltcG9ydCB7IEJhc2VNZXNzYWdlQnVpbGRlckZhY3RvcnksIElNZXNzYWdlQnVpbGRlciwgTWVzc2FnZVN0YW5kYXJkVHlwZSB9IGZyb20gJ0BiaXRnby9zZGstY29yZSc7XG5cbmV4cG9ydCBjbGFzcyBNZXNzYWdlQnVpbGRlckZhY3RvcnkgZXh0ZW5kcyBCYXNlTWVzc2FnZUJ1aWxkZXJGYWN0b3J5IHtcbiAgY29uc3RydWN0b3IoY29pbkNvbmZpZzogUmVhZG9ubHk8Q29pbkNvbmZpZz4pIHtcbiAgICBzdXBlcihjb2luQ29uZmlnKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRNZXNzYWdlQnVpbGRlcih0eXBlOiBNZXNzYWdlU3RhbmRhcmRUeXBlKTogSU1lc3NhZ2VCdWlsZGVyIHtcbiAgICBzd2l0Y2ggKHR5cGUpIHtcbiAgICAgIGNhc2UgTWVzc2FnZVN0YW5kYXJkVHlwZS5FSVAxOTE6XG4gICAgICAgIHJldHVybiBuZXcgRWlwMTkxTWVzc2FnZUJ1aWxkZXIodGhpcy5jb2luQ29uZmlnKTtcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBtZXNzYWdlIHN0YW5kYXJkICR7dHlwZX1gKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
@@ -2,4 +2,5 @@ export * from './transactionBuilder';
2
2
  export * from './token';
3
3
  export * from './transaction';
4
4
  export * from './coin';
5
+ export * from './messages';
5
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../test/unit/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC;AACrC,cAAc,SAAS,CAAC;AACxB,cAAc,eAAe,CAAC;AAC9B,cAAc,QAAQ,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../test/unit/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC;AACrC,cAAc,SAAS,CAAC;AACxB,cAAc,eAAe,CAAC;AAC9B,cAAc,QAAQ,CAAC;AACvB,cAAc,YAAY,CAAC"}
@@ -18,4 +18,5 @@ __exportStar(require("./transactionBuilder"), exports);
18
18
  __exportStar(require("./token"), exports);
19
19
  __exportStar(require("./transaction"), exports);
20
20
  __exportStar(require("./coin"), exports);
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi90ZXN0L3VuaXQvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLHVEQUFxQztBQUNyQywwQ0FBd0I7QUFDeEIsZ0RBQThCO0FBQzlCLHlDQUF1QiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vdHJhbnNhY3Rpb25CdWlsZGVyJztcbmV4cG9ydCAqIGZyb20gJy4vdG9rZW4nO1xuZXhwb3J0ICogZnJvbSAnLi90cmFuc2FjdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL2NvaW4nO1xuIl19
21
+ __exportStar(require("./messages"), exports);
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi90ZXN0L3VuaXQvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLHVEQUFxQztBQUNyQywwQ0FBd0I7QUFDeEIsZ0RBQThCO0FBQzlCLHlDQUF1QjtBQUN2Qiw2Q0FBMkIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3RyYW5zYWN0aW9uQnVpbGRlcic7XG5leHBvcnQgKiBmcm9tICcuL3Rva2VuJztcbmV4cG9ydCAqIGZyb20gJy4vdHJhbnNhY3Rpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9jb2luJztcbmV4cG9ydCAqIGZyb20gJy4vbWVzc2FnZXMnO1xuIl19
@@ -0,0 +1,2 @@
1
+ import 'should';
2
+ //# sourceMappingURL=eip191Message.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"eip191Message.d.ts","sourceRoot":"","sources":["../../../../../test/unit/messages/eip191/eip191Message.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,CAAC"}
@@ -0,0 +1,148 @@
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/sdk-core");
9
+ const fixtures_1 = require("../fixtures");
10
+ const src_1 = require("../../../../src");
11
+ describe('EIP191 Message', () => {
12
+ const sandbox = sinon_1.default.createSandbox();
13
+ afterEach(() => {
14
+ sandbox.restore();
15
+ });
16
+ it('should initialize with the correct type', () => {
17
+ const message = new src_1.EIP191Message({
18
+ coinConfig: fixtures_1.fixtures.coin,
19
+ payload: fixtures_1.fixtures.messages.validMessage,
20
+ });
21
+ message.getType().should.equal(sdk_core_1.MessageStandardType.EIP191);
22
+ });
23
+ it('should generate the correct signable payload with Ethereum prefix', async () => {
24
+ const message = new src_1.EIP191Message({
25
+ coinConfig: fixtures_1.fixtures.coin,
26
+ payload: fixtures_1.fixtures.messages.validMessage,
27
+ });
28
+ const signablePayload = await message.getSignablePayload();
29
+ // Message is prefixed with "\u0019Ethereum Signed Message:\n<length><message>"
30
+ const expectedPrefix = `\u0019Ethereum Signed Message:\n${fixtures_1.fixtures.messages.validMessage.length}`;
31
+ const expectedPayload = Buffer.from(expectedPrefix.concat(fixtures_1.fixtures.messages.validMessage)).toString('hex');
32
+ signablePayload.should.equal(expectedPayload);
33
+ });
34
+ it('should handle empty messages correctly', async () => {
35
+ const message = new src_1.EIP191Message({
36
+ coinConfig: fixtures_1.fixtures.coin,
37
+ payload: fixtures_1.fixtures.messages.emptyMessage,
38
+ });
39
+ const signablePayload = await message.getSignablePayload();
40
+ // Empty message has length 0
41
+ const expectedPrefix = `\u0019Ethereum Signed Message:\n0`;
42
+ const expectedPayload = Buffer.from(expectedPrefix.concat('')).toString('hex');
43
+ signablePayload.should.equal(expectedPayload);
44
+ });
45
+ it('should handle messages with special characters', async () => {
46
+ const message = new src_1.EIP191Message({
47
+ coinConfig: fixtures_1.fixtures.coin,
48
+ payload: fixtures_1.fixtures.messages.specialCharsMessage,
49
+ });
50
+ const signablePayload = await message.getSignablePayload();
51
+ const expectedPrefix = `\u0019Ethereum Signed Message:\n${fixtures_1.fixtures.messages.specialCharsMessage.length}`;
52
+ const expectedPayload = Buffer.from(expectedPrefix.concat(fixtures_1.fixtures.messages.specialCharsMessage)).toString('hex');
53
+ signablePayload.should.equal(expectedPayload);
54
+ });
55
+ it('should reuse existing signable payload if already set', async () => {
56
+ const message = new src_1.EIP191Message({
57
+ coinConfig: fixtures_1.fixtures.coin,
58
+ payload: fixtures_1.fixtures.messages.validMessage,
59
+ signablePayload: 'predefined-payload',
60
+ });
61
+ const signablePayload = await message.getSignablePayload();
62
+ signablePayload.should.equal('predefined-payload');
63
+ });
64
+ it('should maintain signatures and signers correctly', () => {
65
+ const message = new src_1.EIP191Message({
66
+ coinConfig: fixtures_1.fixtures.coin,
67
+ payload: fixtures_1.fixtures.messages.validMessage,
68
+ signatures: [fixtures_1.fixtures.eip191.signature],
69
+ signers: [fixtures_1.fixtures.eip191.signer],
70
+ });
71
+ message.getSignatures().should.containEql(fixtures_1.fixtures.eip191.signature);
72
+ message.getSigners().should.containEql(fixtures_1.fixtures.eip191.signer);
73
+ // Test adding new ones
74
+ message.addSignature('new-signature');
75
+ message.addSigner('new-signer');
76
+ message.getSignatures().should.containEql('new-signature');
77
+ message.getSigners().should.containEql('new-signer');
78
+ // Test replacing all
79
+ message.setSignatures(['replaced-signature']);
80
+ message.setSigners(['replaced-signer']);
81
+ message.getSignatures().should.deepEqual(['replaced-signature']);
82
+ message.getSigners().should.deepEqual(['replaced-signer']);
83
+ });
84
+ it('should store and retrieve metadata correctly', () => {
85
+ const message = new src_1.EIP191Message({
86
+ coinConfig: fixtures_1.fixtures.coin,
87
+ payload: fixtures_1.fixtures.messages.validMessage,
88
+ metadata: fixtures_1.fixtures.eip191.metadata,
89
+ });
90
+ message.getMetadata().should.deepEqual(fixtures_1.fixtures.eip191.metadata);
91
+ });
92
+ describe('Broadcast Format', () => {
93
+ it('should convert to broadcast format correctly', async () => {
94
+ const message = new src_1.EIP191Message({
95
+ coinConfig: fixtures_1.fixtures.coin,
96
+ payload: fixtures_1.fixtures.messages.validMessage,
97
+ signatures: [fixtures_1.fixtures.eip191.signature],
98
+ signers: [fixtures_1.fixtures.eip191.signer],
99
+ metadata: fixtures_1.fixtures.eip191.metadata,
100
+ signablePayload: 'test-signable-payload',
101
+ });
102
+ const broadcastFormat = await message.toBroadcastFormat();
103
+ broadcastFormat.type.should.equal(sdk_core_1.MessageStandardType.EIP191);
104
+ broadcastFormat.payload.should.equal(fixtures_1.fixtures.messages.validMessage);
105
+ broadcastFormat.signatures.should.deepEqual([fixtures_1.fixtures.eip191.signature]);
106
+ broadcastFormat.signers.should.deepEqual([fixtures_1.fixtures.eip191.signer]);
107
+ broadcastFormat.metadata.should.deepEqual(fixtures_1.fixtures.eip191.metadata);
108
+ broadcastFormat.signablePayload.should.equal('test-signable-payload');
109
+ });
110
+ it('should throw error when broadcasting without signatures', async () => {
111
+ const message = new src_1.EIP191Message({
112
+ coinConfig: fixtures_1.fixtures.coin,
113
+ payload: fixtures_1.fixtures.messages.validMessage,
114
+ signers: [fixtures_1.fixtures.eip191.signer],
115
+ });
116
+ await message
117
+ .toBroadcastFormat()
118
+ .should.be.rejectedWith('No signatures available for broadcast. Call setSignatures or addSignature first.');
119
+ });
120
+ it('should throw error when broadcasting without signers', async () => {
121
+ const message = new src_1.EIP191Message({
122
+ coinConfig: fixtures_1.fixtures.coin,
123
+ payload: fixtures_1.fixtures.messages.validMessage,
124
+ signatures: [fixtures_1.fixtures.eip191.signature],
125
+ });
126
+ await message
127
+ .toBroadcastFormat()
128
+ .should.be.rejectedWith('No signers available for broadcast. Call setSigners or addSigner first.');
129
+ });
130
+ it('should convert to broadcast string correctly', async () => {
131
+ const message = new src_1.EIP191Message({
132
+ coinConfig: fixtures_1.fixtures.coin,
133
+ payload: fixtures_1.fixtures.messages.validMessage,
134
+ signatures: [fixtures_1.fixtures.eip191.signature],
135
+ signers: [fixtures_1.fixtures.eip191.signer],
136
+ metadata: fixtures_1.fixtures.eip191.metadata,
137
+ });
138
+ const broadcastString = await message.toBroadcastString();
139
+ const parsedBroadcast = JSON.parse(broadcastString);
140
+ parsedBroadcast.type.should.equal(sdk_core_1.MessageStandardType.EIP191);
141
+ parsedBroadcast.payload.should.equal(fixtures_1.fixtures.messages.validMessage);
142
+ parsedBroadcast.signatures.should.deepEqual([fixtures_1.fixtures.eip191.signature]);
143
+ parsedBroadcast.signers.should.deepEqual([fixtures_1.fixtures.eip191.signer]);
144
+ parsedBroadcast.metadata.should.deepEqual(fixtures_1.fixtures.eip191.metadata);
145
+ });
146
+ });
147
+ });
148
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWlwMTkxTWVzc2FnZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Rlc3QvdW5pdC9tZXNzYWdlcy9laXAxOTEvZWlwMTkxTWVzc2FnZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLGtCQUFnQjtBQUNoQixrREFBMEI7QUFDMUIsOENBQXNEO0FBQ3RELDBDQUF1QztBQUN2Qyx5Q0FBZ0Q7QUFFaEQsUUFBUSxDQUFDLGdCQUFnQixFQUFFLEdBQUcsRUFBRTtJQUM5QixNQUFNLE9BQU8sR0FBRyxlQUFLLENBQUMsYUFBYSxFQUFFLENBQUM7SUFFdEMsU0FBUyxDQUFDLEdBQUcsRUFBRTtRQUNiLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUNwQixDQUFDLENBQUMsQ0FBQztJQUVILEVBQUUsQ0FBQyx5Q0FBeUMsRUFBRSxHQUFHLEVBQUU7UUFDakQsTUFBTSxPQUFPLEdBQUcsSUFBSSxtQkFBYSxDQUFDO1lBQ2hDLFVBQVUsRUFBRSxtQkFBUSxDQUFDLElBQUk7WUFDekIsT0FBTyxFQUFFLG1CQUFRLENBQUMsUUFBUSxDQUFDLFlBQVk7U0FDeEMsQ0FBQyxDQUFDO1FBRUgsT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsOEJBQW1CLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDN0QsQ0FBQyxDQUFDLENBQUM7SUFFSCxFQUFFLENBQUMsbUVBQW1FLEVBQUUsS0FBSyxJQUFJLEVBQUU7UUFDakYsTUFBTSxPQUFPLEdBQUcsSUFBSSxtQkFBYSxDQUFDO1lBQ2hDLFVBQVUsRUFBRSxtQkFBUSxDQUFDLElBQUk7WUFDekIsT0FBTyxFQUFFLG1CQUFRLENBQUMsUUFBUSxDQUFDLFlBQVk7U0FDeEMsQ0FBQyxDQUFDO1FBRUgsTUFBTSxlQUFlLEdBQUcsTUFBTSxPQUFPLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztRQUMzRCwrRUFBK0U7UUFDL0UsTUFBTSxjQUFjLEdBQUcsbUNB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SUFBSTtnQkFDekIsT0FBTyxFQUFFLG1CQUFRLENBQUMsUUFBUSxDQUFDLFlBQVk7Z0JBQ3ZDLFVBQVUsRUFBRSxDQUFDLG1CQUFRLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQztnQkFDdkMsT0FBTyxFQUFFLENBQUMsbUJBQVEsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDO2dCQUNqQyxRQUFRLEVBQUUsbUJBQVEsQ0FBQyxNQUFNLENBQUMsUUFBUTthQUNuQyxDQUFDLENBQUM7WUFFSCxNQUFNLGVBQWUsR0FBRyxNQUFNLE9BQU8sQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1lBQzFELE1BQU0sZUFBZSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsZUFBZSxDQUFDLENBQUM7WUFFcEQsZUFBZSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLDhCQUFtQixDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQzlELGVBQWUsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxtQkFBUSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsQ0FBQztZQUNyRSxlQUFlLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxtQkFBUSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO1lBQ3pFLGVBQWUsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLG1CQUFRLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7WUFDbkUsZUFBZSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLG1CQUFRLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3RFLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAnc2hvdWxkJztcbmltcG9ydCBzaW5vbiBmcm9tICdzaW5vbic7XG5pbXBvcnQgeyBNZXNzYWdlU3RhbmRhcmRUeXBlIH0gZnJvbSAnQGJpdGdvL3Nkay1jb3JlJztcbmltcG9ydCB7IGZpeHR1cmVzIH0gZnJvbSAnLi4vZml4dHVyZXMnO1xuaW1wb3J0IHsgRUlQMTkxTWVzc2FnZSB9IGZyb20gJy4uLy4uLy4uLy4uL3NyYyc7XG5cbmRlc2NyaWJlKCdFSVAxOTEgTWVzc2FnZScsICgpID0+IHtcbiAgY29uc3Qgc2FuZGJveCA9IHNpbm9uLmNyZWF0ZVNhbmRib3goKTtcblxuICBhZnRlckVhY2goKCkgPT4ge1xuICAgIHNhbmRib3gucmVzdG9yZSgpO1xuICB9KTtcblxuICBpdCgnc2hvdWxkIGluaXRpYWxpemUgd2l0aCB0aGUgY29ycmVjdCB0eXBlJywgKCkgPT4ge1xuICAgIGNvbnN0IG1lc3NhZ2UgPSBuZXcgRUlQMTkxTWVzc2FnZSh7XG4gICAgICBjb2luQ29uZmlnOiBmaXh0dXJlcy5jb2luLFxuICAgICAgcGF5bG9hZDogZml4dHVyZXMubWVzc2FnZXMudmFsaWRNZXNzYWdlLFxuICAgIH0pO1xuXG4gICAgbWVzc2FnZS5nZXRUeXBlKCkuc2hvdWxkLmVxdWFsKE1lc3NhZ2VTdGFuZGFyZFR5cGUuRUlQMTkxKTtcbiAgfSk7XG5cbiAgaXQoJ3Nob3VsZCBnZW5lcmF0ZSB0aGUgY29ycmVjdCBzaWduYWJsZSBwYXlsb2FkIHdpdGggRXRoZXJldW0gcHJlZml4JywgYXN5bmMgKCkgPT4ge1xuICAgIGNvbnN0IG1lc3NhZ2UgPSBuZXcgRUlQMTkxTWVzc2FnZSh7XG4gICAgICBjb2luQ29uZmlnOiBmaXh0dXJlcy5jb2luLFxuICAgICAgcGF5bG9hZDogZml4dHVyZXMubWVzc2FnZXMudmFsaWRNZXNzYWdlLFxuICAgIH0pO1xuXG4gICAgY29uc3Qgc2lnbmFibGVQYXlsb2FkID0gYXdhaXQgbWVzc2FnZS5nZXRTaWduYWJsZVBheWxvYWQoKTtcbiAgICAvLyBNZXNzYWdlIGlzIHByZWZpeGVkIHdpdGggXCJcXHUwMDE5RXRoZXJldW0gU2lnbmVkIE1lc3NhZ2U6XFxuPGxlbmd0aD48bWVzc2FnZT5cIlxuICAgIGNvbnN0IGV4cGVjdGVkUHJlZml4ID0gYFxcdTAwMTlFdGhlcmV1bSBTaWduZWQgTWVzc2FnZTpcXG4ke2ZpeHR1cmVzLm1lc3NhZ2VzLnZhbGlkTWVzc2FnZS5sZW5ndGh9YDtcbiAgICBjb25zdCBleHBlY3RlZFBheWxvYWQgPSBCdWZmZXIuZnJvbShleHBlY3RlZFByZWZpeC5jb25jYXQoZml4dHVyZXMubWVzc2FnZXMudmFsaWRNZXNzYWdlKSkudG9TdHJpbmcoJ2hleCcpO1xuXG4gICAgc2lnbmFibGVQYXlsb2FkLnNob3VsZC5lcXVhbChleHBlY3RlZFBheWxvYWQpO1xuICB9KTtcblxuICBpdCgnc2hvdWxkIGhhbmRsZSBlbXB0eSBtZXNzYWdlcyBjb3JyZWN0bHknLCBhc3luYyAoKSA9PiB7XG4gICAgY29uc3QgbWVzc2FnZSA9IG5ldyBFSVAxOTFNZXNzYWdlKHtcbiAgICAgIGNvaW5Db25maWc6IGZpeHR1cmVzLmNvaW4sXG4gICAgICBwYXlsb2FkOiBmaXh0dXJlcy5tZXNzYWdlcy5lbXB0eU1lc3NhZ2UsXG4gICAgfSk7XG5cbiAgICBjb25zdCBzaWduYWJsZVBheWxvYWQgPSBhd2FpdCBtZXNzYWdlLmdldFNpZ25hYmxlUGF5bG9hZCgpO1xuICAgIC8vIEVtcHR5IG1lc3NhZ2UgaGFzIGxlbmd0aCAwXG4gICAgY29uc3QgZXhwZWN0ZWRQcmVmaXggPSBgXFx1MDAxOUV0aGVyZXVtIFNpZ25lZCBNZXNzYWdlOlxcbjBgO1xuICAgIGNvbnN0IGV4cGVjdGVkUGF5bG9hZCA9IEJ1ZmZlci5mcm9tKGV4cGVjdGVkUHJlZml4LmNvbmNhdCgnJykpLnRvU3RyaW5nKCdoZXgnKTtcblxuICAgIHNpZ25hYmxlUGF5bG9hZC5zaG91bGQuZXF1YWwoZXhwZWN0ZWRQYXlsb2FkKTtcbiAgfSk7XG5cbiAgaXQoJ3Nob3VsZCBoYW5kbGUgbWVzc2FnZXMgd2l0aCBzcGVjaWFsIGNoYXJhY3RlcnMnLCBhc3luYyAoKSA9PiB7XG4gICAgY29uc3QgbWVzc2FnZSA9IG5ldyBFSVAxOTFNZXNzYWdlKHtcbiAgICAgIGNvaW5Db25maWc6IGZpeHR1cmVzLmNvaW4sXG4gICAgICBwYXlsb2FkOiBmaXh0dXJlcy5tZXNzYWdlcy5zcGVjaWFsQ2hhcnNNZXNzYWdlLFxuICAgIH0pO1xuXG4gICAgY29uc3Qgc2lnbmFibGVQYXlsb2FkID0gYXdhaXQgbWVzc2FnZS5nZXRTaWduYWJsZVBheWxvYWQoKTtcbiAgICBjb25zdCBleHBlY3RlZFByZWZpeCA9IGBcXHUwMDE5RXRoZXJldW0gU2lnbmVkIE1lc3NhZ2U6XFxuJHtmaXh0dXJlcy5tZXNzYWdlcy5zcGVjaWFsQ2hhcnNNZXNzYWdlLmxlbmd0aH1gO1xuICAgIGNvbnN0IGV4cGVjdGVkUGF5bG9hZCA9IEJ1ZmZlci5mcm9tKGV4cGVjdGVkUHJlZml4LmNvbmNhdChmaXh0dXJlcy5tZXNzYWdlcy5zcGVjaWFsQ2hhcnNNZXNzYWdlKSkudG9TdHJpbmcoJ2hleCcpO1xuXG4gICAgc2lnbmFibGVQYXlsb2FkLnNob3VsZC5lcXVhbChleHBlY3RlZFBheWxvYWQpO1xuICB9KTtcblxuICBpdCgnc2hvdWxkIHJldXNlIGV4aXN0aW5nIHNpZ25hYmxlIHBheWxvYWQgaWYgYWxyZWFkeSBzZXQnLCBhc3luYyAoKSA9PiB7XG4gICAgY29uc3QgbWVzc2FnZSA9IG5ldyBFSVAxOTFNZXNzYWdlKHtcbiAgICAgIGNvaW5Db25maWc6IGZpeHR1cmVzLmNvaW4sXG4gICAgICBwYXlsb2FkOiBmaXh0dXJlcy5tZXNzYWdlcy52YWxpZE1lc3NhZ2UsXG4gICAgICBzaWduYWJsZVBheWxvYWQ6ICdwcmVkZWZpbmVkLXBheWxvYWQnLFxuICAgIH0pO1xuXG4gICAgY29uc3Qgc2lnbmFibGVQYXlsb2FkID0gYXdhaXQgbWVzc2FnZS5nZXRTaWduYWJsZVBheWxvYWQoKTtcbiAgICBzaWduYWJsZVBheWxvYWQuc2hvdWxkLmVxdWFsKCdwcmVkZWZpbmVkLXBheWxvYWQnKTtcbiAgfSk7XG5cbiAgaXQoJ3Nob3VsZCBtYWludGFpbiBzaWduYXR1cmVzIGFuZCBzaWduZXJzIGNvcnJlY3RseScsICgpID0+IHtcbiAgICBjb25zdCBtZXNzYWdlID0gbmV3IEVJUDE5MU1lc3NhZ2Uoe1xuICAgICAgY29pbkNvbmZpZzogZml4dHVyZXMuY29pbixcbiAgICAgIHBheWxvYWQ6IGZpeHR1cmVzLm1lc3NhZ2VzLnZhbGlkTWVzc2FnZSxcbiAgICAgIHNpZ25hdHVyZXM6IFtmaXh0dXJlcy5laXAxOTEuc2lnbmF0dXJlXSxcbiAgICAgIHNpZ25lcnM6IFtmaXh0dXJlcy5laXAxOTEuc2lnbmVyXSxcbiAgICB9KTtcblxuICAgIG1lc3NhZ2UuZ2V0U2lnbmF0dXJlcygpLnNob3VsZC5jb250YWluRXFsKGZpeHR1cmVzLmVpcDE5MS5zaWduYXR1cmUpO1xuICAgIG1lc3NhZ2UuZ2V0U2lnbmVycygpLnNob3VsZC5jb250YWluRXFsKGZpeHR1cmVzLmVpcDE5MS5zaWduZXIpO1xuXG4gICAgLy8gVGVzdCBhZGRpbmcgbmV3IG9uZXNcbiAgICBtZXNzYWdlLmFkZFNpZ25hdHVyZSgnbmV3LXNpZ25hdHVyZScpO1xuICAgIG1lc3NhZ2UuYWRkU2lnbmVyKCduZXctc2lnbmVyJyk7XG5cbiAgICBtZXNzYWdlLmdldFNpZ25hdHVyZXMoKS5zaG91bGQuY29udGFpbkVxbCgnbmV3LXNpZ25hdHVyZScpO1xuICAgIG1lc3NhZ2UuZ2V0U2lnbmVycygpLnNob3VsZC5jb250YWluRXFsKCduZXctc2lnbmVyJyk7XG5cbiAgICAvLyBUZXN0IHJlcGxhY2luZyBhbGxcbiAgICBtZXNzYWdlLnNldFNpZ25hdHVyZXMoWydyZXBsYWNlZC1zaWduYXR1cmUnXSk7XG4gICAgbWVzc2FnZS5zZXRTaWduZXJzKFsncmVwbGFjZWQtc2lnbmVyJ10pO1xuXG4gICAgbWVzc2FnZS5nZXRTaWduYXR1cmVzKCkuc2hvdWxkLmRlZXBFcXVhbChbJ3JlcGxhY2VkLXNpZ25hdHVyZSddKTtcbiAgICBtZXNzYWdlLmdldFNpZ25lcnMoKS5zaG91bGQuZGVlcEVxdWFsKFsncmVwbGFjZWQtc2lnbmVyJ10pO1xuICB9KTtcblxuICBpdCgnc2hvdWxkIHN0b3JlIGFuZCByZXRyaWV2ZSBtZXRhZGF0YSBjb3JyZWN0bHknLCAoKSA9PiB7XG4gICAgY29uc3QgbWVzc2FnZSA9IG5ldyBFSVAxOTFNZXNzYWdlKHtcbiAgICAgIGNvaW5Db25maWc6IGZpeHR1cmVzLmNvaW4sXG4gICAgICBwYXlsb2FkOiBmaXh0dXJlcy5tZXNzYWdlcy52YWxpZE1lc3NhZ2UsXG4gICAgICBtZXRhZGF0YTogZml4dHVyZXMuZWlwMTkxLm1ldGFkYXRhLFxuICAgIH0pO1xuXG4gICAgbWVzc2FnZS5nZXRNZXRhZGF0YSgpIS5zaG91bGQuZGVlcEVxdWFsKGZpeHR1cmVzLmVpcDE5MS5tZXRhZGF0YSk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCdCcm9hZGNhc3QgRm9ybWF0JywgKCkgPT4ge1xuICAgIGl0KCdzaG91bGQgY29udmVydCB0byBicm9hZGNhc3QgZm9ybWF0IGNvcnJlY3RseScsIGFzeW5jICgpID0+IHtcbiAgICAgIGNvbnN0IG1lc3NhZ2UgPSBuZXcgRUlQMTkxTWVzc2FnZSh7XG4gICAgICAgIGNvaW5Db25maWc6IGZpeHR1cmVzLmNvaW4sXG4gICAgICAgIHBheWxvYWQ6IGZpeHR1cmVzLm1lc3NhZ2VzLnZhbGlkTWVzc2FnZSxcbiAgICAgICAgc2lnbmF0dXJlczogW2ZpeHR1cmVzLmVpcDE5MS5zaWduYXR1cmVdLFxuICAgICAgICBzaWduZXJzOiBbZml4dHVyZXMuZWlwMTkxLnNpZ25lcl0sXG4gICAgICAgIG1ldGFkYXRhOiBmaXh0dXJlcy5laXAxOTEubWV0YWRhdGEsXG4gICAgICAgIHNpZ25hYmxlUGF5bG9hZDogJ3Rlc3Qtc2lnbmFibGUtcGF5bG9hZCcsXG4gICAgICB9KTtcblxuICAgICAgY29uc3QgYnJvYWRjYXN0Rm9ybWF0ID0gYXdhaXQgbWVzc2FnZS50b0Jyb2FkY2FzdEZvcm1hdCgpO1xuXG4gICAgICBicm9hZGNhc3RGb3JtYXQudHlwZS5zaG91bGQuZXF1YWwoTWVzc2FnZVN0YW5kYXJkVHlwZS5FSVAxOTEpO1xuICAgICAgYnJvYWRjYXN0Rm9ybWF0LnBheWxvYWQuc2hvdWxkLmVxdWFsKGZpeHR1cmVzLm1lc3NhZ2VzLnZhbGlkTWVzc2FnZSk7XG4gICAgICBicm9hZGNhc3RGb3JtYXQuc2lnbmF0dXJlcy5zaG91bGQuZGVlcEVxdWFsKFtmaXh0dXJlcy5laXAxOTEuc2lnbmF0dXJlXSk7XG4gICAgICBicm9hZGNhc3RGb3JtYXQuc2lnbmVycy5zaG91bGQuZGVlcEVxdWFsKFtmaXh0dXJlcy5laXAxOTEuc2lnbmVyXSk7XG4gICAgICBicm9hZGNhc3RGb3JtYXQubWV0YWRhdGEhLnNob3VsZC5kZWVwRXF1YWwoZml4dHVyZXMuZWlwMTkxLm1ldGFkYXRhKTtcbiAgICAgIGJyb2FkY2FzdEZvcm1hdC5zaWduYWJsZVBheWxvYWQhLnNob3VsZC5lcXVhbCgndGVzdC1zaWduYWJsZS1wYXlsb2FkJyk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIHRocm93IGVycm9yIHdoZW4gYnJvYWRjYXN0aW5nIHdpdGhvdXQgc2lnbmF0dXJlcycsIGFzeW5jICgpID0+IHtcbiAgICAgIGNvbnN0IG1lc3NhZ2UgPSBuZXcgRUlQMTkxTWVzc2FnZSh7XG4gICAgICAgIGNvaW5Db25maWc6IGZpeHR1cmVzLmNvaW4sXG4gICAgICAgIHBheWxvYWQ6IGZpeHR1cmVzLm1lc3NhZ2VzLnZhbGlkTWVzc2FnZSxcbiAgICAgICAgc2lnbmVyczogW2ZpeHR1cmVzLmVpcDE5MS5zaWduZXJdLFxuICAgICAgfSk7XG5cbiAgICAgIGF3YWl0IG1lc3NhZ2VcbiAgICAgICAgLnRvQnJvYWRjYXN0Rm9ybWF0KClcbiAgICAgICAgLnNob3VsZC5iZS5yZWplY3RlZFdpdGgoJ05vIHNpZ25hdHVyZXMgYXZhaWxhYmxlIGZvciBicm9hZGNhc3QuIENhbGwgc2V0U2lnbmF0dXJlcyBvciBhZGRTaWduYXR1cmUgZmlyc3QuJyk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIHRocm93IGVycm9yIHdoZW4gYnJvYWRjYXN0aW5nIHdpdGhvdXQgc2lnbmVycycsIGFzeW5jICgpID0+IHtcbiAgICAgIGNvbnN0IG1lc3NhZ2UgPSBuZXcgRUlQMTkxTWVzc2FnZSh7XG4gICAgICAgIGNvaW5Db25maWc6IGZpeHR1cmVzLmNvaW4sXG4gICAgICAgIHBheWxvYWQ6IGZpeHR1cmVzLm1lc3NhZ2VzLnZhbGlkTWVzc2FnZSxcbiAgICAgICAgc2lnbmF0dXJlczogW2ZpeHR1cmVzLmVpcDE5MS5zaWduYXR1cmVdLFxuICAgICAgfSk7XG5cbiAgICAgIGF3YWl0IG1lc3NhZ2VcbiAgICAgICAgLnRvQnJvYWRjYXN0Rm9ybWF0KClcbiAgICAgICAgLnNob3VsZC5iZS5yZWplY3RlZFdpdGgoJ05vIHNpZ25lcnMgYXZhaWxhYmxlIGZvciBicm9hZGNhc3QuIENhbGwgc2V0U2lnbmVycyBvciBhZGRTaWduZXIgZmlyc3QuJyk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIGNvbnZlcnQgdG8gYnJvYWRjYXN0IHN0cmluZyBjb3JyZWN0bHknLCBhc3luYyAoKSA9PiB7XG4gICAgICBjb25zdCBtZXNzYWdlID0gbmV3IEVJUDE5MU1lc3NhZ2Uoe1xuICAgICAgICBjb2luQ29uZmlnOiBmaXh0dXJlcy5jb2luLFxuICAgICAgICBwYXlsb2FkOiBmaXh0dXJlcy5tZXNzYWdlcy52YWxpZE1lc3NhZ2UsXG4gICAgICAgIHNpZ25hdHVyZXM6IFtmaXh0dXJlcy5laXAxOTEuc2lnbmF0dXJlXSxcbiAgICAgICAgc2lnbmVyczogW2ZpeHR1cmVzLmVpcDE5MS5zaWduZXJdLFxuICAgICAgICBtZXRhZGF0YTogZml4dHVyZXMuZWlwMTkxLm1ldGFkYXRhLFxuICAgICAgfSk7XG5cbiAgICAgIGNvbnN0IGJyb2FkY2FzdFN0cmluZyA9IGF3YWl0IG1lc3NhZ2UudG9Ccm9hZGNhc3RTdHJpbmcoKTtcbiAgICAgIGNvbnN0IHBhcnNlZEJyb2FkY2FzdCA9IEpTT04ucGFyc2UoYnJvYWRjYXN0U3RyaW5nKTtcblxuICAgICAgcGFyc2VkQnJvYWRjYXN0LnR5cGUuc2hvdWxkLmVxdWFsKE1lc3NhZ2VTdGFuZGFyZFR5cGUuRUlQMTkxKTtcbiAgICAgIHBhcnNlZEJyb2FkY2FzdC5wYXlsb2FkLnNob3VsZC5lcXVhbChmaXh0dXJlcy5tZXNzYWdlcy52YWxpZE1lc3NhZ2UpO1xuICAgICAgcGFyc2VkQnJvYWRjYXN0LnNpZ25hdHVyZXMuc2hvdWxkLmRlZXBFcXVhbChbZml4dHVyZXMuZWlwMTkxLnNpZ25hdHVyZV0pO1xuICAgICAgcGFyc2VkQnJvYWRjYXN0LnNpZ25lcnMuc2hvdWxkLmRlZXBFcXVhbChbZml4dHVyZXMuZWlwMTkxLnNpZ25lcl0pO1xuICAgICAgcGFyc2VkQnJvYWRjYXN0Lm1ldGFkYXRhLnNob3VsZC5kZWVwRXF1YWwoZml4dHVyZXMuZWlwMTkxLm1ldGFkYXRhKTtcbiAgICB9KTtcbiAgfSk7XG59KTtcbiJdfQ==
@@ -0,0 +1,2 @@
1
+ import 'should';
2
+ //# sourceMappingURL=eip191MessageBuilder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"eip191MessageBuilder.d.ts","sourceRoot":"","sources":["../../../../../test/unit/messages/eip191/eip191MessageBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,CAAC"}