@andrewkimjoseph/celina-sdk 0.15.8 → 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 (129) 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/index.d.ts +13 -2
  21. package/build/index.js +8 -1
  22. package/build/index.js.map +1 -1
  23. package/build/services/account.service.d.ts +17 -3
  24. package/build/services/account.service.js +62 -0
  25. package/build/services/account.service.js.map +1 -1
  26. package/build/services/gooddollar.service.d.ts +10 -0
  27. package/build/services/gooddollar.service.js +55 -0
  28. package/build/services/gooddollar.service.js.map +1 -1
  29. package/build/services/governance.service.d.ts +56 -1
  30. package/build/services/governance.service.js +253 -3
  31. package/build/services/governance.service.js.map +1 -1
  32. package/build/services/humanness.service.d.ts +30 -0
  33. package/build/services/humanness.service.js +123 -0
  34. package/build/services/humanness.service.js.map +1 -0
  35. package/build/services/staking.service.d.ts +27 -1
  36. package/build/services/staking.service.js +203 -3
  37. package/build/services/staking.service.js.map +1 -1
  38. package/build/src/abis/accounts.d.ts +18 -0
  39. package/build/src/abis/accounts.js +14 -0
  40. package/build/src/abis/accounts.js.map +1 -1
  41. package/build/src/abis/election.d.ts +69 -0
  42. package/build/src/abis/election.js +45 -0
  43. package/build/src/abis/election.js.map +1 -1
  44. package/build/src/abis/gooddollar-identity.d.ts +18 -0
  45. package/build/src/abis/gooddollar-identity.js +14 -0
  46. package/build/src/abis/gooddollar-identity.js.map +1 -1
  47. package/build/src/abis/governance.d.ts +31 -0
  48. package/build/src/abis/governance.js +27 -0
  49. package/build/src/abis/governance.js.map +1 -1
  50. package/build/src/abis/locked-gold.d.ts +162 -0
  51. package/build/src/abis/locked-gold.js +116 -0
  52. package/build/src/abis/locked-gold.js.map +1 -1
  53. package/build/src/analytics/mcp-tool-events.js +6 -0
  54. package/build/src/analytics/mcp-tool-events.js.map +1 -1
  55. package/build/src/analytics/wallet-extract.js +5 -0
  56. package/build/src/analytics/wallet-extract.js.map +1 -1
  57. package/build/src/index.d.ts +13 -2
  58. package/build/src/index.js +8 -1
  59. package/build/src/index.js.map +1 -1
  60. package/build/src/services/account.service.d.ts +17 -3
  61. package/build/src/services/account.service.js +62 -0
  62. package/build/src/services/account.service.js.map +1 -1
  63. package/build/src/services/gooddollar.service.d.ts +10 -0
  64. package/build/src/services/gooddollar.service.js +55 -0
  65. package/build/src/services/gooddollar.service.js.map +1 -1
  66. package/build/src/services/governance.service.d.ts +56 -1
  67. package/build/src/services/governance.service.js +253 -3
  68. package/build/src/services/governance.service.js.map +1 -1
  69. package/build/src/services/humanness.service.d.ts +30 -0
  70. package/build/src/services/humanness.service.js +123 -0
  71. package/build/src/services/humanness.service.js.map +1 -0
  72. package/build/src/services/staking.service.d.ts +27 -1
  73. package/build/src/services/staking.service.js +203 -3
  74. package/build/src/services/staking.service.js.map +1 -1
  75. package/build/src/tools/domains/blockchain.js +45 -1
  76. package/build/src/tools/domains/blockchain.js.map +1 -1
  77. package/build/src/tools/domains/gooddollar.js +92 -1
  78. package/build/src/tools/domains/gooddollar.js.map +1 -1
  79. package/build/src/tools/domains/governance.js +215 -1
  80. package/build/src/tools/domains/governance.js.map +1 -1
  81. package/build/src/tools/domains/humanness.d.ts +2 -0
  82. package/build/src/tools/domains/humanness.js +25 -0
  83. package/build/src/tools/domains/humanness.js.map +1 -0
  84. package/build/src/tools/domains/index.js +2 -0
  85. package/build/src/tools/domains/index.js.map +1 -1
  86. package/build/src/tools/domains/staking.js +199 -1
  87. package/build/src/tools/domains/staking.js.map +1 -1
  88. package/build/src/tools/schemas/common.d.ts +3 -0
  89. package/build/src/tools/schemas/common.js +9 -0
  90. package/build/src/tools/schemas/common.js.map +1 -1
  91. package/build/src/tools/types.d.ts +29 -0
  92. package/build/src/utils/celo-account.d.ts +3 -0
  93. package/build/src/utils/celo-account.js +22 -0
  94. package/build/src/utils/celo-account.js.map +1 -0
  95. package/build/src/utils/election-vote-neighbors.d.ts +12 -0
  96. package/build/src/utils/election-vote-neighbors.js +27 -0
  97. package/build/src/utils/election-vote-neighbors.js.map +1 -0
  98. package/build/src/utils/fixidity.d.ts +11 -0
  99. package/build/src/utils/fixidity.js +24 -0
  100. package/build/src/utils/fixidity.js.map +1 -0
  101. package/build/tests/catalog/domains/chain-ext.js +152 -0
  102. package/build/tests/catalog/domains/chain-ext.js.map +1 -1
  103. package/build/tools/domains/blockchain.js +45 -1
  104. package/build/tools/domains/blockchain.js.map +1 -1
  105. package/build/tools/domains/gooddollar.js +92 -1
  106. package/build/tools/domains/gooddollar.js.map +1 -1
  107. package/build/tools/domains/governance.js +215 -1
  108. package/build/tools/domains/governance.js.map +1 -1
  109. package/build/tools/domains/humanness.d.ts +2 -0
  110. package/build/tools/domains/humanness.js +25 -0
  111. package/build/tools/domains/humanness.js.map +1 -0
  112. package/build/tools/domains/index.js +2 -0
  113. package/build/tools/domains/index.js.map +1 -1
  114. package/build/tools/domains/staking.js +199 -1
  115. package/build/tools/domains/staking.js.map +1 -1
  116. package/build/tools/schemas/common.d.ts +3 -0
  117. package/build/tools/schemas/common.js +9 -0
  118. package/build/tools/schemas/common.js.map +1 -1
  119. package/build/tools/types.d.ts +29 -0
  120. package/build/utils/celo-account.d.ts +3 -0
  121. package/build/utils/celo-account.js +22 -0
  122. package/build/utils/celo-account.js.map +1 -0
  123. package/build/utils/election-vote-neighbors.d.ts +12 -0
  124. package/build/utils/election-vote-neighbors.js +27 -0
  125. package/build/utils/election-vote-neighbors.js.map +1 -0
  126. package/build/utils/fixidity.d.ts +11 -0
  127. package/build/utils/fixidity.js +24 -0
  128. package/build/utils/fixidity.js.map +1 -0
  129. package/package.json +4 -1
