@andrewkimjoseph/celina-sdk 0.15.7 → 0.16.0

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 (135) hide show
  1. package/build/abis/accounts.d.ts +18 -0
  2. package/build/abis/accounts.js +14 -0
  3. package/build/abis/accounts.js.map +1 -1
  4. package/build/abis/election.d.ts +69 -0
  5. package/build/abis/election.js +45 -0
  6. package/build/abis/election.js.map +1 -1
  7. package/build/abis/gooddollar-identity.d.ts +18 -0
  8. package/build/abis/gooddollar-identity.js +14 -0
  9. package/build/abis/gooddollar-identity.js.map +1 -1
  10. package/build/abis/governance.d.ts +31 -0
  11. package/build/abis/governance.js +27 -0
  12. package/build/abis/governance.js.map +1 -1
  13. package/build/abis/locked-gold.d.ts +162 -0
  14. package/build/abis/locked-gold.js +116 -0
  15. package/build/abis/locked-gold.js.map +1 -1
  16. package/build/analytics/mcp-tool-events.js +6 -0
  17. package/build/analytics/mcp-tool-events.js.map +1 -1
  18. package/build/analytics/wallet-extract.js +5 -0
  19. package/build/analytics/wallet-extract.js.map +1 -1
  20. package/build/config/celina-tag.d.ts +3 -3
  21. package/build/config/celina-tag.js +12 -3
  22. package/build/config/celina-tag.js.map +1 -1
  23. package/build/index.d.ts +13 -2
  24. package/build/index.js +8 -1
  25. package/build/index.js.map +1 -1
  26. package/build/services/account.service.d.ts +17 -3
  27. package/build/services/account.service.js +62 -0
  28. package/build/services/account.service.js.map +1 -1
  29. package/build/services/gooddollar.service.d.ts +10 -0
  30. package/build/services/gooddollar.service.js +55 -0
  31. package/build/services/gooddollar.service.js.map +1 -1
  32. package/build/services/governance.service.d.ts +56 -1
  33. package/build/services/governance.service.js +253 -3
  34. package/build/services/governance.service.js.map +1 -1
  35. package/build/services/humanness.service.d.ts +30 -0
  36. package/build/services/humanness.service.js +123 -0
  37. package/build/services/humanness.service.js.map +1 -0
  38. package/build/services/staking.service.d.ts +27 -1
  39. package/build/services/staking.service.js +203 -3
  40. package/build/services/staking.service.js.map +1 -1
  41. package/build/src/abis/accounts.d.ts +18 -0
  42. package/build/src/abis/accounts.js +14 -0
  43. package/build/src/abis/accounts.js.map +1 -1
  44. package/build/src/abis/election.d.ts +69 -0
  45. package/build/src/abis/election.js +45 -0
  46. package/build/src/abis/election.js.map +1 -1
  47. package/build/src/abis/gooddollar-identity.d.ts +18 -0
  48. package/build/src/abis/gooddollar-identity.js +14 -0
  49. package/build/src/abis/gooddollar-identity.js.map +1 -1
  50. package/build/src/abis/governance.d.ts +31 -0
  51. package/build/src/abis/governance.js +27 -0
  52. package/build/src/abis/governance.js.map +1 -1
  53. package/build/src/abis/locked-gold.d.ts +162 -0
  54. package/build/src/abis/locked-gold.js +116 -0
  55. package/build/src/abis/locked-gold.js.map +1 -1
  56. package/build/src/analytics/mcp-tool-events.js +6 -0
  57. package/build/src/analytics/mcp-tool-events.js.map +1 -1
  58. package/build/src/analytics/wallet-extract.js +5 -0
  59. package/build/src/analytics/wallet-extract.js.map +1 -1
  60. package/build/src/config/celina-tag.d.ts +3 -3
  61. package/build/src/config/celina-tag.js +12 -3
  62. package/build/src/config/celina-tag.js.map +1 -1
  63. package/build/src/index.d.ts +13 -2
  64. package/build/src/index.js +8 -1
  65. package/build/src/index.js.map +1 -1
  66. package/build/src/services/account.service.d.ts +17 -3
  67. package/build/src/services/account.service.js +62 -0
  68. package/build/src/services/account.service.js.map +1 -1
  69. package/build/src/services/gooddollar.service.d.ts +10 -0
  70. package/build/src/services/gooddollar.service.js +55 -0
  71. package/build/src/services/gooddollar.service.js.map +1 -1
  72. package/build/src/services/governance.service.d.ts +56 -1
  73. package/build/src/services/governance.service.js +253 -3
  74. package/build/src/services/governance.service.js.map +1 -1
  75. package/build/src/services/humanness.service.d.ts +30 -0
  76. package/build/src/services/humanness.service.js +123 -0
  77. package/build/src/services/humanness.service.js.map +1 -0
  78. package/build/src/services/staking.service.d.ts +27 -1
  79. package/build/src/services/staking.service.js +203 -3
  80. package/build/src/services/staking.service.js.map +1 -1
  81. package/build/src/tools/domains/blockchain.js +47 -3
  82. package/build/src/tools/domains/blockchain.js.map +1 -1
  83. package/build/src/tools/domains/gooddollar.js +92 -1
  84. package/build/src/tools/domains/gooddollar.js.map +1 -1
  85. package/build/src/tools/domains/governance.js +215 -1
  86. package/build/src/tools/domains/governance.js.map +1 -1
  87. package/build/src/tools/domains/humanness.d.ts +2 -0
  88. package/build/src/tools/domains/humanness.js +25 -0
  89. package/build/src/tools/domains/humanness.js.map +1 -0
  90. package/build/src/tools/domains/index.js +2 -0
  91. package/build/src/tools/domains/index.js.map +1 -1
  92. package/build/src/tools/domains/staking.js +199 -1
  93. package/build/src/tools/domains/staking.js.map +1 -1
  94. package/build/src/tools/schemas/common.d.ts +3 -0
  95. package/build/src/tools/schemas/common.js +9 -0
  96. package/build/src/tools/schemas/common.js.map +1 -1
  97. package/build/src/tools/types.d.ts +29 -0
  98. package/build/src/utils/celo-account.d.ts +3 -0
  99. package/build/src/utils/celo-account.js +22 -0
  100. package/build/src/utils/celo-account.js.map +1 -0
  101. package/build/src/utils/election-vote-neighbors.d.ts +12 -0
  102. package/build/src/utils/election-vote-neighbors.js +27 -0
  103. package/build/src/utils/election-vote-neighbors.js.map +1 -0
  104. package/build/src/utils/fixidity.d.ts +11 -0
  105. package/build/src/utils/fixidity.js +24 -0
  106. package/build/src/utils/fixidity.js.map +1 -0
  107. package/build/tests/catalog/domains/chain-ext.js +152 -0
  108. package/build/tests/catalog/domains/chain-ext.js.map +1 -1
  109. package/build/tools/domains/blockchain.js +47 -3
  110. package/build/tools/domains/blockchain.js.map +1 -1
  111. package/build/tools/domains/gooddollar.js +92 -1
  112. package/build/tools/domains/gooddollar.js.map +1 -1
  113. package/build/tools/domains/governance.js +215 -1
  114. package/build/tools/domains/governance.js.map +1 -1
  115. package/build/tools/domains/humanness.d.ts +2 -0
  116. package/build/tools/domains/humanness.js +25 -0
  117. package/build/tools/domains/humanness.js.map +1 -0
  118. package/build/tools/domains/index.js +2 -0
  119. package/build/tools/domains/index.js.map +1 -1
  120. package/build/tools/domains/staking.js +199 -1
  121. package/build/tools/domains/staking.js.map +1 -1
  122. package/build/tools/schemas/common.d.ts +3 -0
  123. package/build/tools/schemas/common.js +9 -0
  124. package/build/tools/schemas/common.js.map +1 -1
  125. package/build/tools/types.d.ts +29 -0
  126. package/build/utils/celo-account.d.ts +3 -0
  127. package/build/utils/celo-account.js +22 -0
  128. package/build/utils/celo-account.js.map +1 -0
  129. package/build/utils/election-vote-neighbors.d.ts +12 -0
  130. package/build/utils/election-vote-neighbors.js +27 -0
  131. package/build/utils/election-vote-neighbors.js.map +1 -0
  132. package/build/utils/fixidity.d.ts +11 -0
  133. package/build/utils/fixidity.js +24 -0
  134. package/build/utils/fixidity.js.map +1 -0
  135. package/package.json +4 -1
