@monolythium/core-sdk 0.4.15 → 0.4.17

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -264,84 +264,6 @@ function expectLength(value, len, name) {
264
264
  return value instanceof Uint8Array ? value : Uint8Array.from(value);
265
265
  }
266
266
 
267
- // src/native-events.ts
268
- var NATIVE_MARKET_EVENT_FAMILY = "market";
269
- function nativeMarketEventFilter(filter = {}) {
270
- return { ...filter, family: NATIVE_MARKET_EVENT_FAMILY };
271
- }
272
- function isNativeDecodedEvent(value) {
273
- const row = asRecord(value);
274
- return row !== null && typeof row["block_height"] === "number" && typeof row["tx_index"] === "number" && typeof row["sequence"] === "number" && typeof row["family"] === "string" && typeof row["event_name"] === "string" && typeof row["payload_hash"] === "string";
275
- }
276
- function parseNativeDecodedEvent(event) {
277
- if (isNativeDecodedEvent(event.decoded)) {
278
- return event.decoded;
279
- }
280
- try {
281
- const parsed = JSON.parse(event.decodedJson);
282
- if (isNativeDecodedEvent(parsed)) {
283
- return parsed;
284
- }
285
- } catch {
286
- }
287
- throw SdkError.malformed(
288
- `native event ${event.eventTopic} at logIndex ${event.logIndex} is missing a typed decoded payload`
289
- );
290
- }
291
- function nativeEventMatches(event, filter = {}) {
292
- if (filter.address !== void 0 && event.address !== filter.address) return false;
293
- if (filter.eventTopic !== void 0 && event.eventTopic !== filter.eventTopic) return false;
294
- if (filter.family === void 0 && filter.eventName === void 0) return true;
295
- let decoded;
296
- try {
297
- decoded = parseNativeDecodedEvent(event);
298
- } catch {
299
- return false;
300
- }
301
- if (filter.family !== void 0 && decoded.family !== filter.family) return false;
302
- if (filter.eventName !== void 0 && decoded.event_name !== filter.eventName) return false;
303
- return true;
304
- }
305
- function nativeEventsFromReceipt(receipt, filter = {}) {
306
- return receipt.events.filter((event) => nativeEventMatches(event, filter)).map((event) => ({
307
- ...event,
308
- decoded: parseNativeDecodedEvent(event)
309
- }));
310
- }
311
- function nativeMarketEventsFromReceipt(receipt, filter = {}) {
312
- return nativeEventsFromReceipt(receipt, nativeMarketEventFilter(filter));
313
- }
314
- function nativeEventsFromHistory(response) {
315
- return {
316
- ...response,
317
- events: response.events.map((event) => ({
318
- ...event,
319
- decoded: parseNativeDecodedEvent(event)
320
- }))
321
- };
322
- }
323
- function nativeMarketEventsFromHistory(response) {
324
- return {
325
- ...response,
326
- filters: { ...response.filters, family: NATIVE_MARKET_EVENT_FAMILY },
327
- events: response.events.filter((event) => nativeEventMatches(event, { family: NATIVE_MARKET_EVENT_FAMILY })).map((event) => ({
328
- ...event,
329
- decoded: parseNativeDecodedEvent(event)
330
- }))
331
- };
332
- }
333
- async function consumeNativeEvents(receipt, consumer, filter = {}) {
334
- const events = nativeEventsFromReceipt(receipt, filter);
335
- for (const event of events) {
336
- await consumer(event);
337
- }
338
- return events.length;
339
- }
340
- function asRecord(value) {
341
- if (value === null || typeof value !== "object" || Array.isArray(value)) return null;
342
- return value;
343
- }
344
-
345
267
  // src/consts.ts
346
268
  var BURN_ADDR = "0x0000000000000000000000000000000000000000";