@@ -1,5 +1,5 @@
1
1
  import { z } from "zod";
2
- import { goodDollarReserveQuoteSchema, goodDollarReserveWalletSchema, optionalWalletAddressSchema, } from "../schemas/common.js";
2
+ import { addressSchema, executeEnvRequirements, goodDollarReserveQuoteSchema, goodDollarReserveWalletSchema, optionalSignerSchema, optionalWalletAddressSchema, } from "../schemas/common.js";
3
3
  import { normalizeRegistryTokenInput } from "../utils/normalize-token.js";
4
4
  import { resolveWalletFromRuntime, useMcpServerExecutor } from "../utils/wallet.js";
5
5
  const readOnly = {
@@ -167,5 +167,96 @@ export const gooddollarToolDefinitions = [
167
167
  return runtime.celina.gooddollar.prepareReserveSwap(sender, normalizeRegistryTokenInput(input.token_in), normalizeRegistryTokenInput(input.token_out), input.amount, mapReserveWalletOptions(input));
168
168
  },
169
169
  },
170
+ {
171
+ name: "get_gooddollar_face_verification_link",
172
+ description: "Generate a GoodDollar face verification link for the MCP server wallet. Requires a signing key.",
173
+ inputSchema: z.object({
174
+ callback_url: z.string().url().describe("URL to redirect after verification"),
175
+ }),
176
+ families: ["read"],
177
+ surfaces: ["mcp"],
178
+ requiresEnv: [...executeEnvRequirements],
179
+ mcp: { title: "Get GoodDollar Face Verification Link", annotations: readOnly },
180
+ handler: async (runtime, input) => {
181
+ const svc = runtime.executors?.gooddollarIdentity;
182
+ if (!svc)
183
+ throw new Error("GoodDollar identity executor not configured.");
184
+ return svc.getFaceVerificationLink(input.callback_url);
185
+ },
186
+ },
187
+ {
188
+ name: "execute_connect_gooddollar_identity",
189
+ description: "Connect a secondary wallet to the whitelisted GoodDollar identity root.",
190
+ inputSchema: z.object({
191
+ connected_account: addressSchema,
192
+ signer: optionalSignerSchema,
193
+ }),
194
+ families: ["execute"],
195
+ surfaces: ["mcp"],
196
+ requiresEnv: [...executeEnvRequirements],
197
+ mcp: {
198
+ title: "Connect GoodDollar Identity",
199
+ annotations: { destructiveHint: true, openWorldHint: true },
200
+ },
201
+ handler: async (runtime, input) => {
202
+ const write = runtime.executors?.gooddollarIdentityWrite;
203
+ if (!write)
204
+ throw new Error("GoodDollar identity write executor not configured.");
205
+ return write.connectIdentity(input.connected_account, input.signer);
206
+ },
207
+ },
208
+ {
209
+ name: "execute_disconnect_gooddollar_identity",
210
+ description: "Disconnect a secondary wallet from a GoodDollar identity.",
211
+ inputSchema: z.object({
212
+ connected_account: addressSchema,
213
+ signer: optionalSignerSchema,
214
+ }),
215
+ families: ["execute"],
216
+ surfaces: ["mcp"],
217
+ requiresEnv: [...executeEnvRequirements],
218
+ mcp: {
219
+ title: "Disconnect GoodDollar Identity",
220
+ annotations: { destructiveHint: true, openWorldHint: true },
221
+ },
222
+ handler: async (runtime, input) => {
223
+ const write = runtime.executors?.gooddollarIdentityWrite;
224
+ if (!write)
225
+ throw new Error("GoodDollar identity write executor not configured.");
226
+ return write.disconnectIdentity(input.connected_account, input.signer);
227
+ },
228
+ },
229
+ {
230
+ name: "prepare_connect_gooddollar_identity",
231
+ description: "Prepare unsigned GoodDollar identity connect for wallet signing.",
232
+ inputSchema: z.object({
233
+ from: optionalWalletAddressSchema,
234
+ connected_account: addressSchema,
235
+ }),
236
+ families: ["prepare"],
237
+ surfaces: ["browser"],
238
+ handler: async (runtime, input) => {
239
+ const from = resolveWalletFromRuntime(runtime, {
240
+ from: input.from,
241
+ });
242
+ return runtime.celina.gooddollar.prepareConnectIdentity(from, input.connected_account);
243
+ },
244
+ },
245
+ {
246
+ name: "prepare_disconnect_gooddollar_identity",
247
+ description: "Prepare unsigned GoodDollar identity disconnect for wallet signing.",
248
+ inputSchema: z.object({
249
+ from: optionalWalletAddressSchema,
250
+ connected_account: addressSchema,
251
+ }),
252
+ families: ["prepare"],
253
+ surfaces: ["browser"],
254
+ handler: async (runtime, input) => {
255
+ const from = resolveWalletFromRuntime(runtime, {
256
+ from: input.from,
257
+ });
258
+ return runtime.celina.gooddollar.prepareDisconnectIdentity(from, input.connected_account);
259
+ },
260
+ },
170
261
  ];
