@monolythium/core-sdk 0.4.14 → 0.4.16
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/crypto/index.d.cts +2 -2
- package/dist/crypto/index.d.ts +2 -2
- package/dist/index.cjs +586 -22
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +2 -2
- package/dist/index.d.ts +2 -2
- package/dist/index.js +542 -23
- package/dist/index.js.map +1 -1
- package/dist/{submission-7MkZky2W.d.cts → submission-BdBhOdg7.d.cts} +463 -1
- package/dist/{submission-7MkZky2W.d.ts → submission-BdBhOdg7.d.ts} +463 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -450,12 +450,44 @@ var NODE_REGISTRY_SELECTORS = {
|
|
|
450
450
|
getClusterJoinRequest: "0x" + selectorHex("getClusterJoinRequest(uint32,bytes32)"),
|
|
451
451
|
/** `formCluster(bytes,bytes,bytes)` — no-foundation cluster formation by roster consent. */
|
|
452
452
|
formCluster: "0x" + selectorHex("formCluster(bytes,bytes,bytes)"),
|
|
453
|
+
/**
|
|
454
|
+
* `formCluster(bytes,bytes,bytes,bytes)` — V2 formation carrying the
|
|
455
|
+
* 30-byte economics charter (Law §6.8); consents verify over the V2
|
|
456
|
+
* digest, which commits to the charter bytes.
|
|
457
|
+
*/
|
|
458
|
+
formClusterV2: "0x" + selectorHex("formCluster(bytes,bytes,bytes,bytes)"),
|
|
453
459
|
/** `setOperatorDisplay(bytes32,string,string)` — owner-callable public display metadata. */
|
|
454
460
|
setOperatorDisplay: "0x" + selectorHex("setOperatorDisplay(bytes32,string,string)"),
|
|
455
461
|
/** `publishOperatorSealKey(bytes32,bytes)` — owner-callable LythiumSeal EK publication. */
|
|
456
462
|
publishOperatorSealKey: "0x" + selectorHex("publishOperatorSealKey(bytes32,bytes)"),
|
|
457
463
|
/** `getOperatorSealKey(bytes32)` view — returns the operator's published LythiumSeal EK. */
|
|
458
|
-
getOperatorSealKey: "0x" + selectorHex("getOperatorSealKey(bytes32)")
|
|
464
|
+
getOperatorSealKey: "0x" + selectorHex("getOperatorSealKey(bytes32)"),
|
|
465
|
+
/**
|
|
466
|
+
* `updateCharter(uint32,bytes,bytes,bytes)` — Component H live charter
|
|
467
|
+
* amendment (Law §6.8); re-signs a new 30-byte charter for a LIVE cluster
|
|
468
|
+
* with a delegator-protective cooldown. Consents verify over
|
|
469
|
+
* `updateCharterMessage` (NOT the formCluster digests).
|
|
470
|
+
*/
|
|
471
|
+
updateCharter: "0x" + selectorHex("updateCharter(uint32,bytes,bytes,bytes)"),
|
|
472
|
+
/** `getPendingCharter(uint32)` view — Component H pending-amendment status. */
|
|
473
|
+
getPendingCharter: "0x" + selectorHex("getPendingCharter(uint32)"),
|
|
474
|
+
/** `commitArchiveRoot(bytes32,uint16,bytes32,uint64)` — Component B archive serve-challenge commit. */
|
|
475
|
+
commitArchiveRoot: "0x" + selectorHex("commitArchiveRoot(bytes32,uint16,bytes32,uint64)"),
|
|
476
|
+
/**
|
|
477
|
+
* `answerArchiveChallenge(bytes32,uint16,uint64,bytes,bytes32[])` —
|
|
478
|
+
* Component B answer. BLOCKER-1 (mono-core `service-rewards` d2ee4548):
|
|
479
|
+
* the caller-supplied `roundCertDigest` + `nonce` were REMOVED — the
|
|
480
|
+
* challenge seed is now the protocol-pinned per-epoch quorum-certificate
|
|
481
|
+
* digest and the nonce is derived from it. 5 args: peerId, shardIndex,
|
|
482
|
+
* epoch, leaf, proof.
|
|
483
|
+
*/
|
|
484
|
+
answerArchiveChallenge: "0x" + selectorHex("answerArchiveChallenge(bytes32,uint16,uint64,bytes,bytes32[])"),
|
|
485
|
+
/** `setProbeAuthority(address)` — Component C foundation-gated probe-authority rotation. */
|
|
486
|
+
setProbeAuthority: "0x" + selectorHex("setProbeAuthority(address)"),
|
|
487
|
+
/** `getProbeAuthority()` view — Component C configured probe-authority address. */
|
|
488
|
+
getProbeAuthority: "0x" + selectorHex("getProbeAuthority()"),
|
|
489
|
+
/** `attestServiceProbe(bytes32,uint32,uint8,uint64)` — Component C attested score-eligibility path. */
|
|
490
|
+
attestServiceProbe: "0x" + selectorHex("attestServiceProbe(bytes32,uint32,uint8,uint64)")
|
|
459
491
|
};
|
|
460
492
|
var NODE_REGISTRY_CLUSTER_MEMBER_REF_BYTES = 48;
|
|
461
493
|
var NODE_REGISTRY_LEGACY_CLUSTER_MEMBER_PUBKEY_BYTES = NODE_REGISTRY_CLUSTER_MEMBER_REF_BYTES;
|
|
@@ -474,8 +506,26 @@ var NODE_REGISTRY_FORM_CLUSTER_STANDBY_COUNT = 3;
|
|
|
474
506
|
var NODE_REGISTRY_FORM_CLUSTER_MEMBER_COUNT = NODE_REGISTRY_FORM_CLUSTER_ACTIVE_COUNT + NODE_REGISTRY_FORM_CLUSTER_STANDBY_COUNT;
|
|
475
507
|
var NODE_REGISTRY_FORM_CLUSTER_THRESHOLD = 7;
|
|
476
508
|
var NODE_REGISTRY_FORM_CLUSTER_MESSAGE_DOMAIN = "PROTOCORE_NODE_REGISTRY_CLUSTER_FORM_V1\0";
|
|
509
|
+
var NODE_REGISTRY_FORM_CLUSTER_MESSAGE_DOMAIN_V2 = "PROTOCORE_NODE_REGISTRY_CLUSTER_FORM_V2\0";
|
|
510
|
+
var NODE_REGISTRY_CLUSTER_CHARTER_BYTES = 30;
|
|
511
|
+
var NODE_REGISTRY_CLUSTER_CHARTER_DELEGATOR_FLOOR_BPS = 2e3;
|
|
512
|
+
var NODE_REGISTRY_CLUSTER_CHARTER_SHARE_DENOM_BPS = 1e4;
|
|
477
513
|
var NODE_REGISTRY_OPERATOR_MONIKER_MAX_BYTES = 128;
|
|
478
514
|
var NODE_REGISTRY_OPERATOR_ALIAS_MAX_BYTES = 64;
|
|
515
|
+
var NODE_REGISTRY_UPDATE_CHARTER_THRESHOLD = NODE_REGISTRY_FORM_CLUSTER_THRESHOLD;
|
|
516
|
+
var NODE_REGISTRY_UPDATE_CHARTER_MESSAGE_DOMAIN = "PROTOCORE_NODE_REGISTRY_CLUSTER_UPDATE_CHARTER_V1\0";
|
|
517
|
+
var NODE_REGISTRY_CHARTER_COOLDOWN_EPOCHS = 2;
|
|
518
|
+
var NODE_REGISTRY_ARCHIVE_CHALLENGE_DOMAIN = "monolythium.archive-challenge.v1";
|
|
519
|
+
var NODE_REGISTRY_ARCHIVE_NONCE_DOMAIN = "monolythium.archive-challenge.nonce.v1";
|
|
520
|
+
var NODE_REGISTRY_MERKLE_LEAF_DOMAIN = 0;
|
|
521
|
+
var NODE_REGISTRY_MERKLE_INNER_DOMAIN = 1;
|
|
522
|
+
var NODE_REGISTRY_MAX_MERKLE_PROOF_DEPTH = 40;
|
|
523
|
+
var NODE_REGISTRY_MIN_ARCHIVE_LEAF_COUNT = 65536n;
|
|
524
|
+
var NODE_REGISTRY_CHALLENGE_EPOCH_WINDOW = 2n;
|
|
525
|
+
var NODE_REGISTRY_ARCHIVE_KIND_EPOCH_SEED = 3;
|
|
526
|
+
var NODE_REGISTRY_TAG_ARCHIVE_CHALLENGE = 50;
|
|
527
|
+
var NODE_REGISTRY_TAG_SERVICE_SCORE = 36;
|
|
528
|
+
var NODE_REGISTRY_TAG_TREASURY = 31;
|
|
479
529
|
var PENDING_CHANGE_KIND_CODES = {
|
|
480
530
|
add: 1,
|
|
481
531
|
remove: 2,
|
|
@@ -837,6 +887,438 @@ function encodeFormClusterCalldata(args) {
|
|
|
837
887
|
)
|
|
838
888
|
);
|
|
839
889
|
}
|
|
890
|
+
function encodeClusterCharter(args) {
|
|
891
|
+
if (args.memberShareBps.length !== NODE_REGISTRY_FORM_CLUSTER_MEMBER_COUNT) {
|
|
892
|
+
throw new NodeRegistryError(
|
|
893
|
+
`memberShareBps needs exactly ${NODE_REGISTRY_FORM_CLUSTER_MEMBER_COUNT} entries, got ${args.memberShareBps.length}`
|
|
894
|
+
);
|
|
895
|
+
}
|
|
896
|
+
let sum = 0;
|
|
897
|
+
for (const bps of args.memberShareBps) {
|
|
898
|
+
if (!Number.isInteger(bps) || bps < 0 || bps > 65535) {
|
|
899
|
+
throw new NodeRegistryError(`memberShareBps entries must be u16 integers, got ${bps}`);
|
|
900
|
+
}
|
|
901
|
+
sum += bps;
|
|
902
|
+
}
|
|
903
|
+
if (sum !== NODE_REGISTRY_CLUSTER_CHARTER_SHARE_DENOM_BPS) {
|
|
904
|
+
throw new NodeRegistryError(
|
|
905
|
+
`memberShareBps must sum to ${NODE_REGISTRY_CLUSTER_CHARTER_SHARE_DENOM_BPS}, got ${sum}`
|
|
906
|
+
);
|
|
907
|
+
}
|
|
908
|
+
if (!Number.isInteger(args.delegatorShareBps) || args.delegatorShareBps < NODE_REGISTRY_CLUSTER_CHARTER_DELEGATOR_FLOOR_BPS || args.delegatorShareBps > NODE_REGISTRY_CLUSTER_CHARTER_SHARE_DENOM_BPS) {
|
|
909
|
+
throw new NodeRegistryError(
|
|
910
|
+
`delegatorShareBps must be within [${NODE_REGISTRY_CLUSTER_CHARTER_DELEGATOR_FLOOR_BPS}, ${NODE_REGISTRY_CLUSTER_CHARTER_SHARE_DENOM_BPS}], got ${args.delegatorShareBps}`
|
|
911
|
+
);
|
|
912
|
+
}
|
|
913
|
+
const expiresMs = typeof args.expiresMs === "bigint" ? args.expiresMs : BigInt(args.expiresMs);
|
|
914
|
+
if (expiresMs < 0n || expiresMs > 0xffffffffffffffffn) {
|
|
915
|
+
throw new NodeRegistryError(`expiresMs must fit in u64, got ${expiresMs}`);
|
|
916
|
+
}
|
|
917
|
+
const out = new Uint8Array(NODE_REGISTRY_CLUSTER_CHARTER_BYTES);
|
|
918
|
+
for (let i = 0; i < NODE_REGISTRY_FORM_CLUSTER_MEMBER_COUNT; i += 1) {
|
|
919
|
+
out.set(u16BeBytes(args.memberShareBps[i]), 2 * i);
|
|
920
|
+
}
|
|
921
|
+
out.set(u16BeBytes(args.delegatorShareBps), 20);
|
|
922
|
+
out.set(u64BeBytes(expiresMs), 22);
|
|
923
|
+
return out;
|
|
924
|
+
}
|
|
925
|
+
function formClusterMessageV2(activePubkeys, standbyPubkeys, charter) {
|
|
926
|
+
const active = expectLength2(
|
|
927
|
+
toBytes(activePubkeys),
|
|
928
|
+
NODE_REGISTRY_FORM_CLUSTER_ACTIVE_COUNT * NODE_REGISTRY_CONSENSUS_PUBKEY_BYTES,
|
|
929
|
+
"activePubkeys"
|
|
930
|
+
);
|
|
931
|
+
const standby = expectLength2(
|
|
932
|
+
toBytes(standbyPubkeys),
|
|
933
|
+
NODE_REGISTRY_FORM_CLUSTER_STANDBY_COUNT * NODE_REGISTRY_CONSENSUS_PUBKEY_BYTES,
|
|
934
|
+
"standbyPubkeys"
|
|
935
|
+
);
|
|
936
|
+
const charterBytes = expectLength2(
|
|
937
|
+
toBytes(charter),
|
|
938
|
+
NODE_REGISTRY_CLUSTER_CHARTER_BYTES,
|
|
939
|
+
"charter"
|
|
940
|
+
);
|
|
941
|
+
return blake3(
|
|
942
|
+
concatBytes(
|
|
943
|
+
new TextEncoder().encode(NODE_REGISTRY_FORM_CLUSTER_MESSAGE_DOMAIN_V2),
|
|
944
|
+
u16BeBytes(NODE_REGISTRY_FORM_CLUSTER_ACTIVE_COUNT),
|
|
945
|
+
u16BeBytes(NODE_REGISTRY_FORM_CLUSTER_STANDBY_COUNT),
|
|
946
|
+
u16BeBytes(NODE_REGISTRY_FORM_CLUSTER_THRESHOLD),
|
|
947
|
+
u32BeBytes(active.length),
|
|
948
|
+
active,
|
|
949
|
+
u32BeBytes(standby.length),
|
|
950
|
+
standby,
|
|
951
|
+
u32BeBytes(charterBytes.length),
|
|
952
|
+
charterBytes
|
|
953
|
+
)
|
|
954
|
+
);
|
|
955
|
+
}
|
|
956
|
+
function formClusterMessageV2Hex(activePubkeys, standbyPubkeys, charter) {
|
|
957
|
+
return bytesToHex(formClusterMessageV2(activePubkeys, standbyPubkeys, charter));
|
|
958
|
+
}
|
|
959
|
+
function encodeFormClusterV2Calldata(args) {
|
|
960
|
+
const activePubkeys = expectLength2(
|
|
961
|
+
toBytes(args.activePubkeys),
|
|
962
|
+
NODE_REGISTRY_FORM_CLUSTER_ACTIVE_COUNT * NODE_REGISTRY_CONSENSUS_PUBKEY_BYTES,
|
|
963
|
+
"activePubkeys"
|
|
964
|
+
);
|
|
965
|
+
const standbyPubkeys = expectLength2(
|
|
966
|
+
toBytes(args.standbyPubkeys),
|
|
967
|
+
NODE_REGISTRY_FORM_CLUSTER_STANDBY_COUNT * NODE_REGISTRY_CONSENSUS_PUBKEY_BYTES,
|
|
968
|
+
"standbyPubkeys"
|
|
969
|
+
);
|
|
970
|
+
const signatures = expectLength2(
|
|
971
|
+
toBytes(args.signatures),
|
|
972
|
+
NODE_REGISTRY_FORM_CLUSTER_MEMBER_COUNT * NODE_REGISTRY_CONSENSUS_SIGNATURE_BYTES,
|
|
973
|
+
"signatures"
|
|
974
|
+
);
|
|
975
|
+
const charter = expectLength2(
|
|
976
|
+
toBytes(args.charter),
|
|
977
|
+
NODE_REGISTRY_CLUSTER_CHARTER_BYTES,
|
|
978
|
+
"charter"
|
|
979
|
+
);
|
|
980
|
+
const activePadded = padToWord(activePubkeys);
|
|
981
|
+
const standbyPadded = padToWord(standbyPubkeys);
|
|
982
|
+
const signaturesPadded = padToWord(signatures);
|
|
983
|
+
const charterPadded = padToWord(charter);
|
|
984
|
+
const activeOffset = 4n * 32n;
|
|
985
|
+
const standbyOffset = activeOffset + 32n + BigInt(activePadded.length);
|
|
986
|
+
const signaturesOffset = standbyOffset + 32n + BigInt(standbyPadded.length);
|
|
987
|
+
const charterOffset = signaturesOffset + 32n + BigInt(signaturesPadded.length);
|
|
988
|
+
return bytesToHex(
|
|
989
|
+
concatBytes(
|
|
990
|
+
hexToBytes(NODE_REGISTRY_SELECTORS.formClusterV2),
|
|
991
|
+
uint64Word(activeOffset, "activePubkeysOffset"),
|
|
992
|
+
uint64Word(standbyOffset, "standbyPubkeysOffset"),
|
|
993
|
+
uint64Word(signaturesOffset, "signaturesOffset"),
|
|
994
|
+
uint64Word(charterOffset, "charterOffset"),
|
|
995
|
+
uint64Word(BigInt(activePubkeys.length), "activePubkeysLength"),
|
|
996
|
+
activePadded,
|
|
997
|
+
uint64Word(BigInt(standbyPubkeys.length), "standbyPubkeysLength"),
|
|
998
|
+
standbyPadded,
|
|
999
|
+
uint64Word(BigInt(signatures.length), "signaturesLength"),
|
|
1000
|
+
signaturesPadded,
|
|
1001
|
+
uint64Word(BigInt(charter.length), "charterLength"),
|
|
1002
|
+
charterPadded
|
|
1003
|
+
)
|
|
1004
|
+
);
|
|
1005
|
+
}
|
|
1006
|
+
function decodeClusterCharter(charter) {
|
|
1007
|
+
const bytes = expectLength2(toBytes(charter), NODE_REGISTRY_CLUSTER_CHARTER_BYTES, "charter");
|
|
1008
|
+
const memberShareBps = [];
|
|
1009
|
+
let sum = 0;
|
|
1010
|
+
for (let i = 0; i < NODE_REGISTRY_FORM_CLUSTER_MEMBER_COUNT; i += 1) {
|
|
1011
|
+
const bps = bytes[2 * i] << 8 | bytes[2 * i + 1];
|
|
1012
|
+
memberShareBps.push(bps);
|
|
1013
|
+
sum += bps;
|
|
1014
|
+
}
|
|
1015
|
+
if (sum !== NODE_REGISTRY_CLUSTER_CHARTER_SHARE_DENOM_BPS) {
|
|
1016
|
+
throw new NodeRegistryError(
|
|
1017
|
+
`memberShareBps must sum to ${NODE_REGISTRY_CLUSTER_CHARTER_SHARE_DENOM_BPS}, got ${sum}`
|
|
1018
|
+
);
|
|
1019
|
+
}
|
|
1020
|
+
const delegatorShareBps = bytes[20] << 8 | bytes[21];
|
|
1021
|
+
if (delegatorShareBps < NODE_REGISTRY_CLUSTER_CHARTER_DELEGATOR_FLOOR_BPS || delegatorShareBps > NODE_REGISTRY_CLUSTER_CHARTER_SHARE_DENOM_BPS) {
|
|
1022
|
+
throw new NodeRegistryError(
|
|
1023
|
+
`delegatorShareBps must be within [${NODE_REGISTRY_CLUSTER_CHARTER_DELEGATOR_FLOOR_BPS}, ${NODE_REGISTRY_CLUSTER_CHARTER_SHARE_DENOM_BPS}], got ${delegatorShareBps}`
|
|
1024
|
+
);
|
|
1025
|
+
}
|
|
1026
|
+
let expiresMs = 0n;
|
|
1027
|
+
for (let i = 22; i < 30; i += 1) {
|
|
1028
|
+
expiresMs = expiresMs << 8n | BigInt(bytes[i]);
|
|
1029
|
+
}
|
|
1030
|
+
return { memberShareBps, delegatorShareBps, expiresMs };
|
|
1031
|
+
}
|
|
1032
|
+
function updateCharterMessage(clusterId, charter) {
|
|
1033
|
+
const id = toUint32(clusterId, "clusterId");
|
|
1034
|
+
const charterBytes = expectLength2(toBytes(charter), NODE_REGISTRY_CLUSTER_CHARTER_BYTES, "charter");
|
|
1035
|
+
return blake3(
|
|
1036
|
+
concatBytes(
|
|
1037
|
+
new TextEncoder().encode(NODE_REGISTRY_UPDATE_CHARTER_MESSAGE_DOMAIN),
|
|
1038
|
+
u32BeBytes(id),
|
|
1039
|
+
u16BeBytes(NODE_REGISTRY_UPDATE_CHARTER_THRESHOLD),
|
|
1040
|
+
u32BeBytes(charterBytes.length),
|
|
1041
|
+
charterBytes
|
|
1042
|
+
)
|
|
1043
|
+
);
|
|
1044
|
+
}
|
|
1045
|
+
function updateCharterMessageHex(clusterId, charter) {
|
|
1046
|
+
return bytesToHex(updateCharterMessage(clusterId, charter));
|
|
1047
|
+
}
|
|
1048
|
+
function encodeUpdateCharterCalldata(args) {
|
|
1049
|
+
const id = toUint32(args.clusterId, "clusterId");
|
|
1050
|
+
const charter = expectLength2(
|
|
1051
|
+
toBytes(args.charter),
|
|
1052
|
+
NODE_REGISTRY_CLUSTER_CHARTER_BYTES,
|
|
1053
|
+
"charter"
|
|
1054
|
+
);
|
|
1055
|
+
const signerPubkeys = flattenFixedWidth(
|
|
1056
|
+
args.signerPubkeys,
|
|
1057
|
+
NODE_REGISTRY_CONSENSUS_PUBKEY_BYTES,
|
|
1058
|
+
"signerPubkeys"
|
|
1059
|
+
);
|
|
1060
|
+
const signatures = flattenFixedWidth(
|
|
1061
|
+
args.signatures,
|
|
1062
|
+
NODE_REGISTRY_CONSENSUS_SIGNATURE_BYTES,
|
|
1063
|
+
"signatures"
|
|
1064
|
+
);
|
|
1065
|
+
const nPubkeys = signerPubkeys.length / NODE_REGISTRY_CONSENSUS_PUBKEY_BYTES;
|
|
1066
|
+
const nSigs = signatures.length / NODE_REGISTRY_CONSENSUS_SIGNATURE_BYTES;
|
|
1067
|
+
if (nPubkeys !== nSigs) {
|
|
1068
|
+
throw new NodeRegistryError(
|
|
1069
|
+
`signerPubkeys (${nPubkeys}) and signatures (${nSigs}) counts must match`
|
|
1070
|
+
);
|
|
1071
|
+
}
|
|
1072
|
+
if (nPubkeys < NODE_REGISTRY_UPDATE_CHARTER_THRESHOLD || nPubkeys > NODE_REGISTRY_FORM_CLUSTER_MEMBER_COUNT) {
|
|
1073
|
+
throw new NodeRegistryError(
|
|
1074
|
+
`signer count must be in [${NODE_REGISTRY_UPDATE_CHARTER_THRESHOLD}, ${NODE_REGISTRY_FORM_CLUSTER_MEMBER_COUNT}], got ${nPubkeys}`
|
|
1075
|
+
);
|
|
1076
|
+
}
|
|
1077
|
+
const charterPadded = padToWord(charter);
|
|
1078
|
+
const signerPadded = padToWord(signerPubkeys);
|
|
1079
|
+
const sigsPadded = padToWord(signatures);
|
|
1080
|
+
const charterOffset = 4n * 32n;
|
|
1081
|
+
const signerOffset = charterOffset + 32n + BigInt(charterPadded.length);
|
|
1082
|
+
const sigsOffset = signerOffset + 32n + BigInt(signerPadded.length);
|
|
1083
|
+
return bytesToHex(
|
|
1084
|
+
concatBytes(
|
|
1085
|
+
hexToBytes(NODE_REGISTRY_SELECTORS.updateCharter),
|
|
1086
|
+
uint32Word(id),
|
|
1087
|
+
uint64Word(charterOffset, "charterOffset"),
|
|
1088
|
+
uint64Word(signerOffset, "signerPubkeysOffset"),
|
|
1089
|
+
uint64Word(sigsOffset, "signaturesOffset"),
|
|
1090
|
+
uint64Word(BigInt(charter.length), "charterLength"),
|
|
1091
|
+
charterPadded,
|
|
1092
|
+
uint64Word(BigInt(signerPubkeys.length), "signerPubkeysLength"),
|
|
1093
|
+
signerPadded,
|
|
1094
|
+
uint64Word(BigInt(signatures.length), "signaturesLength"),
|
|
1095
|
+
sigsPadded
|
|
1096
|
+
)
|
|
1097
|
+
);
|
|
1098
|
+
}
|
|
1099
|
+
function encodeGetPendingCharterCalldata(clusterId) {
|
|
1100
|
+
return bytesToHex(
|
|
1101
|
+
concatBytes(hexToBytes(NODE_REGISTRY_SELECTORS.getPendingCharter), uint32Word(toUint32(clusterId, "clusterId")))
|
|
1102
|
+
);
|
|
1103
|
+
}
|
|
1104
|
+
function decodePendingCharter(returnData) {
|
|
1105
|
+
const bytes = toBytes(returnData);
|
|
1106
|
+
if (bytes.length < 5 * 32) {
|
|
1107
|
+
throw new NodeRegistryError("getPendingCharter return shorter than the 5-word head");
|
|
1108
|
+
}
|
|
1109
|
+
const word = (i) => bytes.slice(i * 32, (i + 1) * 32);
|
|
1110
|
+
const present = numberFromWord(word(0), "present", 1) === 1;
|
|
1111
|
+
const delegatorShareBps = numberFromWord(word(1), "delegatorShareBps", 65535);
|
|
1112
|
+
const effectiveEpoch = u64FromWord(word(2));
|
|
1113
|
+
const signerCount = numberFromWord(word(3), "signerCount", 65535);
|
|
1114
|
+
if (!present) {
|
|
1115
|
+
return { present: false, delegatorShareBps: 0, effectiveEpoch, signerCount: 0, memberShareBps: [] };
|
|
1116
|
+
}
|
|
1117
|
+
const bytesOffset = Number(u64FromWord(word(4)));
|
|
1118
|
+
const lenAt = bytesOffset;
|
|
1119
|
+
if (bytes.length < lenAt + 32) {
|
|
1120
|
+
throw new NodeRegistryError("getPendingCharter bytes-length word out of range");
|
|
1121
|
+
}
|
|
1122
|
+
const sharesLen = Number(u64FromWord(bytes.slice(lenAt, lenAt + 32)));
|
|
1123
|
+
const sharesAt = lenAt + 32;
|
|
1124
|
+
if (sharesLen < 32 || bytes.length < sharesAt + 32) {
|
|
1125
|
+
throw new NodeRegistryError("getPendingCharter packed-shares word truncated");
|
|
1126
|
+
}
|
|
1127
|
+
const packed = bytes.slice(sharesAt, sharesAt + 32);
|
|
1128
|
+
const memberShareBps = [];
|
|
1129
|
+
for (let i = 0; i < NODE_REGISTRY_FORM_CLUSTER_MEMBER_COUNT; i += 1) {
|
|
1130
|
+
const at = 12 + 2 * i;
|
|
1131
|
+
memberShareBps.push(packed[at] << 8 | packed[at + 1]);
|
|
1132
|
+
}
|
|
1133
|
+
return { present: true, delegatorShareBps, effectiveEpoch, signerCount, memberShareBps };
|
|
1134
|
+
}
|
|
1135
|
+
function encodeCommitArchiveRootCalldata(args) {
|
|
1136
|
+
const leafCount = toUint64(args.leafCount, "leafCount");
|
|
1137
|
+
if (leafCount < NODE_REGISTRY_MIN_ARCHIVE_LEAF_COUNT) {
|
|
1138
|
+
throw new NodeRegistryError(
|
|
1139
|
+
`leafCount must be >= ${NODE_REGISTRY_MIN_ARCHIVE_LEAF_COUNT} (MIN_ARCHIVE_LEAF_COUNT), got ${leafCount}`
|
|
1140
|
+
);
|
|
1141
|
+
}
|
|
1142
|
+
return bytesToHex(
|
|
1143
|
+
concatBytes(
|
|
1144
|
+
hexToBytes(NODE_REGISTRY_SELECTORS.commitArchiveRoot),
|
|
1145
|
+
expectLength2(toBytes(args.peerId), 32, "peerId"),
|
|
1146
|
+
uint16Word(args.shardIndex),
|
|
1147
|
+
expectLength2(toBytes(args.shardRoot), 32, "shardRoot"),
|
|
1148
|
+
uint64Word(leafCount, "leafCount")
|
|
1149
|
+
)
|
|
1150
|
+
);
|
|
1151
|
+
}
|
|
1152
|
+
function encodeAnswerArchiveChallengeCalldata(args) {
|
|
1153
|
+
const leaf = toBytes(args.leaf);
|
|
1154
|
+
const proof = args.proof.map((p, i) => expectLength2(toBytes(p), 32, `proof[${i}]`));
|
|
1155
|
+
if (proof.length > NODE_REGISTRY_MAX_MERKLE_PROOF_DEPTH) {
|
|
1156
|
+
throw new NodeRegistryError(
|
|
1157
|
+
`proof length must be <= ${NODE_REGISTRY_MAX_MERKLE_PROOF_DEPTH}, got ${proof.length}`
|
|
1158
|
+
);
|
|
1159
|
+
}
|
|
1160
|
+
const leafPadded = padToWord(leaf);
|
|
1161
|
+
const leafOffset = 5n * 32n;
|
|
1162
|
+
const proofOffset = leafOffset + 32n + BigInt(leafPadded.length);
|
|
1163
|
+
const proofTail = concatBytes(
|
|
1164
|
+
uint64Word(BigInt(proof.length), "proofLength"),
|
|
1165
|
+
...proof
|
|
1166
|
+
);
|
|
1167
|
+
return bytesToHex(
|
|
1168
|
+
concatBytes(
|
|
1169
|
+
hexToBytes(NODE_REGISTRY_SELECTORS.answerArchiveChallenge),
|
|
1170
|
+
expectLength2(toBytes(args.peerId), 32, "peerId"),
|
|
1171
|
+
uint16Word(args.shardIndex),
|
|
1172
|
+
uint64Word(args.epoch, "epoch"),
|
|
1173
|
+
uint64Word(leafOffset, "leafOffset"),
|
|
1174
|
+
uint64Word(proofOffset, "proofOffset"),
|
|
1175
|
+
uint64Word(BigInt(leaf.length), "leafLength"),
|
|
1176
|
+
leafPadded,
|
|
1177
|
+
proofTail
|
|
1178
|
+
)
|
|
1179
|
+
);
|
|
1180
|
+
}
|
|
1181
|
+
function slotEpochChallengeSeed(epoch) {
|
|
1182
|
+
const buf = new Uint8Array(1 + 8 + 1);
|
|
1183
|
+
buf[0] = NODE_REGISTRY_TAG_ARCHIVE_CHALLENGE;
|
|
1184
|
+
buf.set(u64BeBytes(toUint64(epoch, "epoch")), 1);
|
|
1185
|
+
buf[9] = NODE_REGISTRY_ARCHIVE_KIND_EPOCH_SEED;
|
|
1186
|
+
return bytesToHex(keccak_256(buf));
|
|
1187
|
+
}
|
|
1188
|
+
function protocolNonceForEpoch(seed, epoch) {
|
|
1189
|
+
const s = expectLength2(toBytes(seed), 32, "seed");
|
|
1190
|
+
const e = toUint64(epoch, "epoch");
|
|
1191
|
+
const digest = blake3(
|
|
1192
|
+
concatBytes(new TextEncoder().encode(NODE_REGISTRY_ARCHIVE_NONCE_DOMAIN), u64BeBytes(e), s)
|
|
1193
|
+
);
|
|
1194
|
+
let n = 0n;
|
|
1195
|
+
for (let i = 0; i < 8; i += 1) {
|
|
1196
|
+
n = n << 8n | BigInt(digest[i]);
|
|
1197
|
+
}
|
|
1198
|
+
return n;
|
|
1199
|
+
}
|
|
1200
|
+
function deriveArchiveChallenge(seed, opHash, shardIndex, epoch, leafCount) {
|
|
1201
|
+
const pinnedSeed = expectLength2(toBytes(seed), 32, "seed");
|
|
1202
|
+
const op = expectLength2(toBytes(opHash), 32, "opHash");
|
|
1203
|
+
const shard = expectUint16(shardIndex, "shardIndex");
|
|
1204
|
+
const e = toUint64(epoch, "epoch");
|
|
1205
|
+
const count = toUint64(leafCount, "leafCount");
|
|
1206
|
+
if (count === 0n) {
|
|
1207
|
+
return null;
|
|
1208
|
+
}
|
|
1209
|
+
const nonce = protocolNonceForEpoch(pinnedSeed, e);
|
|
1210
|
+
const challengeSeed = blake3(
|
|
1211
|
+
concatBytes(
|
|
1212
|
+
new TextEncoder().encode(NODE_REGISTRY_ARCHIVE_CHALLENGE_DOMAIN),
|
|
1213
|
+
pinnedSeed,
|
|
1214
|
+
op,
|
|
1215
|
+
u16BeBytes(shard),
|
|
1216
|
+
u64BeBytes(e),
|
|
1217
|
+
u64BeBytes(nonce)
|
|
1218
|
+
)
|
|
1219
|
+
);
|
|
1220
|
+
let idx = 0n;
|
|
1221
|
+
for (let i = 0; i < 8; i += 1) {
|
|
1222
|
+
idx = idx << 8n | BigInt(challengeSeed[i]);
|
|
1223
|
+
}
|
|
1224
|
+
return {
|
|
1225
|
+
opHash: bytesToHex(op),
|
|
1226
|
+
shardIndex: shard,
|
|
1227
|
+
leafIndex: idx % count,
|
|
1228
|
+
seed: bytesToHex(challengeSeed)
|
|
1229
|
+
};
|
|
1230
|
+
}
|
|
1231
|
+
function archiveMerkleLeafHash(leaf) {
|
|
1232
|
+
return blake3(concatBytes(Uint8Array.from([NODE_REGISTRY_MERKLE_LEAF_DOMAIN]), toBytes(leaf)));
|
|
1233
|
+
}
|
|
1234
|
+
function archiveMerkleInnerHash(left, right) {
|
|
1235
|
+
return blake3(
|
|
1236
|
+
concatBytes(
|
|
1237
|
+
Uint8Array.from([NODE_REGISTRY_MERKLE_INNER_DOMAIN]),
|
|
1238
|
+
expectLength2(toBytes(left), 32, "left"),
|
|
1239
|
+
expectLength2(toBytes(right), 32, "right")
|
|
1240
|
+
)
|
|
1241
|
+
);
|
|
1242
|
+
}
|
|
1243
|
+
function encodeSetProbeAuthorityCalldata(probeAuthority) {
|
|
1244
|
+
return bytesToHex(
|
|
1245
|
+
concatBytes(
|
|
1246
|
+
hexToBytes(NODE_REGISTRY_SELECTORS.setProbeAuthority),
|
|
1247
|
+
addressWord(probeAuthority, "probeAuthority")
|
|
1248
|
+
)
|
|
1249
|
+
);
|
|
1250
|
+
}
|
|
1251
|
+
function encodeGetProbeAuthorityCalldata() {
|
|
1252
|
+
return NODE_REGISTRY_SELECTORS.getProbeAuthority;
|
|
1253
|
+
}
|
|
1254
|
+
function decodeProbeAuthority(returnData) {
|
|
1255
|
+
const bytes = expectLength2(toBytes(returnData), 32, "probeAuthority");
|
|
1256
|
+
return bytesToHex(bytes.slice(12, 32));
|
|
1257
|
+
}
|
|
1258
|
+
function encodeAttestServiceProbeCalldata(args) {
|
|
1259
|
+
if (!isValidPublicServiceProbeMask(args.serviceMask)) {
|
|
1260
|
+
throw new NodeRegistryError(
|
|
1261
|
+
`serviceMask 0x${args.serviceMask.toString(16).padStart(8, "0")} is not a valid public-service mask`
|
|
1262
|
+
);
|
|
1263
|
+
}
|
|
1264
|
+
if (!isConcreteServiceProbeStatus(args.status)) {
|
|
1265
|
+
throw new NodeRegistryError(`status ${args.status} is not a concrete service-probe outcome`);
|
|
1266
|
+
}
|
|
1267
|
+
return bytesToHex(
|
|
1268
|
+
concatBytes(
|
|
1269
|
+
hexToBytes(NODE_REGISTRY_SELECTORS.attestServiceProbe),
|
|
1270
|
+
expectLength2(toBytes(args.opHash), 32, "opHash"),
|
|
1271
|
+
uint32Word(args.serviceMask),
|
|
1272
|
+
uint8Word(args.status),
|
|
1273
|
+
uint64Word(args.epoch, "epoch")
|
|
1274
|
+
)
|
|
1275
|
+
);
|
|
1276
|
+
}
|
|
1277
|
+
function slotClusterServiceScore(clusterId) {
|
|
1278
|
+
return scoreSlotHex(0, u32BeBytes(toUint32(clusterId, "clusterId")));
|
|
1279
|
+
}
|
|
1280
|
+
function slotArchiveChallengePass(clusterId, epoch) {
|
|
1281
|
+
return scoreSlotHex(
|
|
1282
|
+
1,
|
|
1283
|
+
concatBytes(u32BeBytes(toUint32(clusterId, "clusterId")), u64BeBytes(toUint64(epoch, "epoch")))
|
|
1284
|
+
);
|
|
1285
|
+
}
|
|
1286
|
+
function slotScoreServiceProbe(opHash, serviceBit) {
|
|
1287
|
+
if (!Number.isInteger(serviceBit) || serviceBit < 0 || serviceBit > 255) {
|
|
1288
|
+
throw new NodeRegistryError("serviceBit must be a u8 bit index");
|
|
1289
|
+
}
|
|
1290
|
+
return scoreSlotHex(
|
|
1291
|
+
2,
|
|
1292
|
+
concatBytes(expectLength2(toBytes(opHash), 32, "opHash"), Uint8Array.from([serviceBit]))
|
|
1293
|
+
);
|
|
1294
|
+
}
|
|
1295
|
+
function serviceMaskToBitIndex(mask) {
|
|
1296
|
+
if (!Number.isInteger(mask) || mask <= 0 || (mask & mask - 1) !== 0) {
|
|
1297
|
+
return null;
|
|
1298
|
+
}
|
|
1299
|
+
let bit = 0;
|
|
1300
|
+
let m = mask >>> 0;
|
|
1301
|
+
while ((m & 1) === 0) {
|
|
1302
|
+
m >>>= 1;
|
|
1303
|
+
bit += 1;
|
|
1304
|
+
}
|
|
1305
|
+
return bit;
|
|
1306
|
+
}
|
|
1307
|
+
function decodeScoreServiceProbe(word) {
|
|
1308
|
+
const bytes = expectLength2(toBytes(word), 32, "scoreServiceProbeWord");
|
|
1309
|
+
const status = bytes[31];
|
|
1310
|
+
let packed = 0n;
|
|
1311
|
+
for (const b of bytes) {
|
|
1312
|
+
packed = packed << 8n | BigInt(b);
|
|
1313
|
+
}
|
|
1314
|
+
return { epoch: packed >> 8n, status };
|
|
1315
|
+
}
|
|
1316
|
+
function slotProbeAuthority() {
|
|
1317
|
+
const buf = new Uint8Array(1 + 32 + 1);
|
|
1318
|
+
buf[0] = NODE_REGISTRY_TAG_TREASURY;
|
|
1319
|
+
buf[33] = 10;
|
|
1320
|
+
return bytesToHex(keccak_256(buf));
|
|
1321
|
+
}
|
|
840
1322
|
function decodeClusterJoinRequest(returnData) {
|
|
841
1323
|
const bytes = expectLength2(toBytes(returnData), 8 * 32, "clusterJoinRequest");
|
|
842
1324
|
const word = (i) => bytes.slice(i * 32, (i + 1) * 32);
|
|
@@ -1015,6 +1497,43 @@ function u16BeBytes(value) {
|
|
|
1015
1497
|
}
|
|
1016
1498
|
return Uint8Array.from([value >>> 8 & 255, value & 255]);
|
|
1017
1499
|
}
|
|
1500
|
+
function expectUint16(value, name) {
|
|
1501
|
+
if (!Number.isInteger(value) || value < 0 || value > 65535) {
|
|
1502
|
+
throw new NodeRegistryError(`${name} must be a uint16`);
|
|
1503
|
+
}
|
|
1504
|
+
return value;
|
|
1505
|
+
}
|
|
1506
|
+
function uint16Word(value) {
|
|
1507
|
+
const out = new Uint8Array(32);
|
|
1508
|
+
out.set(u16BeBytes(value), 30);
|
|
1509
|
+
return out;
|
|
1510
|
+
}
|
|
1511
|
+
function addressWord(value, name) {
|
|
1512
|
+
const addr = expectLength2(toBytes(value), 20, name);
|
|
1513
|
+
const out = new Uint8Array(32);
|
|
1514
|
+
out.set(addr, 12);
|
|
1515
|
+
return out;
|
|
1516
|
+
}
|
|
1517
|
+
function flattenFixedWidth(value, width, name) {
|
|
1518
|
+
let flat;
|
|
1519
|
+
if (Array.isArray(value) && value.length > 0 && typeof value[0] !== "number") {
|
|
1520
|
+
const parts = value.map(
|
|
1521
|
+
(v, i) => expectLength2(toBytes(v), width, `${name}[${i}]`)
|
|
1522
|
+
);
|
|
1523
|
+
flat = concatBytes(...parts);
|
|
1524
|
+
} else {
|
|
1525
|
+
flat = toBytes(value);
|
|
1526
|
+
}
|
|
1527
|
+
if (flat.length === 0 || flat.length % width !== 0) {
|
|
1528
|
+
throw new NodeRegistryError(`${name} must be a non-empty multiple of ${width} bytes, got ${flat.length}`);
|
|
1529
|
+
}
|
|
1530
|
+
return flat;
|
|
1531
|
+
}
|
|
1532
|
+
function scoreSlotHex(kind, tail) {
|
|
1533
|
+
return bytesToHex(
|
|
1534
|
+
keccak_256(concatBytes(Uint8Array.from([NODE_REGISTRY_TAG_SERVICE_SCORE, kind]), tail))
|
|
1535
|
+
);
|
|
1536
|
+
}
|
|
1018
1537
|
function compareBytes(a, b) {
|
|
1019
1538
|
const len = Math.min(a.length, b.length);
|
|
1020
1539
|
for (let i = 0; i < len; i++) {
|
|
@@ -3542,7 +4061,7 @@ function encodeStringAddressCall(selector, name, address) {
|
|
|
3542
4061
|
hexToBytes4(selector),
|
|
3543
4062
|
// Two head words (string offset, address) → string tail starts at 0x40.
|
|
3544
4063
|
uint256Word(0x40n),
|
|
3545
|
-
|
|
4064
|
+
addressWord2(address),
|
|
3546
4065
|
uint256Word(BigInt(nameBytes.length)),
|
|
3547
4066
|
padTo32(nameBytes)
|
|
3548
4067
|
)
|
|
@@ -3566,7 +4085,7 @@ function selectorHex2(signature) {
|
|
|
3566
4085
|
const sel = keccak_256(new TextEncoder().encode(signature)).slice(0, 4);
|
|
3567
4086
|
return `0x${[...sel].map((b) => b.toString(16).padStart(2, "0")).join("")}`;
|
|
3568
4087
|
}
|
|
3569
|
-
function
|
|
4088
|
+
function addressWord2(value) {
|
|
3570
4089
|
const out = new Uint8Array(32);
|
|
3571
4090
|
if (value == null) return out;
|
|
3572
4091
|
const bytes = toBytes2(value);
|
|
@@ -6110,7 +6629,7 @@ function encodeSetBridgeRouteFinalityCalldata(bridgeId, finalityBlocks) {
|
|
|
6110
6629
|
function bridgeSelector(signature) {
|
|
6111
6630
|
return keccak_256(new TextEncoder().encode(signature)).slice(0, 4);
|
|
6112
6631
|
}
|
|
6113
|
-
function
|
|
6632
|
+
function addressWord3(value, name) {
|
|
6114
6633
|
const addr = expectLength3(toBytes3(value), 20, name);
|
|
6115
6634
|
const out = new Uint8Array(32);
|
|
6116
6635
|
out.set(addr, 12);
|
|
@@ -6129,7 +6648,7 @@ function encodeBridgeClaimCalldata(bridgeId, depositId, recipient) {
|
|
|
6129
6648
|
bridgeSelector("claim(bytes32,bytes32,address)"),
|
|
6130
6649
|
expectLength3(toBytes3(bridgeId), 32, "bridgeId"),
|
|
6131
6650
|
expectLength3(toBytes3(depositId), 32, "depositId"),
|
|
6132
|
-
|
|
6651
|
+
addressWord3(recipient, "recipient")
|
|
6133
6652
|
)
|
|
6134
6653
|
);
|
|
6135
6654
|
}
|
|
@@ -9123,8 +9642,8 @@ function encodeTokenFactoryTransferFromCalldata(tokenId, from, to, amount) {
|
|
|
9123
9642
|
concatBytes2(
|
|
9124
9643
|
hexToBytes2(TOKEN_FACTORY_SELECTORS.transferFrom, "transferFrom selector"),
|
|
9125
9644
|
bytes32(tokenId, "tokenId"),
|
|
9126
|
-
|
|
9127
|
-
|
|
9645
|
+
addressWord4(from, "from"),
|
|
9646
|
+
addressWord4(to, "to"),
|
|
9128
9647
|
uint256Word2(parseUint(amount, "amount"), "amount")
|
|
9129
9648
|
)
|
|
9130
9649
|
);
|
|
@@ -9146,8 +9665,8 @@ function encodeTokenFactoryAllowanceCalldata(tokenId, owner, spender) {
|
|
|
9146
9665
|
concatBytes2(
|
|
9147
9666
|
hexToBytes2(TOKEN_FACTORY_SELECTORS.allowance, "allowance selector"),
|
|
9148
9667
|
bytes32(tokenId, "tokenId"),
|
|
9149
|
-
|
|
9150
|
-
|
|
9668
|
+
addressWord4(owner, "owner"),
|
|
9669
|
+
addressWord4(spender, "spender")
|
|
9151
9670
|
)
|
|
9152
9671
|
);
|
|
9153
9672
|
}
|
|
@@ -9214,7 +9733,7 @@ function encodeBytes32Address(selector, tokenId, address) {
|
|
|
9214
9733
|
concatBytes2(
|
|
9215
9734
|
hexToBytes2(selector, "selector"),
|
|
9216
9735
|
bytes32(tokenId, "tokenId"),
|
|
9217
|
-
|
|
9736
|
+
addressWord4(address, "address")
|
|
9218
9737
|
)
|
|
9219
9738
|
);
|
|
9220
9739
|
}
|
|
@@ -9223,7 +9742,7 @@ function encodeBytes32AddressUint(selector, tokenId, address, amount) {
|
|
|
9223
9742
|
concatBytes2(
|
|
9224
9743
|
hexToBytes2(selector, "selector"),
|
|
9225
9744
|
bytes32(tokenId, "tokenId"),
|
|
9226
|
-
|
|
9745
|
+
addressWord4(address, "address"),
|
|
9227
9746
|
uint256Word2(parseUint(amount, "amount"), "amount")
|
|
9228
9747
|
)
|
|
9229
9748
|
);
|
|
@@ -9249,7 +9768,7 @@ function padTo323(bytes) {
|
|
|
9249
9768
|
out.set(bytes);
|
|
9250
9769
|
return out;
|
|
9251
9770
|
}
|
|
9252
|
-
function
|
|
9771
|
+
function addressWord4(value, label) {
|
|
9253
9772
|
const out = new Uint8Array(32);
|
|
9254
9773
|
out.set(addressBytes(value, label), 12);
|
|
9255
9774
|
return out;
|
|
@@ -9764,7 +10283,7 @@ function encodeDelegateCalldata(cluster, weightBps) {
|
|
|
9764
10283
|
concatBytes8(
|
|
9765
10284
|
hexToBytes8(DELEGATION_SELECTORS.delegate),
|
|
9766
10285
|
uint32Word2(cluster, "cluster"),
|
|
9767
|
-
|
|
10286
|
+
uint16Word2(weightBps, "weightBps")
|
|
9768
10287
|
)
|
|
9769
10288
|
);
|
|
9770
10289
|
}
|
|
@@ -9782,7 +10301,7 @@ function encodeRedelegateCalldata(fromCluster, toCluster, weightBps) {
|
|
|
9782
10301
|
hexToBytes8(DELEGATION_SELECTORS.redelegate),
|
|
9783
10302
|
uint32Word2(fromCluster, "fromCluster"),
|
|
9784
10303
|
uint32Word2(toCluster, "toCluster"),
|
|
9785
|
-
|
|
10304
|
+
uint16Word2(weightBps, "weightBps")
|
|
9786
10305
|
)
|
|
9787
10306
|
);
|
|
9788
10307
|
}
|
|
@@ -9812,7 +10331,7 @@ function uint32Word2(value, name) {
|
|
|
9812
10331
|
}
|
|
9813
10332
|
return out;
|
|
9814
10333
|
}
|
|
9815
|
-
function
|
|
10334
|
+
function uint16Word2(value, name) {
|
|
9816
10335
|
const n = toBigint3(value, name);
|
|
9817
10336
|
if (n < 0n || n > 0xffffn) {
|
|
9818
10337
|
throw new DelegationPrecompileError(`${name} must fit uint16`);
|
|
@@ -10223,9 +10742,9 @@ function decodeHasPubkeyReturn(data) {
|
|
|
10223
10742
|
throw new PubkeyRegistryError("hasPubkey bool must be 0 or 1");
|
|
10224
10743
|
}
|
|
10225
10744
|
function encodeSingleAddressCall2(selector, address) {
|
|
10226
|
-
return bytesToHex11(concatBytes10(hexToBytes10(selector),
|
|
10745
|
+
return bytesToHex11(concatBytes10(hexToBytes10(selector), addressWord5(toAddressBytes(address))));
|
|
10227
10746
|
}
|
|
10228
|
-
function
|
|
10747
|
+
function addressWord5(address) {
|
|
10229
10748
|
return concatBytes10(new Uint8Array(12), address);
|
|
10230
10749
|
}
|
|
10231
10750
|
function toAddressBytes(value) {
|
|
@@ -10434,7 +10953,7 @@ function encodePlaceMarketOrderCalldata(args) {
|
|
|
10434
10953
|
normalized.quoteTokenId,
|
|
10435
10954
|
uint8Word2(normalized.side),
|
|
10436
10955
|
uint256Word5(normalized.quantity, "quantity"),
|
|
10437
|
-
|
|
10956
|
+
uint16Word3(normalized.maxSlippageBps, "maxSlippageBps")
|
|
10438
10957
|
)
|
|
10439
10958
|
);
|
|
10440
10959
|
}
|
|
@@ -10447,7 +10966,7 @@ function encodePlaceMarketOrderExCalldata(args) {
|
|
|
10447
10966
|
normalized.quoteTokenId,
|
|
10448
10967
|
uint8Word2(normalized.side),
|
|
10449
10968
|
uint256Word5(normalized.quantity, "quantity"),
|
|
10450
|
-
|
|
10969
|
+
uint16Word3(normalized.maxSlippageBps, "maxSlippageBps"),
|
|
10451
10970
|
uint8Word2(normalized.mode)
|
|
10452
10971
|
)
|
|
10453
10972
|
);
|
|
@@ -10754,7 +11273,7 @@ function encodePlaceLimitOrderViaCalldata(args) {
|
|
|
10754
11273
|
return bytesToHex2(
|
|
10755
11274
|
concatBytes2(
|
|
10756
11275
|
hexToBytes2(OPERATOR_ROUTER_SELECTORS.placeLimitOrderVia, "placeLimitOrderVia selector"),
|
|
10757
|
-
|
|
11276
|
+
addressWord6(operator.bytes),
|
|
10758
11277
|
bytes32FromHex(args.base, "base"),
|
|
10759
11278
|
bytes32FromHex(args.quote, "quote"),
|
|
10760
11279
|
uint8Word2(side),
|
|
@@ -11062,7 +11581,7 @@ function uint64Word3(value, name) {
|
|
|
11062
11581
|
}
|
|
11063
11582
|
return out;
|
|
11064
11583
|
}
|
|
11065
|
-
function
|
|
11584
|
+
function uint16Word3(value, name) {
|
|
11066
11585
|
if (value < 0n || value > 0xffffn) {
|
|
11067
11586
|
throw new MarketActionError(`${name} must fit uint16`);
|
|
11068
11587
|
}
|
|
@@ -11083,7 +11602,7 @@ function uint256Word5(value, name) {
|
|
|
11083
11602
|
}
|
|
11084
11603
|
return out;
|
|
11085
11604
|
}
|
|
11086
|
-
function
|
|
11605
|
+
function addressWord6(addr) {
|
|
11087
11606
|
if (addr.length !== 20) {
|
|
11088
11607
|
throw new MarketActionError("address must be 20 bytes");
|
|
11089
11608
|
}
|
|
@@ -11625,6 +12144,6 @@ var MONOLYTHIUM_NETWORKS = {
|
|
|
11625
12144
|
// src/index.ts
|
|
11626
12145
|
var version = "0.4.8";
|
|
11627
12146
|
|
|
11628
|
-
export { ADDRESS_HRP, ADDRESS_KIND_HRPS, API_STREAM_TOPICS, AddressError, AgentActionError, ApiClient, BRIDGE_QUOTE_API_BLOCKED_REASON, BRIDGE_REVERT_TAGS, BRIDGE_SELECTORS, BRIDGE_SUBMIT_API_BLOCKED_REASON, BURN_ADDR, BridgePrecompileError, BridgeRouteCatalogueError, CHAIN_REGISTRY, CHAIN_REGISTRY_RAW_BASE, CLOB_MARKET_ID_DOMAIN_TAG, CLOB_SELECTORS, CLUSTER_FORMED_EVENT_SIG, DEFAULT_CLUSTER_JOIN_EXECUTION_UNIT_LIMIT, DEFAULT_OPERATOR_SEAL_KEY_EXECUTION_UNIT_LIMIT, DELEGATION_REVERT_TAGS, DELEGATION_SELECTORS, DIVERSITY_SCORE_MAX, DelegationPrecompileError, EMPTY_ROOT, EXECUTION_UNIT_PRICE_SAFETY_MULTIPLIER, FEED_ID_DOMAIN_TAG, LYTHOSHI_PER_LYTH, LYTH_DECIMALS, MAX_MULTISIG_MEMBERS, MAX_NATIVE_CALL_FORWARDER_REQUEST_BYTES, MAX_NATIVE_RECEIPT_EVENTS, MIN_EXECUTION_UNIT_PRICE_LYTHOSHI, MIN_MULTISIG_MEMBERS, ML_DSA_65_PUBLIC_KEY_LEN2 as ML_DSA_65_PUBLIC_KEY_LEN, ML_DSA_65_SIGNATURE_LEN2 as ML_DSA_65_SIGNATURE_LEN, MONOLYTHIUM_NETWORKS, MONOLYTHIUM_TESTNET_CHAIN_ID, MONOLYTHIUM_TESTNET_NETWORK_NAME, MRV_DEPLOY_PAYLOAD_VERSION, MRV_FORMAT_VERSION, MRV_MAX_ABI_SYMBOLS, MRV_MAX_CODE_BYTES, MRV_MAX_DEBUG_BYTES, MRV_MAX_MEMORY_PAGES, MRV_MAX_STORAGE_NAMESPACE_BYTES, MRV_MEMORY_PAGE_BYTES, MRV_PROFILE_MONO_RV32IM_V1, MRV_STRUCTURED_FEE_FIELDS, MRV_TX_EXTENSION_KIND, MRV_TX_EXTENSION_V1, MULTISIG_ADDRESS_DERIVATION_DOMAIN, MULTISIG_ADDRESS_DERIVATION_DOMAIN2 as MULTISIG_WITNESS_ADDRESS_DERIVATION_DOMAIN, MULTISIG_WITNESS_DOMAIN, MarketActionError, MrvValidationError, MultisigError, NAME_BASE_MULTIPLIER, NAME_FALLBACK_FEE_UNIT_LYTHOSHI, NAME_LABEL_MAX_LEN, NAME_LABEL_MIN_LEN, NAME_MAX_LEN, NAME_REGISTRY_SELECTORS, NATIVE_AGENT_MODULE_ADDRESS, NATIVE_AGENT_MODULE_ADDRESS_BYTES, NATIVE_CALL_FORWARDER_ARTIFACT_PROFILE, NATIVE_CALL_FORWARDER_RESPONSE_CAPACITY, NATIVE_CALL_FORWARDER_RESPONSE_OFFSET, NATIVE_DEV_HOST_API_VERSION, NATIVE_DEV_IPC_PROTOCOL_VERSION, NATIVE_DEV_MANIFEST_SCHEMA_VERSION, NATIVE_LYTH_DECIMALS, NATIVE_MARKET_EVENT_FAMILY, NATIVE_MARKET_MODULE_ADDRESS, NATIVE_MARKET_MODULE_ADDRESS_BYTES, NATIVE_MARKET_ORDER_BOOK_STREAM_TOPIC, NODE_REGISTRY_BLS_PUBKEY_BYTES, NODE_REGISTRY_CAPABILITIES, NODE_REGISTRY_CAPABILITY_MASK, NODE_REGISTRY_CLUSTER_MEMBER_REF_BYTES, NODE_REGISTRY_CONSENSUS_POP_BYTES, NODE_REGISTRY_CONSENSUS_PUBKEY_BYTES, NODE_REGISTRY_CONSENSUS_SIGNATURE_BYTES, NODE_REGISTRY_DKG_ATTESTATION_SIG_BYTES, NODE_REGISTRY_DKG_RESHARE_MAX_SIGNERS, NODE_REGISTRY_DKG_RESHARE_MIN_SIGNERS, NODE_REGISTRY_DKG_THRESHOLD_SIG_BYTES, NODE_REGISTRY_FORM_CLUSTER_ACTIVE_COUNT, NODE_REGISTRY_FORM_CLUSTER_MEMBER_COUNT, NODE_REGISTRY_FORM_CLUSTER_MESSAGE_DOMAIN, NODE_REGISTRY_FORM_CLUSTER_STANDBY_COUNT, NODE_REGISTRY_FORM_CLUSTER_THRESHOLD, NODE_REGISTRY_LEGACY_CLUSTER_MEMBER_PUBKEY_BYTES, NODE_REGISTRY_OPERATOR_ALIAS_MAX_BYTES, NODE_REGISTRY_OPERATOR_MONIKER_MAX_BYTES, NODE_REGISTRY_OPERATOR_SEAL_EK_BYTES, NODE_REGISTRY_PENDING_CHANGE_MAX_INTENT_ID, NODE_REGISTRY_PUBLIC_SERVICE_MASK, NODE_REGISTRY_SELECTORS, NO_EVM_ARCHIVE_PROOF_SCHEMA, NO_EVM_ARCHIVE_SIGNATURE_SCHEME, NO_EVM_FINALITY_EVIDENCE_SCHEMA, NO_EVM_FINALITY_EVIDENCE_SOURCE, NO_EVM_RECEIPTS_ROOT_DOMAIN, NO_EVM_RECEIPT_CODEC, NO_EVM_RECEIPT_PROOF_SCHEMA, NO_EVM_RECEIPT_PROOF_TYPE, NO_EVM_RECEIPT_ROOT_ALGORITHM, NameRegistryError, NoEvmReceiptProofError, NodeRegistryError, OPERATOR_ROUTER_ADDRESS, OPERATOR_ROUTER_EVENT_SIGS, OPERATOR_ROUTER_SELECTORS, OPERATOR_ROUTER_SIGS, ORACLE_EVENT_SIGS, OracleEventError, PENDING_CHANGE_KIND_CODES, PRECOMPILE_ADDRESSES, PROTOCOL_MAX_OPERATOR_FEE_BPS, PROVER_MARKET_ADDRESS, PROVER_MARKET_BID_DOMAIN, PROVER_MARKET_EVENT_SIGS, PROVER_MARKET_REQUEST_DOMAIN, PROVER_MARKET_SELECTORS, PROVER_MARKET_SUBMIT_DOMAIN, PROVER_SLASH_REASON_BAD_PROOF, PROVER_SLASH_REASON_NON_DELIVERY, PUBKEY_REGISTRY_ML_DSA_65_PUBLIC_KEY_LEN, PUBKEY_REGISTRY_SELECTORS, ProverMarketError, PubkeyRegistryError, REGISTRY_DEFAULT_EXECUTION_UNIT_LIMIT, RESERVED_ADDRESS_HRPS, RpcClient, SERVES_GPU_PROVE, SERVICE_PROBE_STATUS, SET_POLICY_CLAIM_DOMAIN_TAG, SPENDING_POLICY_SELECTORS, SdkError, SpendingPolicyError, TESTNET_69420, TOKEN_FACTORY_CREATE_DEPOSIT_LYTHOSHI, TOKEN_FACTORY_FLAGS, TOKEN_FACTORY_KNOWN_FLAG_MASK, TOKEN_FACTORY_MAX_CREATOR_FEE_BPS, TOKEN_FACTORY_MAX_DECIMALS, TOKEN_FACTORY_NAME_MAX_BYTES, TOKEN_FACTORY_SELECTORS, TOKEN_FACTORY_SIGS, TOKEN_FACTORY_SYMBOL_MAX_BYTES, TOKEN_FACTORY_TOKEN_ID_DOMAIN_TAG, TRANSFER_DEFAULT_EXECUTION_UNIT_LIMIT, TX_EXTENSION_KIND_MULTISIG, TX_EXTENSION_MULTISIG_V1, TokenFactoryError, V1_BRIDGE_ALLOWED_FEE_TOKEN, V1_BRIDGE_ALLOWED_PROTOCOL, VRF_DOMAIN_TAG_MAX_BYTES, VRF_HEIGHT_NOT_FINALIZED_REVERT, VRF_OUTPUT_BYTES, VrfCallError, addressBytesToHex, addressToBech32, addressToTypedBech32, allowRootFor, apiEndpointFromRpcEndpoint, assembleMultisigSigned, assembleMultisigWitness, assertMrvCallNativeSubmissionPlan, assertMrvDeployNativeSubmissionPlan, assertMrvFeeDisplayConformance, assertMrvStructuredFeeConformance, assertNativeDevMrcTokenPlan, assertNativeDevMrvDeployPlan, assertNativeDevWalletApprovalRequest, assertNativeMarketOrderBookStreamPayload, assessBridgeRoute, bech32ToAddress, bech32ToAddressBytes, bidSighash, bridgeAddressHex, bridgeDrainRemaining, bridgeQuoteSubmitReadiness, bridgeRoutesReadiness, bridgeTransferCandidates, buildBridgeRouteCatalogue, buildCancelSpotOrderPlan, buildMrvCallNativeTxPlan, buildMrvCallPlan, buildMrvCallRequest, buildMrvDeployNativeTxPlan, buildMrvDeployPayloadNativeTxPlan, buildMrvDeployPayloadPlan, buildMrvDeployPayloadRequest, buildMrvDeployPlan, buildMrvDeployRequest, buildNativeAgentCreateEscrowForwarderInput, buildNativeAgentCreateEscrowModuleCall, buildNativeAgentModuleCallEnvelope, buildNativeAgentRecordReputationForwarderInput, buildNativeAgentRecordReputationModuleCall, buildNativeAgentSetSpendingPolicyForwarderInput, buildNativeAgentSetSpendingPolicyModuleCall, buildNativeCallForwarderArtifact, buildNativeMarketModuleCallEnvelope, buildNativeNftBuyListingForwarderInput, buildNativeNftBuyListingModuleCall, buildNativeNftCancelListingForwarderInput, buildNativeNftCancelListingModuleCall, buildNativeNftCreateListingForwarderInput, buildNativeNftCreateListingModuleCall, buildNativeNftPlaceAuctionBidForwarderInput, buildNativeNftPlaceAuctionBidModuleCall, buildNativeNftSettleAuctionForwarderInput, buildNativeNftSettleAuctionModuleCall, buildNativeNftSweepExpiredListingsForwarderInput, buildNativeNftSweepExpiredListingsModuleCall, buildNativeSpotCancelOrderForwarderInput, buildNativeSpotCancelOrderModuleCall, buildNativeSpotCreateMarketForwarderInput, buildNativeSpotCreateMarketModuleCall, buildNativeSpotLimitOrderForwarderInput, buildNativeSpotLimitOrderModuleCall, buildNativeSpotSettleLimitOrderForwarderInput, buildNativeSpotSettleLimitOrderModuleCall, buildNativeSpotSettleRoutedLimitOrderForwarderInput, buildNativeSpotSettleRoutedLimitOrderModuleCall, buildPlaceLimitOrderViaPlan, buildPlaceSpotLimitOrderPlan, buildPlaceSpotMarketOrderExPlan, buildPlaceSpotMarketOrderPlan, buildPublishOperatorSealKeyTxFields, buildRequestClusterJoinTxFields, buildVoteClusterAdmitTxFields, categoryRoot, checkMrvFeeDisplayConformance, checkMrvStructuredFeeConformance, checkNativeDevkitCompatibility, clampPriorityTip, clobAddressHex, clusterApyPercent, clusterJoinRequestExists, compareNativeDevVersions, composeClaimBoundMessage, computeNoEvmDacFinalityMessage, computeNoEvmLeaderFinalityMessage, computeNoEvmReceiptsRoot, computeNoEvmRoundFinalityMessage, computeNoEvmTargetReceiptHash, computeQuoteLiquidity, consumeNativeEvents, decodeClusterDiversity, decodeClusterFormedEvent, decodeClusterJoinRequest, decodeHasPubkeyReturn, decodeLookupPubkeyReturn, decodeNativeAgentStateResponse, decodeNativeMarketOrderBookDeltasResponse, decodeNativeReceiptResponse, decodeNoEvmReceiptTranscript, decodeOperatorFeeChargedEvent, decodeOperatorNetworkMetadata, decodeOperatorSealKey, decodeOracleEvent, decodeTimeWindow, decodeTokenFactoryTokenId, decodeTxFeedResponse, decodeVrfOutput, delegationAddressHex, denyRootFor, deriveClobMarketId, deriveClusterAnchorAddress, deriveClusterJoinOperatorId, deriveFeedId, deriveMrvContractAddress, deriveMultisigAddress, deriveMultisigAddressBytes, deriveNativeSpotMarketId, deriveNativeSpotOrderId, deriveTokenFactoryTokenId, destinationRoot, encodeAttestDkgReshareCalldata, encodeBlockSelector, encodeBridgeChallengeCalldata, encodeBridgeClaimCalldata, encodeCancelClusterJoinCalldata, encodeCancelOrderCalldata, encodeCancelPendingChangeCalldata, encodeClaimCalldata, encodeClaimPolicyByAddressCalldata, encodeCreateFixedSupplyMrc20Calldata, encodeCreateRequestCalldata, encodeCreateRequestCanonical, encodeCreateTokenCalldata, encodeDelegateCalldata, encodeDisableCalldata, encodeEnableCalldata, encodeExpireClusterJoinCalldata, encodeFormClusterCalldata, encodeGetClusterJoinRequestCalldata, encodeGetOperatorSealKeyCalldata, encodeHasPubkeyCalldata, encodeLockBridgeConfigCalldata, encodeLookupPubkeyCalldata, encodeMrvDeployPayload, encodeMultisigWitnessBody, encodeNameAcceptTransferCall, encodeNameProposeTransferCall, encodeNameRegisterCall, encodeNativeAgentAcceptEscrowCall, encodeNativeAgentApproveEscrowCall, encodeNativeAgentArbiterGetCall, encodeNativeAgentAttestationGetCall, encodeNativeAgentAvailabilityGetCall, encodeNativeAgentCancelEscrowCall, encodeNativeAgentCloseAvailabilityCall, encodeNativeAgentConsentGetCall, encodeNativeAgentCounterEscrowCall, encodeNativeAgentCreateEscrowCall, encodeNativeAgentDeactivateServiceCall, encodeNativeAgentDisputeEscrowCall, encodeNativeAgentEscrowGetCall, encodeNativeAgentGrantConsentCall, encodeNativeAgentIssueAttestationCall, encodeNativeAgentIssuerGetCall, encodeNativeAgentListServiceCall, encodeNativeAgentModuleForwarderInput, encodeNativeAgentOpenAvailabilityCall, encodeNativeAgentRecordPolicySpendCall, encodeNativeAgentRecordReputationCall, encodeNativeAgentRegisterArbiterCall, encodeNativeAgentRegisterIssuerCall, encodeNativeAgentReputationGetCall, encodeNativeAgentResolveEscrowCall, encodeNativeAgentRevokeAttestationCall, encodeNativeAgentRevokeConsentCall, encodeNativeAgentServiceGetCall, encodeNativeAgentSetAvailabilityCall, encodeNativeAgentSetSpendingPolicyCall, encodeNativeAgentSpendingPolicyGetCall, encodeNativeAgentStartEscrowCall, encodeNativeAgentSubmitEscrowCall, encodeNativeMarketModuleForwarderInput, encodeNativeNftBuyListingCall, encodeNativeNftCancelListingCall, encodeNativeNftCreateListingCall, encodeNativeNftPlaceAuctionBidCall, encodeNativeNftSettleAuctionCall, encodeNativeNftSweepExpiredListingsCall, encodeNativeSpotCancelOrderCall, encodeNativeSpotCreateMarketCall, encodeNativeSpotLimitOrderCall, encodeNativeSpotSettleLimitOrderCall, encodeNativeSpotSettleRoutedLimitOrderCall, encodePlaceLimitOrderCalldata, encodePlaceLimitOrderViaCalldata, encodePlaceMarketOrderCalldata, encodePlaceMarketOrderExCalldata, encodePublishOperatorSealKeyCalldata, encodeRecoverOperatorNodeCalldata, encodeRedelegateCalldata, encodeRegisterPubkeyCalldata, encodeReportServiceProbeCalldata, encodeRequestClusterJoinCalldata, encodeSetAutoCompoundCalldata, encodeSetBridgeResumeCooldownCalldata, encodeSetBridgeRouteFinalityCalldata, encodeSetLotSizeCalldata, encodeSetMinNotionalCalldata, encodeSetOperatorDisplayCalldata, encodeSetPolicyCalldata, encodeSetPolicyClaimCalldata, encodeSetTickSizeCalldata, encodeSubmitBridgeProofCalldata, encodeSubmitPendingChangeCalldata, encodeTokenFactoryAllowanceCalldata, encodeTokenFactoryApproveCalldata, encodeTokenFactoryBalanceOfCalldata, encodeTokenFactoryBurnCalldata, encodeTokenFactoryDecreaseAllowanceCalldata, encodeTokenFactoryDestroyCalldata, encodeTokenFactoryIncreaseAllowanceCalldata, encodeTokenFactoryMetadataCalldata, encodeTokenFactoryMintCalldata, encodeTokenFactorySetPausedCalldata, encodeTokenFactoryTotalSupplyCalldata, encodeTokenFactoryTransferCalldata, encodeTokenFactoryTransferFromCalldata, encodeTokenFactoryTransferOwnershipCalldata, encodeUndelegateCalldata, encodeVoteClusterAdmitCalldata, encodeVrfEvaluateCalldata, exportBridgeRouteCatalogueJson, fetchChainInfoLatest, fetchChainRegistryLatest, formClusterMessage, formClusterMessageHex, formatLyth, formatLythoshi, formatNativeReceiptFeeDisplay, formatOraclePrice, getChainInfo, getNoEvmReceiptTrustPolicy, getP2pSeeds, getRpcEndpoints, hexToAddressBytes, isBridgeAdminLockedRevert, isBridgeCooldownZeroRevert, isBridgeFinalityZeroRevert, isBridgeResumeCooldownActiveRevert, isConcreteServiceProbeStatus, isNativeDecodedEvent, isNativeMarketOrderBookStreamPayload, isSinglePublicServiceProbeMask, isUnexpectedValueRevert, isValidNodeRegistryCapabilities, isValidPublicServiceProbeMask, mrvAddressToBech32, mrvBech32ToAddress, mrvCodeHashHex, mrvV1TransactionExtension, multisigBaseSighash, multisigMemberIndex, nameLengthModifierX10, nameRegistrationCost, nameRegistryAddressHex, nativeAgentStateFilterParams, nativeDevSchemaFieldNames, nativeDevUiStrings, nativeEventMatches, nativeEventsFilterParams, nativeEventsFromHistory, nativeEventsFromReceipt, nativeMarketEventFilter, nativeMarketEventsFromHistory, nativeMarketEventsFromReceipt, nativeMarketStateFilterParams, noEvmReceiptTrustPolicyFromChainInfo, nodeHostingClassFromByte, nodeHostingClassToByte, nodeRegistryAddressHex, normalizeAddressHex, normalizeBridgeRouteCatalogue, normalizePendingChangeKind, oracleAddressHex, oraclePriceToNumber, packTimeWindow, parseAddress, parseBridgeRouteCatalogueJson, parseChainRegistryToml, parseDkgResharePublicKeys, parseLythToLythoshi, parseNameCategory, parseNativeDecodedEvent, parseQuantity, parseQuantityBig, preflightClusterJoinRequest, previewRequestClusterJoin, previewVoteClusterAdmit, proverMarketStateFromByte, pubkeyRegistryAddressHex, quoteOperatorFee, rankBridgeRoutes, rankMarketsByVolume, readClusterJoinRequest, requestSighash, requireTypedAddress, resolveClusterJoinExecutionFee, resolveExecutionFee, resolveMaxExecutionUnitPrice, resolveRegistryExecutionFee, resolveStudioHostStatus, selectBridgeTransferRoute, serviceProbeStatusLabel, setDestinationRoot, sortMultisigMembers, spendingPolicyAddressHex, submitMrvCallNativeTx, submitMrvDeployNativeTx, submitMrvDeployPayloadNativeTx, submitPublishOperatorSealKey, submitRequestClusterJoin, submitSighash, submitVoteClusterAdmit, tokenFactoryAddressHex, transactionFeeExposure, typedBech32ToAddress, validateAddress, validateBridgeRouteCatalogue, validateMrvArtifactMetadata, validateMrvCallRequest, validateMrvDeployRequest, validateMultisigRoster, validateTokenFactoryFlags, verifyNoEvmArchiveProofSignatures, verifyNoEvmBlockFinalityEvidenceMultisig, verifyNoEvmBlockFinalityEvidenceThreshold, verifyNoEvmFinalityEvidenceMultisig, verifyNoEvmFinalityEvidenceThreshold, verifyNoEvmReceiptProof, verifyNoEvmReceiptProofTrust, version, vrfAddressHex };
|
|
12147
|
+
export { ADDRESS_HRP, ADDRESS_KIND_HRPS, API_STREAM_TOPICS, AddressError, AgentActionError, ApiClient, BRIDGE_QUOTE_API_BLOCKED_REASON, BRIDGE_REVERT_TAGS, BRIDGE_SELECTORS, BRIDGE_SUBMIT_API_BLOCKED_REASON, BURN_ADDR, BridgePrecompileError, BridgeRouteCatalogueError, CHAIN_REGISTRY, CHAIN_REGISTRY_RAW_BASE, CLOB_MARKET_ID_DOMAIN_TAG, CLOB_SELECTORS, CLUSTER_FORMED_EVENT_SIG, DEFAULT_CLUSTER_JOIN_EXECUTION_UNIT_LIMIT, DEFAULT_OPERATOR_SEAL_KEY_EXECUTION_UNIT_LIMIT, DELEGATION_REVERT_TAGS, DELEGATION_SELECTORS, DIVERSITY_SCORE_MAX, DelegationPrecompileError, EMPTY_ROOT, EXECUTION_UNIT_PRICE_SAFETY_MULTIPLIER, FEED_ID_DOMAIN_TAG, LYTHOSHI_PER_LYTH, LYTH_DECIMALS, MAX_MULTISIG_MEMBERS, MAX_NATIVE_CALL_FORWARDER_REQUEST_BYTES, MAX_NATIVE_RECEIPT_EVENTS, MIN_EXECUTION_UNIT_PRICE_LYTHOSHI, MIN_MULTISIG_MEMBERS, ML_DSA_65_PUBLIC_KEY_LEN2 as ML_DSA_65_PUBLIC_KEY_LEN, ML_DSA_65_SIGNATURE_LEN2 as ML_DSA_65_SIGNATURE_LEN, MONOLYTHIUM_NETWORKS, MONOLYTHIUM_TESTNET_CHAIN_ID, MONOLYTHIUM_TESTNET_NETWORK_NAME, MRV_DEPLOY_PAYLOAD_VERSION, MRV_FORMAT_VERSION, MRV_MAX_ABI_SYMBOLS, MRV_MAX_CODE_BYTES, MRV_MAX_DEBUG_BYTES, MRV_MAX_MEMORY_PAGES, MRV_MAX_STORAGE_NAMESPACE_BYTES, MRV_MEMORY_PAGE_BYTES, MRV_PROFILE_MONO_RV32IM_V1, MRV_STRUCTURED_FEE_FIELDS, MRV_TX_EXTENSION_KIND, MRV_TX_EXTENSION_V1, MULTISIG_ADDRESS_DERIVATION_DOMAIN, MULTISIG_ADDRESS_DERIVATION_DOMAIN2 as MULTISIG_WITNESS_ADDRESS_DERIVATION_DOMAIN, MULTISIG_WITNESS_DOMAIN, MarketActionError, MrvValidationError, MultisigError, NAME_BASE_MULTIPLIER, NAME_FALLBACK_FEE_UNIT_LYTHOSHI, NAME_LABEL_MAX_LEN, NAME_LABEL_MIN_LEN, NAME_MAX_LEN, NAME_REGISTRY_SELECTORS, NATIVE_AGENT_MODULE_ADDRESS, NATIVE_AGENT_MODULE_ADDRESS_BYTES, NATIVE_CALL_FORWARDER_ARTIFACT_PROFILE, NATIVE_CALL_FORWARDER_RESPONSE_CAPACITY, NATIVE_CALL_FORWARDER_RESPONSE_OFFSET, NATIVE_DEV_HOST_API_VERSION, NATIVE_DEV_IPC_PROTOCOL_VERSION, NATIVE_DEV_MANIFEST_SCHEMA_VERSION, NATIVE_LYTH_DECIMALS, NATIVE_MARKET_EVENT_FAMILY, NATIVE_MARKET_MODULE_ADDRESS, NATIVE_MARKET_MODULE_ADDRESS_BYTES, NATIVE_MARKET_ORDER_BOOK_STREAM_TOPIC, NODE_REGISTRY_ARCHIVE_CHALLENGE_DOMAIN, NODE_REGISTRY_ARCHIVE_KIND_EPOCH_SEED, NODE_REGISTRY_ARCHIVE_NONCE_DOMAIN, NODE_REGISTRY_BLS_PUBKEY_BYTES, NODE_REGISTRY_CAPABILITIES, NODE_REGISTRY_CAPABILITY_MASK, NODE_REGISTRY_CHALLENGE_EPOCH_WINDOW, NODE_REGISTRY_CHARTER_COOLDOWN_EPOCHS, NODE_REGISTRY_CLUSTER_CHARTER_BYTES, NODE_REGISTRY_CLUSTER_CHARTER_DELEGATOR_FLOOR_BPS, NODE_REGISTRY_CLUSTER_CHARTER_SHARE_DENOM_BPS, NODE_REGISTRY_CLUSTER_MEMBER_REF_BYTES, NODE_REGISTRY_CONSENSUS_POP_BYTES, NODE_REGISTRY_CONSENSUS_PUBKEY_BYTES, NODE_REGISTRY_CONSENSUS_SIGNATURE_BYTES, NODE_REGISTRY_DKG_ATTESTATION_SIG_BYTES, NODE_REGISTRY_DKG_RESHARE_MAX_SIGNERS, NODE_REGISTRY_DKG_RESHARE_MIN_SIGNERS, NODE_REGISTRY_DKG_THRESHOLD_SIG_BYTES, NODE_REGISTRY_FORM_CLUSTER_ACTIVE_COUNT, NODE_REGISTRY_FORM_CLUSTER_MEMBER_COUNT, NODE_REGISTRY_FORM_CLUSTER_MESSAGE_DOMAIN, NODE_REGISTRY_FORM_CLUSTER_MESSAGE_DOMAIN_V2, NODE_REGISTRY_FORM_CLUSTER_STANDBY_COUNT, NODE_REGISTRY_FORM_CLUSTER_THRESHOLD, NODE_REGISTRY_LEGACY_CLUSTER_MEMBER_PUBKEY_BYTES, NODE_REGISTRY_MAX_MERKLE_PROOF_DEPTH, NODE_REGISTRY_MERKLE_INNER_DOMAIN, NODE_REGISTRY_MERKLE_LEAF_DOMAIN, NODE_REGISTRY_MIN_ARCHIVE_LEAF_COUNT, NODE_REGISTRY_OPERATOR_ALIAS_MAX_BYTES, NODE_REGISTRY_OPERATOR_MONIKER_MAX_BYTES, NODE_REGISTRY_OPERATOR_SEAL_EK_BYTES, NODE_REGISTRY_PENDING_CHANGE_MAX_INTENT_ID, NODE_REGISTRY_PUBLIC_SERVICE_MASK, NODE_REGISTRY_SELECTORS, NODE_REGISTRY_TAG_ARCHIVE_CHALLENGE, NODE_REGISTRY_TAG_SERVICE_SCORE, NODE_REGISTRY_TAG_TREASURY, NODE_REGISTRY_UPDATE_CHARTER_MESSAGE_DOMAIN, NODE_REGISTRY_UPDATE_CHARTER_THRESHOLD, NO_EVM_ARCHIVE_PROOF_SCHEMA, NO_EVM_ARCHIVE_SIGNATURE_SCHEME, NO_EVM_FINALITY_EVIDENCE_SCHEMA, NO_EVM_FINALITY_EVIDENCE_SOURCE, NO_EVM_RECEIPTS_ROOT_DOMAIN, NO_EVM_RECEIPT_CODEC, NO_EVM_RECEIPT_PROOF_SCHEMA, NO_EVM_RECEIPT_PROOF_TYPE, NO_EVM_RECEIPT_ROOT_ALGORITHM, NameRegistryError, NoEvmReceiptProofError, NodeRegistryError, OPERATOR_ROUTER_ADDRESS, OPERATOR_ROUTER_EVENT_SIGS, OPERATOR_ROUTER_SELECTORS, OPERATOR_ROUTER_SIGS, ORACLE_EVENT_SIGS, OracleEventError, PENDING_CHANGE_KIND_CODES, PRECOMPILE_ADDRESSES, PROTOCOL_MAX_OPERATOR_FEE_BPS, PROVER_MARKET_ADDRESS, PROVER_MARKET_BID_DOMAIN, PROVER_MARKET_EVENT_SIGS, PROVER_MARKET_REQUEST_DOMAIN, PROVER_MARKET_SELECTORS, PROVER_MARKET_SUBMIT_DOMAIN, PROVER_SLASH_REASON_BAD_PROOF, PROVER_SLASH_REASON_NON_DELIVERY, PUBKEY_REGISTRY_ML_DSA_65_PUBLIC_KEY_LEN, PUBKEY_REGISTRY_SELECTORS, ProverMarketError, PubkeyRegistryError, REGISTRY_DEFAULT_EXECUTION_UNIT_LIMIT, RESERVED_ADDRESS_HRPS, RpcClient, SERVES_GPU_PROVE, SERVICE_PROBE_STATUS, SET_POLICY_CLAIM_DOMAIN_TAG, SPENDING_POLICY_SELECTORS, SdkError, SpendingPolicyError, TESTNET_69420, TOKEN_FACTORY_CREATE_DEPOSIT_LYTHOSHI, TOKEN_FACTORY_FLAGS, TOKEN_FACTORY_KNOWN_FLAG_MASK, TOKEN_FACTORY_MAX_CREATOR_FEE_BPS, TOKEN_FACTORY_MAX_DECIMALS, TOKEN_FACTORY_NAME_MAX_BYTES, TOKEN_FACTORY_SELECTORS, TOKEN_FACTORY_SIGS, TOKEN_FACTORY_SYMBOL_MAX_BYTES, TOKEN_FACTORY_TOKEN_ID_DOMAIN_TAG, TRANSFER_DEFAULT_EXECUTION_UNIT_LIMIT, TX_EXTENSION_KIND_MULTISIG, TX_EXTENSION_MULTISIG_V1, TokenFactoryError, V1_BRIDGE_ALLOWED_FEE_TOKEN, V1_BRIDGE_ALLOWED_PROTOCOL, VRF_DOMAIN_TAG_MAX_BYTES, VRF_HEIGHT_NOT_FINALIZED_REVERT, VRF_OUTPUT_BYTES, VrfCallError, addressBytesToHex, addressToBech32, addressToTypedBech32, allowRootFor, apiEndpointFromRpcEndpoint, archiveMerkleInnerHash, archiveMerkleLeafHash, assembleMultisigSigned, assembleMultisigWitness, assertMrvCallNativeSubmissionPlan, assertMrvDeployNativeSubmissionPlan, assertMrvFeeDisplayConformance, assertMrvStructuredFeeConformance, assertNativeDevMrcTokenPlan, assertNativeDevMrvDeployPlan, assertNativeDevWalletApprovalRequest, assertNativeMarketOrderBookStreamPayload, assessBridgeRoute, bech32ToAddress, bech32ToAddressBytes, bidSighash, bridgeAddressHex, bridgeDrainRemaining, bridgeQuoteSubmitReadiness, bridgeRoutesReadiness, bridgeTransferCandidates, buildBridgeRouteCatalogue, buildCancelSpotOrderPlan, buildMrvCallNativeTxPlan, buildMrvCallPlan, buildMrvCallRequest, buildMrvDeployNativeTxPlan, buildMrvDeployPayloadNativeTxPlan, buildMrvDeployPayloadPlan, buildMrvDeployPayloadRequest, buildMrvDeployPlan, buildMrvDeployRequest, buildNativeAgentCreateEscrowForwarderInput, buildNativeAgentCreateEscrowModuleCall, buildNativeAgentModuleCallEnvelope, buildNativeAgentRecordReputationForwarderInput, buildNativeAgentRecordReputationModuleCall, buildNativeAgentSetSpendingPolicyForwarderInput, buildNativeAgentSetSpendingPolicyModuleCall, buildNativeCallForwarderArtifact, buildNativeMarketModuleCallEnvelope, buildNativeNftBuyListingForwarderInput, buildNativeNftBuyListingModuleCall, buildNativeNftCancelListingForwarderInput, buildNativeNftCancelListingModuleCall, buildNativeNftCreateListingForwarderInput, buildNativeNftCreateListingModuleCall, buildNativeNftPlaceAuctionBidForwarderInput, buildNativeNftPlaceAuctionBidModuleCall, buildNativeNftSettleAuctionForwarderInput, buildNativeNftSettleAuctionModuleCall, buildNativeNftSweepExpiredListingsForwarderInput, buildNativeNftSweepExpiredListingsModuleCall, buildNativeSpotCancelOrderForwarderInput, buildNativeSpotCancelOrderModuleCall, buildNativeSpotCreateMarketForwarderInput, buildNativeSpotCreateMarketModuleCall, buildNativeSpotLimitOrderForwarderInput, buildNativeSpotLimitOrderModuleCall, buildNativeSpotSettleLimitOrderForwarderInput, buildNativeSpotSettleLimitOrderModuleCall, buildNativeSpotSettleRoutedLimitOrderForwarderInput, buildNativeSpotSettleRoutedLimitOrderModuleCall, buildPlaceLimitOrderViaPlan, buildPlaceSpotLimitOrderPlan, buildPlaceSpotMarketOrderExPlan, buildPlaceSpotMarketOrderPlan, buildPublishOperatorSealKeyTxFields, buildRequestClusterJoinTxFields, buildVoteClusterAdmitTxFields, categoryRoot, checkMrvFeeDisplayConformance, checkMrvStructuredFeeConformance, checkNativeDevkitCompatibility, clampPriorityTip, clobAddressHex, clusterApyPercent, clusterJoinRequestExists, compareNativeDevVersions, composeClaimBoundMessage, computeNoEvmDacFinalityMessage, computeNoEvmLeaderFinalityMessage, computeNoEvmReceiptsRoot, computeNoEvmRoundFinalityMessage, computeNoEvmTargetReceiptHash, computeQuoteLiquidity, consumeNativeEvents, decodeClusterCharter, decodeClusterDiversity, decodeClusterFormedEvent, decodeClusterJoinRequest, decodeHasPubkeyReturn, decodeLookupPubkeyReturn, decodeNativeAgentStateResponse, decodeNativeMarketOrderBookDeltasResponse, decodeNativeReceiptResponse, decodeNoEvmReceiptTranscript, decodeOperatorFeeChargedEvent, decodeOperatorNetworkMetadata, decodeOperatorSealKey, decodeOracleEvent, decodePendingCharter, decodeProbeAuthority, decodeScoreServiceProbe, decodeTimeWindow, decodeTokenFactoryTokenId, decodeTxFeedResponse, decodeVrfOutput, delegationAddressHex, denyRootFor, deriveArchiveChallenge, deriveClobMarketId, deriveClusterAnchorAddress, deriveClusterJoinOperatorId, deriveFeedId, deriveMrvContractAddress, deriveMultisigAddress, deriveMultisigAddressBytes, deriveNativeSpotMarketId, deriveNativeSpotOrderId, deriveTokenFactoryTokenId, destinationRoot, encodeAnswerArchiveChallengeCalldata, encodeAttestDkgReshareCalldata, encodeAttestServiceProbeCalldata, encodeBlockSelector, encodeBridgeChallengeCalldata, encodeBridgeClaimCalldata, encodeCancelClusterJoinCalldata, encodeCancelOrderCalldata, encodeCancelPendingChangeCalldata, encodeClaimCalldata, encodeClaimPolicyByAddressCalldata, encodeClusterCharter, encodeCommitArchiveRootCalldata, encodeCreateFixedSupplyMrc20Calldata, encodeCreateRequestCalldata, encodeCreateRequestCanonical, encodeCreateTokenCalldata, encodeDelegateCalldata, encodeDisableCalldata, encodeEnableCalldata, encodeExpireClusterJoinCalldata, encodeFormClusterCalldata, encodeFormClusterV2Calldata, encodeGetClusterJoinRequestCalldata, encodeGetOperatorSealKeyCalldata, encodeGetPendingCharterCalldata, encodeGetProbeAuthorityCalldata, encodeHasPubkeyCalldata, encodeLockBridgeConfigCalldata, encodeLookupPubkeyCalldata, encodeMrvDeployPayload, encodeMultisigWitnessBody, encodeNameAcceptTransferCall, encodeNameProposeTransferCall, encodeNameRegisterCall, encodeNativeAgentAcceptEscrowCall, encodeNativeAgentApproveEscrowCall, encodeNativeAgentArbiterGetCall, encodeNativeAgentAttestationGetCall, encodeNativeAgentAvailabilityGetCall, encodeNativeAgentCancelEscrowCall, encodeNativeAgentCloseAvailabilityCall, encodeNativeAgentConsentGetCall, encodeNativeAgentCounterEscrowCall, encodeNativeAgentCreateEscrowCall, encodeNativeAgentDeactivateServiceCall, encodeNativeAgentDisputeEscrowCall, encodeNativeAgentEscrowGetCall, encodeNativeAgentGrantConsentCall, encodeNativeAgentIssueAttestationCall, encodeNativeAgentIssuerGetCall, encodeNativeAgentListServiceCall, encodeNativeAgentModuleForwarderInput, encodeNativeAgentOpenAvailabilityCall, encodeNativeAgentRecordPolicySpendCall, encodeNativeAgentRecordReputationCall, encodeNativeAgentRegisterArbiterCall, encodeNativeAgentRegisterIssuerCall, encodeNativeAgentReputationGetCall, encodeNativeAgentResolveEscrowCall, encodeNativeAgentRevokeAttestationCall, encodeNativeAgentRevokeConsentCall, encodeNativeAgentServiceGetCall, encodeNativeAgentSetAvailabilityCall, encodeNativeAgentSetSpendingPolicyCall, encodeNativeAgentSpendingPolicyGetCall, encodeNativeAgentStartEscrowCall, encodeNativeAgentSubmitEscrowCall, encodeNativeMarketModuleForwarderInput, encodeNativeNftBuyListingCall, encodeNativeNftCancelListingCall, encodeNativeNftCreateListingCall, encodeNativeNftPlaceAuctionBidCall, encodeNativeNftSettleAuctionCall, encodeNativeNftSweepExpiredListingsCall, encodeNativeSpotCancelOrderCall, encodeNativeSpotCreateMarketCall, encodeNativeSpotLimitOrderCall, encodeNativeSpotSettleLimitOrderCall, encodeNativeSpotSettleRoutedLimitOrderCall, encodePlaceLimitOrderCalldata, encodePlaceLimitOrderViaCalldata, encodePlaceMarketOrderCalldata, encodePlaceMarketOrderExCalldata, encodePublishOperatorSealKeyCalldata, encodeRecoverOperatorNodeCalldata, encodeRedelegateCalldata, encodeRegisterPubkeyCalldata, encodeReportServiceProbeCalldata, encodeRequestClusterJoinCalldata, encodeSetAutoCompoundCalldata, encodeSetBridgeResumeCooldownCalldata, encodeSetBridgeRouteFinalityCalldata, encodeSetLotSizeCalldata, encodeSetMinNotionalCalldata, encodeSetOperatorDisplayCalldata, encodeSetPolicyCalldata, encodeSetPolicyClaimCalldata, encodeSetProbeAuthorityCalldata, encodeSetTickSizeCalldata, encodeSubmitBridgeProofCalldata, encodeSubmitPendingChangeCalldata, encodeTokenFactoryAllowanceCalldata, encodeTokenFactoryApproveCalldata, encodeTokenFactoryBalanceOfCalldata, encodeTokenFactoryBurnCalldata, encodeTokenFactoryDecreaseAllowanceCalldata, encodeTokenFactoryDestroyCalldata, encodeTokenFactoryIncreaseAllowanceCalldata, encodeTokenFactoryMetadataCalldata, encodeTokenFactoryMintCalldata, encodeTokenFactorySetPausedCalldata, encodeTokenFactoryTotalSupplyCalldata, encodeTokenFactoryTransferCalldata, encodeTokenFactoryTransferFromCalldata, encodeTokenFactoryTransferOwnershipCalldata, encodeUndelegateCalldata, encodeUpdateCharterCalldata, encodeVoteClusterAdmitCalldata, encodeVrfEvaluateCalldata, exportBridgeRouteCatalogueJson, fetchChainInfoLatest, fetchChainRegistryLatest, formClusterMessage, formClusterMessageHex, formClusterMessageV2, formClusterMessageV2Hex, formatLyth, formatLythoshi, formatNativeReceiptFeeDisplay, formatOraclePrice, getChainInfo, getNoEvmReceiptTrustPolicy, getP2pSeeds, getRpcEndpoints, hexToAddressBytes, isBridgeAdminLockedRevert, isBridgeCooldownZeroRevert, isBridgeFinalityZeroRevert, isBridgeResumeCooldownActiveRevert, isConcreteServiceProbeStatus, isNativeDecodedEvent, isNativeMarketOrderBookStreamPayload, isSinglePublicServiceProbeMask, isUnexpectedValueRevert, isValidNodeRegistryCapabilities, isValidPublicServiceProbeMask, mrvAddressToBech32, mrvBech32ToAddress, mrvCodeHashHex, mrvV1TransactionExtension, multisigBaseSighash, multisigMemberIndex, nameLengthModifierX10, nameRegistrationCost, nameRegistryAddressHex, nativeAgentStateFilterParams, nativeDevSchemaFieldNames, nativeDevUiStrings, nativeEventMatches, nativeEventsFilterParams, nativeEventsFromHistory, nativeEventsFromReceipt, nativeMarketEventFilter, nativeMarketEventsFromHistory, nativeMarketEventsFromReceipt, nativeMarketStateFilterParams, noEvmReceiptTrustPolicyFromChainInfo, nodeHostingClassFromByte, nodeHostingClassToByte, nodeRegistryAddressHex, normalizeAddressHex, normalizeBridgeRouteCatalogue, normalizePendingChangeKind, oracleAddressHex, oraclePriceToNumber, packTimeWindow, parseAddress, parseBridgeRouteCatalogueJson, parseChainRegistryToml, parseDkgResharePublicKeys, parseLythToLythoshi, parseNameCategory, parseNativeDecodedEvent, parseQuantity, parseQuantityBig, preflightClusterJoinRequest, previewRequestClusterJoin, previewVoteClusterAdmit, protocolNonceForEpoch, proverMarketStateFromByte, pubkeyRegistryAddressHex, quoteOperatorFee, rankBridgeRoutes, rankMarketsByVolume, readClusterJoinRequest, requestSighash, requireTypedAddress, resolveClusterJoinExecutionFee, resolveExecutionFee, resolveMaxExecutionUnitPrice, resolveRegistryExecutionFee, resolveStudioHostStatus, selectBridgeTransferRoute, serviceMaskToBitIndex, serviceProbeStatusLabel, setDestinationRoot, slotArchiveChallengePass, slotClusterServiceScore, slotEpochChallengeSeed, slotProbeAuthority, slotScoreServiceProbe, sortMultisigMembers, spendingPolicyAddressHex, submitMrvCallNativeTx, submitMrvDeployNativeTx, submitMrvDeployPayloadNativeTx, submitPublishOperatorSealKey, submitRequestClusterJoin, submitSighash, submitVoteClusterAdmit, tokenFactoryAddressHex, transactionFeeExposure, typedBech32ToAddress, updateCharterMessage, updateCharterMessageHex, validateAddress, validateBridgeRouteCatalogue, validateMrvArtifactMetadata, validateMrvCallRequest, validateMrvDeployRequest, validateMultisigRoster, validateTokenFactoryFlags, verifyNoEvmArchiveProofSignatures, verifyNoEvmBlockFinalityEvidenceMultisig, verifyNoEvmBlockFinalityEvidenceThreshold, verifyNoEvmFinalityEvidenceMultisig, verifyNoEvmFinalityEvidenceThreshold, verifyNoEvmReceiptProof, verifyNoEvmReceiptProofTrust, version, vrfAddressHex };
|
|
11629
12148
|
//# sourceMappingURL=index.js.map
|
|
11630
12149
|
//# sourceMappingURL=index.js.map
|