@hyperlane-xyz/utils 0.5.3 → 0.5.4-0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -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;
@@ -31,10 +36,20 @@ export declare enum MessageStatus {
31
36
  PROCESSED = 1
32
37
  }
33
38
  export declare type ParsedMessage = {
39
+ version: number;
40
+ nonce: number;
34
41
  origin: number;
35
42
  sender: string;
36
43
  destination: number;
37
44
  recipient: string;
38
45
  body: string;
39
46
  };
47
+ export declare type ParsedMultisigIsmMetadata = {
48
+ checkpointRoot: string;
49
+ checkpointIndex: number;
50
+ originMailbox: string;
51
+ proof: ethers.utils.BytesLike[];
52
+ signatures: ethers.utils.BytesLike[];
53
+ validators: ethers.utils.BytesLike[];
54
+ };
40
55
  //# 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,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,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"}
@@ -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,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,7 +1,6 @@
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
6
  export declare const ensure0x: (hexstr: string) => string;
@@ -9,7 +8,10 @@ export declare const strip0x: (hexstr: string) => string;
9
8
  export declare function addressToBytes32(address: Address): string;
10
9
  export declare function bytes32ToAddress(bytes32: string): Address;
11
10
  export declare function formatCallData<C extends ethers.Contract, I extends Parameters<C['interface']['encodeFunctionData']>>(destinationContract: C, functionName: I[0], functionArgs: I[1]): string;
12
- 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;
13
15
  /**
14
16
  * Parse a serialized Abacus message from raw bytes.
15
17
  *
@@ -17,9 +19,7 @@ export declare const formatMessage: (localDomain: Domain, senderAddr: Address, d
17
19
  * @returns
18
20
  */
19
21
  export declare function parseMessage(message: string): ParsedMessage;
20
- export declare function messageHash(message: HexString, leafIndex: number): string;
21
- export declare function destinationAndNonce(destination: Domain, sequence: number): ethers.BigNumber;
22
- export declare function domainHash(domain: number): string;
22
+ export declare function domainHash(domain: number, mailbox: string): string;
23
23
  export declare function sleep(ms: number): Promise<void>;
24
24
  export declare function retryAsync<T>(runner: () => T, attempts?: number, baseRetryMs?: number): Promise<T>;
25
25
  export declare function median(a: number[]): number;
@@ -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.retryAsync = exports.sleep = exports.domainHash = exports.destinationAndNonce = exports.messageHash = exports.parseMessage = exports.formatMessage = exports.formatCallData = exports.bytes32ToAddress = exports.addressToBytes32 = exports.strip0x = exports.ensure0x = 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.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) {
@@ -39,12 +39,75 @@ function formatCallData(destinationContract, functionName, functionArgs) {
39
39
  return destinationContract.interface.encodeFunctionData(functionName, functionArgs);
40
40
  }
41
41
  exports.formatCallData = formatCallData;
42
- 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 = 64;
46
+ const MERKLE_PROOF_OFFSET = 96;
47
+ const THRESHOLD_OFFSET = 1120;
48
+ const SIGNATURES_OFFSET = 1152;
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
+ 'uint256',
77
+ 'bytes32',
78
+ 'bytes32[32]',
79
+ 'uint256',
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) => {
43
94
  senderAddr = addressToBytes32(senderAddr);
44
95
  recipientAddr = addressToBytes32(recipientAddr);
45
- 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
+ ]);
46
105
  };
47
106
  exports.formatMessage = formatMessage;
107
+ function messageId(message) {
108
+ return ethers_1.ethers.utils.solidityKeccak256(['bytes'], [message]);
109
+ }
110
+ exports.messageId = messageId;
48
111
  /**
49
112
  * Parse a serialized Abacus message from raw bytes.
50
113
  *
@@ -52,29 +115,26 @@ exports.formatMessage = formatMessage;
52
115
  * @returns
53
116
  */
54
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;
55
125
  const buf = Buffer.from(ethers_1.utils.arrayify(message));