347
269
  var PRECOMPILE_ADDRESSES = {
@@ -461,7 +383,33 @@ var NODE_REGISTRY_SELECTORS = {
461
383
  /** `publishOperatorSealKey(bytes32,bytes)` — owner-callable LythiumSeal EK publication. */
462
384
  publishOperatorSealKey: "0x" + selectorHex("publishOperatorSealKey(bytes32,bytes)"),
463
385
  /** `getOperatorSealKey(bytes32)` view — returns the operator's published LythiumSeal EK. */
464
- getOperatorSealKey: "0x" + selectorHex("getOperatorSealKey(bytes32)")
386
+ getOperatorSealKey: "0x" + selectorHex("getOperatorSealKey(bytes32)"),
387
+ /**
388
+ * `updateCharter(uint32,bytes,bytes,bytes)` — Component H live charter
389
+ * amendment (Law §6.8); re-signs a new 30-byte charter for a LIVE cluster
390
+ * with a delegator-protective cooldown. Consents verify over
391
+ * `updateCharterMessage` (NOT the formCluster digests).
392
+ */
393
+ updateCharter: "0x" + selectorHex("updateCharter(uint32,bytes,bytes,bytes)"),
394
+ /** `getPendingCharter(uint32)` view — Component H pending-amendment status. */
395
+ getPendingCharter: "0x" + selectorHex("getPendingCharter(uint32)"),
396
+ /** `commitArchiveRoot(bytes32,uint16,bytes32,uint64)` — Component B archive serve-challenge commit. */
397
+ commitArchiveRoot: "0x" + selectorHex("commitArchiveRoot(bytes32,uint16,bytes32,uint64)"),
398
+ /**
399
+ * `answerArchiveChallenge(bytes32,uint16,uint64,bytes,bytes32[])` —
400
+ * Component B answer. BLOCKER-1 (mono-core `service-rewards` d2ee4548):
401
+ * the caller-supplied `roundCertDigest` + `nonce` were REMOVED — the
402
+ * challenge seed is now the protocol-pinned per-epoch quorum-certificate
403
+ * digest and the nonce is derived from it. 5 args: peerId, shardIndex,
404
+ * epoch, leaf, proof.
405
+ */
406
+ answerArchiveChallenge: "0x" + selectorHex("answerArchiveChallenge(bytes32,uint16,uint64,bytes,bytes32[])"),
407
+ /** `setProbeAuthority(address)` — Component C foundation-gated probe-authority rotation. */
408
+ setProbeAuthority: "0x" + selectorHex("setProbeAuthority(address)"),
409
+ /** `getProbeAuthority()` view — Component C configured probe-authority address. */
410
+ getProbeAuthority: "0x" + selectorHex("getProbeAuthority()"),
411
+ /** `attestServiceProbe(bytes32,uint32,uint8,uint64)` — Component C attested score-eligibility path. */
412
+ attestServiceProbe: "0x" + selectorHex("attestServiceProbe(bytes32,uint32,uint8,uint64)")
465
413
  };
466
414
  var NODE_REGISTRY_CLUSTER_MEMBER_REF_BYTES = 48;
467
415
  var NODE_REGISTRY_LEGACY_CLUSTER_MEMBER_PUBKEY_BYTES = NODE_REGISTRY_CLUSTER_MEMBER_REF_BYTES;
@@ -486,6 +434,23 @@ var NODE_REGISTRY_CLUSTER_CHARTER_DELEGATOR_FLOOR_BPS = 2e3;
486
434
  var NODE_REGISTRY_CLUSTER_CHARTER_SHARE_DENOM_BPS = 1e4;
487
435
  var NODE_REGISTRY_OPERATOR_MONIKER_MAX_BYTES = 128;
488
436
  var NODE_REGISTRY_OPERATOR_ALIAS_MAX_BYTES = 64;
437
+ var NODE_REGISTRY_UPDATE_CHARTER_THRESHOLD = NODE_REGISTRY_FORM_CLUSTER_THRESHOLD;
438
+ var NODE_REGISTRY_UPDATE_CHARTER_MESSAGE_DOMAIN = "PROTOCORE_NODE_REGISTRY_CLUSTER_UPDATE_CHARTER_V1\0";
439
+ var NODE_REGISTRY_CHARTER_COOLDOWN_EPOCHS = 2;
440
+ var NODE_REGISTRY_ARCHIVE_CHALLENGE_DOMAIN = "monolythium.archive-challenge.v1";
441
+ var NODE_REGISTRY_ARCHIVE_NONCE_DOMAIN = "monolythium.archive-challenge.nonce.v1";
442
+ var NODE_REGISTRY_MERKLE_LEAF_DOMAIN = 0;
443
+ var NODE_REGISTRY_MERKLE_INNER_DOMAIN = 1;
444
+ var NODE_REGISTRY_MAX_MERKLE_PROOF_DEPTH = 40;
445
+ var NODE_REGISTRY_MIN_ARCHIVE_LEAF_COUNT = 65536n;
446
+ var NODE_REGISTRY_CHALLENGE_EPOCH_WINDOW = 2n;
447
+ var NODE_REGISTRY_ARCHIVE_KIND_EPOCH_SEED = 3;
448
+ var NODE_REGISTRY_TAG_ARCHIVE_CHALLENGE = 50;
449
+ var NODE_REGISTRY_TAG_SERVICE_SCORE = 36;
450
+ var NODE_REGISTRY_TAG_TREASURY = 31;
451
+ var NODE_REGISTRY_TAG_CLUSTER_CHARTER = 49;
452
+ var NODE_REGISTRY_SUBKIND_CHARTER_DELEGATOR_BPS = 0;
453
+ var NODE_REGISTRY_SUBKIND_CHARTER_MEMBER_SHARES = 1;
489
454
  var PENDING_CHANGE_KIND_CODES = {
490
455
  add: 1,
491
456
  remove: 2,
@@ -963,6 +928,356 @@ function encodeFormClusterV2Calldata(args) {
963
928
  )
964
929
  );
965
930
  }
