@sparkdreamnft/sparkdreamjs 0.0.44 → 0.0.45

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 (60) hide show
  1. package/esm/sparkdream/name/v1/genesis.js +32 -2
  2. package/esm/sparkdream/rep/v1/params.js +13 -1
  3. package/esm/sparkdream/rep/v1/tx.js +145 -0
  4. package/esm/sparkdream/rep/v1/tx.registry.js +20 -2
  5. package/esm/sparkdream/rep/v1/tx.rpc.msg.js +9 -1
  6. package/esm/sparkdream/season/v1/tx.js +33 -2
  7. package/esm/sparkdream/service/v1/operator.js +25 -1
  8. package/esm/sparkdream/service/v1/tx.amino.js +6 -1
  9. package/esm/sparkdream/service/v1/tx.js +163 -0
  10. package/esm/sparkdream/service/v1/tx.registry.js +20 -2
  11. package/esm/sparkdream/service/v1/tx.rpc.msg.js +11 -1
  12. package/esm/sparkdream/session/v1/grant.js +98 -6
  13. package/esm/sparkdream/session/v1/tx.amino.js +3 -0
  14. package/esm/sparkdream/session/v1/tx.js +15 -3
  15. package/esm/sparkdream/session/v1/tx.rpc.msg.js +2 -2
  16. package/esm/sparkdream/shield/v1/genesis.js +32 -2
  17. package/esm/sparkdream/shield/v1/params.js +13 -1
  18. package/esm/sparkdream/shield/v1/query.js +13 -1
  19. package/esm/sparkdream/shield/v1/types.js +414 -15
  20. package/package.json +1 -1
  21. package/sparkdream/bundle.d.ts +129 -0
  22. package/sparkdream/client.d.ts +5 -0
  23. package/sparkdream/name/v1/genesis.d.ts +23 -1
  24. package/sparkdream/name/v1/genesis.js +31 -1
  25. package/sparkdream/rep/v1/params.d.ts +16 -0
  26. package/sparkdream/rep/v1/params.js +13 -1
  27. package/sparkdream/rep/v1/tx.d.ts +93 -0
  28. package/sparkdream/rep/v1/tx.js +146 -1
  29. package/sparkdream/rep/v1/tx.registry.d.ts +13 -1
  30. package/sparkdream/rep/v1/tx.registry.js +19 -1
  31. package/sparkdream/rep/v1/tx.rpc.msg.d.ts +8 -1
  32. package/sparkdream/rep/v1/tx.rpc.msg.js +8 -0
  33. package/sparkdream/season/v1/tx.d.ts +19 -0
  34. package/sparkdream/season/v1/tx.js +33 -2
  35. package/sparkdream/service/v1/operator.d.ts +30 -0
  36. package/sparkdream/service/v1/operator.js +25 -1
  37. package/sparkdream/service/v1/tx.amino.d.ts +6 -1
  38. package/sparkdream/service/v1/tx.amino.js +5 -0
  39. package/sparkdream/service/v1/tx.d.ts +119 -0
  40. package/sparkdream/service/v1/tx.js +164 -1
  41. package/sparkdream/service/v1/tx.registry.d.ts +13 -1
  42. package/sparkdream/service/v1/tx.registry.js +19 -1
  43. package/sparkdream/service/v1/tx.rpc.msg.d.ts +10 -1
  44. package/sparkdream/service/v1/tx.rpc.msg.js +10 -0
  45. package/sparkdream/session/v1/grant.d.ts +75 -7
  46. package/sparkdream/session/v1/grant.js +99 -7
  47. package/sparkdream/session/v1/tx.amino.js +3 -0
  48. package/sparkdream/session/v1/tx.d.ts +6 -4
  49. package/sparkdream/session/v1/tx.js +14 -2
  50. package/sparkdream/session/v1/tx.rpc.msg.d.ts +2 -2
  51. package/sparkdream/session/v1/tx.rpc.msg.js +2 -2
  52. package/sparkdream/shield/v1/genesis.d.ts +17 -1
  53. package/sparkdream/shield/v1/genesis.js +31 -1
  54. package/sparkdream/shield/v1/params.d.ts +16 -4
  55. package/sparkdream/shield/v1/params.js +13 -1
  56. package/sparkdream/shield/v1/query.d.ts +8 -0
  57. package/sparkdream/shield/v1/query.js +13 -1
  58. package/sparkdream/shield/v1/tx.d.ts +36 -10
  59. package/sparkdream/shield/v1/types.d.ts +294 -13
  60. package/sparkdream/shield/v1/types.js +415 -16
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.OneshotExec = exports.OneshotTransfer = exports.ScheduledOneshotPayload = exports.SpendingAllowancePayload = exports.RecurringPullPayload = exports.SessionKeyPayload = exports.Grant = exports.GrantStatusAmino = exports.GrantStatus = exports.GrantTypeAmino = exports.GrantType = void 0;
3
+ exports.SignInPayload = exports.OneshotExec = exports.OneshotTransfer = exports.ScheduledOneshotPayload = exports.SpendingAllowancePayload = exports.RecurringPullPayload = exports.SessionKeyPayload = exports.Grant = exports.GrantStatusAmino = exports.GrantStatus = exports.GrantTypeAmino = exports.GrantType = void 0;
4
4
  exports.grantTypeFromJSON = grantTypeFromJSON;
5
5
  exports.grantTypeToJSON = grantTypeToJSON;
6
6
  exports.grantStatusFromJSON = grantStatusFromJSON;
@@ -12,11 +12,12 @@ const any_1 = require("../../../google/protobuf/any");
12
12
  const binary_1 = require("../../../binary");