56
- const origin = buf.readUInt32BE(0);
57
- const sender = ethers_1.utils.hexlify(buf.slice(4, 36));
58
- const destination = buf.readUInt32BE(36);
59
- const recipient = ethers_1.utils.hexlify(buf.slice(40, 72));
60
- const body = ethers_1.utils.hexlify(buf.slice(72));
61
- 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 };
62
134
  }
63
135
  exports.parseMessage = parseMessage;
64
- function messageHash(message, leafIndex) {
65
- return ethers_1.ethers.utils.solidityKeccak256(['bytes', 'uint256'], [message, leafIndex]);
66
- }
67
- exports.messageHash = messageHash;
68
- function destinationAndNonce(destination, sequence) {
69
- assert(destination < Math.pow(2, 32) - 1);
70
- assert(sequence < Math.pow(2, 32) - 1);
71
- return ethers_1.ethers.BigNumber.from(destination)
72
- .mul(ethers_1.ethers.BigNumber.from(2).pow(32))
73
- .add(ethers_1.ethers.BigNumber.from(sequence));
74
- }
75
- exports.destinationAndNonce = destinationAndNonce;
76
- function domainHash(domain) {
77
- 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']);
78
138
  }
79
139
  exports.domainHash = domainHash;
80
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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"}
@@ -7,7 +7,8 @@ import { Checkpoint } from './types';
7
7
  export declare class BaseValidator {
8
8
  localDomain: types.Domain;
9
9
  address: types.Address;
10
- constructor(address: types.Address, localDomain: types.Domain);
10
+ mailbox: types.Address;
11
+ constructor(address: types.Address, localDomain: types.Domain, mailbox: types.Address);
11
12
  domainHash(): string;
12
13
  message(root: types.HexString, index: number): string;
13
14
  messageHash(root: types.HexString, index: number): Uint8Array;
@@ -19,8 +20,8 @@ export declare class BaseValidator {
19
20
  */
20
21
  export declare class Validator extends BaseValidator {
21
22
  protected signer: ethers.Signer;
22
- constructor(signer: ethers.Signer, address: types.Address, localDomain: types.Domain);
23
- static fromSigner(signer: ethers.Signer, localDomain: types.Domain): Promise<Validator>;
23
+ constructor(signer: ethers.Signer, address: types.Address, localDomain: types.Domain, mailbox: types.Address);
24
+ static fromSigner(signer: ethers.Signer, localDomain: types.Domain, mailbox: types.Address): Promise<Validator>;
24
25
  signCheckpoint(root: types.HexString, index: number): Promise<Checkpoint>;
25
26
  }
26
27
  //# 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,KAAK,EAAS,MAAM,sBAAsB,CAAC;AAEpD,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAErC;;GAEG;AACH,qBAAa,aAAa;IACxB,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC;IAC1B,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC;gBAEX,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,WAAW,EAAE,KAAK,CAAC,MAAM;IAK7D,UAAU;IAIV,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,EAAE,KAAK,EAAE,MAAM;IAO5C,WAAW,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,EAAE,KAAK,EAAE,MAAM;IAKhD,4BAA4B,CAAC,UAAU,EAAE,UAAU,GAAG,KAAK,CAAC,OAAO;IAKnE,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,KAAK,CAAC,OAAO,EACtB,WAAW,EAAE,KAAK,CAAC,MAAM;WAKd,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,EAAE,KAAK,CAAC,MAAM;IAIlE,cAAc,CAClB,IAAI,EAAE,KAAK,CAAC,SAAS,EACrB,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,UAAU,CAAC;CASvB"}
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,KAAK,EAAS,MAAM,sBAAsB,CAAC;AAEpD,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAErC;;GAEG;AACH,qBAAa,aAAa;IACxB,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC;IAC1B,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC;IACvB,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC;gBAGrB,OAAO,EAAE,KAAK,CAAC,OAAO,EACtB,WAAW,EAAE,KAAK,CAAC,MAAM,EACzB,OAAO,EAAE,KAAK,CAAC,OAAO;IAOxB,UAAU;IAIV,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,EAAE,KAAK,EAAE,MAAM;IAO5C,WAAW,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,EAAE,KAAK,EAAE,MAAM;IAKhD,4BAA4B,CAAC,UAAU,EAAE,UAAU,GAAG,KAAK,CAAC,OAAO;IAKnE,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,KAAK,CAAC,OAAO,EACtB,WAAW,EAAE,KAAK,CAAC,MAAM,EACzB,OAAO,EAAE,KAAK,CAAC,OAAO;WAKX,UAAU,CACrB,MAAM,EAAE,MAAM,CAAC,MAAM,EACrB,WAAW,EAAE,KAAK,CAAC,MAAM,EACzB,OAAO,EAAE,KAAK,CAAC,OAAO;IAUlB,cAAc,CAClB,IAAI,EAAE,KAAK,CAAC,SAAS,EACrB,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,UAAU,CAAC;CASvB"}
@@ -16,12 +16,13 @@ const utils_1 = require("@hyperlane-xyz/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 utils_1.utils.domainHash(this.localDomain);
25
+ return utils_1.utils.domainHash(this.localDomain, this.mailbox);
25
26
  }
26
27
  message(root, index) {
27
28
  return ethers_1.ethers.utils.solidityPack(['bytes32', 'bytes32', 'uint256'], [this.domainHash(), 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;AAEhC,gDAAoD;AAIpD;;GAEG;AACH,MAAa,aAAa;IAIxB,YAAY,OAAsB,EAAE,WAAyB;QAC3D,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAED,UAAU;QACR,OAAO,aAAK,CAAC,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAC5C,CAAC;IAED,OAAO,CAAC,IAAqB,EAAE,KAAa;QAC1C,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,IAAqB,EAAE,KAAa;QAC9C,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,OAAsB,EACtB,WAAyB;QAEzB,KAAK,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;QAJlB,WAAM,GAAN,MAAM,CAAe;IAKjC,CAAC;IAED,MAAM,CAAO,UAAU,CAAC,MAAqB,EAAE,WAAyB;;YACtE,OAAO,IAAI,SAAS,CAAC,MAAM,EAAE,MAAM,MAAM,CAAC,UAAU,EAAE,EAAE,WAAW,CAAC,CAAC;QACvE,CAAC;KAAA;IAEK,cAAc,CAClB,IAAqB,EACrB,KAAa;;YAEb,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;AAzBD,8BAyBC"}
1
+ {"version":3,"file":"validator.js","sourceRoot":"","sources":["../../src/validator.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,mCAAgC;AAEhC,gDAAoD;AAIpD;;GAEG;AACH,MAAa,aAAa;IAKxB,YACE,OAAsB,EACtB,WAAyB,EACzB,OAAsB;QAEtB,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,aAAK,CAAC,UAAU,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IAC1D,CAAC;IAED,OAAO,CAAC,IAAqB,EAAE,KAAa;QAC1C,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,IAAqB,EAAE,KAAa;QAC9C,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;AA1CD,sCA0CC;AAED;;GAEG;AACH,MAAa,SAAU,SAAQ,aAAa;IAC1C,YACY,MAAqB,EAC/B,OAAsB,EACtB,WAAyB,EACzB,OAAsB;QAEtB,KAAK,CAAC,OAAO,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;QAL3B,WAAM,GAAN,MAAM,CAAe;IAMjC,CAAC;IAED,MAAM,CAAO,UAAU,CACrB,MAAqB,EACrB,WAAyB,EACzB,OAAsB;;YAEtB,OAAO,IAAI,SAAS,CAClB,MAAM,EACN,MAAM,MAAM,CAAC,UAAU,EAAE,EACzB,WAAW,EACX,OAAO,CACR,CAAC;QACJ,CAAC;KAAA;IAEK,cAAc,CAClB,IAAqB,EACrB,KAAa;;YAEb,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;AAnCD,8BAmCC"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@hyperlane-xyz/utils",
3
3
  "description": "General utilities for the Hyperlane network",
4
- "version": "0.5.3",
4
+ "version": "0.5.4-0",
5
5
  "dependencies": {
6
6
  "ethers": "^5.6.8"
7
7
  },
@@ -29,5 +29,6 @@
29
29
  "types": "dist/index.d.ts",
30
30
  "files": [
31
31
  "/dist"
32
- ]
32
+ ],
33
+ "stableVersion": "0.5.3"
33
34
  }