@hyperlane-xyz/utils 1.4.3-beta0 → 1.4.3-beta2

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 (98) hide show
  1. package/dist/index.d.ts +21 -4
  2. package/dist/index.d.ts.map +1 -1
  3. package/dist/index.js +115 -29
  4. package/dist/index.js.map +1 -1
  5. package/dist/src/addresses.d.ts +29 -0
  6. package/dist/src/addresses.d.ts.map +1 -0
  7. package/dist/src/addresses.js +202 -0
  8. package/dist/src/addresses.js.map +1 -0
  9. package/dist/src/amount.d.ts +9 -0
  10. package/dist/src/amount.d.ts.map +1 -0
  11. package/dist/src/amount.js +79 -0
  12. package/dist/src/amount.js.map +1 -0
  13. package/dist/src/arrays.d.ts +8 -0
  14. package/dist/src/arrays.d.ts.map +1 -0
  15. package/dist/src/arrays.js +16 -0
  16. package/dist/src/arrays.js.map +1 -0
  17. package/dist/src/async.d.ts +37 -0
  18. package/dist/src/async.d.ts.map +1 -0
  19. package/dist/src/async.js +91 -0
  20. package/dist/src/async.js.map +1 -0
  21. package/dist/src/base64.d.ts +3 -0
  22. package/dist/src/base64.d.ts.map +1 -0
  23. package/dist/src/base64.js +30 -0
  24. package/dist/src/base64.js.map +1 -0
  25. package/dist/src/big-numbers.d.ts +36 -0
  26. package/dist/src/big-numbers.d.ts.map +1 -0
  27. package/dist/src/big-numbers.js +93 -0
  28. package/dist/src/big-numbers.js.map +1 -0
  29. package/dist/src/big-numbers.test.d.ts +2 -0
  30. package/dist/src/big-numbers.test.d.ts.map +1 -0
  31. package/dist/src/big-numbers.test.js +41 -0
  32. package/dist/src/big-numbers.test.js.map +1 -0
  33. package/dist/src/calldata.d.ts +3 -0
  34. package/dist/src/calldata.d.ts.map +1 -0
  35. package/dist/src/calldata.js +8 -0
  36. package/dist/src/calldata.js.map +1 -0
  37. package/dist/src/checkpoints.d.ts +5 -0
  38. package/dist/src/checkpoints.d.ts.map +1 -0
  39. package/dist/src/checkpoints.js +30 -0
  40. package/dist/src/checkpoints.js.map +1 -0
  41. package/dist/src/domains.d.ts +2 -0
  42. package/dist/src/domains.d.ts.map +1 -0
  43. package/dist/src/domains.js +10 -0
  44. package/dist/src/domains.js.map +1 -0
  45. package/dist/src/env.d.ts +2 -0
  46. package/dist/src/env.d.ts.map +1 -0
  47. package/dist/src/env.js +15 -0
  48. package/dist/src/env.js.map +1 -0
  49. package/dist/src/ids.d.ts +20 -0
  50. package/dist/src/ids.d.ts.map +1 -0
  51. package/dist/src/ids.js +47 -0
  52. package/dist/src/ids.js.map +1 -0
  53. package/dist/src/logging.js +2 -2
  54. package/dist/src/logging.js.map +1 -1
  55. package/dist/src/math.d.ts +5 -0
  56. package/dist/src/math.d.ts.map +1 -0
  57. package/dist/src/math.js +25 -0
  58. package/dist/src/math.js.map +1 -0
  59. package/dist/src/messages.d.ts +21 -0
  60. package/dist/src/messages.d.ts.map +1 -0
  61. package/dist/src/messages.js +58 -0
  62. package/dist/src/messages.js.map +1 -0
  63. package/dist/src/multisig.d.ts +4 -0
  64. package/dist/src/multisig.d.ts.map +1 -0
  65. package/dist/src/multisig.js +57 -0
  66. package/dist/src/multisig.js.map +1 -0
  67. package/dist/src/objects.d.ts +18 -0
  68. package/dist/src/objects.d.ts.map +1 -0
  69. package/dist/src/objects.js +84 -0
  70. package/dist/src/objects.js.map +1 -0
  71. package/dist/src/sets.d.ts +4 -0
  72. package/dist/src/sets.d.ts.map +1 -0
  73. package/dist/src/sets.js +30 -0
  74. package/dist/src/sets.js.map +1 -0
  75. package/dist/src/strings.d.ts +7 -0
  76. package/dist/src/strings.d.ts.map +1 -0
  77. package/dist/src/strings.js +51 -0
  78. package/dist/src/strings.js.map +1 -0
  79. package/dist/src/typeof.d.ts +3 -0
  80. package/dist/src/typeof.d.ts.map +1 -0
  81. package/dist/src/typeof.js +15 -0
  82. package/dist/src/typeof.js.map +1 -0
  83. package/dist/src/types.d.ts +11 -1
  84. package/dist/src/types.d.ts.map +1 -1
  85. package/dist/src/types.js +11 -1
  86. package/dist/src/types.js.map +1 -1
  87. package/dist/src/validation.d.ts +2 -0
  88. package/dist/src/validation.d.ts.map +1 -0
  89. package/dist/src/validation.js +10 -0
  90. package/dist/src/validation.js.map +1 -0
  91. package/dist/src/validator.d.ts.map +1 -1
  92. package/dist/src/validator.js +5 -5
  93. package/dist/src/validator.js.map +1 -1
  94. package/package.json +5 -2
  95. package/dist/src/utils.d.ts +0 -57
  96. package/dist/src/utils.d.ts.map +0 -1
  97. package/dist/src/utils.js +0 -307
  98. package/dist/src/utils.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"math.js","sourceRoot":"","sources":["../../src/math.ts"],"names":[],"mappings":";;;AAAA,SAAgB,MAAM,CAAC,CAAW;IAChC,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,CAAC;IAChC,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAC1C,MAAM,MAAM,GACV,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IAC7E,OAAO,MAAM,CAAC;AAChB,CAAC;AAND,wBAMC;AAED,SAAgB,GAAG,CAAC,CAAW;IAC7B,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;AACvC,CAAC;AAFD,kBAEC;AAED,SAAgB,IAAI,CAAC,CAAW;IAC9B,OAAO,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC;AAC3B,CAAC;AAFD,oBAEC;AAED,SAAgB,MAAM,CAAC,CAAW;IAChC,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IACrB,MAAM,kBAAkB,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAC/D,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC;AAC7C,CAAC;AAJD,wBAIC"}