13
13
  const helpers_1 = require("../../../helpers");
14
14
  /**
15
- * GrantType enumerates the four typed payload variants of the unified grant
15
+ * GrantType enumerates the typed payload variants of the unified grant
16
16
  * registry. The session-key variant preserves the legacy x/session model;
17
- * the other three are introduced by the delegated-authorization-registry
18
- * refactor and ship in subsequent phases (P3 RecurringPull, P4
19
- * SpendingAllowance, P5 ScheduledOneshot).
17
+ * RecurringPull, SpendingAllowance and ScheduledOneshot came with the
18
+ * delegated-authorization-registry refactor. SignIn is the one variant
19
+ * nothing on chain executes: it records permission for an off-chain
20
+ * service to let the grantee sign in as the granter.
20
21
  */
21
22
  var GrantType;
22
23
  (function (GrantType) {
@@ -25,6 +26,7 @@ var GrantType;
25
26
  GrantType[GrantType["GRANT_TYPE_RECURRING_PULL"] = 2] = "GRANT_TYPE_RECURRING_PULL";
26
27
  GrantType[GrantType["GRANT_TYPE_SPENDING_ALLOWANCE"] = 3] = "GRANT_TYPE_SPENDING_ALLOWANCE";
27
28
  GrantType[GrantType["GRANT_TYPE_SCHEDULED_ONESHOT"] = 4] = "GRANT_TYPE_SCHEDULED_ONESHOT";
29
+ GrantType[GrantType["GRANT_TYPE_SIGN_IN"] = 5] = "GRANT_TYPE_SIGN_IN";
28
30
  GrantType[GrantType["UNRECOGNIZED"] = -1] = "UNRECOGNIZED";
29
31
  })(GrantType || (exports.GrantType = GrantType = {}));
30
32
  exports.GrantTypeAmino = GrantType;
