@hyperlane-xyz/utils 1.0.0-beta4 → 1.0.0-beta6

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.
@@ -11,7 +11,12 @@ export declare type SignatureLike = {
11
11
  recoveryParam?: number;
12
12
  v?: number;
13
13
  } | ethers.utils.BytesLike;
14
- /********* ABACUS CORE *********/
14
+ export declare type MerkleProof = {
15
+ branch: ethers.utils.BytesLike[];
16
+ leaf: ethers.utils.BytesLike;
17
+ index: number;
18
+ };
19
+ /********* HYPERLANE CORE *********/
15
20
  export declare type Checkpoint = {
16
21
  root: string;
17
22
  index: number;
@@ -21,20 +26,28 @@ export declare type CallData = {
21
26
  to: Address;
22
27
  data: string;
23
28
  };
24
- export declare enum AbacusState {
25
- UNINITIALIZED = 0,
26
- ACTIVE = 1,
27
- FAILED = 2
28
- }
29
29
  export declare enum MessageStatus {
30
30
  NONE = 0,
31
31
  PROCESSED = 1
32
32
  }
33
33
  export declare type ParsedMessage = {
34
+ version: number;
35
+ nonce: number;
34
36
  origin: number;
35
37
  sender: string;
36
38
  destination: number;
37
39
  recipient: string;
38
40
  body: string;
39
41
  };
42
+ export declare type ParsedMultisigIsmMetadata = {
43
+ checkpointRoot: string;
44
+ checkpointIndex: number;
45
+ originMailbox: string;
46
+ proof: ethers.utils.BytesLike[];
47
+ signatures: ethers.utils.BytesLike[];
48
+ validators: ethers.utils.BytesLike[];
49
+ };
50
+ export declare enum InterchainSecurityModuleType {
51
+ MULTISIG = 3
52
+ }
40
53
  //# sourceMappingURL=types.d.ts.map
@@ -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,oBAAY,MAAM,GAAG,MAAM,CAAC;AAC5B,oBAAY,OAAO,GAAG,MAAM,CAAC;AAC7B,oBAAY,cAAc,GAAG,MAAM,CAAC;AACpC,oBAAY,SAAS,GAAG,MAAM,CAAC;AAG/B,oBAAY,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,iCAAiC;AACjC,oBAAY,UAAU,GAAG;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,aAAa,CAAC;CAC1B,CAAC;AAEF,oBAAY,QAAQ,GAAG;IACrB,EAAE,EAAE,OAAO,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,oBAAY,WAAW;IACrB,aAAa,IAAI;IACjB,MAAM,IAAA;IACN,MAAM,IAAA;CACP;AAED,oBAAY,aAAa;IACvB,IAAI,IAAI;IACR,SAAS,IAAA;CACV;AAED,oBAAY,aAAa,GAAG;IAC1B,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"}
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,oBAAY,MAAM,GAAG,MAAM,CAAC;AAC5B,oBAAY,OAAO,GAAG,MAAM,CAAC;AAC7B,oBAAY,cAAc,GAAG,MAAM,CAAC;AACpC,oBAAY,SAAS,GAAG,MAAM,CAAC;AAG/B,oBAAY,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,oBAAY,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,oBAAY,UAAU,GAAG;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,aAAa,CAAC;CAC1B,CAAC;AAEF,oBAAY,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,oBAAY,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,oBAAY,yBAAyB,GAAG;IACtC,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,15 +1,13 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.MessageStatus = exports.AbacusState = void 0;
4
- var AbacusState;
5
- (function (AbacusState) {
6
- AbacusState[AbacusState["UNINITIALIZED"] = 0] = "UNINITIALIZED";
7
- AbacusState[AbacusState["ACTIVE"] = 1] = "ACTIVE";
8
- AbacusState[AbacusState["FAILED"] = 2] = "FAILED";
9
- })(AbacusState = exports.AbacusState || (exports.AbacusState = {}));
3
+ exports.InterchainSecurityModuleType = exports.MessageStatus = void 0;
10
4
  var MessageStatus;
11
5
  (function (MessageStatus) {
12
6
  MessageStatus[MessageStatus["NONE"] = 0] = "NONE";
13
7
  MessageStatus[MessageStatus["PROCESSED"] = 1] = "PROCESSED";
14
8
  })(MessageStatus = exports.MessageStatus || (exports.MessageStatus = {}));
9
+ var InterchainSecurityModuleType;
10
+ (function (InterchainSecurityModuleType) {
11
+ InterchainSecurityModuleType[InterchainSecurityModuleType["MULTISIG"] = 3] = "MULTISIG";
12
+ })(InterchainSecurityModuleType = exports.InterchainSecurityModuleType || (exports.InterchainSecurityModuleType = {}));
15
13
  //# sourceMappingURL=types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":";;;AA+BA,IAAY,WAIX;AAJD,WAAY,WAAW;IACrB,+DAAiB,CAAA;IACjB,iDAAM,CAAA;IACN,iDAAM,CAAA;AACR,CAAC,EAJW,WAAW,GAAX,mBAAW,KAAX,mBAAW,QAItB;AAED,IAAY,aAGX;AAHD,WAAY,aAAa;IACvB,iDAAQ,CAAA;IACR,2DAAS,CAAA;AACX,CAAC,EAHW,aAAa,GAAb,qBAAa,KAAb,qBAAa,QAGxB"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":";;;AAqCA,IAAY,aAGX;AAHD,WAAY,aAAa;IACvB,iDAAQ,CAAA;IACR,2DAAS,CAAA;AACX,CAAC,EAHW,aAAa,GAAb,qBAAa,KAAb,qBAAa,QAGxB;AAqBD,IAAY,4BAEX;AAFD,WAAY,4BAA4B;IACtC,uFAAY,CAAA;AACd,CAAC,EAFW,4BAA4B,GAA5B,oCAA4B,KAA5B,oCAA4B,QAEvC"}
@@ -1,26 +1,25 @@
1
1
  /// <reference types="node" />
2
- import { ethers } from 'ethers';
3
- import { Checkpoint } from './types';
4
- import { Address, Domain, HexString, ParsedMessage } from './types';
2
+ import { BigNumber, ethers } from 'ethers';
3
+ import { Address, Checkpoint, Domain, HexString, ParsedMessage, ParsedMultisigIsmMetadata } from './types';
5
4
  export declare function assert(predicate: any, errorMessage?: string): void;
6
5
  export declare function deepEquals(v1: any, v2: any): boolean;
7
- export declare function eqAddress(a: string, b: string): boolean;
8
6
  export declare const ensure0x: (hexstr: string) => string;
9
7
  export declare const strip0x: (hexstr: string) => string;
10
8
  export declare function addressToBytes32(address: Address): string;
11
9
  export declare function bytes32ToAddress(bytes32: string): Address;
12
10
  export declare function formatCallData<C extends ethers.Contract, I extends Parameters<C['interface']['encodeFunctionData']>>(destinationContract: C, functionName: I[0], functionArgs: I[1]): string;
13
- export declare const formatMessage: (localDomain: Domain, senderAddr: Address, destinationDomain: Domain, recipientAddr: Address, body: HexString) => string;
11
+ export declare const parseMultisigIsmMetadata: (metadata: string) => ParsedMultisigIsmMetadata;
12
+ export declare const formatMultisigIsmMetadata: (metadata: ParsedMultisigIsmMetadata) => string;
13
+ export declare const formatMessage: (version: number | BigNumber, nonce: number | BigNumber, originDomain: Domain, senderAddr: Address, destinationDomain: Domain, recipientAddr: Address, body: HexString) => string;
14
+ export declare function messageId(message: HexString): string;
14
15
  /**
15
- * Parse a serialized Abacus message from raw bytes.
16
+ * Parse a serialized Hyperlane message from raw bytes.
16
17
  *
17
18
  * @param message
18
19
  * @returns
19
20
  */
20
21
  export declare function parseMessage(message: string): ParsedMessage;
21
- export declare function messageHash(message: HexString, leafIndex: number): string;
22
- export declare function destinationAndNonce(destination: Domain, sequence: number): ethers.BigNumber;
23
- export declare function domainHash(domain: number): string;
22
+ export declare function domainHash(domain: number, mailbox: string): string;
24
23
  export declare function sleep(ms: number): Promise<void>;
25
24
  export declare function retryAsync<T>(runner: () => T, attempts?: number, baseRetryMs?: number): Promise<T>;
26
25
  export declare function pollAsync<T>(runner: () => Promise<T>, delayMs?: number, maxAttempts?: number | undefined): Promise<T>;
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"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"}
package/dist/src/utils.js CHANGED
@@ -9,7 +9,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
9
9
  });
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.setEquality = exports.symmetricDifference = exports.difference = exports.safelyAccessEnvVar = exports.timeout = exports.isCheckpoint = exports.streamToString = exports.stdDev = exports.mean = exports.sum = exports.median = exports.pollAsync = exports.retryAsync = exports.sleep = exports.domainHash = exports.destinationAndNonce = exports.messageHash = exports.parseMessage = exports.formatMessage = exports.formatCallData = exports.bytes32ToAddress = exports.addressToBytes32 = exports.strip0x = exports.ensure0x = exports.eqAddress = exports.deepEquals = exports.assert = void 0;
12
+ exports.setEquality = exports.symmetricDifference = exports.difference = exports.safelyAccessEnvVar = exports.timeout = exports.isCheckpoint = exports.streamToString = exports.stdDev = exports.mean = exports.sum = exports.median = exports.pollAsync = exports.retryAsync = exports.sleep = exports.domainHash = exports.parseMessage = exports.messageId = exports.formatMessage = exports.formatMultisigIsmMetadata = exports.parseMultisigIsmMetadata = exports.formatCallData = exports.bytes32ToAddress = exports.addressToBytes32 = exports.strip0x = exports.ensure0x = exports.deepEquals = exports.assert = void 0;
13
13
  const ethers_1 = require("ethers");
