@elizaos/plugin-wallet-ui 2.0.3-beta.5

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 (3) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +62 -0
  3. package/package.json +79 -0
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Shaw Walters and elizaOS Contributors
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md ADDED
@@ -0,0 +1,62 @@
1
+ # @elizaos/plugin-wallet-ui
2
+
3
+ Non-custodial wallet inventory UI for elizaOS agents. Adds a full wallet surface — token balances, NFTs, market overview, trading analytics, and a compact chat-sidebar widget — to any agent shell that loads this plugin.
4
+
5
+ ## What it does
6
+
7
+ - Displays EVM (Ethereum, Base, BNB Chain, Avalanche, Arbitrum, Optimism, Polygon) and Solana token balances and NFTs.
8
+ - Shows portfolio value, per-chain allocation, P&L chart, recent swaps, and top movers from the agent's trading profile.
9
+ - Renders a market overview (spot prices, top movers, prediction market data) when the wallet has no balance history yet.
10
+ - Provides a compact wallet-status sidebar widget in the chat rail with live balance totals and one-click address copy.
11
+ - Serves the inventory in three view types: standard (web/desktop), XR, and TUI (terminal).
12
+
13
+ ## Capabilities added
14
+
15
+ | Surface | Description |
16
+ |---|---|
17
+ | Shell page `/inventory` | Full wallet inventory page registered in the agent shell nav |
18
+ | Standalone view `/wallet` | Bundled `InventoryView` (standard and XR) loadable by the view manager |
19
+ | TUI view `/wallet/tui` | Terminal-friendly `InventoryTuiView` |
20
+ | Chat sidebar widget | `wallet.status` — compact balance summary with chain badges and address copy |
21
+
22
+ No new elizaOS actions, providers, or server-side services are added. All data is fetched from `@elizaos/plugin-wallet` through the shared `client` API.
23
+
24
+ ## Requirements
25
+
26
+ - `@elizaos/plugin-wallet` must be loaded — this plugin reads wallet data via the wallet API.
27
+ - `@elizaos/app-core` peer dep for shell page and widget registration.
28
+ - React 18 or later.
29
+
30
+ ## Enabling the plugin
31
+
32
+ Import the side-effect module once at app boot so shell pages and widgets are registered before the shell mounts:
33
+
34
+ ```ts
35
+ import "@elizaos/plugin-wallet-ui/ui";
36
+ // or import the walletAppPlugin descriptor for custom registration:
37
+ import { walletAppPlugin } from "@elizaos/plugin-wallet-ui";
38
+ ```
39
+
40
+ Pass `walletAppPlugin` to your elizaOS plugin loader if your shell uses the plugin registry.
41
+
42
+ ## Supported chains
43
+
44
+ **Primary inventory chains** (per-user filter toggles):
45
+ - Ethereum, Base, BNB Chain (BSC), Avalanche (AVAX), Solana
46
+
47
+ **Additional chains** (URL/config helpers only, no filter toggle):
48
+ - Arbitrum, Optimism, Polygon
49
+
50
+ ## Configuration
51
+
52
+ No environment variables are required. Wallet RPC provider selection (Eliza Cloud, Alchemy, QuickNode, Helius/Birdeye, or Custom) is managed by `@elizaos/plugin-wallet` and surfaced via the in-app RPC settings button.
53
+
54
+ User preferences (hidden tokens, sidebar width) are stored in `localStorage` with `eliza:wallet:*` key prefixes.
55
+
56
+ ## Building
57
+
58
+ ```bash
59
+ bun run --cwd plugins/plugin-wallet-ui build
60
+ ```
61
+
62
+ This runs three steps: `tsup` for the plugin entry, `vite` for the standalone views bundle (`dist/views/bundle.js`), and `tsc` for type declarations. Both the tsup and vite outputs must be present for a complete distribution.
package/package.json ADDED
@@ -0,0 +1,79 @@
1
+ {
2
+ "name": "@elizaos/plugin-wallet-ui",
3
+ "version": "2.0.3-beta.5",
4
+ "type": "module",
5
+ "main": "./dist/index.js",
6
+ "exports": {
7
+ ".": {
8
+ "types": "./dist/index.d.ts",
9
+ "eliza-source": {
10
+ "types": "./src/index.ts",
11
+ "import": "./src/index.ts",
12
+ "default": "./src/index.ts"
13
+ },
14
+ "bun": {
15
+ "types": "./src/index.ts",
16
+ "import": "./src/index.ts",
17
+ "default": "./src/index.ts"
18
+ },
19
+ "import": "./dist/index.js",
20
+ "default": "./dist/index.js"
21
+ },
22
+ "./*.css": "./dist/*.css",
23
+ "./*": {
24
+ "types": "./dist/*.d.ts",
25
+ "eliza-source": {
26
+ "types": "./src/*.ts",
27
+ "import": "./src/*.ts",
28
+ "default": "./src/*.ts"
29
+ },
30
+ "import": "./dist/*.js",
31
+ "default": "./dist/*.js"
32
+ }
33
+ },
34
+ "dependencies": {
35
+ "@elizaos/core": "2.0.3-beta.5",
36
+ "@elizaos/shared": "2.0.3-beta.5",
37
+ "@elizaos/ui": "2.0.3-beta.5",
38
+ "lucide-react": "^1.0.0"
39
+ },
40
+ "peerDependencies": {
41
+ "@elizaos/app-core": "2.0.3-beta.5",
42
+ "@elizaos/plugin-wallet": "2.0.3-beta.5",
43
+ "react": ">=18.0.0"
44
+ },
45
+ "elizaos": {
46
+ "app": {
47
+ "heroImage": "assets/hero.png"
48
+ },
49
+ "appRegister": "register"
50
+ },
51
+ "publishConfig": {
52
+ "access": "public"
53
+ },
54
+ "types": "./dist/index.d.ts",
55
+ "scripts": {
56
+ "build": "bun run build:js && bun run build:views && bun run build:types",
57
+ "clean": "node ../../packages/scripts/rm-path-recursive.mjs dist",
58
+ "build:js": "tsup --config ../tsup.plugin-packages.shared.ts",
59
+ "build:views": "bunx --bun vite build --config vite.config.views.ts",
60
+ "build:types": "tsc --noCheck -p tsconfig.build.json",
61
+ "typecheck": "tsgo --noEmit -p tsconfig.build.json",
62
+ "test": "bunx vitest run --config ./vitest.config.ts"
63
+ },
64
+ "files": [
65
+ "dist"
66
+ ],
67
+ "devDependencies": {
68
+ "@testing-library/react": "^16.3.2",
69
+ "@types/react": "^19.0.0",
70
+ "@types/react-dom": "^19.0.0",
71
+ "jsdom": "^29.0.0",
72
+ "react": "^19.0.0",
73
+ "react-dom": "^19.0.0",
74
+ "tsup": "^8.5.1",
75
+ "vite": "^8.0.0",
76
+ "vitest": "^4.0.17"
77
+ },
78
+ "gitHead": "ff6157011c9459670021cc28a6797592a78b8817"
79
+ }