@hyperlane-xyz/utils 3.13.0-next.0 → 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 +1 -0
- package/dist/arrays.d.ts.map +1 -1
- package/dist/arrays.js +4 -0
- package/dist/arrays.js.map +1 -1
- package/dist/index.d.ts +5 -5
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -4
- package/dist/index.js.map +1 -1
- package/dist/math.d.ts +1 -0
- package/dist/math.d.ts.map +1 -1
- package/dist/math.js +3 -0
- package/dist/math.js.map +1 -1
- package/dist/objects.d.ts +1 -0
- package/dist/objects.d.ts.map +1 -1
- package/dist/objects.js +13 -0
- package/dist/objects.js.map +1 -1
- package/dist/types.d.ts +19 -14
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +0 -4
- package/dist/types.js.map +1 -1
- package/dist/validator.d.ts +15 -9
- package/dist/validator.d.ts.map +1 -1
- package/dist/validator.js +22 -15
- package/dist/validator.js.map +1 -1
- package/package.json +1 -1
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
|
package/dist/arrays.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"arrays.d.ts","sourceRoot":"","sources":["../src/arrays.ts"],"names":[],"mappings":"
|
|
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
|
package/dist/arrays.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"arrays.js","sourceRoot":"","sources":["../src/arrays.ts"],"names":[],"mappings":"
|
|
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,
|
|
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,
|
|
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
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","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;
|
|
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,
|
|
19
|
+
export { errorToString, fromHexString, sanitizeString, streamToString, toHexString, toTitleCase, trimToLength, } from './strings.js';
|
|
20
20
|
export { isNullish, isNumeric } from './typeof.js';
|
|
21
|
-
export {
|
|
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;
|
|
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
|
package/dist/math.d.ts.map
CHANGED
|
@@ -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>>;
|
package/dist/objects.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"objects.d.ts","sourceRoot":"","sources":["../src/objects.ts"],"names":[],"mappings":"
|
|
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]));
|
package/dist/objects.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"objects.js","sourceRoot":"","sources":["../src/objects.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,IAAI,aAAa,EAAE,MAAM,MAAM,CAAC;AAElD,OAAO,EAAE,yBAAyB,EAAE,MAAM,cAAc,CAAC;
|
|
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
|
-
|
|
50
|
-
|
|
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
|
};
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,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;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
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":"
|
|
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"}
|
package/dist/validator.d.ts
CHANGED
|
@@ -1,17 +1,23 @@
|
|
|
1
|
-
import { Address, Checkpoint,
|
|
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
|
|
7
|
-
|
|
8
|
-
|
|
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
|
package/dist/validator.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validator.d.ts","sourceRoot":"","sources":["../src/validator.ts"],"names":[],"mappings":"
|
|
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
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
this.
|
|
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.
|
|
16
|
+
return domainHash(this.config.localDomain, this.config.mailbox);
|
|
17
17
|
}
|
|
18
|
-
checkpointDomainHash(merkle_tree_address) {
|
|
19
|
-
return domainHash(
|
|
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
|
-
|
|
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
|
package/dist/validator.js.map
CHANGED
|
@@ -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;
|
|
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