@@ -0,0 +1,21 @@
1
+ import { BigNumber } from 'ethers';
2
+ import { Address, Domain, HexString, ParsedMessage } from './types';
3
+ /**
4
+ * JS Implementation of solidity/contracts/libs/Message.sol#formatMessage
5
+ * @returns Hex string of the packed message
6
+ */
7
+ export declare const formatMessage: (version: number | BigNumber, nonce: number | BigNumber, originDomain: Domain, senderAddr: Address, destinationDomain: Domain, recipientAddr: Address, body: HexString) => HexString;
8
+ /**
9
+ * Get ID given message bytes
10
+ * @param message Hex string of the packed message (see formatMessage)
11
+ * @returns Hex string of message id
12
+ */
13
+ export declare function messageId(message: HexString): HexString;
14
+ /**
15
+ * Parse a serialized Hyperlane message from raw bytes.
16
+ *
17
+ * @param message
18
+ * @returns
19
+ */
20
+ export declare function parseMessage(message: string): ParsedMessage;
21
+ //# sourceMappingURL=messages.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"messages.d.ts","sourceRoot":"","sources":["../../src/messages.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAiB,MAAM,QAAQ,CAAC;AAGlD,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAEpE;;;GAGG;AACH,eAAO,MAAM,aAAa,YACf,MAAM,GAAG,SAAS,SACpB,MAAM,GAAG,SAAS,gBACX,MAAM,cACR,OAAO,qBACA,MAAM,iBACV,OAAO,QAChB,SAAS,KACd,SAgBF,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,OAAO,EAAE,SAAS,GAAG,SAAS,CAEvD;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,aAAa,CAkB3D"}
@@ -0,0 +1,58 @@
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
@@ -0,0 +1 @@
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"}
@@ -0,0 +1,4 @@
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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"multisig.d.ts","sourceRoot":"","sources":["../../src/multisig.ts"],"names":[],"mappings":"AAGA,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"}
@@ -0,0 +1,57 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.formatLegacyMultisigIsmMetadata = exports.parseLegacyMultisigIsmMetadata = void 0;
4
+ const ethers_1 = require("ethers");
5
+ const addresses_1 = require("./addresses");
6
+ const parseLegacyMultisigIsmMetadata = (metadata) => {
7
+ const MERKLE_ROOT_OFFSET = 0;
8
+ const MERKLE_INDEX_OFFSET = 32;
9
+ const ORIGIN_MAILBOX_OFFSET = 36;
10
+ const MERKLE_PROOF_OFFSET = 68;
11
+ const THRESHOLD_OFFSET = 1092;
12
+ const SIGNATURES_OFFSET = 1093;
13
+ const SIGNATURE_LENGTH = 65;
14
+ const buf = Buffer.from(ethers_1.utils.arrayify(metadata));
15
+ const checkpointRoot = ethers_1.utils.hexlify(buf.slice(MERKLE_ROOT_OFFSET, MERKLE_INDEX_OFFSET));
16
+ const checkpointIndex = ethers_1.BigNumber.from(ethers_1.utils.hexlify(buf.slice(MERKLE_INDEX_OFFSET, ORIGIN_MAILBOX_OFFSET))).toNumber();
17
+ const originMailbox = ethers_1.utils.hexlify(buf.slice(ORIGIN_MAILBOX_OFFSET, MERKLE_PROOF_OFFSET));
18
+ const parseBytesArray = (start, count, size) => {
19
+ return [...Array(count).keys()].map((i) => ethers_1.utils.hexlify(buf.slice(start + size * i, start + size * (i + 1))));
20
+ };
21
+ const proof = parseBytesArray(MERKLE_PROOF_OFFSET, 32, 32);
22
+ const threshold = ethers_1.BigNumber.from(ethers_1.utils.hexlify(buf.slice(THRESHOLD_OFFSET, SIGNATURES_OFFSET))).toNumber();
23
+ const signatures = parseBytesArray(SIGNATURES_OFFSET, threshold, SIGNATURE_LENGTH);
24
+ const VALIDATORS_OFFSET = SIGNATURES_OFFSET + threshold * SIGNATURE_LENGTH;
25
+ const addressesCount = buf.slice(VALIDATORS_OFFSET).length / 32;
26
+ const validators = parseBytesArray(VALIDATORS_OFFSET, addressesCount, 32);
27
+ return {
28
+ checkpointRoot,
29
+ checkpointIndex,
30
+ originMailbox,
31
+ proof,
32
+ signatures,
33
+ validators,
34
+ };
35
+ };
36
+ exports.parseLegacyMultisigIsmMetadata = parseLegacyMultisigIsmMetadata;
37
+ const formatLegacyMultisigIsmMetadata = (metadata) => {
38
+ return ethers_1.utils.solidityPack([
39
+ 'bytes32',
40
+ 'uint32',
41
+ 'bytes32',
42
+ 'bytes32[32]',
43
+ 'uint8',
44
+ 'bytes',
45
+ 'address[]',
46
+ ], [
47
+ metadata.checkpointRoot,
48
+ metadata.checkpointIndex,
49
+ (0, addresses_1.addressToBytes32)(metadata.originMailbox),
50
+ metadata.proof,
51
+ metadata.signatures.length,
52
+ ethers_1.utils.hexConcat(metadata.signatures),
53
+ metadata.validators,
54
+ ]);
55
+ };
56
+ exports.formatLegacyMultisigIsmMetadata = formatLegacyMultisigIsmMetadata;
57
+ //# sourceMappingURL=multisig.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"multisig.js","sourceRoot":"","sources":["../../src/multisig.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ export declare function isObject(item: any): any;
2
+ export declare function deepEquals(v1: any, v2: any): boolean;
3
+ type MappedObject<M extends Record<any, any>, O> = {
4
+ [Property in keyof M]: O;
5
+ };
6
+ export type ValueOf<T> = T[keyof T];
7
+ 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][];
8
+ 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): MappedObject<M, O>;
9
+ 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>;
10
+ export declare function promiseObjAll<K extends string, V>(obj: {
11
+ [key in K]: Promise<V>;
12
+ }): Promise<Record<K, V>>;
13
+ export declare function pick<K extends string, V = any>(obj: Record<K, V>, keys: K[]): Record<K, V>;
14
+ export declare function objMerge(a: Record<string, any>, b: Record<string, any>, max_depth?: number): any;
15
+ export declare function invertKeysAndValues(data: any): any;
16
+ export declare function arrayToObject(keys: Array<string | number>, val?: boolean): Record<string | number, boolean>;
17
+ export {};
18
+ //# sourceMappingURL=objects.d.ts.map
@@ -0,0 +1 @@
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,KAAK,YAAY,CAAC,CAAC,SAAS,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,IAAI;KAChD,QAAQ,IAAI,MAAM,CAAC,GAAG,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;AAEpC,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,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC,CAErD;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,GAAG,MAAM,CAAC,EAAE,GAAG,UAAO,oCAKrE"}
@@ -0,0 +1,84 @@
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.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 objMapEntries(obj, func) {
13
+ return Object.entries(obj).map(([k, v]) => [k, func(k, v)]);
14
+ }
15
+ exports.objMapEntries = objMapEntries;
16
+ // Map over the values of the object
17
+ function objMap(obj, func) {
18
+ return Object.fromEntries(objMapEntries(obj, func));
19
+ }
20
+ exports.objMap = objMap;
21
+ function objFilter(obj, func) {
22
+ return Object.fromEntries(Object.entries(obj).filter(([k, v]) => func(k, v)));
23
+ }
24
+ exports.objFilter = objFilter;
25
+ // promiseObjectAll :: {k: Promise a} -> Promise {k: a}
26
+ function promiseObjAll(obj) {
27
+ const promiseList = Object.entries(obj).map(([name, promise]) => promise.then((result) => [name, result]));
28
+ return Promise.all(promiseList).then(Object.fromEntries);
29
+ }
30
+ exports.promiseObjAll = promiseObjAll;
31
+ // Get the subset of the object from key list
32
+ function pick(obj, keys) {
33
+ const ret = {};
34
+ const objKeys = Object.keys(obj);
35
+ for (const key of keys) {
36
+ if (objKeys.includes(key)) {
37
+ ret[key] = obj[key];
38
+ }
39
+ }
40
+ return ret;
41
+ }
42
+ exports.pick = pick;
43
+ // Recursively merges b into a
44
+ // Where there are conflicts, b takes priority over a
45
+ function objMerge(a, b, max_depth = 10) {
46
+ if (max_depth === 0) {
47
+ throw new Error('objMerge tried to go too deep');
48
+ }
49
+ if (isObject(a) && isObject(b)) {
50
+ const ret = {};
51
+ const aKeys = new Set(Object.keys(a));
52
+ const bKeys = new Set(Object.keys(b));
53
+ const allKeys = new Set([...aKeys, ...bKeys]);
54
+ for (const key of allKeys.values()) {
55
+ if (aKeys.has(key) && bKeys.has(key)) {
56
+ ret[key] = objMerge(a[key], b[key], max_depth - 1);
57
+ }
58
+ else if (aKeys.has(key)) {
59
+ ret[key] = a[key];
60
+ }
61
+ else {
62
+ ret[key] = b[key];
63
+ }
64
+ }
65
+ return ret;
66
+ }
67
+ else {
68
+ return b ? b : a;
69
+ }
70
+ }
71
+ exports.objMerge = objMerge;
72
+ function invertKeysAndValues(data) {
73
+ return Object.fromEntries(Object.entries(data).map(([key, value]) => [value, key]));
74
+ }
75
+ exports.invertKeysAndValues = invertKeysAndValues;
76
+ // Returns an object with the keys as values from an array and value set to true
77
+ function arrayToObject(keys, val = true) {
78
+ return keys.reduce((result, k) => {
79
+ result[k] = val;
80
+ return result;
81
+ }, {});
82
+ }
83
+ exports.arrayToObject = arrayToObject;
84
+ //# sourceMappingURL=objects.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"objects.js","sourceRoot":"","sources":["../../src/objects.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
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
@@ -0,0 +1 @@
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"}
@@ -0,0 +1,30 @@
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
@@ -0,0 +1 @@
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"}
@@ -0,0 +1,7 @@
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
@@ -0,0 +1 @@
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"}
@@ -0,0 +1,51 @@
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
@@ -0,0 +1 @@
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"}
@@ -0,0 +1,3 @@
1
+ export declare function isNullish<T>(val: T): boolean;
2
+ export declare function isNumeric(value: string | number): boolean;
3
+ //# sourceMappingURL=typeof.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"typeof.d.ts","sourceRoot":"","sources":["../../src/typeof.ts"],"names":[],"mappings":"AAAA,wBAAgB,SAAS,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,WAGlC;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,WAE/C"}
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isNumeric = exports.isNullish = void 0;
4
+ function isNullish(val) {
5
+ if (val === null || val === undefined)
6
+ return true;
7
+ else
8
+ return false;
9
+ }
10
+ exports.isNullish = isNullish;
11
+ function isNumeric(value) {
12
+ return typeof value === 'number' || /^\d+$/.test(value);
13
+ }
14
+ exports.isNumeric = isNumeric;
15
+ //# sourceMappingURL=typeof.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"typeof.js","sourceRoot":"","sources":["../../src/typeof.ts"],"names":[],"mappings":";;;AAAA,SAAgB,SAAS,CAAI,GAAM;IACjC,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;;QAC9C,OAAO,KAAK,CAAC;AACpB,CAAC;AAHD,8BAGC;AAED,SAAgB,SAAS,CAAC,KAAsB;IAC9C,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC1D,CAAC;AAFD,8BAEC"}
@@ -1,4 +1,14 @@
1
- import { ethers } from 'ethers';
1
+ import type { ethers } from 'ethers';
2
+ export declare enum ProtocolType {
3
+ Ethereum = "ethereum",
4
+ Sealevel = "sealevel",
5
+ Fuel = "fuel"
6
+ }
7
+ export type ProtocolTypeValue = `${ProtocolType}`;
8
+ export declare const ProtocolSmallestUnit: {
9
+ ethereum: string;
10
+ sealevel: string;
11
+ };
2
12
  /********* BASIC TYPES *********/
