@sparkdreamnft/sparkdreamjs 0.0.36 → 0.0.37

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.
Files changed (33) hide show
  1. package/esm/sparkdream/federation/v1/genesis.js +101 -3
  2. package/esm/sparkdream/federation/v1/params.js +129 -117
  3. package/esm/sparkdream/federation/v1/query.js +204 -7
  4. package/esm/sparkdream/federation/v1/query.lcd.js +11 -2
  5. package/esm/sparkdream/federation/v1/query.rpc.Query.js +16 -3
  6. package/esm/sparkdream/federation/v1/types.js +73 -1
  7. package/esm/sparkdream/federation/v1/verifier_activity.js +143 -45
  8. package/esm/sparkdream/rep/v1/bonded_role.js +37 -1
  9. package/esm/sparkdream/rep/v1/params.js +194 -2
  10. package/esm/sparkdream/rep/v1/role_activity.js +13 -1
  11. package/package.json +1 -1
  12. package/sparkdream/bundle.d.ts +50 -0
  13. package/sparkdream/federation/v1/genesis.d.ts +66 -0
  14. package/sparkdream/federation/v1/genesis.js +102 -4
  15. package/sparkdream/federation/v1/params.d.ts +72 -10
  16. package/sparkdream/federation/v1/params.js +129 -117
  17. package/sparkdream/federation/v1/query.d.ts +120 -3
  18. package/sparkdream/federation/v1/query.js +204 -7
  19. package/sparkdream/federation/v1/query.lcd.d.ts +2 -1
  20. package/sparkdream/federation/v1/query.lcd.js +11 -2
  21. package/sparkdream/federation/v1/query.rpc.Query.d.ts +13 -3
  22. package/sparkdream/federation/v1/query.rpc.Query.js +15 -2
  23. package/sparkdream/federation/v1/types.d.ts +44 -0
  24. package/sparkdream/federation/v1/types.js +73 -1
  25. package/sparkdream/federation/v1/verifier_activity.d.ts +151 -68
  26. package/sparkdream/federation/v1/verifier_activity.js +144 -46
  27. package/sparkdream/rep/v1/bonded_role.d.ts +42 -0
  28. package/sparkdream/rep/v1/bonded_role.js +37 -1
  29. package/sparkdream/rep/v1/params.d.ts +96 -0
  30. package/sparkdream/rep/v1/params.js +194 -2
  31. package/sparkdream/rep/v1/role_activity.d.ts +26 -0
  32. package/sparkdream/rep/v1/role_activity.js +13 -1
  33. package/sparkdream/rpc.query.d.ts +1 -0
@@ -1,12 +1,13 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.QueryGetEscalatedChallengeResponse = exports.QueryGetEscalatedChallengeRequest = exports.QueryGetVerificationRecordResponse = exports.QueryGetVerificationRecordRequest = exports.QueryVerifierActivityResponse = exports.QueryVerifierActivityRequest = exports.QueryListOutboundAttestationsResponse = exports.QueryListOutboundAttestationsRequest = exports.QueryGetReputationAttestationResponse = exports.QueryGetReputationAttestationRequest = exports.QueryListPendingIdentityChallengesResponse = exports.QueryListPendingIdentityChallengesRequest = exports.QueryGetPendingIdentityChallengeResponse = exports.QueryGetPendingIdentityChallengeRequest = exports.QueryResolveRemoteIdentityResponse = exports.QueryResolveRemoteIdentityRequest = exports.QueryListIdentityLinksResponse = exports.QueryListIdentityLinksRequest = exports.QueryGetIdentityLinkResponse = exports.QueryGetIdentityLinkRequest = exports.QueryListFederatedContentResponse = exports.QueryListFederatedContentRequest = exports.QueryGetFederatedContentResponse = exports.QueryGetFederatedContentRequest = exports.QueryListBridgeBindingsResponse = exports.QueryListBridgeBindingsRequest = exports.QueryGetBridgeBindingResponse = exports.QueryGetBridgeBindingRequest = exports.QueryGetPeerPolicyResponse = exports.QueryGetPeerPolicyRequest = exports.QueryListPeersResponse = exports.QueryListPeersRequest = exports.QueryGetPeerResponse = exports.QueryGetPeerRequest = exports.QueryParamsResponse = exports.QueryParamsRequest = void 0;
3
+ exports.QueryGetEscalatedChallengeResponse = exports.QueryGetEscalatedChallengeRequest = exports.QueryGetVerificationRecordResponse = exports.QueryGetVerificationRecordRequest = exports.QueryOperatorRewardPoolResponse = exports.QueryOperatorRewardPoolRequest = exports.QueryVerifierActivityResponse = exports.QueryVerifierActivityRequest = exports.QueryListOutboundAttestationsResponse = exports.QueryListOutboundAttestationsRequest = exports.QueryGetReputationAttestationResponse = exports.QueryGetReputationAttestationRequest = exports.QueryListPendingIdentityChallengesResponse = exports.QueryListPendingIdentityChallengesRequest = exports.QueryGetPendingIdentityChallengeResponse = exports.QueryGetPendingIdentityChallengeRequest = exports.QueryResolveRemoteIdentityResponse = exports.QueryResolveRemoteIdentityRequest = exports.QueryListIdentityLinksResponse = exports.QueryListIdentityLinksRequest = exports.QueryGetIdentityLinkResponse = exports.QueryGetIdentityLinkRequest = exports.QueryListFederatedContentResponse = exports.QueryListFederatedContentRequest = exports.QueryGetFederatedContentResponse = exports.QueryGetFederatedContentRequest = exports.QueryListBridgeBindingsResponse = exports.QueryListBridgeBindingsRequest = exports.QueryGetBridgeBindingResponse = exports.QueryGetBridgeBindingRequest = exports.QueryGetPeerPolicyResponse = exports.QueryGetPeerPolicyRequest = exports.QueryListPeersResponse = exports.QueryListPeersRequest = exports.QueryGetPeerResponse = exports.QueryGetPeerRequest = exports.QueryParamsResponse = exports.QueryParamsRequest = void 0;
4
4
  //@ts-nocheck
