@monolythium/core-sdk 0.4.15 → 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 +452 -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 +416 -23
- package/dist/index.js.map +1 -1
- package/dist/{submission-BnCjjGo0.d.cts → submission-BdBhOdg7.d.cts} +396 -1
- package/dist/{submission-BnCjjGo0.d.ts → submission-BdBhOdg7.d.ts} +396 -1
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -463,7 +463,33 @@ var NODE_REGISTRY_SELECTORS = {
|
|
|
463
463
|
/** `publishOperatorSealKey(bytes32,bytes)` — owner-callable LythiumSeal EK publication. */
|
|
464
464
|
publishOperatorSealKey: "0x" + selectorHex("publishOperatorSealKey(bytes32,bytes)"),
|
|
465
465
|
/** `getOperatorSealKey(bytes32)` view — returns the operator's published LythiumSeal EK. */
|
|
466
|
-
getOperatorSealKey: "0x" + selectorHex("getOperatorSealKey(bytes32)")
|
|
466
|
+
getOperatorSealKey: "0x" + selectorHex("getOperatorSealKey(bytes32)"),
|
|
467
|
+
/**
|
|
468
|
+
* `updateCharter(uint32,bytes,bytes,bytes)` — Component H live charter
|
|
469
|
+
* amendment (Law §6.8); re-signs a new 30-byte charter for a LIVE cluster
|
|
470
|
+
* with a delegator-protective cooldown. Consents verify over
|
|
471
|
+
* `updateCharterMessage` (NOT the formCluster digests).
|
|
472
|
+
*/
|
|
473
|
+
updateCharter: "0x" + selectorHex("updateCharter(uint32,bytes,bytes,bytes)"),
|
|
474
|
+
/** `getPendingCharter(uint32)` view — Component H pending-amendment status. */
|
|
475
|
+
getPendingCharter: "0x" + selectorHex("getPendingCharter(uint32)"),
|
|
476
|
+
/** `commitArchiveRoot(bytes32,uint16,bytes32,uint64)` — Component B archive serve-challenge commit. */
|
|
477
|
+
commitArchiveRoot: "0x" + selectorHex("commitArchiveRoot(bytes32,uint16,bytes32,uint64)"),
|
|
478
|
+
/**
|
|
479
|
+
* `answerArchiveChallenge(bytes32,uint16,uint64,bytes,bytes32[])` —
|
|
480
|
+
* Component B answer. BLOCKER-1 (mono-core `service-rewards` d2ee4548):
|
|
481
|
+
* the caller-supplied `roundCertDigest` + `nonce` were REMOVED — the
|
|
482
|
+
* challenge seed is now the protocol-pinned per-epoch quorum-certificate
|
|
483
|
+
* digest and the nonce is derived from it. 5 args: peerId, shardIndex,
|
|
484
|
+
* epoch, leaf, proof.
|
|
485
|
+
*/
|
|
486
|
+
answerArchiveChallenge: "0x" + selectorHex("answerArchiveChallenge(bytes32,uint16,uint64,bytes,bytes32[])"),
|
|
487
|
+
/** `setProbeAuthority(address)` — Component C foundation-gated probe-authority rotation. */
|
|
488
|
+
setProbeAuthority: "0x" + selectorHex("setProbeAuthority(address)"),
|
|
489
|
+
/** `getProbeAuthority()` view — Component C configured probe-authority address. */
|
|
490
|
+
getProbeAuthority: "0x" + selectorHex("getProbeAuthority()"),
|
|
491
|
+
/** `attestServiceProbe(bytes32,uint32,uint8,uint64)` — Component C attested score-eligibility path. */
|
|
492
|
+
attestServiceProbe: "0x" + selectorHex("attestServiceProbe(bytes32,uint32,uint8,uint64)")
|
|
467
493
|
};
|
|
468
494
|
var NODE_REGISTRY_CLUSTER_MEMBER_REF_BYTES = 48;
|
|
469
495
|
var NODE_REGISTRY_LEGACY_CLUSTER_MEMBER_PUBKEY_BYTES = NODE_REGISTRY_CLUSTER_MEMBER_REF_BYTES;
|
|
@@ -488,6 +514,20 @@ var NODE_REGISTRY_CLUSTER_CHARTER_DELEGATOR_FLOOR_BPS = 2e3;
|
|
|
488
514
|
var NODE_REGISTRY_CLUSTER_CHARTER_SHARE_DENOM_BPS = 1e4;
|
|
489
515
|
var NODE_REGISTRY_OPERATOR_MONIKER_MAX_BYTES = 128;
|
|
490
516
|
var NODE_REGISTRY_OPERATOR_ALIAS_MAX_BYTES = 64;
|
|
517
|
+
var NODE_REGISTRY_UPDATE_CHARTER_THRESHOLD = NODE_REGISTRY_FORM_CLUSTER_THRESHOLD;
|
|
518
|
+
var NODE_REGISTRY_UPDATE_CHARTER_MESSAGE_DOMAIN = "PROTOCORE_NODE_REGISTRY_CLUSTER_UPDATE_CHARTER_V1\0";
|
|
519
|
+
var NODE_REGISTRY_CHARTER_COOLDOWN_EPOCHS = 2;
|
|
520
|
+
var NODE_REGISTRY_ARCHIVE_CHALLENGE_DOMAIN = "monolythium.archive-challenge.v1";
|
|
521
|
+
var NODE_REGISTRY_ARCHIVE_NONCE_DOMAIN = "monolythium.archive-challenge.nonce.v1";
|
|
522
|
+
var NODE_REGISTRY_MERKLE_LEAF_DOMAIN = 0;
|
|
523
|
+
var NODE_REGISTRY_MERKLE_INNER_DOMAIN = 1;
|
|
524
|
+
var NODE_REGISTRY_MAX_MERKLE_PROOF_DEPTH = 40;
|
|
525
|
+
var NODE_REGISTRY_MIN_ARCHIVE_LEAF_COUNT = 65536n;
|
|
526
|
+
var NODE_REGISTRY_CHALLENGE_EPOCH_WINDOW = 2n;
|
|
527
|
+
var NODE_REGISTRY_ARCHIVE_KIND_EPOCH_SEED = 3;
|
|
528
|
+
var NODE_REGISTRY_TAG_ARCHIVE_CHALLENGE = 50;
|
|
529
|
+
var NODE_REGISTRY_TAG_SERVICE_SCORE = 36;
|
|
530
|
+
var NODE_REGISTRY_TAG_TREASURY = 31;
|
|
491
531
|
var PENDING_CHANGE_KIND_CODES = {
|
|
492
532
|
add: 1,
|
|
493
533
|
remove: 2,
|
|
@@ -965,6 +1005,322 @@ function encodeFormClusterV2Calldata(args) {
|
|
|
965
1005
|
)
|
|
966
1006
|
);
|
|
967
1007
|
}
|
|
1008
|
+
function decodeClusterCharter(charter) {
|
|
1009
|
+
const bytes = expectLength2(toBytes(charter), NODE_REGISTRY_CLUSTER_CHARTER_BYTES, "charter");
|
|
1010
|
+
const memberShareBps = [];
|
|
1011
|
+
let sum = 0;
|
|
1012
|
+
for (let i = 0; i < NODE_REGISTRY_FORM_CLUSTER_MEMBER_COUNT; i += 1) {
|
|
1013
|
+
const bps = bytes[2 * i] << 8 | bytes[2 * i + 1];
|
|
1014
|
+
memberShareBps.push(bps);
|
|
1015
|
+
sum += bps;
|
|
1016
|
+
}
|
|
1017
|
+
if (sum !== NODE_REGISTRY_CLUSTER_CHARTER_SHARE_DENOM_BPS) {
|
|
1018
|
+
throw new NodeRegistryError(
|
|
1019
|
+
`memberShareBps must sum to ${NODE_REGISTRY_CLUSTER_CHARTER_SHARE_DENOM_BPS}, got ${sum}`
|
|
1020
|
+
);
|
|
1021
|
+
}
|
|
1022
|
+
const delegatorShareBps = bytes[20] << 8 | bytes[21];
|
|
1023
|
+
if (delegatorShareBps < NODE_REGISTRY_CLUSTER_CHARTER_DELEGATOR_FLOOR_BPS || delegatorShareBps > NODE_REGISTRY_CLUSTER_CHARTER_SHARE_DENOM_BPS) {
|
|
1024
|
+
throw new NodeRegistryError(
|
|
1025
|
+
`delegatorShareBps must be within [${NODE_REGISTRY_CLUSTER_CHARTER_DELEGATOR_FLOOR_BPS}, ${NODE_REGISTRY_CLUSTER_CHARTER_SHARE_DENOM_BPS}], got ${delegatorShareBps}`
|
|
1026
|
+
);
|
|
1027
|
+
}
|
|
1028
|
+
let expiresMs = 0n;
|
|
1029
|
+
for (let i = 22; i < 30; i += 1) {
|
|
1030
|
+
expiresMs = expiresMs << 8n | BigInt(bytes[i]);
|
|
1031
|
+
}
|
|
1032
|
+
return { memberShareBps, delegatorShareBps, expiresMs };
|
|
1033
|
+
}
|
|
1034
|
+
function updateCharterMessage(clusterId, charter) {
|
|
1035
|
+
const id = toUint32(clusterId, "clusterId");
|
|
1036
|
+
const charterBytes = expectLength2(toBytes(charter), NODE_REGISTRY_CLUSTER_CHARTER_BYTES, "charter");
|
|
1037
|
+
return blake3_js.blake3(
|
|
1038
|
+
concatBytes(
|
|
1039
|
+
new TextEncoder().encode(NODE_REGISTRY_UPDATE_CHARTER_MESSAGE_DOMAIN),
|
|
1040
|
+
u32BeBytes(id),
|
|
1041
|
+
u16BeBytes(NODE_REGISTRY_UPDATE_CHARTER_THRESHOLD),
|
|
1042
|
+
u32BeBytes(charterBytes.length),
|
|
1043
|
+
charterBytes
|
|
1044
|
+
)
|
|
1045
|
+
);
|
|
1046
|
+
}
|
|
1047
|
+
function updateCharterMessageHex(clusterId, charter) {
|
|
1048
|
+
return bytesToHex(updateCharterMessage(clusterId, charter));
|
|
1049
|
+
}
|
|
1050
|
+
function encodeUpdateCharterCalldata(args) {
|
|
1051
|
+
const id = toUint32(args.clusterId, "clusterId");
|
|
1052
|
+
const charter = expectLength2(
|
|
1053
|
+
toBytes(args.charter),
|
|
1054
|
+
NODE_REGISTRY_CLUSTER_CHARTER_BYTES,
|
|
1055
|
+
"charter"
|
|
1056
|
+
);
|
|
1057
|
+
const signerPubkeys = flattenFixedWidth(
|
|
1058
|
+
args.signerPubkeys,
|
|
1059
|
+
NODE_REGISTRY_CONSENSUS_PUBKEY_BYTES,
|
|
1060
|
+
"signerPubkeys"
|
|
1061
|
+
);
|
|
1062
|
+
const signatures = flattenFixedWidth(
|
|
1063
|
+
args.signatures,
|
|
1064
|
+
NODE_REGISTRY_CONSENSUS_SIGNATURE_BYTES,
|
|
1065
|
+
"signatures"
|
|
1066
|
+
);
|
|
1067
|
+
const nPubkeys = signerPubkeys.length / NODE_REGISTRY_CONSENSUS_PUBKEY_BYTES;
|
|
1068
|
+
const nSigs = signatures.length / NODE_REGISTRY_CONSENSUS_SIGNATURE_BYTES;
|
|
1069
|
+
if (nPubkeys !== nSigs) {
|
|
1070
|
+
throw new NodeRegistryError(
|
|
1071
|
+
`signerPubkeys (${nPubkeys}) and signatures (${nSigs}) counts must match`
|
|
1072
|
+
);
|
|
1073
|
+
}
|
|
1074
|
+
if (nPubkeys < NODE_REGISTRY_UPDATE_CHARTER_THRESHOLD || nPubkeys > NODE_REGISTRY_FORM_CLUSTER_MEMBER_COUNT) {
|
|
1075
|
+
throw new NodeRegistryError(
|
|
1076
|
+
`signer count must be in [${NODE_REGISTRY_UPDATE_CHARTER_THRESHOLD}, ${NODE_REGISTRY_FORM_CLUSTER_MEMBER_COUNT}], got ${nPubkeys}`
|
|
1077
|
+
);
|
|
1078
|
+
}
|
|
1079
|
+
const charterPadded = padToWord(charter);
|
|
1080
|
+
const signerPadded = padToWord(signerPubkeys);
|
|
1081
|
+
const sigsPadded = padToWord(signatures);
|
|
1082
|
+
const charterOffset = 4n * 32n;
|
|
1083
|
+
const signerOffset = charterOffset + 32n + BigInt(charterPadded.length);
|
|
1084
|
+
const sigsOffset = signerOffset + 32n + BigInt(signerPadded.length);
|
|
1085
|
+
return bytesToHex(
|
|
1086
|
+
concatBytes(
|
|
1087
|
+
hexToBytes(NODE_REGISTRY_SELECTORS.updateCharter),
|
|
1088
|
+
uint32Word(id),
|
|
1089
|
+
uint64Word(charterOffset, "charterOffset"),
|
|
1090
|
+
uint64Word(signerOffset, "signerPubkeysOffset"),
|
|
1091
|
+
uint64Word(sigsOffset, "signaturesOffset"),
|
|
1092
|
+
uint64Word(BigInt(charter.length), "charterLength"),
|
|
1093
|
+
charterPadded,
|
|
1094
|
+
uint64Word(BigInt(signerPubkeys.length), "signerPubkeysLength"),
|
|
1095
|
+
signerPadded,
|
|
1096
|
+
uint64Word(BigInt(signatures.length), "signaturesLength"),
|
|
1097
|
+
sigsPadded
|
|
1098
|
+
)
|
|
1099
|
+
);
|
|
1100
|
+
}
|
|
1101
|
+
function encodeGetPendingCharterCalldata(clusterId) {
|
|
1102
|
+
return bytesToHex(
|
|
1103
|
+
concatBytes(hexToBytes(NODE_REGISTRY_SELECTORS.getPendingCharter), uint32Word(toUint32(clusterId, "clusterId")))
|
|
1104
|
+
);
|
|
1105
|
+
}
|
|
1106
|
+
function decodePendingCharter(returnData) {
|
|
1107
|
+
const bytes = toBytes(returnData);
|
|
1108
|
+
if (bytes.length < 5 * 32) {
|
|
1109
|
+
throw new NodeRegistryError("getPendingCharter return shorter than the 5-word head");
|
|
1110
|
+
}
|
|
1111
|
+
const word = (i) => bytes.slice(i * 32, (i + 1) * 32);
|
|
1112
|
+
const present = numberFromWord(word(0), "present", 1) === 1;
|
|
1113
|
+
const delegatorShareBps = numberFromWord(word(1), "delegatorShareBps", 65535);
|
|
1114
|
+
const effectiveEpoch = u64FromWord(word(2));
|
|
1115
|
+
const signerCount = numberFromWord(word(3), "signerCount", 65535);
|
|
1116
|
+
if (!present) {
|
|
1117
|
+
return { present: false, delegatorShareBps: 0, effectiveEpoch, signerCount: 0, memberShareBps: [] };
|
|
1118
|
+
}
|
|
1119
|
+
const bytesOffset = Number(u64FromWord(word(4)));
|
|
1120
|
+
const lenAt = bytesOffset;
|
|
1121
|
+
if (bytes.length < lenAt + 32) {
|
|
1122
|
+
throw new NodeRegistryError("getPendingCharter bytes-length word out of range");
|
|
1123
|
+
}
|
|
1124
|
+
const sharesLen = Number(u64FromWord(bytes.slice(lenAt, lenAt + 32)));
|
|
1125
|
+
const sharesAt = lenAt + 32;
|
|
1126
|
+
if (sharesLen < 32 || bytes.length < sharesAt + 32) {
|
|
1127
|
+
throw new NodeRegistryError("getPendingCharter packed-shares word truncated");
|
|
1128
|
+
}
|
|
1129
|
+
const packed = bytes.slice(sharesAt, sharesAt + 32);
|
|
1130
|
+
const memberShareBps = [];
|
|
1131
|
+
for (let i = 0; i < NODE_REGISTRY_FORM_CLUSTER_MEMBER_COUNT; i += 1) {
|
|
1132
|
+
const at = 12 + 2 * i;
|
|
1133
|
+
memberShareBps.push(packed[at] << 8 | packed[at + 1]);
|
|
1134
|
+
}
|
|
1135
|
+
return { present: true, delegatorShareBps, effectiveEpoch, signerCount, memberShareBps };
|
|
1136
|
+
}
|
|
1137
|
+
function encodeCommitArchiveRootCalldata(args) {
|
|
1138
|
+
const leafCount = toUint64(args.leafCount, "leafCount");
|
|
1139
|
+
if (leafCount < NODE_REGISTRY_MIN_ARCHIVE_LEAF_COUNT) {
|
|
1140
|
+
throw new NodeRegistryError(
|
|
1141
|
+
`leafCount must be >= ${NODE_REGISTRY_MIN_ARCHIVE_LEAF_COUNT} (MIN_ARCHIVE_LEAF_COUNT), got ${leafCount}`
|
|
1142
|
+
);
|
|
1143
|
+
}
|
|
1144
|
+
return bytesToHex(
|
|
1145
|
+
concatBytes(
|
|
1146
|
+
hexToBytes(NODE_REGISTRY_SELECTORS.commitArchiveRoot),
|
|
1147
|
+
expectLength2(toBytes(args.peerId), 32, "peerId"),
|
|
1148
|
+
uint16Word(args.shardIndex),
|
|
1149
|
+
expectLength2(toBytes(args.shardRoot), 32, "shardRoot"),
|
|
1150
|
+
uint64Word(leafCount, "leafCount")
|
|
1151
|
+
)
|
|
1152
|
+
);
|
|
1153
|
+
}
|
|
1154
|
+
function encodeAnswerArchiveChallengeCalldata(args) {
|
|
1155
|
+
const leaf = toBytes(args.leaf);
|
|
1156
|
+
const proof = args.proof.map((p, i) => expectLength2(toBytes(p), 32, `proof[${i}]`));
|
|
1157
|
+
if (proof.length > NODE_REGISTRY_MAX_MERKLE_PROOF_DEPTH) {
|
|
1158
|
+
throw new NodeRegistryError(
|
|
1159
|
+
`proof length must be <= ${NODE_REGISTRY_MAX_MERKLE_PROOF_DEPTH}, got ${proof.length}`
|
|
1160
|
+
);
|
|
1161
|
+
}
|
|
1162
|
+
const leafPadded = padToWord(leaf);
|
|
1163
|
+
const leafOffset = 5n * 32n;
|
|
1164
|
+
const proofOffset = leafOffset + 32n + BigInt(leafPadded.length);
|
|
1165
|
+
const proofTail = concatBytes(
|
|
1166
|
+
uint64Word(BigInt(proof.length), "proofLength"),
|
|
1167
|
+
...proof
|
|
1168
|
+
);
|
|
1169
|
+
return bytesToHex(
|
|
1170
|
+
concatBytes(
|
|
1171
|
+
hexToBytes(NODE_REGISTRY_SELECTORS.answerArchiveChallenge),
|
|
1172
|
+
expectLength2(toBytes(args.peerId), 32, "peerId"),
|
|
1173
|
+
uint16Word(args.shardIndex),
|
|
1174
|
+
uint64Word(args.epoch, "epoch"),
|
|
1175
|
+
uint64Word(leafOffset, "leafOffset"),
|
|
1176
|
+
uint64Word(proofOffset, "proofOffset"),
|
|
1177
|
+
uint64Word(BigInt(leaf.length), "leafLength"),
|
|
1178
|
+
leafPadded,
|
|
1179
|
+
proofTail
|
|
1180
|
+
)
|
|
1181
|
+
);
|
|
1182
|
+
}
|
|
1183
|
+
function slotEpochChallengeSeed(epoch) {
|
|
1184
|
+
const buf = new Uint8Array(1 + 8 + 1);
|
|
1185
|
+
buf[0] = NODE_REGISTRY_TAG_ARCHIVE_CHALLENGE;
|
|
1186
|
+
buf.set(u64BeBytes(toUint64(epoch, "epoch")), 1);
|
|
1187
|
+
buf[9] = NODE_REGISTRY_ARCHIVE_KIND_EPOCH_SEED;
|
|
1188
|
+
return bytesToHex(sha3_js.keccak_256(buf));
|
|
1189
|
+
}
|
|
1190
|
+
function protocolNonceForEpoch(seed, epoch) {
|
|
1191
|
+
const s = expectLength2(toBytes(seed), 32, "seed");
|
|
1192
|
+
const e = toUint64(epoch, "epoch");
|
|
1193
|
+
const digest = blake3_js.blake3(
|
|
1194
|
+
concatBytes(new TextEncoder().encode(NODE_REGISTRY_ARCHIVE_NONCE_DOMAIN), u64BeBytes(e), s)
|
|
1195
|
+
);
|
|
1196
|
+
let n = 0n;
|
|
1197
|
+
for (let i = 0; i < 8; i += 1) {
|
|
1198
|
+
n = n << 8n | BigInt(digest[i]);
|
|
1199
|
+
}
|
|
1200
|
+
return n;
|
|
1201
|
+
}
|
|
1202
|
+
function deriveArchiveChallenge(seed, opHash, shardIndex, epoch, leafCount) {
|
|
1203
|
+
const pinnedSeed = expectLength2(toBytes(seed), 32, "seed");
|
|
1204
|
+
const op = expectLength2(toBytes(opHash), 32, "opHash");
|
|
1205
|
+
const shard = expectUint16(shardIndex, "shardIndex");
|
|
1206
|
+
const e = toUint64(epoch, "epoch");
|
|
1207
|
+
const count = toUint64(leafCount, "leafCount");
|
|
1208
|
+
if (count === 0n) {
|
|
1209
|
+
return null;
|
|
1210
|
+
}
|
|
1211
|
+
const nonce = protocolNonceForEpoch(pinnedSeed, e);
|
|
1212
|
+
const challengeSeed = blake3_js.blake3(
|
|
1213
|
+
concatBytes(
|
|
1214
|
+
new TextEncoder().encode(NODE_REGISTRY_ARCHIVE_CHALLENGE_DOMAIN),
|
|
1215
|
+
pinnedSeed,
|
|
1216
|
+
op,
|
|
1217
|
+
u16BeBytes(shard),
|
|
1218
|
+
u64BeBytes(e),
|
|
1219
|
+
u64BeBytes(nonce)
|
|
1220
|
+
)
|
|
1221
|
+
);
|
|
1222
|
+
let idx = 0n;
|
|
1223
|
+
for (let i = 0; i < 8; i += 1) {
|
|
1224
|
+
idx = idx << 8n | BigInt(challengeSeed[i]);
|
|
1225
|
+
}
|
|
1226
|
+
return {
|
|
1227
|
+
opHash: bytesToHex(op),
|
|
1228
|
+
shardIndex: shard,
|
|
1229
|
+
leafIndex: idx % count,
|
|
1230
|
+
seed: bytesToHex(challengeSeed)
|
|
1231
|
+
};
|
|
1232
|
+
}
|
|
1233
|
+
function archiveMerkleLeafHash(leaf) {
|
|
1234
|
+
return blake3_js.blake3(concatBytes(Uint8Array.from([NODE_REGISTRY_MERKLE_LEAF_DOMAIN]), toBytes(leaf)));
|
|
1235
|
+
}
|
|
1236
|
+
function archiveMerkleInnerHash(left, right) {
|
|
1237
|
+
return blake3_js.blake3(
|
|
1238
|
+
concatBytes(
|
|
1239
|
+
Uint8Array.from([NODE_REGISTRY_MERKLE_INNER_DOMAIN]),
|
|
1240
|
+
expectLength2(toBytes(left), 32, "left"),
|
|
1241
|
+
expectLength2(toBytes(right), 32, "right")
|
|
1242
|
+
)
|
|
1243
|
+
);
|
|
1244
|
+
}
|
|
1245
|
+
function encodeSetProbeAuthorityCalldata(probeAuthority) {
|
|
1246
|
+
return bytesToHex(
|
|
1247
|
+
concatBytes(
|
|
1248
|
+
hexToBytes(NODE_REGISTRY_SELECTORS.setProbeAuthority),
|
|
1249
|
+
addressWord(probeAuthority, "probeAuthority")
|
|
1250
|
+
)
|
|
1251
|
+
);
|
|
1252
|
+
}
|
|
1253
|
+
function encodeGetProbeAuthorityCalldata() {
|
|
1254
|
+
return NODE_REGISTRY_SELECTORS.getProbeAuthority;
|
|
1255
|
+
}
|
|
1256
|
+
function decodeProbeAuthority(returnData) {
|
|
1257
|
+
const bytes = expectLength2(toBytes(returnData), 32, "probeAuthority");
|
|
1258
|
+
return bytesToHex(bytes.slice(12, 32));
|
|
1259
|
+
}
|
|
1260
|
+
function encodeAttestServiceProbeCalldata(args) {
|
|
1261
|
+
if (!isValidPublicServiceProbeMask(args.serviceMask)) {
|
|
1262
|
+
throw new NodeRegistryError(
|
|
1263
|
+
`serviceMask 0x${args.serviceMask.toString(16).padStart(8, "0")} is not a valid public-service mask`
|
|
1264
|
+
);
|
|
1265
|
+
}
|
|
1266
|
+
if (!isConcreteServiceProbeStatus(args.status)) {
|
|
1267
|
+
throw new NodeRegistryError(`status ${args.status} is not a concrete service-probe outcome`);
|
|
1268
|
+
}
|
|
1269
|
+
return bytesToHex(
|
|
1270
|
+
concatBytes(
|
|
1271
|
+
hexToBytes(NODE_REGISTRY_SELECTORS.attestServiceProbe),
|
|
1272
|
+
expectLength2(toBytes(args.opHash), 32, "opHash"),
|
|
1273
|
+
uint32Word(args.serviceMask),
|
|
1274
|
+
uint8Word(args.status),
|
|
1275
|
+
uint64Word(args.epoch, "epoch")
|
|
1276
|
+
)
|
|
1277
|
+
);
|
|
1278
|
+
}
|
|
1279
|
+
function slotClusterServiceScore(clusterId) {
|
|
1280
|
+
return scoreSlotHex(0, u32BeBytes(toUint32(clusterId, "clusterId")));
|
|
1281
|
+
}
|
|
1282
|
+
function slotArchiveChallengePass(clusterId, epoch) {
|
|
1283
|
+
return scoreSlotHex(
|
|
1284
|
+
1,
|
|
1285
|
+
concatBytes(u32BeBytes(toUint32(clusterId, "clusterId")), u64BeBytes(toUint64(epoch, "epoch")))
|
|
1286
|
+
);
|
|
1287
|
+
}
|
|
1288
|
+
function slotScoreServiceProbe(opHash, serviceBit) {
|
|
1289
|
+
if (!Number.isInteger(serviceBit) || serviceBit < 0 || serviceBit > 255) {
|
|
1290
|
+
throw new NodeRegistryError("serviceBit must be a u8 bit index");
|
|
1291
|
+
}
|
|
1292
|
+
return scoreSlotHex(
|
|
1293
|
+
2,
|
|
1294
|
+
concatBytes(expectLength2(toBytes(opHash), 32, "opHash"), Uint8Array.from([serviceBit]))
|
|
1295
|
+
);
|
|
1296
|
+
}
|
|
1297
|
+
function serviceMaskToBitIndex(mask) {
|
|
1298
|
+
if (!Number.isInteger(mask) || mask <= 0 || (mask & mask - 1) !== 0) {
|
|
1299
|
+
return null;
|
|
1300
|
+
}
|
|
1301
|
+
let bit = 0;
|
|
1302
|
+
let m = mask >>> 0;
|
|
1303
|
+
while ((m & 1) === 0) {
|
|
1304
|
+
m >>>= 1;
|
|
1305
|
+
bit += 1;
|
|
1306
|
+
}
|
|
1307
|
+
return bit;
|
|
1308
|
+
}
|
|
1309
|
+
function decodeScoreServiceProbe(word) {
|
|
1310
|
+
const bytes = expectLength2(toBytes(word), 32, "scoreServiceProbeWord");
|
|
1311
|
+
const status = bytes[31];
|
|
1312
|
+
let packed = 0n;
|
|
1313
|
+
for (const b of bytes) {
|
|
1314
|
+
packed = packed << 8n | BigInt(b);
|
|
1315
|
+
}
|
|
1316
|
+
return { epoch: packed >> 8n, status };
|
|
1317
|
+
}
|
|
1318
|
+
function slotProbeAuthority() {
|
|
1319
|
+
const buf = new Uint8Array(1 + 32 + 1);
|
|
1320
|
+
buf[0] = NODE_REGISTRY_TAG_TREASURY;
|
|
1321
|
+
buf[33] = 10;
|
|
1322
|
+
return bytesToHex(sha3_js.keccak_256(buf));
|
|
1323
|
+
}
|
|
968
1324
|
function decodeClusterJoinRequest(returnData) {
|
|
969
1325
|
const bytes = expectLength2(toBytes(returnData), 8 * 32, "clusterJoinRequest");
|
|
970
1326
|
const word = (i) => bytes.slice(i * 32, (i + 1) * 32);
|
|
@@ -1143,6 +1499,43 @@ function u16BeBytes(value) {
|
|
|
1143
1499
|
}
|
|
1144
1500
|
return Uint8Array.from([value >>> 8 & 255, value & 255]);
|
|
1145
1501
|
}
|
|
1502
|
+
function expectUint16(value, name) {
|
|
1503
|
+
if (!Number.isInteger(value) || value < 0 || value > 65535) {
|
|
1504
|
+
throw new NodeRegistryError(`${name} must be a uint16`);
|
|
1505
|
+
}
|
|
1506
|
+
return value;
|
|
1507
|
+
}
|
|
1508
|
+
function uint16Word(value) {
|
|
1509
|
+
const out = new Uint8Array(32);
|
|
1510
|
+
out.set(u16BeBytes(value), 30);
|
|
1511
|
+
return out;
|
|
1512
|
+
}
|
|
1513
|
+
function addressWord(value, name) {
|
|
1514
|
+
const addr = expectLength2(toBytes(value), 20, name);
|
|
1515
|
+
const out = new Uint8Array(32);
|
|
1516
|
+
out.set(addr, 12);
|
|
1517
|
+
return out;
|
|
1518
|
+
}
|
|
1519
|
+
function flattenFixedWidth(value, width, name) {
|
|
1520
|
+
let flat;
|
|
1521
|
+
if (Array.isArray(value) && value.length > 0 && typeof value[0] !== "number") {
|
|
1522
|
+
const parts = value.map(
|
|
1523
|
+
(v, i) => expectLength2(toBytes(v), width, `${name}[${i}]`)
|
|
1524
|
+
);
|
|
1525
|
+
flat = concatBytes(...parts);
|
|
1526
|
+
} else {
|
|
1527
|
+
flat = toBytes(value);
|
|
1528
|
+
}
|
|
1529
|
+
if (flat.length === 0 || flat.length % width !== 0) {
|
|
1530
|
+
throw new NodeRegistryError(`${name} must be a non-empty multiple of ${width} bytes, got ${flat.length}`);
|
|
1531
|
+
}
|
|
1532
|
+
return flat;
|
|
1533
|
+
}
|
|
1534
|
+
function scoreSlotHex(kind, tail) {
|
|
1535
|
+
return bytesToHex(
|
|
1536
|
+
sha3_js.keccak_256(concatBytes(Uint8Array.from([NODE_REGISTRY_TAG_SERVICE_SCORE, kind]), tail))
|
|
1537
|
+
);
|
|
1538
|
+
}
|
|
1146
1539
|
function compareBytes(a, b) {
|
|
1147
1540
|
const len = Math.min(a.length, b.length);
|
|
1148
1541
|
for (let i = 0; i < len; i++) {
|
|
@@ -3670,7 +4063,7 @@ function encodeStringAddressCall(selector, name, address) {
|
|
|
3670
4063
|
hexToBytes4(selector),
|
|
3671
4064
|
// Two head words (string offset, address) → string tail starts at 0x40.
|
|
3672
4065
|
uint256Word(0x40n),
|
|
3673
|
-
|
|
4066
|
+
addressWord2(address),
|
|
3674
4067
|
uint256Word(BigInt(nameBytes.length)),
|
|
3675
4068
|
padTo32(nameBytes)
|
|
3676
4069
|
)
|
|
@@ -3694,7 +4087,7 @@ function selectorHex2(signature) {
|
|
|
3694
4087
|
const sel = sha3_js.keccak_256(new TextEncoder().encode(signature)).slice(0, 4);
|
|
3695
4088
|
return `0x${[...sel].map((b) => b.toString(16).padStart(2, "0")).join("")}`;
|
|
3696
4089
|
}
|
|
3697
|
-
function
|
|
4090
|
+
function addressWord2(value) {
|
|
3698
4091
|
const out = new Uint8Array(32);
|
|
3699
4092
|
if (value == null) return out;
|
|
3700
4093
|
const bytes = toBytes2(value);
|
|
@@ -6238,7 +6631,7 @@ function encodeSetBridgeRouteFinalityCalldata(bridgeId, finalityBlocks) {
|
|
|
6238
6631
|
function bridgeSelector(signature) {
|
|
6239
6632
|
return sha3_js.keccak_256(new TextEncoder().encode(signature)).slice(0, 4);
|
|
6240
6633
|
}
|
|
6241
|
-
function
|
|
6634
|
+
function addressWord3(value, name) {
|
|
6242
6635
|
const addr = expectLength3(toBytes3(value), 20, name);
|
|
6243
6636
|
const out = new Uint8Array(32);
|
|
6244
6637
|
out.set(addr, 12);
|
|
@@ -6257,7 +6650,7 @@ function encodeBridgeClaimCalldata(bridgeId, depositId, recipient) {
|
|
|
6257
6650
|
bridgeSelector("claim(bytes32,bytes32,address)"),
|
|
6258
6651
|
expectLength3(toBytes3(bridgeId), 32, "bridgeId"),
|
|
6259
6652
|
expectLength3(toBytes3(depositId), 32, "depositId"),
|
|
6260
|
-
|
|
6653
|
+
addressWord3(recipient, "recipient")
|
|
6261
6654
|
)
|
|
6262
6655
|
);
|
|
6263
6656
|
}
|
|
@@ -9251,8 +9644,8 @@ function encodeTokenFactoryTransferFromCalldata(tokenId, from, to, amount) {
|
|
|
9251
9644
|
concatBytes2(
|
|
9252
9645
|
hexToBytes2(TOKEN_FACTORY_SELECTORS.transferFrom, "transferFrom selector"),
|
|
9253
9646
|
bytes32(tokenId, "tokenId"),
|
|
9254
|
-
|
|
9255
|
-
|
|
9647
|
+
addressWord4(from, "from"),
|
|
9648
|
+
addressWord4(to, "to"),
|
|
9256
9649
|
uint256Word2(parseUint(amount, "amount"), "amount")
|
|
9257
9650
|
)
|
|
9258
9651
|
);
|
|
@@ -9274,8 +9667,8 @@ function encodeTokenFactoryAllowanceCalldata(tokenId, owner, spender) {
|
|
|
9274
9667
|
concatBytes2(
|
|
9275
9668
|
hexToBytes2(TOKEN_FACTORY_SELECTORS.allowance, "allowance selector"),
|
|
9276
9669
|
bytes32(tokenId, "tokenId"),
|
|
9277
|
-
|
|
9278
|
-
|
|
9670
|
+
addressWord4(owner, "owner"),
|
|
9671
|
+
addressWord4(spender, "spender")
|
|
9279
9672
|
)
|
|
9280
9673
|
);
|
|
9281
9674
|
}
|
|
@@ -9342,7 +9735,7 @@ function encodeBytes32Address(selector, tokenId, address) {
|
|
|
9342
9735
|
concatBytes2(
|
|
9343
9736
|
hexToBytes2(selector, "selector"),
|
|
9344
9737
|
bytes32(tokenId, "tokenId"),
|
|
9345
|
-
|
|
9738
|
+
addressWord4(address, "address")
|
|
9346
9739
|
)
|
|
9347
9740
|
);
|
|
9348
9741
|
}
|
|
@@ -9351,7 +9744,7 @@ function encodeBytes32AddressUint(selector, tokenId, address, amount) {
|
|
|
9351
9744
|
concatBytes2(
|
|
9352
9745
|
hexToBytes2(selector, "selector"),
|
|
9353
9746
|
bytes32(tokenId, "tokenId"),
|
|
9354
|
-
|
|
9747
|
+
addressWord4(address, "address"),
|
|
9355
9748
|
uint256Word2(parseUint(amount, "amount"), "amount")
|
|
9356
9749
|
)
|
|
9357
9750
|
);
|
|
@@ -9377,7 +9770,7 @@ function padTo323(bytes) {
|
|
|
9377
9770
|
out.set(bytes);
|
|
9378
9771
|
return out;
|
|
9379
9772
|
}
|
|
9380
|
-
function
|
|
9773
|
+
function addressWord4(value, label) {
|
|
9381
9774
|
const out = new Uint8Array(32);
|
|
9382
9775
|
out.set(addressBytes(value, label), 12);
|
|
9383
9776
|
return out;
|
|
@@ -9892,7 +10285,7 @@ function encodeDelegateCalldata(cluster, weightBps) {
|
|
|
9892
10285
|
concatBytes8(
|
|
9893
10286
|
hexToBytes8(DELEGATION_SELECTORS.delegate),
|
|
9894
10287
|
uint32Word2(cluster, "cluster"),
|
|
9895
|
-
|
|
10288
|
+
uint16Word2(weightBps, "weightBps")
|
|
9896
10289
|
)
|
|
9897
10290
|
);
|
|
9898
10291
|
}
|
|
@@ -9910,7 +10303,7 @@ function encodeRedelegateCalldata(fromCluster, toCluster, weightBps) {
|
|
|
9910
10303
|
hexToBytes8(DELEGATION_SELECTORS.redelegate),
|
|
9911
10304
|
uint32Word2(fromCluster, "fromCluster"),
|
|
9912
10305
|
uint32Word2(toCluster, "toCluster"),
|
|
9913
|
-
|
|
10306
|
+
uint16Word2(weightBps, "weightBps")
|
|
9914
10307
|
)
|
|
9915
10308
|
);
|
|
9916
10309
|
}
|
|
@@ -9940,7 +10333,7 @@ function uint32Word2(value, name) {
|
|
|
9940
10333
|
}
|
|
9941
10334
|
return out;
|
|
9942
10335
|
}
|
|
9943
|
-
function
|
|
10336
|
+
function uint16Word2(value, name) {
|
|
9944
10337
|
const n = toBigint3(value, name);
|
|
9945
10338
|
if (n < 0n || n > 0xffffn) {
|
|
9946
10339
|
throw new DelegationPrecompileError(`${name} must fit uint16`);
|
|
@@ -10351,9 +10744,9 @@ function decodeHasPubkeyReturn(data) {
|
|
|
10351
10744
|
throw new PubkeyRegistryError("hasPubkey bool must be 0 or 1");
|
|
10352
10745
|
}
|
|
10353
10746
|
function encodeSingleAddressCall2(selector, address) {
|
|
10354
|
-
return bytesToHex11(concatBytes10(hexToBytes10(selector),
|
|
10747
|
+
return bytesToHex11(concatBytes10(hexToBytes10(selector), addressWord5(toAddressBytes(address))));
|
|
10355
10748
|
}
|
|
10356
|
-
function
|
|
10749
|
+
function addressWord5(address) {
|
|
10357
10750
|
return concatBytes10(new Uint8Array(12), address);
|
|
10358
10751
|
}
|
|
10359
10752
|
function toAddressBytes(value) {
|
|
@@ -10562,7 +10955,7 @@ function encodePlaceMarketOrderCalldata(args) {
|
|
|
10562
10955
|
normalized.quoteTokenId,
|
|
10563
10956
|
uint8Word2(normalized.side),
|
|
10564
10957
|
uint256Word5(normalized.quantity, "quantity"),
|
|
10565
|
-
|
|
10958
|
+
uint16Word3(normalized.maxSlippageBps, "maxSlippageBps")
|
|
10566
10959
|
)
|
|
10567
10960
|
);
|
|
10568
10961
|
}
|
|
@@ -10575,7 +10968,7 @@ function encodePlaceMarketOrderExCalldata(args) {
|
|
|
10575
10968
|
normalized.quoteTokenId,
|
|
10576
10969
|
uint8Word2(normalized.side),
|
|
10577
10970
|
uint256Word5(normalized.quantity, "quantity"),
|
|
10578
|
-
|
|
10971
|
+
uint16Word3(normalized.maxSlippageBps, "maxSlippageBps"),
|
|
10579
10972
|
uint8Word2(normalized.mode)
|
|
10580
10973
|
)
|
|
10581
10974
|
);
|
|
@@ -10882,7 +11275,7 @@ function encodePlaceLimitOrderViaCalldata(args) {
|
|
|
10882
11275
|
return bytesToHex2(
|
|
10883
11276
|
concatBytes2(
|
|
10884
11277
|
hexToBytes2(OPERATOR_ROUTER_SELECTORS.placeLimitOrderVia, "placeLimitOrderVia selector"),
|
|
10885
|
-
|
|
11278
|
+
addressWord6(operator.bytes),
|
|
10886
11279
|
bytes32FromHex(args.base, "base"),
|
|
10887
11280
|
bytes32FromHex(args.quote, "quote"),
|
|
10888
11281
|
uint8Word2(side),
|
|
@@ -11190,7 +11583,7 @@ function uint64Word3(value, name) {
|
|
|
11190
11583
|
}
|
|
11191
11584
|
return out;
|
|
11192
11585
|
}
|
|
11193
|
-
function
|
|
11586
|
+
function uint16Word3(value, name) {
|
|
11194
11587
|
if (value < 0n || value > 0xffffn) {
|
|
11195
11588
|
throw new MarketActionError(`${name} must fit uint16`);
|
|
11196
11589
|
}
|
|
@@ -11211,7 +11604,7 @@ function uint256Word5(value, name) {
|
|
|
11211
11604
|
}
|
|
11212
11605
|
return out;
|
|
11213
11606
|
}
|
|
11214
|
-
function
|
|
11607
|
+
function addressWord6(addr) {
|
|
11215
11608
|
if (addr.length !== 20) {
|
|
11216
11609
|
throw new MarketActionError("address must be 20 bytes");
|
|
11217
11610
|
}
|
|
@@ -11829,9 +12222,14 @@ exports.NATIVE_MARKET_EVENT_FAMILY = NATIVE_MARKET_EVENT_FAMILY;
|
|
|
11829
12222
|
exports.NATIVE_MARKET_MODULE_ADDRESS = NATIVE_MARKET_MODULE_ADDRESS;
|
|
11830
12223
|
exports.NATIVE_MARKET_MODULE_ADDRESS_BYTES = NATIVE_MARKET_MODULE_ADDRESS_BYTES;
|
|
11831
12224
|
exports.NATIVE_MARKET_ORDER_BOOK_STREAM_TOPIC = NATIVE_MARKET_ORDER_BOOK_STREAM_TOPIC;
|
|
12225
|
+
exports.NODE_REGISTRY_ARCHIVE_CHALLENGE_DOMAIN = NODE_REGISTRY_ARCHIVE_CHALLENGE_DOMAIN;
|
|
12226
|
+
exports.NODE_REGISTRY_ARCHIVE_KIND_EPOCH_SEED = NODE_REGISTRY_ARCHIVE_KIND_EPOCH_SEED;
|
|
12227
|
+
exports.NODE_REGISTRY_ARCHIVE_NONCE_DOMAIN = NODE_REGISTRY_ARCHIVE_NONCE_DOMAIN;
|
|
11832
12228
|
exports.NODE_REGISTRY_BLS_PUBKEY_BYTES = NODE_REGISTRY_BLS_PUBKEY_BYTES;
|
|
11833
12229
|
exports.NODE_REGISTRY_CAPABILITIES = NODE_REGISTRY_CAPABILITIES;
|
|
11834
12230
|
exports.NODE_REGISTRY_CAPABILITY_MASK = NODE_REGISTRY_CAPABILITY_MASK;
|
|
12231
|
+
exports.NODE_REGISTRY_CHALLENGE_EPOCH_WINDOW = NODE_REGISTRY_CHALLENGE_EPOCH_WINDOW;
|
|
12232
|
+
exports.NODE_REGISTRY_CHARTER_COOLDOWN_EPOCHS = NODE_REGISTRY_CHARTER_COOLDOWN_EPOCHS;
|
|
11835
12233
|
exports.NODE_REGISTRY_CLUSTER_CHARTER_BYTES = NODE_REGISTRY_CLUSTER_CHARTER_BYTES;
|
|
11836
12234
|
exports.NODE_REGISTRY_CLUSTER_CHARTER_DELEGATOR_FLOOR_BPS = NODE_REGISTRY_CLUSTER_CHARTER_DELEGATOR_FLOOR_BPS;
|
|
11837
12235
|
exports.NODE_REGISTRY_CLUSTER_CHARTER_SHARE_DENOM_BPS = NODE_REGISTRY_CLUSTER_CHARTER_SHARE_DENOM_BPS;
|
|
@@ -11850,12 +12248,21 @@ exports.NODE_REGISTRY_FORM_CLUSTER_MESSAGE_DOMAIN_V2 = NODE_REGISTRY_FORM_CLUSTE
|
|
|
11850
12248
|
exports.NODE_REGISTRY_FORM_CLUSTER_STANDBY_COUNT = NODE_REGISTRY_FORM_CLUSTER_STANDBY_COUNT;
|
|
11851
12249
|
exports.NODE_REGISTRY_FORM_CLUSTER_THRESHOLD = NODE_REGISTRY_FORM_CLUSTER_THRESHOLD;
|
|
11852
12250
|
exports.NODE_REGISTRY_LEGACY_CLUSTER_MEMBER_PUBKEY_BYTES = NODE_REGISTRY_LEGACY_CLUSTER_MEMBER_PUBKEY_BYTES;
|
|
12251
|
+
exports.NODE_REGISTRY_MAX_MERKLE_PROOF_DEPTH = NODE_REGISTRY_MAX_MERKLE_PROOF_DEPTH;
|
|
12252
|
+
exports.NODE_REGISTRY_MERKLE_INNER_DOMAIN = NODE_REGISTRY_MERKLE_INNER_DOMAIN;
|
|
12253
|
+
exports.NODE_REGISTRY_MERKLE_LEAF_DOMAIN = NODE_REGISTRY_MERKLE_LEAF_DOMAIN;
|
|
12254
|
+
exports.NODE_REGISTRY_MIN_ARCHIVE_LEAF_COUNT = NODE_REGISTRY_MIN_ARCHIVE_LEAF_COUNT;
|
|
11853
12255
|
exports.NODE_REGISTRY_OPERATOR_ALIAS_MAX_BYTES = NODE_REGISTRY_OPERATOR_ALIAS_MAX_BYTES;
|
|
11854
12256
|
exports.NODE_REGISTRY_OPERATOR_MONIKER_MAX_BYTES = NODE_REGISTRY_OPERATOR_MONIKER_MAX_BYTES;
|
|
11855
12257
|
exports.NODE_REGISTRY_OPERATOR_SEAL_EK_BYTES = NODE_REGISTRY_OPERATOR_SEAL_EK_BYTES;
|
|
11856
12258
|
exports.NODE_REGISTRY_PENDING_CHANGE_MAX_INTENT_ID = NODE_REGISTRY_PENDING_CHANGE_MAX_INTENT_ID;
|
|
11857
12259
|
exports.NODE_REGISTRY_PUBLIC_SERVICE_MASK = NODE_REGISTRY_PUBLIC_SERVICE_MASK;
|
|
11858
12260
|
exports.NODE_REGISTRY_SELECTORS = NODE_REGISTRY_SELECTORS;
|
|
12261
|
+
exports.NODE_REGISTRY_TAG_ARCHIVE_CHALLENGE = NODE_REGISTRY_TAG_ARCHIVE_CHALLENGE;
|
|
12262
|
+
exports.NODE_REGISTRY_TAG_SERVICE_SCORE = NODE_REGISTRY_TAG_SERVICE_SCORE;
|
|
12263
|
+
exports.NODE_REGISTRY_TAG_TREASURY = NODE_REGISTRY_TAG_TREASURY;
|
|
12264
|
+
exports.NODE_REGISTRY_UPDATE_CHARTER_MESSAGE_DOMAIN = NODE_REGISTRY_UPDATE_CHARTER_MESSAGE_DOMAIN;
|
|
12265
|
+
exports.NODE_REGISTRY_UPDATE_CHARTER_THRESHOLD = NODE_REGISTRY_UPDATE_CHARTER_THRESHOLD;
|
|
11859
12266
|
exports.NO_EVM_ARCHIVE_PROOF_SCHEMA = NO_EVM_ARCHIVE_PROOF_SCHEMA;
|
|
11860
12267
|
exports.NO_EVM_ARCHIVE_SIGNATURE_SCHEME = NO_EVM_ARCHIVE_SIGNATURE_SCHEME;
|
|
11861
12268
|
exports.NO_EVM_FINALITY_EVIDENCE_SCHEMA = NO_EVM_FINALITY_EVIDENCE_SCHEMA;
|
|
@@ -11924,6 +12331,8 @@ exports.addressToBech32 = addressToBech32;
|
|
|
11924
12331
|
exports.addressToTypedBech32 = addressToTypedBech32;
|
|
11925
12332
|
exports.allowRootFor = allowRootFor;
|
|
11926
12333
|
exports.apiEndpointFromRpcEndpoint = apiEndpointFromRpcEndpoint;
|
|
12334
|
+
exports.archiveMerkleInnerHash = archiveMerkleInnerHash;
|
|
12335
|
+
exports.archiveMerkleLeafHash = archiveMerkleLeafHash;
|
|
11927
12336
|
exports.assembleMultisigSigned = assembleMultisigSigned;
|
|
11928
12337
|
exports.assembleMultisigWitness = assembleMultisigWitness;
|
|
11929
12338
|
exports.assertMrvCallNativeSubmissionPlan = assertMrvCallNativeSubmissionPlan;
|
|
@@ -12009,6 +12418,7 @@ exports.computeNoEvmRoundFinalityMessage = computeNoEvmRoundFinalityMessage;
|
|
|
12009
12418
|
exports.computeNoEvmTargetReceiptHash = computeNoEvmTargetReceiptHash;
|
|
12010
12419
|
exports.computeQuoteLiquidity = computeQuoteLiquidity;
|
|
12011
12420
|
exports.consumeNativeEvents = consumeNativeEvents;
|
|
12421
|
+
exports.decodeClusterCharter = decodeClusterCharter;
|
|
12012
12422
|
exports.decodeClusterDiversity = decodeClusterDiversity;
|
|
12013
12423
|
exports.decodeClusterFormedEvent = decodeClusterFormedEvent;
|
|
12014
12424
|
exports.decodeClusterJoinRequest = decodeClusterJoinRequest;
|
|
@@ -12022,12 +12432,16 @@ exports.decodeOperatorFeeChargedEvent = decodeOperatorFeeChargedEvent;
|
|
|
12022
12432
|
exports.decodeOperatorNetworkMetadata = decodeOperatorNetworkMetadata;
|
|
12023
12433
|
exports.decodeOperatorSealKey = decodeOperatorSealKey;
|
|
12024
12434
|
exports.decodeOracleEvent = decodeOracleEvent;
|
|
12435
|
+
exports.decodePendingCharter = decodePendingCharter;
|
|
12436
|
+
exports.decodeProbeAuthority = decodeProbeAuthority;
|
|
12437
|
+
exports.decodeScoreServiceProbe = decodeScoreServiceProbe;
|
|
12025
12438
|
exports.decodeTimeWindow = decodeTimeWindow;
|
|
12026
12439
|
exports.decodeTokenFactoryTokenId = decodeTokenFactoryTokenId;
|
|
12027
12440
|
exports.decodeTxFeedResponse = decodeTxFeedResponse;
|
|
12028
12441
|
exports.decodeVrfOutput = decodeVrfOutput;
|
|
12029
12442
|
exports.delegationAddressHex = delegationAddressHex;
|
|
12030
12443
|
exports.denyRootFor = denyRootFor;
|
|
12444
|
+
exports.deriveArchiveChallenge = deriveArchiveChallenge;
|
|
12031
12445
|
exports.deriveClobMarketId = deriveClobMarketId;
|
|
12032
12446
|
exports.deriveClusterAnchorAddress = deriveClusterAnchorAddress;
|
|
12033
12447
|
exports.deriveClusterJoinOperatorId = deriveClusterJoinOperatorId;
|
|
@@ -12039,7 +12453,9 @@ exports.deriveNativeSpotMarketId = deriveNativeSpotMarketId;
|
|
|
12039
12453
|
exports.deriveNativeSpotOrderId = deriveNativeSpotOrderId;
|
|
12040
12454
|
exports.deriveTokenFactoryTokenId = deriveTokenFactoryTokenId;
|
|
12041
12455
|
exports.destinationRoot = destinationRoot;
|
|
12456
|
+
exports.encodeAnswerArchiveChallengeCalldata = encodeAnswerArchiveChallengeCalldata;
|
|
12042
12457
|
exports.encodeAttestDkgReshareCalldata = encodeAttestDkgReshareCalldata;
|
|
12458
|
+
exports.encodeAttestServiceProbeCalldata = encodeAttestServiceProbeCalldata;
|
|
12043
12459
|
exports.encodeBlockSelector = encodeBlockSelector;
|
|
12044
12460
|
exports.encodeBridgeChallengeCalldata = encodeBridgeChallengeCalldata;
|
|
12045
12461
|
exports.encodeBridgeClaimCalldata = encodeBridgeClaimCalldata;
|
|
@@ -12049,6 +12465,7 @@ exports.encodeCancelPendingChangeCalldata = encodeCancelPendingChangeCalldata;
|
|
|
12049
12465
|
exports.encodeClaimCalldata = encodeClaimCalldata;
|
|
12050
12466
|
exports.encodeClaimPolicyByAddressCalldata = encodeClaimPolicyByAddressCalldata;
|
|
12051
12467
|
exports.encodeClusterCharter = encodeClusterCharter;
|
|
12468
|
+
exports.encodeCommitArchiveRootCalldata = encodeCommitArchiveRootCalldata;
|
|
12052
12469
|
exports.encodeCreateFixedSupplyMrc20Calldata = encodeCreateFixedSupplyMrc20Calldata;
|
|
12053
12470
|
exports.encodeCreateRequestCalldata = encodeCreateRequestCalldata;
|
|
12054
12471
|
exports.encodeCreateRequestCanonical = encodeCreateRequestCanonical;
|
|
@@ -12061,6 +12478,8 @@ exports.encodeFormClusterCalldata = encodeFormClusterCalldata;
|
|
|
12061
12478
|
exports.encodeFormClusterV2Calldata = encodeFormClusterV2Calldata;
|
|
12062
12479
|
exports.encodeGetClusterJoinRequestCalldata = encodeGetClusterJoinRequestCalldata;
|
|
12063
12480
|
exports.encodeGetOperatorSealKeyCalldata = encodeGetOperatorSealKeyCalldata;
|
|
12481
|
+
exports.encodeGetPendingCharterCalldata = encodeGetPendingCharterCalldata;
|
|
12482
|
+
exports.encodeGetProbeAuthorityCalldata = encodeGetProbeAuthorityCalldata;
|
|
12064
12483
|
exports.encodeHasPubkeyCalldata = encodeHasPubkeyCalldata;
|
|
12065
12484
|
exports.encodeLockBridgeConfigCalldata = encodeLockBridgeConfigCalldata;
|
|
12066
12485
|
exports.encodeLookupPubkeyCalldata = encodeLookupPubkeyCalldata;
|
|
@@ -12132,6 +12551,7 @@ exports.encodeSetMinNotionalCalldata = encodeSetMinNotionalCalldata;
|
|
|
12132
12551
|
exports.encodeSetOperatorDisplayCalldata = encodeSetOperatorDisplayCalldata;
|
|
12133
12552
|
exports.encodeSetPolicyCalldata = encodeSetPolicyCalldata;
|
|
12134
12553
|
exports.encodeSetPolicyClaimCalldata = encodeSetPolicyClaimCalldata;
|
|
12554
|
+
exports.encodeSetProbeAuthorityCalldata = encodeSetProbeAuthorityCalldata;
|
|
12135
12555
|
exports.encodeSetTickSizeCalldata = encodeSetTickSizeCalldata;
|
|
12136
12556
|
exports.encodeSubmitBridgeProofCalldata = encodeSubmitBridgeProofCalldata;
|
|
12137
12557
|
exports.encodeSubmitPendingChangeCalldata = encodeSubmitPendingChangeCalldata;
|
|
@@ -12150,6 +12570,7 @@ exports.encodeTokenFactoryTransferCalldata = encodeTokenFactoryTransferCalldata;
|
|
|
12150
12570
|
exports.encodeTokenFactoryTransferFromCalldata = encodeTokenFactoryTransferFromCalldata;
|
|
12151
12571
|
exports.encodeTokenFactoryTransferOwnershipCalldata = encodeTokenFactoryTransferOwnershipCalldata;
|
|
12152
12572
|
exports.encodeUndelegateCalldata = encodeUndelegateCalldata;
|
|
12573
|
+
exports.encodeUpdateCharterCalldata = encodeUpdateCharterCalldata;
|
|
12153
12574
|
exports.encodeVoteClusterAdmitCalldata = encodeVoteClusterAdmitCalldata;
|
|
12154
12575
|
exports.encodeVrfEvaluateCalldata = encodeVrfEvaluateCalldata;
|
|
12155
12576
|
exports.exportBridgeRouteCatalogueJson = exportBridgeRouteCatalogueJson;
|
|
@@ -12221,6 +12642,7 @@ exports.parseQuantityBig = parseQuantityBig;
|
|
|
12221
12642
|
exports.preflightClusterJoinRequest = preflightClusterJoinRequest;
|
|
12222
12643
|
exports.previewRequestClusterJoin = previewRequestClusterJoin;
|
|
12223
12644
|
exports.previewVoteClusterAdmit = previewVoteClusterAdmit;
|
|
12645
|
+
exports.protocolNonceForEpoch = protocolNonceForEpoch;
|
|
12224
12646
|
exports.proverMarketStateFromByte = proverMarketStateFromByte;
|
|
12225
12647
|
exports.pubkeyRegistryAddressHex = pubkeyRegistryAddressHex;
|
|
12226
12648
|
exports.quoteOperatorFee = quoteOperatorFee;
|
|
@@ -12235,8 +12657,14 @@ exports.resolveMaxExecutionUnitPrice = resolveMaxExecutionUnitPrice;
|
|
|
12235
12657
|
exports.resolveRegistryExecutionFee = resolveRegistryExecutionFee;
|
|
12236
12658
|
exports.resolveStudioHostStatus = resolveStudioHostStatus;
|
|
12237
12659
|
exports.selectBridgeTransferRoute = selectBridgeTransferRoute;
|
|
12660
|
+
exports.serviceMaskToBitIndex = serviceMaskToBitIndex;
|
|
12238
12661
|
exports.serviceProbeStatusLabel = serviceProbeStatusLabel;
|
|
12239
12662
|
exports.setDestinationRoot = setDestinationRoot;
|
|
12663
|
+
exports.slotArchiveChallengePass = slotArchiveChallengePass;
|
|
12664
|
+
exports.slotClusterServiceScore = slotClusterServiceScore;
|
|
12665
|
+
exports.slotEpochChallengeSeed = slotEpochChallengeSeed;
|
|
12666
|
+
exports.slotProbeAuthority = slotProbeAuthority;
|
|
12667
|
+
exports.slotScoreServiceProbe = slotScoreServiceProbe;
|
|
12240
12668
|
exports.sortMultisigMembers = sortMultisigMembers;
|
|
12241
12669
|
exports.spendingPolicyAddressHex = spendingPolicyAddressHex;
|
|
12242
12670
|
exports.submitMrvCallNativeTx = submitMrvCallNativeTx;
|
|
@@ -12249,6 +12677,8 @@ exports.submitVoteClusterAdmit = submitVoteClusterAdmit;
|
|
|
12249
12677
|
exports.tokenFactoryAddressHex = tokenFactoryAddressHex;
|
|
12250
12678
|
exports.transactionFeeExposure = transactionFeeExposure;
|
|
12251
12679
|
exports.typedBech32ToAddress = typedBech32ToAddress;
|
|
12680
|
+
exports.updateCharterMessage = updateCharterMessage;
|
|
12681
|
+
exports.updateCharterMessageHex = updateCharterMessageHex;
|
|
12252
12682
|
exports.validateAddress = validateAddress;
|
|
12253
12683
|
exports.validateBridgeRouteCatalogue = validateBridgeRouteCatalogue;
|
|
12254
12684
|
exports.validateMrvArtifactMetadata = validateMrvArtifactMetadata;
|