@@ -45,6 +47,9 @@ function grantTypeFromJSON(object) {
45
47
  case 4:
46
48
  case "GRANT_TYPE_SCHEDULED_ONESHOT":
47
49
  return GrantType.GRANT_TYPE_SCHEDULED_ONESHOT;
50
+ case 5:
51
+ case "GRANT_TYPE_SIGN_IN":
52
+ return GrantType.GRANT_TYPE_SIGN_IN;
48
53
  case -1:
49
54
  case "UNRECOGNIZED":
50
55
  default:
@@ -63,6 +68,8 @@ function grantTypeToJSON(object) {
63
68
  return "GRANT_TYPE_SPENDING_ALLOWANCE";
64
69
  case GrantType.GRANT_TYPE_SCHEDULED_ONESHOT:
65
70
  return "GRANT_TYPE_SCHEDULED_ONESHOT";
71
+ case GrantType.GRANT_TYPE_SIGN_IN:
72
+ return "GRANT_TYPE_SIGN_IN";
66
73
  case GrantType.UNRECOGNIZED:
67
74
  default:
68
75
  return "UNRECOGNIZED";
@@ -148,13 +155,14 @@ function createBaseGrant() {
148
155
  sessionKey: undefined,
149
156
  recurringPull: undefined,
150
157
  spendingAllowance: undefined,
151
- scheduledOneshot: undefined
158
+ scheduledOneshot: undefined,
159
+ signIn: undefined
152
160
  };
153
161
  }
154
162
  /**
155
163
  * Grant is the unified record for every delegated-authorization primitive
156
164
  * in x/session. One record carries the shared lifecycle fields (id,
157
- * granter, grantee, status, expires_at, note) and exactly one of the four
165
+ * granter, grantee, status, expires_at, note) and exactly one of the
158
166
  * typed payloads.
159
167
  * @name Grant
160
168
  * @package sparkdream.session.v1
@@ -199,6 +207,9 @@ exports.Grant = {
199
207
  if (message.scheduledOneshot !== undefined) {
200
208
  exports.ScheduledOneshotPayload.encode(message.scheduledOneshot, writer.uint32(186).fork()).ldelim();
201
209
  }
210
+ if (message.signIn !== undefined) {
211
+ exports.SignInPayload.encode(message.signIn, writer.uint32(194).fork()).ldelim();
212
+ }
202
213
  return writer;
203
214
  },
204
215
  decode(input, length) {
@@ -244,6 +255,9 @@ exports.Grant = {
244
255
  case 23:
245
256
  message.scheduledOneshot = exports.ScheduledOneshotPayload.decode(reader, reader.uint32());
246
257
  break;
258
+ case 24:
259
+ message.signIn = exports.SignInPayload.decode(reader, reader.uint32());
260
+ break;
247
261
  default:
248
262
  reader.skipType(tag & 7);
249
263
  break;
@@ -265,6 +279,7 @@ exports.Grant = {
265
279
  message.recurringPull = object.recurringPull !== undefined && object.recurringPull !== null ? exports.RecurringPullPayload.fromPartial(object.recurringPull) : undefined;
266
280
  message.spendingAllowance = object.spendingAllowance !== undefined && object.spendingAllowance !== null ? exports.SpendingAllowancePayload.fromPartial(object.spendingAllowance) : undefined;
267
281
  message.scheduledOneshot = object.scheduledOneshot !== undefined && object.scheduledOneshot !== null ? exports.ScheduledOneshotPayload.fromPartial(object.scheduledOneshot) : undefined;
282
+ message.signIn = object.signIn !== undefined && object.signIn !== null ? exports.SignInPayload.fromPartial(object.signIn) : undefined;
268
283
  return message;
269
284
  },
270
285
  fromAmino(object) {
@@ -305,6 +320,9 @@ exports.Grant = {
305
320
  if (object.scheduled_oneshot !== undefined && object.scheduled_oneshot !== null) {
306
321
  message.scheduledOneshot = exports.ScheduledOneshotPayload.fromAmino(object.scheduled_oneshot);
307
322
  }
323
+ if (object.sign_in !== undefined && object.sign_in !== null) {
324
+ message.signIn = exports.SignInPayload.fromAmino(object.sign_in);
325
+ }
308
326
  return message;
309
327
  },
310
328
  toAmino(message) {
@@ -321,6 +339,7 @@ exports.Grant = {
321
339
  obj.recurring_pull = message.recurringPull ? exports.RecurringPullPayload.toAmino(message.recurringPull) : undefined;
322
340
  obj.spending_allowance = message.spendingAllowance ? exports.SpendingAllowancePayload.toAmino(message.spendingAllowance) : undefined;
323
341
  obj.scheduled_oneshot = message.scheduledOneshot ? exports.ScheduledOneshotPayload.toAmino(message.scheduledOneshot) : undefined;
342
+ obj.sign_in = message.signIn ? exports.SignInPayload.toAmino(message.signIn) : undefined;
324
343
  return obj;
325
344
  },
326
345
  fromAminoMsg(object) {
@@ -1025,3 +1044,76 @@ exports.OneshotExec = {
1025
1044
  };
1026
1045
  }
1027
1046
  };
1047
+ function createBaseSignInPayload() {
1048
+ return {
1049
+ service: ""
1050
+ };
1051
+ }
1052
+ /**
1053
+ * SignInPayload lets the grantee sign in to an off-chain service as the
1054
+ * granter. The chain only records the permission: the service (e.g. a
1055
+ * Spark Dream Mastodon instance's wallet login) reads active SIGN_IN grants
1056
+ * to its own hostname and stops honouring one once it is revoked, declined
1057
+ * or expired. Nothing on chain executes through it.
1058
+ * @name SignInPayload
1059
+ * @package sparkdream.session.v1
1060
+ * @see proto type: sparkdream.session.v1.SignInPayload
1061
+ */
1062
+ exports.SignInPayload = {
1063
+ typeUrl: "/sparkdream.session.v1.SignInPayload",
1064
+ encode(message, writer = binary_1.BinaryWriter.create()) {
1065
+ if (message.service !== "") {
1066
+ writer.uint32(10).string(message.service);
1067
+ }
1068
+ return writer;
1069
+ },
1070
+ decode(input, length) {
1071
+ const reader = input instanceof binary_1.BinaryReader ? input : new binary_1.BinaryReader(input);
1072
+ let end = length === undefined ? reader.len : reader.pos + length;
1073
+ const message = createBaseSignInPayload();
1074
+ while (reader.pos < end) {
1075
+ const tag = reader.uint32();
1076
+ switch (tag >>> 3) {
1077
+ case 1:
1078
+ message.service = reader.string();
1079
+ break;
1080
+ default:
1081
+ reader.skipType(tag & 7);
1082
+ break;
1083
+ }
1084
+ }
1085
+ return message;
1086
+ },
1087
+ fromPartial(object) {
1088
+ const message = createBaseSignInPayload();
1089
+ message.service = object.service ?? "";
1090
+ return message;
1091
+ },
1092
+ fromAmino(object) {
1093
+ const message = createBaseSignInPayload();
1094
+ if (object.service !== undefined && object.service !== null) {
1095
+ message.service = object.service;
1096
+ }
1097
+ return message;
1098
+ },
1099
+ toAmino(message) {
1100
+ const obj = {};
1101
+ obj.service = message.service === "" ? undefined : message.service;
1102
+ return obj;
1103
+ },
1104
+ fromAminoMsg(object) {
1105
+ return exports.SignInPayload.fromAmino(object.value);
1106
+ },
1107
+ fromProtoMsg(message) {
1108
+ return exports.SignInPayload.decode(message.value);
1109
+ },
1110
+ toProto(message) {
1111
+ return exports.SignInPayload.encode(message).finish();
1112
+ },
1113
+ toProtoMsg(message) {
1114
+ return {
1115
+ typeUrl: "/sparkdream.session.v1.SignInPayload",
1116
+ value: exports.SignInPayload.encode(message).finish()
1117
+ };
1118
+ }
1119
+ };
@@ -141,11 +141,14 @@ const scheduledOneshotFromAmino = (o) => {
141
141
  fireError: o.fire_error ?? "",
142
142
  };
143
143
  };
144
+ const signInToAmino = (p) => ({ service: str(p.service) });
145
+ const signInFromAmino = (o) => ({ service: o.service ?? "" });
144
146
  const PAYLOADS = [
145
147
  ["sessionKey", "session_key", "sparkdream/session/SessionKeyPayload", sessionKeyToAmino, sessionKeyFromAmino],
146
148
  ["recurringPull", "recurring_pull", "sparkdream/session/RecurringPullPayload", recurringPullToAmino, recurringPullFromAmino],
147
149
  ["spendingAllowance", "spending_allowance", "sparkdream/session/SpendingAllowancePayload", spendingAllowanceToAmino, spendingAllowanceFromAmino],
148
150
  ["scheduledOneshot", "scheduled_oneshot", "sparkdream/session/ScheduledOneshotPayload", scheduledOneshotToAmino, scheduledOneshotFromAmino],
151
+ ["signIn", "sign_in", "sparkdream/session/SignInPayload", signInToAmino, signInFromAmino],
149
152
  ];
150
153
  // ── Messages ────────────────────────────────────────────────────────────