171
262
  //# sourceMappingURL=gooddollar.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"gooddollar.js","sourceRoot":"","sources":["../../../../src/tools/domains/gooddollar.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gooddollar.js","sourceRoot":"","sources":["../../../../src/tools/domains/gooddollar.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,17 @@
1
1
  import { z } from "zod";
2
- import { nonNegativeIntSchema, optionalBooleanSchema, optionalBoundedPositiveInt, paginationFields, } from "../schemas/common.js";
2
+ import { executeEnvRequirements, nonNegativeIntSchema, optionalBooleanSchema, optionalBoundedPositiveInt, optionalSignerSchema, optionalWalletAddressSchema, paginationFields, } from "../schemas/common.js";
3
+ import { resolveWalletFromRuntime } from "../utils/wallet.js";
4
+ const readOnly = {
5
+ readOnlyHint: true,
6
+ idempotentHint: true,
7
+ };
8
+ const destructive = {
9
+ destructiveHint: true,
10
+ openWorldHint: true,
11
+ };
12
+ function resolveSigner(input) {
13
+ return input.signer;
14
+ }
3
15
  export const governanceToolDefinitions = [
4
16
  {
5
17
  name: "get_governance_proposals",
@@ -37,5 +49,207 @@ export const governanceToolDefinitions = [
37
49
  },
38
50
  handler: async (runtime, input) => runtime.celina.governance.getProposalDetails(input.proposal_id),
39
51
  },
52
+ {
53
+ name: "get_locked_celo_balance",
54
+ description: "Locked CELO balances and governance voting power for an address.",
55
+ inputSchema: z.object({ address: optionalWalletAddressSchema }),
56
+ families: ["read"],
57
+ mcp: { title: "Get Locked CELO Balance", annotations: readOnly },
58
+ handler: async (runtime, input) => {
59
+ const target = resolveWalletFromRuntime(runtime, {
60
+ address: input.address,
61
+ });
62
+ return runtime.celina.governance.getLockedCeloBalance(target);
63
+ },
64
+ },
65
+ {
66
+ name: "get_pending_withdrawals",
67
+ description: "Pending LockedGold withdrawals with maturity timestamps for an address.",
68
+ inputSchema: z.object({ address: optionalWalletAddressSchema }),
69
+ families: ["read"],
70
+ mcp: { title: "Get Pending Withdrawals", annotations: readOnly },
71
+ handler: async (runtime, input) => {
72
+ const target = resolveWalletFromRuntime(runtime, {
73
+ address: input.address,
74
+ });
75
+ return runtime.celina.governance.getPendingWithdrawals(target);
76
+ },
77
+ },
78
+ {
79
+ name: "get_votable_proposals",
80
+ description: "Governance proposals currently in Referendum with dequeue index for voting.",
81
+ inputSchema: z.object({}),
82
+ families: ["read"],
83
+ mcp: { title: "Get Votable Proposals", annotations: readOnly },
84
+ handler: async (runtime) => runtime.celina.governance.getVotableProposals(),
85
+ },
86
+ {
87
+ name: "execute_lock_celo",
88
+ description: "Lock CELO for governance and staking. Requires humanness verification and a registered Celo account.",
89
+ inputSchema: z.object({
90
+ amount: z.string().describe("CELO amount to lock (human-readable)"),
91
+ signer: optionalSignerSchema,
92
+ }),
93
+ families: ["execute"],
94
+ surfaces: ["mcp"],
95
+ requiresEnv: [...executeEnvRequirements],
96
+ mcp: { title: "Lock CELO", annotations: destructive },
97
+ handler: async (runtime, input) => {
98
+ const write = runtime.executors?.governanceWrite;
99
+ if (!write)
100
+ throw new Error("Governance write executor not configured.");
101
+ return write.lockCelo(input.amount, resolveSigner(input));
102
+ },
103
+ },
104
+ {
105
+ name: "execute_unlock_celo",
106
+ description: "Start unlocking locked CELO (3-day timelock). Requires humanness verification.",
107
+ inputSchema: z.object({
108
+ amount: z.string(),
109
+ signer: optionalSignerSchema,
110
+ }),
111
+ families: ["execute"],
112
+ surfaces: ["mcp"],
113
+ requiresEnv: [...executeEnvRequirements],
114
+ mcp: { title: "Unlock CELO", annotations: destructive },
115
+ handler: async (runtime, input) => {
116
+ const write = runtime.executors?.governanceWrite;
117
+ if (!write)
118
+ throw new Error("Governance write executor not configured.");
119
+ return write.unlockCelo(input.amount, resolveSigner(input));
120
+ },
121
+ },
122
+ {
123
+ name: "execute_relock_celo",
124
+ description: "Relock CELO from a pending withdrawal index. Requires humanness verification.",
125
+ inputSchema: z.object({
126
+ index: nonNegativeIntSchema,
127
+ amount: z.string(),
128
+ signer: optionalSignerSchema,
129
+ }),
130
+ families: ["execute"],
131
+ surfaces: ["mcp"],
132
+ requiresEnv: [...executeEnvRequirements],
133
+ mcp: { title: "Relock CELO", annotations: destructive },
134
+ handler: async (runtime, input) => {
135
+ const write = runtime.executors?.governanceWrite;
136
+ if (!write)
137
+ throw new Error("Governance write executor not configured.");
138
+ return write.relockCelo(input.index, input.amount, resolveSigner(input));
139
+ },
140
+ },
141
+ {
142
+ name: "execute_withdraw_celo",
143
+ description: "Withdraw all matured pending CELO unlocks. Requires humanness verification.",
144
+ inputSchema: z.object({ signer: optionalSignerSchema }),
145
+ families: ["execute"],
146
+ surfaces: ["mcp"],
147
+ requiresEnv: [...executeEnvRequirements],
148
+ mcp: { title: "Withdraw CELO", annotations: destructive },
149
+ handler: async (runtime, input) => {
150
+ const write = runtime.executors?.governanceWrite;
151
+ if (!write)
152
+ throw new Error("Governance write executor not configured.");
153
+ return write.withdrawCelo(resolveSigner(input));
154
+ },
155
+ },
156
+ {
157
+ name: "execute_vote",
158
+ description: "Vote on a governance proposal in Referendum. Vote values: Abstain, No, Yes.",
159
+ inputSchema: z.object({
160
+ proposal_id: nonNegativeIntSchema,
161
+ vote: z.enum(["Abstain", "No", "Yes"]),
162
+ signer: optionalSignerSchema,
163
+ }),
164
+ families: ["execute"],
165
+ surfaces: ["mcp"],
166
+ requiresEnv: [...executeEnvRequirements],
167
+ mcp: { title: "Vote on Proposal", annotations: destructive },
168
+ handler: async (runtime, input) => {
169
+ const write = runtime.executors?.governanceWrite;
170
+ if (!write)
171
+ throw new Error("Governance write executor not configured.");
172
+ return write.vote(input.proposal_id, input.vote, resolveSigner(input));
173
+ },
174
+ },
175
+ {
176
+ name: "prepare_lock_celo",
177
+ description: "Prepare unsigned lock CELO flow for wallet signing.",
178
+ inputSchema: z.object({
179
+ from: optionalWalletAddressSchema,
180
+ amount: z.string(),
181
+ }),
182
+ families: ["prepare"],
183
+ surfaces: ["browser"],
184
+ handler: async (runtime, input) => {
185
+ const from = resolveWalletFromRuntime(runtime, {
186
+ from: input.from,
187
+ });
188
+ return runtime.celina.governance.prepareLockCelo(from, input.amount);
189
+ },
190
+ },
191
+ {
192
+ name: "prepare_unlock_celo",
193
+ description: "Prepare unsigned unlock CELO flow for wallet signing.",
194
+ inputSchema: z.object({
195
+ from: optionalWalletAddressSchema,
196
+ amount: z.string(),
197
+ }),
198
+ families: ["prepare"],
199
+ surfaces: ["browser"],
200
+ handler: async (runtime, input) => {
201
+ const from = resolveWalletFromRuntime(runtime, {
202
+ from: input.from,
203
+ });
204
+ return runtime.celina.governance.prepareUnlockCelo(from, input.amount);
205
+ },
206
+ },
207
+ {
208
+ name: "prepare_relock_celo",
209
+ description: "Prepare unsigned relock CELO flow for wallet signing.",
210
+ inputSchema: z.object({
211
+ from: optionalWalletAddressSchema,
212
+ index: nonNegativeIntSchema,
213
+ amount: z.string(),
214
+ }),
215
+ families: ["prepare"],
216
+ surfaces: ["browser"],
217
+ handler: async (runtime, input) => {
218
+ const from = resolveWalletFromRuntime(runtime, {
219
+ from: input.from,
220
+ });
221
+ return runtime.celina.governance.prepareRelockCelo(from, input.index, input.amount);
222
+ },
223
+ },
224
+ {
225
+ name: "prepare_withdraw_celo",
226
+ description: "Prepare unsigned withdraw matured CELO flow for wallet signing.",
227
+ inputSchema: z.object({ from: optionalWalletAddressSchema }),
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.governance.prepareWithdrawCelo(from);
235
+ },
236
+ },
237
+ {
238
+ name: "prepare_vote",
239
+ description: "Prepare unsigned governance vote for wallet signing.",
240
+ inputSchema: z.object({
241
+ from: optionalWalletAddressSchema,
242
+ proposal_id: nonNegativeIntSchema,
243
+ vote: z.enum(["Abstain", "No", "Yes"]),
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.governance.prepareVote(from, input.proposal_id, input.vote);
252
+ },
253
+ },
40
254
  ];
