@hyperlane-xyz/utils 1.4.3-beta0 → 1.4.3-beta2
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/index.d.ts +21 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +115 -29
- package/dist/index.js.map +1 -1
- package/dist/src/addresses.d.ts +29 -0
- package/dist/src/addresses.d.ts.map +1 -0
- package/dist/src/addresses.js +202 -0
- package/dist/src/addresses.js.map +1 -0
- package/dist/src/amount.d.ts +9 -0
- package/dist/src/amount.d.ts.map +1 -0
- package/dist/src/amount.js +79 -0
- package/dist/src/amount.js.map +1 -0
- package/dist/src/arrays.d.ts +8 -0
- package/dist/src/arrays.d.ts.map +1 -0
- package/dist/src/arrays.js +16 -0
- package/dist/src/arrays.js.map +1 -0
- package/dist/src/async.d.ts +37 -0
- package/dist/src/async.d.ts.map +1 -0
- package/dist/src/async.js +91 -0
- package/dist/src/async.js.map +1 -0
- package/dist/src/base64.d.ts +3 -0
- package/dist/src/base64.d.ts.map +1 -0
- package/dist/src/base64.js +30 -0
- package/dist/src/base64.js.map +1 -0
- package/dist/src/big-numbers.d.ts +36 -0
- package/dist/src/big-numbers.d.ts.map +1 -0
- package/dist/src/big-numbers.js +93 -0
- package/dist/src/big-numbers.js.map +1 -0
- package/dist/src/big-numbers.test.d.ts +2 -0
- package/dist/src/big-numbers.test.d.ts.map +1 -0
- package/dist/src/big-numbers.test.js +41 -0
- package/dist/src/big-numbers.test.js.map +1 -0
- package/dist/src/calldata.d.ts +3 -0
- package/dist/src/calldata.d.ts.map +1 -0
- package/dist/src/calldata.js +8 -0
- package/dist/src/calldata.js.map +1 -0
- package/dist/src/checkpoints.d.ts +5 -0
- package/dist/src/checkpoints.d.ts.map +1 -0
- package/dist/src/checkpoints.js +30 -0
- package/dist/src/checkpoints.js.map +1 -0
- package/dist/src/domains.d.ts +2 -0
- package/dist/src/domains.d.ts.map +1 -0
- package/dist/src/domains.js +10 -0
- package/dist/src/domains.js.map +1 -0
- package/dist/src/env.d.ts +2 -0
- package/dist/src/env.d.ts.map +1 -0
- package/dist/src/env.js +15 -0
- package/dist/src/env.js.map +1 -0
- package/dist/src/ids.d.ts +20 -0
- package/dist/src/ids.d.ts.map +1 -0
- package/dist/src/ids.js +47 -0
- package/dist/src/ids.js.map +1 -0
- package/dist/src/logging.js +2 -2
- package/dist/src/logging.js.map +1 -1
- package/dist/src/math.d.ts +5 -0
- package/dist/src/math.d.ts.map +1 -0
- package/dist/src/math.js +25 -0
- package/dist/src/math.js.map +1 -0
- package/dist/src/messages.d.ts +21 -0
- package/dist/src/messages.d.ts.map +1 -0
- package/dist/src/messages.js +58 -0
- package/dist/src/messages.js.map +1 -0
- package/dist/src/multisig.d.ts +4 -0
- package/dist/src/multisig.d.ts.map +1 -0
- package/dist/src/multisig.js +57 -0
- package/dist/src/multisig.js.map +1 -0
- package/dist/src/objects.d.ts +18 -0
- package/dist/src/objects.d.ts.map +1 -0
- package/dist/src/objects.js +84 -0
- package/dist/src/objects.js.map +1 -0
- package/dist/src/sets.d.ts +4 -0
- package/dist/src/sets.d.ts.map +1 -0
- package/dist/src/sets.js +30 -0
- package/dist/src/sets.js.map +1 -0
- package/dist/src/strings.d.ts +7 -0
- package/dist/src/strings.d.ts.map +1 -0
- package/dist/src/strings.js +51 -0
- package/dist/src/strings.js.map +1 -0
- package/dist/src/typeof.d.ts +3 -0
- package/dist/src/typeof.d.ts.map +1 -0
- package/dist/src/typeof.js +15 -0
- package/dist/src/typeof.js.map +1 -0
- package/dist/src/types.d.ts +11 -1
- package/dist/src/types.d.ts.map +1 -1
- package/dist/src/types.js +11 -1
- package/dist/src/types.js.map +1 -1
- package/dist/src/validation.d.ts +2 -0
- package/dist/src/validation.d.ts.map +1 -0
- package/dist/src/validation.js +10 -0
- package/dist/src/validation.js.map +1 -0
- package/dist/src/validator.d.ts.map +1 -1
- package/dist/src/validator.js +5 -5
- package/dist/src/validator.js.map +1 -1
- package/package.json +5 -2
- package/dist/src/utils.d.ts +0 -57
- package/dist/src/utils.d.ts.map +0 -1
- package/dist/src/utils.js +0 -307
- package/dist/src/utils.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"math.js","sourceRoot":"","sources":["../../src/math.ts"],"names":[],"mappings":";;;AAAA,SAAgB,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;AAND,wBAMC;AAED,SAAgB,GAAG,CAAC,CAAW;IAC7B,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;AACvC,CAAC;AAFD,kBAEC;AAED,SAAgB,IAAI,CAAC,CAAW;IAC9B,OAAO,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC;AAC3B,CAAC;AAFD,oBAEC;AAED,SAAgB,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;AAJD,wBAIC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { BigNumber } from 'ethers';
|
|
2
|
+
import { Address, Domain, HexString, ParsedMessage } from './types';
|
|
3
|
+
/**
|
|
4
|
+
* JS Implementation of solidity/contracts/libs/Message.sol#formatMessage
|
|
5
|
+
* @returns Hex string of the packed message
|
|
6
|
+
*/
|
|
7
|
+
export declare const formatMessage: (version: number | BigNumber, nonce: number | BigNumber, originDomain: Domain, senderAddr: Address, destinationDomain: Domain, recipientAddr: Address, body: HexString) => HexString;
|
|
8
|
+
/**
|
|
9
|
+
* Get ID given message bytes
|
|
10
|
+
* @param message Hex string of the packed message (see formatMessage)
|
|
11
|
+
* @returns Hex string of message id
|
|
12
|
+
*/
|
|
13
|
+
export declare function messageId(message: HexString): HexString;
|
|
14
|
+
/**
|
|
15
|
+
* Parse a serialized Hyperlane message from raw bytes.
|
|
16
|
+
*
|
|
17
|
+
* @param message
|
|
18
|
+
* @returns
|
|
19
|
+
*/
|
|
20
|
+
export declare function parseMessage(message: string): ParsedMessage;
|
|
21
|
+
//# sourceMappingURL=messages.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"messages.d.ts","sourceRoot":"","sources":["../../src/messages.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAiB,MAAM,QAAQ,CAAC;AAGlD,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAEpE;;;GAGG;AACH,eAAO,MAAM,aAAa,YACf,MAAM,GAAG,SAAS,SACpB,MAAM,GAAG,SAAS,gBACX,MAAM,cACR,OAAO,qBACA,MAAM,iBACV,OAAO,QAChB,SAAS,KACd,SAgBF,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,OAAO,EAAE,SAAS,GAAG,SAAS,CAEvD;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,aAAa,CAkB3D"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.parseMessage = exports.messageId = exports.formatMessage = void 0;
|
|
4
|
+
const ethers_1 = require("ethers");
|
|
5
|
+
const addresses_1 = require("./addresses");
|
|
6
|
+
/**
|
|
7
|
+
* JS Implementation of solidity/contracts/libs/Message.sol#formatMessage
|
|
8
|
+
* @returns Hex string of the packed message
|
|
9
|
+
*/
|
|
10
|
+
const formatMessage = (version, nonce, originDomain, senderAddr, destinationDomain, recipientAddr, body) => {
|
|
11
|
+
senderAddr = (0, addresses_1.addressToBytes32)(senderAddr);
|
|
12
|
+
recipientAddr = (0, addresses_1.addressToBytes32)(recipientAddr);
|
|
13
|
+
return ethers_1.ethers.utils.solidityPack(['uint8', 'uint32', 'uint32', 'bytes32', 'uint32', 'bytes32', 'bytes'], [
|
|
14
|
+
version,
|
|
15
|
+
nonce,
|
|
16
|
+
originDomain,
|
|
17
|
+
senderAddr,
|
|
18
|
+
destinationDomain,
|
|
19
|
+
recipientAddr,
|
|
20
|
+
body,
|
|
21
|
+
]);
|
|
22
|
+
};
|
|
23
|
+
exports.formatMessage = formatMessage;
|
|
24
|
+
/**
|
|
25
|
+
* Get ID given message bytes
|
|
26
|
+
* @param message Hex string of the packed message (see formatMessage)
|
|
27
|
+
* @returns Hex string of message id
|
|
28
|
+
*/
|
|
29
|
+
function messageId(message) {
|
|
30
|
+
return ethers_1.ethers.utils.solidityKeccak256(['bytes'], [message]);
|
|
31
|
+
}
|
|
32
|
+
exports.messageId = messageId;
|
|
33
|
+
/**
|
|
34
|
+
* Parse a serialized Hyperlane message from raw bytes.
|
|
35
|
+
*
|
|
36
|
+
* @param message
|
|
37
|
+
* @returns
|
|
38
|
+
*/
|
|
39
|
+
function parseMessage(message) {
|
|
40
|
+
const VERSION_OFFSET = 0;
|
|
41
|
+
const NONCE_OFFSET = 1;
|
|
42
|
+
const ORIGIN_OFFSET = 5;
|
|
43
|
+
const SENDER_OFFSET = 9;
|
|
44
|
+
const DESTINATION_OFFSET = 41;
|
|
45
|
+
const RECIPIENT_OFFSET = 45;
|
|
46
|
+
const BODY_OFFSET = 77;
|
|
47
|
+
const buf = Buffer.from(ethers_1.utils.arrayify(message));
|
|
48
|
+
const version = buf.readUint8(VERSION_OFFSET);
|
|
49
|
+
const nonce = buf.readUInt32BE(NONCE_OFFSET);
|
|
50
|
+
const origin = buf.readUInt32BE(ORIGIN_OFFSET);
|
|
51
|
+
const sender = ethers_1.utils.hexlify(buf.slice(SENDER_OFFSET, DESTINATION_OFFSET));
|
|
52
|
+
const destination = buf.readUInt32BE(DESTINATION_OFFSET);
|
|
53
|
+
const recipient = ethers_1.utils.hexlify(buf.slice(RECIPIENT_OFFSET, BODY_OFFSET));
|
|
54
|
+
const body = ethers_1.utils.hexlify(buf.slice(BODY_OFFSET));
|
|
55
|
+
return { version, nonce, origin, sender, destination, recipient, body };
|
|
56
|
+
}
|
|
57
|
+
exports.parseMessage = parseMessage;
|
|
58
|
+
//# sourceMappingURL=messages.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"messages.js","sourceRoot":"","sources":["../../src/messages.ts"],"names":[],"mappings":";;;AAAA,mCAAkD;AAElD,2CAA+C;AAG/C;;;GAGG;AACI,MAAM,aAAa,GAAG,CAC3B,OAA2B,EAC3B,KAAyB,EACzB,YAAoB,EACpB,UAAmB,EACnB,iBAAyB,EACzB,aAAsB,EACtB,IAAe,EACJ,EAAE;IACb,UAAU,GAAG,IAAA,4BAAgB,EAAC,UAAU,CAAC,CAAC;IAC1C,aAAa,GAAG,IAAA,4BAAgB,EAAC,aAAa,CAAC,CAAC;IAEhD,OAAO,eAAM,CAAC,KAAK,CAAC,YAAY,CAC9B,CAAC,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,CAAC,EACtE;QACE,OAAO;QACP,KAAK;QACL,YAAY;QACZ,UAAU;QACV,iBAAiB;QACjB,aAAa;QACb,IAAI;KACL,CACF,CAAC;AACJ,CAAC,CAAC;AAxBW,QAAA,aAAa,iBAwBxB;AAEF;;;;GAIG;AACH,SAAgB,SAAS,CAAC,OAAkB;IAC1C,OAAO,eAAM,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;AAC9D,CAAC;AAFD,8BAEC;AAED;;;;;GAKG;AACH,SAAgB,YAAY,CAAC,OAAe;IAC1C,MAAM,cAAc,GAAG,CAAC,CAAC;IACzB,MAAM,YAAY,GAAG,CAAC,CAAC;IACvB,MAAM,aAAa,GAAG,CAAC,CAAC;IACxB,MAAM,aAAa,GAAG,CAAC,CAAC;IACxB,MAAM,kBAAkB,GAAG,EAAE,CAAC;IAC9B,MAAM,gBAAgB,GAAG,EAAE,CAAC;IAC5B,MAAM,WAAW,GAAG,EAAE,CAAC;IAEvB,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,cAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;IACjD,MAAM,OAAO,GAAG,GAAG,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;IAC9C,MAAM,KAAK,GAAG,GAAG,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;IAC7C,MAAM,MAAM,GAAG,GAAG,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC;IAC/C,MAAM,MAAM,GAAG,cAAK,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,aAAa,EAAE,kBAAkB,CAAC,CAAC,CAAC;IAC3E,MAAM,WAAW,GAAG,GAAG,CAAC,YAAY,CAAC,kBAAkB,CAAC,CAAC;IACzD,MAAM,SAAS,GAAG,cAAK,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,gBAAgB,EAAE,WAAW,CAAC,CAAC,CAAC;IAC1E,MAAM,IAAI,GAAG,cAAK,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC;IACnD,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;AAC1E,CAAC;AAlBD,oCAkBC"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { ParsedLegacyMultisigIsmMetadata } from './types';
|
|
2
|
+
export declare const parseLegacyMultisigIsmMetadata: (metadata: string) => ParsedLegacyMultisigIsmMetadata;
|
|
3
|
+
export declare const formatLegacyMultisigIsmMetadata: (metadata: ParsedLegacyMultisigIsmMetadata) => string;
|
|
4
|
+
//# sourceMappingURL=multisig.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"multisig.d.ts","sourceRoot":"","sources":["../../src/multisig.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,+BAA+B,EAAE,MAAM,SAAS,CAAC;AAE1D,eAAO,MAAM,8BAA8B,aAC/B,MAAM,KACf,+BA4CF,CAAC;AAEF,eAAO,MAAM,+BAA+B,aAChC,+BAA+B,KACxC,MAqBF,CAAC"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.formatLegacyMultisigIsmMetadata = exports.parseLegacyMultisigIsmMetadata = void 0;
|
|
4
|
+
const ethers_1 = require("ethers");
|
|
5
|
+
const addresses_1 = require("./addresses");
|
|
6
|
+
const parseLegacyMultisigIsmMetadata = (metadata) => {
|
|
7
|
+
const MERKLE_ROOT_OFFSET = 0;
|
|
8
|
+
const MERKLE_INDEX_OFFSET = 32;
|
|
9
|
+
const ORIGIN_MAILBOX_OFFSET = 36;
|
|
10
|
+
const MERKLE_PROOF_OFFSET = 68;
|
|
11
|
+
const THRESHOLD_OFFSET = 1092;
|
|
12
|
+
const SIGNATURES_OFFSET = 1093;
|
|
13
|
+
const SIGNATURE_LENGTH = 65;
|
|
14
|
+
const buf = Buffer.from(ethers_1.utils.arrayify(metadata));
|
|
15
|
+
const checkpointRoot = ethers_1.utils.hexlify(buf.slice(MERKLE_ROOT_OFFSET, MERKLE_INDEX_OFFSET));
|
|
16
|
+
const checkpointIndex = ethers_1.BigNumber.from(ethers_1.utils.hexlify(buf.slice(MERKLE_INDEX_OFFSET, ORIGIN_MAILBOX_OFFSET))).toNumber();
|
|
17
|
+
const originMailbox = ethers_1.utils.hexlify(buf.slice(ORIGIN_MAILBOX_OFFSET, MERKLE_PROOF_OFFSET));
|
|
18
|
+
const parseBytesArray = (start, count, size) => {
|
|
19
|
+
return [...Array(count).keys()].map((i) => ethers_1.utils.hexlify(buf.slice(start + size * i, start + size * (i + 1))));
|
|
20
|
+
};
|
|
21
|
+
const proof = parseBytesArray(MERKLE_PROOF_OFFSET, 32, 32);
|
|
22
|
+
const threshold = ethers_1.BigNumber.from(ethers_1.utils.hexlify(buf.slice(THRESHOLD_OFFSET, SIGNATURES_OFFSET))).toNumber();
|
|
23
|
+
const signatures = parseBytesArray(SIGNATURES_OFFSET, threshold, SIGNATURE_LENGTH);
|
|
24
|
+
const VALIDATORS_OFFSET = SIGNATURES_OFFSET + threshold * SIGNATURE_LENGTH;
|
|
25
|
+
const addressesCount = buf.slice(VALIDATORS_OFFSET).length / 32;
|
|
26
|
+
const validators = parseBytesArray(VALIDATORS_OFFSET, addressesCount, 32);
|
|
27
|
+
return {
|
|
28
|
+
checkpointRoot,
|
|
29
|
+
checkpointIndex,
|
|
30
|
+
originMailbox,
|
|
31
|
+
proof,
|
|
32
|
+
signatures,
|
|
33
|
+
validators,
|
|
34
|
+
};
|
|
35
|
+
};
|
|
36
|
+
exports.parseLegacyMultisigIsmMetadata = parseLegacyMultisigIsmMetadata;
|
|
37
|
+
const formatLegacyMultisigIsmMetadata = (metadata) => {
|
|
38
|
+
return ethers_1.utils.solidityPack([
|
|
39
|
+
'bytes32',
|
|
40
|
+
'uint32',
|
|
41
|
+
'bytes32',
|
|
42
|
+
'bytes32[32]',
|
|
43
|
+
'uint8',
|
|
44
|
+
'bytes',
|
|
45
|
+
'address[]',
|
|
46
|
+
], [
|
|
47
|
+
metadata.checkpointRoot,
|
|
48
|
+
metadata.checkpointIndex,
|
|
49
|
+
(0, addresses_1.addressToBytes32)(metadata.originMailbox),
|
|
50
|
+
metadata.proof,
|
|
51
|
+
metadata.signatures.length,
|
|
52
|
+
ethers_1.utils.hexConcat(metadata.signatures),
|
|
53
|
+
metadata.validators,
|
|
54
|
+
]);
|
|
55
|
+
};
|
|
56
|
+
exports.formatLegacyMultisigIsmMetadata = formatLegacyMultisigIsmMetadata;
|
|
57
|
+
//# sourceMappingURL=multisig.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"multisig.js","sourceRoot":"","sources":["../../src/multisig.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
export declare function isObject(item: any): any;
|
|
2
|
+
export declare function deepEquals(v1: any, v2: any): boolean;
|
|
3
|
+
type MappedObject<M extends Record<any, any>, O> = {
|
|
4
|
+
[Property in keyof M]: O;
|
|
5
|
+
};
|
|
6
|
+
export type ValueOf<T> = T[keyof T];
|
|
7
|
+
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][];
|
|
8
|
+
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): MappedObject<M, O>;
|
|
9
|
+
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>;
|
|
10
|
+
export declare function promiseObjAll<K extends string, V>(obj: {
|
|
11
|
+
[key in K]: Promise<V>;
|
|
12
|
+
}): Promise<Record<K, V>>;
|
|
13
|
+
export declare function pick<K extends string, V = any>(obj: Record<K, V>, keys: K[]): Record<K, V>;
|
|
14
|
+
export declare function objMerge(a: Record<string, any>, b: Record<string, any>, max_depth?: number): any;
|
|
15
|
+
export declare function invertKeysAndValues(data: any): any;
|
|
16
|
+
export declare function arrayToObject(keys: Array<string | number>, val?: boolean): Record<string | number, boolean>;
|
|
17
|
+
export {};
|
|
18
|
+
//# sourceMappingURL=objects.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"objects.d.ts","sourceRoot":"","sources":["../../src/objects.ts"],"names":[],"mappings":"AAAA,wBAAgB,QAAQ,CAAC,IAAI,EAAE,GAAG,OAEjC;AAED,wBAAgB,UAAU,CAAC,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,WAE1C;AAED,KAAK,YAAY,CAAC,CAAC,SAAS,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,IAAI;KAChD,QAAQ,IAAI,MAAM,CAAC,GAAG,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;AAEpC,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,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC,CAErD;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,GAAG,MAAM,CAAC,EAAE,GAAG,UAAO,oCAKrE"}
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.arrayToObject = exports.invertKeysAndValues = exports.objMerge = exports.pick = exports.promiseObjAll = exports.objFilter = exports.objMap = exports.objMapEntries = exports.deepEquals = exports.isObject = void 0;
|
|
4
|
+
function isObject(item) {
|
|
5
|
+
return item && typeof item === 'object' && !Array.isArray(item);
|
|
6
|
+
}
|
|
7
|
+
exports.isObject = isObject;
|
|
8
|
+
function deepEquals(v1, v2) {
|
|
9
|
+
return JSON.stringify(v1) === JSON.stringify(v2);
|
|
10
|
+
}
|
|
11
|
+
exports.deepEquals = deepEquals;
|
|
12
|
+
function objMapEntries(obj, func) {
|
|
13
|
+
return Object.entries(obj).map(([k, v]) => [k, func(k, v)]);
|
|
14
|
+
}
|
|
15
|
+
exports.objMapEntries = objMapEntries;
|
|
16
|
+
// Map over the values of the object
|
|
17
|
+
function objMap(obj, func) {
|
|
18
|
+
return Object.fromEntries(objMapEntries(obj, func));
|
|
19
|
+
}
|
|
20
|
+
exports.objMap = objMap;
|
|
21
|
+
function objFilter(obj, func) {
|
|
22
|
+
return Object.fromEntries(Object.entries(obj).filter(([k, v]) => func(k, v)));
|
|
23
|
+
}
|
|
24
|
+
exports.objFilter = objFilter;
|
|
25
|
+
// promiseObjectAll :: {k: Promise a} -> Promise {k: a}
|
|
26
|
+
function promiseObjAll(obj) {
|
|
27
|
+
const promiseList = Object.entries(obj).map(([name, promise]) => promise.then((result) => [name, result]));
|
|
28
|
+
return Promise.all(promiseList).then(Object.fromEntries);
|
|
29
|
+
}
|
|
30
|
+
exports.promiseObjAll = promiseObjAll;
|
|
31
|
+
// Get the subset of the object from key list
|
|
32
|
+
function pick(obj, keys) {
|
|
33
|
+
const ret = {};
|
|
34
|
+
const objKeys = Object.keys(obj);
|
|
35
|
+
for (const key of keys) {
|
|
36
|
+
if (objKeys.includes(key)) {
|
|
37
|
+
ret[key] = obj[key];
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
return ret;
|
|
41
|
+
}
|
|
42
|
+
exports.pick = pick;
|
|
43
|
+
// Recursively merges b into a
|
|
44
|
+
// Where there are conflicts, b takes priority over a
|
|
45
|
+
function objMerge(a, b, max_depth = 10) {
|
|
46
|
+
if (max_depth === 0) {
|
|
47
|
+
throw new Error('objMerge tried to go too deep');
|
|
48
|
+
}
|
|
49
|
+
if (isObject(a) && isObject(b)) {
|
|
50
|
+
const ret = {};
|
|
51
|
+
const aKeys = new Set(Object.keys(a));
|
|
52
|
+
const bKeys = new Set(Object.keys(b));
|
|
53
|
+
const allKeys = new Set([...aKeys, ...bKeys]);
|
|
54
|
+
for (const key of allKeys.values()) {
|
|
55
|
+
if (aKeys.has(key) && bKeys.has(key)) {
|
|
56
|
+
ret[key] = objMerge(a[key], b[key], max_depth - 1);
|
|
57
|
+
}
|
|
58
|
+
else if (aKeys.has(key)) {
|
|
59
|
+
ret[key] = a[key];
|
|
60
|
+
}
|
|
61
|
+
else {
|
|
62
|
+
ret[key] = b[key];
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
return ret;
|
|
66
|
+
}
|
|
67
|
+
else {
|
|
68
|
+
return b ? b : a;
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
exports.objMerge = objMerge;
|
|
72
|
+
function invertKeysAndValues(data) {
|
|
73
|
+
return Object.fromEntries(Object.entries(data).map(([key, value]) => [value, key]));
|
|
74
|
+
}
|
|
75
|
+
exports.invertKeysAndValues = invertKeysAndValues;
|
|
76
|
+
// Returns an object with the keys as values from an array and value set to true
|
|
77
|
+
function arrayToObject(keys, val = true) {
|
|
78
|
+
return keys.reduce((result, k) => {
|
|
79
|
+
result[k] = val;
|
|
80
|
+
return result;
|
|
81
|
+
}, {});
|
|
82
|
+
}
|
|
83
|
+
exports.arrayToObject = arrayToObject;
|
|
84
|
+
//# sourceMappingURL=objects.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"objects.js","sourceRoot":"","sources":["../../src/objects.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sets.d.ts","sourceRoot":"","sources":["../../src/sets.ts"],"names":[],"mappings":"AACA,wBAAgB,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,UAMjD;AAED,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,UAU1D;AAED,wBAAgB,WAAW,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,WAElD"}
|
package/dist/src/sets.js
ADDED
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.setEquality = exports.symmetricDifference = exports.difference = void 0;
|
|
4
|
+
// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Set#implementing_basic_set_operations
|
|
5
|
+
function difference(a, b) {
|
|
6
|
+
const _difference = new Set(a);
|
|
7
|
+
for (const elem of b) {
|
|
8
|
+
_difference.delete(elem);
|
|
9
|
+
}
|
|
10
|
+
return _difference;
|
|
11
|
+
}
|
|
12
|
+
exports.difference = difference;
|
|
13
|
+
function symmetricDifference(a, b) {
|
|
14
|
+
const _difference = new Set(a);
|
|
15
|
+
for (const elem of b) {
|
|
16
|
+
if (_difference.has(elem)) {
|
|
17
|
+
_difference.delete(elem);
|
|
18
|
+
}
|
|
19
|
+
else {
|
|
20
|
+
_difference.add(elem);
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
return _difference;
|
|
24
|
+
}
|
|
25
|
+
exports.symmetricDifference = symmetricDifference;
|
|
26
|
+
function setEquality(a, b) {
|
|
27
|
+
return symmetricDifference(a, b).size === 0;
|
|
28
|
+
}
|
|
29
|
+
exports.setEquality = setEquality;
|
|
30
|
+
//# sourceMappingURL=sets.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sets.js","sourceRoot":"","sources":["../../src/sets.ts"],"names":[],"mappings":";;;AAAA,yHAAyH;AACzH,SAAgB,UAAU,CAAI,CAAS,EAAE,CAAS;IAChD,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC;IAC/B,KAAK,MAAM,IAAI,IAAI,CAAC,EAAE;QACpB,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;KAC1B;IACD,OAAO,WAAW,CAAC;AACrB,CAAC;AAND,gCAMC;AAED,SAAgB,mBAAmB,CAAI,CAAS,EAAE,CAAS;IACzD,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC;IAC/B,KAAK,MAAM,IAAI,IAAI,CAAC,EAAE;QACpB,IAAI,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;YACzB,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;SAC1B;aAAM;YACL,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;SACvB;KACF;IACD,OAAO,WAAW,CAAC;AACrB,CAAC;AAVD,kDAUC;AAED,SAAgB,WAAW,CAAI,CAAS,EAAE,CAAS;IACjD,OAAO,mBAAmB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC;AAC9C,CAAC;AAFD,kCAEC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
export declare function toTitleCase(str: string): string;
|
|
3
|
+
export declare function sanitizeString(str: string): string;
|
|
4
|
+
export declare function trimToLength(value: string, maxLength: number): string;
|
|
5
|
+
export declare function streamToString(stream: NodeJS.ReadableStream): Promise<string>;
|
|
6
|
+
export declare function errorToString(error: any, maxLength?: number): string;
|
|
7
|
+
//# sourceMappingURL=strings.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"strings.d.ts","sourceRoot":"","sources":["../../src/strings.ts"],"names":[],"mappings":";AAAA,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,UAItC;AAID,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,UAGzC;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,UAM5D;AAED,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,CAAC,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,CAS7E;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,GAAG,EAAE,SAAS,SAAM,UAOxD"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.errorToString = exports.streamToString = exports.trimToLength = exports.sanitizeString = exports.toTitleCase = void 0;
|
|
4
|
+
function toTitleCase(str) {
|
|
5
|
+
return str.replace(/\w\S*/g, (txt) => {
|
|
6
|
+
return txt.charAt(0).toUpperCase() + txt.substr(1).toLowerCase();
|
|
7
|
+
});
|
|
8
|
+
}
|
|
9
|
+
exports.toTitleCase = toTitleCase;
|
|
10
|
+
// Only allows letters and numbers
|
|
11
|
+
const alphanumericRgex = /[^a-zA-Z0-9]/gi;
|
|
12
|
+
function sanitizeString(str) {
|
|
13
|
+
if (!str || typeof str !== 'string')
|
|
14
|
+
return '';
|
|
15
|
+
return str.replaceAll(alphanumericRgex, '').toLowerCase();
|
|
16
|
+
}
|
|
17
|
+
exports.sanitizeString = sanitizeString;
|
|
18
|
+
function trimToLength(value, maxLength) {
|
|
19
|
+
if (!value)
|
|
20
|
+
return '';
|
|
21
|
+
const trimmed = value.trim();
|
|
22
|
+
return trimmed.length > maxLength
|
|
23
|
+
? trimmed.substring(0, maxLength) + '...'
|
|
24
|
+
: trimmed;
|
|
25
|
+
}
|
|
26
|
+
exports.trimToLength = trimToLength;
|
|
27
|
+
function streamToString(stream) {
|
|
28
|
+
return new Promise((resolve, reject) => {
|
|
29
|
+
const chunks = [];
|
|
30
|
+
stream
|
|
31
|
+
.setEncoding('utf8')
|
|
32
|
+
.on('data', (chunk) => chunks.push(chunk))
|
|
33
|
+
.on('error', (err) => reject(err))
|
|
34
|
+
.on('end', () => resolve(String.prototype.concat(...chunks)));
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
exports.streamToString = streamToString;
|
|
38
|
+
function errorToString(error, maxLength = 300) {
|
|
39
|
+
if (!error)
|
|
40
|
+
return 'Unknown Error';
|
|
41
|
+
if (typeof error === 'string')
|
|
42
|
+
return trimToLength(error, maxLength);
|
|
43
|
+
if (typeof error === 'number')
|
|
44
|
+
return `Error code: ${error}`;
|
|
45
|
+
const details = error.message || error.reason || error;
|
|
46
|
+
if (typeof details === 'string')
|
|
47
|
+
return trimToLength(details, maxLength);
|
|
48
|
+
return trimToLength(JSON.stringify(details), maxLength);
|
|
49
|
+
}
|
|
50
|
+
exports.errorToString = errorToString;
|
|
51
|
+
//# sourceMappingURL=strings.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"strings.js","sourceRoot":"","sources":["../../src/strings.ts"],"names":[],"mappings":";;;AAAA,SAAgB,WAAW,CAAC,GAAW;IACrC,OAAO,GAAG,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,GAAG,EAAE,EAAE;QACnC,OAAO,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;IACnE,CAAC,CAAC,CAAC;AACL,CAAC;AAJD,kCAIC;AAED,kCAAkC;AAClC,MAAM,gBAAgB,GAAG,gBAAgB,CAAC;AAC1C,SAAgB,cAAc,CAAC,GAAW;IACxC,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ;QAAE,OAAO,EAAE,CAAC;IAC/C,OAAO,GAAG,CAAC,UAAU,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;AAC5D,CAAC;AAHD,wCAGC;AAED,SAAgB,YAAY,CAAC,KAAa,EAAE,SAAiB;IAC3D,IAAI,CAAC,KAAK;QAAE,OAAO,EAAE,CAAC;IACtB,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IAC7B,OAAO,OAAO,CAAC,MAAM,GAAG,SAAS;QAC/B,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,SAAS,CAAC,GAAG,KAAK;QACzC,CAAC,CAAC,OAAO,CAAC;AACd,CAAC;AAND,oCAMC;AAED,SAAgB,cAAc,CAAC,MAA6B;IAC1D,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,MAAM,MAAM,GAAa,EAAE,CAAC;QAC5B,MAAM;aACH,WAAW,CAAC,MAAM,CAAC;aACnB,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;aACzC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;aACjC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IAClE,CAAC,CAAC,CAAC;AACL,CAAC;AATD,wCASC;AAED,SAAgB,aAAa,CAAC,KAAU,EAAE,SAAS,GAAG,GAAG;IACvD,IAAI,CAAC,KAAK;QAAE,OAAO,eAAe,CAAC;IACnC,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;IACrE,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,eAAe,KAAK,EAAE,CAAC;IAC7D,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC;IACvD,IAAI,OAAO,OAAO,KAAK,QAAQ;QAAE,OAAO,YAAY,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;IACzE,OAAO,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,SAAS,CAAC,CAAC;AAC1D,CAAC;AAPD,sCAOC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"typeof.d.ts","sourceRoot":"","sources":["../../src/typeof.ts"],"names":[],"mappings":"AAAA,wBAAgB,SAAS,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,WAGlC;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,WAE/C"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.isNumeric = exports.isNullish = void 0;
|
|
4
|
+
function isNullish(val) {
|
|
5
|
+
if (val === null || val === undefined)
|
|
6
|
+
return true;
|
|
7
|
+
else
|
|
8
|
+
return false;
|
|
9
|
+
}
|
|
10
|
+
exports.isNullish = isNullish;
|
|
11
|
+
function isNumeric(value) {
|
|
12
|
+
return typeof value === 'number' || /^\d+$/.test(value);
|
|
13
|
+
}
|
|
14
|
+
exports.isNumeric = isNumeric;
|
|
15
|
+
//# sourceMappingURL=typeof.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"typeof.js","sourceRoot":"","sources":["../../src/typeof.ts"],"names":[],"mappings":";;;AAAA,SAAgB,SAAS,CAAI,GAAM;IACjC,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;;QAC9C,OAAO,KAAK,CAAC;AACpB,CAAC;AAHD,8BAGC;AAED,SAAgB,SAAS,CAAC,KAAsB;IAC9C,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC1D,CAAC;AAFD,8BAEC"}
|
package/dist/src/types.d.ts
CHANGED
|
@@ -1,4 +1,14 @@
|
|
|
1
|
-
import { ethers } from 'ethers';
|
|
1
|
+
import type { ethers } from 'ethers';
|
|
2
|
+
export declare enum ProtocolType {
|
|
3
|
+
Ethereum = "ethereum",
|
|
4
|
+
Sealevel = "sealevel",
|
|
5
|
+
Fuel = "fuel"
|
|
6
|
+
}
|
|
7
|
+
export type ProtocolTypeValue = `${ProtocolType}`;
|
|
8
|
+
export declare const ProtocolSmallestUnit: {
|
|
9
|
+
ethereum: string;
|
|
10
|
+
sealevel: string;
|
|
11
|
+
};
|
|
2
12
|
/********* BASIC TYPES *********/
|
|
3
13
|
export type Domain = number;
|
|
4
14
|
export type Address = string;
|
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;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAErC,oBAAY,YAAY;IACtB,QAAQ,aAAa;IACrB,QAAQ,aAAa;IACrB,IAAI,SAAS;CACd;AAED,MAAM,MAAM,iBAAiB,GAAG,GAAG,YAAY,EAAE,CAAC;AAElD,eAAO,MAAM,oBAAoB;;;CAGhC,CAAC;AAEF,iCAAiC;AACjC,MAAM,MAAM,MAAM,GAAG,MAAM,CAAC;AAC5B,MAAM,MAAM,OAAO,GAAG,MAAM,CAAC;AAC7B,MAAM,MAAM,cAAc,GAAG,MAAM,CAAC;AACpC,MAAM,MAAM,SAAS,GAAG,MAAM,CAAC;AAG/B,MAAM,MAAM,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,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,UAAU,GAAG;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,OAAO,CAAC;CAC1B,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG;IAC/B,KAAK,EAAE;QACL,UAAU,EAAE,UAAU,CAAC;QACvB,UAAU,EAAE,SAAS,CAAC;KACvB,CAAC;IACF,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;CACd,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,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,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,oBAAY,4BAA4B;IACtC,QAAQ,IAAI;CACb"}
|
package/dist/src/types.js
CHANGED
|
@@ -1,6 +1,16 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.InterchainSecurityModuleType = exports.MessageStatus = void 0;
|
|
3
|
+
exports.InterchainSecurityModuleType = exports.MessageStatus = exports.ProtocolSmallestUnit = exports.ProtocolType = void 0;
|
|
4
|
+
var ProtocolType;
|
|
5
|
+
(function (ProtocolType) {
|
|
6
|
+
ProtocolType["Ethereum"] = "ethereum";
|
|
7
|
+
ProtocolType["Sealevel"] = "sealevel";
|
|
8
|
+
ProtocolType["Fuel"] = "fuel";
|
|
9
|
+
})(ProtocolType || (exports.ProtocolType = ProtocolType = {}));
|
|
10
|
+
exports.ProtocolSmallestUnit = {
|
|
11
|
+
[ProtocolType.Ethereum]: 'wei',
|
|
12
|
+
[ProtocolType.Sealevel]: 'lamports',
|
|
13
|
+
};
|
|
4
14
|
var MessageStatus;
|
|
5
15
|
(function (MessageStatus) {
|
|
6
16
|
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":";;;AAEA,IAAY,YAIX;AAJD,WAAY,YAAY;IACtB,qCAAqB,CAAA;IACrB,qCAAqB,CAAA;IACrB,6BAAa,CAAA;AACf,CAAC,EAJW,YAAY,4BAAZ,YAAY,QAIvB;AAIY,QAAA,oBAAoB,GAAG;IAClC,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,KAAK;IAC9B,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,UAAU;CACpC,CAAC;AAsDF,IAAY,aAGX;AAHD,WAAY,aAAa;IACvB,iDAAQ,CAAA;IACR,2DAAS,CAAA;AACX,CAAC,EAHW,aAAa,6BAAb,aAAa,QAGxB;AAqBD,IAAY,4BAEX;AAFD,WAAY,4BAA4B;IACtC,uFAAY,CAAA;AACd,CAAC,EAFW,4BAA4B,4CAA5B,4BAA4B,QAEvC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../src/validation.ts"],"names":[],"mappings":"AAAA,wBAAgB,MAAM,CAAC,SAAS,EAAE,GAAG,EAAE,YAAY,CAAC,EAAE,MAAM,QAI3D"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.assert = void 0;
|
|
4
|
+
function assert(predicate, errorMessage) {
|
|
5
|
+
if (!predicate) {
|
|
6
|
+
throw new Error(errorMessage ?? 'Error');
|
|
7
|
+
}
|
|
8
|
+
}
|
|
9
|
+
exports.assert = assert;
|
|
10
|
+
//# sourceMappingURL=validation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validation.js","sourceRoot":"","sources":["../../src/validation.ts"],"names":[],"mappings":";;;AAAA,SAAgB,MAAM,CAAC,SAAc,EAAE,YAAqB;IAC1D,IAAI,CAAC,SAAS,EAAE;QACd,MAAM,IAAI,KAAK,CAAC,YAAY,IAAI,OAAO,CAAC,CAAC;KAC1C;AACH,CAAC;AAJD,wBAIC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validator.d.ts","sourceRoot":"","sources":["../../src/validator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"validator.d.ts","sourceRoot":"","sources":["../../src/validator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAGhC,OAAO,EACL,OAAO,EACP,UAAU,EACV,MAAM,EACN,SAAS,EACT,YAAY,EACZ,aAAa,EACd,MAAM,SAAS,CAAC;AAEjB;;GAEG;AACH,qBAAa,aAAa;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;gBAEL,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO;IAMnE,UAAU;IAIV,OAAO,CAAC,UAAU,EAAE,UAAU,EAAE,SAAS,CAAC,EAAE,SAAS;IAUrD,WAAW,CAAC,UAAU,EAAE,UAAU,EAAE,SAAS,CAAC,EAAE,SAAS;IAKzD,4BAA4B,CAC1B,UAAU,EAAE,UAAU,EACtB,SAAS,EAAE,aAAa,EACxB,SAAS,CAAC,EAAE,SAAS,GACpB,OAAO;IAKV,aAAa,CACX,UAAU,EAAE,UAAU,EACtB,SAAS,EAAE,aAAa,EACxB,SAAS,CAAC,EAAE,SAAS;CAUxB;AAED,qBAAa,SAAU,SAAQ,aAAa;IAExC,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM;gBAArB,MAAM,EAAE,MAAM,CAAC,MAAM,EAC/B,OAAO,EAAE,OAAO,EAChB,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,OAAO;WAKL,UAAU,CACrB,MAAM,EAAE,MAAM,CAAC,MAAM,EACrB,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,OAAO;IAUZ,cAAc,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;CAc5E"}
|
package/dist/src/validator.js
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.Validator = exports.BaseValidator = void 0;
|
|
4
4
|
const ethers_1 = require("ethers");
|
|
5
|
-
const
|
|
5
|
+
const domains_1 = require("./domains");
|
|
6
6
|
/**
|
|
7
7
|
* Utilities for validators to construct and verify checkpoints.
|
|
8
8
|
*/
|
|
@@ -13,12 +13,12 @@ class BaseValidator {
|
|
|
13
13
|
this.mailbox = mailbox;
|
|
14
14
|
}
|
|
15
15
|
domainHash() {
|
|
16
|
-
return (0,
|
|
16
|
+
return (0, domains_1.domainHash)(this.localDomain, this.mailbox);
|
|
17
17
|
}
|
|
18
18
|
message(checkpoint, messageId) {
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
if (
|
|
19
|
+
const types = ['bytes32', 'bytes32', 'uint32'];
|
|
20
|
+
const values = [this.domainHash(), checkpoint.root, checkpoint.index];
|
|
21
|
+
if (messageId) {
|
|
22
22
|
types.push('bytes32');
|
|
23
23
|
values.push(messageId);
|
|
24
24
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validator.js","sourceRoot":"","sources":["../../src/validator.ts"],"names":[],"mappings":";;;AAAA,mCAAgC;
|
|
1
|
+
{"version":3,"file":"validator.js","sourceRoot":"","sources":["../../src/validator.ts"],"names":[],"mappings":";;;AAAA,mCAAgC;AAEhC,uCAAuC;AAUvC;;GAEG;AACH,MAAa,aAAa;IAKxB,YAAY,OAAgB,EAAE,WAAmB,EAAE,OAAgB;QACjE,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAED,UAAU;QACR,OAAO,IAAA,oBAAU,EAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IACpD,CAAC;IAED,OAAO,CAAC,UAAsB,EAAE,SAAqB;QACnD,MAAM,KAAK,GAAG,CAAC,SAAS,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;QAC/C,MAAM,MAAM,GAAG,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,UAAU,CAAC,IAAI,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC;QACtE,IAAI,SAAS,EAAE;YACb,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACtB,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;SACxB;QACD,OAAO,eAAM,CAAC,KAAK,CAAC,YAAY,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAClD,CAAC;IAED,WAAW,CAAC,UAAsB,EAAE,SAAqB;QACvD,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;QACpD,OAAO,eAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,eAAM,CAAC,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;IAChE,CAAC;IAED,4BAA4B,CAC1B,UAAsB,EACtB,SAAwB,EACxB,SAAqB;QAErB,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;QACxD,OAAO,eAAM,CAAC,KAAK,CAAC,aAAa,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;IACxD,CAAC;IAED,aAAa,CACX,UAAsB,EACtB,SAAwB,EACxB,SAAqB;QAErB,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;AApDD,sCAoDC;AAED,MAAa,SAAU,SAAQ,aAAa;IAC1C,YACY,MAAqB,EAC/B,OAAgB,EAChB,WAAmB,EACnB,OAAgB;QAEhB,KAAK,CAAC,OAAO,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;QAL3B,WAAM,GAAN,MAAM,CAAe;IAMjC,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,UAAU,CACrB,MAAqB,EACrB,WAAmB,EACnB,OAAgB;QAEhB,OAAO,IAAI,SAAS,CAClB,MAAM,EACN,MAAM,MAAM,CAAC,UAAU,EAAE,EACzB,WAAW,EACX,OAAO,CACR,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,IAAe,EAAE,KAAa;QACjD,MAAM,UAAU,GAAG;YACjB,IAAI;YACJ,KAAK;YACL,eAAe,EAAE,IAAI,CAAC,OAAO;YAC7B,cAAc,EAAE,IAAI,CAAC,WAAW;SACjC,CAAC;QACF,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;QAC7C,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QACzD,OAAO;YACL,KAAK,EAAE,UAAU;YACjB,SAAS;SACV,CAAC;IACJ,CAAC;CACF;AArCD,8BAqCC"}
|
package/package.json
CHANGED
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@hyperlane-xyz/utils",
|
|
3
3
|
"description": "General utilities for the Hyperlane network",
|
|
4
|
-
"version": "1.4.3-
|
|
4
|
+
"version": "1.4.3-beta2",
|
|
5
5
|
"dependencies": {
|
|
6
|
+
"@solana/web3.js": "^1.78.0",
|
|
7
|
+
"bignumber.js": "^9.1.1",
|
|
6
8
|
"ethers": "^5.7.2"
|
|
7
9
|
},
|
|
8
10
|
"devDependencies": {
|
|
@@ -13,7 +15,7 @@
|
|
|
13
15
|
"homepage": "https://www.hyperlane.xyz",
|
|
14
16
|
"keywords": [
|
|
15
17
|
"Hyperlane",
|
|
16
|
-
"
|
|
18
|
+
"Utilities",
|
|
17
19
|
"Typescript"
|
|
18
20
|
],
|
|
19
21
|
"license": "Apache-2.0",
|
|
@@ -26,6 +28,7 @@
|
|
|
26
28
|
"check": "tsc --noEmit",
|
|
27
29
|
"prettier": "prettier --write ./src"
|
|
28
30
|
},
|
|
31
|
+
"sideEffects": false,
|
|
29
32
|
"types": "dist/index.d.ts",
|
|
30
33
|
"files": [
|
|
31
34
|
"/dist"
|