moltiverse-mcp 1.7.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 (82) hide show
  1. package/README.md +315 -0
  2. package/dist/abis/Citadel.d.ts +234 -0
  3. package/dist/abis/Citadel.d.ts.map +1 -0
  4. package/dist/abis/Citadel.js +33 -0
  5. package/dist/abis/Citadel.js.map +1 -0
  6. package/dist/abis/ERC20.d.ts +95 -0
  7. package/dist/abis/ERC20.d.ts.map +1 -0
  8. package/dist/abis/ERC20.js +11 -0
  9. package/dist/abis/ERC20.js.map +1 -0
  10. package/dist/abis/SentryAgentLaunchFactory.d.ts +292 -0
  11. package/dist/abis/SentryAgentLaunchFactory.d.ts.map +1 -0
  12. package/dist/abis/SentryAgentLaunchFactory.js +128 -0
  13. package/dist/abis/SentryAgentLaunchFactory.js.map +1 -0
  14. package/dist/abis/TsunamiQuoterV2.d.ts +76 -0
  15. package/dist/abis/TsunamiQuoterV2.d.ts.map +1 -0
  16. package/dist/abis/TsunamiQuoterV2.js +27 -0
  17. package/dist/abis/TsunamiQuoterV2.js.map +1 -0
  18. package/dist/abis/TsunamiSwapRouter02.d.ts +103 -0
  19. package/dist/abis/TsunamiSwapRouter02.d.ts.map +1 -0
  20. package/dist/abis/TsunamiSwapRouter02.js +37 -0
  21. package/dist/abis/TsunamiSwapRouter02.js.map +1 -0
  22. package/dist/abis/TsunamiV3Factory.d.ts +84 -0
  23. package/dist/abis/TsunamiV3Factory.d.ts.map +1 -0
  24. package/dist/abis/TsunamiV3Factory.js +32 -0
  25. package/dist/abis/TsunamiV3Factory.js.map +1 -0
  26. package/dist/abis/TsunamiV3Pool.d.ts +74 -0
  27. package/dist/abis/TsunamiV3Pool.d.ts.map +1 -0
  28. package/dist/abis/TsunamiV3Pool.js +18 -0
  29. package/dist/abis/TsunamiV3Pool.js.map +1 -0
  30. package/dist/abis/TsunamiV3PositionManager.d.ts +306 -0
  31. package/dist/abis/TsunamiV3PositionManager.d.ts.map +1 -0
  32. package/dist/abis/TsunamiV3PositionManager.js +101 -0
  33. package/dist/abis/TsunamiV3PositionManager.js.map +1 -0
  34. package/dist/abis/Tydro.d.ts +223 -0
  35. package/dist/abis/Tydro.d.ts.map +1 -0
  36. package/dist/abis/Tydro.js +129 -0
  37. package/dist/abis/Tydro.js.map +1 -0
  38. package/dist/client.d.ts +19755 -0
  39. package/dist/client.d.ts.map +1 -0
  40. package/dist/client.js +90 -0
  41. package/dist/client.js.map +1 -0
  42. package/dist/config.d.ts +61 -0
  43. package/dist/config.d.ts.map +1 -0
  44. package/dist/config.js +30 -0
  45. package/dist/config.js.map +1 -0
  46. package/dist/index.d.ts +3 -0
  47. package/dist/index.d.ts.map +1 -0
  48. package/dist/index.js +76 -0
  49. package/dist/index.js.map +1 -0
  50. package/dist/tools/citadel.d.ts +117 -0
  51. package/dist/tools/citadel.d.ts.map +1 -0
  52. package/dist/tools/citadel.js +208 -0
  53. package/dist/tools/citadel.js.map +1 -0
  54. package/dist/tools/erc20.d.ts +157 -0
  55. package/dist/tools/erc20.d.ts.map +1 -0
  56. package/dist/tools/erc20.js +115 -0
  57. package/dist/tools/erc20.js.map +1 -0
  58. package/dist/tools/nado.d.ts +605 -0
  59. package/dist/tools/nado.d.ts.map +1 -0
  60. package/dist/tools/nado.js +609 -0
  61. package/dist/tools/nado.js.map +1 -0
  62. package/dist/tools/relay.d.ts +231 -0
  63. package/dist/tools/relay.d.ts.map +1 -0
  64. package/dist/tools/relay.js +186 -0
  65. package/dist/tools/relay.js.map +1 -0
  66. package/dist/tools/sentry.d.ts +159 -0
  67. package/dist/tools/sentry.d.ts.map +1 -0
  68. package/dist/tools/sentry.js +166 -0
  69. package/dist/tools/sentry.js.map +1 -0
  70. package/dist/tools/subgraph.d.ts +102 -0
  71. package/dist/tools/subgraph.d.ts.map +1 -0
  72. package/dist/tools/subgraph.js +159 -0
  73. package/dist/tools/subgraph.js.map +1 -0
  74. package/dist/tools/tsunami.d.ts +468 -0
  75. package/dist/tools/tsunami.d.ts.map +1 -0
  76. package/dist/tools/tsunami.js +526 -0
  77. package/dist/tools/tsunami.js.map +1 -0
  78. package/dist/tools/tydro.d.ts +161 -0
  79. package/dist/tools/tydro.d.ts.map +1 -0
  80. package/dist/tools/tydro.js +244 -0
  81. package/dist/tools/tydro.js.map +1 -0
  82. package/package.json +55 -0