151
154
  // {<signer>, grant_id} messages; each signer field name is a single word, so
@@ -1,7 +1,7 @@
1
1
  import { Params, ParamsAmino, SessionOperationalParams, SessionOperationalParamsAmino } from "./params";
2
2
  import { Coin, CoinAmino } from "../../../cosmos/base/v1beta1/coin";
3
3
  import { Any, AnyAmino } from "../../../google/protobuf/any";
4
- import { SessionKeyPayload, SessionKeyPayloadAmino, RecurringPullPayload, RecurringPullPayloadAmino, SpendingAllowancePayload, SpendingAllowancePayloadAmino, ScheduledOneshotPayload, ScheduledOneshotPayloadAmino } from "./grant";
4
+ import { SessionKeyPayload, SessionKeyPayloadAmino, RecurringPullPayload, RecurringPullPayloadAmino, SpendingAllowancePayload, SpendingAllowancePayloadAmino, ScheduledOneshotPayload, ScheduledOneshotPayloadAmino, SignInPayload, SignInPayloadAmino } from "./grant";
5
5
  import { BinaryReader, BinaryWriter } from "../../../binary";
6
6
  import { DeepPartial } from "../../../helpers";
7
7
  /**
@@ -301,7 +301,7 @@ export interface MsgExecSessionResponseAminoMsg {
301
301
  value: MsgExecSessionResponseAmino;
302
302
  }
303
303
  /**
304
- * MsgCreateGrant is the unified entrypoint for creating any of the four
304
+ * MsgCreateGrant is the unified entrypoint for creating any of the
305
305
  * typed grants. The grant type is inferred from the payload oneof; the
306
306
  * handler dispatches to type-specific validation. Signed by the granter.
307
307
  * @name MsgCreateGrant
@@ -320,13 +320,14 @@ export interface MsgCreateGrant {
320
320
  recurringPull?: RecurringPullPayload;
321
321
  spendingAllowance?: SpendingAllowancePayload;
322
322
  scheduledOneshot?: ScheduledOneshotPayload;
323
+ signIn?: SignInPayload;
323
324
  }
324
325
  export interface MsgCreateGrantProtoMsg {
325
326
  typeUrl: "/sparkdream.session.v1.MsgCreateGrant";
326
327
  value: Uint8Array;
327
328
  }
328
329
  /**
329
- * MsgCreateGrant is the unified entrypoint for creating any of the four
330
+ * MsgCreateGrant is the unified entrypoint for creating any of the
330
331
  * typed grants. The grant type is inferred from the payload oneof; the
331
332
  * handler dispatches to type-specific validation. Signed by the granter.
332
333
  * @name MsgCreateGrantAmino
@@ -345,6 +346,7 @@ export interface MsgCreateGrantAmino {
345
346
  recurring_pull?: RecurringPullPayloadAmino;
346
347
  spending_allowance?: SpendingAllowancePayloadAmino;
347
348
  scheduled_oneshot?: ScheduledOneshotPayloadAmino;
349
+ sign_in?: SignInPayloadAmino;
348
350
  }
349
351
  export interface MsgCreateGrantAminoMsg {
350
352
  type: "sparkdream/x/session/MsgCreateGrant";
@@ -915,7 +917,7 @@ export declare const MsgExecSessionResponse: {
915
917
  toProtoMsg(message: MsgExecSessionResponse): MsgExecSessionResponseProtoMsg;
916
918
  };
917
919
  /**
918
- * MsgCreateGrant is the unified entrypoint for creating any of the four
920
+ * MsgCreateGrant is the unified entrypoint for creating any of the
919
921
  * typed grants. The grant type is inferred from the payload oneof; the
920
922
  * handler dispatches to type-specific validation. Signed by the granter.
921
923
  * @name MsgCreateGrant
@@ -800,11 +800,12 @@ function createBaseMsgCreateGrant() {
800
800
  sessionKey: undefined,
801
801
  recurringPull: undefined,
802
802
  spendingAllowance: undefined,
803
- scheduledOneshot: undefined
803
+ scheduledOneshot: undefined,
804
+ signIn: undefined
804
805
  };
805
806
  }
806
807
  /**
807
- * MsgCreateGrant is the unified entrypoint for creating any of the four
808
+ * MsgCreateGrant is the unified entrypoint for creating any of the
808
809
  * typed grants. The grant type is inferred from the payload oneof; the
809
810
  * handler dispatches to type-specific validation. Signed by the granter.
810
811
  * @name MsgCreateGrant
@@ -839,6 +840,9 @@ exports.MsgCreateGrant = {
839
840
  if (message.scheduledOneshot !== undefined) {
840
841
  grant_1.ScheduledOneshotPayload.encode(message.scheduledOneshot, writer.uint32(106).fork()).ldelim();
841
842
  }
843
+ if (message.signIn !== undefined) {
844
+ grant_1.SignInPayload.encode(message.signIn, writer.uint32(114).fork()).ldelim();
845
+ }
842
846
  return writer;
843
847
  },
844
848
  decode(input, length) {
@@ -872,6 +876,9 @@ exports.MsgCreateGrant = {
872
876
  case 13:
873
877
  message.scheduledOneshot = grant_1.ScheduledOneshotPayload.decode(reader, reader.uint32());
874
878
  break;
879
+ case 14:
880
+ message.signIn = grant_1.SignInPayload.decode(reader, reader.uint32());
881
+ break;
875
882
  default:
876
883
  reader.skipType(tag & 7);
877
884
  break;
@@ -889,6 +896,7 @@ exports.MsgCreateGrant = {
889
896
  message.recurringPull = object.recurringPull !== undefined && object.recurringPull !== null ? grant_1.RecurringPullPayload.fromPartial(object.recurringPull) : undefined;
890
897
  message.spendingAllowance = object.spendingAllowance !== undefined && object.spendingAllowance !== null ? grant_1.SpendingAllowancePayload.fromPartial(object.spendingAllowance) : undefined;
891
898
  message.scheduledOneshot = object.scheduledOneshot !== undefined && object.scheduledOneshot !== null ? grant_1.ScheduledOneshotPayload.fromPartial(object.scheduledOneshot) : undefined;
899
+ message.signIn = object.signIn !== undefined && object.signIn !== null ? grant_1.SignInPayload.fromPartial(object.signIn) : undefined;
892
900
  return message;
893
901
  },
894
902
  fromAmino(object) {
@@ -917,6 +925,9 @@ exports.MsgCreateGrant = {
917
925
  if (object.scheduled_oneshot !== undefined && object.scheduled_oneshot !== null) {
918
926
  message.scheduledOneshot = grant_1.ScheduledOneshotPayload.fromAmino(object.scheduled_oneshot);
919
927
  }
928
+ if (object.sign_in !== undefined && object.sign_in !== null) {
929
+ message.signIn = grant_1.SignInPayload.fromAmino(object.sign_in);
930
+ }
920
931
  return message;
921
932
  },
922
933
  toAmino(message) {
@@ -929,6 +940,7 @@ exports.MsgCreateGrant = {
929
940
  obj.recurring_pull = message.recurringPull ? grant_1.RecurringPullPayload.toAmino(message.recurringPull) : undefined;
930
941
  obj.spending_allowance = message.spendingAllowance ? grant_1.SpendingAllowancePayload.toAmino(message.spendingAllowance) : undefined;
931
942
  obj.scheduled_oneshot = message.scheduledOneshot ? grant_1.ScheduledOneshotPayload.toAmino(message.scheduledOneshot) : undefined;
943
+ obj.sign_in = message.signIn ? grant_1.SignInPayload.toAmino(message.signIn) : undefined;
932
944
  return obj;
933
945
  },
934
946
  fromAminoMsg(object) {
@@ -29,7 +29,7 @@ export interface Msg {
29
29
  /** ExecSession executes messages using a session key. */