@@ -1,10 +1,17 @@
1
1
  import { z } from "zod";
2
- import { addressSchema, optionalBoundedPositiveInt, optionalWalletAddressSchema, paginationFields, } from "../schemas/common.js";
2
+ import { addressSchema, executeEnvRequirements, optionalBoundedPositiveInt, optionalSignerSchema, optionalWalletAddressSchema, paginationFields, } from "../schemas/common.js";
3
3
  import { resolveWalletFromRuntime } from "../utils/wallet.js";
4
4
  const readOnly = {
5
5
  readOnlyHint: true,
6
6
  idempotentHint: true,
7
7
  };
8
+ const destructive = {
9
+ destructiveHint: true,
10
+ openWorldHint: true,
11
+ };
12
+ function resolveSigner(input) {
13
+ return input.signer;
14
+ }
8
15
  export const stakingToolDefinitions = [
9
16
  {
10
17
  name: "get_staking_balances",
@@ -70,5 +77,196 @@ export const stakingToolDefinitions = [
70
77
  mcp: { title: "Get Total Staking Info", annotations: readOnly },
71
78
  handler: async (runtime) => runtime.celina.staking.getTotalStakingInfo(),
72
79
  },
80
+ {
81
+ name: "get_delegation_info",
82
+ description: "Governance vote delegation info from LockedGold for an address.",
83
+ inputSchema: z.object({ address: optionalWalletAddressSchema }),
84
+ families: ["read"],
85
+ mcp: { title: "Get Delegation Info", annotations: readOnly },
86
+ handler: async (runtime, input) => {
87
+ const target = resolveWalletFromRuntime(runtime, {
88
+ address: input.address,
89
+ });
90
+ return runtime.celina.staking.getDelegationInfo(target);
91
+ },
92
+ },
93
+ {
94
+ name: "execute_stake",
95
+ description: "Stake locked CELO with a validator group. Requires humanness verification and registered Celo account.",
96
+ inputSchema: z.object({
97
+ group_address: addressSchema,
98
+ amount: z.string(),
99
+ signer: optionalSignerSchema,
100
+ }),
101
+ families: ["execute"],
102
+ surfaces: ["mcp"],
103
+ requiresEnv: [...executeEnvRequirements],
104
+ mcp: { title: "Stake CELO", annotations: destructive },
105
+ handler: async (runtime, input) => {
106
+ const write = runtime.executors?.stakingWrite;
107
+ if (!write)
108
+ throw new Error("Staking write executor not configured.");
109
+ return write.stake(input.group_address, input.amount, resolveSigner(input));
110
+ },
111
+ },
112
+ {
113
+ name: "execute_activate_stake",
114
+ description: "Activate pending stake for a validator group after epoch boundary.",
115
+ inputSchema: z.object({
116
+ group_address: addressSchema,
117
+ signer: optionalSignerSchema,
118
+ }),
119
+ families: ["execute"],
120
+ surfaces: ["mcp"],
121
+ requiresEnv: [...executeEnvRequirements],
122
+ mcp: { title: "Activate Stake", annotations: destructive },
123
+ handler: async (runtime, input) => {
124
+ const write = runtime.executors?.stakingWrite;
125
+ if (!write)
126
+ throw new Error("Staking write executor not configured.");
127
+ return write.activateStake(input.group_address, resolveSigner(input));
128
+ },
129
+ },
130
+ {
131
+ name: "execute_unstake",
132
+ description: "Unstake CELO from a validator group. Requires humanness verification.",
133
+ inputSchema: z.object({
134
+ group_address: addressSchema,
135
+ amount: z.string(),
136
+ signer: optionalSignerSchema,
137
+ }),
138
+ families: ["execute"],
139
+ surfaces: ["mcp"],
140
+ requiresEnv: [...executeEnvRequirements],
141
+ mcp: { title: "Unstake CELO", annotations: destructive },
142
+ handler: async (runtime, input) => {
143
+ const write = runtime.executors?.stakingWrite;
144
+ if (!write)
145
+ throw new Error("Staking write executor not configured.");
146
+ return write.unstake(input.group_address, input.amount, resolveSigner(input));
147
+ },
148
+ },
149
+ {
150
+ name: "execute_delegate_power",
151
+ description: "Delegate governance voting power to another address. Requires humanness verification.",
152
+ inputSchema: z.object({
153
+ delegatee: addressSchema,
154
+ percent: z.number().min(0).max(100),
155
+ signer: optionalSignerSchema,
156
+ }),
157
+ families: ["execute"],
158
+ surfaces: ["mcp"],
159
+ requiresEnv: [...executeEnvRequirements],
160
+ mcp: { title: "Delegate Power", annotations: destructive },
161
+ handler: async (runtime, input) => {
162
+ const write = runtime.executors?.stakingWrite;
163
+ if (!write)
164
+ throw new Error("Staking write executor not configured.");
165
+ return write.delegatePower(input.delegatee, input.percent, resolveSigner(input));
166
+ },
167
+ },
168
+ {
169
+ name: "execute_undelegate_power",
170
+ description: "Revoke delegated governance voting power. Requires humanness verification.",
171
+ inputSchema: z.object({
172
+ delegatee: addressSchema,
173
+ percent: z.number().min(0).max(100),
174
+ signer: optionalSignerSchema,
175
+ }),
176
+ families: ["execute"],
177
+ surfaces: ["mcp"],
178
+ requiresEnv: [...executeEnvRequirements],
179
+ mcp: { title: "Undelegate Power", annotations: destructive },
180
+ handler: async (runtime, input) => {
181
+ const write = runtime.executors?.stakingWrite;
182
+ if (!write)
183
+ throw new Error("Staking write executor not configured.");
184
+ return write.undelegatePower(input.delegatee, input.percent, resolveSigner(input));
185
+ },
186
+ },
187
+ {
188
+ name: "prepare_stake",
189
+ description: "Prepare unsigned stake CELO flow for wallet signing.",
190
+ inputSchema: z.object({
191
+ from: optionalWalletAddressSchema,
192
+ group_address: addressSchema,
193
+ amount: z.string(),
194
+ }),
195
+ families: ["prepare"],
196
+ surfaces: ["browser"],
197
+ handler: async (runtime, input) => {
198
+ const from = resolveWalletFromRuntime(runtime, {
199
+ from: input.from,
200
+ });
201
+ return runtime.celina.staking.prepareStake(from, input.group_address, input.amount);
202
+ },
203
+ },
204
+ {
205
+ name: "prepare_activate_stake",
206
+ description: "Prepare unsigned activate stake flow for wallet signing.",
207
+ inputSchema: z.object({
208
+ from: optionalWalletAddressSchema,
209
+ group_address: addressSchema,
210
+ }),
211
+ families: ["prepare"],
212
+ surfaces: ["browser"],
213
+ handler: async (runtime, input) => {
214
+ const from = resolveWalletFromRuntime(runtime, {
215
+ from: input.from,
216
+ });
217
+ return runtime.celina.staking.prepareActivateStake(from, input.group_address);
218
+ },
219
+ },
220
+ {
221
+ name: "prepare_unstake",
222
+ description: "Prepare unsigned unstake flow for wallet signing.",
223
+ inputSchema: z.object({
224
+ from: optionalWalletAddressSchema,
225
+ group_address: addressSchema,
226
+ amount: z.string(),
227
+ }),
228
+ families: ["prepare"],
229
+ surfaces: ["browser"],
230
+ handler: async (runtime, input) => {
231
+ const from = resolveWalletFromRuntime(runtime, {
232
+ from: input.from,
233
+ });
234
+ return runtime.celina.staking.prepareUnstake(from, input.group_address, input.amount);
235
+ },
236
+ },
237
+ {
238
+ name: "prepare_delegate_power",
239
+ description: "Prepare unsigned delegate governance power flow for wallet signing.",
240
+ inputSchema: z.object({
241
+ from: optionalWalletAddressSchema,
242
+ delegatee: addressSchema,
243
+ percent: z.number().min(0).max(100),
244
+ }),
245
+ families: ["prepare"],
246
+ surfaces: ["browser"],
247
+ handler: async (runtime, input) => {
248
+ const from = resolveWalletFromRuntime(runtime, {
249
+ from: input.from,
250
+ });
251
+ return runtime.celina.staking.prepareDelegatePower(from, input.delegatee, input.percent);
252
+ },
253
+ },
254
+ {
255
+ name: "prepare_undelegate_power",
256
+ description: "Prepare unsigned undelegate governance power flow for wallet signing.",
257
+ inputSchema: z.object({
258
+ from: optionalWalletAddressSchema,
259
+ delegatee: addressSchema,
260
+ percent: z.number().min(0).max(100),
261
+ }),
262
+ families: ["prepare"],
263
+ surfaces: ["browser"],
264
+ handler: async (runtime, input) => {
265
+ const from = resolveWalletFromRuntime(runtime, {
266
+ from: input.from,
267
+ });
268
+ return runtime.celina.staking.prepareUndelegatePower(from, input.delegatee, input.percent);
269
+ },
270
+ },
73
271
  ];
74
272
  //# sourceMappingURL=staking.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"staking.js","sourceRoot":"","sources":["../../../../src/tools/domains/staking.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"staking.js","sourceRoot":"","sources":["../../../../src/tools/domains/staking.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,9 @@
1
1
  import { z } from "zod";
2
2
  export declare const addressSchema: z.ZodString;
3
3
  export declare const optionalWalletAddressSchema: z.ZodOptional<z.ZodString>;
4
+ /** Optional MCP server signer selection for humanness-gated execute tools. */
5
+ export declare const optionalSignerSchema: z.ZodOptional<z.ZodEnum<["celo", "self_agent"]>>;
6
+ export declare const executeEnvRequirements: readonly ["CELO_PRIVATE_KEY", "SELF_AGENT_PRIVATE_KEY"];
4
7
  export declare const requiredWalletAddressSchema: z.ZodString;
5
8
  /** Input keys that default to the MCP signer when omitted on local stdio. */
6
9
  export declare const WALLET_PARAM_KEYS: readonly ["address", "wallet_address", "from", "from_address"];
@@ -6,6 +6,15 @@ export const addressSchema = z
6
6
  export const optionalWalletAddressSchema = addressSchema
7
7
  .optional()
8
8
  .describe("Wallet on Celo mainnet. Omit to use the connected wallet or MCP CELO_PRIVATE_KEY signer.");
9
+ /** Optional MCP server signer selection for humanness-gated execute tools. */
10
+ export const optionalSignerSchema = z
11
+ .enum(["celo", "self_agent"])
12
+ .optional()
13
+ .describe("MCP server signer: celo (CELO_PRIVATE_KEY) or self_agent (SELF_AGENT_PRIVATE_KEY). Defaults to CELO when both are set.");
14
+ export const executeEnvRequirements = [
15
+ "CELO_PRIVATE_KEY",
16
+ "SELF_AGENT_PRIVATE_KEY",
17
+ ];
9
18
  export const requiredWalletAddressSchema = addressSchema.describe("Wallet on Celo mainnet (0x address).");
10
19
  /** Input keys that default to the MCP signer when omitted on local stdio. */
11
20
  export const WALLET_PARAM_KEYS = [
@@ -1 +1 @@
1
- {"version":3,"file":"common.js","sourceRoot":"","sources":["../../../../src/tools/schemas/common.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAErE,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC;KAC3B,MAAM,EAAE;KACR,KAAK,CAAC,qBAAqB,EAAE,0BAA0B,CAAC,CAAC;AAE5D,MAAM,CAAC,MAAM,2BAA2B,GAAG,aAAa;KACrD,QAAQ,EAAE;KACV,QAAQ,CACP,0FAA0F,CAC3F,CAAC;AAEJ,MAAM,CAAC,MAAM,2BAA2B,GAAG,aAAa,CAAC,QAAQ,CAC/D,sCAAsC,CACvC,CAAC;AAEF,6EAA6E;AAC7E,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,SAAS;IACT,gBAAgB;IAChB,MAAM;IACN,cAAc;CACN,CAAC;AAEX,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC;KAChC,MAAM,EAAE;KACR,GAAG,CAAC,CAAC,CAAC;KACN,QAAQ,CACP,8EAA8E,CAC/E,CAAC;AAEJ,SAAS,gBAAgB,CAAC,KAAc;IACtC,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;QAC7B,IAAI,OAAO,KAAK,QAAQ,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YAClD,OAAO,OAAO,CAAC;QACjB,CAAC;QACD,IAAI,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YAC1B,OAAO,MAAM,CAAC,OAAO,CAAC,CAAC;QACzB,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,sBAAsB,CAAC,KAAc;IAC5C,IAAI,KAAK,KAAK,EAAE,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QACnC,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,oBAAoB,CAAC,KAAc;IAC1C,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;QAC7B,IAAI,OAAO,KAAK,EAAE,EAAE,CAAC;YACnB,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,IAAI,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YAC1B,OAAO,MAAM,CAAC,OAAO,CAAC,CAAC;QACzB,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,wBAAwB,CAAC,KAAc;IAC9C,MAAM,KAAK,GAAG,sBAAsB,CAAC,KAAK,CAAC,CAAC;IAC5C,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAC3C,IAAI,OAAO,KAAK,MAAM,IAAI,OAAO,KAAK,GAAG,EAAE,CAAC;YAC1C,OAAO,IAAI,CAAC;QACd,CAAC;QACD,IAAI,OAAO,KAAK,OAAO,IAAI,OAAO,KAAK,GAAG,EAAE,CAAC;YAC3C,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,mBAAmB,CAAC,KAAc;IACzC,MAAM,KAAK,GAAG,sBAAsB,CAAC,KAAK,CAAC,CAAC;IAC5C,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;QAC7B,IAAI,OAAO,KAAK,EAAE,EAAE,CAAC;YACnB,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,IAAI,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YAC1B,OAAO,MAAM,CAAC,OAAO,CAAC,CAAC;QACzB,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,sBAAsB,CAAC,KAAc;IAC5C,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;QAC7B,IAAI,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YACpC,OAAO,MAAM,CAAC,OAAO,CAAC,CAAC;QACzB,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,CAAC,UAAU,CACvC,gBAAgB,EAChB,CAAC,CAAC,KAAK,CAAC;IACN,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC;IACnB,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC;IACpB,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE;IAC9B,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,kBAAkB,EAAE,oBAAoB,CAAC;CAC3D,CAAC,CACH,CAAC;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,UAAU,CAC3C,oBAAoB,EACpB,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAC5B,CAAC;AAEF,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,CAAC,UAAU,CACnD,oBAAoB,EACpB,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CACvC,CAAC;AAEF,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,CAAC,UAAU,CAClD,mBAAmB,EACnB,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CACjE,CAAC;AAEF,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC,UAAU,CAC/C,wBAAwB,EACxB,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CACvB,CAAC;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,UAAU,CAC9C,sBAAsB,EACtB,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CACtB,CAAC;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,UAAU,CAC9C,sBAAsB,EACtB,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC,QAAQ,EAAE,CAChD,CAAC;AAEF,oEAAoE;AACpE,MAAM,UAAU,kBAAkB,CAChC,MAAS;IAET,OAAO,CAAC,CAAC,UAAU,CACjB,sBAAsB,EACtB,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,CAC1B,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,UAAU,CAC9C,oBAAoB,EACpB,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CACxB,CAAC;AAEF,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC,UAAU,CAC7C,sBAAsB,EACtB,CAAC,CAAC,MAAM,EAAE,CACX,CAAC;AAEF,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAC,UAAU,CACjD,sBAAsB,EACtB,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAC1B,CAAC;AAEF,2EAA2E;AAC3E,MAAM,UAAU,0BAA0B,CAAC,GAAW;IACpD,OAAO,CAAC;SACL,UAAU,CAAC,oBAAoB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;SAClE,QAAQ,EAAE,CAAC;AAChB,CAAC;AAED,6EAA6E;AAC7E,MAAM,UAAU,+BAA+B,CAAC,GAAW,EAAE,GAAW;IACtE,OAAO,CAAC;SACL,UAAU,CAAC,oBAAoB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;SACpE,QAAQ,EAAE,CAAC;AAChB,CAAC;AAED,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC;KAC/B,MAAM,EAAE;KACR,QAAQ,CAAC,yDAAyD,CAAC,CAAC;AAEvE,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC;KAC3B,MAAM,EAAE;KACR,GAAG,CAAC,CAAC,CAAC;KACN,QAAQ,CAAC,uDAAuD,CAAC,CAAC;AAErE,SAAS,wBAAwB,CAAC,KAAc;IAC9C,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,KAAK,CAAC,IAAI,EAAE,CAAC;IACtB,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC,UAAU,CAC/C,wBAAwB,EACxB,CAAC;KACE,MAAM,EAAE;KACR,GAAG,CAAC,CAAC,CAAC;KACN,MAAM,CACL,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,EACxB,yCAAyC,CAC1C;KACA,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC;KAC3C,QAAQ,CACP,8EAA8E,CAC/E,CACJ,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,+BAA+B,CAAC,CAAC;AAElF,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC;KACvB,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;KAC5B,GAAG,CAAC,CAAC,CAAC;KACN,QAAQ,CAAC,8BAA8B,CAAC,CAAC;AAE5C,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,IAAI,EAAE,iBAAiB,CAAC,QAAQ,EAAE;IAClC,SAAS,EAAE,iBAAiB,CAAC,QAAQ,EAAE;IACvC,MAAM,EAAE,oBAAoB,CAAC,QAAQ,EAAE;IACvC,KAAK,EAAE,iBAAiB,CAAC,QAAQ,EAAE;CAC3B,CAAC;AAEX,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC;KAC3B,MAAM,EAAE;KACR,KAAK,CAAC,kBAAkB,CAAC;KACzB,QAAQ,EAAE;KACV,QAAQ,CAAC,qCAAqC,CAAC,CAAC;AAEnD,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC;IACzC,QAAQ,EAAE,iBAAiB,CAAC,QAAQ,CAAC,+BAA+B,CAAC;IACrE,SAAS,EAAE,iBAAiB,CAAC,QAAQ,CAAC,gCAAgC,CAAC;IACvE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,6CAA6C,CAAC;IAC1E,IAAI,EAAE,2BAA2B;CAClC,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,mBAAmB,GAAG,kBAAkB,CAAC,MAAM,CAAC;IAC3D,SAAS,EAAE,aAAa;SACrB,QAAQ,EAAE;SACV,QAAQ,CAAC,0DAA0D,CAAC;IACvE,kBAAkB,EAAE,uBAAuB;SACxC,QAAQ,EAAE;SACV,QAAQ,CAAC,uCAAuC,CAAC;IACpD,gBAAgB,EAAE,iBAAiB;SAChC,QAAQ,EAAE;SACV,QAAQ,CAAC,6CAA6C,CAAC;CAC3D,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC;IACzC,QAAQ,EAAE,iBAAiB;IAC3B,SAAS,EAAE,iBAAiB;IAC5B,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,mCAAmC,CAAC;IAChE,IAAI,EAAE,2BAA2B;CAClC,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,mBAAmB,GAAG,kBAAkB,CAAC,MAAM,CAAC;IAC3D,SAAS,EAAE,aAAa,CAAC,QAAQ,EAAE;IACnC,kBAAkB,EAAE,uBAAuB,CAAC,QAAQ,EAAE;IACtD,gBAAgB,EAAE,iBAAiB,CAAC,QAAQ,EAAE;CAC/C,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,iCAAiC,GAAG,CAAC;KAC/C,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;KACnB,QAAQ,EAAE;KACV,OAAO,CAAC,IAAI,CAAC;KACb,QAAQ,CACP,8FAA8F,CAC/F,CAAC;AAEJ,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC,CAAC,MAAM,CAAC;IACnD,QAAQ,EAAE,iBAAiB,CAAC,QAAQ,CAAC,kBAAkB,CAAC;IACxD,SAAS,EAAE,iBAAiB,CAAC,QAAQ,CAAC,cAAc,CAAC;IACrD,MAAM,EAAE,CAAC;SACN,MAAM,EAAE;SACR,QAAQ,CAAC,4EAA4E,CAAC;IACzF,WAAW,EAAE,iCAAiC;IAC9C,IAAI,EAAE,2BAA2B;CAClC,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,6BAA6B,GAAG,4BAA4B,CAAC,MAAM,CAAC;IAC/E,SAAS,EAAE,aAAa,CAAC,QAAQ,EAAE;IACnC,kBAAkB,EAAE,uBAAuB,CAAC,QAAQ,EAAE;CACvD,CAAC,CAAC"}
1
+ {"version":3,"file":"common.js","sourceRoot":"","sources":["../../../../src/tools/schemas/common.ts"],"names":[],"mappings":"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"}
@@ -79,6 +79,30 @@ export type GoodDollarWriteExecutors = {
79
79
  slippageTolerance?: number;
80
80
  }) => Promise<unknown>;
81
81
  };
82
+ export type GoodDollarIdentityExecutors = {
83
+ getFaceVerificationLink: (callbackUrl: string) => Promise<unknown>;
84
+ };
85
+ export type GoodDollarIdentityWriteExecutors = {
86
+ connectIdentity: (connectedAccount: `0x${string}`, signer?: "celo" | "self_agent") => Promise<unknown>;
87
+ disconnectIdentity: (connectedAccount: `0x${string}`, signer?: "celo" | "self_agent") => Promise<unknown>;
88
+ };
89
+ export type GovernanceWriteExecutors = {
90
+ lockCelo: (amount: string, signer?: "celo" | "self_agent") => Promise<unknown>;
91
+ unlockCelo: (amount: string, signer?: "celo" | "self_agent") => Promise<unknown>;
92
+ relockCelo: (index: number, amount: string, signer?: "celo" | "self_agent") => Promise<unknown>;
93
+ withdrawCelo: (signer?: "celo" | "self_agent") => Promise<unknown>;
94
+ vote: (proposalId: number, vote: "Abstain" | "No" | "Yes", signer?: "celo" | "self_agent") => Promise<unknown>;
95
+ };
96
+ export type StakingWriteExecutors = {
97
+ stake: (groupAddress: `0x${string}`, amount: string, signer?: "celo" | "self_agent") => Promise<unknown>;
98
+ activateStake: (groupAddress: `0x${string}`, signer?: "celo" | "self_agent") => Promise<unknown>;
99
+ unstake: (groupAddress: `0x${string}`, amount: string, signer?: "celo" | "self_agent") => Promise<unknown>;
100
+ delegatePower: (delegatee: `0x${string}`, percent: number, signer?: "celo" | "self_agent") => Promise<unknown>;
101
+ undelegatePower: (delegatee: `0x${string}`, percent: number, signer?: "celo" | "self_agent") => Promise<unknown>;
102
+ };
103
+ export type AccountWriteExecutors = {
104
+ registerAccount: (signer?: "celo" | "self_agent") => Promise<unknown>;
105
+ };
82
106
  export type SelfExecutors = {
83
107
  verifyAgent: (args: Record<string, unknown>) => Promise<unknown>;
84
108
  lookupAgent: (agentId: number) => Promise<unknown>;
@@ -98,6 +122,11 @@ export type ToolRuntimeExecutors = {
98
122
  aave?: AaveExecutors;
99
123
  contract?: ContractExecutors;
100
124
  gooddollarWrite?: GoodDollarWriteExecutors;
125
+ gooddollarIdentity?: GoodDollarIdentityExecutors;
126
+ gooddollarIdentityWrite?: GoodDollarIdentityWriteExecutors;
127
+ governanceWrite?: GovernanceWriteExecutors;
128
+ stakingWrite?: StakingWriteExecutors;
129
+ accountWrite?: AccountWriteExecutors;
101
130
  self?: SelfExecutors;
102
131
  };
103
132
  export interface ToolRuntime {
@@ -0,0 +1,3 @@
1
+ import type { CeloClientFactory } from "../clients/celo-client.js";
2
+ export declare function isCeloAccountRegistered(clientFactory: CeloClientFactory, address: `0x${string}`): Promise<boolean>;
3
+ export declare function assertCeloAccountRegistered(clientFactory: CeloClientFactory, address: `0x${string}`): Promise<void>;
@@ -0,0 +1,22 @@
1
+ /**
2
+ * Celo Accounts registry precondition helpers.
3
+ */
4
+ import { accountsAbi } from "../abis/accounts.js";
5
+ import { CELO_CORE_CONTRACTS } from "../config/celo-core-contracts.js";
6
+ export async function isCeloAccountRegistered(clientFactory, address) {
7
+ const client = clientFactory.getClients().public;
8
+ return client.readContract({
9
+ address: CELO_CORE_CONTRACTS.accounts,
10
+ abi: accountsAbi,
11
+ functionName: "isAccount",
12
+ args: [address],
13
+ });
14
+ }
15
+ export async function assertCeloAccountRegistered(clientFactory, address) {
16
+ const registered = await isCeloAccountRegistered(clientFactory, address);
17
+ if (!registered) {
18
+ throw new Error(`Address ${address} is not a registered Celo account. ` +
19
+ "Call prepare_register_celo_account or execute_register_celo_account first.");
20
+ }
21
+ }
22
+ //# sourceMappingURL=celo-account.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"celo-account.js","sourceRoot":"","sources":["../../../src/utils/celo-account.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AAGvE,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC3C,aAAgC,EAChC,OAAsB;IAEtB,MAAM,MAAM,GAAG,aAAa,CAAC,UAAU,EAAE,CAAC,MAAM,CAAC;IACjD,OAAO,MAAM,CAAC,YAAY,CAAC;QACzB,OAAO,EAAE,mBAAmB,CAAC,QAAQ;QACrC,GAAG,EAAE,WAAW;QAChB,YAAY,EAAE,WAAW;QACzB,IAAI,EAAE,CAAC,OAAO,CAAC;KAChB,CAAqB,CAAC;AACzB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAC/C,aAAgC,EAChC,OAAsB;IAEtB,MAAM,UAAU,GAAG,MAAM,uBAAuB,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;IACzE,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,MAAM,IAAI,KAAK,CACb,WAAW,OAAO,qCAAqC;YACrD,4EAA4E,CAC/E,CAAC;IACJ,CAAC;AACH,CAAC"}
@@ -0,0 +1,12 @@
1
+ export interface ValidatorGroupVotes {
2
+ address: `0x${string}`;
3
+ votes: bigint;
4
+ }
5
+ /**
6
+ * Find lesser/greater neighbour validator groups after a vote weight change.
7
+ * Mirrors Celo Mondo's findLesserAndGreaterAfterVote (groups sorted descending).
8
+ */
9
+ export declare function findLesserAndGreaterAfterVote(groups: ValidatorGroupVotes[], targetGroup: `0x${string}`, voteWeight: bigint): {
10
+ lesser: `0x${string}`;
11
+ greater: `0x${string}`;
12
+ };
@@ -0,0 +1,27 @@
1
+ const ZERO_ADDRESS = "0x0000000000000000000000000000000000000000";
2
+ /**
3
+ * Find lesser/greater neighbour validator groups after a vote weight change.
4
+ * Mirrors Celo Mondo's findLesserAndGreaterAfterVote (groups sorted descending).
5
+ */
6
+ export function findLesserAndGreaterAfterVote(groups, targetGroup, voteWeight) {
7
+ const sortedGroups = [...groups].sort((a, b) => {
8
+ if (a.votes === b.votes)
9
+ return 0;
10
+ return a.votes > b.votes ? -1 : 1;
11
+ });
12
+ const selectedGroup = sortedGroups.find((g) => g.address.toLowerCase() === targetGroup.toLowerCase());
13
+ const voteTotal = (selectedGroup?.votes ?? 0n) + voteWeight;
14
+ let greater = ZERO_ADDRESS;
15
+ let lesser = ZERO_ADDRESS;
16
+ for (const group of sortedGroups) {
17
+ if (group.address.toLowerCase() === targetGroup.toLowerCase())
18
+ continue;
19
+ if (group.votes < voteTotal) {
20
+ lesser = group.address;
21
+ break;
22
+ }
23
+ greater = group.address;
24
+ }
25
+ return { lesser, greater };
26
+ }
27
+ //# sourceMappingURL=election-vote-neighbors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"election-vote-neighbors.js","sourceRoot":"","sources":["../../../src/utils/election-vote-neighbors.ts"],"names":[],"mappings":"AAAA,MAAM,YAAY,GAAG,4CAAqD,CAAC;AAO3E;;;GAGG;AACH,MAAM,UAAU,6BAA6B,CAC3C,MAA6B,EAC7B,WAA0B,EAC1B,UAAkB;IAElB,MAAM,YAAY,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QAC7C,IAAI,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,KAAK;YAAE,OAAO,CAAC,CAAC;QAClC,OAAO,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,MAAM,aAAa,GAAG,YAAY,CAAC,IAAI,CACrC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,WAAW,CAAC,WAAW,EAAE,CAC7D,CAAC;IACF,MAAM,SAAS,GAAG,CAAC,aAAa,EAAE,KAAK,IAAI,EAAE,CAAC,GAAG,UAAU,CAAC;IAE5D,IAAI,OAAO,GAAkB,YAAY,CAAC;IAC1C,IAAI,MAAM,GAAkB,YAAY,CAAC;IAEzC,KAAK,MAAM,KAAK,IAAI,YAAY,EAAE,CAAC;QACjC,IAAI,KAAK,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,WAAW,CAAC,WAAW,EAAE;YAAE,SAAS;QACxE,IAAI,KAAK,CAAC,KAAK,GAAG,SAAS,EAAE,CAAC;YAC5B,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC;YACvB,MAAM;QACR,CAAC;QACD,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;IAC1B,CAAC;IAED,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;AAC7B,CAAC"}
@@ -0,0 +1,11 @@
1
+ /** Celo Fixidity fractions use 1e24 precision. */
2
+ export declare const FIXIDITY_ONE: bigint;
3
+ /** Convert a percent (0–100) to Fixidity at 1e24 precision. */
4
+ export declare function percentToFixidity(percent: number): bigint;
5
+ /**
6
+ * Convert a unit fraction (0–1) to a Fixidity uint256 at 1e24 precision.
7
+ * @param fraction - Unit fraction, e.g. 0.5 for 50%
8
+ */
9
+ export declare function toFixidity(fraction: number): bigint;
10
+ /** Convert Fixidity bigint back to a unit fraction. */
11
+ export declare function fromFixidity(value: bigint): number;
@@ -0,0 +1,24 @@
1
+ /** Celo Fixidity fractions use 1e24 precision. */
2
+ export const FIXIDITY_ONE = 10n ** 24n;
3
+ /** Convert a percent (0–100) to Fixidity at 1e24 precision. */
4
+ export function percentToFixidity(percent) {
5
+ if (!Number.isFinite(percent) || percent < 0 || percent > 100) {
6
+ throw new Error(`Fixidity percent must be between 0 and 100, got ${percent}`);
7
+ }
8
+ return (FIXIDITY_ONE * BigInt(Math.floor(percent * 1_000_000))) / 100000000n;
9
+ }
10
+ /**
11
+ * Convert a unit fraction (0–1) to a Fixidity uint256 at 1e24 precision.
12
+ * @param fraction - Unit fraction, e.g. 0.5 for 50%
13
+ */
14
+ export function toFixidity(fraction) {
15
+ if (!Number.isFinite(fraction) || fraction < 0 || fraction > 1) {
16
+ throw new Error(`Fixidity fraction must be between 0 and 1, got ${fraction}`);
17
+ }
18
+ return percentToFixidity(fraction * 100);
19
+ }
20
+ /** Convert Fixidity bigint back to a unit fraction. */
21
+ export function fromFixidity(value) {
22
+ return Number(value) / Number(FIXIDITY_ONE);
23
+ }
24
+ //# sourceMappingURL=fixidity.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fixidity.js","sourceRoot":"","sources":["../../../src/utils/fixidity.ts"],"names":[],"mappings":"AAAA,kDAAkD;AAClD,MAAM,CAAC,MAAM,YAAY,GAAG,GAAG,IAAI,GAAG,CAAC;AAEvC,+DAA+D;AAC/D,MAAM,UAAU,iBAAiB,CAAC,OAAe;IAC/C,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,OAAO,GAAG,CAAC,IAAI,OAAO,GAAG,GAAG,EAAE,CAAC;QAC9D,MAAM,IAAI,KAAK,CAAC,mDAAmD,OAAO,EAAE,CAAC,CAAC;IAChF,CAAC;IACD,OAAO,CAAC,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,SAAS,CAAC,CAAC,CAAC,GAAG,UAAY,CAAC;AACjF,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,UAAU,CAAC,QAAgB;IACzC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,QAAQ,GAAG,CAAC,IAAI,QAAQ,GAAG,CAAC,EAAE,CAAC;QAC/D,MAAM,IAAI,KAAK,CAAC,kDAAkD,QAAQ,EAAE,CAAC,CAAC;IAChF,CAAC;IACD,OAAO,iBAAiB,CAAC,QAAQ,GAAG,GAAG,CAAC,CAAC;AAC3C,CAAC;AAED,uDAAuD;AACvD,MAAM,UAAU,YAAY,CAAC,KAAa;IACxC,OAAO,MAAM,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC;AAC9C,CAAC"}
@@ -32,6 +32,123 @@ export const governanceOperations = [
32
32
  assertHasKeys(result, ["proposal"]);
33
33
  },
34
34
  },
35
+ {
36
+ id: "governance.getLockedCeloBalance",
37
+ domain: "governance",
38
+ layer: "read",
39
+ sdk: {
40
+ invoke: (client, fx) => client.governance.getLockedCeloBalance(fx.wallet),
41
+ },
42
+ mcp: { tool: "get_locked_celo_balance", arguments: (fx) => ({ address: fx.wallet }) },
43
+ assert: (result) => assertHasKeys(result, ["totalLocked"]),
44
+ },
45
+ {
46
+ id: "governance.getPendingWithdrawals",
47
+ domain: "governance",
48
+ layer: "read",
49
+ sdk: {
50
+ invoke: (client, fx) => client.governance.getPendingWithdrawals(fx.wallet),
51
+ },
52
+ mcp: { tool: "get_pending_withdrawals", arguments: (fx) => ({ address: fx.wallet }) },
53
+ assert: (result) => assertHasKeys(result, ["withdrawals"]),
54
+ },
55
+ {
56
+ id: "governance.getVotableProposals",
57
+ domain: "governance",
58
+ layer: "read",
59
+ sdk: { invoke: (client) => client.governance.getVotableProposals() },
60
+ mcp: { tool: "get_votable_proposals", arguments: () => ({}) },
61
+ assert: (result) => assertHasKeys(result, ["proposals"]),
62
+ },
63
+ {
64
+ id: "governance.prepareLockCelo",
65
+ domain: "governance",
66
+ layer: "prepare",
67
+ sdk: {
68
+ invoke: (client, fx) => client.governance.prepareLockCelo(fx.wallet, "0.01"),
69
+ },
70
+ assert: (result) => assertHasKeys(result, ["steps"]),
71
+ },
72
+ {
73
+ id: "governance.executeLockCelo",
74
+ domain: "governance",
75
+ layer: "write",
76
+ requiresWrites: true,
77
+ requiresEnv: ["CELO_PRIVATE_KEY"],
78
+ skip: () => undefined,
79
+ sdk: {
80
+ invoke: async (client, fx) => {
81
+ const humanness = await client.humanness.checkHumanness(fx.wallet);
82
+ if (!humanness.isHumanOverall) {
83
+ return { skipped: true, reason: "signer not humanness-verified" };
84
+ }
85
+ return client.governance.prepareLockCelo(fx.wallet, "0.1");
86
+ },
87
+ },
88
+ mcp: {
89
+ tool: "execute_lock_celo",
90
+ arguments: () => ({ amount: "0.1" }),
91
+ },
92
+ assert: (result) => {
93
+ if (typeof result === "object" && result && "skipped" in result)
94
+ return;
95
+ assertHasKeys(result, ["steps"]);
96
+ },
97
+ },
98
+ {
99
+ id: "governance.executeVote",
100
+ domain: "governance",
101
+ layer: "write",
102
+ requiresWrites: true,
103
+ requiresEnv: ["CELO_PRIVATE_KEY"],
104
+ skip: () => {
105
+ return "No deterministic Referendum proposal — check get_votable_proposals manually";
106
+ },
107
+ sdk: {
108
+ invoke: (client, fx) => client.governance.prepareVote(fx.wallet, 1, "Abstain"),
109
+ },
110
+ mcp: {
111
+ tool: "execute_vote",
112
+ arguments: () => ({ proposal_id: 1, vote: "Abstain" }),
113
+ },
114
+ assert: (result) => assertHasKeys(result, ["steps"]),
115
+ },
116
+ {
117
+ id: "governance.executeWithdrawCelo",
118
+ domain: "governance",
119
+ layer: "write",
120
+ requiresWrites: true,
121
+ requiresEnv: ["CELO_PRIVATE_KEY"],
122
+ skip: () => "Re-run after a pending withdrawal matures (3-day timelock)",
123
+ sdk: {
124
+ invoke: (client, fx) => client.governance.prepareWithdrawCelo(fx.wallet),
125
+ },
126
+ mcp: { tool: "execute_withdraw_celo", arguments: () => ({}) },
127
+ assert: (result) => assertHasKeys(result, ["steps"]),
128
+ },
129
+ {
130
+ id: "humanness.checkHumanness",
131
+ domain: "humanness",
132
+ layer: "read",
133
+ sdk: {
134
+ invoke: (client, fx) => client.humanness.checkHumanness(fx.wallet),
135
+ },
136
+ mcp: { tool: "check_humanness", arguments: (fx) => ({ address: fx.wallet }) },
137
+ assert: (result) => assertHasKeys(result, ["isHumanOverall"]),
138
+ },
139
+ {
140
+ id: "account.getAccountRegistration",
141
+ domain: "account",
142
+ layer: "read",
143
+ sdk: {
144
+ invoke: (client, fx) => client.account.getAccountRegistration(fx.wallet),
145
+ },
146
+ mcp: {
147
+ tool: "get_celo_account_registration",
148
+ arguments: (fx) => ({ address: fx.wallet }),
149
+ },
150
+ assert: (result) => assertHasKeys(result, ["isRegistered"]),
151
+ },
35
152
  ];
36
153
  export const stakingOperations = [
37
154
  {
@@ -110,6 +227,41 @@ export const stakingOperations = [
110
227
  assertHasKeys(result, ["totalVotes"]);
111
228
  },
112
229
  },
230
+ {
231
+ id: "staking.getDelegationInfo",
232
+ domain: "staking",
233
+ layer: "read",
234
+ sdk: {
235
+ invoke: (client, fx) => client.staking.getDelegationInfo(fx.wallet),
236
+ },
237
+ mcp: { tool: "get_delegation_info", arguments: (fx) => ({ address: fx.wallet }) },
238
+ assert: (result) => assertHasKeys(result, ["delegatees"]),
239
+ },
240
+ {
241
+ id: "staking.prepareStake",
242
+ domain: "staking",
243
+ layer: "prepare",
244
+ sdk: {
245
+ invoke: (client, fx) => client.staking.prepareStake(fx.wallet, fx.validatorGroup, "0.01"),
246
+ },
247
+ assert: (result) => assertHasKeys(result, ["steps"]),
248
+ },
249
+ {
250
+ id: "staking.executeActivateStake",
251
+ domain: "staking",
252
+ layer: "write",
253
+ requiresWrites: true,
254
+ requiresEnv: ["CELO_PRIVATE_KEY"],
255
+ skip: () => "Skip until an epoch boundary passes and pending stake is activatable",
256
+ sdk: {
257
+ invoke: (client, fx) => client.staking.prepareActivateStake(fx.wallet, fx.validatorGroup),
258
+ },
259
+ mcp: {
260
+ tool: "execute_activate_stake",
261
+ arguments: (fx) => ({ group_address: fx.validatorGroup }),
262
+ },
263
+ assert: (result) => assertHasKeys(result, ["steps"]),
264
+ },
113
265
  ];
114
266
  export const nftOperations = [
115
267
  {