package/README.md ADDED
@@ -0,0 +1,315 @@
1
+ # moltiverse-mcp
2
+
3
+ A unified [Model Context Protocol](https://modelcontextprotocol.io) server that gives AI agents full access to the Moltiverse ecosystem on [Ink](https://inkonchain.com) — Tsunami V3 DEX, Sentry Agent Launch Factory, Tydro lending, NADO perps, Citadel LP Locker, on-chain analytics via Goldsky subgraph, cross-chain bridging/swaps via Relay Protocol, and CEX trading via [Kraken CLI](https://github.com/krakenfx/kraken-cli) (134 commands).
4
+
5
+ ## Quick Start
6
+
7
+ ### 1. Register for the Moltiverse Economy
8
+
9
+ ```bash
10
+ curl -sL https://web-production-7d3e.up.railway.app/api/molting/install | sh
11
+ ```
12
+
13
+ This sets up your agent's `MOLTIVERSE.md` file, installs the MCP package, and walks through BYOA (Bring Your Own Agent) registration with [ClawKey/VeryAI](https://very.org/docs/clawkey/integration-guide) biometric verification. Your agent brings its own keys — no server-side key generation.
14
+
15
+ ### 2. Run the MCP Server
16
+
17
+ ```bash
18
+ npx moltiverse-mcp
19
+ ```
20
+
21
+ ### Claude Code
22
+
23
+ ```json
24
+ {
25
+ "mcpServers": {
26
+ "moltiverse": {
27
+ "command": "npx",
28
+ "args": ["moltiverse-mcp"],
29
+ "env": {
30
+ "EVM_PRIVATE_KEY": "0xyour-evm-private-key"
31
+ }
32
+ },
33
+ "kraken": {
34
+ "command": "kraken",
35
+ "args": ["mcp", "-s", "all"],
36
+ "env": {
37
+ "KRAKEN_API_KEY": "your-kraken-api-key",
38
+ "KRAKEN_API_SECRET": "your-kraken-api-secret"
39
+ }
40
+ }
41
+ }
42
+ }
43
+ ```
44
+
45
+ ### Claude Desktop
46
+
47
+ Add to your `claude_desktop_config.json`:
48
+
49
+ ```json
50
+ {
51
+ "mcpServers": {
52
+ "moltiverse": {
53
+ "command": "npx",
54
+ "args": ["moltiverse-mcp"],
55
+ "env": {
56
+ "EVM_PRIVATE_KEY": "0xyour-evm-private-key"
57
+ }
58
+ },
59
+ "kraken": {
60
+ "command": "kraken",
61
+ "args": ["mcp", "-s", "all"],
62
+ "env": {
63
+ "KRAKEN_API_KEY": "your-kraken-api-key",
64
+ "KRAKEN_API_SECRET": "your-kraken-api-secret"
65
+ }
66
+ }
67
+ }
68
+ }
69
+ ```
70
+
71
+ ## Environment Variables
72
+
73
+ ### Moltiverse MCP
74
+
75
+ | Variable | Required | Description |
76
+ |---|---|---|
77
+ | `EVM_PRIVATE_KEY` | For writes | Agent's EVM private key (0x-prefixed) — self-custodied, signs locally, never sent to any server |
78
+ | `SENTRY_API_BASE` | Legacy fallback | Base URL of the MOLTING signing API (only needed without EVM_PRIVATE_KEY) |
79
+ | `MOLTING_API_KEY` | Legacy fallback | Bearer token for the MOLTING signing API (only needed without EVM_PRIVATE_KEY) |
80
+
81
+ Read-only tools work without any environment variables.
82
+
83
+ ### Kraken CLI (optional)
84
+
85
+ | Variable | Required | Description |
86
+ |---|---|---|
87
+ | `KRAKEN_API_KEY` | For spot trading | Kraken API key |
88
+ | `KRAKEN_API_SECRET` | For spot trading | Kraken API secret |
89
+ | `KRAKEN_FUTURES_API_KEY` | For futures | Kraken Futures API key |
90
+ | `KRAKEN_FUTURES_API_SECRET` | For futures | Kraken Futures API secret |
91
+
92
+ Public market data and paper trading work without credentials. Install the CLI from [github.com/krakenfx/kraken-cli](https://github.com/krakenfx/kraken-cli).
93
+
94
+ ## Tools (62 on-chain + 134 via Kraken CLI)
95
+
96
+ ### Tsunami V3 DEX (13 tools)
97
+
98
+ | Tool | Type | Description |
99
+ |---|---|---|
100
+ | `tsunami_quote_exact_input` | Read | Get swap quote for exact input amount |
101
+ | `tsunami_quote_exact_output` | Read | Get swap quote for exact output amount |
102
+ | `tsunami_swap_exact_input` | Write | Execute swap with exact input |
103
+ | `tsunami_swap_exact_output` | Write | Execute swap for exact output |
104
+ | `tsunami_get_pool` | Read | Get pool address and state for a token pair |
105
+ | `tsunami_get_pool_info` | Read | Full pool state: tick, liquidity, prices |
106
+ | `tsunami_create_pool` | Write | Create and initialize a new pool |
107
+ | `tsunami_mint_position` | Write | Mint a new concentrated liquidity position |
108
+ | `tsunami_add_liquidity` | Write | Add liquidity to an existing position |
109
+ | `tsunami_remove_liquidity` | Write | Remove liquidity (burns NFT if 100%) |
110
+ | `tsunami_collect_fees` | Write | Collect accrued trading fees |
111
+ | `tsunami_get_position` | Read | Get full position details by token ID |
112
+ | `tsunami_get_user_positions` | Read | List all LP positions for an address |
113
+
114
+ ### Sentry Agent Launch Factory (6 tools)
115
+
116
+ | Tool | Type | Description |
117
+ |---|---|---|
118
+ | `sentry_launch` | Write | Deploy a token, create Tsunami V3 pool, and permanently lock single-sided LP in the factory |
119
+ | `sentry_get_creator_nfts` | Read | Get all LP NFT IDs for a creator |
120
+ | `sentry_get_token_by_nft` | Read | Get token address from LP NFT ID |
121
+ | `sentry_get_supported_base_tokens` | Read | List supported base tokens (e.g. WETH) |
122
+ | `sentry_get_total_deployed` | Read | Total tokens launched through Sentry |
123
+ | `sentry_collect_fees` | Write | Harvest trading fees from LP positions — owner only, sent to treasury |
124
+
125
+ ### Tydro Lending (7 tools)
126
+
127
+ Tydro is Aave V3 deployed on Ink with 12 supported assets.
128
+
129
+ | Tool | Type | Description |
130
+ |---|---|---|
131
+ | `tydro_get_reserve_data` | Read | Get reserve APY, liquidity, utilization, and configuration for an asset |
132
+ | `tydro_get_user_account` | Read | Get total collateral, debt, available borrow, health factor for a wallet |
133
+ | `tydro_get_user_reserve` | Read | Get a wallet's supplied and borrowed balance for a specific asset |
134
+ | `tydro_supply` | Write | Supply an asset to earn yield (auto-approves) |
135
+ | `tydro_borrow` | Write | Borrow an asset against your collateral |
136
+ | `tydro_repay` | Write | Repay borrowed debt (auto-approves) |
137
+ | `tydro_withdraw` | Write | Withdraw supplied assets |
138
+
139
+ Supported assets: WETH, kBTC, USDT0, USDG, GHO, USDC, weETH, wrsETH, ezETH, sUSDe, USDe, SolvBTC
140
+
141
+ ### NADO Perps DEX (11 tools)
142
+
143
+ NADO is a perpetuals and spot DEX on Ink powered by the Vertex Protocol engine, offering up to 20x leverage on a central limit order book.
144
+
145
+ | Tool | Type | Description |
146
+ |---|---|---|
147
+ | `nado_get_markets` | Read | List all spot and perp markets with product IDs |
148
+ | `nado_get_market_price` | Read | Get best bid/ask and mark price for a market |
149
+ | `nado_get_candlesticks` | Read | OHLCV candlestick data (1m, 5m, 1h, 1d, etc.) |
150
+ | `nado_get_funding_rate` | Read | Current and historical funding rates for a perp market |
151
+ | `nado_get_account` | Read | Get subaccount summary: balances, margin, PnL |
152
+ | `nado_get_positions` | Read | List open perpetual positions for a subaccount |
153
+ | `nado_get_open_orders` | Read | List open orders for a subaccount |
154
+ | `nado_get_trade_history` | Read | Recent fill history for a subaccount |
155
+ | `nado_place_order` | Write | Place a limit or market order (EIP-712 signed) |
156
+ | `nado_cancel_order` | Write | Cancel a specific order by digest |
157
+ | `nado_cancel_all` | Write | Cancel all open orders for a subaccount |
158
+
159
+ ### Citadel LP Locker (9 tools)
160
+
161
+ | Tool | Type | Description |
162
+ |---|---|---|
163
+ | `citadel_lock_lp` | Write | Lock an LP NFT for a specified duration |
164
+ | `citadel_unlock` | Write | Unlock an LP NFT after lock period |
165
+ | `citadel_collect_fees` | Write | Collect fees from locked positions |
166
+ | `citadel_get_lock_info` | Read | Get lock metadata for an NFT |
167
+ | `citadel_get_locker_nfts` | Read | List all NFTs locked by an address |
168
+ | `citadel_is_locked` | Read | Check if an NFT is locked |
169
+ | `citadel_is_unlockable` | Read | Check if lock period has expired |
170
+ | `citadel_get_stats` | Read | Total locked count and Sentry locks |
171
+ | `citadel_supply_tydro` | Write | Supply collected fees to Tydro for yield |
172
+
173
+ ### ERC-20 (4 tools)
174
+
175
+ | Tool | Type | Description |
176
+ |---|---|---|
177
+ | `erc20_balance` | Read | Get token balance for an address (use zero address for native ETH) |
178
+ | `erc20_allowance` | Read | Check spending allowance |
179
+ | `erc20_approve` | Write | Approve a spender |
180
+ | `erc20_transfer` | Write | Transfer ERC-20 tokens or native ETH (use zero address for ETH) |
181
+
182
+ ### Subgraph Analytics (6 tools)
183
+
184
+ | Tool | Type | Description |
185
+ |---|---|---|
186
+ | `subgraph_protocol_stats` | Read | TVL, volume, fees, transaction count |
187
+ | `subgraph_pools` | Read | Paginated pool list with TVL sorting |
188
+ | `subgraph_recent_swaps` | Read | Latest swap events |
189
+ | `subgraph_user_positions` | Read | LP positions for a wallet |
190
+ | `subgraph_user_transactions` | Read | Mint/burn/swap history |
191
+ | `subgraph_daily_data` | Read | Historical daily metrics |
192
+
193
+ ### Relay Protocol (6 tools)
194
+
195
+ | Tool | Type | Description |
196
+ |---|---|---|
197
+ | `relay_get_chains` | Read | List all 50+ supported chains |
198
+ | `relay_get_currencies` | Read | Search tokens across chains |
199
+ | `relay_get_quote` | Read | Get cross-chain bridge/swap quote with fees |
200
+ | `relay_get_price` | Read | Fast price estimate (no executable steps) |
201
+ | `relay_get_token_price` | Read | Get USD price of any token |
202
+ | `relay_get_requests` | Read | Check bridge/swap transaction status |
203
+
204
+ ### Kraken CLI (134 commands)
205
+
206
+ | Group | Commands | Description |
207
+ |---|---|---|
208
+ | `market` | 10 | Ticker, orderbook, OHLC, trades, spreads |
209
+ | `account` | 18 | Balances, orders, trades, ledgers, positions |
210
+ | `trade` | 9 | Order placement, amendment, cancellation |
211
+ | `funding` | 10 | Deposits, withdrawals, wallet transfers |
212
+ | `earn` | 6 | Staking strategies and allocations |
213
+ | `futures` | 39 | Futures market data and trading |
214
+ | `websocket` | 15 | Spot WebSocket v2 streaming |
215
+ | `paper` | 10 | Paper trading simulation |
216
+
217
+ ```bash
218
+ kraken mcp # read-only
219
+ kraken mcp -s all # full access
220
+ kraken mcp -s all --allow-dangerous # autonomous mode
221
+ ```
222
+
223
+ ## Contract Addresses (Ink — Chain ID 57073)
224
+
225
+ ### Tsunami V3
226
+
227
+ | Contract | Address |
228
+ |---|---|
229
+ | TsunamiV3Factory | `0xD8B0826150B7686D1F56d6F10E31E58e1BCF1193` |
230
+ | TsunamiV3PositionManager | `0x98b6267DA27c5A21Bd6e3edfBC2DA6b0428Fa9F7` |
231
+ | TsunamiQuoterV2 | `0x547D43a6F83A28720908537Aa25179ff8c6A6411` |
232
+ | TsunamiSwapRouter02 | `0x4415F2360bfD9B1bF55500Cb28fA41dF95CB2d2b` |
233
+
234
+ ### Sentry & Citadel
235
+
236
+ | Contract | Address |
237
+ |---|---|
238
+ | SentryAgentLaunchFactory (Proxy) | `0x733733E8eAbB94832847AbF0E0EeD6031c3EB2E4` |
239
+ | Citadel LP Locker | `0x111474f3062E9B8B7B9d568675c5bb1262d6F862` |
240
+
241
+ ### Tydro (Borrow/Lending Markets)
242
+
243
+ | Contract | Address |
244
+ |---|---|
245
+ | Pool | `0x2816cf15F6d2A220E789aA011D5EE4eB6c47FEbA` |
246
+ | PoolDataProvider | `0x96086C25d13943C80Ff9a19791a40Df6aFC08328` |
247
+
248
+ ### NADO (CLOB DEX, Perps Trading)
249
+
250
+ | Contract | Address |
251
+ |---|---|
252
+ | Endpoint | `0x05ec92D78ED421f3D3Ada77FFdE167106565974E` |
253
+
254
+ ### Tokens
255
+
256
+ | Token | Address |
257
+ |---|---|
258
+ | WETH9 | `0x4200000000000000000000000000000000000006` |
259
+ | USDT0 | `0x0200C29006150606B650577BBE7B6248F58470c1` |
260
+ | NAMI | `0x40f297b5a31FB7D28169Ba75666bea38122860c2` |
261
+ | SENTRY | `0x94CfB34d41E94687cD8A56c0624AaA0c8080cd93` |
262
+ | MOLTING | `0x63d49DF9B08da5dAA254c66BDacA0A481Ec5d89f` |
263
+
264
+ ## Architecture
265
+
266
+ ```
267
+ +--------------------------------------------------------------------------+
268
+ | AI Agent (Claude, etc.) |
269
+ +-------------------+------------------------------------+-----------------+
270
+ | MCP (stdio) | MCP (stdio)
271
+ +-------------------v----------------------------------------+ +--v---------+
272
+ | moltiverse-mcp (v1.7.0) | | kraken mcp |
273
+ | 62 tools | |134 commands|
274
+ | +-----------+ +-----------+ +-----------+ +-----------+ | | market |
275
+ | | Tsunami | | Sentry | | Tydro | | NADO | | | account |
276
+ | | 13 tools | | 6 tools | | 7 tools | | 11 tools | | | trade |
277
+ | +-----------+ +-----------+ +-----------+ +-----------+ | | funding |
278
+ | | Citadel | | Subgraph | | ERC20 | | Relay | | | earn |
279
+ | | 9 tools | | 6 tools | | 4 tools | | 6 tools | | | futures |
280
+ | +-----+-----+ +-----+-----+ +-----+-----+ +-----+-----+ | | ws paper |
281
+ | | | | | | +-----+------+
282
+ +--------+-------------+-------------+--------------+-----------+ |
283
+ | | | | |
284
+ Ink L2 RPC Goldsky Ink L2 RPC NADO APIs Kraken API
285
+ (57073) GraphQL (57073) archive + (spot+futures)
286
+ Tsunami / Tsunami Tydro / gateway +
287
+ Sentry / Subgraph ERC20 Relay API
288
+ Citadel (50+ chains)
289
+ ```
290
+
291
+ ## Documentation
292
+
293
+ - [Tsunami V3 DEX](docs/tsunami-v3-dex.md)
294
+ - [Sentry Agent Launch Factory](docs/sentry-agent-launch-factory.md)
295
+ - [Citadel LP Locker](docs/citadel-lp-locker.md)
296
+ - [Relay Protocol](docs/relay-protocol.md)
297
+ - [Tydro Lending Protocol](docs/tydro-lending.md)
298
+ - [NADO Perps DEX](docs/nado-perps-dex.md)
299
+
300
+ ## Agent Skills
301
+
302
+ Step-by-step playbooks for common agent workflows — multi-step sequences, parameter gotchas, and cross-protocol flows.
303
+
304
+ - [Tsunami Skills](docs/skills/tsunami-skills.md) — Swapping, LP management, buying NAMI
305
+ - [Sentry Skills](docs/skills/sentry-skills.md) — Launching tokens
306
+ - [Citadel Skills](docs/skills/citadel-skills.md) — Locking LP, collecting and routing fees
307
+ - [Tydro Skills](docs/skills/tydro-skills.md) — Supplying, borrowing, health factor management
308
+ - [NADO Skills](docs/skills/nado-skills.md) — Perps trading, order types, subaccounts
309
+ - [Relay Skills](docs/skills/relay-skills.md) — Bridging, acquiring USDT0 for NAMI purchases
310
+ - [ERC-20 Skills](docs/skills/erc20-skills.md) — Balances, approvals, native ETH transfers
311
+ - [Subgraph Skills](docs/skills/subgraph-skills.md) — Analytics, pool discovery, position tracking
312
+
313
+ ## License
314
+
315
+ MIT
@@ -0,0 +1,234 @@
1
+ export declare const CitadelABI: readonly [{
2
+ readonly type: "function";
3
+ readonly name: "lockLP";
4
+ readonly stateMutability: "nonpayable";
5
+ readonly inputs: readonly [{
6
+ readonly name: "tokenId";
7
+ readonly type: "uint256";
8
+ }, {
9
+ readonly name: "unlockTime";
10
+ readonly type: "uint256";
11
+ }];
12
+ readonly outputs: readonly [];
13
+ }, {
14
+ readonly type: "function";
15
+ readonly name: "unlock";
16
+ readonly stateMutability: "nonpayable";
17
+ readonly inputs: readonly [{
18
+ readonly name: "tokenId";
19
+ readonly type: "uint256";
20
+ }];
21
+ readonly outputs: readonly [];
22
+ }, {
23
+ readonly type: "function";
24
+ readonly name: "collectFees";
25
+ readonly stateMutability: "nonpayable";
26
+ readonly inputs: readonly [{
27
+ readonly name: "tokenId";
28
+ readonly type: "uint256";
29
+ }];
30
+ readonly outputs: readonly [];
31
+ }, {
32
+ readonly type: "function";
33
+ readonly name: "collectBatchFees";
34
+ readonly stateMutability: "nonpayable";
35
+ readonly inputs: readonly [{
36
+ readonly name: "tokenIds";
37
+ readonly type: "uint256[]";
38
+ }];
39
+ readonly outputs: readonly [];
40
+ }, {
41
+ readonly type: "function";
42
+ readonly name: "lockFromFactory";
43
+ readonly stateMutability: "nonpayable";
44
+ readonly inputs: readonly [{
45
+ readonly name: "tokenId";
46
+ readonly type: "uint256";
47
+ }, {
48
+ readonly name: "creator";
49
+ readonly type: "address";
50
+ }, {
51
+ readonly name: "projectTreasury";
52
+ readonly type: "address";
53
+ }];
54
+ readonly outputs: readonly [];
55
+ }, {
56
+ readonly type: "function";
57
+ readonly name: "supplyToTydro";
58
+ readonly stateMutability: "nonpayable";
59
+ readonly inputs: readonly [{
60
+ readonly name: "token";
61
+ readonly type: "address";
62
+ }, {
63
+ readonly name: "amount";
64
+ readonly type: "uint256";
65
+ }];
66
+ readonly outputs: readonly [];
67
+ }, {
68
+ readonly type: "function";
69
+ readonly name: "withdrawFromTydro";
70
+ readonly stateMutability: "nonpayable";
71
+ readonly inputs: readonly [{
72
+ readonly name: "token";
73
+ readonly type: "address";
74
+ }, {
75
+ readonly name: "amount";
76
+ readonly type: "uint256";
77
+ }];
78
+ readonly outputs: readonly [];
79
+ }, {
80
+ readonly type: "function";
81
+ readonly name: "updateProjectTreasury";
82
+ readonly stateMutability: "nonpayable";
83
+ readonly inputs: readonly [{
84
+ readonly name: "tokenId";
85
+ readonly type: "uint256";
86
+ }, {
87
+ readonly name: "newTreasury";
88
+ readonly type: "address";
89
+ }];
90
+ readonly outputs: readonly [];
91
+ }, {
92
+ readonly type: "function";
93
+ readonly name: "getLockInfo";
94
+ readonly stateMutability: "view";
95
+ readonly inputs: readonly [{
96
+ readonly name: "tokenId";
97
+ readonly type: "uint256";
98
+ }];
99
+ readonly outputs: readonly [{
100
+ readonly name: "";
101
+ readonly type: "tuple";
102
+ readonly components: readonly [{
103
+ readonly name: "locker";
104
+ readonly type: "address";
105
+ }, {
106
+ readonly name: "projectTreasury";
107
+ readonly type: "address";
108
+ }, {
109
+ readonly name: "lockTimestamp";
110
+ readonly type: "uint256";
111
+ }, {
112
+ readonly name: "unlockTime";
113
+ readonly type: "uint256";
114
+ }, {
115
+ readonly name: "isSentryLaunch";
116
+ readonly type: "bool";
117
+ }, {
118
+ readonly name: "exists";
119
+ readonly type: "bool";
120
+ }];
121
+ }];
122
+ }, {
123
+ readonly type: "function";
124
+ readonly name: "getLockerNFTs";
125
+ readonly stateMutability: "view";
126
+ readonly inputs: readonly [{
127
+ readonly name: "locker";
128
+ readonly type: "address";
129
+ }];
130
+ readonly outputs: readonly [{
131
+ readonly name: "";
132
+ readonly type: "uint256[]";
133
+ }];
134
+ }, {
135
+ readonly type: "function";
136
+ readonly name: "isLocked";
137
+ readonly stateMutability: "view";
138
+ readonly inputs: readonly [{
139
+ readonly name: "tokenId";
140
+ readonly type: "uint256";
141
+ }];
142
+ readonly outputs: readonly [{
143
+ readonly name: "";
144
+ readonly type: "bool";
145
+ }];
146
+ }, {
147
+ readonly type: "function";
148
+ readonly name: "isUnlockable";
149
+ readonly stateMutability: "view";
150
+ readonly inputs: readonly [{
151
+ readonly name: "tokenId";
152
+ readonly type: "uint256";
153
+ }];
154
+ readonly outputs: readonly [{
155
+ readonly name: "";
156
+ readonly type: "bool";
157
+ }];
158
+ }, {
159
+ readonly type: "function";
160
+ readonly name: "getLockedTokenIds";
161
+ readonly stateMutability: "view";
162
+ readonly inputs: readonly [];
163
+ readonly outputs: readonly [{
164
+ readonly name: "";
165
+ readonly type: "uint256[]";
166
+ }];
167
+ }, {
168
+ readonly type: "function";
169
+ readonly name: "getTotalLockedCount";
170
+ readonly stateMutability: "view";
171
+ readonly inputs: readonly [];
172
+ readonly outputs: readonly [{
173
+ readonly name: "";
174
+ readonly type: "uint256";
175
+ }];
176
+ }, {
177
+ readonly type: "function";
178
+ readonly name: "getTotalSentryLocks";
179
+ readonly stateMutability: "view";
180
+ readonly inputs: readonly [];
181
+ readonly outputs: readonly [{
182
+ readonly name: "";
183
+ readonly type: "uint256";
184
+ }];
185
+ }, {
186
+ readonly type: "function";
187
+ readonly name: "getTydroSupplied";
188
+ readonly stateMutability: "view";
189
+ readonly inputs: readonly [{
190
+ readonly name: "token";
191
+ readonly type: "address";
192
+ }];
193
+ readonly outputs: readonly [{
194
+ readonly name: "";
195
+ readonly type: "uint256";
196
+ }];
197
+ }, {
198
+ readonly type: "function";
199
+ readonly name: "platformFeeBps";
200
+ readonly stateMutability: "view";
201
+ readonly inputs: readonly [];
202
+ readonly outputs: readonly [{
203
+ readonly name: "";
204
+ readonly type: "uint256";
205
+ }];
206
+ }, {
207
+ readonly type: "function";
208
+ readonly name: "treasury";
209
+ readonly stateMutability: "view";
210
+ readonly inputs: readonly [];
211
+ readonly outputs: readonly [{
212
+ readonly name: "";
213
+ readonly type: "address";
214
+ }];
215
+ }, {
216
+ readonly type: "function";
217
+ readonly name: "npm";
218
+ readonly stateMutability: "view";
219
+ readonly inputs: readonly [];
220
+ readonly outputs: readonly [{
221
+ readonly name: "";
222
+ readonly type: "address";
223
+ }];
224
+ }, {
225
+ readonly type: "function";
226
+ readonly name: "owner";
227
+ readonly stateMutability: "view";
228
+ readonly inputs: readonly [];
229
+ readonly outputs: readonly [{
230
+ readonly name: "";
231
+ readonly type: "address";
232
+ }];
233
+ }];
234
+ //# sourceMappingURL=Citadel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Citadel.d.ts","sourceRoot":"","sources":["../../src/abis/Citadel.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA+Bb,CAAC"}
@@ -0,0 +1,33 @@
1
+ export const CitadelABI = [
2
+ // ── Write Functions ──
3
+ { type: "function", name: "lockLP", stateMutability: "nonpayable", inputs: [{ name: "tokenId", type: "uint256" }, { name: "unlockTime", type: "uint256" }], outputs: [] },
4
+ { type: "function", name: "unlock", stateMutability: "nonpayable", inputs: [{ name: "tokenId", type: "uint256" }], outputs: [] },
5
+ { type: "function", name: "collectFees", stateMutability: "nonpayable", inputs: [{ name: "tokenId", type: "uint256" }], outputs: [] },
6
+ { type: "function", name: "collectBatchFees", stateMutability: "nonpayable", inputs: [{ name: "tokenIds", type: "uint256[]" }], outputs: [] },
7
+ { type: "function", name: "lockFromFactory", stateMutability: "nonpayable", inputs: [{ name: "tokenId", type: "uint256" }, { name: "creator", type: "address" }, { name: "projectTreasury", type: "address" }], outputs: [] },
8
+ { type: "function", name: "supplyToTydro", stateMutability: "nonpayable", inputs: [{ name: "token", type: "address" }, { name: "amount", type: "uint256" }], outputs: [] },
9
+ { type: "function", name: "withdrawFromTydro", stateMutability: "nonpayable", inputs: [{ name: "token", type: "address" }, { name: "amount", type: "uint256" }], outputs: [] },
10
+ { type: "function", name: "updateProjectTreasury", stateMutability: "nonpayable", inputs: [{ name: "tokenId", type: "uint256" }, { name: "newTreasury", type: "address" }], outputs: [] },
11
+ // ── View Functions ──
12
+ {
13
+ type: "function", name: "getLockInfo", stateMutability: "view",
14
+ inputs: [{ name: "tokenId", type: "uint256" }],
15
+ outputs: [{ name: "", type: "tuple", components: [
16
+ { name: "locker", type: "address" }, { name: "projectTreasury", type: "address" },
17
+ { name: "lockTimestamp", type: "uint256" }, { name: "unlockTime", type: "uint256" },
18
+ { name: "isSentryLaunch", type: "bool" }, { name: "exists", type: "bool" },
19
+ ] }],
20
+ },
21
+ { type: "function", name: "getLockerNFTs", stateMutability: "view", inputs: [{ name: "locker", type: "address" }], outputs: [{ name: "", type: "uint256[]" }] },
22
+ { type: "function", name: "isLocked", stateMutability: "view", inputs: [{ name: "tokenId", type: "uint256" }], outputs: [{ name: "", type: "bool" }] },
23
+ { type: "function", name: "isUnlockable", stateMutability: "view", inputs: [{ name: "tokenId", type: "uint256" }], outputs: [{ name: "", type: "bool" }] },
24
+ { type: "function", name: "getLockedTokenIds", stateMutability: "view", inputs: [], outputs: [{ name: "", type: "uint256[]" }] },
25
+ { type: "function", name: "getTotalLockedCount", stateMutability: "view", inputs: [], outputs: [{ name: "", type: "uint256" }] },
26
+ { type: "function", name: "getTotalSentryLocks", stateMutability: "view", inputs: [], outputs: [{ name: "", type: "uint256" }] },
27
+ { type: "function", name: "getTydroSupplied", stateMutability: "view", inputs: [{ name: "token", type: "address" }], outputs: [{ name: "", type: "uint256" }] },
28
+ { type: "function", name: "platformFeeBps", stateMutability: "view", inputs: [], outputs: [{ name: "", type: "uint256" }] },
29
+ { type: "function", name: "treasury", stateMutability: "view", inputs: [], outputs: [{ name: "", type: "address" }] },
30
+ { type: "function", name: "npm", stateMutability: "view", inputs: [], outputs: [{ name: "", type: "address" }] },
31
+ { type: "function", name: "owner", stateMutability: "view", inputs: [], outputs: [{ name: "", type: "address" }] },
32
+ ];
33
+ //# sourceMappingURL=Citadel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Citadel.js","sourceRoot":"","sources":["../../src/abis/Citadel.ts"],"names":[],"mappings":"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"}