5
5
  const pagination_1 = require("../../../cosmos/base/query/v1beta1/pagination");
6
6
  const params_1 = require("./params");
7
7
  const types_1 = require("./types");
8
8
  const verifier_activity_1 = require("./verifier_activity");
9
9
  const binary_1 = require("../../../binary");
10
+ const math_1 = require("@interchainjs/math");
10
11
  function createBaseQueryParamsRequest() {
11
12
  return {};
12
13
  }
@@ -2282,7 +2283,7 @@ exports.QueryVerifierActivityRequest = {
2282
2283
  };
2283
2284
  function createBaseQueryVerifierActivityResponse() {
2284
2285
  return {
2285
- activity: verifier_activity_1.VerifierActivity.fromPartial({})
2286
+ activity: verifier_activity_1.VerifierActivityView.fromPartial({})
2286
2287
  };
2287
2288
  }
2288
2289
  /**
@@ -2294,7 +2295,7 @@ exports.QueryVerifierActivityResponse = {
2294
2295
  typeUrl: "/sparkdream.federation.v1.QueryVerifierActivityResponse",
2295
2296
  encode(message, writer = binary_1.BinaryWriter.create()) {
2296
2297
  if (message.activity !== undefined) {
2297
- verifier_activity_1.VerifierActivity.encode(message.activity, writer.uint32(10).fork()).ldelim();
2298
+ verifier_activity_1.VerifierActivityView.encode(message.activity, writer.uint32(10).fork()).ldelim();
2298
2299
  }
2299
2300
  return writer;
2300
2301
  },
@@ -2306,7 +2307,7 @@ exports.QueryVerifierActivityResponse = {
2306
2307
  const tag = reader.uint32();
2307
2308
  switch (tag >>> 3) {
2308
2309
  case 1:
2309
- message.activity = verifier_activity_1.VerifierActivity.decode(reader, reader.uint32());
2310
+ message.activity = verifier_activity_1.VerifierActivityView.decode(reader, reader.uint32());
2310
2311
  break;
2311
2312
  default:
2312
2313
  reader.skipType(tag & 7);
@@ -2317,19 +2318,19 @@ exports.QueryVerifierActivityResponse = {
2317
2318
  },
2318
2319
  fromPartial(object) {
2319
2320
  const message = createBaseQueryVerifierActivityResponse();
2320
- message.activity = object.activity !== undefined && object.activity !== null ? verifier_activity_1.VerifierActivity.fromPartial(object.activity) : undefined;
2321
+ message.activity = object.activity !== undefined && object.activity !== null ? verifier_activity_1.VerifierActivityView.fromPartial(object.activity) : undefined;
2321
2322
  return message;
2322
2323
  },
2323
2324
  fromAmino(object) {
2324
2325
  const message = createBaseQueryVerifierActivityResponse();
2325
2326
  if (object.activity !== undefined && object.activity !== null) {
2326
- message.activity = verifier_activity_1.VerifierActivity.fromAmino(object.activity);
2327
+ message.activity = verifier_activity_1.VerifierActivityView.fromAmino(object.activity);
2327
2328
  }
2328
2329
  return message;
2329
2330
  },
2330
2331
  toAmino(message) {
2331
2332
  const obj = {};
2332
- obj.activity = message.activity ? verifier_activity_1.VerifierActivity.toAmino(message.activity) : undefined;
2333
+ obj.activity = message.activity ? verifier_activity_1.VerifierActivityView.toAmino(message.activity) : undefined;
2333
2334
  return obj;
2334
2335
  },
2335
2336
  fromAminoMsg(object) {
@@ -2348,6 +2349,202 @@ exports.QueryVerifierActivityResponse = {
2348
2349
  };
2349
2350
  }
2350
2351
  };
2352
+ function createBaseQueryOperatorRewardPoolRequest() {
2353
+ return {};
2354
+ }
2355
+ /**
2356
+ * --- Operator reward pool ---
2357
+ * @name QueryOperatorRewardPoolRequest
2358
+ * @package sparkdream.federation.v1
2359
+ * @see proto type: sparkdream.federation.v1.QueryOperatorRewardPoolRequest
2360
+ */
2361
+ exports.QueryOperatorRewardPoolRequest = {
2362
+ typeUrl: "/sparkdream.federation.v1.QueryOperatorRewardPoolRequest",
2363
+ encode(_, writer = binary_1.BinaryWriter.create()) {
2364
+ return writer;
2365
+ },
2366
+ decode(input, length) {
2367
+ const reader = input instanceof binary_1.BinaryReader ? input : new binary_1.BinaryReader(input);
2368
+ let end = length === undefined ? reader.len : reader.pos + length;
2369
+ const message = createBaseQueryOperatorRewardPoolRequest();
2370
+ while (reader.pos < end) {
2371
+ const tag = reader.uint32();
2372
+ switch (tag >>> 3) {
2373
+ default:
2374
+ reader.skipType(tag & 7);
2375
+ break;
2376
+ }
2377
+ }
2378
+ return message;
2379
+ },
2380
+ fromPartial(_) {
2381
+ const message = createBaseQueryOperatorRewardPoolRequest();
2382
+ return message;
2383
+ },
2384
+ fromAmino(_) {
2385
+ const message = createBaseQueryOperatorRewardPoolRequest();
2386
+ return message;
2387
+ },
2388
+ toAmino(_) {
2389
+ const obj = {};
2390
+ return obj;
2391
+ },
2392
+ fromAminoMsg(object) {
2393
+ return exports.QueryOperatorRewardPoolRequest.fromAmino(object.value);
2394
+ },
2395
+ fromProtoMsg(message) {
2396
+ return exports.QueryOperatorRewardPoolRequest.decode(message.value);
2397
+ },
2398
+ toProto(message) {
2399
+ return exports.QueryOperatorRewardPoolRequest.encode(message).finish();
2400
+ },
2401
+ toProtoMsg(message) {
2402
+ return {
2403
+ typeUrl: "/sparkdream.federation.v1.QueryOperatorRewardPoolRequest",
2404
+ value: exports.QueryOperatorRewardPoolRequest.encode(message).finish()
2405
+ };
2406
+ }
2407
+ };
2408
+ function createBaseQueryOperatorRewardPoolResponse() {
2409
+ return {
2410
+ address: "",
2411
+ balance: "",
2412
+ cap: "",
2413
+ headroom: "",
2414
+ fundedToday: "",
2415
+ dailyFundingCap: "",
2416
+ inflationShare: ""
2417
+ };
2418
+ }
2419
+ /**
2420
+ * @name QueryOperatorRewardPoolResponse
2421
+ * @package sparkdream.federation.v1
2422
+ * @see proto type: sparkdream.federation.v1.QueryOperatorRewardPoolResponse
2423
+ */
2424
+ exports.QueryOperatorRewardPoolResponse = {
2425
+ typeUrl: "/sparkdream.federation.v1.QueryOperatorRewardPoolResponse",
2426
+ encode(message, writer = binary_1.BinaryWriter.create()) {
2427
+ if (message.address !== "") {
2428
+ writer.uint32(10).string(message.address);
2429
+ }
2430
+ if (message.balance !== "") {
2431
+ writer.uint32(18).string(message.balance);
2432
+ }
2433
+ if (message.cap !== "") {
2434
+ writer.uint32(26).string(message.cap);
2435
+ }
2436
+ if (message.headroom !== "") {
2437
+ writer.uint32(34).string(message.headroom);
2438
+ }
2439
+ if (message.fundedToday !== "") {
2440
+ writer.uint32(42).string(message.fundedToday);
2441
+ }
2442
+ if (message.dailyFundingCap !== "") {
2443
+ writer.uint32(50).string(message.dailyFundingCap);
2444
+ }
2445
+ if (message.inflationShare !== "") {
2446
+ writer.uint32(58).string(math_1.Decimal.fromUserInput(message.inflationShare, 18).atomics);
2447
+ }
2448
+ return writer;
2449
+ },
2450
+ decode(input, length) {
2451
+ const reader = input instanceof binary_1.BinaryReader ? input : new binary_1.BinaryReader(input);
2452
+ let end = length === undefined ? reader.len : reader.pos + length;
2453
+ const message = createBaseQueryOperatorRewardPoolResponse();
2454
+ while (reader.pos < end) {
2455
+ const tag = reader.uint32();
2456
+ switch (tag >>> 3) {
2457
+ case 1:
2458
+ message.address = reader.string();
2459
+ break;
2460
+ case 2:
2461
+ message.balance = reader.string();
2462
+ break;
2463
+ case 3:
2464
+ message.cap = reader.string();
2465
+ break;
2466
+ case 4:
2467
+ message.headroom = reader.string();
2468
+ break;
2469
+ case 5:
2470
+ message.fundedToday = reader.string();
2471
+ break;
2472
+ case 6:
2473
+ message.dailyFundingCap = reader.string();
2474
+ break;
2475
+ case 7:
2476
+ message.inflationShare = math_1.Decimal.fromAtomics(reader.string(), 18).toString();
2477
+ break;
2478
+ default:
2479
+ reader.skipType(tag & 7);
2480
+ break;
2481
+ }
2482
+ }
2483
+ return message;
2484
+ },
2485
+ fromPartial(object) {
2486
+ const message = createBaseQueryOperatorRewardPoolResponse();
2487
+ message.address = object.address ?? "";
2488
+ message.balance = object.balance ?? "";
2489
+ message.cap = object.cap ?? "";
2490
+ message.headroom = object.headroom ?? "";
2491
+ message.fundedToday = object.fundedToday ?? "";
2492
+ message.dailyFundingCap = object.dailyFundingCap ?? "";
2493
+ message.inflationShare = object.inflationShare ?? "";
2494
+ return message;
2495
+ },
2496
+ fromAmino(object) {
2497
+ const message = createBaseQueryOperatorRewardPoolResponse();
2498
+ if (object.address !== undefined && object.address !== null) {
2499
+ message.address = object.address;
2500
+ }
2501
+ if (object.balance !== undefined && object.balance !== null) {
2502
+ message.balance = object.balance;
2503
+ }
2504
+ if (object.cap !== undefined && object.cap !== null) {
2505
+ message.cap = object.cap;
2506
+ }
2507
+ if (object.headroom !== undefined && object.headroom !== null) {
2508
+ message.headroom = object.headroom;
2509
+ }
2510
+ if (object.funded_today !== undefined && object.funded_today !== null) {
2511
+ message.fundedToday = object.funded_today;
2512
+ }
2513
+ if (object.daily_funding_cap !== undefined && object.daily_funding_cap !== null) {
2514
+ message.dailyFundingCap = object.daily_funding_cap;
2515
+ }
2516
+ if (object.inflation_share !== undefined && object.inflation_share !== null) {
2517
+ message.inflationShare = object.inflation_share;
2518
+ }
2519
+ return message;
2520
+ },
2521
+ toAmino(message) {
2522
+ const obj = {};
2523
+ obj.address = message.address === "" ? undefined : message.address;
2524
+ obj.balance = message.balance === "" ? undefined : message.balance;
2525
+ obj.cap = message.cap === "" ? undefined : message.cap;
2526
+ obj.headroom = message.headroom === "" ? undefined : message.headroom;
2527
+ obj.funded_today = message.fundedToday === "" ? undefined : message.fundedToday;
2528
+ obj.daily_funding_cap = message.dailyFundingCap === "" ? undefined : message.dailyFundingCap;
2529
+ obj.inflation_share = message.inflationShare === "" ? undefined : message.inflationShare;
2530
+ return obj;
2531
+ },
2532
+ fromAminoMsg(object) {
2533
+ return exports.QueryOperatorRewardPoolResponse.fromAmino(object.value);
2534
+ },
2535
+ fromProtoMsg(message) {
2536
+ return exports.QueryOperatorRewardPoolResponse.decode(message.value);
2537
+ },
2538
+ toProto(message) {
2539
+ return exports.QueryOperatorRewardPoolResponse.encode(message).finish();
2540
+ },
2541
+ toProtoMsg(message) {
2542
+ return {
2543
+ typeUrl: "/sparkdream.federation.v1.QueryOperatorRewardPoolResponse",
2544
+ value: exports.QueryOperatorRewardPoolResponse.encode(message).finish()
2545
+ };
2546
+ }
2547
+ };
2351
2548
  function createBaseQueryGetVerificationRecordRequest() {
2352
2549
  return {
2353
2550
  contentId: BigInt(0)
@@ -1,5 +1,5 @@
1
1
  import { LCDClient } from "@cosmology/lcd";
2
- import { QueryParamsRequest, QueryParamsResponse, QueryGetPeerRequest, QueryGetPeerResponse, QueryListPeersRequest, QueryListPeersResponse, QueryGetPeerPolicyRequest, QueryGetPeerPolicyResponse, QueryGetBridgeBindingRequest, QueryGetBridgeBindingResponse, QueryListBridgeBindingsRequest, QueryListBridgeBindingsResponse, QueryGetFederatedContentRequest, QueryGetFederatedContentResponse, QueryListFederatedContentRequest, QueryListFederatedContentResponse, QueryGetIdentityLinkRequest, QueryGetIdentityLinkResponse, QueryListIdentityLinksRequest, QueryListIdentityLinksResponse, QueryResolveRemoteIdentityRequest, QueryResolveRemoteIdentityResponse, QueryGetPendingIdentityChallengeRequest, QueryGetPendingIdentityChallengeResponse, QueryListPendingIdentityChallengesRequest, QueryListPendingIdentityChallengesResponse, QueryGetReputationAttestationRequest, QueryGetReputationAttestationResponse, QueryListOutboundAttestationsRequest, QueryListOutboundAttestationsResponse, QueryVerifierActivityRequest, QueryVerifierActivityResponse, QueryGetVerificationRecordRequest, QueryGetVerificationRecordResponse, QueryGetEscalatedChallengeRequest, QueryGetEscalatedChallengeResponse } from "./query";
2
+ import { QueryParamsRequest, QueryParamsResponse, QueryGetPeerRequest, QueryGetPeerResponse, QueryListPeersRequest, QueryListPeersResponse, QueryGetPeerPolicyRequest, QueryGetPeerPolicyResponse, QueryGetBridgeBindingRequest, QueryGetBridgeBindingResponse, QueryListBridgeBindingsRequest, QueryListBridgeBindingsResponse, QueryGetFederatedContentRequest, QueryGetFederatedContentResponse, QueryListFederatedContentRequest, QueryListFederatedContentResponse, QueryGetIdentityLinkRequest, QueryGetIdentityLinkResponse, QueryListIdentityLinksRequest, QueryListIdentityLinksResponse, QueryResolveRemoteIdentityRequest, QueryResolveRemoteIdentityResponse, QueryGetPendingIdentityChallengeRequest, QueryGetPendingIdentityChallengeResponse, QueryListPendingIdentityChallengesRequest, QueryListPendingIdentityChallengesResponse, QueryGetReputationAttestationRequest, QueryGetReputationAttestationResponse, QueryListOutboundAttestationsRequest, QueryListOutboundAttestationsResponse, QueryVerifierActivityRequest, QueryVerifierActivityResponse, QueryOperatorRewardPoolRequest, QueryOperatorRewardPoolResponse, QueryGetVerificationRecordRequest, QueryGetVerificationRecordResponse, QueryGetEscalatedChallengeRequest, QueryGetEscalatedChallengeResponse } from "./query";
3
3
  export declare class LCDQueryClient {
4
4
  req: LCDClient;
5
5
  constructor({ requestClient }: {
@@ -21,6 +21,7 @@ export declare class LCDQueryClient {
21
21
  getReputationAttestation: (params: QueryGetReputationAttestationRequest) => Promise<QueryGetReputationAttestationResponse>;
22
22
  listOutboundAttestations: (params?: QueryListOutboundAttestationsRequest) => Promise<QueryListOutboundAttestationsResponse>;
23
23
  verifierActivity: (params: QueryVerifierActivityRequest) => Promise<QueryVerifierActivityResponse>;
24
+ operatorRewardPool: (_params?: QueryOperatorRewardPoolRequest) => Promise<QueryOperatorRewardPoolResponse>;
24
25
  getVerificationRecord: (params: QueryGetVerificationRecordRequest) => Promise<QueryGetVerificationRecordResponse>;
25
26
  getEscalatedChallenge: (params: QueryGetEscalatedChallengeRequest) => Promise<QueryGetEscalatedChallengeResponse>;
26
27
  }
@@ -129,14 +129,23 @@ class LCDQueryClient {
129
129
  const endpoint = `sparkdream/federation/v1/list_outbound_attestations`;
130
130
  return await this.req.get(endpoint, options);
131
131
  };
132
- /* VerifierActivity returns federation-specific per-verifier counters
133
- (verifications, upheld, overturned, consecutive streaks). The generic
132
+ /* VerifierActivity returns the per-verifier counter view: federation's
133
+ slim stored record (unchallenged verifications) overlaid with the
134
+ shared accountability state x/rep owns on RoleActivity -- per-kind
135
+ verification counts, verdict streaks, overturn cooldown. The generic
134
136
  bond/status record lives in x/rep under
135
137
  BondedRole(ROLE_TYPE_FEDERATION_VERIFIER, addr). */
136
138
  verifierActivity = async (params) => {
137
139
  const endpoint = `sparkdream/federation/v1/verifier_activity/${params.address}`;
138
140
  return await this.req.get(endpoint);
139
141
  };
142
+ /* OperatorRewardPool reports the bridge-operator SPARK pool's balance, cap
143
+ and today's draw against the daily allowance. Without it "why was I not
144
+ paid this epoch" has no on-chain answer. */
145
+ operatorRewardPool = async (_params = {}) => {
146
+ const endpoint = `sparkdream/federation/v1/operator_reward_pool`;
147
+ return await this.req.get(endpoint);
148
+ };
140
149
  /* GetVerificationRecord */
141
150
  getVerificationRecord = async (params) => {
142
151
  const endpoint = `sparkdream/federation/v1/get_verification_record/${params.contentId}`;
@@ -1,6 +1,6 @@
1
1
  import { TxRpc } from "../../../types";
2
2
  import { QueryClient } from "@cosmjs/stargate";
3
- import { QueryParamsRequest, QueryParamsResponse, QueryGetPeerRequest, QueryGetPeerResponse, QueryListPeersRequest, QueryListPeersResponse, QueryGetPeerPolicyRequest, QueryGetPeerPolicyResponse, QueryGetBridgeBindingRequest, QueryGetBridgeBindingResponse, QueryListBridgeBindingsRequest, QueryListBridgeBindingsResponse, QueryGetFederatedContentRequest, QueryGetFederatedContentResponse, QueryListFederatedContentRequest, QueryListFederatedContentResponse, QueryGetIdentityLinkRequest, QueryGetIdentityLinkResponse, QueryListIdentityLinksRequest, QueryListIdentityLinksResponse, QueryResolveRemoteIdentityRequest, QueryResolveRemoteIdentityResponse, QueryGetPendingIdentityChallengeRequest, QueryGetPendingIdentityChallengeResponse, QueryListPendingIdentityChallengesRequest, QueryListPendingIdentityChallengesResponse, QueryGetReputationAttestationRequest, QueryGetReputationAttestationResponse, QueryListOutboundAttestationsRequest, QueryListOutboundAttestationsResponse, QueryVerifierActivityRequest, QueryVerifierActivityResponse, QueryGetVerificationRecordRequest, QueryGetVerificationRecordResponse, QueryGetEscalatedChallengeRequest, QueryGetEscalatedChallengeResponse } from "./query";
3
+ import { QueryParamsRequest, QueryParamsResponse, QueryGetPeerRequest, QueryGetPeerResponse, QueryListPeersRequest, QueryListPeersResponse, QueryGetPeerPolicyRequest, QueryGetPeerPolicyResponse, QueryGetBridgeBindingRequest, QueryGetBridgeBindingResponse, QueryListBridgeBindingsRequest, QueryListBridgeBindingsResponse, QueryGetFederatedContentRequest, QueryGetFederatedContentResponse, QueryListFederatedContentRequest, QueryListFederatedContentResponse, QueryGetIdentityLinkRequest, QueryGetIdentityLinkResponse, QueryListIdentityLinksRequest, QueryListIdentityLinksResponse, QueryResolveRemoteIdentityRequest, QueryResolveRemoteIdentityResponse, QueryGetPendingIdentityChallengeRequest, QueryGetPendingIdentityChallengeResponse, QueryListPendingIdentityChallengesRequest, QueryListPendingIdentityChallengesResponse, QueryGetReputationAttestationRequest, QueryGetReputationAttestationResponse, QueryListOutboundAttestationsRequest, QueryListOutboundAttestationsResponse, QueryVerifierActivityRequest, QueryVerifierActivityResponse, QueryOperatorRewardPoolRequest, QueryOperatorRewardPoolResponse, QueryGetVerificationRecordRequest, QueryGetVerificationRecordResponse, QueryGetEscalatedChallengeRequest, QueryGetEscalatedChallengeResponse } from "./query";
4
4
  /** Query defines the gRPC querier service. */
5
5
  export interface Query {
6
6
  params(request?: QueryParamsRequest): Promise<QueryParamsResponse>;
@@ -19,12 +19,20 @@ export interface Query {
19
19
  getReputationAttestation(request: QueryGetReputationAttestationRequest): Promise<QueryGetReputationAttestationResponse>;
20
20
  listOutboundAttestations(request?: QueryListOutboundAttestationsRequest): Promise<QueryListOutboundAttestationsResponse>;
21
21
  /**
22
- * VerifierActivity returns federation-specific per-verifier counters
23
- * (verifications, upheld, overturned, consecutive streaks). The generic
22
+ * VerifierActivity returns the per-verifier counter view: federation's
23
+ * slim stored record (unchallenged verifications) overlaid with the
24
+ * shared accountability state x/rep owns on RoleActivity -- per-kind
25
+ * verification counts, verdict streaks, overturn cooldown. The generic
24
26
  * bond/status record lives in x/rep under
25
27
  * BondedRole(ROLE_TYPE_FEDERATION_VERIFIER, addr).
26
28
  */
27
29
  verifierActivity(request: QueryVerifierActivityRequest): Promise<QueryVerifierActivityResponse>;
30
+ /**
31
+ * OperatorRewardPool reports the bridge-operator SPARK pool's balance, cap
32
+ * and today's draw against the daily allowance. Without it "why was I not
33
+ * paid this epoch" has no on-chain answer.
34
+ */
35
+ operatorRewardPool(request?: QueryOperatorRewardPoolRequest): Promise<QueryOperatorRewardPoolResponse>;
28
36
  getVerificationRecord(request: QueryGetVerificationRecordRequest): Promise<QueryGetVerificationRecordResponse>;
29
37
  getEscalatedChallenge(request: QueryGetEscalatedChallengeRequest): Promise<QueryGetEscalatedChallengeResponse>;
30
38
  }
@@ -47,6 +55,7 @@ export declare class QueryClientImpl implements Query {
47
55
  getReputationAttestation: (request: QueryGetReputationAttestationRequest) => Promise<QueryGetReputationAttestationResponse>;
48
56
  listOutboundAttestations: (request?: QueryListOutboundAttestationsRequest) => Promise<QueryListOutboundAttestationsResponse>;
49
57
  verifierActivity: (request: QueryVerifierActivityRequest) => Promise<QueryVerifierActivityResponse>;
58
+ operatorRewardPool: (request?: QueryOperatorRewardPoolRequest) => Promise<QueryOperatorRewardPoolResponse>;
50
59
  getVerificationRecord: (request: QueryGetVerificationRecordRequest) => Promise<QueryGetVerificationRecordResponse>;
51
60
  getEscalatedChallenge: (request: QueryGetEscalatedChallengeRequest) => Promise<QueryGetEscalatedChallengeResponse>;
52
61
  }
@@ -67,6 +76,7 @@ export declare const createRpcQueryExtension: (base: QueryClient) => {
67
76
  getReputationAttestation(request: QueryGetReputationAttestationRequest): Promise<QueryGetReputationAttestationResponse>;
68
77
  listOutboundAttestations(request?: QueryListOutboundAttestationsRequest): Promise<QueryListOutboundAttestationsResponse>;
69
78
  verifierActivity(request: QueryVerifierActivityRequest): Promise<QueryVerifierActivityResponse>;
79
+ operatorRewardPool(request?: QueryOperatorRewardPoolRequest): Promise<QueryOperatorRewardPoolResponse>;
70
80
  getVerificationRecord(request: QueryGetVerificationRecordRequest): Promise<QueryGetVerificationRecordResponse>;
71
81
  getEscalatedChallenge(request: QueryGetEscalatedChallengeRequest): Promise<QueryGetEscalatedChallengeResponse>;
72
82
  };
@@ -109,8 +109,10 @@ class QueryClientImpl {
109
109
  const promise = this.rpc.request("sparkdream.federation.v1.Query", "ListOutboundAttestations", data);
110
110
  return promise.then(data => query_1.QueryListOutboundAttestationsResponse.decode(new binary_1.BinaryReader(data)));
111
111
  };
112
- /* VerifierActivity returns federation-specific per-verifier counters
113
- (verifications, upheld, overturned, consecutive streaks). The generic
112
+ /* VerifierActivity returns the per-verifier counter view: federation's
113
+ slim stored record (unchallenged verifications) overlaid with the
114
+ shared accountability state x/rep owns on RoleActivity -- per-kind
115
+ verification counts, verdict streaks, overturn cooldown. The generic
114
116
  bond/status record lives in x/rep under
115
117
  BondedRole(ROLE_TYPE_FEDERATION_VERIFIER, addr). */
116
118
  verifierActivity = async (request) => {
@@ -118,6 +120,14 @@ class QueryClientImpl {
118
120
  const promise = this.rpc.request("sparkdream.federation.v1.Query", "VerifierActivity", data);
119
121
  return promise.then(data => query_1.QueryVerifierActivityResponse.decode(new binary_1.BinaryReader(data)));
120
122
  };
123
+ /* OperatorRewardPool reports the bridge-operator SPARK pool's balance, cap
124
+ and today's draw against the daily allowance. Without it "why was I not
125
+ paid this epoch" has no on-chain answer. */
126
+ operatorRewardPool = async (request = {}) => {
127
+ const data = query_1.QueryOperatorRewardPoolRequest.encode(request).finish();
128
+ const promise = this.rpc.request("sparkdream.federation.v1.Query", "OperatorRewardPool", data);
129
+ return promise.then(data => query_1.QueryOperatorRewardPoolResponse.decode(new binary_1.BinaryReader(data)));
130
+ };
121
131
  /* GetVerificationRecord */
122
132
  getVerificationRecord = async (request) => {
123
133
  const data = query_1.QueryGetVerificationRecordRequest.encode(request).finish();
@@ -184,6 +194,9 @@ const createRpcQueryExtension = (base) => {
184
194
  verifierActivity(request) {
185
195
  return queryService.verifierActivity(request);
186
196
  },
197
+ operatorRewardPool(request) {
198
+ return queryService.operatorRewardPool(request);
199
+ },
187
200
  getVerificationRecord(request) {
188
201
  return queryService.getVerificationRecord(request);
189
202
  },
@@ -294,6 +294,28 @@ export interface BridgeBinding {
294
294
  * submissions from suspended bindings.
295
295
  */
296
296
  suspended: boolean;
297
+ /**
298
+ * --- Per-epoch counters, reset at every operator reward distribution ---
299
+ *
300
+ * The lifetime counters above cannot score a reward: they only grow, so a
301
+ * long-serving operator would out-earn an equally productive newcomer
302
+ * forever on history alone. These mirror them for the current reward epoch
303
+ * and are zeroed on every distribution, eligible or not.
304
+ */
305
+ epochSubmitted: bigint;
306
+ epochVerified: bigint;
307
+ epochRejected: bigint;
308
+ epochUnverified: bigint;
309
+ /**
310
+ * last_reward_epoch is the most recent epoch in which this binding was
311
+ * paid. Zero means never paid.
312
+ */
313
+ lastRewardEpoch: bigint;
314
+ /**
315
+ * cumulative_rewards is lifetime SPARK paid to this binding
316
+ * (math.Int string, bond-denom micro-units).
317
+ */
318
+ cumulativeRewards: string;
297
319
  }
298
320
  export interface BridgeBindingProtoMsg {
299
321
  typeUrl: "/sparkdream.federation.v1.BridgeBinding";
@@ -333,6 +355,28 @@ export interface BridgeBindingAmino {
333
355
  * submissions from suspended bindings.
334
356
  */
335
357
  suspended?: boolean;
358
+ /**
359
+ * --- Per-epoch counters, reset at every operator reward distribution ---
360
+ *
361
+ * The lifetime counters above cannot score a reward: they only grow, so a
362
+ * long-serving operator would out-earn an equally productive newcomer
363
+ * forever on history alone. These mirror them for the current reward epoch
364
+ * and are zeroed on every distribution, eligible or not.
365
+ */
366
+ epoch_submitted?: string;
367
+ epoch_verified?: string;
368
+ epoch_rejected?: string;
369
+ epoch_unverified?: string;
370
+ /**
371
+ * last_reward_epoch is the most recent epoch in which this binding was
372
+ * paid. Zero means never paid.
373
+ */
374
+ last_reward_epoch?: string;
375
+ /**
376
+ * cumulative_rewards is lifetime SPARK paid to this binding
377
+ * (math.Int string, bond-denom micro-units).
378
+ */
379
+ cumulative_rewards?: string;
336
380
  }
337
381
  export interface BridgeBindingAminoMsg {
338
382
  type: "/sparkdream.federation.v1.BridgeBinding";
@@ -847,7 +847,13 @@ function createBaseBridgeBinding() {
847
847
  contentRejected: BigInt(0),
848
848
  contentUnverified: BigInt(0),
849
849
  lastSubmissionAt: BigInt(0),
850
- suspended: false
850
+ suspended: false,
851
+ epochSubmitted: BigInt(0),
852
+ epochVerified: BigInt(0),
853
+ epochRejected: BigInt(0),
854
+ epochUnverified: BigInt(0),
855
+ lastRewardEpoch: BigInt(0),
856
+ cumulativeRewards: ""
851
857
  };
852
858
  }
853
859
  /**
@@ -903,6 +909,24 @@ exports.BridgeBinding = {
903
909
  if (message.suspended === true) {
904
910
  writer.uint32(88).bool(message.suspended);
905
911
  }
912
+ if (message.epochSubmitted !== BigInt(0)) {
913
+ writer.uint32(96).uint64(message.epochSubmitted);
914
+ }
915
+ if (message.epochVerified !== BigInt(0)) {
916
+ writer.uint32(104).uint64(message.epochVerified);
917
+ }
918
+ if (message.epochRejected !== BigInt(0)) {
919
+ writer.uint32(112).uint64(message.epochRejected);
920
+ }
921
+ if (message.epochUnverified !== BigInt(0)) {
922
+ writer.uint32(120).uint64(message.epochUnverified);
923
+ }
924
+ if (message.lastRewardEpoch !== BigInt(0)) {
925
+ writer.uint32(128).int64(message.lastRewardEpoch);
926
+ }
927
+ if (message.cumulativeRewards !== "") {
928
+ writer.uint32(138).string(message.cumulativeRewards);
929
+ }
906
930
  return writer;
907
931
  },
908
932
  decode(input, length) {
@@ -945,6 +969,24 @@ exports.BridgeBinding = {
945
969
  case 11:
946
970
  message.suspended = reader.bool();
947
971
  break;
972
+ case 12:
973
+ message.epochSubmitted = reader.uint64();
974
+ break;
975
+ case 13:
976
+ message.epochVerified = reader.uint64();
977
+ break;
978
+ case 14:
979
+ message.epochRejected = reader.uint64();
980
+ break;
981
+ case 15:
982
+ message.epochUnverified = reader.uint64();
983
+ break;
984
+ case 16:
985
+ message.lastRewardEpoch = reader.int64();
986
+ break;
987
+ case 17:
988
+ message.cumulativeRewards = reader.string();
989
+ break;
948
990
  default:
949
991
  reader.skipType(tag & 7);
950
992
  break;
@@ -965,6 +1007,12 @@ exports.BridgeBinding = {
965
1007
  message.contentUnverified = object.contentUnverified !== undefined && object.contentUnverified !== null ? BigInt(object.contentUnverified.toString()) : BigInt(0);
966
1008
  message.lastSubmissionAt = object.lastSubmissionAt !== undefined && object.lastSubmissionAt !== null ? BigInt(object.lastSubmissionAt.toString()) : BigInt(0);
967
1009
  message.suspended = object.suspended ?? false;
1010
+ message.epochSubmitted = object.epochSubmitted !== undefined && object.epochSubmitted !== null ? BigInt(object.epochSubmitted.toString()) : BigInt(0);
1011
+ message.epochVerified = object.epochVerified !== undefined && object.epochVerified !== null ? BigInt(object.epochVerified.toString()) : BigInt(0);
1012
+ message.epochRejected = object.epochRejected !== undefined && object.epochRejected !== null ? BigInt(object.epochRejected.toString()) : BigInt(0);
1013
+ message.epochUnverified = object.epochUnverified !== undefined && object.epochUnverified !== null ? BigInt(object.epochUnverified.toString()) : BigInt(0);
1014
+ message.lastRewardEpoch = object.lastRewardEpoch !== undefined && object.lastRewardEpoch !== null ? BigInt(object.lastRewardEpoch.toString()) : BigInt(0);
1015
+ message.cumulativeRewards = object.cumulativeRewards ?? "";
968
1016
  return message;
969
1017
  },
970
1018
  fromAmino(object) {
@@ -1002,6 +1050,24 @@ exports.BridgeBinding = {
1002
1050
  if (object.suspended !== undefined && object.suspended !== null) {
1003
1051
  message.suspended = object.suspended;
1004
1052
  }
1053
+ if (object.epoch_submitted !== undefined && object.epoch_submitted !== null) {
1054
+ message.epochSubmitted = BigInt(object.epoch_submitted);
1055
+ }
1056
+ if (object.epoch_verified !== undefined && object.epoch_verified !== null) {
1057
+ message.epochVerified = BigInt(object.epoch_verified);
1058
+ }
1059
+ if (object.epoch_rejected !== undefined && object.epoch_rejected !== null) {
1060
+ message.epochRejected = BigInt(object.epoch_rejected);
1061
+ }
1062
+ if (object.epoch_unverified !== undefined && object.epoch_unverified !== null) {
1063
+ message.epochUnverified = BigInt(object.epoch_unverified);
1064
+ }
1065
+ if (object.last_reward_epoch !== undefined && object.last_reward_epoch !== null) {
1066
+ message.lastRewardEpoch = BigInt(object.last_reward_epoch);
1067
+ }
1068
+ if (object.cumulative_rewards !== undefined && object.cumulative_rewards !== null) {
1069
+ message.cumulativeRewards = object.cumulative_rewards;
1070
+ }
1005
1071
  return message;
1006
1072
  },
1007
1073
  toAmino(message) {
@@ -1017,6 +1083,12 @@ exports.BridgeBinding = {
1017
1083
  obj.content_unverified = message.contentUnverified !== BigInt(0) ? message.contentUnverified?.toString() : undefined;
1018
1084
  obj.last_submission_at = message.lastSubmissionAt !== BigInt(0) ? message.lastSubmissionAt?.toString() : undefined;
1019
1085
  obj.suspended = message.suspended === false ? undefined : message.suspended;
1086
+ obj.epoch_submitted = message.epochSubmitted !== BigInt(0) ? message.epochSubmitted?.toString() : undefined;
1087
+ obj.epoch_verified = message.epochVerified !== BigInt(0) ? message.epochVerified?.toString() : undefined;
1088
+ obj.epoch_rejected = message.epochRejected !== BigInt(0) ? message.epochRejected?.toString() : undefined;
1089
+ obj.epoch_unverified = message.epochUnverified !== BigInt(0) ? message.epochUnverified?.toString() : undefined;
1090
+ obj.last_reward_epoch = message.lastRewardEpoch !== BigInt(0) ? message.lastRewardEpoch?.toString() : undefined;
1091
+ obj.cumulative_rewards = message.cumulativeRewards === "" ? undefined : message.cumulativeRewards;
1020
1092
  return obj;
1021
1093
  },
1022
1094
  fromAminoMsg(object) {