3
13
  export type Domain = number;
4
14
  export type Address = string;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,iCAAiC;AACjC,MAAM,MAAM,MAAM,GAAG,MAAM,CAAC;AAC5B,MAAM,MAAM,OAAO,GAAG,MAAM,CAAC;AAC7B,MAAM,MAAM,cAAc,GAAG,MAAM,CAAC;AACpC,MAAM,MAAM,SAAS,GAAG,MAAM,CAAC;AAG/B,MAAM,MAAM,aAAa,GACrB;IACE,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,CAAC,CAAC,EAAE,MAAM,CAAC;CACZ,GACD,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC;AAE3B,MAAM,MAAM,WAAW,GAAG;IACxB,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC;IACjC,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC;IAC7B,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,oCAAoC;AACpC,MAAM,MAAM,UAAU,GAAG;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,OAAO,CAAC;CAC1B,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG;IAC/B,KAAK,EAAE;QACL,UAAU,EAAE,UAAU,CAAC;QACvB,UAAU,EAAE,SAAS,CAAC;KACvB,CAAC;IACF,SAAS,EAAE,aAAa,CAAC;CAC1B,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IACzB,KAAK,EAAE,UAAU,CAAC;IAClB,SAAS,EAAE,aAAa,CAAC;CAC1B,CAAC;AAEF,MAAM,MAAM,QAAQ,GAAG;IACrB,EAAE,EAAE,OAAO,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,oBAAY,aAAa;IACvB,IAAI,IAAI;IACR,SAAS,IAAA;CACV;AAED,MAAM,MAAM,aAAa,GAAG;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,MAAM,MAAM,+BAA+B,GAAG;IAC5C,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,MAAM,CAAC;IACxB,aAAa,EAAE,MAAM,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC;IAChC,UAAU,EAAE,MAAM,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC;IACrC,UAAU,EAAE,MAAM,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC;CACtC,CAAC;AAEF,oBAAY,4BAA4B;IACtC,QAAQ,IAAI;CACb"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAErC,oBAAY,YAAY;IACtB,QAAQ,aAAa;IACrB,QAAQ,aAAa;IACrB,IAAI,SAAS;CACd;AAED,MAAM,MAAM,iBAAiB,GAAG,GAAG,YAAY,EAAE,CAAC;AAElD,eAAO,MAAM,oBAAoB;;;CAGhC,CAAC;AAEF,iCAAiC;AACjC,MAAM,MAAM,MAAM,GAAG,MAAM,CAAC;AAC5B,MAAM,MAAM,OAAO,GAAG,MAAM,CAAC;AAC7B,MAAM,MAAM,cAAc,GAAG,MAAM,CAAC;AACpC,MAAM,MAAM,SAAS,GAAG,MAAM,CAAC;AAG/B,MAAM,MAAM,aAAa,GACrB;IACE,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,CAAC,CAAC,EAAE,MAAM,CAAC;CACZ,GACD,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC;AAE3B,MAAM,MAAM,WAAW,GAAG;IACxB,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC;IACjC,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC;IAC7B,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,oCAAoC;AACpC,MAAM,MAAM,UAAU,GAAG;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,OAAO,CAAC;CAC1B,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG;IAC/B,KAAK,EAAE;QACL,UAAU,EAAE,UAAU,CAAC;QACvB,UAAU,EAAE,SAAS,CAAC;KACvB,CAAC;IACF,SAAS,EAAE,aAAa,CAAC;CAC1B,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IACzB,KAAK,EAAE,UAAU,CAAC;IAClB,SAAS,EAAE,aAAa,CAAC;CAC1B,CAAC;AAEF,MAAM,MAAM,QAAQ,GAAG;IACrB,EAAE,EAAE,OAAO,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,oBAAY,aAAa;IACvB,IAAI,IAAI;IACR,SAAS,IAAA;CACV;AAED,MAAM,MAAM,aAAa,GAAG;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,MAAM,MAAM,+BAA+B,GAAG;IAC5C,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,MAAM,CAAC;IACxB,aAAa,EAAE,MAAM,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC;IAChC,UAAU,EAAE,MAAM,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC;IACrC,UAAU,EAAE,MAAM,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC;CACtC,CAAC;AAEF,oBAAY,4BAA4B;IACtC,QAAQ,IAAI;CACb"}