931
+ function decodeClusterCharter(charter) {
932
+ const bytes = expectLength2(toBytes(charter), NODE_REGISTRY_CLUSTER_CHARTER_BYTES, "charter");
933
+ const memberShareBps = [];
934
+ let sum = 0;
935
+ for (let i = 0; i < NODE_REGISTRY_FORM_CLUSTER_MEMBER_COUNT; i += 1) {
936
+ const bps = bytes[2 * i] << 8 | bytes[2 * i + 1];
937
+ memberShareBps.push(bps);
938
+ sum += bps;
939
+ }
940
+ if (sum !== NODE_REGISTRY_CLUSTER_CHARTER_SHARE_DENOM_BPS) {
941
+ throw new NodeRegistryError(
942
+ `memberShareBps must sum to ${NODE_REGISTRY_CLUSTER_CHARTER_SHARE_DENOM_BPS}, got ${sum}`
943
+ );
944
+ }
945
+ const delegatorShareBps = bytes[20] << 8 | bytes[21];
946
+ if (delegatorShareBps < NODE_REGISTRY_CLUSTER_CHARTER_DELEGATOR_FLOOR_BPS || delegatorShareBps > NODE_REGISTRY_CLUSTER_CHARTER_SHARE_DENOM_BPS) {
947
+ throw new NodeRegistryError(
948
+ `delegatorShareBps must be within [${NODE_REGISTRY_CLUSTER_CHARTER_DELEGATOR_FLOOR_BPS}, ${NODE_REGISTRY_CLUSTER_CHARTER_SHARE_DENOM_BPS}], got ${delegatorShareBps}`
949
+ );
950
+ }
951
+ let expiresMs = 0n;
952
+ for (let i = 22; i < 30; i += 1) {
953
+ expiresMs = expiresMs << 8n | BigInt(bytes[i]);
954
+ }
955
+ return { memberShareBps, delegatorShareBps, expiresMs };
956
+ }
957
+ function updateCharterMessage(clusterId, charter) {
958
+ const id = toUint32(clusterId, "clusterId");
959
+ const charterBytes = expectLength2(toBytes(charter), NODE_REGISTRY_CLUSTER_CHARTER_BYTES, "charter");
960
+ return blake3(
961
+ concatBytes(
962
+ new TextEncoder().encode(NODE_REGISTRY_UPDATE_CHARTER_MESSAGE_DOMAIN),
963
+ u32BeBytes(id),
964
+ u16BeBytes(NODE_REGISTRY_UPDATE_CHARTER_THRESHOLD),
965
+ u32BeBytes(charterBytes.length),
966
+ charterBytes
967
+ )
968
+ );
969
+ }
970
+ function updateCharterMessageHex(clusterId, charter) {
971
+ return bytesToHex(updateCharterMessage(clusterId, charter));
972
+ }
973
+ function encodeUpdateCharterCalldata(args) {
974
+ const id = toUint32(args.clusterId, "clusterId");
975
+ const charter = expectLength2(
976
+ toBytes(args.charter),
977
+ NODE_REGISTRY_CLUSTER_CHARTER_BYTES,
978
+ "charter"
979
+ );
980
+ const signerPubkeys = flattenFixedWidth(
981
+ args.signerPubkeys,
982
+ NODE_REGISTRY_CONSENSUS_PUBKEY_BYTES,
983
+ "signerPubkeys"
984
+ );
985
+ const signatures = flattenFixedWidth(
986
+ args.signatures,
987
+ NODE_REGISTRY_CONSENSUS_SIGNATURE_BYTES,
988
+ "signatures"
989
+ );
990
+ const nPubkeys = signerPubkeys.length / NODE_REGISTRY_CONSENSUS_PUBKEY_BYTES;
991
+ const nSigs = signatures.length / NODE_REGISTRY_CONSENSUS_SIGNATURE_BYTES;
992
+ if (nPubkeys !== nSigs) {
993
+ throw new NodeRegistryError(
994
+ `signerPubkeys (${nPubkeys}) and signatures (${nSigs}) counts must match`
995
+ );
996
+ }
997
+ if (nPubkeys < NODE_REGISTRY_UPDATE_CHARTER_THRESHOLD || nPubkeys > NODE_REGISTRY_FORM_CLUSTER_MEMBER_COUNT) {
998
+ throw new NodeRegistryError(
999
+ `signer count must be in [${NODE_REGISTRY_UPDATE_CHARTER_THRESHOLD}, ${NODE_REGISTRY_FORM_CLUSTER_MEMBER_COUNT}], got ${nPubkeys}`
1000
+ );
1001
+ }
1002
+ const charterPadded = padToWord(charter);
1003
+ const signerPadded = padToWord(signerPubkeys);
1004
+ const sigsPadded = padToWord(signatures);
1005
+ const charterOffset = 4n * 32n;
1006
+ const signerOffset = charterOffset + 32n + BigInt(charterPadded.length);
1007
+ const sigsOffset = signerOffset + 32n + BigInt(signerPadded.length);
1008
+ return bytesToHex(
1009
+ concatBytes(
1010
+ hexToBytes(NODE_REGISTRY_SELECTORS.updateCharter),
1011
+ uint32Word(id),
1012
+ uint64Word(charterOffset, "charterOffset"),
1013
+ uint64Word(signerOffset, "signerPubkeysOffset"),
1014
+ uint64Word(sigsOffset, "signaturesOffset"),
1015
+ uint64Word(BigInt(charter.length), "charterLength"),
1016
+ charterPadded,
1017
+ uint64Word(BigInt(signerPubkeys.length), "signerPubkeysLength"),
1018
+ signerPadded,
1019
+ uint64Word(BigInt(signatures.length), "signaturesLength"),
1020
+ sigsPadded
1021
+ )
1022
+ );
1023
+ }
1024
+ function encodeGetPendingCharterCalldata(clusterId) {
1025
+ return bytesToHex(
1026
+ concatBytes(hexToBytes(NODE_REGISTRY_SELECTORS.getPendingCharter), uint32Word(toUint32(clusterId, "clusterId")))
1027
+ );
1028
+ }
1029
+ function decodePendingCharter(returnData) {
1030
+ const bytes = toBytes(returnData);
1031
+ if (bytes.length < 5 * 32) {
1032
+ throw new NodeRegistryError("getPendingCharter return shorter than the 5-word head");
1033
+ }
1034
+ const word = (i) => bytes.slice(i * 32, (i + 1) * 32);
1035
+ const present = numberFromWord(word(0), "present", 1) === 1;
1036
+ const delegatorShareBps = numberFromWord(word(1), "delegatorShareBps", 65535);
1037
+ const effectiveEpoch = u64FromWord(word(2));
1038
+ const signerCount = numberFromWord(word(3), "signerCount", 65535);
1039
+ if (!present) {
1040
+ return { present: false, delegatorShareBps: 0, effectiveEpoch, signerCount: 0, memberShareBps: [] };
1041
+ }
1042
+ const bytesOffset = Number(u64FromWord(word(4)));
1043
+ const lenAt = bytesOffset;
1044
+ if (bytes.length < lenAt + 32) {
1045
+ throw new NodeRegistryError("getPendingCharter bytes-length word out of range");
1046
+ }
1047
+ const sharesLen = Number(u64FromWord(bytes.slice(lenAt, lenAt + 32)));
1048
+ const sharesAt = lenAt + 32;
1049
+ if (sharesLen < 32 || bytes.length < sharesAt + 32) {
1050
+ throw new NodeRegistryError("getPendingCharter packed-shares word truncated");
1051
+ }
1052
+ const packed = bytes.slice(sharesAt, sharesAt + 32);
1053
+ const memberShareBps = [];
1054
+ for (let i = 0; i < NODE_REGISTRY_FORM_CLUSTER_MEMBER_COUNT; i += 1) {
1055
+ const at = 12 + 2 * i;
1056
+ memberShareBps.push(packed[at] << 8 | packed[at + 1]);
1057
+ }
1058
+ return { present: true, delegatorShareBps, effectiveEpoch, signerCount, memberShareBps };
1059
+ }
1060
+ function encodeCommitArchiveRootCalldata(args) {
1061
+ const leafCount = toUint64(args.leafCount, "leafCount");
1062
+ if (leafCount < NODE_REGISTRY_MIN_ARCHIVE_LEAF_COUNT) {
1063
+ throw new NodeRegistryError(
1064
+ `leafCount must be >= ${NODE_REGISTRY_MIN_ARCHIVE_LEAF_COUNT} (MIN_ARCHIVE_LEAF_COUNT), got ${leafCount}`
1065
+ );
1066
+ }
1067
+ return bytesToHex(
1068
+ concatBytes(
1069
+ hexToBytes(NODE_REGISTRY_SELECTORS.commitArchiveRoot),
1070
+ expectLength2(toBytes(args.peerId), 32, "peerId"),
1071
+ uint16Word(args.shardIndex),
1072
+ expectLength2(toBytes(args.shardRoot), 32, "shardRoot"),
1073
+ uint64Word(leafCount, "leafCount")
1074
+ )
1075
+ );
1076
+ }
1077
+ function encodeAnswerArchiveChallengeCalldata(args) {
1078
+ const leaf = toBytes(args.leaf);
1079
+ const proof = args.proof.map((p, i) => expectLength2(toBytes(p), 32, `proof[${i}]`));
1080
+ if (proof.length > NODE_REGISTRY_MAX_MERKLE_PROOF_DEPTH) {
1081
+ throw new NodeRegistryError(
1082
+ `proof length must be <= ${NODE_REGISTRY_MAX_MERKLE_PROOF_DEPTH}, got ${proof.length}`
1083
+ );
1084
+ }
1085
+ const leafPadded = padToWord(leaf);
1086
+ const leafOffset = 5n * 32n;
1087
+ const proofOffset = leafOffset + 32n + BigInt(leafPadded.length);
1088
+ const proofTail = concatBytes(
1089
+ uint64Word(BigInt(proof.length), "proofLength"),
1090
+ ...proof
1091
+ );
1092
+ return bytesToHex(
1093
+ concatBytes(
1094
+ hexToBytes(NODE_REGISTRY_SELECTORS.answerArchiveChallenge),
1095
+ expectLength2(toBytes(args.peerId), 32, "peerId"),
1096
+ uint16Word(args.shardIndex),
1097
+ uint64Word(args.epoch, "epoch"),
1098
+ uint64Word(leafOffset, "leafOffset"),
1099
+ uint64Word(proofOffset, "proofOffset"),
1100
+ uint64Word(BigInt(leaf.length), "leafLength"),
1101
+ leafPadded,
1102
+ proofTail
1103
+ )
1104
+ );
1105
+ }
1106
+ function slotEpochChallengeSeed(epoch) {
1107
+ const buf = new Uint8Array(1 + 8 + 1);
1108
+ buf[0] = NODE_REGISTRY_TAG_ARCHIVE_CHALLENGE;
1109
+ buf.set(u64BeBytes(toUint64(epoch, "epoch")), 1);
1110
+ buf[9] = NODE_REGISTRY_ARCHIVE_KIND_EPOCH_SEED;
1111
+ return bytesToHex(keccak_256(buf));
1112
+ }
1113
+ function protocolNonceForEpoch(seed, epoch) {
1114
+ const s = expectLength2(toBytes(seed), 32, "seed");
1115
+ const e = toUint64(epoch, "epoch");
1116
+ const digest = blake3(
1117
+ concatBytes(new TextEncoder().encode(NODE_REGISTRY_ARCHIVE_NONCE_DOMAIN), u64BeBytes(e), s)
1118
+ );
1119
+ let n = 0n;
1120
+ for (let i = 0; i < 8; i += 1) {
1121
+ n = n << 8n | BigInt(digest[i]);
1122
+ }
1123
+ return n;
1124
+ }
1125
+ function deriveArchiveChallenge(seed, opHash, shardIndex, epoch, leafCount) {
1126
+ const pinnedSeed = expectLength2(toBytes(seed), 32, "seed");
1127
+ const op = expectLength2(toBytes(opHash), 32, "opHash");
1128
+ const shard = expectUint16(shardIndex, "shardIndex");
1129
+ const e = toUint64(epoch, "epoch");
1130
+ const count = toUint64(leafCount, "leafCount");
1131
+ if (count === 0n) {
1132
+ return null;
1133
+ }
1134
+ const nonce = protocolNonceForEpoch(pinnedSeed, e);
1135
+ const challengeSeed = blake3(
1136
+ concatBytes(
1137
+ new TextEncoder().encode(NODE_REGISTRY_ARCHIVE_CHALLENGE_DOMAIN),
1138
+ pinnedSeed,
1139
+ op,
1140
+ u16BeBytes(shard),
1141
+ u64BeBytes(e),
1142
+ u64BeBytes(nonce)
1143
+ )
1144
+ );
1145
+ let idx = 0n;
1146
+ for (let i = 0; i < 8; i += 1) {
1147
+ idx = idx << 8n | BigInt(challengeSeed[i]);
1148
+ }
1149
+ return {
1150
+ opHash: bytesToHex(op),
1151
+ shardIndex: shard,
1152
+ leafIndex: idx % count,
1153
+ seed: bytesToHex(challengeSeed)
1154
+ };
1155
+ }
1156
+ function archiveMerkleLeafHash(leaf) {
1157
+ return blake3(concatBytes(Uint8Array.from([NODE_REGISTRY_MERKLE_LEAF_DOMAIN]), toBytes(leaf)));
1158
+ }
1159
+ function archiveMerkleInnerHash(left, right) {
1160
+ return blake3(
1161
+ concatBytes(
1162
+ Uint8Array.from([NODE_REGISTRY_MERKLE_INNER_DOMAIN]),
1163
+ expectLength2(toBytes(left), 32, "left"),
1164
+ expectLength2(toBytes(right), 32, "right")
1165
+ )
1166
+ );
1167
+ }
1168
+ function encodeSetProbeAuthorityCalldata(probeAuthority) {
1169
+ return bytesToHex(
1170
+ concatBytes(
1171
+ hexToBytes(NODE_REGISTRY_SELECTORS.setProbeAuthority),
1172
+ addressWord(probeAuthority, "probeAuthority")
1173
+ )
1174
+ );
1175
+ }
1176
+ function encodeGetProbeAuthorityCalldata() {
1177
+ return NODE_REGISTRY_SELECTORS.getProbeAuthority;
1178
+ }
1179
+ function decodeProbeAuthority(returnData) {
1180
+ const bytes = expectLength2(toBytes(returnData), 32, "probeAuthority");
1181
+ return bytesToHex(bytes.slice(12, 32));
1182
+ }
1183
+ function encodeAttestServiceProbeCalldata(args) {
1184
+ if (!isValidPublicServiceProbeMask(args.serviceMask)) {
1185
+ throw new NodeRegistryError(
1186
+ `serviceMask 0x${args.serviceMask.toString(16).padStart(8, "0")} is not a valid public-service mask`
1187
+ );
1188
+ }
1189
+ if (!isConcreteServiceProbeStatus(args.status)) {
1190
+ throw new NodeRegistryError(`status ${args.status} is not a concrete service-probe outcome`);
1191
+ }
1192
+ return bytesToHex(
1193
+ concatBytes(
1194
+ hexToBytes(NODE_REGISTRY_SELECTORS.attestServiceProbe),
1195
+ expectLength2(toBytes(args.opHash), 32, "opHash"),
1196
+ uint32Word(args.serviceMask),
1197
+ uint8Word(args.status),
1198
+ uint64Word(args.epoch, "epoch")
1199
+ )
1200
+ );
1201
+ }
1202
+ function slotClusterServiceScore(clusterId) {
1203
+ return scoreSlotHex(0, u32BeBytes(toUint32(clusterId, "clusterId")));
1204
+ }
1205
+ function slotArchiveChallengePass(clusterId, epoch) {
1206
+ return scoreSlotHex(
1207
+ 1,
1208
+ concatBytes(u32BeBytes(toUint32(clusterId, "clusterId")), u64BeBytes(toUint64(epoch, "epoch")))
1209
+ );
1210
+ }
1211
+ function slotScoreServiceProbe(opHash, serviceBit) {
1212
+ if (!Number.isInteger(serviceBit) || serviceBit < 0 || serviceBit > 255) {
1213
+ throw new NodeRegistryError("serviceBit must be a u8 bit index");
1214
+ }
1215
+ return scoreSlotHex(
1216
+ 2,
1217
+ concatBytes(expectLength2(toBytes(opHash), 32, "opHash"), Uint8Array.from([serviceBit]))
1218
+ );
1219
+ }
1220
+ function serviceMaskToBitIndex(mask) {
1221
+ if (!Number.isInteger(mask) || mask <= 0 || (mask & mask - 1) !== 0) {
1222
+ return null;
1223
+ }
1224
+ let bit = 0;
1225
+ let m = mask >>> 0;
1226
+ while ((m & 1) === 0) {
1227
+ m >>>= 1;
1228
+ bit += 1;
1229
+ }
1230
+ return bit;
1231
+ }
1232
+ function decodeScoreServiceProbe(word) {
1233
+ const bytes = expectLength2(toBytes(word), 32, "scoreServiceProbeWord");
1234
+ const status = bytes[31];
1235
+ let packed = 0n;
1236
+ for (const b of bytes) {
1237
+ packed = packed << 8n | BigInt(b);
1238
+ }
1239
+ return { epoch: packed >> 8n, status };
1240
+ }
1241
+ function slotProbeAuthority() {
1242
+ const buf = new Uint8Array(1 + 32 + 1);
1243
+ buf[0] = NODE_REGISTRY_TAG_TREASURY;
1244
+ buf[33] = 10;
1245
+ return bytesToHex(keccak_256(buf));
1246
+ }
1247
+ function slotClusterCharter(clusterId, subkind) {
1248
+ if (!Number.isInteger(subkind) || subkind < 0 || subkind > 255) {
1249
+ throw new NodeRegistryError("charter subkind must be a u8");
1250
+ }
1251
+ const buf = new Uint8Array(1 + 4 + 1);
1252
+ buf[0] = NODE_REGISTRY_TAG_CLUSTER_CHARTER;
1253
+ buf.set(u32BeBytes(toUint32(clusterId, "clusterId")), 1);
1254
+ buf[5] = subkind;
1255
+ return bytesToHex(keccak_256(buf));
1256
+ }
1257
+ function slotClusterCharterDelegator(clusterId) {
1258
+ return slotClusterCharter(clusterId, NODE_REGISTRY_SUBKIND_CHARTER_DELEGATOR_BPS);
1259
+ }
1260
+ function slotClusterCharterMembers(clusterId) {
1261
+ return slotClusterCharter(clusterId, NODE_REGISTRY_SUBKIND_CHARTER_MEMBER_SHARES);
1262
+ }
1263
+ function decodeActiveCharter(delegatorWord, membersWord) {
1264
+ const presence = expectLength2(toBytes(delegatorWord), 32, "charterDelegatorWord");
1265
+ let raw = 0n;
1266
+ for (const b of presence) {
1267
+ raw = raw << 8n | BigInt(b);
1268
+ }
1269
+ if (raw === 0n) {
1270
+ return { present: false, delegatorShareBps: 0, memberShareBps: [] };
1271
+ }
1272
+ const delegatorShareBps = Number(raw - 1n > 0xffffn ? 0xffffn : raw - 1n);
1273
+ const packed = expectLength2(toBytes(membersWord), 32, "charterMembersWord");
1274
+ const memberShareBps = [];
1275
+ for (let i = 0; i < NODE_REGISTRY_FORM_CLUSTER_MEMBER_COUNT; i += 1) {
1276
+ const at = 12 + 2 * i;
1277
+ memberShareBps.push(packed[at] << 8 | packed[at + 1]);
1278
+ }
1279
+ return { present: true, delegatorShareBps, memberShareBps };
1280
+ }
966
1281
  function decodeClusterJoinRequest(returnData) {
967
1282
  const bytes = expectLength2(toBytes(returnData), 8 * 32, "clusterJoinRequest");
968
1283
  const word = (i) => bytes.slice(i * 32, (i + 1) * 32);
@@ -1141,6 +1456,43 @@ function u16BeBytes(value) {
1141
1456
  }
1142
1457
  return Uint8Array.from([value >>> 8 & 255, value & 255]);
1143
1458
  }
