@continuumdao/ctm-mpc-defi 0.2.28 → 0.2.29
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/agent/catalog.cjs +56 -20
- package/dist/agent/catalog.cjs.map +1 -1
- package/dist/agent/catalog.js +56 -20
- package/dist/agent/catalog.js.map +1 -1
- package/dist/agent/skills/ethena/SKILL.md +1 -1
- package/dist/agent/skills/lido/SKILL.md +4 -1
- package/dist/protocols/evm/ethena/index.cjs +41 -4
- package/dist/protocols/evm/ethena/index.cjs.map +1 -1
- package/dist/protocols/evm/ethena/index.d.ts +12 -2
- package/dist/protocols/evm/ethena/index.js +38 -5
- package/dist/protocols/evm/ethena/index.js.map +1 -1
- package/dist/protocols/evm/lido/index.cjs +66 -1
- package/dist/protocols/evm/lido/index.cjs.map +1 -1
- package/dist/protocols/evm/lido/index.d.ts +11 -1
- package/dist/protocols/evm/lido/index.js +60 -2
- package/dist/protocols/evm/lido/index.js.map +1 -1
- package/package.json +1 -1
package/dist/agent/catalog.js
CHANGED
|
@@ -4985,14 +4985,22 @@ function getAgentCatalogForMcp() {
|
|
|
4985
4985
|
}
|
|
4986
4986
|
};
|
|
4987
4987
|
}
|
|
4988
|
-
getAddress(
|
|
4988
|
+
var LIDO_STETH_CONTRACT_MAINNET = getAddress(
|
|
4989
4989
|
"0xae7ab96520DE3A18E5e111B5EaAb095312D7fE84"
|
|
4990
4990
|
);
|
|
4991
|
-
getAddress(
|
|
4991
|
+
var LIDO_WSTETH_CONTRACT_MAINNET = getAddress(
|
|
4992
4992
|
"0x7f39C581F595B853cBbF37C12FfeeA971C5a5bEa"
|
|
4993
4993
|
);
|
|
4994
4994
|
getAddress("0x889edC2eDab5f40e902b864aD4d7AdE8E412F9B1");
|
|
4995
4995
|
var LIDO_ETHEREUM_MAINNET_CHAIN_ID = 1;
|
|
4996
|
+
var LIDO_ROBINHOOD_CHAIN_ID = 4663;
|
|
4997
|
+
var LIDO_WSTETH_ROBINHOOD = getAddress("0x2dC99af320BC317c567f24eE95811dcbd5983DfD");
|
|
4998
|
+
function listLidoSupportedChainIds() {
|
|
4999
|
+
return [LIDO_ETHEREUM_MAINNET_CHAIN_ID, LIDO_ROBINHOOD_CHAIN_ID];
|
|
5000
|
+
}
|
|
5001
|
+
function isLidoSupportedChainId(chainId) {
|
|
5002
|
+
return chainId === LIDO_ETHEREUM_MAINNET_CHAIN_ID || chainId === LIDO_ROBINHOOD_CHAIN_ID;
|
|
5003
|
+
}
|
|
4996
5004
|
|
|
4997
5005
|
// src/protocols/evm/lido/index.ts
|
|
4998
5006
|
var LIDO_PROTOCOL_ID = "lido";
|
|
@@ -5001,7 +5009,7 @@ var lidoProtocolModule = {
|
|
|
5001
5009
|
chainCategory: "evm",
|
|
5002
5010
|
isChainSupported(ctx) {
|
|
5003
5011
|
if (ctx.chainCategory !== "evm") return false;
|
|
5004
|
-
return Number(ctx.chainId)
|
|
5012
|
+
return isLidoSupportedChainId(Number(ctx.chainId));
|
|
5005
5013
|
},
|
|
5006
5014
|
isTokenSupported(token) {
|
|
5007
5015
|
return token.category === "evm" && (token.kind === "native" || token.kind === "erc20");
|
|
@@ -5018,7 +5026,9 @@ registerProtocolModule(lidoProtocolModule);
|
|
|
5018
5026
|
var USDE_ETHEREUM_MAINNET = "0x4c9edd5852cd905f086c759e8383e09bff1e68b3";
|
|
5019
5027
|
var SUSDE_ETHEREUM_MAINNET = "0x9d39a5de30e57443bff2a8307a4256c8797a3497";
|
|
5020
5028
|
var USDE_MOST_L2S = "0x5d3a1Ff2b6BAb83b63cd9AD0787074081a52ef34";
|
|
5029
|
+
var SUSDE_MOST_L2S = "0x211Cc4DD073734dA055fbF44a2b4667d5E5fE5d2";
|
|
5021
5030
|
var USDE_ZKSYNC_ERA = "0x39Fe7a0DACcE31Bd90418e3e659fb0b5f0B3Db0d";
|
|
5031
|
+
var SUSDE_ZKSYNC_ERA = "0xAD17Da2f6Ac76746EF261E835C50b2651ce36DA8";
|
|
5022
5032
|
var L2_SAME_ADDRESS_CHAIN_IDS = /* @__PURE__ */ new Set([
|
|
5023
5033
|
42161,
|
|
5024
5034
|
// Arbitrum One
|
|
@@ -5054,8 +5064,10 @@ var L2_SAME_ADDRESS_CHAIN_IDS = /* @__PURE__ */ new Set([
|
|
|
5054
5064
|
// Morph
|
|
5055
5065
|
1923,
|
|
5056
5066
|
// Swell
|
|
5057
|
-
48900
|
|
5067
|
+
48900,
|
|
5058
5068
|
// Zircuit
|
|
5069
|
+
4663
|
|
5070
|
+
// Robinhood Chain
|
|
5059
5071
|
]);
|
|
5060
5072
|
var FALLBACK_NAME_BY_ID = {
|
|
5061
5073
|
1: "Ethereum",
|
|
@@ -5077,6 +5089,7 @@ var FALLBACK_NAME_BY_ID = {
|
|
|
5077
5089
|
2818: "Morph",
|
|
5078
5090
|
1923: "Swell",
|
|
5079
5091
|
48900: "Zircuit",
|
|
5092
|
+
4663: "Robinhood Chain",
|
|
5080
5093
|
324: "ZKSync Era"
|
|
5081
5094
|
};
|
|
5082
5095
|
function usdeTokenAddressOnEvmChain(chainId) {
|
|
@@ -5087,17 +5100,28 @@ function usdeTokenAddressOnEvmChain(chainId) {
|
|
|
5087
5100
|
}
|
|
5088
5101
|
function listEthenaUsdeEvmNetworkRows() {
|
|
5089
5102
|
const rows = [
|
|
5090
|
-
{
|
|
5103
|
+
{
|
|
5104
|
+
chainId: 1,
|
|
5105
|
+
label: FALLBACK_NAME_BY_ID[1],
|
|
5106
|
+
usde: USDE_ETHEREUM_MAINNET,
|
|
5107
|
+
susde: SUSDE_ETHEREUM_MAINNET
|
|
5108
|
+
}
|
|
5091
5109
|
];
|
|
5092
5110
|
const l2 = [...L2_SAME_ADDRESS_CHAIN_IDS].sort((a, b) => a - b);
|
|
5093
5111
|
for (const id of l2) {
|
|
5094
5112
|
rows.push({
|
|
5095
5113
|
chainId: id,
|
|
5096
5114
|
label: FALLBACK_NAME_BY_ID[id] ?? `Chain ${id}`,
|
|
5097
|
-
usde: USDE_MOST_L2S
|
|
5115
|
+
usde: USDE_MOST_L2S,
|
|
5116
|
+
susde: SUSDE_MOST_L2S
|
|
5098
5117
|
});
|
|
5099
5118
|
}
|
|
5100
|
-
rows.push({
|
|
5119
|
+
rows.push({
|
|
5120
|
+
chainId: 324,
|
|
5121
|
+
label: FALLBACK_NAME_BY_ID[324],
|
|
5122
|
+
usde: USDE_ZKSYNC_ERA,
|
|
5123
|
+
susde: SUSDE_ZKSYNC_ERA
|
|
5124
|
+
});
|
|
5101
5125
|
return rows.sort((a, b) => {
|
|
5102
5126
|
if (a.chainId === 1) return -1;
|
|
5103
5127
|
if (b.chainId === 1) return 1;
|
|
@@ -6500,17 +6524,26 @@ var PROTOCOL_SUPPORT_ADVISORS = {
|
|
|
6500
6524
|
}),
|
|
6501
6525
|
lido: advisor("lido", "mainnet_only", {
|
|
6502
6526
|
async supportedChainIds() {
|
|
6503
|
-
return
|
|
6527
|
+
return listLidoSupportedChainIds();
|
|
6504
6528
|
},
|
|
6505
|
-
async supportedTokens() {
|
|
6506
|
-
|
|
6507
|
-
|
|
6508
|
-
|
|
6509
|
-
|
|
6510
|
-
|
|
6511
|
-
|
|
6512
|
-
|
|
6513
|
-
|
|
6529
|
+
async supportedTokens(chainId) {
|
|
6530
|
+
if (chainId === LIDO_ETHEREUM_MAINNET_CHAIN_ID) {
|
|
6531
|
+
return {
|
|
6532
|
+
tokens: [
|
|
6533
|
+
{ address: "0x0000000000000000000000000000000000000000", symbol: "ETH", roles: ["native", "stake"] },
|
|
6534
|
+
{ address: LIDO_STETH_CONTRACT_MAINNET, symbol: "stETH", roles: ["erc20"] },
|
|
6535
|
+
{ address: LIDO_WSTETH_CONTRACT_MAINNET, symbol: "wstETH", roles: ["erc20"] }
|
|
6536
|
+
],
|
|
6537
|
+
notes: "Lido staking, withdrawals, and wrap/unwrap are Ethereum mainnet only."
|
|
6538
|
+
};
|
|
6539
|
+
}
|
|
6540
|
+
if (chainId === LIDO_ROBINHOOD_CHAIN_ID) {
|
|
6541
|
+
return {
|
|
6542
|
+
tokens: [{ address: LIDO_WSTETH_ROBINHOOD, symbol: "wstETH", roles: ["erc20"] }],
|
|
6543
|
+
notes: "Bridged wstETH on Robinhood Chain (CCIP). Stake/withdraw/wrap MCP tools remain mainnet-only."
|
|
6544
|
+
};
|
|
6545
|
+
}
|
|
6546
|
+
return { tokens: [] };
|
|
6514
6547
|
}
|
|
6515
6548
|
}),
|
|
6516
6549
|
ethena: advisor("ethena", "minting_contract", {
|
|
@@ -6524,14 +6557,17 @@ var PROTOCOL_SUPPORT_ADVISORS = {
|
|
|
6524
6557
|
{ address: USDE_ETHEREUM_MAINNET, symbol: "USDe", roles: ["stake"] },
|
|
6525
6558
|
{ address: SUSDE_ETHEREUM_MAINNET, symbol: "sUSDe", roles: ["vault"] }
|
|
6526
6559
|
],
|
|
6527
|
-
notes: "Ethena stake/redeem UI actions are mainnet-only; USDe
|
|
6560
|
+
notes: "Ethena stake/redeem UI actions are mainnet-only; USDe/sUSDe exist on other chains for transfers."
|
|
6528
6561
|
};
|
|
6529
6562
|
}
|
|
6530
6563
|
if (isEvmChainInEthenaUsdeList(chainId)) {
|
|
6531
6564
|
const row = listEthenaUsdeEvmNetworkRows().find((r) => r.chainId === chainId);
|
|
6532
6565
|
return {
|
|
6533
|
-
tokens: row ? [
|
|
6534
|
-
|
|
6566
|
+
tokens: row ? [
|
|
6567
|
+
{ address: row.usde, symbol: "USDe", roles: ["erc20"] },
|
|
6568
|
+
{ address: row.susde, symbol: "sUSDe", roles: ["erc20"] }
|
|
6569
|
+
] : [],
|
|
6570
|
+
notes: "USDe/sUSDe on L2 (incl. Robinhood Chain); staking MCP tools target mainnet only."
|
|
6535
6571
|
};
|
|
6536
6572
|
}
|
|
6537
6573
|
return { tokens: [] };
|