41
255
  //# sourceMappingURL=governance.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"governance.js","sourceRoot":"","sources":["../../../../src/tools/domains/governance.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EACL,oBAAoB,EACpB,qBAAqB,EACrB,0BAA0B,EAC1B,gBAAgB,GACjB,MAAM,sBAAsB,CAAC;AAG9B,MAAM,CAAC,MAAM,yBAAyB,GAAqB;IACzD;QACE,IAAI,EAAE,0BAA0B;QAChC,WAAW,EACT,qGAAqG;QACvG,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;YACpB,gBAAgB,EAAE,qBAAqB;YACvC,gBAAgB,EAAE,qBAAqB;YACvC,GAAG,gBAAgB;YACnB,SAAS,EAAE,0BAA0B,CAAC,EAAE,CAAC;SAC1C,CAAC;QACF,QAAQ,EAAE,CAAC,MAAM,CAAC;QAClB,GAAG,EAAE;YACH,KAAK,EAAE,0BAA0B;YACjC,WAAW,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE;SAC1D;QACD,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,CAChC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,sBAAsB,CAAC;YAC/C,eAAe,EAAE,KAAK,CAAC,gBAAuC;YAC9D,eAAe,EAAE,KAAK,CAAC,gBAAuC;YAC9D,IAAI,EAAE,KAAK,CAAC,IAA0B;YACtC,QAAQ,EAAE,KAAK,CAAC,SAA+B;YAC/C,MAAM,EAAE,KAAK,CAAC,MAA4B;YAC1C,KAAK,EAAE,KAAK,CAAC,KAA2B;SACzC,CAAC;KACL;IACD;QACE,IAAI,EAAE,sBAAsB;QAC5B,WAAW,EACT,gEAAgE;QAClE,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;YACpB,WAAW,EAAE,oBAAoB;SAClC,CAAC;QACF,QAAQ,EAAE,CAAC,MAAM,CAAC;QAClB,GAAG,EAAE;YACH,KAAK,EAAE,sBAAsB;YAC7B,WAAW,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE;SAC1D;QACD,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,CAChC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,kBAAkB,CAAC,KAAK,CAAC,WAAqB,CAAC;KAC5E;CACF,CAAC"}
