@hyperlane-xyz/utils 1.0.0-beta3 → 1.0.0-beta4
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.
- package/dist/src/types.d.ts +6 -16
- package/dist/src/types.d.ts.map +1 -1
- package/dist/src/types.js +7 -1
- package/dist/src/types.js.map +1 -1
- package/dist/src/utils.d.ts +9 -8
- package/dist/src/utils.d.ts.map +1 -1
- package/dist/src/utils.js +28 -84
- package/dist/src/utils.js.map +1 -1
- package/dist/src/validator.d.ts +3 -4
- package/dist/src/validator.d.ts.map +1 -1
- package/dist/src/validator.js +7 -8
- package/dist/src/validator.js.map +1 -1
- package/package.json +1 -1
package/dist/src/types.d.ts
CHANGED
|
@@ -11,12 +11,7 @@ export declare type SignatureLike = {
|
|
|
11
11
|
recoveryParam?: number;
|
|
12
12
|
v?: number;
|
|
13
13
|
} | ethers.utils.BytesLike;
|
|
14
|
-
|
|
15
|
-
branch: ethers.utils.BytesLike[];
|
|
16
|
-
leaf: ethers.utils.BytesLike;
|
|
17
|
-
index: number;
|
|
18
|
-
};
|
|
19
|
-
/********* HYPERLANE CORE *********/
|
|
14
|
+
/********* ABACUS CORE *********/
|
|
20
15
|
export declare type Checkpoint = {
|
|
21
16
|
root: string;
|
|
22
17
|
index: number;
|
|
@@ -26,25 +21,20 @@ export declare type CallData = {
|
|
|
26
21
|
to: Address;
|
|
27
22
|
data: string;
|
|
28
23
|
};
|
|
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;
|
|
36
34
|
origin: number;
|
|
37
35
|
sender: string;
|
|
38
36
|
destination: number;
|
|
39
37
|
recipient: string;
|
|
40
38
|
body: string;
|
|
41
39
|
};
|
|
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
40
|
//# sourceMappingURL=types.d.ts.map
|
package/dist/src/types.d.ts.map
CHANGED
|
@@ -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,
|
|
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"}
|
package/dist/src/types.js
CHANGED
|
@@ -1,6 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.MessageStatus = void 0;
|
|
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 = {}));
|
|
4
10
|
var MessageStatus;
|
|
5
11
|
(function (MessageStatus) {
|
|
6
12
|
MessageStatus[MessageStatus["NONE"] = 0] = "NONE";
|
package/dist/src/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":";;;
|
|
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"}
|
package/dist/src/utils.d.ts
CHANGED
|
@@ -1,25 +1,26 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
2
|
+
import { ethers } from 'ethers';
|
|
3
|
+
import { Checkpoint } from './types';
|
|
4
|
+
import { Address, Domain, HexString, ParsedMessage } from './types';
|
|
4
5
|
export declare function assert(predicate: any, errorMessage?: string): void;
|
|
5
6
|
export declare function deepEquals(v1: any, v2: any): boolean;
|
|
7
|
+
export declare function eqAddress(a: string, b: string): boolean;
|
|
6
8
|
export declare const ensure0x: (hexstr: string) => string;
|
|
7
9
|
export declare const strip0x: (hexstr: string) => string;
|
|
8
10
|
export declare function addressToBytes32(address: Address): string;
|
|
9
11
|
export declare function bytes32ToAddress(bytes32: string): Address;
|
|
10
12
|
export declare function formatCallData<C extends ethers.Contract, I extends Parameters<C['interface']['encodeFunctionData']>>(destinationContract: C, functionName: I[0], functionArgs: I[1]): string;
|
|
11
|
-
export declare const
|
|
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
|
+
export declare const formatMessage: (localDomain: Domain, senderAddr: Address, destinationDomain: Domain, recipientAddr: Address, body: HexString) => string;
|
|
15
14
|
/**
|
|
16
|
-
* Parse a serialized
|
|
15
|
+
* Parse a serialized Abacus message from raw bytes.
|
|
17
16
|
*
|
|
18
17
|
* @param message
|
|
19
18
|
* @returns
|
|
20
19
|
*/
|
|
21
20
|
export declare function parseMessage(message: string): ParsedMessage;
|
|
22
|
-
export declare function
|
|
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;
|
|
23
24
|
export declare function sleep(ms: number): Promise<void>;
|
|
24
25
|
export declare function retryAsync<T>(runner: () => T, attempts?: number, baseRetryMs?: number): Promise<T>;
|
|
25
26
|
export declare function pollAsync<T>(runner: () => Promise<T>, delayMs?: number, maxAttempts?: number | undefined): Promise<T>;
|
package/dist/src/utils.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,
|
|
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.
|
|
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;
|
|
13
13
|
const ethers_1 = require("ethers");
|
|
14
14
|
function assert(predicate, errorMessage) {
|
|
15
15
|
if (!predicate) {
|
|
@@ -21,6 +21,10 @@ 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;
|
|
24
28
|
const ensure0x = (hexstr) => hexstr.startsWith('0x') ? hexstr : `0x${hexstr}`;
|
|
25
29
|
exports.ensure0x = ensure0x;
|
|
26
30
|
const strip0x = (hexstr) => hexstr.startsWith('0x') ? hexstr.slice(2) : hexstr;
|
|
@@ -39,102 +43,42 @@ function formatCallData(destinationContract, functionName, functionArgs) {
|
|
|
39
43
|
return destinationContract.interface.encodeFunctionData(functionName, functionArgs);
|
|
40
44
|
}
|
|
41
45
|
exports.formatCallData = formatCallData;
|
|
42
|
-
const
|
|
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) => {
|
|
46
|
+
const formatMessage = (localDomain, senderAddr, destinationDomain, recipientAddr, body) => {
|
|
94
47
|
senderAddr = addressToBytes32(senderAddr);
|
|
95
48
|
recipientAddr = addressToBytes32(recipientAddr);
|
|
96
|
-
return ethers_1.ethers.utils.solidityPack(['
|
|
97
|
-
version,
|
|
98
|
-
nonce,
|
|
99
|
-
originDomain,
|
|
100
|
-
senderAddr,
|
|
101
|
-
destinationDomain,
|
|
102
|
-
recipientAddr,
|
|
103
|
-
body,
|
|
104
|
-
]);
|
|
49
|
+
return ethers_1.ethers.utils.solidityPack(['uint32', 'bytes32', 'uint32', 'bytes32', 'bytes'], [localDomain, senderAddr, destinationDomain, recipientAddr, body]);
|
|
105
50
|
};
|
|
106
51
|
exports.formatMessage = formatMessage;
|
|
107
|
-
function messageId(message) {
|
|
108
|
-
return ethers_1.ethers.utils.solidityKeccak256(['bytes'], [message]);
|
|
109
|
-
}
|
|
110
|
-
exports.messageId = messageId;
|
|
111
52
|
/**
|
|
112
|
-
* Parse a serialized
|
|
53
|
+
* Parse a serialized Abacus message from raw bytes.
|
|
113
54
|
*
|
|
114
55
|
* @param message
|
|
115
56
|
* @returns
|
|
116
57
|
*/
|
|
117
58
|
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;
|
|
125
59
|
const buf = Buffer.from(ethers_1.utils.arrayify(message));
|
|
126
|
-
const
|
|
127
|
-
const
|
|
128
|
-
const
|
|
129
|
-
const
|
|
130
|
-
const
|
|
131
|
-
|
|
132
|
-
const body = ethers_1.utils.hexlify(buf.slice(BODY_OFFSET));
|
|
133
|
-
return { version, nonce, origin, sender, destination, recipient, body };
|
|
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 };
|
|
134
66
|
}
|
|
135
67
|
exports.parseMessage = parseMessage;
|
|
136
|
-
function
|
|
137
|
-
return ethers_1.ethers.utils.solidityKeccak256(['
|
|
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']);
|
|
138
82
|
}
|
|
139
83
|
exports.domainHash = domainHash;
|
|
140
84
|
function sleep(ms) {
|
package/dist/src/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"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"}
|
package/dist/src/validator.d.ts
CHANGED
|
@@ -6,8 +6,7 @@ import { Address, Checkpoint, Domain, HexString } from './types';
|
|
|
6
6
|
export declare class BaseValidator {
|
|
7
7
|
localDomain: Domain;
|
|
8
8
|
address: Address;
|
|
9
|
-
|
|
10
|
-
constructor(address: Address, localDomain: Domain, mailbox: Address);
|
|
9
|
+
constructor(address: Address, localDomain: Domain);
|
|
11
10
|
domainHash(): string;
|
|
12
11
|
message(root: HexString, index: number): string;
|
|
13
12
|
messageHash(root: HexString, index: number): Uint8Array;
|
|
@@ -19,8 +18,8 @@ export declare class BaseValidator {
|
|
|
19
18
|
*/
|
|
20
19
|
export declare class Validator extends BaseValidator {
|
|
21
20
|
protected signer: ethers.Signer;
|
|
22
|
-
constructor(signer: ethers.Signer, address: Address, localDomain: Domain
|
|
23
|
-
static fromSigner(signer: ethers.Signer, localDomain: Domain
|
|
21
|
+
constructor(signer: ethers.Signer, address: Address, localDomain: Domain);
|
|
22
|
+
static fromSigner(signer: ethers.Signer, localDomain: Domain): Promise<Validator>;
|
|
24
23
|
signCheckpoint(root: HexString, index: number): Promise<Checkpoint>;
|
|
25
24
|
}
|
|
26
25
|
//# 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;
|
|
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"}
|
package/dist/src/validator.js
CHANGED
|
@@ -16,16 +16,15 @@ 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) {
|
|
20
20
|
this.localDomain = localDomain;
|
|
21
21
|
this.address = address;
|
|
22
|
-
this.mailbox = mailbox;
|
|
23
22
|
}
|
|
24
23
|
domainHash() {
|
|
25
|
-
return (0, utils_1.domainHash)(this.localDomain
|
|
24
|
+
return (0, utils_1.domainHash)(this.localDomain);
|
|
26
25
|
}
|
|
27
26
|
message(root, index) {
|
|
28
|
-
return ethers_1.ethers.utils.solidityPack(['bytes32', 'bytes32', '
|
|
27
|
+
return ethers_1.ethers.utils.solidityPack(['bytes32', 'bytes32', 'uint256'], [this.domainHash(), root, index]);
|
|
29
28
|
}
|
|
30
29
|
messageHash(root, index) {
|
|
31
30
|
const message = this.message(root, index);
|
|
@@ -45,13 +44,13 @@ exports.BaseValidator = BaseValidator;
|
|
|
45
44
|
* Extension of BaseValidator that includes ethers signing utilities.
|
|
46
45
|
*/
|
|
47
46
|
class Validator extends BaseValidator {
|
|
48
|
-
constructor(signer, address, localDomain
|
|
49
|
-
super(address, localDomain
|
|
47
|
+
constructor(signer, address, localDomain) {
|
|
48
|
+
super(address, localDomain);
|
|
50
49
|
this.signer = signer;
|
|
51
50
|
}
|
|
52
|
-
static fromSigner(signer, localDomain
|
|
51
|
+
static fromSigner(signer, localDomain) {
|
|
53
52
|
return __awaiter(this, void 0, void 0, function* () {
|
|
54
|
-
return new Validator(signer, yield signer.getAddress(), localDomain
|
|
53
|
+
return new Validator(signer, yield signer.getAddress(), localDomain);
|
|
55
54
|
});
|
|
56
55
|
}
|
|
57
56
|
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;
|
|
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"}
|