1459
+ function expectUint16(value, name) {
1460
+ if (!Number.isInteger(value) || value < 0 || value > 65535) {
1461
+ throw new NodeRegistryError(`${name} must be a uint16`);
1462
+ }
1463
+ return value;
1464
+ }
1465
+ function uint16Word(value) {
1466
+ const out = new Uint8Array(32);
1467
+ out.set(u16BeBytes(value), 30);
1468
+ return out;
1469
+ }
1470
+ function addressWord(value, name) {
1471
+ const addr = expectLength2(toBytes(value), 20, name);
1472
+ const out = new Uint8Array(32);
1473
+ out.set(addr, 12);
1474
+ return out;
1475
+ }
1476
+ function flattenFixedWidth(value, width, name) {
1477
+ let flat;
1478
+ if (Array.isArray(value) && value.length > 0 && typeof value[0] !== "number") {
1479
+ const parts = value.map(
1480
+ (v, i) => expectLength2(toBytes(v), width, `${name}[${i}]`)
1481
+ );
1482
+ flat = concatBytes(...parts);
1483
+ } else {
1484
+ flat = toBytes(value);
1485
+ }
1486
+ if (flat.length === 0 || flat.length % width !== 0) {
1487
+ throw new NodeRegistryError(`${name} must be a non-empty multiple of ${width} bytes, got ${flat.length}`);
1488
+ }
1489
+ return flat;
1490
+ }
1491
+ function scoreSlotHex(kind, tail) {
1492
+ return bytesToHex(
1493
+ keccak_256(concatBytes(Uint8Array.from([NODE_REGISTRY_TAG_SERVICE_SCORE, kind]), tail))
1494
+ );
1495
+ }
1144
1496
  function compareBytes(a, b) {
1145
1497
  const len = Math.min(a.length, b.length);
1146
1498
  for (let i = 0; i < len; i++) {
@@ -1312,6 +1664,84 @@ function decodeDynamicBytesResult(bytes, expectedLength, label) {
1312
1664
  return bytes.slice(64, 64 + expectedLength);
1313
1665
  }
1314
1666
 
1667
+ // src/native-events.ts
1668
+ var NATIVE_MARKET_EVENT_FAMILY = "market";
1669
+ function nativeMarketEventFilter(filter = {}) {
1670
+ return { ...filter, family: NATIVE_MARKET_EVENT_FAMILY };
1671
+ }
1672
+ function isNativeDecodedEvent(value) {
1673
+ const row = asRecord(value);
1674
+ return row !== null && typeof row["block_height"] === "number" && typeof row["tx_index"] === "number" && typeof row["sequence"] === "number" && typeof row["family"] === "string" && typeof row["event_name"] === "string" && typeof row["payload_hash"] === "string";
1675
+ }
1676
+ function parseNativeDecodedEvent(event) {
1677
+ if (isNativeDecodedEvent(event.decoded)) {
1678
+ return event.decoded;
1679
+ }
1680
+ try {
1681
+ const parsed = JSON.parse(event.decodedJson);
1682
+ if (isNativeDecodedEvent(parsed)) {
1683
+ return parsed;
1684
+ }
1685
+ } catch {
1686
+ }
1687
+ throw SdkError.malformed(
1688
+ `native event ${event.eventTopic} at logIndex ${event.logIndex} is missing a typed decoded payload`
1689
+ );
1690
+ }
1691
+ function nativeEventMatches(event, filter = {}) {
1692
+ if (filter.address !== void 0 && event.address !== filter.address) return false;
1693
+ if (filter.eventTopic !== void 0 && event.eventTopic !== filter.eventTopic) return false;
1694
+ if (filter.family === void 0 && filter.eventName === void 0) return true;
1695
+ let decoded;
1696
+ try {
1697
+ decoded = parseNativeDecodedEvent(event);
1698
+ } catch {
1699
+ return false;
1700
+ }
1701
+ if (filter.family !== void 0 && decoded.family !== filter.family) return false;
1702
+ if (filter.eventName !== void 0 && decoded.event_name !== filter.eventName) return false;
1703
+ return true;
1704
+ }
1705
+ function nativeEventsFromReceipt(receipt, filter = {}) {
1706
+ return receipt.events.filter((event) => nativeEventMatches(event, filter)).map((event) => ({
1707
+ ...event,
1708
+ decoded: parseNativeDecodedEvent(event)
1709
+ }));
1710
+ }
1711
+ function nativeMarketEventsFromReceipt(receipt, filter = {}) {
1712
+ return nativeEventsFromReceipt(receipt, nativeMarketEventFilter(filter));
1713
+ }
1714
+ function nativeEventsFromHistory(response) {
1715
+ return {
1716
+ ...response,
1717
+ events: response.events.map((event) => ({
1718
+ ...event,
1719
+ decoded: parseNativeDecodedEvent(event)
1720
+ }))
1721
+ };
1722
+ }
1723
+ function nativeMarketEventsFromHistory(response) {
1724
+ return {
1725
+ ...response,
1726
+ filters: { ...response.filters, family: NATIVE_MARKET_EVENT_FAMILY },
1727
+ events: response.events.filter((event) => nativeEventMatches(event, { family: NATIVE_MARKET_EVENT_FAMILY })).map((event) => ({
1728
+ ...event,
1729
+ decoded: parseNativeDecodedEvent(event)
1730
+ }))
1731
+ };
1732
+ }
1733
+ async function consumeNativeEvents(receipt, consumer, filter = {}) {
1734
+ const events = nativeEventsFromReceipt(receipt, filter);
1735
+ for (const event of events) {
1736
+ await consumer(event);
1737
+ }
1738
+ return events.length;
1739
+ }
1740
+ function asRecord(value) {
1741
+ if (value === null || typeof value !== "object" || Array.isArray(value)) return null;
1742
+ return value;
1743
+ }
1744
+
1315
1745
  // src/crypto/bytes.ts
1316
1746
  function concatBytes2(...chunks) {
1317
1747
  const len = chunks.reduce((n, c) => n + c.length, 0);
@@ -2966,8 +3396,8 @@ var TESTNET_69420 = {
2966
3396
  network: "testnet-69420",
2967
3397
  display_name: "Monolythium Testnet",
2968
3398
  description: "Public Monolythium testnet. Testnet state may reset without notice; do not store value on this network.",
2969
- genesis_hash: "0x0d2903aeac5aa127b3fb75cd1405c2c193896981e8897671792d3817a6fdf689",
2970
- binary_sha: "52f1694c5a6d",
3399
+ genesis_hash: "0x11774775b5c3bfc36ecb9c37e7252b49898caaacdb55668de3913fe60c660258",
3400
+ binary_sha: "b4257f14",
2971
3401
  rpc: [
2972
3402
  {
2973
3403
  url: "http://178.105.12.9:8545",
@@ -3026,18 +3456,18 @@ var TESTNET_69420 = {
3026
3456
  notes: "operator-8"
3027
3457
  },
3028
3458
  {
3029
- url: "http://162.55.54.198:8545",
3459
+ url: "http://95.217.156.190:8545",
3030
3460
  provider: "monolythium-foundation",
3031
- region: "fsn1",
3461
+ region: "hel1",
3032
3462
  tier: "official",
3033
- notes: "operator-9"
3463
+ notes: "operator-10"
3034
3464
  },
3035
3465
  {
3036
- url: "http://95.217.156.190:8545",
3466
+ url: "http://162.55.54.198:8545",
3037
3467
  provider: "monolythium-foundation",
3038
- region: "hel1",
3468
+ region: "fsn1",
3039
3469
  tier: "official",
3040
- notes: "operator-10"
3470
+ notes: "operator-9"
3041
3471
  },
3042
3472
  {
3043
3473
  url: "http://178.105.45.210:8545",
@@ -3668,7 +4098,7 @@ function encodeStringAddressCall(selector, name, address) {
3668
4098
  hexToBytes4(selector),
3669
4099
  // Two head words (string offset, address) → string tail starts at 0x40.
3670
4100
  uint256Word(0x40n),
3671
- addressWord(address),
4101
+ addressWord2(address),
3672
4102
  uint256Word(BigInt(nameBytes.length)),
3673
4103
  padTo32(nameBytes)
3674
4104
  )
@@ -3692,7 +4122,7 @@ function selectorHex2(signature) {
3692
4122
  const sel = keccak_256(new TextEncoder().encode(signature)).slice(0, 4);
3693
4123
  return `0x${[...sel].map((b) => b.toString(16).padStart(2, "0")).join("")}`;
3694
4124
  }
3695
- function addressWord(value) {
4125
+ function addressWord2(value) {
3696
4126
  const out = new Uint8Array(32);
3697
4127
  if (value == null) return out;
3698
4128
  const bytes = toBytes2(value);
@@ -4370,6 +4800,55 @@ var RpcClient = class _RpcClient {
4370
4800
  async lythGetClusterDiversity(clusterId) {
4371
4801
  return this.call("lyth_getClusterDiversity", [clusterId]);
4372
4802
  }
4803
+ /**
4804
+ * Component H — read a cluster's ACTIVE economics charter (Law §6.8).
4805
+ *
4806
+ * There is no `lyth_*` / view-selector for the active charter, so this
4807
+ * SLOADs the two `TAG_CLUSTER_CHARTER` (`0x31`) storage words from the
4808
+ * node-registry account `0x1005` via `eth_getStorageAt` and decodes them
4809
+ * with {@link decodeActiveCharter}. Returns `{ present: false }` (zeroed
4810
+ * shares) for genesis / 3-arg-formCluster clusters that never adopted a
4811
+ * charter. The active record carries no `effectiveEpoch` — that lives on
4812
+ * the pending amendment ({@link lythGetPendingCharter}).
4813
+ */
4814
+ async lythGetClusterCharter(clusterId, block = "latest") {
4815
+ const registry = nodeRegistryAddressHex();
4816
+ const [delegator, members] = await Promise.all([
4817
+ this.ethGetStorageAt(registry, slotClusterCharterDelegator(clusterId), block),
4818
+ this.ethGetStorageAt(registry, slotClusterCharterMembers(clusterId), block)
4819
+ ]);
4820
+ return decodeActiveCharter(delegator.value, members.value);
4821
+ }
4822
+ /**
4823
+ * Component H — read a cluster's PENDING charter amendment (Law §6.8).
4824
+ *
4825
+ * Calls the `getPendingCharter(uint32)` view on the node-registry account
4826
+ * `0x1005` over `eth_call` and decodes the return with
4827
+ * {@link decodePendingCharter}. Returns `{ present: false }` when no
4828
+ * amendment is posted; otherwise carries the proposed shares plus the
4829
+ * `effectiveEpoch` at which the delegator-protective cooldown lands.
4830
+ */
4831
+ async lythGetPendingCharter(clusterId, block = "latest") {
4832
+ const data = await this.ethCall(
4833
+ { to: nodeRegistryAddressHex(), data: encodeGetPendingCharterCalldata(clusterId) },
4834
+ block
4835
+ );
4836
+ return decodePendingCharter(data);
4837
+ }
4838
+ /**
4839
+ * Component A — read a cluster's settled per-cluster ServiceScore (the
4840
+ * `u64` the reward path reads each block). SLOADs the `TAG_SERVICE_SCORE`
4841
+ * (`0x24`) score slot from `0x1005` via `eth_getStorageAt`; `0n` means the
4842
+ * cluster has never been scored.
4843
+ */
4844
+ async lythGetClusterServiceScore(clusterId, block = "latest") {
4845
+ const word = await this.ethGetStorageAt(
4846
+ nodeRegistryAddressHex(),
4847
+ slotClusterServiceScore(clusterId),
4848
+ block
4849
+ );
4850
+ return parseQuantityBig(word.value);
4851
+ }
4373
4852
  /**
4374
4853
  * PF-6 — `lyth_getOperatorNetworkMetadata`: ASN/geo/hosting-class/IP/PCR
4375
4854
  * for a peer. `operatorId` is the 32-byte operator/peer id as `0x…` hex
@@ -6236,7 +6715,7 @@ function encodeSetBridgeRouteFinalityCalldata(bridgeId, finalityBlocks) {
6236
6715
  function bridgeSelector(signature) {
6237
6716
  return keccak_256(new TextEncoder().encode(signature)).slice(0, 4);
6238
6717
  }
6239
- function addressWord2(value, name) {
6718
+ function addressWord3(value, name) {
6240
6719
  const addr = expectLength3(toBytes3(value), 20, name);
6241
6720
  const out = new Uint8Array(32);
6242
6721
  out.set(addr, 12);
@@ -6255,7 +6734,7 @@ function encodeBridgeClaimCalldata(bridgeId, depositId, recipient) {
6255
6734
  bridgeSelector("claim(bytes32,bytes32,address)"),
6256
6735
  expectLength3(toBytes3(bridgeId), 32, "bridgeId"),
6257
6736
  expectLength3(toBytes3(depositId), 32, "depositId"),
6258
- addressWord2(recipient, "recipient")
6737
+ addressWord3(recipient, "recipient")
6259
6738
  )
6260
6739
  );
6261
6740
  }
@@ -9249,8 +9728,8 @@ function encodeTokenFactoryTransferFromCalldata(tokenId, from, to, amount) {
9249
9728
  concatBytes2(
9250
9729
  hexToBytes2(TOKEN_FACTORY_SELECTORS.transferFrom, "transferFrom selector"),
9251
9730
  bytes32(tokenId, "tokenId"),
9252
- addressWord3(from, "from"),
9253
- addressWord3(to, "to"),
9731
+ addressWord4(from, "from"),
9732
+ addressWord4(to, "to"),
9254
9733
  uint256Word2(parseUint(amount, "amount"), "amount")
9255
9734
  )
9256
9735
  );
@@ -9272,8 +9751,8 @@ function encodeTokenFactoryAllowanceCalldata(tokenId, owner, spender) {
9272
9751
  concatBytes2(
9273
9752
  hexToBytes2(TOKEN_FACTORY_SELECTORS.allowance, "allowance selector"),
9274
9753
  bytes32(tokenId, "tokenId"),
9275
- addressWord3(owner, "owner"),
9276
- addressWord3(spender, "spender")
9754
+ addressWord4(owner, "owner"),
9755
+ addressWord4(spender, "spender")
9277
9756
  )
9278
9757
  );
9279
9758
  }
@@ -9340,7 +9819,7 @@ function encodeBytes32Address(selector, tokenId, address) {
9340
9819
  concatBytes2(
9341
9820
  hexToBytes2(selector, "selector"),
9342
9821
  bytes32(tokenId, "tokenId"),
9343
- addressWord3(address, "address")
9822
+ addressWord4(address, "address")
9344
9823
  )
9345
9824
  );
9346
9825
  }
@@ -9349,7 +9828,7 @@ function encodeBytes32AddressUint(selector, tokenId, address, amount) {
9349
9828
  concatBytes2(
9350
9829
  hexToBytes2(selector, "selector"),
9351
9830
  bytes32(tokenId, "tokenId"),
9352
- addressWord3(address, "address"),
9831
+ addressWord4(address, "address"),
9353
9832
  uint256Word2(parseUint(amount, "amount"), "amount")
9354
9833
  )
9355
9834
  );
@@ -9375,7 +9854,7 @@ function padTo323(bytes) {
9375
9854
  out.set(bytes);
9376
9855
  return out;
9377
9856
  }
9378
- function addressWord3(value, label) {
9857
+ function addressWord4(value, label) {
9379
9858
  const out = new Uint8Array(32);
9380
9859
  out.set(addressBytes(value, label), 12);
9381
9860
  return out;
@@ -9890,7 +10369,7 @@ function encodeDelegateCalldata(cluster, weightBps) {
9890
10369
  concatBytes8(
9891
10370
  hexToBytes8(DELEGATION_SELECTORS.delegate),
9892
10371
  uint32Word2(cluster, "cluster"),
9893
- uint16Word(weightBps, "weightBps")
10372
+ uint16Word2(weightBps, "weightBps")
9894
10373
  )
9895
10374
  );
9896
10375
  }
@@ -9908,7 +10387,7 @@ function encodeRedelegateCalldata(fromCluster, toCluster, weightBps) {
9908
10387
  hexToBytes8(DELEGATION_SELECTORS.redelegate),
9909
10388
  uint32Word2(fromCluster, "fromCluster"),
9910
10389
  uint32Word2(toCluster, "toCluster"),
9911
- uint16Word(weightBps, "weightBps")
10390
+ uint16Word2(weightBps, "weightBps")
9912
10391
  )
9913
10392
  );
9914
10393
  }
@@ -9938,7 +10417,7 @@ function uint32Word2(value, name) {
9938
10417
  }
9939
10418
  return out;
9940
10419
  }
9941
- function uint16Word(value, name) {
10420
+ function uint16Word2(value, name) {
9942
10421
  const n = toBigint3(value, name);
9943
10422
  if (n < 0n || n > 0xffffn) {
9944
10423
  throw new DelegationPrecompileError(`${name} must fit uint16`);
@@ -10349,9 +10828,9 @@ function decodeHasPubkeyReturn(data) {
10349
10828
  throw new PubkeyRegistryError("hasPubkey bool must be 0 or 1");
10350
10829
  }
10351
10830
  function encodeSingleAddressCall2(selector, address) {
10352
- return bytesToHex11(concatBytes10(hexToBytes10(selector), addressWord4(toAddressBytes(address))));
10831
+ return bytesToHex11(concatBytes10(hexToBytes10(selector), addressWord5(toAddressBytes(address))));
10353
10832
  }
10354
- function addressWord4(address) {
10833
+ function addressWord5(address) {
10355
10834
  return concatBytes10(new Uint8Array(12), address);
10356
10835
  }
10357
10836
  function toAddressBytes(value) {
@@ -10560,7 +11039,7 @@ function encodePlaceMarketOrderCalldata(args) {
10560
11039
  normalized.quoteTokenId,
10561
11040
  uint8Word2(normalized.side),
10562
11041
  uint256Word5(normalized.quantity, "quantity"),
10563
- uint16Word2(normalized.maxSlippageBps, "maxSlippageBps")
11042
+ uint16Word3(normalized.maxSlippageBps, "maxSlippageBps")
10564
11043
  )
10565
11044
  );
10566
11045
  }
@@ -10573,7 +11052,7 @@ function encodePlaceMarketOrderExCalldata(args) {
10573
11052
  normalized.quoteTokenId,
10574
11053
  uint8Word2(normalized.side),
10575
11054
  uint256Word5(normalized.quantity, "quantity"),
10576
- uint16Word2(normalized.maxSlippageBps, "maxSlippageBps"),
11055
+ uint16Word3(normalized.maxSlippageBps, "maxSlippageBps"),
10577
11056
  uint8Word2(normalized.mode)
10578
11057
  )
10579
11058
  );
@@ -10880,7 +11359,7 @@ function encodePlaceLimitOrderViaCalldata(args) {
10880
11359
  return bytesToHex2(
10881
11360
  concatBytes2(
10882
11361
  hexToBytes2(OPERATOR_ROUTER_SELECTORS.placeLimitOrderVia, "placeLimitOrderVia selector"),
10883
- addressWord5(operator.bytes),
11362
+ addressWord6(operator.bytes),
10884
11363
  bytes32FromHex(args.base, "base"),
10885
11364
  bytes32FromHex(args.quote, "quote"),
10886
11365
  uint8Word2(side),
@@ -11188,7 +11667,7 @@ function uint64Word3(value, name) {
11188
11667
  }
11189
11668
  return out;
11190
11669
  }
11191
- function uint16Word2(value, name) {
11670
+ function uint16Word3(value, name) {
11192
11671
  if (value < 0n || value > 0xffffn) {
11193
11672
  throw new MarketActionError(`${name} must fit uint16`);
11194
11673
  }
@@ -11209,7 +11688,7 @@ function uint256Word5(value, name) {
11209
11688
  }
11210
11689
  return out;
11211
11690
  }
11212
- function addressWord5(addr) {
11691
+ function addressWord6(addr) {
11213
11692
  if (addr.length !== 20) {
11214
11693
  throw new MarketActionError("address must be 20 bytes");
11215
11694
  }
@@ -11749,8 +12228,8 @@ var MONOLYTHIUM_NETWORKS = {
11749
12228
  };
11750
12229
 
11751
12230
  // src/index.ts
11752
- var version = "0.4.8";
12231
+ var version = "0.4.17";
11753
12232
 
11754
- 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_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_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, encodeClusterCharter, encodeCreateFixedSupplyMrc20Calldata, encodeCreateRequestCalldata, encodeCreateRequestCanonical, encodeCreateTokenCalldata, encodeDelegateCalldata, encodeDisableCalldata, encodeEnableCalldata, encodeExpireClusterJoinCalldata, encodeFormClusterCalldata, encodeFormClusterV2Calldata, 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, 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, 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 };
12233
+ 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_SUBKIND_CHARTER_DELEGATOR_BPS, NODE_REGISTRY_SUBKIND_CHARTER_MEMBER_SHARES, NODE_REGISTRY_TAG_ARCHIVE_CHALLENGE, NODE_REGISTRY_TAG_CLUSTER_CHARTER, 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, decodeActiveCharter, 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, slotClusterCharter, slotClusterCharterDelegator, slotClusterCharterMembers, 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 };
11755
12234
  //# sourceMappingURL=index.js.map
11756
12235
  //# sourceMappingURL=index.js.map