1
+ {"version":3,"file":"governance.js","sourceRoot":"","sources":["../../../../src/tools/domains/governance.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import type { ToolDefinition } from "../types.js";
2
+ export declare const humannessToolDefinitions: ToolDefinition[];
@@ -0,0 +1,25 @@
1
+ import { z } from "zod";
2
+ import { optionalWalletAddressSchema } from "../schemas/common.js";
3
+ import { resolveWalletFromRuntime } from "../utils/wallet.js";
4
+ const readOnly = {
5
+ readOnlyHint: true,
6
+ idempotentHint: true,
7
+ };
8
+ export const humannessToolDefinitions = [
9
+ {
10
+ name: "check_humanness",
11
+ description: "Check whether an address passes humanness on Self Agent ID or GoodDollar IdentityV4. Pass if either rail succeeds.",
12
+ inputSchema: z.object({
13
+ address: optionalWalletAddressSchema,
14
+ }),
15
+ families: ["read"],
16
+ mcp: { title: "Check Humanness", annotations: readOnly },
17
+ handler: async (runtime, input) => {
18
+ const target = resolveWalletFromRuntime(runtime, {
19
+ address: input.address,
20
+ });
21
+ return runtime.celina.humanness.checkHumanness(target);
22
+ },
23
+ },
24
+ ];
25
+ //# sourceMappingURL=humanness.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"humanness.js","sourceRoot":"","sources":["../../../../src/tools/domains/humanness.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,2BAA2B,EAAE,MAAM,sBAAsB,CAAC;AAEnE,OAAO,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAC;AAE9D,MAAM,QAAQ,GAAG;IACf,YAAY,EAAE,IAAI;IAClB,cAAc,EAAE,IAAI;CACZ,CAAC;AAEX,MAAM,CAAC,MAAM,wBAAwB,GAAqB;IACxD;QACE,IAAI,EAAE,iBAAiB;QACvB,WAAW,EACT,oHAAoH;QACtH,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;YACpB,OAAO,EAAE,2BAA2B;SACrC,CAAC;QACF,QAAQ,EAAE,CAAC,MAAM,CAAC;QAClB,GAAG,EAAE,EAAE,KAAK,EAAE,iBAAiB,EAAE,WAAW,EAAE,QAAQ,EAAE;QACxD,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE;YAChC,MAAM,MAAM,GAAG,wBAAwB,CAAC,OAAO,EAAE;gBAC/C,OAAO,EAAE,KAAK,CAAC,OAA6B;aAC7C,CAAC,CAAC;YACH,OAAO,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;QACzD,CAAC;KACF;CACF,CAAC"}
@@ -6,6 +6,7 @@ import { contractToolDefinitions } from "./contract.js";
6
6
  import { ensToolDefinitions } from "./ens.js";
7
7
  import { gooddollarToolDefinitions } from "./gooddollar.js";
8
8
  import { governanceToolDefinitions } from "./governance.js";
9
+ import { humannessToolDefinitions } from "./humanness.js";
9
10
  import { mentoFxToolDefinitions } from "./mento-fx.js";
10
11
  import { nftToolDefinitions } from "./nft.js";
11
12
  import { selfToolDefinitions } from "./self.js";
@@ -23,6 +24,7 @@ export const allDomainToolDefinitions = [
23
24
  ...ensToolDefinitions,
24
25
  ...gooddollarToolDefinitions,
25
26
  ...governanceToolDefinitions,
27
+ ...humannessToolDefinitions,
26
28
  ...stakingToolDefinitions,
27
29
  ...nftToolDefinitions,
28
30
  ...contractToolDefinitions,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/tools/domains/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAChD,OAAO,EAAE,yBAAyB,EAAE,MAAM,iBAAiB,CAAC;AAC5D,OAAO,EAAE,yBAAyB,EAAE,MAAM,iBAAiB,CAAC;AAC5D,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AACtD,OAAO,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;AACxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAC9C,OAAO,EAAE,yBAAyB,EAAE,MAAM,iBAAiB,CAAC;AAC5D,OAAO,EAAE,yBAAyB,EAAE,MAAM,iBAAiB,CAAC;AAC5D,OAAO,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AACvD,OAAO,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAC9C,OAAO,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAChD,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AACtD,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAClD,OAAO,EAAE,0BAA0B,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AAEtD,MAAM,CAAC,MAAM,wBAAwB,GAAG;IACtC,GAAG,yBAAyB;IAC5B,GAAG,oBAAoB;IACvB,GAAG,0BAA0B;IAC7B,GAAG,sBAAsB;IACzB,GAAG,sBAAsB;IACzB,GAAG,mBAAmB;IACtB,GAAG,kBAAkB;IACrB,GAAG,yBAAyB;IAC5B,GAAG,yBAAyB;IAC5B,GAAG,sBAAsB;IACzB,GAAG,kBAAkB;IACrB,GAAG,uBAAuB;IAC1B,GAAG,mBAAmB;IACtB,GAAG,yBAAyB;IAC5B,GAAG,sBAAsB;CAC1B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/tools/domains/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAChD,OAAO,EAAE,yBAAyB,EAAE,MAAM,iBAAiB,CAAC;AAC5D,OAAO,EAAE,yBAAyB,EAAE,MAAM,iBAAiB,CAAC;AAC5D,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AACtD,OAAO,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;AACxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAC9C,OAAO,EAAE,yBAAyB,EAAE,MAAM,iBAAiB,CAAC;AAC5D,OAAO,EAAE,yBAAyB,EAAE,MAAM,iBAAiB,CAAC;AAC5D,OAAO,EAAE,wBAAwB,EAAE,MAAM,gBAAgB,CAAC;AAC1D,OAAO,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AACvD,OAAO,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAC9C,OAAO,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAChD,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AACtD,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAClD,OAAO,EAAE,0BAA0B,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AAEtD,MAAM,CAAC,MAAM,wBAAwB,GAAG;IACtC,GAAG,yBAAyB;IAC5B,GAAG,oBAAoB;IACvB,GAAG,0BAA0B;IAC7B,GAAG,sBAAsB;IACzB,GAAG,sBAAsB;IACzB,GAAG,mBAAmB;IACtB,GAAG,kBAAkB;IACrB,GAAG,yBAAyB;IAC5B,GAAG,yBAAyB;IAC5B,GAAG,wBAAwB;IAC3B,GAAG,sBAAsB;IACzB,GAAG,kBAAkB;IACrB,GAAG,uBAAuB;IAC1B,GAAG,mBAAmB;IACtB,GAAG,yBAAyB;IAC5B,GAAG,sBAAsB;CAC1B,CAAC"}
@@ -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