@andrewkimjoseph/celina-sdk 0.16.1 → 0.17.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.
- package/build/index.d.ts +2 -1
- package/build/index.js +1 -0
- package/build/index.js.map +1 -1
- package/build/services/gooddollar-identity-guidance.d.ts +24 -0
- package/build/services/gooddollar-identity-guidance.js +51 -0
- package/build/services/gooddollar-identity-guidance.js.map +1 -0
- package/build/services/gooddollar.service.d.ts +7 -0
- package/build/services/gooddollar.service.js +32 -4
- package/build/services/gooddollar.service.js.map +1 -1
- package/build/services/humanness.service.js +3 -2
- package/build/services/humanness.service.js.map +1 -1
- package/build/src/index.d.ts +2 -1
- package/build/src/index.js +1 -0
- package/build/src/index.js.map +1 -1
- package/build/src/services/gooddollar-identity-guidance.d.ts +24 -0
- package/build/src/services/gooddollar-identity-guidance.js +51 -0
- package/build/src/services/gooddollar-identity-guidance.js.map +1 -0
- package/build/src/services/gooddollar.service.d.ts +7 -0
- package/build/src/services/gooddollar.service.js +32 -4
- package/build/src/services/gooddollar.service.js.map +1 -1
- package/build/src/services/humanness.service.js +3 -2
- package/build/src/services/humanness.service.js.map +1 -1
- package/build/src/tools/domains/blockchain.js +25 -7
- package/build/src/tools/domains/blockchain.js.map +1 -1
- package/build/src/tools/domains/gooddollar.js +2 -2
- package/build/src/tools/domains/gooddollar.js.map +1 -1
- package/build/src/tools/domains/transaction.js +11 -7
- package/build/src/tools/domains/transaction.js.map +1 -1
- package/build/src/tools/types.d.ts +13 -2
- package/build/tools/domains/blockchain.js +25 -7
- package/build/tools/domains/blockchain.js.map +1 -1
- package/build/tools/domains/gooddollar.js +2 -2
- package/build/tools/domains/gooddollar.js.map +1 -1
- package/build/tools/domains/transaction.js +11 -7
- package/build/tools/domains/transaction.js.map +1 -1
- package/build/tools/types.d.ts +13 -2
- package/package.json +1 -1
|
@@ -1,16 +1,17 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
|
-
import { addressOrEnsSchema, addressSchema, hexDataSchema, optionalWalletAddressSchema, tokenSymbolSchema, } from "../schemas/common.js";
|
|
2
|
+
import { addressOrEnsSchema, addressSchema, executeEnvRequirements, hexDataSchema, optionalSignerSchema, optionalWalletAddressSchema, tokenSymbolSchema, } from "../schemas/common.js";
|
|
3
3
|
import { normalizeRegistryTokenInput } from "../utils/normalize-token.js";
|
|
4
4
|
import { resolveWalletFromRuntime, useMcpServerExecutor } from "../utils/wallet.js";
|
|
5
5
|
export const transactionToolDefinitions = [
|
|
6
6
|
{
|
|
7
7
|
name: "estimate_send",
|
|
8
|
-
description: "Estimates gas for sending CELO or an ERC-20. Recipient can be ENS.",
|
|
8
|
+
description: "Estimates gas for sending CELO or an ERC-20. Recipient can be ENS. On MCP, pass signer to estimate from a specific configured wallet (celo or self_agent) — e.g. before funding a Self agent from the main wallet.",
|
|
9
9
|
inputSchema: z.object({
|
|
10
10
|
to: addressOrEnsSchema,
|
|
11
11
|
token: tokenSymbolSchema.optional(),
|
|
12
12
|
amount: z.string(),
|
|
13
13
|
from: optionalWalletAddressSchema,
|
|
14
|
+
signer: optionalSignerSchema,
|
|
14
15
|
}),
|
|
15
16
|
families: ["read"],
|
|
16
17
|
mcp: { title: "Estimate Send", annotations: { readOnlyHint: true } },
|
|
@@ -19,9 +20,10 @@ export const transactionToolDefinitions = [
|
|
|
19
20
|
const token = normalizeRegistryTokenInput(input.token ?? "CELO");
|
|
20
21
|
const amount = input.amount;
|
|
21
22
|
const from = input.from;
|
|
23
|
+
const signer = input.signer;
|
|
22
24
|
if (runtime.executors?.transaction &&
|
|
23
|
-
useMcpServerExecutor(runtime, from)) {
|
|
24
|
-
const estimate = await runtime.executors.transaction.estimateSend(address, token, amount);
|
|
25
|
+
(signer || useMcpServerExecutor(runtime, from))) {
|
|
26
|
+
const estimate = await runtime.executors.transaction.estimateSend(address, token, amount, signer);
|
|
25
27
|
if (ens) {
|
|
26
28
|
return Object.assign({}, estimate, { ens });
|
|
27
29
|
}
|
|
@@ -37,15 +39,16 @@ export const transactionToolDefinitions = [
|
|
|
37
39
|
},
|
|
38
40
|
{
|
|
39
41
|
name: "send_token",
|
|
40
|
-
description: "Send CELO or an ERC-20 on mainnet. Requires CELO_PRIVATE_KEY in MCP server env.",
|
|
42
|
+
description: "Send CELO or an ERC-20 on mainnet. Requires CELO_PRIVATE_KEY or SELF_AGENT_PRIVATE_KEY in MCP server env. Pass signer to choose which configured wallet sends — e.g. signer: \"celo\" to fund a freshly registered Self agent with CELO before any Self-signed write (lock, stake, vote, register_celo_account).",
|
|
41
43
|
inputSchema: z.object({
|
|
42
44
|
to: addressOrEnsSchema,
|
|
43
45
|
token: tokenSymbolSchema.optional(),
|
|
44
46
|
amount: z.string(),
|
|
47
|
+
signer: optionalSignerSchema,
|
|
45
48
|
}),
|
|
46
49
|
families: ["execute"],
|
|
47
50
|
surfaces: ["mcp"],
|
|
48
|
-
requiresEnv: [
|
|
51
|
+
requiresEnv: [...executeEnvRequirements],
|
|
49
52
|
mcp: {
|
|
50
53
|
title: "Send Token",
|
|
51
54
|
annotations: { destructiveHint: true, openWorldHint: true },
|
|
@@ -55,7 +58,8 @@ export const transactionToolDefinitions = [
|
|
|
55
58
|
if (!tx)
|
|
56
59
|
throw new Error("Transaction executor not configured.");
|
|
57
60
|
const { address, ens } = await runtime.celina.ens.resolveAddressOrEns(input.to);
|
|
58
|
-
const
|
|
61
|
+
const signer = input.signer;
|
|
62
|
+
const result = await tx.sendToken(address, normalizeRegistryTokenInput(input.token ?? "CELO"), input.amount, signer);
|
|
59
63
|
return ens ? Object.assign({}, result, { ens }) : result;
|
|
60
64
|
},
|
|
61
65
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transaction.js","sourceRoot":"","sources":["../../../src/tools/domains/transaction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EACL,kBAAkB,EAClB,aAAa,EACb,aAAa,EACb,2BAA2B,EAC3B,iBAAiB,GAClB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,2BAA2B,EAAE,MAAM,6BAA6B,CAAC;AAC1E,OAAO,EAAE,wBAAwB,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAEpF,MAAM,CAAC,MAAM,0BAA0B,GAAqB;IAC1D;QACE,IAAI,EAAE,eAAe;QACrB,WAAW,EACT,
|
|
1
|
+
{"version":3,"file":"transaction.js","sourceRoot":"","sources":["../../../src/tools/domains/transaction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EACL,kBAAkB,EAClB,aAAa,EACb,sBAAsB,EACtB,aAAa,EACb,oBAAoB,EACpB,2BAA2B,EAC3B,iBAAiB,GAClB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,2BAA2B,EAAE,MAAM,6BAA6B,CAAC;AAC1E,OAAO,EAAE,wBAAwB,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAEpF,MAAM,CAAC,MAAM,0BAA0B,GAAqB;IAC1D;QACE,IAAI,EAAE,eAAe;QACrB,WAAW,EACT,oNAAoN;QACtN,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;YACpB,EAAE,EAAE,kBAAkB;YACtB,KAAK,EAAE,iBAAiB,CAAC,QAAQ,EAAE;YACnC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;YAClB,IAAI,EAAE,2BAA2B;YACjC,MAAM,EAAE,oBAAoB;SAC7B,CAAC;QACF,QAAQ,EAAE,CAAC,MAAM,CAAC;QAClB,GAAG,EAAE,EAAE,KAAK,EAAE,eAAe,EAAE,WAAW,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,EAAE;QACpE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE;YAChC,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,mBAAmB,CACnE,KAAK,CAAC,EAAY,CACnB,CAAC;YACF,MAAM,KAAK,GAAG,2BAA2B,CACtC,KAAK,CAAC,KAA4B,IAAI,MAAM,CAC9C,CAAC;YACF,MAAM,MAAM,GAAG,KAAK,CAAC,MAAgB,CAAC;YACtC,MAAM,IAAI,GAAG,KAAK,CAAC,IAA0B,CAAC;YAC9C,MAAM,MAAM,GAAG,KAAK,CAAC,MAA2C,CAAC;YACjE,IACE,OAAO,CAAC,SAAS,EAAE,WAAW;gBAC9B,CAAC,MAAM,IAAI,oBAAoB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,EAC/C,CAAC;gBACD,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,SAAS,CAAC,WAAW,CAAC,YAAY,CAC/D,OAAO,EACP,KAAK,EACL,MAAM,EACN,MAAM,CACP,CAAC;gBACF,IAAI,GAAG,EAAE,CAAC;oBACR,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,QAAQ,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;gBAC9C,CAAC;gBACD,OAAO,QAAQ,CAAC;YAClB,CAAC;YACD,MAAM,MAAM,GAAG,wBAAwB,CAAC,OAAO,EAAE;gBAC/C,IAAI;gBACJ,OAAO,EAAE,IAAI;aACd,CAAC,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,YAAY,CAC5D,MAAM,EACN,OAAO,EACP,KAAK,EACL,MAAM,CACP,CAAC;YACF,OAAO,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC;QAC/C,CAAC;KACF;IACD;QACE,IAAI,EAAE,YAAY;QAClB,WAAW,EACT,kTAAkT;QACpT,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;YACpB,EAAE,EAAE,kBAAkB;YACtB,KAAK,EAAE,iBAAiB,CAAC,QAAQ,EAAE;YACnC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;YAClB,MAAM,EAAE,oBAAoB;SAC7B,CAAC;QACF,QAAQ,EAAE,CAAC,SAAS,CAAC;QACrB,QAAQ,EAAE,CAAC,KAAK,CAAC;QACjB,WAAW,EAAE,CAAC,GAAG,sBAAsB,CAAC;QACxC,GAAG,EAAE;YACH,KAAK,EAAE,YAAY;YACnB,WAAW,EAAE,EAAE,eAAe,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE;SAC5D;QACD,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE;YAChC,MAAM,EAAE,GAAG,OAAO,CAAC,SAAS,EAAE,WAAW,CAAC;YAC1C,IAAI,CAAC,EAAE;gBAAE,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;YACjE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,mBAAmB,CACnE,KAAK,CAAC,EAAY,CACnB,CAAC;YACF,MAAM,MAAM,GAAG,KAAK,CAAC,MAA2C,CAAC;YACjE,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,SAAS,CAC/B,OAAO,EACP,2BAA2B,CAAE,KAAK,CAAC,KAA4B,IAAI,MAAM,CAAC,EAC1E,KAAK,CAAC,MAAgB,EACtB,MAAM,CACP,CAAC;YACF,OAAO,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;QAC3D,CAAC;KACF;IACD;QACE,IAAI,EAAE,cAAc;QACpB,WAAW,EACT,6EAA6E;QAC/E,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;YACpB,EAAE,EAAE,kBAAkB;YACtB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;YACjB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;YAClB,IAAI,EAAE,2BAA2B;SAClC,CAAC;QACF,QAAQ,EAAE,CAAC,SAAS,CAAC;QACrB,QAAQ,EAAE,CAAC,SAAS,CAAC;QACrB,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE;YAChC,MAAM,MAAM,GAAG,wBAAwB,CAAC,OAAO,EAAE;gBAC/C,IAAI,EAAE,KAAK,CAAC,IAA0B;aACvC,CAAC,CAAC;YACH,MAAM,KAAK,GAAG,2BAA2B,CAAC,KAAK,CAAC,KAAe,CAAC,CAAC;YACjE,MAAM,MAAM,GAAG,KAAK,CAAC,MAAgB,CAAC;YACtC,MAAM,OAAO,CAAC,KAAK,EAAE,iBAAiB,EAAE,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;YACpE,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,mBAAmB,CAC9D,KAAK,CAAC,EAAY,CACnB,CAAC;YACF,OAAO,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,WAAW,CAC3C,MAAM,EACN,OAAO,EACP,KAAK,EACL,MAAM,CACP,CAAC;QACJ,CAAC;KACF;IACD;QACE,IAAI,EAAE,kBAAkB;QACxB,WAAW,EAAE,kEAAkE;QAC/E,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;QACzB,QAAQ,EAAE,CAAC,MAAM,CAAC;QAClB,GAAG,EAAE;YACH,KAAK,EAAE,kBAAkB;YACzB,WAAW,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE;SAC1D;QACD,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,aAAa,EAAE;KACvE;IACD;QACE,IAAI,EAAE,sBAAsB;QAC5B,WAAW,EACT,wEAAwE;QAC1E,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;YACpB,IAAI,EAAE,2BAA2B;YACjC,EAAE,EAAE,aAAa;YACjB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;YAC5B,IAAI,EAAE,aAAa;SACpB,CAAC;QACF,QAAQ,EAAE,CAAC,MAAM,CAAC;QAClB,GAAG,EAAE,EAAE,KAAK,EAAE,sBAAsB,EAAE,WAAW,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,EAAE;QAC3E,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE;YAChC,MAAM,MAAM,GAAG,wBAAwB,CAAC,OAAO,EAAE;gBAC/C,IAAI,EAAE,KAAK,CAAC,IAA0B;gBACtC,OAAO,EAAE,KAAK,CAAC,IAA0B;aAC1C,CAAC,CAAC;YACH,OAAO,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,mBAAmB,CAAC;gBACpD,IAAI,EAAE,MAAM;gBACZ,EAAE,EAAE,KAAK,CAAC,EAAmB;gBAC7B,KAAK,EAAE,KAAK,CAAC,KAA2B;gBACxC,IAAI,EAAE,KAAK,CAAC,IAAiC;aAC9C,CAAC,CAAC;QACL,CAAC;KACF;CACF,CAAC"}
|
package/build/tools/types.d.ts
CHANGED
|
@@ -28,8 +28,8 @@ export type ToolRuntimeHooks = {
|
|
|
28
28
|
}) => Promise<void>;
|
|
29
29
|
};
|
|
30
30
|
export type TransactionExecutors = {
|
|
31
|
-
estimateSend: (to: `0x${string}`, token: string, amount: string) => Promise<unknown>;
|
|
32
|
-
sendToken: (to: `0x${string}`, token: string, amount: string) => Promise<unknown>;
|
|
31
|
+
estimateSend: (to: `0x${string}`, token: string, amount: string, signer?: "celo" | "self_agent") => Promise<unknown>;
|
|
32
|
+
sendToken: (to: `0x${string}`, token: string, amount: string, signer?: "celo" | "self_agent") => Promise<unknown>;
|
|
33
33
|
};
|
|
34
34
|
export type MentoFxExecutors = {
|
|
35
35
|
estimate: (tokenIn: string, tokenOut: string, amount: string, options?: {
|
|
@@ -138,6 +138,17 @@ export interface ToolRuntime {
|
|
|
138
138
|
mcpWallet?: {
|
|
139
139
|
address: `0x${string}`;
|
|
140
140
|
hasWallet: boolean;
|
|
141
|
+
/** Which configured key resolves to `address` when no explicit signer is requested. */
|
|
142
|
+
signer?: "celo" | "self_agent";
|
|
143
|
+
/** Every configured signer's address — lets a single call see both wallets at once. */
|
|
144
|
+
wallets?: {
|
|
145
|
+
celo?: {
|
|
146
|
+
address: `0x${string}`;
|
|
147
|
+
};
|
|
148
|
+
self_agent?: {
|
|
149
|
+
address: `0x${string}`;
|
|
150
|
+
};
|
|
151
|
+
};
|
|
141
152
|
};
|
|
142
153
|
}
|
|
143
154
|
export interface ToolDefinition {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@andrewkimjoseph/celina-sdk",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.17.0",
|
|
4
4
|
"description": "Celina SDK — Celo mainnet reads, unsigned transaction preparation, and ERC-4337 createAAClient for sponsored UserOps.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"sideEffects": false,
|