14
14
  function assert(predicate, errorMessage) {
15
15
  if (!predicate) {
@@ -21,10 +21,6 @@ function deepEquals(v1, v2) {
21
21
  return JSON.stringify(v1) === JSON.stringify(v2);
22
22
  }
23
23
  exports.deepEquals = deepEquals;
24
- function eqAddress(a, b) {
25
- return ethers_1.ethers.utils.getAddress(a) === ethers_1.ethers.utils.getAddress(b);
26
- }
27
- exports.eqAddress = eqAddress;
28
24
  const ensure0x = (hexstr) => hexstr.startsWith('0x') ? hexstr : `0x${hexstr}`;
29
25
  exports.ensure0x = ensure0x;
30
26
  const strip0x = (hexstr) => hexstr.startsWith('0x') ? hexstr.slice(2) : hexstr;
@@ -43,42 +39,102 @@ function formatCallData(destinationContract, functionName, functionArgs) {
43
39
  return destinationContract.interface.encodeFunctionData(functionName, functionArgs);
44
40
  }
45
41
  exports.formatCallData = formatCallData;
46
- const formatMessage = (localDomain, senderAddr, destinationDomain, recipientAddr, body) => {
42
+ const parseMultisigIsmMetadata = (metadata) => {
43
+ const MERKLE_ROOT_OFFSET = 0;
44
+ const MERKLE_INDEX_OFFSET = 32;
45
+ const ORIGIN_MAILBOX_OFFSET = 36;
46
+ const MERKLE_PROOF_OFFSET = 68;
47
+ const THRESHOLD_OFFSET = 1092;
48
+ const SIGNATURES_OFFSET = 1093;
49
+ const SIGNATURE_LENGTH = 65;
50
+ const buf = Buffer.from(ethers_1.utils.arrayify(metadata));
51
+ const checkpointRoot = ethers_1.utils.hexlify(buf.slice(MERKLE_ROOT_OFFSET, MERKLE_INDEX_OFFSET));
52
+ const checkpointIndex = ethers_1.BigNumber.from(ethers_1.utils.hexlify(buf.slice(MERKLE_INDEX_OFFSET, ORIGIN_MAILBOX_OFFSET))).toNumber();
53
+ const originMailbox = ethers_1.utils.hexlify(buf.slice(ORIGIN_MAILBOX_OFFSET, MERKLE_PROOF_OFFSET));
54
+ const parseBytesArray = (start, count, size) => {
55
+ return [...Array(count).keys()].map((i) => ethers_1.utils.hexlify(buf.slice(start + size * i, start + size * (i + 1))));
56
+ };
57
+ const proof = parseBytesArray(MERKLE_PROOF_OFFSET, 32, 32);
58
+ const threshold = ethers_1.BigNumber.from(ethers_1.utils.hexlify(buf.slice(THRESHOLD_OFFSET, SIGNATURES_OFFSET))).toNumber();
59
+ const signatures = parseBytesArray(SIGNATURES_OFFSET, threshold, SIGNATURE_LENGTH);
60
+ const VALIDATORS_OFFSET = SIGNATURES_OFFSET + threshold * SIGNATURE_LENGTH;
61
+ const addressesCount = buf.slice(VALIDATORS_OFFSET).length / 32;
62
+ const validators = parseBytesArray(VALIDATORS_OFFSET, addressesCount, 32);
63
+ return {
64
+ checkpointRoot,
65
+ checkpointIndex,
66
+ originMailbox,
67
+ proof,
68
+ signatures,
69
+ validators,
70
+ };
71
+ };
72
+ exports.parseMultisigIsmMetadata = parseMultisigIsmMetadata;
73
+ const formatMultisigIsmMetadata = (metadata) => {
74
+ return ethers_1.ethers.utils.solidityPack([
75
+ 'bytes32',
76
+ 'uint32',
77
+ 'bytes32',
78
+ 'bytes32[32]',
79
+ 'uint8',
80
+ 'bytes',
81
+ 'address[]',
82
+ ], [
83
+ metadata.checkpointRoot,
84
+ metadata.checkpointIndex,
85
+ addressToBytes32(metadata.originMailbox),
86
+ metadata.proof,
87
+ metadata.signatures.length,
88
+ ethers_1.ethers.utils.hexConcat(metadata.signatures),
89
+ metadata.validators,
90
+ ]);
91
+ };
92
+ exports.formatMultisigIsmMetadata = formatMultisigIsmMetadata;
93
+ const formatMessage = (version, nonce, originDomain, senderAddr, destinationDomain, recipientAddr, body) => {
47
94
  senderAddr = addressToBytes32(senderAddr);
48
95
  recipientAddr = addressToBytes32(recipientAddr);
49
- return ethers_1.ethers.utils.solidityPack(['uint32', 'bytes32', 'uint32', 'bytes32', 'bytes'], [localDomain, senderAddr, destinationDomain, recipientAddr, body]);
96
+ return ethers_1.ethers.utils.solidityPack(['uint8', 'uint32', 'uint32', 'bytes32', 'uint32', 'bytes32', 'bytes'], [
97
+ version,
98
+ nonce,
99
+ originDomain,
100
+ senderAddr,
101
+ destinationDomain,
102
+ recipientAddr,
103
+ body,
104
+ ]);
50
105
  };
51
106
  exports.formatMessage = formatMessage;
107
+ function messageId(message) {
108
+ return ethers_1.ethers.utils.solidityKeccak256(['bytes'], [message]);
109
+ }
110
+ exports.messageId = messageId;
52
111
  /**
53
- * Parse a serialized Abacus message from raw bytes.
112
+ * Parse a serialized Hyperlane message from raw bytes.
54
113
  *
55
114
  * @param message
56
115
  * @returns
57
116
  */
58
117
  function parseMessage(message) {
118
+ const VERSION_OFFSET = 0;
119
+ const NONCE_OFFSET = 1;
120
+ const ORIGIN_OFFSET = 5;
121
+ const SENDER_OFFSET = 9;
122
+ const DESTINATION_OFFSET = 41;
123
+ const RECIPIENT_OFFSET = 45;
124
+ const BODY_OFFSET = 77;
59
125
  const buf = Buffer.from(ethers_1.utils.arrayify(message));
60
- const origin = buf.readUInt32BE(0);
61
- const sender = ethers_1.utils.hexlify(buf.slice(4, 36));
62
- const destination = buf.readUInt32BE(36);
63
- const recipient = ethers_1.utils.hexlify(buf.slice(40, 72));
64
- const body = ethers_1.utils.hexlify(buf.slice(72));
65
- return { origin, sender, destination, recipient, body };
126
+ const version = buf.readUint8(VERSION_OFFSET);
127
+ const nonce = buf.readUInt32BE(NONCE_OFFSET);
128
+ const origin = buf.readUInt32BE(ORIGIN_OFFSET);
129
+ const sender = ethers_1.utils.hexlify(buf.slice(SENDER_OFFSET, DESTINATION_OFFSET));
130
+ const destination = buf.readUInt32BE(DESTINATION_OFFSET);
131
+ const recipient = ethers_1.utils.hexlify(buf.slice(RECIPIENT_OFFSET, BODY_OFFSET));
132
+ const body = ethers_1.utils.hexlify(buf.slice(BODY_OFFSET));
133
+ return { version, nonce, origin, sender, destination, recipient, body };
66
134
  }
67
135
  exports.parseMessage = parseMessage;
68
- function messageHash(message, leafIndex) {
69
- return ethers_1.ethers.utils.solidityKeccak256(['bytes', 'uint256'], [message, leafIndex]);
70
- }
71
- exports.messageHash = messageHash;
72
- function destinationAndNonce(destination, sequence) {
73
- assert(destination < Math.pow(2, 32) - 1);
74
- assert(sequence < Math.pow(2, 32) - 1);
75
- return ethers_1.ethers.BigNumber.from(destination)
76
- .mul(ethers_1.ethers.BigNumber.from(2).pow(32))
77
- .add(ethers_1.ethers.BigNumber.from(sequence));
78
- }
79
- exports.destinationAndNonce = destinationAndNonce;
80
- function domainHash(domain) {
81
- return ethers_1.ethers.utils.solidityKeccak256(['uint32', 'string'], [domain, 'ABACUS']);
136
+ function domainHash(domain, mailbox) {
137
+ return ethers_1.ethers.utils.solidityKeccak256(['uint32', 'bytes32', 'string'], [domain, addressToBytes32(mailbox), 'HYPERLANE']);
82
138
  }
83
139
  exports.domainHash = domainHash;
84
140
  function sleep(ms) {
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"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"}
@@ -6,7 +6,8 @@ import { Address, Checkpoint, Domain, HexString } from './types';
6
6
  export declare class BaseValidator {
7
7
  localDomain: Domain;
8
8
  address: Address;
9
- constructor(address: Address, localDomain: Domain);
9
+ mailbox: Address;
10
+ constructor(address: Address, localDomain: Domain, mailbox: Address);
10
11
  domainHash(): string;
11
12
  message(root: HexString, index: number): string;
12
13
  messageHash(root: HexString, index: number): Uint8Array;
@@ -18,8 +19,8 @@ export declare class BaseValidator {
18
19
  */
19
20
  export declare class Validator extends BaseValidator {
20
21
  protected signer: ethers.Signer;
21
- constructor(signer: ethers.Signer, address: Address, localDomain: Domain);
22
- static fromSigner(signer: ethers.Signer, localDomain: Domain): Promise<Validator>;
22
+ constructor(signer: ethers.Signer, address: Address, localDomain: Domain, mailbox: Address);
23
+ static fromSigner(signer: ethers.Signer, localDomain: Domain, mailbox: Address): Promise<Validator>;
23
24
  signCheckpoint(root: HexString, index: number): Promise<Checkpoint>;
24
25
  }
25
26
  //# sourceMappingURL=validator.d.ts.map
@@ -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,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAGjE;;GAEG;AACH,qBAAa,aAAa;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,OAAO,CAAC;gBAEL,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM;IAKjD,UAAU;IAIV,OAAO,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM;IAOtC,WAAW,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM;IAK1C,4BAA4B,CAAC,UAAU,EAAE,UAAU,GAAG,OAAO;IAK7D,aAAa,CAAC,UAAU,EAAE,UAAU;CAMrC;AAED;;GAEG;AACH,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;WAKR,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,EAAE,MAAM;IAI5D,cAAc,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;CAS1E"}
1
+ {"version":3,"file":"validator.d.ts","sourceRoot":"","sources":["../../src/validator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAGjE;;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,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM;IAOtC,WAAW,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM;IAK1C,4BAA4B,CAAC,UAAU,EAAE,UAAU,GAAG,OAAO;IAK7D,aAAa,CAAC,UAAU,EAAE,UAAU;CAMrC;AAED;;GAEG;AACH,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,UAAU,CAAC;CAS1E"}
@@ -16,15 +16,16 @@ const utils_1 = require("./utils");
16
16
  * Utilities for validators to construct and verify checkpoints.
17
17
  */
18
18
  class BaseValidator {
19
- constructor(address, localDomain) {
19
+ constructor(address, localDomain, mailbox) {
20
20
  this.localDomain = localDomain;
21
21
  this.address = address;
22
+ this.mailbox = mailbox;
22
23
  }
23
24
  domainHash() {
24
- return (0, utils_1.domainHash)(this.localDomain);
25
+ return (0, utils_1.domainHash)(this.localDomain, this.mailbox);
25
26
  }
26
27
  message(root, index) {
27
- return ethers_1.ethers.utils.solidityPack(['bytes32', 'bytes32', 'uint256'], [this.domainHash(), root, index]);
28
+ return ethers_1.ethers.utils.solidityPack(['bytes32', 'bytes32', 'uint32'], [this.domainHash(), root, index]);
28
29
  }
29
30
  messageHash(root, index) {
30
31
  const message = this.message(root, index);
@@ -44,13 +45,13 @@ exports.BaseValidator = BaseValidator;
44
45
  * Extension of BaseValidator that includes ethers signing utilities.
45
46
  */
46
47
  class Validator extends BaseValidator {
47
- constructor(signer, address, localDomain) {
48
- super(address, localDomain);
48
+ constructor(signer, address, localDomain, mailbox) {
49
+ super(address, localDomain, mailbox);
49
50
  this.signer = signer;
50
51
  }
51
- static fromSigner(signer, localDomain) {
52
+ static fromSigner(signer, localDomain, mailbox) {
52
53
  return __awaiter(this, void 0, void 0, function* () {
53
- return new Validator(signer, yield signer.getAddress(), localDomain);
54
+ return new Validator(signer, yield signer.getAddress(), localDomain, mailbox);
54
55
  });
55
56
  }
56
57
  signCheckpoint(root, index) {
@@ -1 +1 @@
1
- {"version":3,"file":"validator.js","sourceRoot":"","sources":["../../src/validator.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,mCAAgC;AAGhC,mCAAqC;AAErC;;GAEG;AACH,MAAa,aAAa;IAIxB,YAAY,OAAgB,EAAE,WAAmB;QAC/C,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAED,UAAU;QACR,OAAO,IAAA,kBAAU,EAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACtC,CAAC;IAED,OAAO,CAAC,IAAe,EAAE,KAAa;QACpC,OAAO,eAAM,CAAC,KAAK,CAAC,YAAY,CAC9B,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC,EACjC,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,CACjC,CAAC;IACJ,CAAC;IAED,WAAW,CAAC,IAAe,EAAE,KAAa;QACxC,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAC1C,OAAO,eAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,eAAM,CAAC,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;IAChE,CAAC;IAED,4BAA4B,CAAC,UAAsB;QACjD,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,IAAI,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC;QACpE,OAAO,eAAM,CAAC,KAAK,CAAC,aAAa,CAAC,OAAO,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC;IACnE,CAAC;IAED,aAAa,CAAC,UAAsB;QAClC,OAAO,CACL,IAAI,CAAC,4BAA4B,CAAC,UAAU,CAAC,CAAC,WAAW,EAAE;YAC3D,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAC3B,CAAC;IACJ,CAAC;CACF;AApCD,sCAoCC;AAED;;GAEG;AACH,MAAa,SAAU,SAAQ,aAAa;IAC1C,YACY,MAAqB,EAC/B,OAAgB,EAChB,WAAmB;QAEnB,KAAK,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;QAJlB,WAAM,GAAN,MAAM,CAAe;IAKjC,CAAC;IAED,MAAM,CAAO,UAAU,CAAC,MAAqB,EAAE,WAAmB;;YAChE,OAAO,IAAI,SAAS,CAAC,MAAM,EAAE,MAAM,MAAM,CAAC,UAAU,EAAE,EAAE,WAAW,CAAC,CAAC;QACvE,CAAC;KAAA;IAEK,cAAc,CAAC,IAAe,EAAE,KAAa;;YACjD,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YAC9C,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;YACzD,OAAO;gBACL,IAAI;gBACJ,KAAK;gBACL,SAAS;aACV,CAAC;QACJ,CAAC;KAAA;CACF;AAtBD,8BAsBC"}
1
+ {"version":3,"file":"validator.js","sourceRoot":"","sources":["../../src/validator.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,mCAAgC;AAGhC,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,IAAe,EAAE,KAAa;QACpC,OAAO,eAAM,CAAC,KAAK,CAAC,YAAY,CAC9B,CAAC,SAAS,EAAE,SAAS,EAAE,QAAQ,CAAC,EAChC,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,CACjC,CAAC;IACJ,CAAC;IAED,WAAW,CAAC,IAAe,EAAE,KAAa;QACxC,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAC1C,OAAO,eAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,eAAM,CAAC,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;IAChE,CAAC;IAED,4BAA4B,CAAC,UAAsB;QACjD,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,IAAI,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC;QACpE,OAAO,eAAM,CAAC,KAAK,CAAC,aAAa,CAAC,OAAO,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC;IACnE,CAAC;IAED,aAAa,CAAC,UAAsB;QAClC,OAAO,CACL,IAAI,CAAC,4BAA4B,CAAC,UAAU,CAAC,CAAC,WAAW,EAAE;YAC3D,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAC3B,CAAC;IACJ,CAAC;CACF;AAtCD,sCAsCC;AAED;;GAEG;AACH,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,CAAO,UAAU,CACrB,MAAqB,EACrB,WAAmB,EACnB,OAAgB;;YAEhB,OAAO,IAAI,SAAS,CAClB,MAAM,EACN,MAAM,MAAM,CAAC,UAAU,EAAE,EACzB,WAAW,EACX,OAAO,CACR,CAAC;QACJ,CAAC;KAAA;IAEK,cAAc,CAAC,IAAe,EAAE,KAAa;;YACjD,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YAC9C,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;YACzD,OAAO;gBACL,IAAI;gBACJ,KAAK;gBACL,SAAS;aACV,CAAC;QACJ,CAAC;KAAA;CACF;AAhCD,8BAgCC"}
package/package.json CHANGED
@@ -1,9 +1,9 @@
1
1
  {
2
2
  "name": "@hyperlane-xyz/utils",
3
3
  "description": "General utilities for the Hyperlane network",
4
- "version": "1.0.0-beta4",
4
+ "version": "1.0.0-beta6",
5
5
  "dependencies": {
6
- "ethers": "^5.6.8"
6
+ "ethers": "^5.7.2"
7
7
  },
8
8
  "devDependencies": {
9
9
  "chai": "^4.3.0",
@@ -31,4 +31,4 @@
31
31
  "/dist"
32
32
  ],
33
33
  "stableVersion": "1.0.0-beta2"
34
- }
34
+ }