30
30
  execSession(request: MsgExecSession): Promise<MsgExecSessionResponse>;
31
31
  /**
32
- * CreateGrant is the unified entrypoint that creates any of the four typed
32
+ * CreateGrant is the unified entrypoint that creates any of the typed
33
33
  * grants. Type is inferred from the payload oneof.
34
34
  */
35
35
  createGrant(request: MsgCreateGrant): Promise<MsgCreateGrantResponse>;
@@ -65,7 +65,7 @@ export interface Msg {
65
65
  revokeGrant(request: MsgRevokeGrant): Promise<MsgRevokeGrantResponse>;
66
66
  /**
67
67
  * DeclineGrant lets the grantee opt out of any active grant by id.
68
- * Applies uniformly across all four grant types. For ScheduledOneshot
68
+ * Applies uniformly across all grant types. For ScheduledOneshot
69
69
  * this is a pre-fire veto: the grant transitions to DECLINED, the
70
70
  * EndBlocker skips it, and the held deposit is refunded to the
71
71
  * granter. Decline is one-way — the granter must Revoke + CreateGrant
@@ -46,7 +46,7 @@ class MsgClientImpl {
46
46
  const promise = this.rpc.request("sparkdream.session.v1.Msg", "ExecSession", data);
47
47
  return promise.then(data => tx_1.MsgExecSessionResponse.decode(new binary_1.BinaryReader(data)));
48
48
  };
49
- /* CreateGrant is the unified entrypoint that creates any of the four typed
49
+ /* CreateGrant is the unified entrypoint that creates any of the typed
50
50
  grants. Type is inferred from the payload oneof. */
51
51
  createGrant = async (request) => {
52
52
  const data = tx_1.MsgCreateGrant.encode(request).finish();
@@ -92,7 +92,7 @@ class MsgClientImpl {
92
92
  return promise.then(data => tx_1.MsgRevokeGrantResponse.decode(new binary_1.BinaryReader(data)));
93
93
  };
94
94
  /* DeclineGrant lets the grantee opt out of any active grant by id.
95
- Applies uniformly across all four grant types. For ScheduledOneshot
95
+ Applies uniformly across all grant types. For ScheduledOneshot
96
96
  this is a pre-fire veto: the grant transitions to DECLINED, the
97
97
  EndBlocker skips it, and the held deposit is refunded to the
98
98
  granter. Decline is one-way — the granter must Revoke + CreateGrant
@@ -1,5 +1,5 @@
1
1
  import { Params, ParamsAmino } from "./params";
2
- import { ShieldedOpRegistration, ShieldedOpRegistrationAmino, UsedNullifier, UsedNullifierAmino, DayFunding, DayFundingAmino, VerificationKey, VerificationKeyAmino, TLEKeySet, TLEKeySetAmino, PendingShieldedOp, PendingShieldedOpAmino, ShieldEpochState, ShieldEpochStateAmino, ShieldEpochDecryptionKey, ShieldEpochDecryptionKeyAmino, IdentityRateLimitEntry, IdentityRateLimitEntryAmino, ShieldDecryptionShare, ShieldDecryptionShareAmino, TLEMissCounterEntry, TLEMissCounterEntryAmino, DKGState, DKGStateAmino, DKGContributionEntry, DKGContributionEntryAmino } from "./types";
2
+ import { ShieldedOpRegistration, ShieldedOpRegistrationAmino, UsedNullifier, UsedNullifierAmino, DayFunding, DayFundingAmino, VerificationKey, VerificationKeyAmino, TLEKeySet, TLEKeySetAmino, PendingShieldedOp, PendingShieldedOpAmino, ShieldEpochState, ShieldEpochStateAmino, ShieldEpochDecryptionKey, ShieldEpochDecryptionKeyAmino, IdentityRateLimitEntry, IdentityRateLimitEntryAmino, ShieldDecryptionShare, ShieldDecryptionShareAmino, TLEMissCounterEntry, TLEMissCounterEntryAmino, DKGState, DKGStateAmino, DKGContributionEntry, DKGContributionEntryAmino, DecryptionDemandEntry, DecryptionDemandEntryAmino, DKGComplaint, DKGComplaintAmino } from "./types";
3
3
  import { BinaryReader, BinaryWriter } from "../../../binary";
4
4
  import { DeepPartial } from "../../../helpers";
5
5
  /**
@@ -77,6 +77,14 @@ export interface GenesisState {
77
77
  * DKG registrations (pub keys from REGISTERING phase)
78
78
  */
79
79
  dkgRegistrations: DKGContributionEntry[];
80
+ /**
81
+ * Closed epochs whose decryption shares have been requested from validators
82
+ */
83
+ decryptionDemands: DecryptionDemandEntry[];
84
+ /**
85
+ * DKG complaints for the current round
86
+ */
87
+ dkgComplaints: DKGComplaint[];
80
88
  }
81
89
  export interface GenesisStateProtoMsg {
82
90
  typeUrl: "/sparkdream.shield.v1.GenesisState";
@@ -157,6 +165,14 @@ export interface GenesisStateAmino {
157
165
  * DKG registrations (pub keys from REGISTERING phase)
158
166
  */
159
167
  dkg_registrations?: DKGContributionEntryAmino[];
168
+ /**
169
+ * Closed epochs whose decryption shares have been requested from validators
170
+ */
171
+ decryption_demands?: DecryptionDemandEntryAmino[];
172
+ /**
173
+ * DKG complaints for the current round
174
+ */
175
+ dkg_complaints?: DKGComplaintAmino[];
160
176
  }
161
177
  export interface GenesisStateAminoMsg {
162
178
  type: "/sparkdream.shield.v1.GenesisState";
@@ -23,7 +23,9 @@ function createBaseGenesisState() {
23
23
  tleMissCounters: [],
24
24
  dkgState: types_1.DKGState.fromPartial({}),
25
25
  dkgContributions: [],
26
- dkgRegistrations: []
26
+ dkgRegistrations: [],
27
+ decryptionDemands: [],
28
+ dkgComplaints: []
27
29
  };
28
30
  }
29
31
  /**
@@ -86,6 +88,12 @@ exports.GenesisState = {
86
88
  for (const v of message.dkgRegistrations) {
87
89
  types_1.DKGContributionEntry.encode(v, writer.uint32(138).fork()).ldelim();
88
90
  }
91
+ for (const v of message.decryptionDemands) {
92
+ types_1.DecryptionDemandEntry.encode(v, writer.uint32(146).fork()).ldelim();
93
+ }
94
+ for (const v of message.dkgComplaints) {
95
+ types_1.DKGComplaint.encode(v, writer.uint32(154).fork()).ldelim();
96
+ }
89
97
  return writer;
90
98
  },
91
99
  decode(input, length) {
@@ -146,6 +154,12 @@ exports.GenesisState = {
146
154
  case 17:
147
155
  message.dkgRegistrations.push(types_1.DKGContributionEntry.decode(reader, reader.uint32()));
148
156
  break;
157
+ case 18:
158
+ message.decryptionDemands.push(types_1.DecryptionDemandEntry.decode(reader, reader.uint32()));
159
+ break;
160
+ case 19:
161
+ message.dkgComplaints.push(types_1.DKGComplaint.decode(reader, reader.uint32()));
162
+ break;
149
163
  default:
150
164
  reader.skipType(tag & 7);
151
165
  break;
@@ -172,6 +186,8 @@ exports.GenesisState = {
172
186
  message.dkgState = object.dkgState !== undefined && object.dkgState !== null ? types_1.DKGState.fromPartial(object.dkgState) : undefined;
173
187
  message.dkgContributions = object.dkgContributions?.map(e => types_1.DKGContributionEntry.fromPartial(e)) || [];
174
188
  message.dkgRegistrations = object.dkgRegistrations?.map(e => types_1.DKGContributionEntry.fromPartial(e)) || [];
189
+ message.decryptionDemands = object.decryptionDemands?.map(e => types_1.DecryptionDemandEntry.fromPartial(e)) || [];
190
+ message.dkgComplaints = object.dkgComplaints?.map(e => types_1.DKGComplaint.fromPartial(e)) || [];
175
191
  return message;
176
192
  },
177
193
  fromAmino(object) {
@@ -203,6 +219,8 @@ exports.GenesisState = {
203
219
  }
204
220
  message.dkgContributions = object.dkg_contributions?.map(e => types_1.DKGContributionEntry.fromAmino(e)) || [];
205
221
  message.dkgRegistrations = object.dkg_registrations?.map(e => types_1.DKGContributionEntry.fromAmino(e)) || [];
222
+ message.decryptionDemands = object.decryption_demands?.map(e => types_1.DecryptionDemandEntry.fromAmino(e)) || [];
223
+ message.dkgComplaints = object.dkg_complaints?.map(e => types_1.DKGComplaint.fromAmino(e)) || [];
206
224
  return message;
207
225
  },
208
226
  toAmino(message) {
@@ -284,6 +302,18 @@ exports.GenesisState = {
284
302
  else {
285
303
  obj.dkg_registrations = message.dkgRegistrations;
286
304
  }
305
+ if (message.decryptionDemands) {
306
+ obj.decryption_demands = message.decryptionDemands.map(e => e ? types_1.DecryptionDemandEntry.toAmino(e) : undefined);
307
+ }
308
+ else {
309
+ obj.decryption_demands = message.decryptionDemands;
310
+ }
311
+ if (message.dkgComplaints) {
312
+ obj.dkg_complaints = message.dkgComplaints.map(e => e ? types_1.DKGComplaint.toAmino(e) : undefined);
313
+ }
314
+ else {
315
+ obj.dkg_complaints = message.dkgComplaints;
316
+ }
287
317
  return obj;
288
318
  },
289
319
  fromAminoMsg(object) {
@@ -12,7 +12,7 @@ export interface Params {
12
12
  */
13
13
  enabled: boolean;
14
14
  /**
15
- * Maximum uspark to skim from community pool per day (14400 blocks at 6s/block)
15
+ * Maximum bond-denom amount to draw from the community pool per UTC day (day = block time / 86400)
16
16
  */
17
17
  maxFundingPerDay: string;
18
18
  /**
@@ -72,7 +72,7 @@ export interface Params {
72
72
  */
73
73
  minTleValidators: number;
74
74
  /**
75
- * Total DKG window in blocks (split: first half = key registration, second half = contributions)
75
+ * Total DKG window in blocks, split into four equal phases: key registration, dealing, complaints, justifications
76
76
  */
77
77
  dkgWindowBlocks: bigint;
78
78
  /**
@@ -88,6 +88,12 @@ export interface Params {
88
88
  * rejected before anything is paid.
89
89
  */
90
90
  maxFeePerExec: string;
91
+ /**
92
+ * Whether a completed DKG turns encrypted_batch_enabled on by itself.
93
+ * Off by default: governance enables batch mode explicitly once it is
94
+ * satisfied with the ceremony. A re-key always turns batch mode off.
95
+ */
96
+ enableBatchAfterDkg: boolean;
91
97
  }
92
98
  export interface ParamsProtoMsg {
93
99
  typeUrl: "/sparkdream.shield.v1.Params";
@@ -105,7 +111,7 @@ export interface ParamsAmino {
105
111
  */
106
112
  enabled?: boolean;
107
113
  /**
108
- * Maximum uspark to skim from community pool per day (14400 blocks at 6s/block)
114
+ * Maximum bond-denom amount to draw from the community pool per UTC day (day = block time / 86400)
109
115
  */
110
116
  max_funding_per_day?: string;
111
117
  /**
@@ -165,7 +171,7 @@ export interface ParamsAmino {
165
171
  */
166
172
  min_tle_validators?: number;
167
173
  /**
168
- * Total DKG window in blocks (split: first half = key registration, second half = contributions)
174
+ * Total DKG window in blocks, split into four equal phases: key registration, dealing, complaints, justifications
169
175
  */
170
176
  dkg_window_blocks?: string;
171
177
  /**
@@ -181,6 +187,12 @@ export interface ParamsAmino {
181
187
  * rejected before anything is paid.
182
188
  */
183
189
  max_fee_per_exec?: string;
190
+ /**
191
+ * Whether a completed DKG turns encrypted_batch_enabled on by itself.
192
+ * Off by default: governance enables batch mode explicitly once it is
193
+ * satisfied with the ceremony. A re-key always turns batch mode off.
194
+ */
195
+ enable_batch_after_dkg?: boolean;
184
196
  }
185
197
  export interface ParamsAminoMsg {
186
198
  type: "sparkdream/x/shield/Params";
@@ -23,7 +23,8 @@ function createBaseParams() {
23
23
  minTleValidators: 0,
24
24
  dkgWindowBlocks: BigInt(0),
25
25
  maxValidatorSetDrift: 0,
26
- maxFeePerExec: ""
26
+ maxFeePerExec: "",
27
+ enableBatchAfterDkg: false
27
28
  };
28
29
  }
29
30
  /**
@@ -93,6 +94,9 @@ exports.Params = {
93
94
  if (message.maxFeePerExec !== "") {
94
95
  writer.uint32(154).string(message.maxFeePerExec);
95
96
  }
97
+ if (message.enableBatchAfterDkg === true) {
98
+ writer.uint32(160).bool(message.enableBatchAfterDkg);
99
+ }
96
100
  return writer;
97
101
  },
98
102
  decode(input, length) {
@@ -159,6 +163,9 @@ exports.Params = {
159
163
  case 19:
160
164
  message.maxFeePerExec = reader.string();
161
165
  break;
166
+ case 20:
167
+ message.enableBatchAfterDkg = reader.bool();
168
+ break;
162
169
  default:
163
170
  reader.skipType(tag & 7);
164
171
  break;
@@ -187,6 +194,7 @@ exports.Params = {
187
194
  message.dkgWindowBlocks = object.dkgWindowBlocks !== undefined && object.dkgWindowBlocks !== null ? BigInt(object.dkgWindowBlocks.toString()) : BigInt(0);
188
195
  message.maxValidatorSetDrift = object.maxValidatorSetDrift ?? 0;
189
196
  message.maxFeePerExec = object.maxFeePerExec ?? "";
197
+ message.enableBatchAfterDkg = object.enableBatchAfterDkg ?? false;
190
198
  return message;
191
199
  },
192
200
  fromAmino(object) {
@@ -248,6 +256,9 @@ exports.Params = {
248
256
  if (object.max_fee_per_exec !== undefined && object.max_fee_per_exec !== null) {
249
257
  message.maxFeePerExec = object.max_fee_per_exec;
250
258
  }
259
+ if (object.enable_batch_after_dkg !== undefined && object.enable_batch_after_dkg !== null) {
260
+ message.enableBatchAfterDkg = object.enable_batch_after_dkg;
261
+ }
251
262
  return message;
252
263
  },
253
264
  toAmino(message) {
@@ -271,6 +282,7 @@ exports.Params = {
271
282
  obj.dkg_window_blocks = message.dkgWindowBlocks !== BigInt(0) ? message.dkgWindowBlocks?.toString() : undefined;
272
283
  obj.max_validator_set_drift = message.maxValidatorSetDrift === 0 ? undefined : message.maxValidatorSetDrift;
273
284
  obj.max_fee_per_exec = message.maxFeePerExec === "" ? undefined : message.maxFeePerExec;
285
+ obj.enable_batch_after_dkg = message.enableBatchAfterDkg === false ? undefined : message.enableBatchAfterDkg;
274
286
  return obj;
275
287
  },
276
288
  fromAminoMsg(object) {
@@ -475,6 +475,10 @@ export interface QueryTLEMasterPublicKeyRequestAminoMsg {
475
475
  */
476
476
  export interface QueryTLEMasterPublicKeyResponse {
477
477
  masterPublicKey: Uint8Array;
478
+ /**
479
+ * The key clients encrypt batch payloads to (see tools/tle).
480
+ */
481
+ masterPublicKeyG2: Uint8Array;
478
482
  }
479
483
  export interface QueryTLEMasterPublicKeyResponseProtoMsg {
480
484
  typeUrl: "/sparkdream.shield.v1.QueryTLEMasterPublicKeyResponse";
@@ -487,6 +491,10 @@ export interface QueryTLEMasterPublicKeyResponseProtoMsg {
487
491
  */
488
492
  export interface QueryTLEMasterPublicKeyResponseAmino {
489
493
  master_public_key?: string;
494
+ /**
495
+ * The key clients encrypt batch payloads to (see tools/tle).
496
+ */
497
+ master_public_key_g2?: string;
490
498
  }
491
499
  export interface QueryTLEMasterPublicKeyResponseAminoMsg {
492
500
  type: "/sparkdream.shield.v1.QueryTLEMasterPublicKeyResponse";
@@ -1315,7 +1315,8 @@ exports.QueryTLEMasterPublicKeyRequest = {
1315
1315
  };
1316
1316
  function createBaseQueryTLEMasterPublicKeyResponse() {
1317
1317
  return {
1318
- masterPublicKey: new Uint8Array()
1318
+ masterPublicKey: new Uint8Array(),
1319
+ masterPublicKeyG2: new Uint8Array()
1319
1320
  };
1320
1321
  }
1321
1322
  /**
@@ -1329,6 +1330,9 @@ exports.QueryTLEMasterPublicKeyResponse = {
1329
1330
  if (message.masterPublicKey.length !== 0) {
1330
1331
  writer.uint32(10).bytes(message.masterPublicKey);
1331
1332
  }
1333
+ if (message.masterPublicKeyG2.length !== 0) {
1334
+ writer.uint32(18).bytes(message.masterPublicKeyG2);
1335
+ }
1332
1336
  return writer;
1333
1337
  },
1334
1338
  decode(input, length) {
@@ -1341,6 +1345,9 @@ exports.QueryTLEMasterPublicKeyResponse = {
1341
1345
  case 1:
1342
1346
  message.masterPublicKey = reader.bytes();
1343
1347
  break;
1348
+ case 2:
1349
+ message.masterPublicKeyG2 = reader.bytes();
1350
+ break;
1344
1351
  default:
1345
1352
  reader.skipType(tag & 7);
1346
1353
  break;
@@ -1351,6 +1358,7 @@ exports.QueryTLEMasterPublicKeyResponse = {
1351
1358
  fromPartial(object) {
1352
1359
  const message = createBaseQueryTLEMasterPublicKeyResponse();
1353
1360
  message.masterPublicKey = object.masterPublicKey ?? new Uint8Array();
1361
+ message.masterPublicKeyG2 = object.masterPublicKeyG2 ?? new Uint8Array();
1354
1362
  return message;
1355
1363
  },
1356
1364
  fromAmino(object) {
@@ -1358,11 +1366,15 @@ exports.QueryTLEMasterPublicKeyResponse = {
1358
1366
  if (object.master_public_key !== undefined && object.master_public_key !== null) {
1359
1367
  message.masterPublicKey = (0, helpers_1.bytesFromBase64)(object.master_public_key);
1360
1368
  }
1369
+ if (object.master_public_key_g2 !== undefined && object.master_public_key_g2 !== null) {
1370
+ message.masterPublicKeyG2 = (0, helpers_1.bytesFromBase64)(object.master_public_key_g2);
1371
+ }
1361
1372
  return message;
1362
1373
  },
1363
1374
  toAmino(message) {
1364
1375
  const obj = {};
1365
1376
  obj.master_public_key = message.masterPublicKey ? (0, helpers_1.base64FromBytes)(message.masterPublicKey) : undefined;
1377
+ obj.master_public_key_g2 = message.masterPublicKeyG2 ? (0, helpers_1.base64FromBytes)(message.masterPublicKeyG2) : undefined;
1366
1378
  return obj;
1367
1379
  },
1368
1380
  fromAminoMsg(object) {