@gblin-protocol/mcp-server 0.1.0 β 0.1.1
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/README.md +25 -3
- package/dist/abi.d.ts +229 -0
- package/dist/abi.d.ts.map +1 -1
- package/dist/abi.js +26 -0
- package/dist/abi.js.map +1 -1
- package/dist/config.d.ts +2 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +4 -0
- package/dist/config.js.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/tools.d.ts +22 -1
- package/dist/tools.d.ts.map +1 -1
- package/dist/tools.js +236 -3
- package/dist/tools.js.map +1 -1
- package/package.json +2 -1
package/README.md
CHANGED
|
@@ -6,11 +6,32 @@
|
|
|
6
6
|
[](https://github.com/gblinproject/GBLIN-MCP/actions/workflows/ci.yml)
|
|
7
7
|
[](LICENSE)
|
|
8
8
|
[](https://basescan.org/address/0x38DcDB3A381677239BBc652aed9811F2f8496345)
|
|
9
|
+
[](https://basescan.org/address/0x6aBeC8716fFeEcf7C3D6e68255b4797113E8e5Dd)
|
|
9
10
|
|
|
10
11
|
π **Full documentation and Quick Start:** [gblin.digital/agents](https://gblin.digital/agents)
|
|
11
12
|
|
|
12
13
|
---
|
|
13
14
|
|
|
15
|
+
## Trust & Governance
|
|
16
|
+
|
|
17
|
+
**GBLIN_V5 is owned by a 48h Timelock Controller** β every admin operation (parameter change, oracle update, ownership transfer) is enforced on-chain to wait **172,800 seconds** before execution. Agents and integrators can verify this directly on BaseScan.
|
|
18
|
+
|
|
19
|
+
| Component | Address | Role |
|
|
20
|
+
|---|---|---|
|
|
21
|
+
| **GBLIN_V5 token** | [`0x38DcDB3A...6345`](https://basescan.org/address/0x38DcDB3A381677239BBc652aed9811F2f8496345) | Index contract β owned by timelock |
|
|
22
|
+
| **Timelock Controller** | [`0x6aBeC8716...8e5Dd`](https://basescan.org/address/0x6aBeC8716fFeEcf7C3D6e68255b4797113E8e5Dd) | 48h immutable delay, 14d grace period |
|
|
23
|
+
| **Ownership transfer tx** | [`0xb653f54f...edaaf`](https://basescan.org/tx/0xb653f54ffa9b1764b41932e6a411077e7e34550605303f15d90900de682edaaf) | Transferred at block 46160610 |
|
|
24
|
+
|
|
25
|
+
Properties enforced at the contract level:
|
|
26
|
+
- `MIN_DELAY` is **immutable** (override of `updateDelay` reverts permanently)
|
|
27
|
+
- `PROPOSER_ROLE` and `CANCELLER_ROLE` are **strictly separated** (constructor reverts on overlap)
|
|
28
|
+
- `EXECUTOR_ROLE` is open (`address(0)`) β anyone can execute a matured operation, anti-censorship
|
|
29
|
+
- The timelock is **self-administered**: every role/config change must itself go through the 48h delay
|
|
30
|
+
|
|
31
|
+
This is why the `get_governance_state` tool returns `owner_is_timelock: true` and a verifiable `min_delay_seconds: 172800`. AI agents can use these flags to gate trust-sensitive actions.
|
|
32
|
+
|
|
33
|
+
---
|
|
34
|
+
|
|
14
35
|
## Why this exists
|
|
15
36
|
|
|
16
37
|
AI agents today hold their working capital in **USDC**. USDC sits flat: zero yield, full inflation exposure.
|
|
@@ -38,7 +59,7 @@ Add to `claude_desktop_config.json` (on Windows: `%APPDATA%\Claude\claude_deskto
|
|
|
38
59
|
}
|
|
39
60
|
```
|
|
40
61
|
|
|
41
|
-
Restart Claude Desktop. The
|
|
62
|
+
Restart Claude Desktop. The 6 GBLIN tools appear in the tool picker.
|
|
42
63
|
|
|
43
64
|
### Windsurf / Cursor
|
|
44
65
|
|
|
@@ -95,7 +116,7 @@ Also supports Cline, Continue.dev, and any agent that implements the MCP client
|
|
|
95
116
|
|
|
96
117
|
---
|
|
97
118
|
|
|
98
|
-
## The
|
|
119
|
+
## The 6 tools
|
|
99
120
|
|
|
100
121
|
| Tool | Purpose |
|
|
101
122
|
|---|---|
|
|
@@ -104,10 +125,11 @@ Also supports Cline, Continue.dev, and any agent that implements the MCP client
|
|
|
104
125
|
| `swap_gblin_to_usdc_jit` | **The x402 magic**: generate atomic GBLINβUSDC calldata |
|
|
105
126
|
| `invest_usdc_to_gblin` | Convert USDC earnings into GBLIN treasury (MEV-safe) |
|
|
106
127
|
| `analyze_treasury_health` | Balances + gas + runway + rebalance advice |
|
|
128
|
+
| `get_governance_state` | Verify owner == 48h Timelock + pending asset proposals + min delay |
|
|
107
129
|
|
|
108
130
|
All tools return structured JSON. All values are quoted on-chain (NAV via `quoteSellGBLIN` Γ Chainlink ETH/USD, with 24h staleness guard). No mock data.
|
|
109
131
|
|
|
110
|
-
**Live verification:** the test suite (`npm test`) runs all
|
|
132
|
+
**Live verification:** the test suite (`npm test`) runs all six tools against Base mainnet and confirms calldata generation, oracle freshness, slippage math, and governance state. See the [latest CI run](https://github.com/gblinproject/GBLIN-MCP/actions).
|
|
111
133
|
|
|
112
134
|
---
|
|
113
135
|
|
package/dist/abi.d.ts
CHANGED
|
@@ -114,6 +114,46 @@ export declare const GBLIN_ABI: readonly [{
|
|
|
114
114
|
readonly outputs: readonly [{
|
|
115
115
|
readonly type: "uint256";
|
|
116
116
|
}];
|
|
117
|
+
}, {
|
|
118
|
+
readonly name: "owner";
|
|
119
|
+
readonly type: "function";
|
|
120
|
+
readonly stateMutability: "view";
|
|
121
|
+
readonly inputs: readonly [];
|
|
122
|
+
readonly outputs: readonly [{
|
|
123
|
+
readonly type: "address";
|
|
124
|
+
}];
|
|
125
|
+
}, {
|
|
126
|
+
readonly name: "founderWallet";
|
|
127
|
+
readonly type: "function";
|
|
128
|
+
readonly stateMutability: "view";
|
|
129
|
+
readonly inputs: readonly [];
|
|
130
|
+
readonly outputs: readonly [{
|
|
131
|
+
readonly type: "address";
|
|
132
|
+
}];
|
|
133
|
+
}, {
|
|
134
|
+
readonly name: "proposedAsset";
|
|
135
|
+
readonly type: "function";
|
|
136
|
+
readonly stateMutability: "view";
|
|
137
|
+
readonly inputs: readonly [];
|
|
138
|
+
readonly outputs: readonly [{
|
|
139
|
+
readonly type: "address";
|
|
140
|
+
readonly name: "token";
|
|
141
|
+
}, {
|
|
142
|
+
readonly type: "address";
|
|
143
|
+
readonly name: "oracle";
|
|
144
|
+
}, {
|
|
145
|
+
readonly type: "uint24";
|
|
146
|
+
readonly name: "poolFee";
|
|
147
|
+
}, {
|
|
148
|
+
readonly type: "bool";
|
|
149
|
+
readonly name: "isStable";
|
|
150
|
+
}, {
|
|
151
|
+
readonly type: "uint256";
|
|
152
|
+
readonly name: "baseWeight";
|
|
153
|
+
}, {
|
|
154
|
+
readonly type: "uint256";
|
|
155
|
+
readonly name: "executeAfter";
|
|
156
|
+
}];
|
|
117
157
|
}, {
|
|
118
158
|
readonly name: "buyGBLIN";
|
|
119
159
|
readonly type: "function";
|
|
@@ -172,6 +212,195 @@ export declare const GBLIN_ABI: readonly [{
|
|
|
172
212
|
}];
|
|
173
213
|
readonly outputs: readonly [];
|
|
174
214
|
}];
|
|
215
|
+
/**
|
|
216
|
+
* GblinTimelockController β OpenZeppelin TimelockController v5 surface.
|
|
217
|
+
* Only the views we need to read governance state.
|
|
218
|
+
*/
|
|
219
|
+
export declare const TIMELOCK_ABI: readonly [{
|
|
220
|
+
readonly name: "getMinDelay";
|
|
221
|
+
readonly type: "function";
|
|
222
|
+
readonly stateMutability: "view";
|
|
223
|
+
readonly inputs: readonly [];
|
|
224
|
+
readonly outputs: readonly [{
|
|
225
|
+
readonly type: "uint256";
|
|
226
|
+
}];
|
|
227
|
+
}, {
|
|
228
|
+
readonly name: "GRACE_PERIOD";
|
|
229
|
+
readonly type: "function";
|
|
230
|
+
readonly stateMutability: "view";
|
|
231
|
+
readonly inputs: readonly [];
|
|
232
|
+
readonly outputs: readonly [{
|
|
233
|
+
readonly type: "uint256";
|
|
234
|
+
}];
|
|
235
|
+
}, {
|
|
236
|
+
readonly name: "PROPOSER_ROLE";
|
|
237
|
+
readonly type: "function";
|
|
238
|
+
readonly stateMutability: "view";
|
|
239
|
+
readonly inputs: readonly [];
|
|
240
|
+
readonly outputs: readonly [{
|
|
241
|
+
readonly type: "bytes32";
|
|
242
|
+
}];
|
|
243
|
+
}, {
|
|
244
|
+
readonly name: "CANCELLER_ROLE";
|
|
245
|
+
readonly type: "function";
|
|
246
|
+
readonly stateMutability: "view";
|
|
247
|
+
readonly inputs: readonly [];
|
|
248
|
+
readonly outputs: readonly [{
|
|
249
|
+
readonly type: "bytes32";
|
|
250
|
+
}];
|
|
251
|
+
}, {
|
|
252
|
+
readonly name: "EXECUTOR_ROLE";
|
|
253
|
+
readonly type: "function";
|
|
254
|
+
readonly stateMutability: "view";
|
|
255
|
+
readonly inputs: readonly [];
|
|
256
|
+
readonly outputs: readonly [{
|
|
257
|
+
readonly type: "bytes32";
|
|
258
|
+
}];
|
|
259
|
+
}, {
|
|
260
|
+
readonly name: "DEFAULT_ADMIN_ROLE";
|
|
261
|
+
readonly type: "function";
|
|
262
|
+
readonly stateMutability: "view";
|
|
263
|
+
readonly inputs: readonly [];
|
|
264
|
+
readonly outputs: readonly [{
|
|
265
|
+
readonly type: "bytes32";
|
|
266
|
+
}];
|
|
267
|
+
}, {
|
|
268
|
+
readonly name: "hasRole";
|
|
269
|
+
readonly type: "function";
|
|
270
|
+
readonly stateMutability: "view";
|
|
271
|
+
readonly inputs: readonly [{
|
|
272
|
+
readonly type: "bytes32";
|
|
273
|
+
readonly name: "role";
|
|
274
|
+
}, {
|
|
275
|
+
readonly type: "address";
|
|
276
|
+
readonly name: "account";
|
|
277
|
+
}];
|
|
278
|
+
readonly outputs: readonly [{
|
|
279
|
+
readonly type: "bool";
|
|
280
|
+
}];
|
|
281
|
+
}, {
|
|
282
|
+
readonly name: "getRoleMemberCount";
|
|
283
|
+
readonly type: "function";
|
|
284
|
+
readonly stateMutability: "view";
|
|
285
|
+
readonly inputs: readonly [{
|
|
286
|
+
readonly type: "bytes32";
|
|
287
|
+
readonly name: "role";
|
|
288
|
+
}];
|
|
289
|
+
readonly outputs: readonly [{
|
|
290
|
+
readonly type: "uint256";
|
|
291
|
+
}];
|
|
292
|
+
}, {
|
|
293
|
+
readonly name: "isOperation";
|
|
294
|
+
readonly type: "function";
|
|
295
|
+
readonly stateMutability: "view";
|
|
296
|
+
readonly inputs: readonly [{
|
|
297
|
+
readonly type: "bytes32";
|
|
298
|
+
readonly name: "id";
|
|
299
|
+
}];
|
|
300
|
+
readonly outputs: readonly [{
|
|
301
|
+
readonly type: "bool";
|
|
302
|
+
}];
|
|
303
|
+
}, {
|
|
304
|
+
readonly name: "isOperationPending";
|
|
305
|
+
readonly type: "function";
|
|
306
|
+
readonly stateMutability: "view";
|
|
307
|
+
readonly inputs: readonly [{
|
|
308
|
+
readonly type: "bytes32";
|
|
309
|
+
readonly name: "id";
|
|
310
|
+
}];
|
|
311
|
+
readonly outputs: readonly [{
|
|
312
|
+
readonly type: "bool";
|
|
313
|
+
}];
|
|
314
|
+
}, {
|
|
315
|
+
readonly name: "isOperationReady";
|
|
316
|
+
readonly type: "function";
|
|
317
|
+
readonly stateMutability: "view";
|
|
318
|
+
readonly inputs: readonly [{
|
|
319
|
+
readonly type: "bytes32";
|
|
320
|
+
readonly name: "id";
|
|
321
|
+
}];
|
|
322
|
+
readonly outputs: readonly [{
|
|
323
|
+
readonly type: "bool";
|
|
324
|
+
}];
|
|
325
|
+
}, {
|
|
326
|
+
readonly name: "isOperationDone";
|
|
327
|
+
readonly type: "function";
|
|
328
|
+
readonly stateMutability: "view";
|
|
329
|
+
readonly inputs: readonly [{
|
|
330
|
+
readonly type: "bytes32";
|
|
331
|
+
readonly name: "id";
|
|
332
|
+
}];
|
|
333
|
+
readonly outputs: readonly [{
|
|
334
|
+
readonly type: "bool";
|
|
335
|
+
}];
|
|
336
|
+
}, {
|
|
337
|
+
readonly name: "getTimestamp";
|
|
338
|
+
readonly type: "function";
|
|
339
|
+
readonly stateMutability: "view";
|
|
340
|
+
readonly inputs: readonly [{
|
|
341
|
+
readonly type: "bytes32";
|
|
342
|
+
readonly name: "id";
|
|
343
|
+
}];
|
|
344
|
+
readonly outputs: readonly [{
|
|
345
|
+
readonly type: "uint256";
|
|
346
|
+
}];
|
|
347
|
+
}, {
|
|
348
|
+
readonly name: "CallScheduled";
|
|
349
|
+
readonly type: "event";
|
|
350
|
+
readonly inputs: readonly [{
|
|
351
|
+
readonly type: "bytes32";
|
|
352
|
+
readonly name: "id";
|
|
353
|
+
readonly indexed: true;
|
|
354
|
+
}, {
|
|
355
|
+
readonly type: "uint256";
|
|
356
|
+
readonly name: "index";
|
|
357
|
+
readonly indexed: true;
|
|
358
|
+
}, {
|
|
359
|
+
readonly type: "address";
|
|
360
|
+
readonly name: "target";
|
|
361
|
+
}, {
|
|
362
|
+
readonly type: "uint256";
|
|
363
|
+
readonly name: "value";
|
|
364
|
+
}, {
|
|
365
|
+
readonly type: "bytes";
|
|
366
|
+
readonly name: "data";
|
|
367
|
+
}, {
|
|
368
|
+
readonly type: "bytes32";
|
|
369
|
+
readonly name: "predecessor";
|
|
370
|
+
}, {
|
|
371
|
+
readonly type: "uint256";
|
|
372
|
+
readonly name: "delay";
|
|
373
|
+
}];
|
|
374
|
+
}, {
|
|
375
|
+
readonly name: "Cancelled";
|
|
376
|
+
readonly type: "event";
|
|
377
|
+
readonly inputs: readonly [{
|
|
378
|
+
readonly type: "bytes32";
|
|
379
|
+
readonly name: "id";
|
|
380
|
+
readonly indexed: true;
|
|
381
|
+
}];
|
|
382
|
+
}, {
|
|
383
|
+
readonly name: "CallExecuted";
|
|
384
|
+
readonly type: "event";
|
|
385
|
+
readonly inputs: readonly [{
|
|
386
|
+
readonly type: "bytes32";
|
|
387
|
+
readonly name: "id";
|
|
388
|
+
readonly indexed: true;
|
|
389
|
+
}, {
|
|
390
|
+
readonly type: "uint256";
|
|
391
|
+
readonly name: "index";
|
|
392
|
+
readonly indexed: true;
|
|
393
|
+
}, {
|
|
394
|
+
readonly type: "address";
|
|
395
|
+
readonly name: "target";
|
|
396
|
+
}, {
|
|
397
|
+
readonly type: "uint256";
|
|
398
|
+
readonly name: "value";
|
|
399
|
+
}, {
|
|
400
|
+
readonly type: "bytes";
|
|
401
|
+
readonly name: "data";
|
|
402
|
+
}];
|
|
403
|
+
}];
|
|
175
404
|
/**
|
|
176
405
|
* Chainlink AggregatorV3Interface β only the read we need.
|
|
177
406
|
* Note: `answer` is int256 (can be negative β we guard against that).
|
package/dist/abi.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"abi.d.ts","sourceRoot":"","sources":["../src/abi.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH;;;;;;;;GAQG;AACH,eAAO,MAAM,SAAS
|
|
1
|
+
{"version":3,"file":"abi.d.ts","sourceRoot":"","sources":["../src/abi.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH;;;;;;;;GAQG;AACH,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA0BpB,CAAC;AAEH;;;GAGG;AACH,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAiBvB,CAAC;AAEH;;;GAGG;AACH,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAGnC,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAKpB,CAAC"}
|
package/dist/abi.js
CHANGED
|
@@ -26,12 +26,38 @@ export const GBLIN_ABI = parseAbi([
|
|
|
26
26
|
"function decimals() view returns (uint8)",
|
|
27
27
|
// State helpers
|
|
28
28
|
"function lastDepositTime(address user) view returns (uint256)",
|
|
29
|
+
// Governance / ownership (public state vars)
|
|
30
|
+
"function owner() view returns (address)",
|
|
31
|
+
"function founderWallet() view returns (address)",
|
|
32
|
+
"function proposedAsset() view returns (address token, address oracle, uint24 poolFee, bool isStable, uint256 baseWeight, uint256 executeAfter)",
|
|
29
33
|
// Mutating β only used to build calldata (never executed by the MCP server)
|
|
30
34
|
"function buyGBLIN(uint256 minGblinOut) payable",
|
|
31
35
|
"function sellGBLINForEth(uint256 gblinAmount, uint256 minEthOut)",
|
|
32
36
|
"function sellGBLINForToken(uint256 gblinAmount, address targetToken, uint24 wethToTargetFee, uint256 minTokenOut)",
|
|
33
37
|
"function buyGBLINWithToken(bytes path, uint256 amountIn, uint256 minWethOut, uint256 minGblinOut)",
|
|
34
38
|
]);
|
|
39
|
+
/**
|
|
40
|
+
* GblinTimelockController β OpenZeppelin TimelockController v5 surface.
|
|
41
|
+
* Only the views we need to read governance state.
|
|
42
|
+
*/
|
|
43
|
+
export const TIMELOCK_ABI = parseAbi([
|
|
44
|
+
"function getMinDelay() view returns (uint256)",
|
|
45
|
+
"function GRACE_PERIOD() view returns (uint256)",
|
|
46
|
+
"function PROPOSER_ROLE() view returns (bytes32)",
|
|
47
|
+
"function CANCELLER_ROLE() view returns (bytes32)",
|
|
48
|
+
"function EXECUTOR_ROLE() view returns (bytes32)",
|
|
49
|
+
"function DEFAULT_ADMIN_ROLE() view returns (bytes32)",
|
|
50
|
+
"function hasRole(bytes32 role, address account) view returns (bool)",
|
|
51
|
+
"function getRoleMemberCount(bytes32 role) view returns (uint256)",
|
|
52
|
+
"function isOperation(bytes32 id) view returns (bool)",
|
|
53
|
+
"function isOperationPending(bytes32 id) view returns (bool)",
|
|
54
|
+
"function isOperationReady(bytes32 id) view returns (bool)",
|
|
55
|
+
"function isOperationDone(bytes32 id) view returns (bool)",
|
|
56
|
+
"function getTimestamp(bytes32 id) view returns (uint256)",
|
|
57
|
+
"event CallScheduled(bytes32 indexed id, uint256 indexed index, address target, uint256 value, bytes data, bytes32 predecessor, uint256 delay)",
|
|
58
|
+
"event Cancelled(bytes32 indexed id)",
|
|
59
|
+
"event CallExecuted(bytes32 indexed id, uint256 indexed index, address target, uint256 value, bytes data)",
|
|
60
|
+
]);
|
|
35
61
|
/**
|
|
36
62
|
* Chainlink AggregatorV3Interface β only the read we need.
|
|
37
63
|
* Note: `answer` is int256 (can be negative β we guard against that).
|
package/dist/abi.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"abi.js","sourceRoot":"","sources":["../src/abi.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAC;AAEhC;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,QAAQ,CAAC;IAChC,0BAA0B;IAC1B,gHAAgH;IAChH,4EAA4E;IAE5E,kDAAkD;IAClD,kMAAkM;IAElM,iBAAiB;IACjB,4DAA4D;IAC5D,+CAA+C;IAC/C,0CAA0C;IAE1C,gBAAgB;IAChB,+DAA+D;IAE/D,4EAA4E;IAC5E,gDAAgD;IAChD,kEAAkE;IAClE,mHAAmH;IACnH,mGAAmG;CACpG,CAAC,CAAC;AAEH;;;GAGG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,QAAQ,CAAC;IAC/C,uIAAuI;IACvI,0CAA0C;CAC3C,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,QAAQ,CAAC;IAChC,4DAA4D;IAC5D,0CAA0C;IAC1C,kEAAkE;IAClE,2EAA2E;CAC5E,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"abi.js","sourceRoot":"","sources":["../src/abi.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAC;AAEhC;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,QAAQ,CAAC;IAChC,0BAA0B;IAC1B,gHAAgH;IAChH,4EAA4E;IAE5E,kDAAkD;IAClD,kMAAkM;IAElM,iBAAiB;IACjB,4DAA4D;IAC5D,+CAA+C;IAC/C,0CAA0C;IAE1C,gBAAgB;IAChB,+DAA+D;IAE/D,6CAA6C;IAC7C,yCAAyC;IACzC,iDAAiD;IACjD,gJAAgJ;IAEhJ,4EAA4E;IAC5E,gDAAgD;IAChD,kEAAkE;IAClE,mHAAmH;IACnH,mGAAmG;CACpG,CAAC,CAAC;AAEH;;;GAGG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,QAAQ,CAAC;IACnC,+CAA+C;IAC/C,gDAAgD;IAChD,iDAAiD;IACjD,kDAAkD;IAClD,iDAAiD;IACjD,sDAAsD;IACtD,qEAAqE;IACrE,kEAAkE;IAClE,sDAAsD;IACtD,6DAA6D;IAC7D,2DAA2D;IAC3D,0DAA0D;IAC1D,0DAA0D;IAC1D,+IAA+I;IAC/I,qCAAqC;IACrC,0GAA0G;CAC3G,CAAC,CAAC;AAEH;;;GAGG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,QAAQ,CAAC;IAC/C,uIAAuI;IACvI,0CAA0C;CAC3C,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,QAAQ,CAAC;IAChC,4DAA4D;IAC5D,0CAA0C;IAC1C,kEAAkE;IAClE,2EAA2E;CAC5E,CAAC,CAAC"}
|
package/dist/config.d.ts
CHANGED
|
@@ -11,6 +11,8 @@ export declare const RPC_URL: string;
|
|
|
11
11
|
export declare const GBLIN_V5: Address;
|
|
12
12
|
export declare const USDC: Address;
|
|
13
13
|
export declare const WETH: Address;
|
|
14
|
+
export declare const GBLIN_TIMELOCK: Address;
|
|
15
|
+
export declare const EXPECTED_MIN_DELAY_SECONDS = 172800n;
|
|
14
16
|
export declare const ETH_USD_FEED: Address;
|
|
15
17
|
export declare const WETH_USDC_POOL_FEE = 500;
|
|
16
18
|
export declare const MIN_DEPOSIT_WEI = 500000000000000n;
|
package/dist/config.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAGpC,eAAO,MAAM,aAAa,OAAO,CAAC;AAGlC,eAAO,MAAM,eAAe,oCAAoC,CAAC;AACjE,eAAO,MAAM,OAAO,QAA+C,CAAC;AAGpE,eAAO,MAAM,QAAQ,EAAE,OAAsD,CAAC;AAC9E,eAAO,MAAM,IAAI,EAAE,OAAsD,CAAC;AAC1E,eAAO,MAAM,IAAI,EAAE,OAAsD,CAAC;
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAGpC,eAAO,MAAM,aAAa,OAAO,CAAC;AAGlC,eAAO,MAAM,eAAe,oCAAoC,CAAC;AACjE,eAAO,MAAM,OAAO,QAA+C,CAAC;AAGpE,eAAO,MAAM,QAAQ,EAAE,OAAsD,CAAC;AAC9E,eAAO,MAAM,IAAI,EAAE,OAAsD,CAAC;AAC1E,eAAO,MAAM,IAAI,EAAE,OAAsD,CAAC;AAI1E,eAAO,MAAM,cAAc,EAAE,OAAsD,CAAC;AACpF,eAAO,MAAM,0BAA0B,UAAW,CAAC;AAGnD,eAAO,MAAM,YAAY,EAAE,OAAsD,CAAC;AAGlF,eAAO,MAAM,kBAAkB,MAAM,CAAC;AAGtC,eAAO,MAAM,eAAe,mBAAuB,CAAC;AACpD,eAAO,MAAM,gBAAgB,MAAM,CAAC;AACpC,eAAO,MAAM,wBAAwB,QAAS,CAAC;AAI/C,eAAO,MAAM,mBAAmB,OAAO,CAAC;AACxC,eAAO,MAAM,yBAAyB,OAAO,CAAC;AAC9C,eAAO,MAAM,eAAe,SAAU,CAAC;AAGvC,eAAO,MAAM,gBAAgB,QAAS,CAAC;AACvC,eAAO,MAAM,mBAAmB,QAAS,CAAC;AAG1C,eAAO,MAAM,WAAW,uBAAuB,CAAC;AAChD,eAAO,MAAM,cAAc,UAAU,CAAC"}
|
package/dist/config.js
CHANGED
|
@@ -14,6 +14,10 @@ export const RPC_URL = process.env.GBLIN_RPC_URL ?? DEFAULT_RPC_URL;
|
|
|
14
14
|
export const GBLIN_V5 = "0x38DcDB3A381677239BBc652aed9811F2f8496345";
|
|
15
15
|
export const USDC = "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913";
|
|
16
16
|
export const WETH = "0x4200000000000000000000000000000000000006";
|
|
17
|
+
// GblinTimelockController β owns GBLIN_V5 since block 46160610 (May 2026).
|
|
18
|
+
// 48h immutable delay, 14d grace period, open executor.
|
|
19
|
+
export const GBLIN_TIMELOCK = "0x6aBeC8716fFeEcf7C3D6e68255b4797113E8e5Dd";
|
|
20
|
+
export const EXPECTED_MIN_DELAY_SECONDS = 172800n; // 48 hours
|
|
17
21
|
// Chainlink ETH/USD price feed on Base
|
|
18
22
|
export const ETH_USD_FEED = "0x71041dddad3595F9CEd3DcCFBe3D1F4b0a16Bb70";
|
|
19
23
|
// Uniswap V3 pool fee tier used by `sellGBLINForToken` for WETHβUSDC leg
|
package/dist/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,+EAA+E;AAC/E,MAAM,CAAC,MAAM,aAAa,GAAG,IAAI,CAAC;AAClC,sEAAsE;AACtE,mFAAmF;AACnF,MAAM,CAAC,MAAM,eAAe,GAAG,iCAAiC,CAAC;AACjE,MAAM,CAAC,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,aAAa,IAAI,eAAe,CAAC;AAEpE,+EAA+E;AAC/E,MAAM,CAAC,MAAM,QAAQ,GAAY,4CAA4C,CAAC;AAC9E,MAAM,CAAC,MAAM,IAAI,GAAY,4CAA4C,CAAC;AAC1E,MAAM,CAAC,MAAM,IAAI,GAAY,4CAA4C,CAAC;AAE1E,uCAAuC;AACvC,MAAM,CAAC,MAAM,YAAY,GAAY,4CAA4C,CAAC;AAElF,yEAAyE;AACzE,MAAM,CAAC,MAAM,kBAAkB,GAAG,GAAG,CAAC,CAAC,QAAQ;AAE/C,+EAA+E;AAC/E,MAAM,CAAC,MAAM,eAAe,GAAG,gBAAoB,CAAC,CAAC,aAAa;AAClE,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAG,CAAC,CAAC,kCAAkC;AACvE,MAAM,CAAC,MAAM,wBAAwB,GAAG,MAAM,CAAC,CAAC,0BAA0B;AAE1E,+EAA+E;AAC/E,+EAA+E;AAC/E,MAAM,CAAC,MAAM,mBAAmB,GAAG,IAAI,CAAC,CAAC,qBAAqB;AAC9D,MAAM,CAAC,MAAM,yBAAyB,GAAG,IAAI,CAAC,CAAC,6BAA6B;AAC5E,MAAM,CAAC,MAAM,eAAe,GAAG,MAAO,CAAC;AAEvC,+EAA+E;AAC/E,MAAM,CAAC,MAAM,gBAAgB,GAAG,MAAM,CAAC,CAAC,aAAa;AACrD,MAAM,CAAC,MAAM,mBAAmB,GAAG,MAAM,CAAC,CAAC,aAAa;AAExD,+EAA+E;AAC/E,MAAM,CAAC,MAAM,WAAW,GAAG,oBAAoB,CAAC;AAChD,MAAM,CAAC,MAAM,cAAc,GAAG,OAAO,CAAC"}
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,+EAA+E;AAC/E,MAAM,CAAC,MAAM,aAAa,GAAG,IAAI,CAAC;AAClC,sEAAsE;AACtE,mFAAmF;AACnF,MAAM,CAAC,MAAM,eAAe,GAAG,iCAAiC,CAAC;AACjE,MAAM,CAAC,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,aAAa,IAAI,eAAe,CAAC;AAEpE,+EAA+E;AAC/E,MAAM,CAAC,MAAM,QAAQ,GAAY,4CAA4C,CAAC;AAC9E,MAAM,CAAC,MAAM,IAAI,GAAY,4CAA4C,CAAC;AAC1E,MAAM,CAAC,MAAM,IAAI,GAAY,4CAA4C,CAAC;AAE1E,2EAA2E;AAC3E,wDAAwD;AACxD,MAAM,CAAC,MAAM,cAAc,GAAY,4CAA4C,CAAC;AACpF,MAAM,CAAC,MAAM,0BAA0B,GAAG,OAAQ,CAAC,CAAC,WAAW;AAE/D,uCAAuC;AACvC,MAAM,CAAC,MAAM,YAAY,GAAY,4CAA4C,CAAC;AAElF,yEAAyE;AACzE,MAAM,CAAC,MAAM,kBAAkB,GAAG,GAAG,CAAC,CAAC,QAAQ;AAE/C,+EAA+E;AAC/E,MAAM,CAAC,MAAM,eAAe,GAAG,gBAAoB,CAAC,CAAC,aAAa;AAClE,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAG,CAAC,CAAC,kCAAkC;AACvE,MAAM,CAAC,MAAM,wBAAwB,GAAG,MAAM,CAAC,CAAC,0BAA0B;AAE1E,+EAA+E;AAC/E,+EAA+E;AAC/E,MAAM,CAAC,MAAM,mBAAmB,GAAG,IAAI,CAAC,CAAC,qBAAqB;AAC9D,MAAM,CAAC,MAAM,yBAAyB,GAAG,IAAI,CAAC,CAAC,6BAA6B;AAC5E,MAAM,CAAC,MAAM,eAAe,GAAG,MAAO,CAAC;AAEvC,+EAA+E;AAC/E,MAAM,CAAC,MAAM,gBAAgB,GAAG,MAAM,CAAC,CAAC,aAAa;AACrD,MAAM,CAAC,MAAM,mBAAmB,GAAG,MAAM,CAAC,CAAC,aAAa;AAExD,+EAA+E;AAC/E,MAAM,CAAC,MAAM,WAAW,GAAG,oBAAoB,CAAC;AAChD,MAAM,CAAC,MAAM,cAAc,GAAG,OAAO,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -36,7 +36,7 @@ server.setRequestHandler(CallToolRequestSchema, async (request) => {
|
|
|
36
36
|
async function main() {
|
|
37
37
|
const transport = new StdioServerTransport();
|
|
38
38
|
await server.connect(transport);
|
|
39
|
-
console.error(`[${SERVER_NAME}] v${SERVER_VERSION} online β listening on stdio (
|
|
39
|
+
console.error(`[${SERVER_NAME}] v${SERVER_VERSION} online β listening on stdio (${TOOL_DEFINITIONS.length} tools registered).`);
|
|
40
40
|
}
|
|
41
41
|
main().catch((err) => {
|
|
42
42
|
console.error("[gblin-mcp] fatal:", err);
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA;;;;;;;;GAQG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EACL,qBAAqB,EACrB,sBAAsB,GACvB,MAAM,oCAAoC,CAAC;AAE5C,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAE7D,MAAM,MAAM,GAAG,IAAI,MAAM,CACvB,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,cAAc,EAAE,EAC9C,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,CAChC,CAAC;AAEF,MAAM,CAAC,iBAAiB,CAAC,sBAAsB,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC;IAC5D,KAAK,EAAE,gBAAgB;CACxB,CAAC,CAAC,CAAC;AAEJ,MAAM,CAAC,iBAAiB,CAAC,qBAAqB,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;IAChE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;IACjD,MAAM,OAAO,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;IACpC,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO;YACL,OAAO,EAAE,IAAI;YACb,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAe;oBACrB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,iBAAiB,IAAI,EAAE,EAAE,CAAC;iBACzD;aACF;SACF,CAAC;IACJ,CAAC;IACD,OAAO,OAAO,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;AAC7B,CAAC,CAAC,CAAC;AAEH,KAAK,UAAU,IAAI;IACjB,MAAM,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAC;IAC7C,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAChC,OAAO,CAAC,KAAK,CACX,IAAI,WAAW,MAAM,cAAc,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA;;;;;;;;GAQG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EACL,qBAAqB,EACrB,sBAAsB,GACvB,MAAM,oCAAoC,CAAC;AAE5C,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAE7D,MAAM,MAAM,GAAG,IAAI,MAAM,CACvB,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,cAAc,EAAE,EAC9C,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,CAChC,CAAC;AAEF,MAAM,CAAC,iBAAiB,CAAC,sBAAsB,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC;IAC5D,KAAK,EAAE,gBAAgB;CACxB,CAAC,CAAC,CAAC;AAEJ,MAAM,CAAC,iBAAiB,CAAC,qBAAqB,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;IAChE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;IACjD,MAAM,OAAO,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;IACpC,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO;YACL,OAAO,EAAE,IAAI;YACb,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAe;oBACrB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,iBAAiB,IAAI,EAAE,EAAE,CAAC;iBACzD;aACF;SACF,CAAC;IACJ,CAAC;IACD,OAAO,OAAO,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;AAC7B,CAAC,CAAC,CAAC;AAEH,KAAK,UAAU,IAAI;IACjB,MAAM,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAC;IAC7C,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAChC,OAAO,CAAC,KAAK,CACX,IAAI,WAAW,MAAM,cAAc,iCAAiC,gBAAgB,CAAC,MAAM,qBAAqB,CACjH,CAAC;AACJ,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;IACnB,OAAO,CAAC,KAAK,CAAC,oBAAoB,EAAE,GAAG,CAAC,CAAC;IACzC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
|
package/dist/tools.d.ts
CHANGED
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* GBLIN MCP β Tool Implementations
|
|
3
3
|
*
|
|
4
|
-
*
|
|
4
|
+
* Six focused tools. Each returns structured JSON the LLM can parse:
|
|
5
5
|
*
|
|
6
6
|
* 1. get_treasury_state β NAV, basket, Crash Shield (snapshot)
|
|
7
7
|
* 2. quote_safe_swap β preview a buy/sell with safe minOut
|
|
8
8
|
* 3. swap_gblin_to_usdc_jit β calldata for Just-In-Time x402 payment
|
|
9
9
|
* 4. invest_usdc_to_gblin β calldata to convert USDC earnings β GBLIN
|
|
10
10
|
* 5. analyze_treasury_health β balances + gas check + runway estimate
|
|
11
|
+
* 6. get_governance_state β verify 48h timelock ownership + pending ops
|
|
11
12
|
*/
|
|
12
13
|
declare function toolResult(payload: unknown): {
|
|
13
14
|
content: {
|
|
@@ -133,6 +134,26 @@ export declare function handleAnalyzeTreasury(args: unknown): Promise<{
|
|
|
133
134
|
text: string;
|
|
134
135
|
}[];
|
|
135
136
|
}>;
|
|
137
|
+
export declare const GET_GOVERNANCE_STATE_DEFINITION: {
|
|
138
|
+
name: string;
|
|
139
|
+
description: string;
|
|
140
|
+
inputSchema: {
|
|
141
|
+
type: "object";
|
|
142
|
+
properties: {
|
|
143
|
+
operation_id: {
|
|
144
|
+
type: string;
|
|
145
|
+
description: string;
|
|
146
|
+
};
|
|
147
|
+
};
|
|
148
|
+
additionalProperties: boolean;
|
|
149
|
+
};
|
|
150
|
+
};
|
|
151
|
+
export declare function handleGetGovernanceState(args: unknown): Promise<{
|
|
152
|
+
content: {
|
|
153
|
+
type: "text";
|
|
154
|
+
text: string;
|
|
155
|
+
}[];
|
|
156
|
+
}>;
|
|
136
157
|
export declare const TOOL_DEFINITIONS: {
|
|
137
158
|
name: string;
|
|
138
159
|
description: string;
|
package/dist/tools.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AA+CH,iBAAS,UAAU,CAAC,OAAO,EAAE,OAAO;;;;;EASnC;AAED,iBAAS,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM;;;;;;EAUhD;AAWD,eAAO,MAAM,6BAA6B;;;;;;;;CASzC,CAAC;AAEF,wBAAsB,sBAAsB;;;;;GAgC3C;AAaD,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;CAgBtC,CAAC;AAEF,wBAAsB,mBAAmB,CAAC,IAAI,EAAE,OAAO;;;;;GAoEtD;AAeD,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;CAgB/B,CAAC;AAEF,wBAAsB,aAAa,CAAC,IAAI,EAAE,OAAO;;;;;GA6DhD;AAUD,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;CAe7B,CAAC;AAEF,wBAAsB,YAAY,CAAC,IAAI,EAAE,OAAO;;;;;GA6F/C;AAeD,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;CAgBvC,CAAC;AAEF,wBAAsB,qBAAqB,CAAC,IAAI,EAAE,OAAO;;;;;GAsGxD;AAgBD,eAAO,MAAM,+BAA+B;;;;;;;;;;;;;CAe3C,CAAC;AAEF,wBAAsB,wBAAwB,CAAC,IAAI,EAAE,OAAO;;;;;GAkO3D;AAMD,eAAO,MAAM,gBAAgB;;;;;;;;GAO5B,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,MAAM,CAChC,MAAM,EACN,CAAC,IAAI,EAAE,OAAO,KAAK,OAAO,CAAC,UAAU,CAAC,OAAO,UAAU,CAAC,GAAG,UAAU,CAAC,OAAO,SAAS,CAAC,CAAC,CAQzF,CAAC"}
|
package/dist/tools.js
CHANGED
|
@@ -1,19 +1,20 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* GBLIN MCP β Tool Implementations
|
|
3
3
|
*
|
|
4
|
-
*
|
|
4
|
+
* Six focused tools. Each returns structured JSON the LLM can parse:
|
|
5
5
|
*
|
|
6
6
|
* 1. get_treasury_state β NAV, basket, Crash Shield (snapshot)
|
|
7
7
|
* 2. quote_safe_swap β preview a buy/sell with safe minOut
|
|
8
8
|
* 3. swap_gblin_to_usdc_jit β calldata for Just-In-Time x402 payment
|
|
9
9
|
* 4. invest_usdc_to_gblin β calldata to convert USDC earnings β GBLIN
|
|
10
10
|
* 5. analyze_treasury_health β balances + gas check + runway estimate
|
|
11
|
+
* 6. get_governance_state β verify 48h timelock ownership + pending ops
|
|
11
12
|
*/
|
|
12
13
|
import { encodeFunctionData, encodePacked, formatUnits, getAddress, isAddress, parseUnits, } from "viem";
|
|
13
14
|
import { z } from "zod";
|
|
14
|
-
import { ERC20_ABI, GBLIN_ABI } from "./abi.js";
|
|
15
|
+
import { ERC20_ABI, GBLIN_ABI, TIMELOCK_ABI } from "./abi.js";
|
|
15
16
|
import { client } from "./client.js";
|
|
16
|
-
import { GBLIN_V5, MIN_DEPOSIT_WEI, USDC, WETH, WETH_USDC_POOL_FEE, } from "./config.js";
|
|
17
|
+
import { EXPECTED_MIN_DELAY_SECONDS, GBLIN_TIMELOCK, GBLIN_V5, MIN_DEPOSIT_WEI, USDC, WETH, WETH_USDC_POOL_FEE, } from "./config.js";
|
|
17
18
|
import { applySlippageBuffer, checkCooldown, getBasketState, getDynamicSlippage, getEthPriceUsd, getNavUsd, getWalletBalances, quoteGblinForUsdc, } from "./helpers.js";
|
|
18
19
|
// βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
|
|
19
20
|
// SHARED HELPERS
|
|
@@ -478,6 +479,236 @@ export async function handleAnalyzeTreasury(args) {
|
|
|
478
479
|
}
|
|
479
480
|
}
|
|
480
481
|
// βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
|
|
482
|
+
// TOOL 6 β get_governance_state
|
|
483
|
+
// βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
|
|
484
|
+
const GovernanceStateSchema = z.object({
|
|
485
|
+
operation_id: z
|
|
486
|
+
.string()
|
|
487
|
+
.regex(/^0x[0-9a-fA-F]{64}$/, "operation_id must be a 32-byte hex string")
|
|
488
|
+
.optional()
|
|
489
|
+
.describe("Optional. A specific TimelockController operation id (bytes32) to inspect β returns pending/ready/done/timestamp."),
|
|
490
|
+
});
|
|
491
|
+
export const GET_GOVERNANCE_STATE_DEFINITION = {
|
|
492
|
+
name: "get_governance_state",
|
|
493
|
+
description: "Verify GBLIN protocol governance state: confirms whether GBLIN_V5 is owned by the 48h Timelock, reads the timelock's min delay and grace period, reports role member counts, and surfaces any pending asset-addition proposal on the index contract. If an operation_id is provided, also reports the status of that specific timelock operation. Read-only β use this to gate trust-sensitive agent actions.",
|
|
494
|
+
inputSchema: {
|
|
495
|
+
type: "object",
|
|
496
|
+
properties: {
|
|
497
|
+
operation_id: {
|
|
498
|
+
type: "string",
|
|
499
|
+
description: "Optional 0x-prefixed 32-byte hex id of a specific timelock operation to inspect.",
|
|
500
|
+
},
|
|
501
|
+
},
|
|
502
|
+
additionalProperties: false,
|
|
503
|
+
},
|
|
504
|
+
};
|
|
505
|
+
export async function handleGetGovernanceState(args) {
|
|
506
|
+
let parsed;
|
|
507
|
+
try {
|
|
508
|
+
parsed = GovernanceStateSchema.parse(args ?? {});
|
|
509
|
+
}
|
|
510
|
+
catch (e) {
|
|
511
|
+
return toolError(`Invalid arguments: ${e.message}`);
|
|
512
|
+
}
|
|
513
|
+
try {
|
|
514
|
+
// 1. Read owner + pending asset from GBLIN_V5
|
|
515
|
+
const [owner, founder, proposedAsset] = await Promise.all([
|
|
516
|
+
client.readContract({
|
|
517
|
+
address: GBLIN_V5,
|
|
518
|
+
abi: GBLIN_ABI,
|
|
519
|
+
functionName: "owner",
|
|
520
|
+
}),
|
|
521
|
+
client.readContract({
|
|
522
|
+
address: GBLIN_V5,
|
|
523
|
+
abi: GBLIN_ABI,
|
|
524
|
+
functionName: "founderWallet",
|
|
525
|
+
}),
|
|
526
|
+
client.readContract({
|
|
527
|
+
address: GBLIN_V5,
|
|
528
|
+
abi: GBLIN_ABI,
|
|
529
|
+
functionName: "proposedAsset",
|
|
530
|
+
}),
|
|
531
|
+
]);
|
|
532
|
+
const ownerNorm = getAddress(owner);
|
|
533
|
+
const timelockNorm = getAddress(GBLIN_TIMELOCK);
|
|
534
|
+
const ownerIsTimelock = ownerNorm === timelockNorm;
|
|
535
|
+
const ownerIsRenounced = ownerNorm === "0x0000000000000000000000000000000000000000";
|
|
536
|
+
// 2. Read timelock state β only if owner actually is the timelock,
|
|
537
|
+
// otherwise still report expected vs actual for transparency.
|
|
538
|
+
let timelockState;
|
|
539
|
+
try {
|
|
540
|
+
const [minDelay, proposerRole, cancellerRole, executorRole, adminRole,] = await Promise.all([
|
|
541
|
+
client.readContract({
|
|
542
|
+
address: GBLIN_TIMELOCK,
|
|
543
|
+
abi: TIMELOCK_ABI,
|
|
544
|
+
functionName: "getMinDelay",
|
|
545
|
+
}),
|
|
546
|
+
client.readContract({
|
|
547
|
+
address: GBLIN_TIMELOCK,
|
|
548
|
+
abi: TIMELOCK_ABI,
|
|
549
|
+
functionName: "PROPOSER_ROLE",
|
|
550
|
+
}),
|
|
551
|
+
client.readContract({
|
|
552
|
+
address: GBLIN_TIMELOCK,
|
|
553
|
+
abi: TIMELOCK_ABI,
|
|
554
|
+
functionName: "CANCELLER_ROLE",
|
|
555
|
+
}),
|
|
556
|
+
client.readContract({
|
|
557
|
+
address: GBLIN_TIMELOCK,
|
|
558
|
+
abi: TIMELOCK_ABI,
|
|
559
|
+
functionName: "EXECUTOR_ROLE",
|
|
560
|
+
}),
|
|
561
|
+
client.readContract({
|
|
562
|
+
address: GBLIN_TIMELOCK,
|
|
563
|
+
abi: TIMELOCK_ABI,
|
|
564
|
+
functionName: "DEFAULT_ADMIN_ROLE",
|
|
565
|
+
}),
|
|
566
|
+
]);
|
|
567
|
+
const [proposerCount, cancellerCount, executorOpen,] = await Promise.all([
|
|
568
|
+
client.readContract({
|
|
569
|
+
address: GBLIN_TIMELOCK,
|
|
570
|
+
abi: TIMELOCK_ABI,
|
|
571
|
+
functionName: "getRoleMemberCount",
|
|
572
|
+
args: [proposerRole],
|
|
573
|
+
}),
|
|
574
|
+
client.readContract({
|
|
575
|
+
address: GBLIN_TIMELOCK,
|
|
576
|
+
abi: TIMELOCK_ABI,
|
|
577
|
+
functionName: "getRoleMemberCount",
|
|
578
|
+
args: [cancellerRole],
|
|
579
|
+
}),
|
|
580
|
+
// executor open to anyone if address(0) holds the role
|
|
581
|
+
client.readContract({
|
|
582
|
+
address: GBLIN_TIMELOCK,
|
|
583
|
+
abi: TIMELOCK_ABI,
|
|
584
|
+
functionName: "hasRole",
|
|
585
|
+
args: [executorRole, "0x0000000000000000000000000000000000000000"],
|
|
586
|
+
}),
|
|
587
|
+
]);
|
|
588
|
+
timelockState = {
|
|
589
|
+
address: timelockNorm,
|
|
590
|
+
min_delay_seconds: Number(minDelay),
|
|
591
|
+
min_delay_hours: Number(minDelay) / 3600,
|
|
592
|
+
min_delay_matches_expected: minDelay === EXPECTED_MIN_DELAY_SECONDS,
|
|
593
|
+
expected_min_delay_seconds: Number(EXPECTED_MIN_DELAY_SECONDS),
|
|
594
|
+
roles: {
|
|
595
|
+
proposer_count: Number(proposerCount),
|
|
596
|
+
canceller_count: Number(cancellerCount),
|
|
597
|
+
executor_open_to_anyone: executorOpen,
|
|
598
|
+
self_administered_note: "DEFAULT_ADMIN_ROLE is held by the timelock itself; role changes also take 48h.",
|
|
599
|
+
},
|
|
600
|
+
role_ids: {
|
|
601
|
+
PROPOSER_ROLE: proposerRole,
|
|
602
|
+
CANCELLER_ROLE: cancellerRole,
|
|
603
|
+
EXECUTOR_ROLE: executorRole,
|
|
604
|
+
DEFAULT_ADMIN_ROLE: adminRole,
|
|
605
|
+
},
|
|
606
|
+
};
|
|
607
|
+
}
|
|
608
|
+
catch (err) {
|
|
609
|
+
timelockState = {
|
|
610
|
+
address: timelockNorm,
|
|
611
|
+
error: `Could not read timelock state: ${err.message}`,
|
|
612
|
+
};
|
|
613
|
+
}
|
|
614
|
+
// 3. Optional: inspect a specific pending timelock operation
|
|
615
|
+
let operationStatus = null;
|
|
616
|
+
if (parsed.operation_id) {
|
|
617
|
+
try {
|
|
618
|
+
const [isOp, isPending, isReady, isDone, ts] = await Promise.all([
|
|
619
|
+
client.readContract({
|
|
620
|
+
address: GBLIN_TIMELOCK,
|
|
621
|
+
abi: TIMELOCK_ABI,
|
|
622
|
+
functionName: "isOperation",
|
|
623
|
+
args: [parsed.operation_id],
|
|
624
|
+
}),
|
|
625
|
+
client.readContract({
|
|
626
|
+
address: GBLIN_TIMELOCK,
|
|
627
|
+
abi: TIMELOCK_ABI,
|
|
628
|
+
functionName: "isOperationPending",
|
|
629
|
+
args: [parsed.operation_id],
|
|
630
|
+
}),
|
|
631
|
+
client.readContract({
|
|
632
|
+
address: GBLIN_TIMELOCK,
|
|
633
|
+
abi: TIMELOCK_ABI,
|
|
634
|
+
functionName: "isOperationReady",
|
|
635
|
+
args: [parsed.operation_id],
|
|
636
|
+
}),
|
|
637
|
+
client.readContract({
|
|
638
|
+
address: GBLIN_TIMELOCK,
|
|
639
|
+
abi: TIMELOCK_ABI,
|
|
640
|
+
functionName: "isOperationDone",
|
|
641
|
+
args: [parsed.operation_id],
|
|
642
|
+
}),
|
|
643
|
+
client.readContract({
|
|
644
|
+
address: GBLIN_TIMELOCK,
|
|
645
|
+
abi: TIMELOCK_ABI,
|
|
646
|
+
functionName: "getTimestamp",
|
|
647
|
+
args: [parsed.operation_id],
|
|
648
|
+
}),
|
|
649
|
+
]);
|
|
650
|
+
const tsNum = Number(ts);
|
|
651
|
+
const nowSec = Math.floor(Date.now() / 1000);
|
|
652
|
+
operationStatus = {
|
|
653
|
+
id: parsed.operation_id,
|
|
654
|
+
exists: isOp,
|
|
655
|
+
pending: isPending,
|
|
656
|
+
ready: isReady,
|
|
657
|
+
done: isDone,
|
|
658
|
+
execute_after_unix: tsNum,
|
|
659
|
+
execute_after_iso: tsNum > 1 ? new Date(tsNum * 1000).toISOString() : null,
|
|
660
|
+
seconds_until_ready: tsNum > nowSec ? tsNum - nowSec : 0,
|
|
661
|
+
};
|
|
662
|
+
}
|
|
663
|
+
catch (err) {
|
|
664
|
+
operationStatus = {
|
|
665
|
+
id: parsed.operation_id,
|
|
666
|
+
error: err.message,
|
|
667
|
+
};
|
|
668
|
+
}
|
|
669
|
+
}
|
|
670
|
+
// 4. Pending asset proposal inside GBLIN_V5 itself (separate 48h mini-timelock)
|
|
671
|
+
const [pToken, pOracle, pPoolFee, pIsStable, pBaseWeight, pExecuteAfter] = proposedAsset;
|
|
672
|
+
const hasPendingAsset = pExecuteAfter > 0n;
|
|
673
|
+
const nowSec = Math.floor(Date.now() / 1000);
|
|
674
|
+
const pendingAssetProposal = hasPendingAsset
|
|
675
|
+
? {
|
|
676
|
+
token: getAddress(pToken),
|
|
677
|
+
oracle: getAddress(pOracle),
|
|
678
|
+
pool_fee_bps: pPoolFee,
|
|
679
|
+
is_stable: pIsStable,
|
|
680
|
+
base_weight_bps: Number(pBaseWeight),
|
|
681
|
+
execute_after_unix: Number(pExecuteAfter),
|
|
682
|
+
execute_after_iso: new Date(Number(pExecuteAfter) * 1000).toISOString(),
|
|
683
|
+
seconds_until_executable: Number(pExecuteAfter) > nowSec ? Number(pExecuteAfter) - nowSec : 0,
|
|
684
|
+
}
|
|
685
|
+
: null;
|
|
686
|
+
return toolResult({
|
|
687
|
+
gblin_v5: GBLIN_V5,
|
|
688
|
+
owner: ownerNorm,
|
|
689
|
+
owner_is_timelock: ownerIsTimelock,
|
|
690
|
+
owner_is_renounced: ownerIsRenounced,
|
|
691
|
+
founder_wallet: getAddress(founder),
|
|
692
|
+
trust_summary: ownerIsRenounced
|
|
693
|
+
? "Ownership fully renounced β no admin can touch the contract."
|
|
694
|
+
: ownerIsTimelock
|
|
695
|
+
? "Ownership held by the 48h Timelock. All admin actions are delay-enforced on-chain."
|
|
696
|
+
: "WARNING: owner is an EOA / unknown contract β admin actions are NOT timelocked.",
|
|
697
|
+
timelock: timelockState,
|
|
698
|
+
pending_asset_proposal: pendingAssetProposal,
|
|
699
|
+
pending_timelock_operation: operationStatus,
|
|
700
|
+
verification: {
|
|
701
|
+
gblin_v5_basescan: `https://basescan.org/address/${GBLIN_V5}#readContract`,
|
|
702
|
+
timelock_basescan: `https://basescan.org/address/${GBLIN_TIMELOCK}#readContract`,
|
|
703
|
+
ownership_transfer_tx: "https://basescan.org/tx/0xb653f54ffa9b1764b41932e6a411077e7e34550605303f15d90900de682edaaf",
|
|
704
|
+
},
|
|
705
|
+
});
|
|
706
|
+
}
|
|
707
|
+
catch (err) {
|
|
708
|
+
return toolError(err.message, "Check RPC connectivity and that the contract addresses match Base mainnet.");
|
|
709
|
+
}
|
|
710
|
+
}
|
|
711
|
+
// βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
|
|
481
712
|
// REGISTRY
|
|
482
713
|
// βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
|
|
483
714
|
export const TOOL_DEFINITIONS = [
|
|
@@ -486,6 +717,7 @@ export const TOOL_DEFINITIONS = [
|
|
|
486
717
|
JIT_SWAP_DEFINITION,
|
|
487
718
|
INVEST_DEFINITION,
|
|
488
719
|
ANALYZE_TREASURY_DEFINITION,
|
|
720
|
+
GET_GOVERNANCE_STATE_DEFINITION,
|
|
489
721
|
];
|
|
490
722
|
export const TOOL_HANDLERS = {
|
|
491
723
|
get_treasury_state: handleGetTreasuryState,
|
|
@@ -493,5 +725,6 @@ export const TOOL_HANDLERS = {
|
|
|
493
725
|
swap_gblin_to_usdc_jit: handleJitSwap,
|
|
494
726
|
invest_usdc_to_gblin: handleInvest,
|
|
495
727
|
analyze_treasury_health: handleAnalyzeTreasury,
|
|
728
|
+
get_governance_state: handleGetGovernanceState,
|
|
496
729
|
};
|
|
497
730
|
//# sourceMappingURL=tools.js.map
|
package/dist/tools.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@gblin-protocol/mcp-server",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.1",
|
|
4
|
+
"mcpName": "io.github.gblinproject/gblin-mcp-server",
|
|
4
5
|
"description": "Model Context Protocol server for GBLIN \u2014 Treasury Standard for AI Agents on Base mainnet. Provides on-chain quotes, JIT swaps, and treasury analytics for x402-paying agents.",
|
|
5
6
|
"type": "module",
|
|
6
7
|
"main": "dist/index.js",
|