@hyperlane-xyz/utils 3.10.1-beta1 → 3.20.0-beta0

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 (119) hide show
  1. package/dist/addresses.d.ts +1 -1
  2. package/dist/addresses.d.ts.map +1 -1
  3. package/dist/index.d.ts +2 -1
  4. package/dist/index.d.ts.map +1 -1
  5. package/dist/index.js +1 -0
  6. package/dist/index.js.map +1 -1
  7. package/dist/types.d.ts +3 -1
  8. package/dist/types.d.ts.map +1 -1
  9. package/dist/types.js +0 -1
  10. package/dist/types.js.map +1 -1
  11. package/dist/url.d.ts +2 -0
  12. package/dist/url.d.ts.map +1 -0
  13. package/dist/url.js +10 -0
  14. package/dist/url.js.map +1 -0
  15. package/package.json +2 -2
  16. package/dist/src/addresses.d.ts +0 -42
  17. package/dist/src/addresses.d.ts.map +0 -1
  18. package/dist/src/addresses.js +0 -335
  19. package/dist/src/addresses.js.map +0 -1
  20. package/dist/src/addresses.test.d.ts +0 -2
  21. package/dist/src/addresses.test.d.ts.map +0 -1
  22. package/dist/src/addresses.test.js +0 -46
  23. package/dist/src/addresses.test.js.map +0 -1
  24. package/dist/src/amount.d.ts +0 -45
  25. package/dist/src/amount.d.ts.map +0 -1
  26. package/dist/src/amount.js +0 -126
  27. package/dist/src/amount.js.map +0 -1
  28. package/dist/src/amount.test.d.ts +0 -2
  29. package/dist/src/amount.test.d.ts.map +0 -1
  30. package/dist/src/amount.test.js +0 -48
  31. package/dist/src/amount.test.js.map +0 -1
  32. package/dist/src/arrays.d.ts +0 -8
  33. package/dist/src/arrays.d.ts.map +0 -1
  34. package/dist/src/arrays.js +0 -16
  35. package/dist/src/arrays.js.map +0 -1
  36. package/dist/src/async.d.ts +0 -47
  37. package/dist/src/async.d.ts.map +0 -1
  38. package/dist/src/async.js +0 -101
  39. package/dist/src/async.js.map +0 -1
  40. package/dist/src/base58.d.ts +0 -5
  41. package/dist/src/base58.d.ts.map +0 -1
  42. package/dist/src/base58.js +0 -21
  43. package/dist/src/base58.js.map +0 -1
  44. package/dist/src/base64.d.ts +0 -3
  45. package/dist/src/base64.d.ts.map +0 -1
  46. package/dist/src/base64.js +0 -30
  47. package/dist/src/base64.js.map +0 -1
  48. package/dist/src/big-numbers.d.ts +0 -50
  49. package/dist/src/big-numbers.d.ts.map +0 -1
  50. package/dist/src/big-numbers.js +0 -93
  51. package/dist/src/big-numbers.js.map +0 -1
  52. package/dist/src/big-numbers.test.d.ts +0 -2
  53. package/dist/src/big-numbers.test.d.ts.map +0 -1
  54. package/dist/src/big-numbers.test.js +0 -101
  55. package/dist/src/big-numbers.test.js.map +0 -1
  56. package/dist/src/calldata.d.ts +0 -3
  57. package/dist/src/calldata.d.ts.map +0 -1
  58. package/dist/src/calldata.js +0 -8
  59. package/dist/src/calldata.js.map +0 -1
  60. package/dist/src/checkpoints.d.ts +0 -5
  61. package/dist/src/checkpoints.d.ts.map +0 -1
  62. package/dist/src/checkpoints.js +0 -30
  63. package/dist/src/checkpoints.js.map +0 -1
  64. package/dist/src/domains.d.ts +0 -2
  65. package/dist/src/domains.d.ts.map +0 -1
  66. package/dist/src/domains.js +0 -10
  67. package/dist/src/domains.js.map +0 -1
  68. package/dist/src/env.d.ts +0 -2
  69. package/dist/src/env.d.ts.map +0 -1
  70. package/dist/src/env.js +0 -15
  71. package/dist/src/env.js.map +0 -1
  72. package/dist/src/ids.d.ts +0 -20
  73. package/dist/src/ids.d.ts.map +0 -1
  74. package/dist/src/ids.js +0 -47
  75. package/dist/src/ids.js.map +0 -1
  76. package/dist/src/logging.d.ts +0 -20
  77. package/dist/src/logging.d.ts.map +0 -1
  78. package/dist/src/logging.js +0 -89
  79. package/dist/src/logging.js.map +0 -1
  80. package/dist/src/math.d.ts +0 -5
  81. package/dist/src/math.d.ts.map +0 -1
  82. package/dist/src/math.js +0 -25
  83. package/dist/src/math.js.map +0 -1
  84. package/dist/src/messages.d.ts +0 -21
  85. package/dist/src/messages.d.ts.map +0 -1
  86. package/dist/src/messages.js +0 -58
  87. package/dist/src/messages.js.map +0 -1
  88. package/dist/src/multisig.d.ts +0 -4
  89. package/dist/src/multisig.d.ts.map +0 -1
  90. package/dist/src/multisig.js +0 -61
  91. package/dist/src/multisig.js.map +0 -1
  92. package/dist/src/objects.d.ts +0 -16
  93. package/dist/src/objects.d.ts.map +0 -1
  94. package/dist/src/objects.js +0 -93
  95. package/dist/src/objects.js.map +0 -1
  96. package/dist/src/sets.d.ts +0 -4
  97. package/dist/src/sets.d.ts.map +0 -1
  98. package/dist/src/sets.js +0 -30
  99. package/dist/src/sets.js.map +0 -1
  100. package/dist/src/strings.d.ts +0 -7
  101. package/dist/src/strings.d.ts.map +0 -1
  102. package/dist/src/strings.js +0 -51
  103. package/dist/src/strings.js.map +0 -1
  104. package/dist/src/typeof.d.ts +0 -3
  105. package/dist/src/typeof.d.ts.map +0 -1
  106. package/dist/src/typeof.js +0 -12
  107. package/dist/src/typeof.js.map +0 -1
  108. package/dist/src/types.d.ts +0 -84
  109. package/dist/src/types.d.ts.map +0 -1
  110. package/dist/src/types.js +0 -25
  111. package/dist/src/types.js.map +0 -1
  112. package/dist/src/validation.d.ts +0 -2
  113. package/dist/src/validation.d.ts.map +0 -1
  114. package/dist/src/validation.js +0 -10
  115. package/dist/src/validation.js.map +0 -1
  116. package/dist/src/validator.d.ts +0 -17
  117. package/dist/src/validator.d.ts.map +0 -1
  118. package/dist/src/validator.js +0 -44
  119. package/dist/src/validator.js.map +0 -1
