@hyperlane-xyz/utils 3.12.2 → 3.13.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.
package/dist/arrays.d.ts CHANGED
@@ -4,5 +4,6 @@ interface Sliceable {
4
4
  }
5
5
  export declare function chunk<T extends Sliceable>(str: T, size: number): T[];
6
6
  export declare function exclude<T>(item: T, list: T[]): T[];
7
+ export declare function randomElement<T>(list: T[]): T;
7
8
  export {};
8
9
  //# sourceMappingURL=arrays.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"arrays.d.ts","sourceRoot":"","sources":["../src/arrays.ts"],"names":[],"mappings":"AAAA,UAAU,SAAS;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,KAAK,GAAG,CAAC;CACtC;AAED,wBAAgB,KAAK,CAAC,CAAC,SAAS,SAAS,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,OAM9D;AAED,wBAAgB,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,OAE5C"}
1
+ {"version":3,"file":"arrays.d.ts","sourceRoot":"","sources":["../src/arrays.ts"],"names":[],"mappings":"AAEA,UAAU,SAAS;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,KAAK,GAAG,CAAC;CACtC;AAED,wBAAgB,KAAK,CAAC,CAAC,SAAS,SAAS,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,OAM9D;AAED,wBAAgB,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,OAE5C;AAED,wBAAgB,aAAa,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,KAEzC"}
package/dist/arrays.js CHANGED
@@ -1,3 +1,4 @@
1
+ import { randomInt } from './math.js';
1
2
  export function chunk(str, size) {
2
3
  const R = [];
3
4
  for (let i = 0; i < str.length; i += size) {
@@ -8,4 +9,7 @@ export function chunk(str, size) {
8
9
  export function exclude(item, list) {
9
10
  return list.filter((i) => i !== item);
10
11
  }
12
+ export function randomElement(list) {
13
+ return list[randomInt(list.length)];
14
+ }
11
15
  //# sourceMappingURL=arrays.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"arrays.js","sourceRoot":"","sources":["../src/arrays.ts"],"names":[],"mappings":"AAKA,MAAM,UAAU,KAAK,CAAsB,GAAM,EAAE,IAAY;IAC7D,MAAM,CAAC,GAAa,EAAE,CAAC;IACvB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC;QAC1C,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;IACjC,CAAC;IACD,OAAO,CAAC,CAAC;AACX,CAAC;AAED,MAAM,UAAU,OAAO,CAAI,IAAO,EAAE,IAAS;IAC3C,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC;AACxC,CAAC"}
1
+ {"version":3,"file":"arrays.js","sourceRoot":"","sources":["../src/arrays.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAOtC,MAAM,UAAU,KAAK,CAAsB,GAAM,EAAE,IAAY;IAC7D,MAAM,CAAC,GAAa,EAAE,CAAC;IACvB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC;QAC1C,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;IACjC,CAAC;IACD,OAAO,CAAC,CAAC;AACX,CAAC;AAED,MAAM,UAAU,OAAO,CAAI,IAAO,EAAE,IAAS;IAC3C,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC;AACxC,CAAC;AAED,MAAM,UAAU,aAAa,CAAI,IAAS;IACxC,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;AACtC,CAAC"}
package/dist/index.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  export { addressToByteHexString, addressToBytes, addressToBytes32, addressToBytesCosmos, addressToBytesEvm, addressToBytesSol, bytes32ToAddress, bytesToAddressCosmos, bytesToAddressEvm, bytesToAddressSol, bytesToProtocolAddress, capitalizeAddress, convertToProtocolAddress, ensure0x, eqAddress, eqAddressCosmos, eqAddressEvm, eqAddressSol, getAddressProtocolType, isAddress, isAddressCosmos, isAddressEvm, isAddressSealevel, isValidAddress, isValidAddressCosmos, isValidAddressEvm, isValidAddressSealevel, isValidTransactionHash, isValidTransactionHashCosmos, isValidTransactionHashEvm, isValidTransactionHashSealevel, isZeroishAddress, normalizeAddress, normalizeAddressCosmos, normalizeAddressEvm, normalizeAddressSealevel, shortenAddress, strip0x, } from './addresses.js';
2
2
  export { convertDecimals, eqAmountApproximate, fromWei, fromWeiRounded, toWei, tryParseAmount, } from './amount.js';
3
- export { chunk, exclude } from './arrays.js';
3
+ export { chunk, exclude, randomElement } from './arrays.js';
4
4
  export { concurrentMap, pollAsync, raceWithContext, retryAsync, runWithTimeout, sleep, timeout, } from './async.js';
5
5
  export { base58ToBuffer, bufferToBase58, hexOrBase58ToHex } from './base58.js';
6
6
  export { fromBase64, toBase64 } from './base64.js';
@@ -11,15 +11,15 @@ export { domainHash } from './domains.js';
11
11
  export { safelyAccessEnvVar } from './env.js';
12
12
  export { canonizeId, evmId } from './ids.js';
13
13
  export { LogFormat, LogLevel, configureRootLogger, createHyperlanePinoLogger, ethersBigNumberSerializer, getLogFormat, getLogLevel, getRootLogger, rootLogger, setRootLogger, } from './logging.js';
14
- export { mean, median, stdDev, sum } from './math.js';
14
+ export { mean, median, randomInt, stdDev, sum } from './math.js';
15
15
  export { formatMessage, messageId, parseMessage } from './messages.js';
16
16
  export { formatLegacyMultisigIsmMetadata, parseLegacyMultisigIsmMetadata, } from './multisig.js';
17
17
  export { ValueOf, arrayToObject, deepCopy, deepEquals, invertKeysAndValues, isObjEmpty, isObject, objFilter, objKeys, objLength, objMap, objMapEntries, objMerge, pick, promiseObjAll, stringifyObject, } from './objects.js';
18
18
  export { difference, setEquality, symmetricDifference } from './sets.js';
19
- export { errorToString, sanitizeString, streamToString, toTitleCase, trimToLength, fromHexString, toHexString, } from './strings.js';
19
+ export { errorToString, fromHexString, sanitizeString, streamToString, toHexString, toTitleCase, trimToLength, } from './strings.js';
20
20
  export { isNullish, isNumeric } from './typeof.js';
21
- export { Address, AddressBytes32, Annotated, CallData, ChainCaip2Id, ChainId, Checkpoint, Domain, HexString, InterchainSecurityModuleType, MerkleProof, MessageStatus, Numberish, ParsedLegacyMultisigIsmMetadata, ParsedMessage, ProtocolSmallestUnit, ProtocolType, ProtocolTypeValue, S3Checkpoint, S3CheckpointWithId, SignatureLike, TokenCaip19Id, WithAddress, } from './types.js';
21
+ export { Address, AddressBytes32, Annotated, Announcement, CallData, ChainCaip2Id, ChainId, Checkpoint, CheckpointWithId, Domain, HexString, MerkleProof, MessageStatus, Numberish, ParsedLegacyMultisigIsmMetadata, ParsedMessage, ProtocolSmallestUnit, ProtocolType, ProtocolTypeValue, S3Announcement, S3Checkpoint, S3CheckpointWithId, SignatureLike, TokenCaip19Id, WithAddress, } from './types.js';
22
22
  export { isHttpsUrl } from './url.js';
23
23
  export { assert } from './validation.js';
24
- export { BaseValidator } from './validator.js';
24
+ export { BaseValidator, ValidatorConfig } from './validator.js';
25
25
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  export { addressToByteHexString, addressToBytes, addressToBytes32, addressToBytesCosmos, addressToBytesEvm, addressToBytesSol, bytes32ToAddress, bytesToAddressCosmos, bytesToAddressEvm, bytesToAddressSol, bytesToProtocolAddress, capitalizeAddress, convertToProtocolAddress, ensure0x, eqAddress, eqAddressCosmos, eqAddressEvm, eqAddressSol, getAddressProtocolType, isAddress, isAddressCosmos, isAddressEvm, isAddressSealevel, isValidAddress, isValidAddressCosmos, isValidAddressEvm, isValidAddressSealevel, isValidTransactionHash, isValidTransactionHashCosmos, isValidTransactionHashEvm, isValidTransactionHashSealevel, isZeroishAddress, normalizeAddress, normalizeAddressCosmos, normalizeAddressEvm, normalizeAddressSealevel, shortenAddress, strip0x, } from './addresses.js';
2
2
  export { convertDecimals, eqAmountApproximate, fromWei, fromWeiRounded, toWei, tryParseAmount, } from './amount.js';
3
- export { chunk, exclude } from './arrays.js';
3
+ export { chunk, exclude, randomElement } from './arrays.js';
4
4
  export { concurrentMap, pollAsync, raceWithContext, retryAsync, runWithTimeout, sleep, timeout, } from './async.js';
5
5
  export { base58ToBuffer, bufferToBase58, hexOrBase58ToHex } from './base58.js';
6
6
  export { fromBase64, toBase64 } from './base64.js';
@@ -11,14 +11,14 @@ export { domainHash } from './domains.js';
11
11
  export { safelyAccessEnvVar } from './env.js';
12
12
  export { canonizeId, evmId } from './ids.js';
13
13
  export { LogFormat, LogLevel, configureRootLogger, createHyperlanePinoLogger, ethersBigNumberSerializer, getLogFormat, getLogLevel, getRootLogger, rootLogger, setRootLogger, } from './logging.js';
14
- export { mean, median, stdDev, sum } from './math.js';
14
+ export { mean, median, randomInt, stdDev, sum } from './math.js';
15
15
  export { formatMessage, messageId, parseMessage } from './messages.js';
16
16
  export { formatLegacyMultisigIsmMetadata, parseLegacyMultisigIsmMetadata, } from './multisig.js';
17
17
  export { arrayToObject, deepCopy, deepEquals, invertKeysAndValues, isObjEmpty, isObject, objFilter, objKeys, objLength, objMap, objMapEntries, objMerge, pick, promiseObjAll, stringifyObject, } from './objects.js';
18
18
  export { difference, setEquality, symmetricDifference } from './sets.js';
19
- export { errorToString, sanitizeString, streamToString, toTitleCase, trimToLength, fromHexString, toHexString, } from './strings.js';
19
+ export { errorToString, fromHexString, sanitizeString, streamToString, toHexString, toTitleCase, trimToLength, } from './strings.js';
20
20
  export { isNullish, isNumeric } from './typeof.js';
21
- export { InterchainSecurityModuleType, MessageStatus, ProtocolSmallestUnit, ProtocolType, } from './types.js';
21
+ export { MessageStatus, ProtocolSmallestUnit, ProtocolType, } from './types.js';
22
22
  export { isHttpsUrl } from './url.js';
23
23
  export { assert } from './validation.js';
24
24
  export { BaseValidator } from './validator.js';
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,sBAAsB,EACtB,cAAc,EACd,gBAAgB,EAChB,oBAAoB,EACpB,iBAAiB,EACjB,iBAAiB,EACjB,gBAAgB,EAChB,oBAAoB,EACpB,iBAAiB,EACjB,iBAAiB,EACjB,sBAAsB,EACtB,iBAAiB,EACjB,wBAAwB,EACxB,QAAQ,EACR,SAAS,EACT,eAAe,EACf,YAAY,EACZ,YAAY,EACZ,sBAAsB,EACtB,SAAS,EACT,eAAe,EACf,YAAY,EACZ,iBAAiB,EACjB,cAAc,EACd,oBAAoB,EACpB,iBAAiB,EACjB,sBAAsB,EACtB,sBAAsB,EACtB,4BAA4B,EAC5B,yBAAyB,EACzB,8BAA8B,EAC9B,gBAAgB,EAChB,gBAAgB,EAChB,sBAAsB,EACtB,mBAAmB,EACnB,wBAAwB,EACxB,cAAc,EACd,OAAO,GACR,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,eAAe,EACf,mBAAmB,EACnB,OAAO,EACP,cAAc,EACd,KAAK,EACL,cAAc,GACf,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EACL,aAAa,EACb,SAAS,EACT,eAAe,EACf,UAAU,EACV,cAAc,EACd,KAAK,EACL,OAAO,GACR,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/E,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EACL,YAAY,EACZ,YAAY,EACZ,UAAU,EACV,UAAU,EACV,cAAc,EACd,SAAS,EACT,cAAc,GACf,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EACL,YAAY,EACZ,cAAc,EACd,oBAAoB,GACrB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAC7C,OAAO,EACL,SAAS,EACT,QAAQ,EACR,mBAAmB,EACnB,yBAAyB,EACzB,yBAAyB,EACzB,YAAY,EACZ,WAAW,EACX,aAAa,EACb,UAAU,EACV,aAAa,GACd,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AACvE,OAAO,EACL,+BAA+B,EAC/B,8BAA8B,GAC/B,MAAM,eAAe,CAAC;AACvB,OAAO,EAEL,aAAa,EACb,QAAQ,EACR,UAAU,EACV,mBAAmB,EACnB,UAAU,EACV,QAAQ,EACR,SAAS,EACT,OAAO,EACP,SAAS,EACT,MAAM,EACN,aAAa,EACb,QAAQ,EACR,IAAI,EACJ,aAAa,EACb,eAAe,GAChB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AACzE,OAAO,EACL,aAAa,EACb,cAAc,EACd,cAAc,EACd,WAAW,EACX,YAAY,EACZ,aAAa,EACb,WAAW,GACZ,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAUL,4BAA4B,EAE5B,aAAa,EAIb,oBAAoB,EACpB,YAAY,GAOb,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACtC,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/math.d.ts CHANGED
@@ -2,4 +2,5 @@ export declare function median(a: number[]): number;
2
2
  export declare function sum(a: number[]): number;
3
3
  export declare function mean(a: number[]): number;
4
4
  export declare function stdDev(a: number[]): number;
5
+ export declare function randomInt(max: number, min?: number): number;
5
6
  //# sourceMappingURL=math.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"math.d.ts","sourceRoot":"","sources":["../src/math.ts"],"names":[],"mappings":"AAAA,wBAAgB,MAAM,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,CAM1C;AAED,wBAAgB,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,CAEvC;AAED,wBAAgB,IAAI,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,CAExC;AAED,wBAAgB,MAAM,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,CAI1C"}
1
+ {"version":3,"file":"math.d.ts","sourceRoot":"","sources":["../src/math.ts"],"names":[],"mappings":"AAAA,wBAAgB,MAAM,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,CAM1C;AAED,wBAAgB,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,CAEvC;AAED,wBAAgB,IAAI,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,CAExC;AAED,wBAAgB,MAAM,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,CAI1C;AAED,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,SAAI,GAAG,MAAM,CAEtD"}
package/dist/math.js CHANGED
@@ -15,4 +15,7 @@ export function stdDev(a) {
15
15
  const squaredDifferences = a.map((x) => Math.pow(x - xbar, 2));
16
16
  return Math.sqrt(mean(squaredDifferences));
17
17
  }
18
+ export function randomInt(max, min = 0) {
19
+ return Math.floor(Math.random() * (max - min)) + min;
20
+ }
18
21
  //# sourceMappingURL=math.js.map
package/dist/math.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"math.js","sourceRoot":"","sources":["../src/math.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,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;AAED,MAAM,UAAU,GAAG,CAAC,CAAW;IAC7B,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;AACvC,CAAC;AAED,MAAM,UAAU,IAAI,CAAC,CAAW;IAC9B,OAAO,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC;AAC3B,CAAC;AAED,MAAM,UAAU,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"}
1
+ {"version":3,"file":"math.js","sourceRoot":"","sources":["../src/math.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,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;AAED,MAAM,UAAU,GAAG,CAAC,CAAW;IAC7B,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;AACvC,CAAC;AAED,MAAM,UAAU,IAAI,CAAC,CAAW;IAC9B,OAAO,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC;AAC3B,CAAC;AAED,MAAM,UAAU,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;AAED,MAAM,UAAU,SAAS,CAAC,GAAW,EAAE,GAAG,GAAG,CAAC;IAC5C,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC;AACvD,CAAC"}
package/dist/objects.d.ts CHANGED
@@ -8,6 +8,7 @@ export declare function isObjEmpty(obj: Record<any, any>): boolean;
8
8
  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][];
9
9
  export declare function objMap<M extends Record<K, I>, K extends keyof M, O, I = ValueOf<M>>(obj: M, func: (k: K, v: I) => O): Record<K, O>;
10
10
  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>;
11
+ export declare function deepFind<I extends object, O extends I>(obj: I, func: (v: I) => v is O, depth?: number): O | undefined;
11
12
  export declare function promiseObjAll<K extends string, V>(obj: {
12
13
  [key in K]: Promise<V>;
13
14
  }): Promise<Record<K, V>>;
@@ -1 +1 @@
1
- {"version":3,"file":"objects.d.ts","sourceRoot":"","sources":["../src/objects.ts"],"names":[],"mappings":"AAIA,wBAAgB,QAAQ,CAAC,IAAI,EAAE,GAAG,OAEjC;AAED,wBAAgB,UAAU,CAAC,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,WAE1C;AAED,wBAAgB,QAAQ,CAAC,CAAC,EAAE,GAAG,OAE9B;AAED,MAAM,MAAM,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;AAGpC,wBAAgB,OAAO,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,EAAE,CAE3E;AAED,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,UAE9C;AAED,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,WAE/C;AAED,wBAAgB,aAAa,CAC3B,CAAC,SAAS,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,EACtB,CAAC,SAAS,MAAM,CAAC,EACjB,CAAC,EACD,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,EACd,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAE3C;AAGD,wBAAgB,MAAM,CACpB,CAAC,SAAS,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,EACtB,CAAC,SAAS,MAAM,CAAC,EACjB,CAAC,EACD,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,EACd,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAE/C;AAED,wBAAgB,SAAS,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,EAAE,CAAC,SAAS,CAAC,EACxD,GAAG,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,EACjB,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,GAC3B,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAId;AAGD,wBAAgB,aAAa,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,EAAE,GAAG,EAAE;KACrD,GAAG,IAAI,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;CACvB,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAKxB;AAGD,wBAAgB,IAAI,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,gBAS3E;AAID,wBAAgB,QAAQ,CACtB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACtB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACtB,SAAS,SAAK,GACb,GAAG,CAsBL;AAED,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,GAAG,OAI5C;AAGD,wBAAgB,aAAa,CAAC,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,GAAG,UAAO,2BAK5D;AAED,wBAAgB,eAAe,CAC7B,MAAM,EAAE,MAAM,EACd,MAAM,GAAE,MAAM,GAAG,MAAe,EAChC,KAAK,CAAC,EAAE,MAAM,GACb,MAAM,CAQR"}
1
+ {"version":3,"file":"objects.d.ts","sourceRoot":"","sources":["../src/objects.ts"],"names":[],"mappings":"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"}
package/dist/objects.js CHANGED
@@ -1,5 +1,6 @@
1
1
  import { stringify as yamlStringify } from 'yaml';
2
2
  import { ethersBigNumberSerializer } from './logging.js';
3
+ import { assert } from './validation.js';
3
4
  export function isObject(item) {
4
5
  return item && typeof item === 'object' && !Array.isArray(item);
5
6
  }
@@ -29,6 +30,18 @@ export function objMap(obj, func) {
29
30
  export function objFilter(obj, func) {
30
31
  return Object.fromEntries(Object.entries(obj).filter(([k, v]) => func(k, v)));
31
32
  }
33
+ export function deepFind(obj, func, depth = 10) {
34
+ assert(depth > 0, 'deepFind max depth reached');
35
+ if (func(obj)) {
36
+ return obj;
37
+ }
38
+ const entries = isObject(obj)
39
+ ? Object.values(obj)
40
+ : Array.isArray(obj)
41
+ ? obj
42
+ : [];
43
+ return entries.map((e) => deepFind(e, func, depth - 1)).find((v) => v);
44
+ }
32
45
  // promiseObjectAll :: {k: Promise a} -> Promise {k: a}
33
46
  export function promiseObjAll(obj) {
34
47
  const promiseList = Object.entries(obj).map(([name, promise]) => promise.then((result) => [name, result]));
@@ -1 +1 @@
1
- {"version":3,"file":"objects.js","sourceRoot":"","sources":["../src/objects.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"objects.js","sourceRoot":"","sources":["../src/objects.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -1,3 +1,4 @@
1
+ import type { SignatureLike } from '@ethersproject/bytes';
1
2
  import type { BigNumber, ethers } from 'ethers';
2
3
  export declare enum ProtocolType {
3
4
  Ethereum = "ethereum",
@@ -22,33 +23,38 @@ export type Numberish = number | string | bigint;
22
23
  export type WithAddress<T> = T & {
23
24
  address: Address;
24
25
  };
25
- export type SignatureLike = {
26
- r: string;
27
- s?: string;
28
- _vs?: string;
29
- recoveryParam?: number;
30
- v?: number;
31
- } | ethers.utils.BytesLike;
32
26
  export type MerkleProof = {
33
27
  branch: ethers.utils.BytesLike[];
34
28
  leaf: ethers.utils.BytesLike;
35
29
  index: number;
36
30
  };
37
31
  /********* HYPERLANE CORE *********/
32
+ export type Announcement = {
33
+ mailbox_domain: Domain;
34
+ mailbox_address: Address;
35
+ validator: Address;
36
+ storage_location: string;
37
+ };
38
38
  export type Checkpoint = {
39
39
  root: string;
40
40
  index: number;
41
41
  mailbox_domain: Domain;
42
42
  merkle_tree_hook_address: Address;
43
43
  };
44
+ export type CheckpointWithId = {
45
+ checkpoint: Checkpoint;
46
+ message_id: HexString;
47
+ };
48
+ export { SignatureLike };
44
49
  /**
45
50
  * Shape of a checkpoint in S3 as published by the agent.
46
51
  */
47
52
  export type S3CheckpointWithId = {
48
- value: {
49
- checkpoint: Checkpoint;
50
- message_id: HexString;
51
- };
53
+ value: CheckpointWithId;
54
+ signature: SignatureLike;
55
+ };
56
+ export type S3Announcement = {
57
+ value: Announcement;
52
58
  signature: SignatureLike;
53
59
  };
54
60
  export type S3Checkpoint = {
@@ -68,8 +74,10 @@ export type ParsedMessage = {
68
74
  version: number;
69
75
  nonce: number;
70
76
  origin: number;
77
+ originChain?: string;
71
78
  sender: string;
72
79
  destination: number;
80
+ destinationChain?: string;
73
81
  recipient: string;
74
82
  body: string;
75
83
  };
@@ -81,9 +89,6 @@ export type ParsedLegacyMultisigIsmMetadata = {
81
89
  signatures: ethers.utils.BytesLike[];
82
90
  validators: ethers.utils.BytesLike[];
83
91
  };
84
- export declare enum InterchainSecurityModuleType {
85
- MULTISIG = 3
86
- }
87
92
  export type Annotated<T> = T & {
88
93
  annotation?: string;
89
94
  };
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhD,oBAAY,YAAY;IACtB,QAAQ,aAAa;IACrB,QAAQ,aAAa;IACrB,MAAM,WAAW;CAClB;AAED,MAAM,MAAM,iBAAiB,GAAG,GAAG,YAAY,EAAE,CAAC;AAElD,eAAO,MAAM,oBAAoB;;;;CAIhC,CAAC;AAEF,iCAAiC;AACjC,MAAM,MAAM,MAAM,GAAG,MAAM,CAAC;AAC5B,MAAM,MAAM,OAAO,GAAG,MAAM,GAAG,MAAM,CAAC;AACtC,MAAM,MAAM,OAAO,GAAG,MAAM,CAAC;AAC7B,MAAM,MAAM,cAAc,GAAG,MAAM,CAAC;AACpC,MAAM,MAAM,YAAY,GAAG,GAAG,MAAM,IAAI,MAAM,EAAE,CAAC;AACjD,MAAM,MAAM,aAAa,GAAG,GAAG,MAAM,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,EAAE,CAAC;AACtE,MAAM,MAAM,SAAS,GAAG,MAAM,CAAC;AAC/B,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;AAEjD,MAAM,MAAM,WAAW,CAAC,CAAC,IAAI,CAAC,GAAG;IAC/B,OAAO,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF,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,YAAY,GAAG;IACzB,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,OAAO,CAAC;IACzB,SAAS,EAAE,OAAO,CAAC;IACnB,gBAAgB,EAAE,MAAM,CAAC;CAC1B,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,cAAc,EAAE,MAAM,CAAC;IACvB,wBAAwB,EAAE,OAAO,CAAC;CACnC,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,UAAU,EAAE,UAAU,CAAC;IACvB,UAAU,EAAE,SAAS,CAAC;CACvB,CAAC;AAEF,OAAO,EAAE,aAAa,EAAE,CAAC;AAEzB;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG;IAC/B,KAAK,EAAE,gBAAgB,CAAC;IACxB,SAAS,EAAE,aAAa,CAAC;CAC1B,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC3B,KAAK,EAAE,YAAY,CAAC;IACpB,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;IACb,KAAK,CAAC,EAAE,SAAS,CAAC;CACnB,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,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,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,MAAM,MAAM,SAAS,CAAC,CAAC,IAAI,CAAC,GAAG;IAC7B,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC"}
package/dist/types.js CHANGED
@@ -14,8 +14,4 @@ export var MessageStatus;
14
14
  MessageStatus[MessageStatus["NONE"] = 0] = "NONE";
15
15
  MessageStatus[MessageStatus["PROCESSED"] = 1] = "PROCESSED";
16
16
  })(MessageStatus || (MessageStatus = {}));
17
- export var InterchainSecurityModuleType;
18
- (function (InterchainSecurityModuleType) {
19
- InterchainSecurityModuleType[InterchainSecurityModuleType["MULTISIG"] = 3] = "MULTISIG";
20
- })(InterchainSecurityModuleType || (InterchainSecurityModuleType = {}));
21
17
  //# sourceMappingURL=types.js.map
package/dist/types.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAEA,MAAM,CAAN,IAAY,YAIX;AAJD,WAAY,YAAY;IACtB,qCAAqB,CAAA;IACrB,qCAAqB,CAAA;IACrB,iCAAiB,CAAA;AACnB,CAAC,EAJW,YAAY,KAAZ,YAAY,QAIvB;AAID,MAAM,CAAC,MAAM,oBAAoB,GAAG;IAClC,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,KAAK;IAC9B,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,UAAU;IACnC,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,OAAO;CAC/B,CAAC;AA+DF,MAAM,CAAN,IAAY,aAGX;AAHD,WAAY,aAAa;IACvB,iDAAQ,CAAA;IACR,2DAAS,CAAA;AACX,CAAC,EAHW,aAAa,KAAb,aAAa,QAGxB;AAqBD,MAAM,CAAN,IAAY,4BAEX;AAFD,WAAY,4BAA4B;IACtC,uFAAY,CAAA;AACd,CAAC,EAFW,4BAA4B,KAA5B,4BAA4B,QAEvC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAGA,MAAM,CAAN,IAAY,YAIX;AAJD,WAAY,YAAY;IACtB,qCAAqB,CAAA;IACrB,qCAAqB,CAAA;IACrB,iCAAiB,CAAA;AACnB,CAAC,EAJW,YAAY,KAAZ,YAAY,QAIvB;AAID,MAAM,CAAC,MAAM,oBAAoB,GAAG;IAClC,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,KAAK;IAC9B,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,UAAU;IACnC,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,OAAO;CAC/B,CAAC;AAoEF,MAAM,CAAN,IAAY,aAGX;AAHD,WAAY,aAAa;IACvB,iDAAQ,CAAA;IACR,2DAAS,CAAA;AACX,CAAC,EAHW,aAAa,KAAb,aAAa,QAGxB"}
@@ -1,17 +1,23 @@
1
- import { Address, Checkpoint, Domain, HexString, SignatureLike } from './types.js';
1
+ import { Address, Checkpoint, CheckpointWithId, HexString, S3CheckpointWithId, SignatureLike } from './types.js';
2
+ export interface ValidatorConfig {
3
+ address: string;
4
+ localDomain: number;
5
+ mailbox: string;
6
+ }
2
7
  /**
3
8
  * Utilities for validators to construct and verify checkpoints.
4
9
  */
5
10
  export declare class BaseValidator {
6
- readonly address: Address;
7
- readonly localDomain: Domain;
8
- readonly mailbox_address: Address;
9
- constructor(address: Address, localDomain: Domain, mailbox_address: Address);
11
+ protected readonly config: ValidatorConfig;
12
+ constructor(config: ValidatorConfig);
13
+ get address(): string;
10
14
  announceDomainHash(): string;
11
- checkpointDomainHash(merkle_tree_address: Address): string;
12
- message(checkpoint: Checkpoint, messageId: HexString): string;
13
- messageHash(checkpoint: Checkpoint, messageId: HexString): Uint8Array;
14
- recoverAddressFromCheckpoint(checkpoint: Checkpoint, signature: SignatureLike, messageId: HexString): Address;
15
+ static checkpointDomainHash(localDomain: number, merkle_tree_address: Address): string;
16
+ static message(checkpoint: Checkpoint, messageId: HexString): string;
17
+ static messageHash(checkpoint: Checkpoint, messageId: HexString): Uint8Array;
18
+ static recoverAddressFromCheckpoint(checkpoint: Checkpoint, signature: SignatureLike, messageId: HexString): Address;
19
+ static recoverAddressFromCheckpointWithId({ checkpoint, message_id }: CheckpointWithId, signature: SignatureLike): Address;
20
+ static recoverAddress({ value, signature }: S3CheckpointWithId): Address;
15
21
  matchesSigner(checkpoint: Checkpoint, signature: SignatureLike, messageId: HexString): boolean;
16
22
  }
17
23
  //# sourceMappingURL=validator.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"validator.d.ts","sourceRoot":"","sources":["../src/validator.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,OAAO,EACP,UAAU,EACV,MAAM,EACN,SAAS,EACT,aAAa,EACd,MAAM,YAAY,CAAC;AAEpB;;GAEG;AACH,qBAAa,aAAa;aAEN,OAAO,EAAE,OAAO;aAChB,WAAW,EAAE,MAAM;aACnB,eAAe,EAAE,OAAO;gBAFxB,OAAO,EAAE,OAAO,EAChB,WAAW,EAAE,MAAM,EACnB,eAAe,EAAE,OAAO;IAG1C,kBAAkB;IAIlB,oBAAoB,CAAC,mBAAmB,EAAE,OAAO;IAIjD,OAAO,CAAC,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS;IAWpD,WAAW,CAAC,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS;IAKxD,4BAA4B,CAC1B,UAAU,EAAE,UAAU,EACtB,SAAS,EAAE,aAAa,EACxB,SAAS,EAAE,SAAS,GACnB,OAAO;IAKV,aAAa,CACX,UAAU,EAAE,UAAU,EACtB,SAAS,EAAE,aAAa,EACxB,SAAS,EAAE,SAAS;CAUvB"}
1
+ {"version":3,"file":"validator.d.ts","sourceRoot":"","sources":["../src/validator.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,OAAO,EACP,UAAU,EACV,gBAAgB,EAChB,SAAS,EACT,kBAAkB,EAClB,aAAa,EACd,MAAM,YAAY,CAAC;AAEpB,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,qBAAa,aAAa;IACZ,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,eAAe;gBAAvB,MAAM,EAAE,eAAe;IAEtD,IAAI,OAAO,WAEV;IAED,kBAAkB;IAIlB,MAAM,CAAC,oBAAoB,CACzB,WAAW,EAAE,MAAM,EACnB,mBAAmB,EAAE,OAAO;IAK9B,MAAM,CAAC,OAAO,CAAC,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS;IAc3D,MAAM,CAAC,WAAW,CAAC,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS;IAK/D,MAAM,CAAC,4BAA4B,CACjC,UAAU,EAAE,UAAU,EACtB,SAAS,EAAE,aAAa,EACxB,SAAS,EAAE,SAAS,GACnB,OAAO;IAKV,MAAM,CAAC,kCAAkC,CACvC,EAAE,UAAU,EAAE,UAAU,EAAE,EAAE,gBAAgB,EAC5C,SAAS,EAAE,aAAa,GACvB,OAAO;IAQV,MAAM,CAAC,cAAc,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,kBAAkB,GAAG,OAAO;IAIxE,aAAa,CACX,UAAU,EAAE,UAAU,EACtB,SAAS,EAAE,aAAa,EACxB,SAAS,EAAE,SAAS;CASvB"}
package/dist/validator.js CHANGED
@@ -1,43 +1,50 @@
1
1
  import { ethers } from 'ethers';
2
+ import { eqAddress } from './addresses.js';
2
3
  import { domainHash } from './domains.js';
3
4
  /**
4
5
  * Utilities for validators to construct and verify checkpoints.
5
6
  */
6
7
  export class BaseValidator {
7
- address;
8
- localDomain;
9
- mailbox_address;
10
- constructor(address, localDomain, mailbox_address) {
11
- this.address = address;
12
- this.localDomain = localDomain;
13
- this.mailbox_address = mailbox_address;
8
+ config;
9
+ constructor(config) {
10
+ this.config = config;
11
+ }
12
+ get address() {
13
+ return this.config.address;
14
14
  }
15
15
  announceDomainHash() {
16
- return domainHash(this.localDomain, this.mailbox_address);
16
+ return domainHash(this.config.localDomain, this.config.mailbox);
17
17
  }
18
- checkpointDomainHash(merkle_tree_address) {
19
- return domainHash(this.localDomain, merkle_tree_address);
18
+ static checkpointDomainHash(localDomain, merkle_tree_address) {
19
+ return domainHash(localDomain, merkle_tree_address);
20
20
  }
21
- message(checkpoint, messageId) {
21
+ static message(checkpoint, messageId) {
22
22
  const types = ['bytes32', 'bytes32', 'uint32', 'bytes32'];
23
23
  const values = [
24
- this.checkpointDomainHash(checkpoint.merkle_tree_hook_address),
24
+ this.checkpointDomainHash(checkpoint.mailbox_domain, checkpoint.merkle_tree_hook_address),
25
25
  checkpoint.root,
26
26
  checkpoint.index,
27
27
  messageId,
28
28
  ];
29
29
  return ethers.utils.solidityPack(types, values);
30
30
  }
31
- messageHash(checkpoint, messageId) {
31
+ static messageHash(checkpoint, messageId) {
32
32
  const message = this.message(checkpoint, messageId);
33
33
  return ethers.utils.arrayify(ethers.utils.keccak256(message));
34
34
  }
35
- recoverAddressFromCheckpoint(checkpoint, signature, messageId) {
35
+ static recoverAddressFromCheckpoint(checkpoint, signature, messageId) {
36
36
  const msgHash = this.messageHash(checkpoint, messageId);
37
37
  return ethers.utils.verifyMessage(msgHash, signature);
38
38
  }
39
+ static recoverAddressFromCheckpointWithId({ checkpoint, message_id }, signature) {
40
+ return BaseValidator.recoverAddressFromCheckpoint(checkpoint, signature, message_id);
41
+ }
42
+ static recoverAddress({ value, signature }) {
43
+ return BaseValidator.recoverAddressFromCheckpointWithId(value, signature);
44
+ }
39
45
  matchesSigner(checkpoint, signature, messageId) {
40
- return (this.recoverAddressFromCheckpoint(checkpoint, signature, messageId).toLowerCase() === this.address.toLowerCase());
46
+ const address = BaseValidator.recoverAddressFromCheckpoint(checkpoint, signature, messageId);
47
+ return eqAddress(address, this.config.address);
41
48
  }
42
49
  }
43
50
  //# sourceMappingURL=validator.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"validator.js","sourceRoot":"","sources":["../src/validator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAS1C;;GAEG;AACH,MAAM,OAAO,aAAa;IAEN;IACA;IACA;IAHlB,YACkB,OAAgB,EAChB,WAAmB,EACnB,eAAwB;QAFxB,YAAO,GAAP,OAAO,CAAS;QAChB,gBAAW,GAAX,WAAW,CAAQ;QACnB,oBAAe,GAAf,eAAe,CAAS;IACvC,CAAC;IAEJ,kBAAkB;QAChB,OAAO,UAAU,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;IAC5D,CAAC;IAED,oBAAoB,CAAC,mBAA4B;QAC/C,OAAO,UAAU,CAAC,IAAI,CAAC,WAAW,EAAE,mBAAmB,CAAC,CAAC;IAC3D,CAAC;IAED,OAAO,CAAC,UAAsB,EAAE,SAAoB;QAClD,MAAM,KAAK,GAAG,CAAC,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;QAC1D,MAAM,MAAM,GAAG;YACb,IAAI,CAAC,oBAAoB,CAAC,UAAU,CAAC,wBAAwB,CAAC;YAC9D,UAAU,CAAC,IAAI;YACf,UAAU,CAAC,KAAK;YAChB,SAAS;SACV,CAAC;QACF,OAAO,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAClD,CAAC;IAED,WAAW,CAAC,UAAsB,EAAE,SAAoB;QACtD,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;QACpD,OAAO,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;IAChE,CAAC;IAED,4BAA4B,CAC1B,UAAsB,EACtB,SAAwB,EACxB,SAAoB;QAEpB,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;QACxD,OAAO,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;IACxD,CAAC;IAED,aAAa,CACX,UAAsB,EACtB,SAAwB,EACxB,SAAoB;QAEpB,OAAO,CACL,IAAI,CAAC,4BAA4B,CAC/B,UAAU,EACV,SAAS,EACT,SAAS,CACV,CAAC,WAAW,EAAE,KAAK,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAC/C,CAAC;IACJ,CAAC;CACF"}
1
+ {"version":3,"file":"validator.js","sourceRoot":"","sources":["../src/validator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAgB1C;;GAEG;AACH,MAAM,OAAO,aAAa;IACO;IAA/B,YAA+B,MAAuB;QAAvB,WAAM,GAAN,MAAM,CAAiB;IAAG,CAAC;IAE1D,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC;IAC7B,CAAC;IAED,kBAAkB;QAChB,OAAO,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAClE,CAAC;IAED,MAAM,CAAC,oBAAoB,CACzB,WAAmB,EACnB,mBAA4B;QAE5B,OAAO,UAAU,CAAC,WAAW,EAAE,mBAAmB,CAAC,CAAC;IACtD,CAAC;IAED,MAAM,CAAC,OAAO,CAAC,UAAsB,EAAE,SAAoB;QACzD,MAAM,KAAK,GAAG,CAAC,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;QAC1D,MAAM,MAAM,GAAG;YACb,IAAI,CAAC,oBAAoB,CACvB,UAAU,CAAC,cAAc,EACzB,UAAU,CAAC,wBAAwB,CACpC;YACD,UAAU,CAAC,IAAI;YACf,UAAU,CAAC,KAAK;YAChB,SAAS;SACV,CAAC;QACF,OAAO,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAClD,CAAC;IAED,MAAM,CAAC,WAAW,CAAC,UAAsB,EAAE,SAAoB;QAC7D,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;QACpD,OAAO,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;IAChE,CAAC;IAED,MAAM,CAAC,4BAA4B,CACjC,UAAsB,EACtB,SAAwB,EACxB,SAAoB;QAEpB,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;QACxD,OAAO,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;IACxD,CAAC;IAED,MAAM,CAAC,kCAAkC,CACvC,EAAE,UAAU,EAAE,UAAU,EAAoB,EAC5C,SAAwB;QAExB,OAAO,aAAa,CAAC,4BAA4B,CAC/C,UAAU,EACV,SAAS,EACT,UAAU,CACX,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,cAAc,CAAC,EAAE,KAAK,EAAE,SAAS,EAAsB;QAC5D,OAAO,aAAa,CAAC,kCAAkC,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;IAC5E,CAAC;IAED,aAAa,CACX,UAAsB,EACtB,SAAwB,EACxB,SAAoB;QAEpB,MAAM,OAAO,GAAG,aAAa,CAAC,4BAA4B,CACxD,UAAU,EACV,SAAS,EACT,SAAS,CACV,CAAC;QACF,OAAO,SAAS,CAAC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACjD,CAAC;CACF"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@hyperlane-xyz/utils",
3
3
  "description": "General utilities and types for the Hyperlane network",
4
- "version": "3.12.2",
4
+ "version": "3.13.0",
5
5
  "dependencies": {
6
6
  "@cosmjs/encoding": "^0.31.3",
7
7
  "@solana/web3.js": "^1.78.0",