@blindmarket/mcp-server 0.3.4 → 0.3.6

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/dist/rent.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"rent.js","sourceRoot":"","sources":["../src/rent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rent.js","sourceRoot":"","sources":["../src/rent.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,98 @@
1
+ import { JsonRpcProvider } from 'ethers';
2
+ /**
3
+ * Which chain escrow settles on, and how this process pays for it.
4
+ *
5
+ * The backend decides the chain: POST /api/v1/tasks builds against the Base
6
+ * escrow whenever BASE_ESCROW_ADDRESS is set, else against 0G (legacy). The
7
+ * MCP has to agree with that decision or it funds the wrong thing — sending
8
+ * native 0G value for a task the backend built as a USDC transferFrom, or
9
+ * signing a Base tx on the 0G RPC. So instead of a parallel config here, ask
10
+ * the backend which mode it is in (GET /health/bridge, public) and derive the
11
+ * rest from the chain id.
12
+ *
13
+ * Discovery is a HINT, not a proof. /health/bridge reports Base only when the
14
+ * backend can sign for Base (its escrow and marketplace signer), while task
15
+ * creation routes on BASE_ESCROW_ADDRESS alone — so a backend with a Base
16
+ * escrow but no Base signer answers "0G" here and builds Base transactions
17
+ * there. The send paths in rent.ts
18
+ * therefore verify the `to` of every unsigned tx against the escrow this
19
+ * mode expects before broadcasting, and a mismatch invalidates the cache.
20
+ * That check, not this lookup, is what stops native value going to a Base
21
+ * address on the 0G RPC.
22
+ *
23
+ * The two modes pay differently, and that is the whole reason this file
24
+ * exists:
25
+ *
26
+ * 0g — the local wallet (BLINDMARKET_PRIVATE_KEY) signs and broadcasts
27
+ * itself. Native 0G is the escrow token and the gas token.
28
+ * base — nothing signs locally. Transactions go to POST /api/v1/tx/relay-tx,
29
+ * where the backend has Privy sign from the caller's embedded wallet
30
+ * with gas paid in USDC. The wallet is the sk_ API key's owner
31
+ * (GET /api/v1/api-keys/whoami) — it must be a Privy embedded wallet,
32
+ * which is what the web app creates on login. No private key here.
33
+ *
34
+ * Discovery is memoised with a short TTL (MCP servers are long-lived; a
35
+ * process must notice when prod flips). BLINDMARKET_SETTLEMENT=0g|base forces
36
+ * a mode (0g skips discovery entirely; base fails loudly if the backend is not
37
+ * actually in Base mode rather than silently posting native tasks).
38
+ */
39
+ export type SettlementMode = '0g' | 'base';
40
+ export interface OgSettlement {
41
+ mode: '0g';
42
+ decimals: 18;
43
+ symbol: '0G';
44
+ /** the 0G escrow as /health/bridge reports it (current backends report it
45
+ * even when 0G can't settle); undefined from older backends or when
46
+ * forced to 0g. Used to verify unsigned txs. */
47
+ escrowAddress?: string;
48
+ }
49
+ export interface BaseSettlement {
50
+ mode: 'base';
51
+ chainId: number;
52
+ escrowAddress: string;
53
+ usdcAddress: string;
54
+ decimals: 6;
55
+ symbol: 'USDC';
56
+ /** the `chain` value relay-tx expects — see backend CHAIN_CAIP2 */
57
+ relayChain: 'base-mainnet' | 'base-sepolia';
58
+ rpcUrl: string;
59
+ /** read-only: allowance/balance/task-state checks and receipt polling. Never signs. */
60
+ provider: JsonRpcProvider;
61
+ /** the relay signs from this wallet — the API key's owner (Privy embedded).
62
+ * Checksummed: the backend stores owners lowercased and passes the address
63
+ * straight to Privy's lookup, which the web app only ever exercises with
64
+ * checksummed input. */
65
+ payFrom: string;
66
+ }
67
+ export type Settlement = OgSettlement | BaseSettlement;
68
+ export declare const OG_SETTLEMENT: OgSettlement;
69
+ export declare const BASE_USDC: Readonly<Record<number, string>>;
70
+ export declare const BASE_RPC: Readonly<Record<number, string>>;
71
+ /** How long a discovered mode is trusted before being re-asked. Short enough
72
+ * that a long-lived server notices a prod flip within minutes; long enough
73
+ * that a quote→confirm pair never straddles two lookups. */
74
+ export declare const DISCOVERY_TTL_MS: number;
75
+ export declare function relayChainFor(chainId: number): BaseSettlement['relayChain'] | null;
76
+ export declare function usdcFor(chainId: number, override?: string): string | null;
77
+ export interface SettlementError extends Error {
78
+ code: string;
79
+ }
80
+ export interface DiscoverDeps {
81
+ apiBase: string;
82
+ /** authenticated GET — only used for whoami, which needs the API key */
83
+ api: <T = any>(method: string, path: string, body?: unknown) => Promise<T>;
84
+ fetchImpl?: typeof fetch;
85
+ env?: NodeJS.ProcessEnv;
86
+ }
87
+ /** One discovery. Wrap with createSettlementResolver for the memoised form. */
88
+ export declare function discoverSettlement(deps: DiscoverDeps): Promise<Settlement>;
89
+ export interface SettlementResolver {
90
+ (): Promise<Settlement>;
91
+ /** Drop the cached answer. Called when a send path proves it wrong (the
92
+ * backend built a tx for an escrow this mode does not expect). */
93
+ invalidate(): void;
94
+ }
95
+ /** Memoised discovery with a TTL. Errors are not cached, so a transient
96
+ * backend outage can be retried on the next spend call. */
97
+ export declare function createSettlementResolver(deps: DiscoverDeps, ttlMs?: number, now?: () => number): SettlementResolver;
98
+ //# sourceMappingURL=settlement.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"settlement.d.ts","sourceRoot":"","sources":["../src/settlement.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAc,MAAM,QAAQ,CAAC;AAErD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AAEH,MAAM,MAAM,cAAc,GAAG,IAAI,GAAG,MAAM,CAAC;AAE3C,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,IAAI,CAAC;IACX,QAAQ,EAAE,EAAE,CAAC;IACb,MAAM,EAAE,IAAI,CAAC;IACb;;qDAEiD;IACjD,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,CAAC,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,mEAAmE;IACnE,UAAU,EAAE,cAAc,GAAG,cAAc,CAAC;IAC5C,MAAM,EAAE,MAAM,CAAC;IACf,uFAAuF;IACvF,QAAQ,EAAE,eAAe,CAAC;IAC1B;;;6BAGyB;IACzB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,MAAM,UAAU,GAAG,YAAY,GAAG,cAAc,CAAC;AAEvD,eAAO,MAAM,aAAa,EAAE,YAAyD,CAAC;AAItF,eAAO,MAAM,SAAS,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAGtD,CAAC;AAEF,eAAO,MAAM,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAGrD,CAAC;AAEF;;6DAE6D;AAC7D,eAAO,MAAM,gBAAgB,QAAgB,CAAC;AAE9C,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,cAAc,CAAC,YAAY,CAAC,GAAG,IAAI,CAIlF;AAED,wBAAgB,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAGzE;AAED,MAAM,WAAW,eAAgB,SAAQ,KAAK;IAAG,IAAI,EAAE,MAAM,CAAA;CAAE;AAY/D,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,wEAAwE;IACxE,GAAG,EAAE,CAAC,CAAC,GAAG,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;IAC3E,SAAS,CAAC,EAAE,OAAO,KAAK,CAAC;IACzB,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;CACzB;AAED,+EAA+E;AAC/E,wBAAsB,kBAAkB,CAAC,IAAI,EAAE,YAAY,GAAG,OAAO,CAAC,UAAU,CAAC,CAiEhF;AAkDD,MAAM,WAAW,kBAAkB;IACjC,IAAI,OAAO,CAAC,UAAU,CAAC,CAAC;IACxB;uEACmE;IACnE,UAAU,IAAI,IAAI,CAAC;CACpB;AAED;4DAC4D;AAC5D,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,YAAY,EAAE,KAAK,SAAmB,EAAE,GAAG,eAAW,GAAG,kBAAkB,CAUzH"}
@@ -0,0 +1,145 @@
1
+ import { JsonRpcProvider, getAddress } from 'ethers';
2
+ export const OG_SETTLEMENT = { mode: '0g', decimals: 18, symbol: '0G' };
3
+ // Mirrors frontend/src/config/constants.ts BASE_USDC_ADDRESS. Overridable via
4
+ // BLINDMARKET_USDC_ADDRESS for a chain not listed here.
5
+ export const BASE_USDC = {
6
+ 8453: '0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913',
7
+ 84532: '0x036CbD53842c5426634e7929541eC2318f3dCF7e',
8
+ };
9
+ export const BASE_RPC = {
10
+ 8453: 'https://mainnet.base.org',
11
+ 84532: 'https://sepolia.base.org',
12
+ };
13
+ /** How long a discovered mode is trusted before being re-asked. Short enough
14
+ * that a long-lived server notices a prod flip within minutes; long enough
15
+ * that a quote→confirm pair never straddles two lookups. */
16
+ export const DISCOVERY_TTL_MS = 5 * 60 * 1000;
17
+ export function relayChainFor(chainId) {
18
+ if (chainId === 8453)
19
+ return 'base-mainnet';
20
+ if (chainId === 84532)
21
+ return 'base-sepolia';
22
+ return null;
23
+ }
24
+ export function usdcFor(chainId, override) {
25
+ if (override && /^0x[0-9a-fA-F]{40}$/.test(override))
26
+ return override;
27
+ return BASE_USDC[chainId] ?? null;
28
+ }
29
+ function err(code, message) {
30
+ const e = new Error(message);
31
+ e.code = code;
32
+ return e;
33
+ }
34
+ const isAddress = (a) => typeof a === 'string' && /^0x[0-9a-fA-F]{40}$/.test(a);
35
+ // An escrow is never address(0); treating it as one would send value there.
36
+ const isEscrowAddress = (a) => isAddress(a) && !/^0x0{40}$/.test(a);
37
+ /** One discovery. Wrap with createSettlementResolver for the memoised form. */
38
+ export async function discoverSettlement(deps) {
39
+ const env = deps.env ?? process.env;
40
+ const forced = env.BLINDMARKET_SETTLEMENT;
41
+ if (forced && forced !== '0g' && forced !== 'base') {
42
+ throw err('BAD_SETTLEMENT', `BLINDMARKET_SETTLEMENT must be "0g" or "base", got "${forced}"`);
43
+ }
44
+ if (forced === '0g')
45
+ return OG_SETTLEMENT;
46
+ const f = deps.fetchImpl ?? fetch;
47
+ let json;
48
+ try {
49
+ const res = await f(`${deps.apiBase}/health/bridge`);
50
+ json = await res.json();
51
+ }
52
+ catch (e) {
53
+ throw err('SETTLEMENT_UNKNOWN', `Could not reach ${deps.apiBase}/health/bridge to learn which chain escrow settles on (${e.message}). ` +
54
+ 'Set BLINDMARKET_SETTLEMENT=0g to force the legacy local-wallet path, or =base to require the relay.');
55
+ }
56
+ // The backend wraps every error (4xx/5xx) in the same JSON envelope with
57
+ // success:false. That is an answer we cannot use, not an answer of "0G".
58
+ if (json?.success === false || typeof json !== 'object' || json === null) {
59
+ throw err('SETTLEMENT_UNKNOWN', `${deps.apiBase}/health/bridge answered with an error envelope (${json?.error?.code ?? 'no code'}: ${json?.error?.message ?? 'no message'}). ` +
60
+ 'Refusing to guess the settlement chain. Set BLINDMARKET_SETTLEMENT=0g to force the legacy path.');
61
+ }
62
+ const data = json?.data ?? json;
63
+ const bridge = data?.base ?? null;
64
+ if (!bridge?.configured) {
65
+ if (forced === 'base') {
66
+ // /health/bridge reports Base only when the backend can sign for it
67
+ // (Base escrow and Base marketplace signer), while POST /tasks routes
68
+ // on config.baseEscrowAddress alone — which itself falls back to the
69
+ // generated contractAddresses.ts, so a backend with nothing about Base
70
+ // in its .env still builds Base transactions. Refusing here would block
71
+ // exactly that (very common) setup. So when the operator has forced
72
+ // base, let them name the escrow explicitly instead of asking health to
73
+ // vouch for it. This is not a loosening of safety: verifyTarget still
74
+ // checks every unsigned tx against this address before anything is
75
+ // sent, so a wrong guess refuses rather than misfunding.
76
+ const escrowOverride = env.BLINDMARKET_BASE_ESCROW_ADDRESS;
77
+ if (!isAddress(escrowOverride)) {
78
+ throw err('SETTLEMENT_MISMATCH', 'BLINDMARKET_SETTLEMENT=base but /health/bridge does not report a Base escrow. That endpoint needs the Base marketplace signer, while task creation needs only the Base escrow address — so this is expected on a backend that posts Base tasks without the Base signer. Set BLINDMARKET_BASE_ESCROW_ADDRESS (and BLINDMARKET_BASE_CHAIN_ID if not 84532) to the escrow the backend builds against, or complete the bridge config.');
79
+ }
80
+ const forcedChainId = Number(env.BLINDMARKET_BASE_CHAIN_ID ?? 84532);
81
+ return buildBaseSettlement(forcedChainId, escrowOverride, env, deps);
82
+ }
83
+ // Carry the 0G escrow address when the bridge reports it, so the 0G send
84
+ // path can verify the backend really built a 0G tx (see file comment).
85
+ return isEscrowAddress(data?.escrowAddress)
86
+ ? { ...OG_SETTLEMENT, escrowAddress: getAddress(data.escrowAddress) }
87
+ : OG_SETTLEMENT;
88
+ }
89
+ if (!isEscrowAddress(bridge.escrowAddress)) {
90
+ throw err('SETTLEMENT_UNKNOWN', `Backend reports Base configured but no escrow address (${bridge.escrowAddress}).`);
91
+ }
92
+ return buildBaseSettlement(Number(bridge.chainId), bridge.escrowAddress, env, deps);
93
+ }
94
+ /** Assemble a Base settlement from a chain id and escrow address, whichever
95
+ * way they were learned (health, or an explicit override). Everything else —
96
+ * USDC, RPC, relay label, the paying wallet — is derived here so both routes
97
+ * agree. */
98
+ async function buildBaseSettlement(chainId, escrow, env, deps) {
99
+ const relayChain = relayChainFor(chainId);
100
+ if (!relayChain) {
101
+ throw err('UNSUPPORTED_BASE_CHAIN', `Base chainId ${chainId} is not one relay-tx supports (8453 or 84532).`);
102
+ }
103
+ const usdcAddress = usdcFor(chainId, env.BLINDMARKET_USDC_ADDRESS);
104
+ if (!usdcAddress) {
105
+ throw err('USDC_UNKNOWN', `No USDC address known for chainId ${chainId} — set BLINDMARKET_USDC_ADDRESS.`);
106
+ }
107
+ const rpcUrl = env.BLINDMARKET_BASE_RPC_URL ?? BASE_RPC[chainId];
108
+ if (!rpcUrl) {
109
+ throw err('RPC_UNKNOWN', `No RPC known for chainId ${chainId} — set BLINDMARKET_BASE_RPC_URL.`);
110
+ }
111
+ // The relay refuses any wallet not linked to the caller — and the caller of
112
+ // an sk_ key IS its owner wallet, so that is the only address it can sign
113
+ // from. whoami is the endpoint built for exactly this boot-time check.
114
+ const who = await deps.api('GET', '/api/v1/api-keys/whoami');
115
+ if (!isAddress(who?.address)) {
116
+ throw err('RELAY_WALLET_UNKNOWN', `whoami returned "${who?.address}" — the API key must belong to a wallet (not the legacy AGENT_API_KEY principal) for the relay to sign from it.`);
117
+ }
118
+ return {
119
+ mode: 'base',
120
+ chainId,
121
+ escrowAddress: getAddress(escrow),
122
+ usdcAddress: getAddress(usdcAddress),
123
+ decimals: 6,
124
+ symbol: 'USDC',
125
+ relayChain,
126
+ rpcUrl,
127
+ provider: new JsonRpcProvider(rpcUrl, chainId),
128
+ payFrom: getAddress(who.address),
129
+ };
130
+ }
131
+ /** Memoised discovery with a TTL. Errors are not cached, so a transient
132
+ * backend outage can be retried on the next spend call. */
133
+ export function createSettlementResolver(deps, ttlMs = DISCOVERY_TTL_MS, now = Date.now) {
134
+ let cached = null;
135
+ const resolve = (async () => {
136
+ if (cached && now() - cached.at < ttlMs)
137
+ return cached.value;
138
+ const value = await discoverSettlement(deps);
139
+ cached = { value, at: now() };
140
+ return value;
141
+ });
142
+ resolve.invalidate = () => { cached = null; };
143
+ return resolve;
144
+ }
145
+ //# sourceMappingURL=settlement.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"settlement.js","sourceRoot":"","sources":["../src/settlement.ts"],"names":[],"mappings":"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"}
package/dist/state.d.ts CHANGED
@@ -7,13 +7,35 @@
7
7
  * funding tx and /a2a/tasks/index is resumable (re-run the index with the
8
8
  * saved txHash) instead of double-funding a second escrow.
9
9
  */
10
- export type SpendStage = 'created' | 'funded' | 'indexed';
10
+ /** created → funded → indexed is the escrow-funding path (rent/post). On
11
+ * Base there is an extra 'approved' between created and funded: the USDC
12
+ * approve is its own transaction, and a crash after it must not re-approve.
13
+ * created → sent → confirmed is the refund path (cancel/timeout), which has
14
+ * nothing to index — the money moves back on the one transaction. */
15
+ export type SpendStage = 'created' | 'approved' | 'funded' | 'indexed' | 'sent' | 'confirmed';
16
+ /** Every kind moves money and so carries an idempotencyKey: rent/post pay it
17
+ * out of the wallet, cancel/timeout pull it back. */
18
+ export type SpendKind = 'rent' | 'post' | 'cancel' | 'timeout';
11
19
  export interface SpendRecord {
12
20
  idempotencyKey: string;
13
- kind: 'rent' | 'post';
21
+ kind: SpendKind;
14
22
  stage: SpendStage;
15
23
  taskHash?: string;
24
+ /** on-chain numeric task id — the refund routes address tasks by id, not hash */
25
+ taskId?: number;
16
26
  txHash?: string;
27
+ /** which chain this spend settles on — decides local-sign vs relay on resume */
28
+ settlement?: 'base' | '0g';
29
+ /** escrow token: zero address for native 0G, the USDC address on Base */
30
+ token?: string;
31
+ /** Base only: the USDC approve tx, persisted so a resume never re-approves */
32
+ approveTxHash?: string;
33
+ /** Base only: relay returned an ERC-4337 user-op hash, not a tx hash —
34
+ * getTransactionReceipt on it is always null, so waits go by state instead */
35
+ isUserOp?: boolean;
36
+ /** Base only: how the relay paid gas, as reported by the backend. Persisted
37
+ * so a resumed spend reports the truth rather than re-guessing. */
38
+ gas?: 'user-pays' | 'app-pays' | 'wallet-pays';
17
39
  rootHash?: string;
18
40
  serviceId?: number;
19
41
  targetExecutor?: string;
@@ -36,10 +58,10 @@ export declare function putSpend(record: SpendRecord): void;
36
58
  export declare function updateSpend(idempotencyKey: string, patch: Partial<SpendRecord>): SpendRecord;
37
59
  export interface Quote {
38
60
  quoteId: string;
39
- kind: 'rent' | 'post';
61
+ kind: SpendKind;
40
62
  summary: Record<string, unknown>;
41
63
  expiresAt: number;
42
64
  }
43
- export declare function createQuote(kind: 'rent' | 'post', summary: Record<string, unknown>): Quote;
44
- export declare function consumeQuote(quoteId: string, kind: 'rent' | 'post'): Quote | null;
65
+ export declare function createQuote(kind: SpendKind, summary: Record<string, unknown>): Quote;
66
+ export declare function consumeQuote(quoteId: string, kind: SpendKind): Quote | null;
45
67
  //# sourceMappingURL=state.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../src/state.ts"],"names":[],"mappings":"AAKA;;;;;;;;GAQG;AAEH,MAAM,MAAM,UAAU,GAAG,SAAS,GAAG,QAAQ,GAAG,SAAS,CAAC;AAE1D,MAAM,WAAW,WAAW;IAC1B,cAAc,EAAE,MAAM,CAAC;IACvB,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;IACtB,KAAK,EAAE,UAAU,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,OAAO,CAAC,EAAE,SAAS,GAAG,QAAQ,CAAC;IAC/B;+DAC2D;IAC3D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACrC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,oBAAoB,CAAC,EAAE,MAAM,EAAE,CAAC;IAChC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAsBD,wBAAgB,QAAQ,CAAC,cAAc,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS,CAExE;AAED,wBAAgB,QAAQ,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI,CAIlD;AAED,wBAAgB,WAAW,CAAC,cAAc,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,WAAW,CAAC,GAAG,WAAW,CAU5F;AAQD,MAAM,WAAW,KAAK;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,SAAS,EAAE,MAAM,CAAC;CACnB;AAKD,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,KAAK,CAS1F;AAED,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,KAAK,GAAG,IAAI,CAKjF"}
1
+ {"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../src/state.ts"],"names":[],"mappings":"AAKA;;;;;;;;GAQG;AAEH;;;;sEAIsE;AACtE,MAAM,MAAM,UAAU,GAAG,SAAS,GAAG,UAAU,GAAG,QAAQ,GAAG,SAAS,GAAG,MAAM,GAAG,WAAW,CAAC;AAE9F;sDACsD;AACtD,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,MAAM,GAAG,QAAQ,GAAG,SAAS,CAAC;AAE/D,MAAM,WAAW,WAAW;IAC1B,cAAc,EAAE,MAAM,CAAC;IACvB,IAAI,EAAE,SAAS,CAAC;IAChB,KAAK,EAAE,UAAU,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,iFAAiF;IACjF,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,gFAAgF;IAChF,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,yEAAyE;IACzE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,8EAA8E;IAC9E,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;mFAC+E;IAC/E,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;wEACoE;IACpE,GAAG,CAAC,EAAE,WAAW,GAAG,UAAU,GAAG,aAAa,CAAC;IAC/C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,OAAO,CAAC,EAAE,SAAS,GAAG,QAAQ,CAAC;IAC/B;+DAC2D;IAC3D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACrC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,oBAAoB,CAAC,EAAE,MAAM,EAAE,CAAC;IAChC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAsBD,wBAAgB,QAAQ,CAAC,cAAc,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS,CAExE;AAED,wBAAgB,QAAQ,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI,CAIlD;AAED,wBAAgB,WAAW,CAAC,cAAc,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,WAAW,CAAC,GAAG,WAAW,CAU5F;AAQD,MAAM,WAAW,KAAK;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,SAAS,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,SAAS,EAAE,MAAM,CAAC;CACnB;AAKD,wBAAgB,WAAW,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,KAAK,CASpF;AAED,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,GAAG,KAAK,GAAG,IAAI,CAK3E"}
package/dist/state.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"state.js","sourceRoot":"","sources":["../src/state.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"state.js","sourceRoot":"","sources":["../src/state.ts"],"names":[],"mappings":"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"}
package/dist/tools.d.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
2
2
  import type { BlindMarket } from '@blindmarket/sdk';
3
- export declare function registerMarketTools(server: McpServer, bb: BlindMarket): void;
3
+ import type { WalletCtx } from './wallet.js';
4
+ export declare function registerMarketTools(server: McpServer, bb: BlindMarket, walletCtx?: WalletCtx | null): void;
4
5
  //# sourceMappingURL=tools.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEzE,OAAO,KAAK,EAAE,WAAW,EAAmB,MAAM,kBAAkB,CAAC;AAErE,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,SAAS,EAAE,EAAE,EAAE,WAAW,GAAG,IAAI,CA+X5E"}
1
+ {"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEzE,OAAO,KAAK,EAAE,WAAW,EAAmB,MAAM,kBAAkB,CAAC;AACrE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAE7C,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,SAAS,EAAE,EAAE,EAAE,WAAW,EAAE,SAAS,GAAE,SAAS,GAAG,IAAW,GAAG,IAAI,CAiYhH"}
package/dist/tools.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import { z } from 'zod';
2
- export function registerMarketTools(server, bb) {
2
+ export function registerMarketTools(server, bb, walletCtx = null) {
3
3
  // ── Health & Stats ────────────────────────────────────────────────────
4
4
  server.registerTool('health', {
5
5
  title: 'Health Check',
@@ -55,15 +55,26 @@ export function registerMarketTools(server, bb) {
55
55
  // ── Agents ────────────────────────────────────────────────────────────
56
56
  server.registerTool('create_agent', {
57
57
  title: 'Create Agent',
58
- description: 'One-shot agent creation: generates a wallet and registers as A2A executor. Returns the wallet private key — store it securely!',
58
+ description: "Register as an A2A executor using the local wallet (BLINDMARKET_PRIVATE_KEY): derives its uncompressed public key and registers it. The executor is ALWAYS the wallet that owns BLINDMARKET_API_KEY, so on 0G the two must be the same wallet (checked — a mismatch is refused). No wallet is generated and no key is returned. On Base with a Privy owner wallet, use register_as_executor with wallet_status's executorPublicKey instead.",
59
59
  inputSchema: {
60
60
  displayName: z.string().describe('Display name for the agent'),
61
61
  capabilities: z.string().describe('Comma-separated capabilities (e.g. "data_processing,web_research")'),
62
- minReward: z.string().optional().describe('Minimum reward per task in wei'),
62
+ minReward: z.string().optional().describe("Minimum reward per task, as an integer in the payment token's smallest unit (USDC: 6 decimals, so '1000000' = 1 USDC)"),
63
63
  preferredCapabilities: z.string().optional().describe('Comma-separated preferred capabilities (subset of capabilities)'),
64
64
  },
65
65
  }, async ({ displayName, capabilities, minReward, preferredCapabilities }) => {
66
- const result = await bb.createAgent({
66
+ if (!walletCtx) {
67
+ return { isError: true, content: [{ type: 'text', text: JSON.stringify({ success: false, error: { code: 'NO_WALLET', message: 'create_agent derives the executor public key from BLINDMARKET_PRIVATE_KEY — set it to the key of the wallet that owns BLINDMARKET_API_KEY.' } }) }] };
68
+ }
69
+ // SDKs before the release that added deliverResult() ignore `privateKey`
70
+ // and register a freshly generated wallet instead — a key nobody holds,
71
+ // so every brief wrapped to it is lost. package.json cannot require that
72
+ // release until it is on npm, so refuse here, before anything is registered.
73
+ if (typeof bb.deliverResult !== 'function') {
74
+ return { isError: true, content: [{ type: 'text', text: JSON.stringify({ success: false, error: { code: 'SDK_TOO_OLD', message: 'The installed @blindmarket/sdk ignores the wallet key passed to createAgent. Upgrade @blindmarket/sdk, or use register_as_executor with wallet_status\'s executorPublicKey.' } }) }] };
75
+ }
76
+ const { executor, wallet } = await bb.createAgent({
77
+ privateKey: walletCtx.wallet.privateKey,
67
78
  displayName,
68
79
  capabilities: capabilities.split(',').map(s => s.trim()),
69
80
  minReward: minReward ?? undefined,
@@ -71,21 +82,22 @@ export function registerMarketTools(server, bb) {
71
82
  ? preferredCapabilities.split(',').map(s => s.trim())
72
83
  : undefined,
73
84
  });
85
+ // Never echo the private key into the model's context.
86
+ const result = { executor, wallet: { address: wallet.address, publicKey: wallet.publicKey } };
74
87
  return { content: [{ type: 'text', text: JSON.stringify(result, null, 2) }] };
75
88
  });
76
89
  server.registerTool('register_as_executor', {
77
90
  title: 'Register as Executor',
78
- description: 'Register an existing wallet as an A2A executor to receive task offers',
91
+ description: "Register as an A2A executor. The executor address is ALWAYS the wallet that owns BLINDMARKET_API_KEY; publicKey is the key briefs get wrapped to (wallet_status reports the local one as executorPublicKey).",
79
92
  inputSchema: {
80
- address: z.string().describe('Wallet address (0x...)'),
93
+ address: z.string().optional().describe("Ignored by the backend — the executor is the API key's owner wallet"),
81
94
  displayName: z.string().describe('Display name'),
82
95
  capabilities: z.string().describe('Comma-separated capabilities'),
83
- publicKey: z.string().describe('Uncompressed secp256k1 public key (hex, no 0x prefix)'),
84
- minReward: z.string().optional().describe('Minimum reward in wei'),
96
+ publicKey: z.string().regex(/^04[0-9a-fA-F]{128}$/).describe('Uncompressed secp256k1 public key: 130 hex chars, leading 04, no 0x prefix'),
97
+ minReward: z.string().optional().describe("Minimum reward, as an integer in the payment token's smallest unit (USDC: 6 decimals)"),
85
98
  },
86
- }, async ({ address, displayName, capabilities, publicKey, minReward }) => {
99
+ }, async ({ displayName, capabilities, publicKey, minReward }) => {
87
100
  const result = await bb.registerExecutor({
88
- address: address,
89
101
  displayName,
90
102
  capabilities: capabilities.split(',').map(s => s.trim()),
91
103
  publicKey,
@@ -126,7 +138,7 @@ export function registerMarketTools(server, bb) {
126
138
  });
127
139
  server.registerTool('accept_task', {
128
140
  title: 'Accept Task',
129
- description: 'Accept an assigned A2A task and get the wrapped AES key for decryption',
141
+ description: 'Claim an open A2A task — this assigns you on-chain — and get the rootHash + wrapped AES key (then fetch_brief, then complete_task). On NEEDS_WRAP the brief key is not wrapped to you yet: call bid_on_task and retry once the poster has wrapped it.',
130
142
  inputSchema: {
131
143
  taskId: z.string().describe('Task ID'),
132
144
  },
@@ -134,17 +146,11 @@ export function registerMarketTools(server, bb) {
134
146
  const result = await bb.acceptTask(taskId);
135
147
  return { content: [{ type: 'text', text: JSON.stringify(result, null, 2) }] };
136
148
  });
137
- server.registerTool('submit_result', {
138
- title: 'Submit Task Result',
139
- description: 'Submit the execution result for an accepted A2A task',
140
- inputSchema: {
141
- taskId: z.string().describe('Task ID'),
142
- output: z.string().describe('Result output text'),
143
- },
144
- }, async ({ taskId, output }) => {
145
- const result = await bb.submitResult(taskId, { output });
146
- return { content: [{ type: 'text', text: JSON.stringify(result, null, 2) }] };
147
- });
149
+ // No submit_result tool: POST /submit only BUILDS an unsigned submitEvidence
150
+ // and flips the task to 'submitted'. A tool that stopped there never signed
151
+ // it, and a later complete_task then 409'd on the state it left behind.
152
+ // complete_task (rent.ts) is the one delivery path: submit → sign/relay →
153
+ // finalize, with /rebroadcast healing for a stranded 'submitted' task.
148
154
  server.registerTool('verify_task', {
149
155
  title: 'Verify Task',
150
156
  description: 'Trigger AI/TEE verification for a submitted task result',