@@ -1,58 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.parseMessage = exports.messageId = exports.formatMessage = void 0;
4
- const ethers_1 = require("ethers");
5
- const addresses_1 = require("./addresses");
6
- /**
7
- * JS Implementation of solidity/contracts/libs/Message.sol#formatMessage
8
- * @returns Hex string of the packed message
9
- */
10
- const formatMessage = (version, nonce, originDomain, senderAddr, destinationDomain, recipientAddr, body) => {
11
- senderAddr = (0, addresses_1.addressToBytes32)(senderAddr);
12
- recipientAddr = (0, addresses_1.addressToBytes32)(recipientAddr);
13
- return ethers_1.ethers.utils.solidityPack(['uint8', 'uint32', 'uint32', 'bytes32', 'uint32', 'bytes32', 'bytes'], [
14
- version,
15
- nonce,
16
- originDomain,
17
- senderAddr,
18
- destinationDomain,
19
- recipientAddr,
20
- body,
21
- ]);
22
- };
23
- exports.formatMessage = formatMessage;
24
- /**
25
- * Get ID given message bytes
26
- * @param message Hex string of the packed message (see formatMessage)
27
- * @returns Hex string of message id
28
- */
29
- function messageId(message) {
30
- return ethers_1.ethers.utils.solidityKeccak256(['bytes'], [message]);
31
- }
32
- exports.messageId = messageId;
33
- /**
34
- * Parse a serialized Hyperlane message from raw bytes.
35
- *
36
- * @param message
37
- * @returns
38
- */
39
- function parseMessage(message) {
40
- const VERSION_OFFSET = 0;
41
- const NONCE_OFFSET = 1;
42
- const ORIGIN_OFFSET = 5;
43
- const SENDER_OFFSET = 9;
44
- const DESTINATION_OFFSET = 41;
45
- const RECIPIENT_OFFSET = 45;
46
- const BODY_OFFSET = 77;
47
- const buf = Buffer.from(ethers_1.utils.arrayify(message));
48
- const version = buf.readUint8(VERSION_OFFSET);
49
- const nonce = buf.readUInt32BE(NONCE_OFFSET);
50
- const origin = buf.readUInt32BE(ORIGIN_OFFSET);
51
- const sender = ethers_1.utils.hexlify(buf.slice(SENDER_OFFSET, DESTINATION_OFFSET));
52
- const destination = buf.readUInt32BE(DESTINATION_OFFSET);
53
- const recipient = ethers_1.utils.hexlify(buf.slice(RECIPIENT_OFFSET, BODY_OFFSET));
54
- const body = ethers_1.utils.hexlify(buf.slice(BODY_OFFSET));
55
- return { version, nonce, origin, sender, destination, recipient, body };
56
- }
57
- exports.parseMessage = parseMessage;
58
- //# sourceMappingURL=messages.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"messages.js","sourceRoot":"","sources":["../../src/messages.ts"],"names":[],"mappings":";;;AAAA,mCAAkD;AAElD,2CAA+C;AAG/C;;;GAGG;AACI,MAAM,aAAa,GAAG,CAC3B,OAA2B,EAC3B,KAAyB,EACzB,YAAoB,EACpB,UAAmB,EACnB,iBAAyB,EACzB,aAAsB,EACtB,IAAe,EACJ,EAAE;IACb,UAAU,GAAG,IAAA,4BAAgB,EAAC,UAAU,CAAC,CAAC;IAC1C,aAAa,GAAG,IAAA,4BAAgB,EAAC,aAAa,CAAC,CAAC;IAEhD,OAAO,eAAM,CAAC,KAAK,CAAC,YAAY,CAC9B,CAAC,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,CAAC,EACtE;QACE,OAAO;QACP,KAAK;QACL,YAAY;QACZ,UAAU;QACV,iBAAiB;QACjB,aAAa;QACb,IAAI;KACL,CACF,CAAC;AACJ,CAAC,CAAC;AAxBW,QAAA,aAAa,iBAwBxB;AAEF;;;;GAIG;AACH,SAAgB,SAAS,CAAC,OAAkB;IAC1C,OAAO,eAAM,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;AAC9D,CAAC;AAFD,8BAEC;AAED;;;;;GAKG;AACH,SAAgB,YAAY,CAAC,OAAe;IAC1C,MAAM,cAAc,GAAG,CAAC,CAAC;IACzB,MAAM,YAAY,GAAG,CAAC,CAAC;IACvB,MAAM,aAAa,GAAG,CAAC,CAAC;IACxB,MAAM,aAAa,GAAG,CAAC,CAAC;IACxB,MAAM,kBAAkB,GAAG,EAAE,CAAC;IAC9B,MAAM,gBAAgB,GAAG,EAAE,CAAC;IAC5B,MAAM,WAAW,GAAG,EAAE,CAAC;IAEvB,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,cAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;IACjD,MAAM,OAAO,GAAG,GAAG,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;IAC9C,MAAM,KAAK,GAAG,GAAG,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;IAC7C,MAAM,MAAM,GAAG,GAAG,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC;IAC/C,MAAM,MAAM,GAAG,cAAK,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,aAAa,EAAE,kBAAkB,CAAC,CAAC,CAAC;IAC3E,MAAM,WAAW,GAAG,GAAG,CAAC,YAAY,CAAC,kBAAkB,CAAC,CAAC;IACzD,MAAM,SAAS,GAAG,cAAK,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,gBAAgB,EAAE,WAAW,CAAC,CAAC,CAAC;IAC1E,MAAM,IAAI,GAAG,cAAK,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC;IACnD,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;AAC1E,CAAC;AAlBD,oCAkBC"}
@@ -1,4 +0,0 @@
1
- import { ParsedLegacyMultisigIsmMetadata } from './types';
2
- export declare const parseLegacyMultisigIsmMetadata: (metadata: string) => ParsedLegacyMultisigIsmMetadata;
3
- export declare const formatLegacyMultisigIsmMetadata: (metadata: ParsedLegacyMultisigIsmMetadata) => string;
4
- //# sourceMappingURL=multisig.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"multisig.d.ts","sourceRoot":"","sources":["../../src/multisig.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,+BAA+B,EAAE,MAAM,SAAS,CAAC;AAE1D,eAAO,MAAM,8BAA8B,aAC/B,MAAM,KACf,+BA4CF,CAAC;AAEF,eAAO,MAAM,+BAA+B,aAChC,+BAA+B,KACxC,MAqBF,CAAC"}
@@ -1,61 +0,0 @@
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
- exports.formatLegacyMultisigIsmMetadata = exports.parseLegacyMultisigIsmMetadata = void 0;
7
- const bignumber_js_1 = __importDefault(require("bignumber.js"));
8
- const ethers_1 = require("ethers");
9
- const addresses_1 = require("./addresses");
10
- const parseLegacyMultisigIsmMetadata = (metadata) => {
11
- const MERKLE_ROOT_OFFSET = 0;
12
- const MERKLE_INDEX_OFFSET = 32;
13
- const ORIGIN_MAILBOX_OFFSET = 36;
14
- const MERKLE_PROOF_OFFSET = 68;
15
- const THRESHOLD_OFFSET = 1092;
16
- const SIGNATURES_OFFSET = 1093;
17
- const SIGNATURE_LENGTH = 65;
18
- const buf = Buffer.from(ethers_1.utils.arrayify(metadata));
19
- const checkpointRoot = ethers_1.utils.hexlify(buf.slice(MERKLE_ROOT_OFFSET, MERKLE_INDEX_OFFSET));
20
- const checkpointIndex = (0, bignumber_js_1.default)(ethers_1.utils.hexlify(buf.slice(MERKLE_INDEX_OFFSET, ORIGIN_MAILBOX_OFFSET))).toNumber();
21
- const originMailbox = ethers_1.utils.hexlify(buf.slice(ORIGIN_MAILBOX_OFFSET, MERKLE_PROOF_OFFSET));
22
- const parseBytesArray = (start, count, size) => {
23
- return [...Array(count).keys()].map((i) => ethers_1.utils.hexlify(buf.slice(start + size * i, start + size * (i + 1))));
24
- };
25
- const proof = parseBytesArray(MERKLE_PROOF_OFFSET, 32, 32);
26
- const threshold = (0, bignumber_js_1.default)(ethers_1.utils.hexlify(buf.slice(THRESHOLD_OFFSET, SIGNATURES_OFFSET))).toNumber();
27
- const signatures = parseBytesArray(SIGNATURES_OFFSET, threshold, SIGNATURE_LENGTH);
28
- const VALIDATORS_OFFSET = SIGNATURES_OFFSET + threshold * SIGNATURE_LENGTH;
29
- const addressesCount = buf.slice(VALIDATORS_OFFSET).length / 32;
30
- const validators = parseBytesArray(VALIDATORS_OFFSET, addressesCount, 32);
31
- return {
32
- checkpointRoot,
33
- checkpointIndex,
34
- originMailbox,
35
- proof,
36
- signatures,
37
- validators,
38
- };
39
- };
40
- exports.parseLegacyMultisigIsmMetadata = parseLegacyMultisigIsmMetadata;
41
- const formatLegacyMultisigIsmMetadata = (metadata) => {
42
- return ethers_1.utils.solidityPack([
43
- 'bytes32',
44
- 'uint32',
45
- 'bytes32',
46
- 'bytes32[32]',
47
- 'uint8',
48
- 'bytes',
49
- 'address[]',
50
- ], [
51
- metadata.checkpointRoot,
52
- metadata.checkpointIndex,
53
- (0, addresses_1.addressToBytes32)(metadata.originMailbox),
54
- metadata.proof,
55
- metadata.signatures.length,
56
- ethers_1.utils.hexConcat(metadata.signatures),
57
- metadata.validators,
58
- ]);
59
- };
60
- exports.formatLegacyMultisigIsmMetadata = formatLegacyMultisigIsmMetadata;
61
- //# sourceMappingURL=multisig.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"multisig.js","sourceRoot":"","sources":["../../src/multisig.ts"],"names":[],"mappings":"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"}
@@ -1,16 +0,0 @@
1
- export declare function isObject(item: any): any;
2
- export declare function deepEquals(v1: any, v2: any): boolean;
3
- export declare function deepCopy(v: any): any;
4
- export type ValueOf<T> = T[keyof T];
5
- export declare function objKeys<T extends string | number>(obj: Record<T, any>): T[];
6
- export declare function objMapEntries<M extends Record<K, I>, K extends keyof M, O, I = ValueOf<M>>(obj: M, func: (k: K, v: I) => O): [K, O][];
7
- export declare function objMap<M extends Record<K, I>, K extends keyof M, O, I = ValueOf<M>>(obj: M, func: (k: K, v: I) => O): Record<K, O>;
8
- export declare function objFilter<K extends string, I, O extends I>(obj: Record<K, I>, func: (k: K, v: I) => v is O): Record<K, O>;
9
- export declare function promiseObjAll<K extends string, V>(obj: {
10
- [key in K]: Promise<V>;
11
- }): Promise<Record<K, V>>;
12
- export declare function pick<K extends string, V = any>(obj: Record<K, V>, keys: K[]): Record<K, V>;
13
- export declare function objMerge(a: Record<string, any>, b: Record<string, any>, max_depth?: number): any;
14
- export declare function invertKeysAndValues(data: any): any;
15
- export declare function arrayToObject(keys: Array<string>, val?: boolean): Record<string, boolean>;
16
- //# sourceMappingURL=objects.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"objects.d.ts","sourceRoot":"","sources":["../../src/objects.ts"],"names":[],"mappings":"AAAA,wBAAgB,QAAQ,CAAC,IAAI,EAAE,GAAG,OAEjC;AAED,wBAAgB,UAAU,CAAC,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,WAE1C;AAED,wBAAgB,QAAQ,CAAC,CAAC,EAAE,GAAG,OAE9B;AAED,MAAM,MAAM,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;AAGpC,wBAAgB,OAAO,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,EAAE,CAE3E;AAED,wBAAgB,aAAa,CAC3B,CAAC,SAAS,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,EACtB,CAAC,SAAS,MAAM,CAAC,EACjB,CAAC,EACD,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,EACd,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAE3C;AAGD,wBAAgB,MAAM,CACpB,CAAC,SAAS,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,EACtB,CAAC,SAAS,MAAM,CAAC,EACjB,CAAC,EACD,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,EACd,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAE/C;AAED,wBAAgB,SAAS,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,EAAE,CAAC,SAAS,CAAC,EACxD,GAAG,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,EACjB,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,GAC3B,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAId;AAGD,wBAAgB,aAAa,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,EAAE,GAAG,EAAE;KACrD,GAAG,IAAI,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;CACvB,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAKxB;AAGD,wBAAgB,IAAI,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,gBAS3E;AAID,wBAAgB,QAAQ,CACtB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACtB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACtB,SAAS,SAAK,GACb,GAAG,CAsBL;AAED,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,GAAG,OAI5C;AAGD,wBAAgB,aAAa,CAAC,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,GAAG,UAAO,2BAK5D"}
@@ -1,93 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.arrayToObject = exports.invertKeysAndValues = exports.objMerge = exports.pick = exports.promiseObjAll = exports.objFilter = exports.objMap = exports.objMapEntries = exports.objKeys = exports.deepCopy = exports.deepEquals = exports.isObject = void 0;
4
- function isObject(item) {
5
- return item && typeof item === 'object' && !Array.isArray(item);
6
- }
7
- exports.isObject = isObject;
8
- function deepEquals(v1, v2) {
9
- return JSON.stringify(v1) === JSON.stringify(v2);
10
- }
11
- exports.deepEquals = deepEquals;
12
- function deepCopy(v) {
13
- return JSON.parse(JSON.stringify(v));
14
- }
15
- exports.deepCopy = deepCopy;
16
- // Useful for maintaining type safety when using Object.keys
17
- function objKeys(obj) {
18
- return Object.keys(obj);
19
- }
20
- exports.objKeys = objKeys;
21
- function objMapEntries(obj, func) {
22
- return Object.entries(obj).map(([k, v]) => [k, func(k, v)]);
23
- }
24
- exports.objMapEntries = objMapEntries;
25
- // Map over the values of the object
26
- function objMap(obj, func) {
27
- return Object.fromEntries(objMapEntries(obj, func));
28
- }
29
- exports.objMap = objMap;
30
- function objFilter(obj, func) {
31
- return Object.fromEntries(Object.entries(obj).filter(([k, v]) => func(k, v)));
32
- }
33
- exports.objFilter = objFilter;
34
- // promiseObjectAll :: {k: Promise a} -> Promise {k: a}
35
- function promiseObjAll(obj) {
36
- const promiseList = Object.entries(obj).map(([name, promise]) => promise.then((result) => [name, result]));
37
- return Promise.all(promiseList).then(Object.fromEntries);
38
- }
39
- exports.promiseObjAll = promiseObjAll;
40
- // Get the subset of the object from key list
41
- function pick(obj, keys) {
42
- const ret = {};
43
- const objKeys = Object.keys(obj);
44
- for (const key of keys) {
45
- if (objKeys.includes(key)) {
46
- ret[key] = obj[key];
47
- }
48
- }
49
- return ret;
50
- }
51
- exports.pick = pick;
52
- // Recursively merges b into a
53
- // Where there are conflicts, b takes priority over a
54
- function objMerge(a, b, max_depth = 10) {
55
- if (max_depth === 0) {
56
- throw new Error('objMerge tried to go too deep');
57
- }
58
- if (isObject(a) && isObject(b)) {
59
- const ret = {};
60
- const aKeys = new Set(Object.keys(a));
61
- const bKeys = new Set(Object.keys(b));
62
- const allKeys = new Set([...aKeys, ...bKeys]);
63
- for (const key of allKeys.values()) {
64
- if (aKeys.has(key) && bKeys.has(key)) {
65
- ret[key] = objMerge(a[key], b[key], max_depth - 1);
66
- }
67
- else if (aKeys.has(key)) {
68
- ret[key] = a[key];
69
- }
70
- else {
71
- ret[key] = b[key];
72
- }
73
- }
74
- return ret;
75
- }
76
- else {
77
- return b ? b : a;
78
- }
79
- }
80
- exports.objMerge = objMerge;
81
- function invertKeysAndValues(data) {
82
- return Object.fromEntries(Object.entries(data).map(([key, value]) => [value, key]));
83
- }
84
- exports.invertKeysAndValues = invertKeysAndValues;
85
- // Returns an object with the keys as values from an array and value set to true
86
- function arrayToObject(keys, val = true) {
87
- return keys.reduce((result, k) => {
88
- result[k] = val;
89
- return result;
90
- }, {});
91
- }
92
- exports.arrayToObject = arrayToObject;
93
- //# sourceMappingURL=objects.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"objects.js","sourceRoot":"","sources":["../../src/objects.ts"],"names":[],"mappings":"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"}
@@ -1,4 +0,0 @@
1
- export declare function difference<T>(a: Set<T>, b: Set<T>): Set<T>;
2
- export declare function symmetricDifference<T>(a: Set<T>, b: Set<T>): Set<T>;
3
- export declare function setEquality<T>(a: Set<T>, b: Set<T>): boolean;
4
- //# sourceMappingURL=sets.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sets.d.ts","sourceRoot":"","sources":["../../src/sets.ts"],"names":[],"mappings":"AACA,wBAAgB,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,UAMjD;AAED,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,UAU1D;AAED,wBAAgB,WAAW,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,WAElD"}
package/dist/src/sets.js DELETED
@@ -1,30 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.setEquality = exports.symmetricDifference = exports.difference = void 0;
4
- // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Set#implementing_basic_set_operations
5
- function difference(a, b) {
6
- const _difference = new Set(a);
7
- for (const elem of b) {
8
- _difference.delete(elem);
9
- }
10
- return _difference;
11
- }
12
- exports.difference = difference;
13
- function symmetricDifference(a, b) {
14
- const _difference = new Set(a);
15
- for (const elem of b) {
16
- if (_difference.has(elem)) {
17
- _difference.delete(elem);
18
- }
19
- else {
20
- _difference.add(elem);
21
- }
22
- }
23
- return _difference;
24
- }
25
- exports.symmetricDifference = symmetricDifference;
26
- function setEquality(a, b) {
27
- return symmetricDifference(a, b).size === 0;
28
- }
29
- exports.setEquality = setEquality;
30
- //# sourceMappingURL=sets.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sets.js","sourceRoot":"","sources":["../../src/sets.ts"],"names":[],"mappings":";;;AAAA,yHAAyH;AACzH,SAAgB,UAAU,CAAI,CAAS,EAAE,CAAS;IAChD,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC;IAC/B,KAAK,MAAM,IAAI,IAAI,CAAC,EAAE;QACpB,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;KAC1B;IACD,OAAO,WAAW,CAAC;AACrB,CAAC;AAND,gCAMC;AAED,SAAgB,mBAAmB,CAAI,CAAS,EAAE,CAAS;IACzD,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC;IAC/B,KAAK,MAAM,IAAI,IAAI,CAAC,EAAE;QACpB,IAAI,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;YACzB,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;SAC1B;aAAM;YACL,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;SACvB;KACF;IACD,OAAO,WAAW,CAAC;AACrB,CAAC;AAVD,kDAUC;AAED,SAAgB,WAAW,CAAI,CAAS,EAAE,CAAS;IACjD,OAAO,mBAAmB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC;AAC9C,CAAC;AAFD,kCAEC"}
@@ -1,7 +0,0 @@
1
- /// <reference types="node" />
2
- export declare function toTitleCase(str: string): string;
3
- export declare function sanitizeString(str: string): string;
4
- export declare function trimToLength(value: string, maxLength: number): string;
5
- export declare function streamToString(stream: NodeJS.ReadableStream): Promise<string>;
6
- export declare function errorToString(error: any, maxLength?: number): string;
7
- //# sourceMappingURL=strings.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"strings.d.ts","sourceRoot":"","sources":["../../src/strings.ts"],"names":[],"mappings":";AAAA,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,UAItC;AAID,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,UAGzC;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,UAM5D;AAED,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,CAAC,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,CAS7E;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,GAAG,EAAE,SAAS,SAAM,UAOxD"}
@@ -1,51 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.errorToString = exports.streamToString = exports.trimToLength = exports.sanitizeString = exports.toTitleCase = void 0;
4
- function toTitleCase(str) {
5
- return str.replace(/\w\S*/g, (txt) => {
6
- return txt.charAt(0).toUpperCase() + txt.substr(1).toLowerCase();
7
- });
8
- }
9
- exports.toTitleCase = toTitleCase;
10
- // Only allows letters and numbers
11
- const alphanumericRgex = /[^a-zA-Z0-9]/gi;
12
- function sanitizeString(str) {
13
- if (!str || typeof str !== 'string')
14
- return '';
15
- return str.replaceAll(alphanumericRgex, '').toLowerCase();
16
- }
17
- exports.sanitizeString = sanitizeString;
18
- function trimToLength(value, maxLength) {
19
- if (!value)
20
- return '';
21
- const trimmed = value.trim();
22
- return trimmed.length > maxLength
23
- ? trimmed.substring(0, maxLength) + '...'
24
- : trimmed;
25
- }
26
- exports.trimToLength = trimToLength;
27
- function streamToString(stream) {
28
- return new Promise((resolve, reject) => {
29
- const chunks = [];
30
- stream
31
- .setEncoding('utf8')
32
- .on('data', (chunk) => chunks.push(chunk))
33
- .on('error', (err) => reject(err))
34
- .on('end', () => resolve(String.prototype.concat(...chunks)));
35
- });
36
- }
37
- exports.streamToString = streamToString;
38
- function errorToString(error, maxLength = 300) {
39
- if (!error)
40
- return 'Unknown Error';
41
- if (typeof error === 'string')
42
- return trimToLength(error, maxLength);
43
- if (typeof error === 'number')
44
- return `Error code: ${error}`;
45
- const details = error.message || error.reason || error;
46
- if (typeof details === 'string')
47
- return trimToLength(details, maxLength);
48
- return trimToLength(JSON.stringify(details), maxLength);
49
- }
50
- exports.errorToString = errorToString;
51
- //# sourceMappingURL=strings.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"strings.js","sourceRoot":"","sources":["../../src/strings.ts"],"names":[],"mappings":";;;AAAA,SAAgB,WAAW,CAAC,GAAW;IACrC,OAAO,GAAG,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,GAAG,EAAE,EAAE;QACnC,OAAO,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;IACnE,CAAC,CAAC,CAAC;AACL,CAAC;AAJD,kCAIC;AAED,kCAAkC;AAClC,MAAM,gBAAgB,GAAG,gBAAgB,CAAC;AAC1C,SAAgB,cAAc,CAAC,GAAW;IACxC,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ;QAAE,OAAO,EAAE,CAAC;IAC/C,OAAO,GAAG,CAAC,UAAU,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;AAC5D,CAAC;AAHD,wCAGC;AAED,SAAgB,YAAY,CAAC,KAAa,EAAE,SAAiB;IAC3D,IAAI,CAAC,KAAK;QAAE,OAAO,EAAE,CAAC;IACtB,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IAC7B,OAAO,OAAO,CAAC,MAAM,GAAG,SAAS;QAC/B,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,SAAS,CAAC,GAAG,KAAK;QACzC,CAAC,CAAC,OAAO,CAAC;AACd,CAAC;AAND,oCAMC;AAED,SAAgB,cAAc,CAAC,MAA6B;IAC1D,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,MAAM,MAAM,GAAa,EAAE,CAAC;QAC5B,MAAM;aACH,WAAW,CAAC,MAAM,CAAC;aACnB,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;aACzC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;aACjC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IAClE,CAAC,CAAC,CAAC;AACL,CAAC;AATD,wCASC;AAED,SAAgB,aAAa,CAAC,KAAU,EAAE,SAAS,GAAG,GAAG;IACvD,IAAI,CAAC,KAAK;QAAE,OAAO,eAAe,CAAC;IACnC,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;IACrE,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,eAAe,KAAK,EAAE,CAAC;IAC7D,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC;IACvD,IAAI,OAAO,OAAO,KAAK,QAAQ;QAAE,OAAO,YAAY,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;IACzE,OAAO,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,SAAS,CAAC,CAAC;AAC1D,CAAC;AAPD,sCAOC"}
@@ -1,3 +0,0 @@
1
- export declare function isNullish<T>(val: T): val is T extends null | undefined ? T : never;
2
- export declare function isNumeric(value: string | number): boolean;
3
- //# sourceMappingURL=typeof.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"typeof.d.ts","sourceRoot":"","sources":["../../src/typeof.ts"],"names":[],"mappings":"AAAA,wBAAgB,SAAS,CAAC,CAAC,EACzB,GAAG,EAAE,CAAC,GACL,GAAG,IAAI,CAAC,SAAS,IAAI,GAAG,SAAS,GAAG,CAAC,GAAG,KAAK,CAE/C;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,WAE/C"}
@@ -1,12 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.isNumeric = exports.isNullish = void 0;
4
- function isNullish(val) {
5
- return val === null || val === undefined;
6
- }
7
- exports.isNullish = isNullish;
8
- function isNumeric(value) {
9
- return typeof value === 'number' || /^\d+$/.test(value);
10
- }
11
- exports.isNumeric = isNumeric;
12
- //# sourceMappingURL=typeof.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"typeof.js","sourceRoot":"","sources":["../../src/typeof.ts"],"names":[],"mappings":";;;AAAA,SAAgB,SAAS,CACvB,GAAM;IAEN,OAAO,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,SAAS,CAAC;AAC3C,CAAC;AAJD,8BAIC;AAED,SAAgB,SAAS,CAAC,KAAsB;IAC9C,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC1D,CAAC;AAFD,8BAEC"}
@@ -1,84 +0,0 @@
1
- import type { ethers } from 'ethers';
2
- export declare enum ProtocolType {
3
- Ethereum = "ethereum",
4
- Sealevel = "sealevel",
5
- Fuel = "fuel",
6
- Cosmos = "cosmos"
7
- }
8
- export type ProtocolTypeValue = `${ProtocolType}`;
9
- export declare const ProtocolSmallestUnit: {
10
- ethereum: string;
11
- sealevel: string;
12
- cosmos: string;
13
- };
14
- /********* BASIC TYPES *********/
15
- export type Domain = number;
16
- export type ChainId = string | number;
17
- export type Address = string;
18
- export type AddressBytes32 = string;
19
- export type ChainCaip2Id = `${string}:${string}`;
20
- export type TokenCaip19Id = `${string}:${string}/${string}:${string}`;
21
- export type HexString = string;
22
- export type Numberish = number | string | bigint;
23
- export type SignatureLike = {
24
- r: string;
25
- s?: string;
26
- _vs?: string;
27
- recoveryParam?: number;
28
- v?: number;
29
- } | ethers.utils.BytesLike;
30
- export type MerkleProof = {
31
- branch: ethers.utils.BytesLike[];
32
- leaf: ethers.utils.BytesLike;
33
- index: number;
34
- };
35
- /********* HYPERLANE CORE *********/
36
- export type Checkpoint = {
37
- root: string;
38
- index: number;
39
- mailbox_domain: Domain;
40
- merkle_tree_hook_address: Address;
41
- };
42
- /**
43
- * Shape of a checkpoint in S3 as published by the agent.
44
- */
45
- export type S3CheckpointWithId = {
46
- value: {
47
- checkpoint: Checkpoint;
48
- message_id: HexString;
49
- };
50
- signature: SignatureLike;
51
- };
52
- export type S3Checkpoint = {
53
- value: Checkpoint;
54
- signature: SignatureLike;
55
- };
56
- export type CallData = {
57
- to: Address;
58
- data: string;
59
- };
60
- export declare enum MessageStatus {
61
- NONE = 0,
62
- PROCESSED = 1
63
- }
64
- export type ParsedMessage = {
65
- version: number;
66
- nonce: number;
67
- origin: number;
68
- sender: string;
69
- destination: number;
70
- recipient: string;
71
- body: string;
72
- };
73
- export type ParsedLegacyMultisigIsmMetadata = {
74
- checkpointRoot: string;
75
- checkpointIndex: number;
76
- originMailbox: string;
77
- proof: ethers.utils.BytesLike[];
78
- signatures: ethers.utils.BytesLike[];
79
- validators: ethers.utils.BytesLike[];
80
- };
81
- export declare enum InterchainSecurityModuleType {
82
- MULTISIG = 3
83
- }
84
- //# sourceMappingURL=types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}
package/dist/src/types.js DELETED
@@ -1,25 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.InterchainSecurityModuleType = exports.MessageStatus = exports.ProtocolSmallestUnit = exports.ProtocolType = void 0;
4
- var ProtocolType;
5
- (function (ProtocolType) {
6
- ProtocolType["Ethereum"] = "ethereum";
7
- ProtocolType["Sealevel"] = "sealevel";
8
- ProtocolType["Fuel"] = "fuel";
9
- ProtocolType["Cosmos"] = "cosmos";
10
- })(ProtocolType || (exports.ProtocolType = ProtocolType = {}));
11
- exports.ProtocolSmallestUnit = {
12
- [ProtocolType.Ethereum]: 'wei',
13
- [ProtocolType.Sealevel]: 'lamports',
14
- [ProtocolType.Cosmos]: 'uATOM',
15
- };
16
- var MessageStatus;
17
- (function (MessageStatus) {
18
- MessageStatus[MessageStatus["NONE"] = 0] = "NONE";
19
- MessageStatus[MessageStatus["PROCESSED"] = 1] = "PROCESSED";
20
- })(MessageStatus || (exports.MessageStatus = MessageStatus = {}));
21
- var InterchainSecurityModuleType;
22
- (function (InterchainSecurityModuleType) {
23
- InterchainSecurityModuleType[InterchainSecurityModuleType["MULTISIG"] = 3] = "MULTISIG";
24
- })(InterchainSecurityModuleType || (exports.InterchainSecurityModuleType = InterchainSecurityModuleType = {}));
25
- //# sourceMappingURL=types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":";;;AAEA,IAAY,YAKX;AALD,WAAY,YAAY;IACtB,qCAAqB,CAAA;IACrB,qCAAqB,CAAA;IACrB,6BAAa,CAAA;IACb,iCAAiB,CAAA;AACnB,CAAC,EALW,YAAY,4BAAZ,YAAY,QAKvB;AAIY,QAAA,oBAAoB,GAAG;IAClC,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,KAAK;IAC9B,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,UAAU;IACnC,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,OAAO;CAC/B,CAAC;AA0DF,IAAY,aAGX;AAHD,WAAY,aAAa;IACvB,iDAAQ,CAAA;IACR,2DAAS,CAAA;AACX,CAAC,EAHW,aAAa,6BAAb,aAAa,QAGxB;AAqBD,IAAY,4BAEX;AAFD,WAAY,4BAA4B;IACtC,uFAAY,CAAA;AACd,CAAC,EAFW,4BAA4B,4CAA5B,4BAA4B,QAEvC"}
@@ -1,2 +0,0 @@
1
- export declare function assert<T>(predicate: T, errorMessage?: string): asserts predicate is NonNullable<T>;
2
- //# sourceMappingURL=validation.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../src/validation.ts"],"names":[],"mappings":"AAAA,wBAAgB,MAAM,CAAC,CAAC,EACtB,SAAS,EAAE,CAAC,EACZ,YAAY,CAAC,EAAE,MAAM,GACpB,OAAO,CAAC,SAAS,IAAI,WAAW,CAAC,CAAC,CAAC,CAIrC"}
@@ -1,10 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.assert = void 0;
4
- function assert(predicate, errorMessage) {
5
- if (!predicate) {
6
- throw new Error(errorMessage ?? 'Error');
7
- }
8
- }
9
- exports.assert = assert;
10
- //# sourceMappingURL=validation.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"validation.js","sourceRoot":"","sources":["../../src/validation.ts"],"names":[],"mappings":";;;AAAA,SAAgB,MAAM,CACpB,SAAY,EACZ,YAAqB;IAErB,IAAI,CAAC,SAAS,EAAE;QACd,MAAM,IAAI,KAAK,CAAC,YAAY,IAAI,OAAO,CAAC,CAAC;KAC1C;AACH,CAAC;AAPD,wBAOC"}
@@ -1,17 +0,0 @@
1
- import { Address, Checkpoint, Domain, HexString, SignatureLike } from './types';
2
- /**
3
- * Utilities for validators to construct and verify checkpoints.
4
- */
5
- export declare class BaseValidator {
6
- readonly address: Address;
7
- readonly localDomain: Domain;
8
- readonly mailbox_address: Address;
9
- constructor(address: Address, localDomain: Domain, mailbox_address: Address);
10
- announceDomainHash(): string;
11
- checkpointDomainHash(merkle_tree_address: Address): string;
12
- message(checkpoint: Checkpoint, messageId: HexString): string;
13
- messageHash(checkpoint: Checkpoint, messageId: HexString): Uint8Array;
14
- recoverAddressFromCheckpoint(checkpoint: Checkpoint, signature: SignatureLike, messageId: HexString): Address;
15
- matchesSigner(checkpoint: Checkpoint, signature: SignatureLike, messageId: HexString): boolean;
16
- }
17
- //# sourceMappingURL=validator.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"validator.d.ts","sourceRoot":"","sources":["../../src/validator.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAEhF;;GAEG;AACH,qBAAa,aAAa;aAEN,OAAO,EAAE,OAAO;aAChB,WAAW,EAAE,MAAM;aACnB,eAAe,EAAE,OAAO;gBAFxB,OAAO,EAAE,OAAO,EAChB,WAAW,EAAE,MAAM,EACnB,eAAe,EAAE,OAAO;IAG1C,kBAAkB;IAIlB,oBAAoB,CAAC,mBAAmB,EAAE,OAAO;IAIjD,OAAO,CAAC,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS;IAWpD,WAAW,CAAC,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS;IAKxD,4BAA4B,CAC1B,UAAU,EAAE,UAAU,EACtB,SAAS,EAAE,aAAa,EACxB,SAAS,EAAE,SAAS,GACnB,OAAO;IAKV,aAAa,CACX,UAAU,EAAE,UAAU,EACtB,SAAS,EAAE,aAAa,EACxB,SAAS,EAAE,SAAS;CAUvB"}
@@ -1,44 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.BaseValidator = void 0;
4
- const ethers_1 = require("ethers");
5
- const domains_1 = require("./domains");
6
- /**
7
- * Utilities for validators to construct and verify checkpoints.
8
- */
9
- class BaseValidator {
10
- constructor(address, localDomain, mailbox_address) {
11
- this.address = address;
12
- this.localDomain = localDomain;
13
- this.mailbox_address = mailbox_address;
14
- }
15
- announceDomainHash() {
16
- return (0, domains_1.domainHash)(this.localDomain, this.mailbox_address);
17
- }
18
- checkpointDomainHash(merkle_tree_address) {
19
- return (0, domains_1.domainHash)(this.localDomain, merkle_tree_address);
20
- }
21
- message(checkpoint, messageId) {
22
- const types = ['bytes32', 'bytes32', 'uint32', 'bytes32'];
23
- const values = [
24
- this.checkpointDomainHash(checkpoint.merkle_tree_hook_address),
25
- checkpoint.root,
26
- checkpoint.index,
27
- messageId,
28
- ];
29
- return ethers_1.ethers.utils.solidityPack(types, values);
30
- }
31
- messageHash(checkpoint, messageId) {
32
- const message = this.message(checkpoint, messageId);
33
- return ethers_1.ethers.utils.arrayify(ethers_1.ethers.utils.keccak256(message));
34
- }
35
- recoverAddressFromCheckpoint(checkpoint, signature, messageId) {
36
- const msgHash = this.messageHash(checkpoint, messageId);
37
- return ethers_1.ethers.utils.verifyMessage(msgHash, signature);
38
- }
39
- matchesSigner(checkpoint, signature, messageId) {
40
- return (this.recoverAddressFromCheckpoint(checkpoint, signature, messageId).toLowerCase() === this.address.toLowerCase());
41
- }
42
- }
43
- exports.BaseValidator = BaseValidator;
44
- //# sourceMappingURL=validator.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"validator.js","sourceRoot":"","sources":["../../src/validator.ts"],"names":[],"mappings":";;;AAAA,mCAAgC;AAEhC,uCAAuC;AAGvC;;GAEG;AACH,MAAa,aAAa;IACxB,YACkB,OAAgB,EAChB,WAAmB,EACnB,eAAwB;QAFxB,YAAO,GAAP,OAAO,CAAS;QAChB,gBAAW,GAAX,WAAW,CAAQ;QACnB,oBAAe,GAAf,eAAe,CAAS;IACvC,CAAC;IAEJ,kBAAkB;QAChB,OAAO,IAAA,oBAAU,EAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;IAC5D,CAAC;IAED,oBAAoB,CAAC,mBAA4B;QAC/C,OAAO,IAAA,oBAAU,EAAC,IAAI,CAAC,WAAW,EAAE,mBAAmB,CAAC,CAAC;IAC3D,CAAC;IAED,OAAO,CAAC,UAAsB,EAAE,SAAoB;QAClD,MAAM,KAAK,GAAG,CAAC,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;QAC1D,MAAM,MAAM,GAAG;YACb,IAAI,CAAC,oBAAoB,CAAC,UAAU,CAAC,wBAAwB,CAAC;YAC9D,UAAU,CAAC,IAAI;YACf,UAAU,CAAC,KAAK;YAChB,SAAS;SACV,CAAC;QACF,OAAO,eAAM,CAAC,KAAK,CAAC,YAAY,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAClD,CAAC;IAED,WAAW,CAAC,UAAsB,EAAE,SAAoB;QACtD,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;QACpD,OAAO,eAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,eAAM,CAAC,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;IAChE,CAAC;IAED,4BAA4B,CAC1B,UAAsB,EACtB,SAAwB,EACxB,SAAoB;QAEpB,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;QACxD,OAAO,eAAM,CAAC,KAAK,CAAC,aAAa,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;IACxD,CAAC;IAED,aAAa,CACX,UAAsB,EACtB,SAAwB,EACxB,SAAoB;QAEpB,OAAO,CACL,IAAI,CAAC,4BAA4B,CAC/B,UAAU,EACV,SAAS,EACT,SAAS,CACV,CAAC,WAAW,EAAE,KAAK,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAC/C,CAAC;IACJ,CAAC;CACF;AArDD,sCAqDC"}