package/dist/src/types.js CHANGED
@@ -1,6 +1,16 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.InterchainSecurityModuleType = exports.MessageStatus = void 0;
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 || (exports.ProtocolType = ProtocolType = {}));
10
+ exports.ProtocolSmallestUnit = {
11
+ [ProtocolType.Ethereum]: 'wei',
12
+ [ProtocolType.Sealevel]: 'lamports',
13
+ };
4
14
  var MessageStatus;
5
15
  (function (MessageStatus) {
6
16
  MessageStatus[MessageStatus["NONE"] = 0] = "NONE";
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":";;;AAsDA,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
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":";;;AAEA,IAAY,YAIX;AAJD,WAAY,YAAY;IACtB,qCAAqB,CAAA;IACrB,qCAAqB,CAAA;IACrB,6BAAa,CAAA;AACf,CAAC,EAJW,YAAY,4BAAZ,YAAY,QAIvB;AAIY,QAAA,oBAAoB,GAAG;IAClC,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,KAAK;IAC9B,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,UAAU;CACpC,CAAC;AAsDF,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"}
@@ -0,0 +1,2 @@
1
+ export declare function assert(predicate: any, errorMessage?: string): void;
2
+ //# sourceMappingURL=validation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../src/validation.ts"],"names":[],"mappings":"AAAA,wBAAgB,MAAM,CAAC,SAAS,EAAE,GAAG,EAAE,YAAY,CAAC,EAAE,MAAM,QAI3D"}
@@ -0,0 +1,10 @@
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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validation.js","sourceRoot":"","sources":["../../src/validation.ts"],"names":[],"mappings":";;;AAAA,SAAgB,MAAM,CAAC,SAAc,EAAE,YAAqB;IAC1D,IAAI,CAAC,SAAS,EAAE;QACd,MAAM,IAAI,KAAK,CAAC,YAAY,IAAI,OAAO,CAAC,CAAC;KAC1C;AACH,CAAC;AAJD,wBAIC"}
@@ -1 +1 @@
1
- {"version":3,"file":"validator.d.ts","sourceRoot":"","sources":["../../src/validator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,OAAO,EACL,OAAO,EACP,UAAU,EACV,MAAM,EACN,SAAS,EACT,YAAY,EACZ,aAAa,EACd,MAAM,SAAS,CAAC;AAGjB;;GAEG;AACH,qBAAa,aAAa;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;gBAEL,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO;IAMnE,UAAU;IAIV,OAAO,CAAC,UAAU,EAAE,UAAU,EAAE,SAAS,CAAC,EAAE,SAAS;IAUrD,WAAW,CAAC,UAAU,EAAE,UAAU,EAAE,SAAS,CAAC,EAAE,SAAS;IAKzD,4BAA4B,CAC1B,UAAU,EAAE,UAAU,EACtB,SAAS,EAAE,aAAa,EACxB,SAAS,CAAC,EAAE,SAAS,GACpB,OAAO;IAKV,aAAa,CACX,UAAU,EAAE,UAAU,EACtB,SAAS,EAAE,aAAa,EACxB,SAAS,CAAC,EAAE,SAAS;CAUxB;AAED,qBAAa,SAAU,SAAQ,aAAa;IAExC,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM;gBAArB,MAAM,EAAE,MAAM,CAAC,MAAM,EAC/B,OAAO,EAAE,OAAO,EAChB,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,OAAO;WAKL,UAAU,CACrB,MAAM,EAAE,MAAM,CAAC,MAAM,EACrB,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,OAAO;IAUZ,cAAc,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;CAc5E"}
1
+ {"version":3,"file":"validator.d.ts","sourceRoot":"","sources":["../../src/validator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAGhC,OAAO,EACL,OAAO,EACP,UAAU,EACV,MAAM,EACN,SAAS,EACT,YAAY,EACZ,aAAa,EACd,MAAM,SAAS,CAAC;AAEjB;;GAEG;AACH,qBAAa,aAAa;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;gBAEL,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO;IAMnE,UAAU;IAIV,OAAO,CAAC,UAAU,EAAE,UAAU,EAAE,SAAS,CAAC,EAAE,SAAS;IAUrD,WAAW,CAAC,UAAU,EAAE,UAAU,EAAE,SAAS,CAAC,EAAE,SAAS;IAKzD,4BAA4B,CAC1B,UAAU,EAAE,UAAU,EACtB,SAAS,EAAE,aAAa,EACxB,SAAS,CAAC,EAAE,SAAS,GACpB,OAAO;IAKV,aAAa,CACX,UAAU,EAAE,UAAU,EACtB,SAAS,EAAE,aAAa,EACxB,SAAS,CAAC,EAAE,SAAS;CAUxB;AAED,qBAAa,SAAU,SAAQ,aAAa;IAExC,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM;gBAArB,MAAM,EAAE,MAAM,CAAC,MAAM,EAC/B,OAAO,EAAE,OAAO,EAChB,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,OAAO;WAKL,UAAU,CACrB,MAAM,EAAE,MAAM,CAAC,MAAM,EACrB,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,OAAO;IAUZ,cAAc,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;CAc5E"}
@@ -2,7 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.Validator = exports.BaseValidator = void 0;
4
4
  const ethers_1 = require("ethers");
5
- const utils_1 = require("./utils");
5
+ const domains_1 = require("./domains");
6
6
  /**
7
7
  * Utilities for validators to construct and verify checkpoints.
8
8
  */
@@ -13,12 +13,12 @@ class BaseValidator {
13
13
  this.mailbox = mailbox;
14
14
  }
15
15
  domainHash() {
16
- return (0, utils_1.domainHash)(this.localDomain, this.mailbox);
16
+ return (0, domains_1.domainHash)(this.localDomain, this.mailbox);
17
17
  }
18
18
  message(checkpoint, messageId) {
19
- let types = ['bytes32', 'bytes32', 'uint32'];
20
- let values = [this.domainHash(), checkpoint.root, checkpoint.index];
21
- if (!!messageId) {
19
+ const types = ['bytes32', 'bytes32', 'uint32'];
20
+ const values = [this.domainHash(), checkpoint.root, checkpoint.index];
21
+ if (messageId) {
22
22
  types.push('bytes32');
23
23
  values.push(messageId);
24
24
  }
@@ -1 +1 @@
1
- {"version":3,"file":"validator.js","sourceRoot":"","sources":["../../src/validator.ts"],"names":[],"mappings":";;;AAAA,mCAAgC;AAUhC,mCAAqC;AAErC;;GAEG;AACH,MAAa,aAAa;IAKxB,YAAY,OAAgB,EAAE,WAAmB,EAAE,OAAgB;QACjE,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAED,UAAU;QACR,OAAO,IAAA,kBAAU,EAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IACpD,CAAC;IAED,OAAO,CAAC,UAAsB,EAAE,SAAqB;QACnD,IAAI,KAAK,GAAG,CAAC,SAAS,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;QAC7C,IAAI,MAAM,GAAG,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,UAAU,CAAC,IAAI,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC;QACpE,IAAI,CAAC,CAAC,SAAS,EAAE;YACf,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACtB,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;SACxB;QACD,OAAO,eAAM,CAAC,KAAK,CAAC,YAAY,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAClD,CAAC;IAED,WAAW,CAAC,UAAsB,EAAE,SAAqB;QACvD,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,SAAqB;QAErB,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,SAAqB;QAErB,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;AApDD,sCAoDC;AAED,MAAa,SAAU,SAAQ,aAAa;IAC1C,YACY,MAAqB,EAC/B,OAAgB,EAChB,WAAmB,EACnB,OAAgB;QAEhB,KAAK,CAAC,OAAO,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;QAL3B,WAAM,GAAN,MAAM,CAAe;IAMjC,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,UAAU,CACrB,MAAqB,EACrB,WAAmB,EACnB,OAAgB;QAEhB,OAAO,IAAI,SAAS,CAClB,MAAM,EACN,MAAM,MAAM,CAAC,UAAU,EAAE,EACzB,WAAW,EACX,OAAO,CACR,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,IAAe,EAAE,KAAa;QACjD,MAAM,UAAU,GAAG;YACjB,IAAI;YACJ,KAAK;YACL,eAAe,EAAE,IAAI,CAAC,OAAO;YAC7B,cAAc,EAAE,IAAI,CAAC,WAAW;SACjC,CAAC;QACF,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;QAC7C,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QACzD,OAAO;YACL,KAAK,EAAE,UAAU;YACjB,SAAS;SACV,CAAC;IACJ,CAAC;CACF;AArCD,8BAqCC"}
1
+ {"version":3,"file":"validator.js","sourceRoot":"","sources":["../../src/validator.ts"],"names":[],"mappings":";;;AAAA,mCAAgC;AAEhC,uCAAuC;AAUvC;;GAEG;AACH,MAAa,aAAa;IAKxB,YAAY,OAAgB,EAAE,WAAmB,EAAE,OAAgB;QACjE,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAED,UAAU;QACR,OAAO,IAAA,oBAAU,EAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IACpD,CAAC;IAED,OAAO,CAAC,UAAsB,EAAE,SAAqB;QACnD,MAAM,KAAK,GAAG,CAAC,SAAS,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;QAC/C,MAAM,MAAM,GAAG,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,UAAU,CAAC,IAAI,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC;QACtE,IAAI,SAAS,EAAE;YACb,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACtB,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;SACxB;QACD,OAAO,eAAM,CAAC,KAAK,CAAC,YAAY,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAClD,CAAC;IAED,WAAW,CAAC,UAAsB,EAAE,SAAqB;QACvD,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,SAAqB;QAErB,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,SAAqB;QAErB,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;AApDD,sCAoDC;AAED,MAAa,SAAU,SAAQ,aAAa;IAC1C,YACY,MAAqB,EAC/B,OAAgB,EAChB,WAAmB,EACnB,OAAgB;QAEhB,KAAK,CAAC,OAAO,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;QAL3B,WAAM,GAAN,MAAM,CAAe;IAMjC,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,UAAU,CACrB,MAAqB,EACrB,WAAmB,EACnB,OAAgB;QAEhB,OAAO,IAAI,SAAS,CAClB,MAAM,EACN,MAAM,MAAM,CAAC,UAAU,EAAE,EACzB,WAAW,EACX,OAAO,CACR,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,IAAe,EAAE,KAAa;QACjD,MAAM,UAAU,GAAG;YACjB,IAAI;YACJ,KAAK;YACL,eAAe,EAAE,IAAI,CAAC,OAAO;YAC7B,cAAc,EAAE,IAAI,CAAC,WAAW;SACjC,CAAC;QACF,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;QAC7C,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QACzD,OAAO;YACL,KAAK,EAAE,UAAU;YACjB,SAAS;SACV,CAAC;IACJ,CAAC;CACF;AArCD,8BAqCC"}
package/package.json CHANGED
@@ -1,8 +1,10 @@
1
1
  {
2
2
  "name": "@hyperlane-xyz/utils",
3
3
  "description": "General utilities for the Hyperlane network",
4
- "version": "1.4.3-beta0",
4
+ "version": "1.4.3-beta2",
5
5
  "dependencies": {
6
+ "@solana/web3.js": "^1.78.0",
7
+ "bignumber.js": "^9.1.1",
6
8
  "ethers": "^5.7.2"
7
9
  },
8
10
  "devDependencies": {
@@ -13,7 +15,7 @@
13
15
  "homepage": "https://www.hyperlane.xyz",
14
16
  "keywords": [
15
17
  "Hyperlane",
16
- "SDK",
18
+ "Utilities",
17
19
  "Typescript"
18
20
  ],
19
21
  "license": "Apache-2.0",
@@ -26,6 +28,7 @@
26
28
  "check": "tsc --noEmit",
27
29
  "prettier": "prettier --write ./src"
28
30
  },
31
+ "sideEffects": false,
29
32
  "types": "dist/index.d.ts",
30
33
  "files": [
31
34
  "/dist"