@agentlayer.tech/wallet 0.1.44 → 0.1.48
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/.openclaw/extensions/agent-wallet/index.ts +99 -0
- package/.openclaw/extensions/agent-wallet/openclaw.plugin.json +6 -1
- package/.openclaw/extensions/agent-wallet/package.json +1 -1
- package/CHANGELOG.md +62 -0
- package/README.md +2 -2
- package/VERSION +1 -1
- package/agent-wallet/agent_wallet/__init__.py +1 -1
- package/agent-wallet/agent_wallet/openclaw_adapter.py +884 -37
- package/agent-wallet/agent_wallet/providers/jupiter.py +5 -0
- package/agent-wallet/agent_wallet/providers/wdk_evm_local.py +6 -0
- package/agent-wallet/agent_wallet/wallet_layer/base.py +189 -0
- package/agent-wallet/agent_wallet/wallet_layer/solana.py +14 -0
- package/agent-wallet/agent_wallet/wallet_layer/wdk_evm.py +404 -0
- package/agent-wallet/openclaw.plugin.json +1 -1
- package/agent-wallet/pyproject.toml +1 -1
- package/agent-wallet/scripts/install_agent_wallet.py +33 -8
- package/claude-code/plugins/agent-wallet/.claude-plugin/plugin.json +1 -1
- package/codex/plugins/agent-wallet/.codex-plugin/plugin.json +1 -1
- package/hermes/plugins/agent_wallet/plugin.yaml +1 -1
- package/package.json +1 -1
- package/wdk-btc-wallet/package.json +1 -1
- package/wdk-evm-wallet/README.md +31 -0
- package/wdk-evm-wallet/package-lock.json +268 -64
- package/wdk-evm-wallet/package.json +4 -1
- package/wdk-evm-wallet/src/config.js +2 -0
- package/wdk-evm-wallet/src/server.js +66 -0
- package/wdk-evm-wallet/src/wdk_evm_wallet.js +2725 -939
|
@@ -1689,6 +1689,105 @@ const evmToolDefinitions = [
|
|
|
1689
1689
|
additionalProperties: false,
|
|
1690
1690
|
},
|
|
1691
1691
|
},
|
|
1692
|
+
{
|
|
1693
|
+
name: "get_evm_morpho_vaults",
|
|
1694
|
+
description: "Get read-only Morpho vault discovery and detail data for the configured EVM network on supported mainnet chains. When listing, results are ordered (default: largest TVL first) and can be filtered by underlying asset.",
|
|
1695
|
+
parameters: {
|
|
1696
|
+
type: "object",
|
|
1697
|
+
properties: {
|
|
1698
|
+
vault_address: { type: "string", description: "Optional explicit vault address for a single-vault lookup." },
|
|
1699
|
+
limit: { type: "integer", minimum: 1, maximum: 500 },
|
|
1700
|
+
listed_only: { type: "boolean", description: "Filter to listed vaults only. Defaults to true." },
|
|
1701
|
+
asset_address: { type: "string", description: "Optional underlying asset address filter (e.g. only USDC vaults)." },
|
|
1702
|
+
order_by: {
|
|
1703
|
+
type: "string",
|
|
1704
|
+
enum: ["TotalAssetsUsd", "TotalAssets", "TotalSupply", "Liquidity", "LiquidityUsd", "Apy", "NetApy", "Address"],
|
|
1705
|
+
description: "Sort field when listing. Defaults to TotalAssetsUsd.",
|
|
1706
|
+
},
|
|
1707
|
+
order_direction: { type: "string", enum: ["asc", "desc"], description: "Sort direction. Defaults to desc." },
|
|
1708
|
+
network: { type: "string", enum: ["ethereum", "base"] },
|
|
1709
|
+
},
|
|
1710
|
+
additionalProperties: false,
|
|
1711
|
+
},
|
|
1712
|
+
},
|
|
1713
|
+
{
|
|
1714
|
+
name: "get_evm_morpho_markets",
|
|
1715
|
+
description: "Get read-only Morpho market discovery and detail data for the configured EVM network on supported mainnet chains. When listing, results are ordered (default: largest supply first) and can be filtered by free-text search or by collateral/loan asset.",
|
|
1716
|
+
parameters: {
|
|
1717
|
+
type: "object",
|
|
1718
|
+
properties: {
|
|
1719
|
+
market_id: { type: "string", description: "Optional explicit market id (32-byte hex) for a single-market lookup." },
|
|
1720
|
+
limit: { type: "integer", minimum: 1, maximum: 500 },
|
|
1721
|
+
listed_only: { type: "boolean", description: "Filter to listed markets only. Defaults to true." },
|
|
1722
|
+
search: { type: "string", description: "Optional free-text search over market/asset symbols (e.g. 'wstETH')." },
|
|
1723
|
+
collateral_asset_address: { type: "string", description: "Optional collateral asset address filter." },
|
|
1724
|
+
loan_asset_address: { type: "string", description: "Optional loan asset address filter." },
|
|
1725
|
+
order_by: {
|
|
1726
|
+
type: "string",
|
|
1727
|
+
enum: ["SupplyAssetsUsd", "BorrowAssetsUsd", "SupplyApy", "NetSupplyApy", "BorrowApy", "NetBorrowApy", "Utilization", "TotalLiquidityUsd", "Lltv"],
|
|
1728
|
+
description: "Sort field when listing. Defaults to SupplyAssetsUsd.",
|
|
1729
|
+
},
|
|
1730
|
+
order_direction: { type: "string", enum: ["asc", "desc"], description: "Sort direction. Defaults to desc." },
|
|
1731
|
+
network: { type: "string", enum: ["ethereum", "base"] },
|
|
1732
|
+
},
|
|
1733
|
+
additionalProperties: false,
|
|
1734
|
+
},
|
|
1735
|
+
},
|
|
1736
|
+
{
|
|
1737
|
+
name: "get_evm_morpho_positions",
|
|
1738
|
+
description: "Get read-only Morpho vault and market positions for the configured EVM wallet on supported mainnet chains.",
|
|
1739
|
+
parameters: {
|
|
1740
|
+
type: "object",
|
|
1741
|
+
properties: {
|
|
1742
|
+
network: { type: "string", enum: ["ethereum", "base"] },
|
|
1743
|
+
},
|
|
1744
|
+
additionalProperties: false,
|
|
1745
|
+
},
|
|
1746
|
+
},
|
|
1747
|
+
{
|
|
1748
|
+
name: "manage_evm_morpho_vault_position",
|
|
1749
|
+
description: "Preview, prepare, or execute a narrow Morpho vault operation on supported EVM mainnet networks. Supported operations are supply and withdraw. Preview or prepare first. After the user explicitly confirms the shown summary in chat, call execute; the OpenClaw plugin handles the internal execution authorization automatically.",
|
|
1750
|
+
optional: true,
|
|
1751
|
+
parameters: {
|
|
1752
|
+
type: "object",
|
|
1753
|
+
properties: {
|
|
1754
|
+
operation: { type: "string", enum: ["supply", "withdraw"] },
|
|
1755
|
+
token_address: { type: "string" },
|
|
1756
|
+
vault_address: { type: "string" },
|
|
1757
|
+
vault_preset: { type: "string" },
|
|
1758
|
+
amount_raw: { type: "string" },
|
|
1759
|
+
native_amount_raw: { type: "string" },
|
|
1760
|
+
mode: { type: "string", enum: ["preview", "prepare", "execute"] },
|
|
1761
|
+
purpose: { type: "string" },
|
|
1762
|
+
user_intent: { type: "boolean" },
|
|
1763
|
+
network: { type: "string", enum: ["ethereum", "base"] },
|
|
1764
|
+
},
|
|
1765
|
+
required: ["operation", "token_address", "mode", "purpose"],
|
|
1766
|
+
additionalProperties: false,
|
|
1767
|
+
},
|
|
1768
|
+
},
|
|
1769
|
+
{
|
|
1770
|
+
name: "manage_evm_morpho_market_position",
|
|
1771
|
+
description: "Preview, prepare, or execute a narrow Morpho market operation on supported EVM mainnet networks. Supported operations are supply_collateral, borrow, repay, and withdraw_collateral. Preview or prepare first. After the user explicitly confirms the shown summary in chat, call execute; the OpenClaw plugin handles the internal execution authorization automatically.",
|
|
1772
|
+
optional: true,
|
|
1773
|
+
parameters: {
|
|
1774
|
+
type: "object",
|
|
1775
|
+
properties: {
|
|
1776
|
+
operation: { type: "string", enum: ["supply_collateral", "borrow", "repay", "withdraw_collateral"] },
|
|
1777
|
+
token_address: { type: "string" },
|
|
1778
|
+
market_id: { type: "string" },
|
|
1779
|
+
market_preset: { type: "string" },
|
|
1780
|
+
amount_raw: { type: "string" },
|
|
1781
|
+
native_amount_raw: { type: "string" },
|
|
1782
|
+
mode: { type: "string", enum: ["preview", "prepare", "execute"] },
|
|
1783
|
+
purpose: { type: "string" },
|
|
1784
|
+
user_intent: { type: "boolean" },
|
|
1785
|
+
network: { type: "string", enum: ["ethereum", "base"] },
|
|
1786
|
+
},
|
|
1787
|
+
required: ["operation", "token_address", "mode", "purpose"],
|
|
1788
|
+
additionalProperties: false,
|
|
1789
|
+
},
|
|
1790
|
+
},
|
|
1692
1791
|
{
|
|
1693
1792
|
name: "get_evm_swap_quote",
|
|
1694
1793
|
description: "Get a read-only Velora quote for an ERC-20 or native ETH swap on supported EVM mainnet networks. This does not approve or execute a swap.",
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"id": "agent-wallet",
|
|
3
3
|
"name": "Agent Wallet",
|
|
4
4
|
"description": "Official OpenClaw plugin bridge for the agent-wallet backends, including Solana, local BTC, and local EVM.",
|
|
5
|
-
"version": "0.1.
|
|
5
|
+
"version": "0.1.48",
|
|
6
6
|
"contracts": {
|
|
7
7
|
"tools": [
|
|
8
8
|
"close_empty_token_accounts",
|
|
@@ -16,6 +16,9 @@
|
|
|
16
16
|
"get_evm_aave_positions",
|
|
17
17
|
"get_evm_aave_reserves",
|
|
18
18
|
"get_evm_fee_rates",
|
|
19
|
+
"get_evm_morpho_markets",
|
|
20
|
+
"get_evm_morpho_positions",
|
|
21
|
+
"get_evm_morpho_vaults",
|
|
19
22
|
"get_evm_lido_overview",
|
|
20
23
|
"get_evm_lido_positions",
|
|
21
24
|
"get_evm_lido_withdrawal_requests",
|
|
@@ -45,6 +48,8 @@
|
|
|
45
48
|
"kamino_lend_withdraw",
|
|
46
49
|
"launch_bags_token",
|
|
47
50
|
"manage_evm_aave_position",
|
|
51
|
+
"manage_evm_morpho_market_position",
|
|
52
|
+
"manage_evm_morpho_vault_position",
|
|
48
53
|
"manage_evm_lido_position",
|
|
49
54
|
"manage_evm_lido_withdrawal",
|
|
50
55
|
"set_evm_network",
|
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,68 @@
|
|
|
2
2
|
|
|
3
3
|
## Unreleased
|
|
4
4
|
|
|
5
|
+
## v0.1.47 - 2026-06-16
|
|
6
|
+
|
|
7
|
+
- Fixed Solana swaps of Token-2022 tokens with complex extensions (e.g. Backpack
|
|
8
|
+
xStock tokens such as SPCX, which carry `scaledUiAmountConfig`,
|
|
9
|
+
`pausableConfig`, `permanentDelegate`, and `confidentialTransferMint`) that
|
|
10
|
+
consistently failed with "Provider swap transaction simulation failed". When a
|
|
11
|
+
simulation failure is detected during `execute_swap_intent`, the next retry
|
|
12
|
+
now passes `excludeDexes=GoonFi V2` to the Jupiter lite-api quote, forcing
|
|
13
|
+
routing through a DEX that handles these extensions correctly (ZeroFi).
|
|
14
|
+
- `providers/jupiter.py`: `fetch_quote`/`_fetch_quote_direct` accept an
|
|
15
|
+
optional `exclude_dexes`, passed through as the `excludeDexes` query param.
|
|
16
|
+
- `wallet_layer/solana.py`: `preview_swap` propagates `exclude_dexes` into the
|
|
17
|
+
metis fallback; `execute_swap_intent` tracks a simulation-failure flag and
|
|
18
|
+
excludes `GoonFi V2` on the retry. Default behavior is unchanged (no DEX
|
|
19
|
+
exclusion unless a prior attempt failed simulation). (#14)
|
|
20
|
+
- First published release carrying the Morpho lending integration and the
|
|
21
|
+
fresh-venv install hardening previously rolled out only locally (see the
|
|
22
|
+
0.1.45 and 0.1.46 entries below).
|
|
23
|
+
|
|
24
|
+
## v0.1.46 - 2026-06-14
|
|
25
|
+
|
|
26
|
+
- Hardened the runtime install so a freshly created venv does not fail on
|
|
27
|
+
native dependencies. The venv fingerprint hashes `pyproject.toml`, whose
|
|
28
|
+
version line changes every release, so each bump builds a brand-new venv with
|
|
29
|
+
the pip that `ensurepip` bundled. That pip could resolve `cryptography` and
|
|
30
|
+
`ckzg` to versions without a prebuilt wheel and fall back to a source build
|
|
31
|
+
needing a Rust/C toolchain, failing the install on machines that lack one.
|
|
32
|
+
The installer now upgrades pip/setuptools/wheel in a new venv and runs the
|
|
33
|
+
editable install with `--prefer-binary`, keeping native deps on prebuilt
|
|
34
|
+
wheels.
|
|
35
|
+
|
|
36
|
+
## v0.1.45 - 2026-06-14
|
|
37
|
+
|
|
38
|
+
- Added a Morpho lending integration (vaults + Blue markets) on Ethereum and
|
|
39
|
+
Base, exposed across all local agent frameworks (OpenClaw, Codex,
|
|
40
|
+
Claude Code) through the shared agent-wallet adapter.
|
|
41
|
+
- Read-only discovery: `get_evm_morpho_vaults`, `get_evm_morpho_markets`,
|
|
42
|
+
and `get_evm_morpho_positions`, backed by the Morpho GraphQL API.
|
|
43
|
+
- Write flows with preview/prepare/execute and quote-fingerprint binding:
|
|
44
|
+
`manage_evm_morpho_vault_position` (supply/withdraw) and
|
|
45
|
+
`manage_evm_morpho_market_position`
|
|
46
|
+
(supply_collateral/borrow/repay/withdraw_collateral), including automatic
|
|
47
|
+
approval/authorization requirement execution and rollback on failure.
|
|
48
|
+
- Fixed three Morpho defects found while hardening the integration:
|
|
49
|
+
- Vault list discovery used a non-existent GraphQL filter type
|
|
50
|
+
(`VaultV2Filters` -> `VaultV2sFilters`), so the default vault listing
|
|
51
|
+
failed on every call.
|
|
52
|
+
- Single vault/market lookups now return `found: false` for a missing target
|
|
53
|
+
instead of a confusing `morpho_api_failed`. The Morpho API answers a
|
|
54
|
+
missing entity as a `NOT_FOUND` GraphQL error with HTTP 200, which the
|
|
55
|
+
previous code treated as a hard failure.
|
|
56
|
+
- Execute no longer rejects checksummed vault/market targets: the approval
|
|
57
|
+
binding lowercases the resolved target, so it is now compared
|
|
58
|
+
case-insensitively against the requested address/id.
|
|
59
|
+
- Made Morpho discovery usable without paging through a default-ordered slice:
|
|
60
|
+
- Vaults: filter by underlying asset and order by TVL/APY (default
|
|
61
|
+
`TotalAssetsUsd` desc).
|
|
62
|
+
- Markets: free-text `search` plus collateral/loan asset filters, ordered by
|
|
63
|
+
supply/APY (default `SupplyAssetsUsd` desc).
|
|
64
|
+
- `order_by` is validated case-insensitively against an allowlist, and the
|
|
65
|
+
read-path `marketId` is validated as a 32-byte hex string.
|
|
66
|
+
|
|
5
67
|
## v0.1.44 - 2026-06-12
|
|
6
68
|
|
|
7
69
|
- Added anonymous, privacy-first adoption telemetry so wallet usage can be
|
package/README.md
CHANGED
|
@@ -3,8 +3,8 @@
|
|
|
3
3
|
|
|
4
4
|
[](https://www.npmjs.com/package/@agentlayer.tech/wallet)
|
|
5
5
|
[](https://www.npmjs.com/package/@agentlayer.tech/wallet)
|
|
6
|
+
[](https://nodejs.org/)
|
|
6
7
|
[](https://docs.agent-layer.tech/)
|
|
7
|
-
[](https://github.com/lopushok9/Agent-Layer/blob/main/LICENSE)
|
|
8
8
|
|
|
9
9
|
For Openclaw:
|
|
10
10
|
|
|
@@ -69,7 +69,7 @@ Do not treat it as a finished production wallet stack. Test every flow before re
|
|
|
69
69
|
System prerequisites:
|
|
70
70
|
|
|
71
71
|
- `python3`
|
|
72
|
-
- `node`
|
|
72
|
+
- `node` `24.x`
|
|
73
73
|
- `npm`
|
|
74
74
|
|
|
75
75
|
Install the local runtime:
|
package/VERSION
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
0.1.
|
|
1
|
+
0.1.48
|