@paylobster/cli 4.1.0 → 4.2.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.
- package/IMPLEMENTATION_SUMMARY.md +288 -0
- package/NEW_FEATURES.md +228 -0
- package/dist/src/commands/bridge.d.ts +6 -0
- package/dist/src/commands/bridge.d.ts.map +1 -0
- package/dist/src/commands/bridge.js +273 -0
- package/dist/src/commands/bridge.js.map +1 -0
- package/dist/src/commands/portfolio.d.ts +6 -0
- package/dist/src/commands/portfolio.d.ts.map +1 -0
- package/dist/src/commands/portfolio.js +179 -0
- package/dist/src/commands/portfolio.js.map +1 -0
- package/dist/src/commands/swap.d.ts +6 -0
- package/dist/src/commands/swap.d.ts.map +1 -0
- package/dist/src/commands/swap.js +278 -0
- package/dist/src/commands/swap.js.map +1 -0
- package/dist/src/index.js +7 -1
- package/dist/src/index.js.map +1 -1
- package/dist/src/lib/types.d.ts +1 -0
- package/dist/src/lib/types.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/commands/bridge.ts +443 -0
- package/src/commands/portfolio.ts +227 -0
- package/src/commands/swap.ts +365 -0
- package/src/index.ts +7 -1
- package/src/lib/types.ts +1 -0
|
@@ -0,0 +1,288 @@
|
|
|
1
|
+
# Implementation Summary - PayLobster CLI v4.2.0
|
|
2
|
+
|
|
3
|
+
## ✅ Completed Tasks
|
|
4
|
+
|
|
5
|
+
### 1. Token Swap Command (`src/commands/swap.ts`)
|
|
6
|
+
**Status:** ✅ Complete
|
|
7
|
+
|
|
8
|
+
Features implemented:
|
|
9
|
+
- `plob swap quote --from X --to Y --amount Z` - Get swap quotes
|
|
10
|
+
- `plob swap execute --from X --to Y --amount Z` - Execute swaps (shows tx data)
|
|
11
|
+
- `plob swap tokens` - List available tokens on Base
|
|
12
|
+
- `plob swap price <address>` - Get token price in USDC
|
|
13
|
+
|
|
14
|
+
Technical details:
|
|
15
|
+
- Uses 0x Swap API v2 (https://api.0x.org)
|
|
16
|
+
- Supports Base chain (chainId: 8453)
|
|
17
|
+
- Headers: `0x-api-key`, `0x-version: v2`
|
|
18
|
+
- Token symbol → address resolution
|
|
19
|
+
- Proper decimal handling (6 decimals for USDC, 18 for others)
|
|
20
|
+
- Rich formatted output with chalk (colors, emojis)
|
|
21
|
+
- JSON output support with `--json` flag
|
|
22
|
+
- Confirmation prompts with `--yes` to skip
|
|
23
|
+
|
|
24
|
+
Supported tokens:
|
|
25
|
+
- USDC (0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913)
|
|
26
|
+
- WETH (0x4200000000000000000000000000000000000006)
|
|
27
|
+
- DAI (0x50c5725949A6F0c72E6C4a641F24049A917DB0Cb)
|
|
28
|
+
- USDbC (0xd9aAEc86B65D86f6A7B5B1b0c42FFA531710b6CA)
|
|
29
|
+
- ETH (0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE)
|
|
30
|
+
|
|
31
|
+
---
|
|
32
|
+
|
|
33
|
+
### 2. Bridge Command (`src/commands/bridge.ts`)
|
|
34
|
+
**Status:** ✅ Complete
|
|
35
|
+
|
|
36
|
+
Features implemented:
|
|
37
|
+
- `plob bridge quote --from X --to Y --token Z --amount A` - Get bridge quotes
|
|
38
|
+
- `plob bridge execute --from X --to Y --token Z --amount A` - Execute bridges (shows tx data)
|
|
39
|
+
- `plob bridge status <txHash>` - Check bridge transaction status
|
|
40
|
+
- `plob bridge chains` - List all supported chains
|
|
41
|
+
|
|
42
|
+
Technical details:
|
|
43
|
+
- Uses Li.Fi API (https://li.quest/v1)
|
|
44
|
+
- Supports 59+ chains (Ethereum, Base, Solana, Polygon, etc.)
|
|
45
|
+
- Chain name → ID resolution
|
|
46
|
+
- Fee breakdown and time estimates
|
|
47
|
+
- Rich formatted output
|
|
48
|
+
- JSON output support
|
|
49
|
+
- Status tracking for cross-chain transfers
|
|
50
|
+
|
|
51
|
+
Chain ID mapping:
|
|
52
|
+
- base → 8453
|
|
53
|
+
- ethereum → 1
|
|
54
|
+
- polygon → 137
|
|
55
|
+
- arbitrum → 42161
|
|
56
|
+
- optimism → 10
|
|
57
|
+
- avalanche → 43114
|
|
58
|
+
- bsc → 56
|
|
59
|
+
- solana → 1151111081099710
|
|
60
|
+
|
|
61
|
+
---
|
|
62
|
+
|
|
63
|
+
### 3. Portfolio Command (`src/commands/portfolio.ts`)
|
|
64
|
+
**Status:** ✅ Complete
|
|
65
|
+
|
|
66
|
+
Features implemented:
|
|
67
|
+
- `plob portfolio` - View all token balances and portfolio value
|
|
68
|
+
- `plob portfolio --chain base` - Filter by chain (Base only currently)
|
|
69
|
+
|
|
70
|
+
Technical details:
|
|
71
|
+
- Uses viem to read ERC20 token balances
|
|
72
|
+
- Checks: ETH, USDC, WETH, DAI, USDbC
|
|
73
|
+
- Calculates total portfolio value in USD
|
|
74
|
+
- Filters out zero balances
|
|
75
|
+
- Sorts by USD value (highest first)
|
|
76
|
+
- Table output with cli-table3
|
|
77
|
+
- Mock price oracle (ETH: $3000, USDC/DAI/USDbC: $1)
|
|
78
|
+
- JSON output support
|
|
79
|
+
|
|
80
|
+
Note: Prices are currently mocked. In production, integrate with a real price oracle API (e.g., CoinGecko, CoinMarketCap).
|
|
81
|
+
|
|
82
|
+
---
|
|
83
|
+
|
|
84
|
+
### 4. Configuration Updates
|
|
85
|
+
|
|
86
|
+
**Files modified:**
|
|
87
|
+
- `src/index.ts` - Registered 3 new commands, updated version to 4.2.0
|
|
88
|
+
- `src/lib/types.ts` - Added `0xApiKey?: string` to CLIConfig interface
|
|
89
|
+
- `package.json` - Updated version to 4.2.0
|
|
90
|
+
|
|
91
|
+
**New files created:**
|
|
92
|
+
- `src/commands/swap.ts` (11.6 KB)
|
|
93
|
+
- `src/commands/bridge.ts` (12.8 KB)
|
|
94
|
+
- `src/commands/portfolio.ts` (6.6 KB)
|
|
95
|
+
- `NEW_FEATURES.md` (5.0 KB)
|
|
96
|
+
- `IMPLEMENTATION_SUMMARY.md` (this file)
|
|
97
|
+
|
|
98
|
+
---
|
|
99
|
+
|
|
100
|
+
## 🧪 Testing Results
|
|
101
|
+
|
|
102
|
+
### Build Status
|
|
103
|
+
```bash
|
|
104
|
+
$ npm run build
|
|
105
|
+
✅ Build successful with no TypeScript errors
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
### Command Tests
|
|
109
|
+
```bash
|
|
110
|
+
$ plob --version
|
|
111
|
+
✅ 4.2.0
|
|
112
|
+
|
|
113
|
+
$ plob --help
|
|
114
|
+
✅ All 3 new commands listed:
|
|
115
|
+
- swap: Token swaps on Base using 0x
|
|
116
|
+
- bridge: Cross-chain token bridges using Li.Fi
|
|
117
|
+
- portfolio: View token portfolio and balances
|
|
118
|
+
|
|
119
|
+
$ plob swap tokens
|
|
120
|
+
✅ Shows 5 tokens with addresses and decimals
|
|
121
|
+
|
|
122
|
+
$ plob bridge chains
|
|
123
|
+
✅ Shows 7 popular chains + total of 59 supported chains
|
|
124
|
+
|
|
125
|
+
$ plob swap --help
|
|
126
|
+
✅ Shows 4 subcommands: quote, execute, tokens, price
|
|
127
|
+
|
|
128
|
+
$ plob bridge --help
|
|
129
|
+
✅ Shows 4 subcommands: quote, execute, status, chains
|
|
130
|
+
|
|
131
|
+
$ plob portfolio --help
|
|
132
|
+
✅ Shows options: --chain, --json
|
|
133
|
+
```
|
|
134
|
+
|
|
135
|
+
---
|
|
136
|
+
|
|
137
|
+
## 📋 Usage Examples
|
|
138
|
+
|
|
139
|
+
### Swap Examples
|
|
140
|
+
```bash
|
|
141
|
+
# Get a quote
|
|
142
|
+
plob swap quote --from USDC --to WETH --amount 50
|
|
143
|
+
|
|
144
|
+
# Execute swap (with confirmation)
|
|
145
|
+
plob swap execute --from USDC --to WETH --amount 50
|
|
146
|
+
|
|
147
|
+
# Skip confirmation
|
|
148
|
+
plob swap execute --from USDC --to WETH --amount 50 --yes
|
|
149
|
+
|
|
150
|
+
# List tokens
|
|
151
|
+
plob swap tokens
|
|
152
|
+
|
|
153
|
+
# Get token price
|
|
154
|
+
plob swap price 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913
|
|
155
|
+
|
|
156
|
+
# JSON output
|
|
157
|
+
plob swap quote --from USDC --to WETH --amount 50 --json
|
|
158
|
+
```
|
|
159
|
+
|
|
160
|
+
### Bridge Examples
|
|
161
|
+
```bash
|
|
162
|
+
# Get bridge quote
|
|
163
|
+
plob bridge quote --from base --to solana --token USDC --amount 100
|
|
164
|
+
|
|
165
|
+
# Execute bridge
|
|
166
|
+
plob bridge execute --from base --to ethereum --token USDC --amount 50
|
|
167
|
+
|
|
168
|
+
# Check status
|
|
169
|
+
plob bridge status 0xTRANSACTION_HASH
|
|
170
|
+
|
|
171
|
+
# List chains
|
|
172
|
+
plob bridge chains
|
|
173
|
+
|
|
174
|
+
# JSON output
|
|
175
|
+
plob bridge quote --from base --to polygon --token USDC --amount 100 --json
|
|
176
|
+
```
|
|
177
|
+
|
|
178
|
+
### Portfolio Examples
|
|
179
|
+
```bash
|
|
180
|
+
# View portfolio
|
|
181
|
+
plob portfolio
|
|
182
|
+
|
|
183
|
+
# JSON output
|
|
184
|
+
plob portfolio --json
|
|
185
|
+
```
|
|
186
|
+
|
|
187
|
+
---
|
|
188
|
+
|
|
189
|
+
## 🔐 Configuration Required
|
|
190
|
+
|
|
191
|
+
### 0x API Key (for swap command)
|
|
192
|
+
```bash
|
|
193
|
+
# Option 1: Via CLI config
|
|
194
|
+
plob config set 0xApiKey YOUR_API_KEY
|
|
195
|
+
|
|
196
|
+
# Option 2: Via environment variable
|
|
197
|
+
export ZERO_X_API_KEY=your_api_key
|
|
198
|
+
```
|
|
199
|
+
|
|
200
|
+
Get your API key from: https://0x.org/
|
|
201
|
+
|
|
202
|
+
### Wallet Configuration
|
|
203
|
+
Commands that read balances require wallet setup:
|
|
204
|
+
```bash
|
|
205
|
+
plob auth
|
|
206
|
+
```
|
|
207
|
+
|
|
208
|
+
---
|
|
209
|
+
|
|
210
|
+
## 🎯 Design Patterns Followed
|
|
211
|
+
|
|
212
|
+
✅ Consistent with existing PayLobster CLI patterns:
|
|
213
|
+
- Uses Commander.js for CLI structure
|
|
214
|
+
- `createXCommand()` export pattern
|
|
215
|
+
- Chalk for colored output
|
|
216
|
+
- Ora spinners for loading states
|
|
217
|
+
- `--json` flag for all commands
|
|
218
|
+
- `--yes` flag to skip confirmations
|
|
219
|
+
- Error handling with `try/catch` and `process.exit(1)`
|
|
220
|
+
- Type safety with TypeScript interfaces
|
|
221
|
+
- Viem for blockchain interactions
|
|
222
|
+
|
|
223
|
+
✅ Code organization:
|
|
224
|
+
- Token helpers (format, parse, resolve)
|
|
225
|
+
- API client functions (call0xAPI, callLiFiAPI)
|
|
226
|
+
- Clean separation of concerns
|
|
227
|
+
- Reusable utility functions
|
|
228
|
+
|
|
229
|
+
✅ User experience:
|
|
230
|
+
- Rich formatted output with emojis
|
|
231
|
+
- Clear error messages
|
|
232
|
+
- Confirmation prompts for destructive actions
|
|
233
|
+
- Table output for lists
|
|
234
|
+
- Human-readable amounts and values
|
|
235
|
+
|
|
236
|
+
---
|
|
237
|
+
|
|
238
|
+
## 🚀 Next Steps (Production Readiness)
|
|
239
|
+
|
|
240
|
+
### Swap Command
|
|
241
|
+
1. ✅ Quote fetching
|
|
242
|
+
2. ⏳ Transaction signing with viem
|
|
243
|
+
3. ⏳ ERC20 approval flow
|
|
244
|
+
4. ⏳ Transaction confirmation/waiting
|
|
245
|
+
5. ⏳ Slippage protection
|
|
246
|
+
6. ⏳ Error handling for failed swaps
|
|
247
|
+
|
|
248
|
+
### Bridge Command
|
|
249
|
+
1. ✅ Quote fetching
|
|
250
|
+
2. ✅ Status tracking
|
|
251
|
+
3. ⏳ Transaction execution
|
|
252
|
+
4. ⏳ Multi-step approval handling
|
|
253
|
+
5. ⏳ Receipt polling
|
|
254
|
+
6. ⏳ Error recovery
|
|
255
|
+
|
|
256
|
+
### Portfolio Command
|
|
257
|
+
1. ✅ Balance fetching
|
|
258
|
+
2. ✅ Multi-token support
|
|
259
|
+
3. ⏳ Real price oracle integration (CoinGecko/CMC)
|
|
260
|
+
4. ⏳ Multi-chain support
|
|
261
|
+
5. ⏳ Historical value tracking
|
|
262
|
+
6. ⏳ Token discovery (auto-detect holdings)
|
|
263
|
+
|
|
264
|
+
---
|
|
265
|
+
|
|
266
|
+
## 📊 Stats
|
|
267
|
+
|
|
268
|
+
- **Files created:** 3 new command files
|
|
269
|
+
- **Files modified:** 3 existing files
|
|
270
|
+
- **Lines of code:** ~1,000 new lines
|
|
271
|
+
- **TypeScript errors:** 0
|
|
272
|
+
- **Build status:** ✅ Passing
|
|
273
|
+
- **Test status:** ✅ Manual tests passing
|
|
274
|
+
- **Version:** 4.2.0
|
|
275
|
+
|
|
276
|
+
---
|
|
277
|
+
|
|
278
|
+
## 🎉 Summary
|
|
279
|
+
|
|
280
|
+
Successfully implemented all three requested features for PayLobster CLI v4.2.0:
|
|
281
|
+
|
|
282
|
+
1. ✅ **Token swaps** via 0x Protocol on Base
|
|
283
|
+
2. ✅ **Cross-chain bridges** via Li.Fi (59+ chains)
|
|
284
|
+
3. ✅ **Portfolio viewer** with multi-token support
|
|
285
|
+
|
|
286
|
+
All commands follow existing patterns, include proper error handling, rich formatting, and JSON output support. The implementation is production-ready for quote/info fetching, with transaction execution requiring additional viem integration for signing.
|
|
287
|
+
|
|
288
|
+
Build passes with zero errors. All manual tests successful.
|
package/NEW_FEATURES.md
ADDED
|
@@ -0,0 +1,228 @@
|
|
|
1
|
+
# PayLobster CLI v4.2.0 - New Features
|
|
2
|
+
|
|
3
|
+
## Overview
|
|
4
|
+
Added three new commands to the PayLobster CLI:
|
|
5
|
+
1. **Token Swaps** - Swap tokens on Base using 0x Protocol
|
|
6
|
+
2. **Cross-Chain Bridges** - Bridge tokens across chains using Li.Fi
|
|
7
|
+
3. **Portfolio Viewer** - View all token balances and portfolio value
|
|
8
|
+
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
## 1. Token Swap (`plob swap`)
|
|
12
|
+
|
|
13
|
+
Swap tokens on Base using the 0x Swap API v2.
|
|
14
|
+
|
|
15
|
+
### Commands:
|
|
16
|
+
|
|
17
|
+
#### Get Quote
|
|
18
|
+
```bash
|
|
19
|
+
plob swap quote --from USDC --to WETH --amount 50
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
Shows:
|
|
23
|
+
- Sell amount and token
|
|
24
|
+
- Buy amount and estimated value
|
|
25
|
+
- Exchange rate
|
|
26
|
+
- Gas cost estimate
|
|
27
|
+
|
|
28
|
+
#### Execute Swap
|
|
29
|
+
```bash
|
|
30
|
+
plob swap execute --from USDC --to WETH --amount 50
|
|
31
|
+
plob swap execute --from USDC --to WETH --amount 50 --yes # Skip confirmation
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
**Note:** Execution requires viem integration (transaction signing). Currently shows transaction data that can be used to execute the swap.
|
|
35
|
+
|
|
36
|
+
#### List Available Tokens
|
|
37
|
+
```bash
|
|
38
|
+
plob swap tokens
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
Shows supported tokens on Base:
|
|
42
|
+
- USDC
|
|
43
|
+
- WETH
|
|
44
|
+
- DAI
|
|
45
|
+
- USDbC
|
|
46
|
+
- ETH
|
|
47
|
+
|
|
48
|
+
#### Get Token Price
|
|
49
|
+
```bash
|
|
50
|
+
plob swap price 0xTOKEN_ADDRESS
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
### Configuration
|
|
54
|
+
Set your 0x API key:
|
|
55
|
+
```bash
|
|
56
|
+
plob config set 0xApiKey YOUR_API_KEY
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
Or set environment variable:
|
|
60
|
+
```bash
|
|
61
|
+
export ZERO_X_API_KEY=your_key
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
Get API key from: https://0x.org/
|
|
65
|
+
|
|
66
|
+
---
|
|
67
|
+
|
|
68
|
+
## 2. Cross-Chain Bridge (`plob bridge`)
|
|
69
|
+
|
|
70
|
+
Bridge tokens across chains using Li.Fi protocol.
|
|
71
|
+
|
|
72
|
+
### Commands:
|
|
73
|
+
|
|
74
|
+
#### Get Bridge Quote
|
|
75
|
+
```bash
|
|
76
|
+
plob bridge quote --from base --to solana --token USDC --amount 100
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
Shows:
|
|
80
|
+
- Source and destination amounts
|
|
81
|
+
- Bridge fee
|
|
82
|
+
- Estimated time
|
|
83
|
+
- Bridge provider (e.g., Wormhole)
|
|
84
|
+
|
|
85
|
+
#### Execute Bridge
|
|
86
|
+
```bash
|
|
87
|
+
plob bridge execute --from base --to solana --token USDC --amount 100
|
|
88
|
+
plob bridge execute --from base --to solana --token USDC --amount 100 --yes
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
**Note:** Execution requires viem integration. Currently shows transaction data.
|
|
92
|
+
|
|
93
|
+
#### Check Bridge Status
|
|
94
|
+
```bash
|
|
95
|
+
plob bridge status 0xTRANSACTION_HASH
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
Tracks:
|
|
99
|
+
- Sending transaction status
|
|
100
|
+
- Receiving transaction (if complete)
|
|
101
|
+
- Overall bridge status
|
|
102
|
+
|
|
103
|
+
#### List Supported Chains
|
|
104
|
+
```bash
|
|
105
|
+
plob bridge chains
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
Popular chains supported:
|
|
109
|
+
- Base (8453)
|
|
110
|
+
- Ethereum (1)
|
|
111
|
+
- Polygon (137)
|
|
112
|
+
- Arbitrum (42161)
|
|
113
|
+
- Optimism (10)
|
|
114
|
+
- Avalanche (43114)
|
|
115
|
+
- BSC (56)
|
|
116
|
+
- Solana (1151111081099710)
|
|
117
|
+
- And 50+ more
|
|
118
|
+
|
|
119
|
+
---
|
|
120
|
+
|
|
121
|
+
## 3. Portfolio Viewer (`plob portfolio`)
|
|
122
|
+
|
|
123
|
+
View all token balances and total portfolio value.
|
|
124
|
+
|
|
125
|
+
### Command:
|
|
126
|
+
```bash
|
|
127
|
+
plob portfolio
|
|
128
|
+
plob portfolio --chain base
|
|
129
|
+
```
|
|
130
|
+
|
|
131
|
+
Shows:
|
|
132
|
+
- All non-zero token balances (ETH, USDC, WETH, DAI, USDbC)
|
|
133
|
+
- USD value for each token
|
|
134
|
+
- Total portfolio value
|
|
135
|
+
|
|
136
|
+
### Example Output:
|
|
137
|
+
```
|
|
138
|
+
💼 Portfolio
|
|
139
|
+
────────────────────────────────────────────────────────────
|
|
140
|
+
Address: 0x1234...5678
|
|
141
|
+
Chain: Base
|
|
142
|
+
────────────────────────────────────────────────────────────
|
|
143
|
+
|
|
144
|
+
┌────────┬──────────────┬──────────────┐
|
|
145
|
+
│ Token │ Balance │ Value (USD) │
|
|
146
|
+
├────────┼──────────────┼──────────────┤
|
|
147
|
+
│ ETH │ 1.523 │ $4,569.36 │
|
|
148
|
+
│ USDC │ 250.00 │ $250.00 │
|
|
149
|
+
│ WETH │ 0.125 │ $375.00 │
|
|
150
|
+
└────────┴──────────────┴──────────────┘
|
|
151
|
+
|
|
152
|
+
────────────────────────────────────────────────────────────
|
|
153
|
+
Total Portfolio Value: $5,194.36
|
|
154
|
+
────────────────────────────────────────────────────────────
|
|
155
|
+
```
|
|
156
|
+
|
|
157
|
+
**Note:** Prices are approximate (using mock prices currently). In production, integrate with a price oracle API.
|
|
158
|
+
|
|
159
|
+
---
|
|
160
|
+
|
|
161
|
+
## JSON Output
|
|
162
|
+
|
|
163
|
+
All commands support `--json` flag for programmatic use:
|
|
164
|
+
|
|
165
|
+
```bash
|
|
166
|
+
plob swap quote --from USDC --to WETH --amount 50 --json
|
|
167
|
+
plob bridge quote --from base --to solana --token USDC --amount 100 --json
|
|
168
|
+
plob portfolio --json
|
|
169
|
+
```
|
|
170
|
+
|
|
171
|
+
---
|
|
172
|
+
|
|
173
|
+
## Implementation Details
|
|
174
|
+
|
|
175
|
+
### Swap Command (`src/commands/swap.ts`)
|
|
176
|
+
- Uses 0x Swap API v2 (https://api.0x.org)
|
|
177
|
+
- Targets Base chain (chainId: 8453)
|
|
178
|
+
- Headers: `0x-api-key`, `0x-version: v2`
|
|
179
|
+
- Supports quote, price, and token listing
|
|
180
|
+
- Rich formatted output with chalk
|
|
181
|
+
- Token address resolution (symbol → address)
|
|
182
|
+
- Proper decimal handling for different token types
|
|
183
|
+
|
|
184
|
+
### Bridge Command (`src/commands/bridge.ts`)
|
|
185
|
+
- Uses Li.Fi API (https://li.quest/v1)
|
|
186
|
+
- Supports 50+ chains
|
|
187
|
+
- Cross-chain quote fetching
|
|
188
|
+
- Bridge status tracking
|
|
189
|
+
- Chain ID resolution (name → ID)
|
|
190
|
+
- Formatted output with fee breakdown and time estimates
|
|
191
|
+
|
|
192
|
+
### Portfolio Command (`src/commands/portfolio.ts`)
|
|
193
|
+
- Uses viem to read ERC20 balances
|
|
194
|
+
- Checks ETH + major stablecoins/tokens
|
|
195
|
+
- Aggregates USD values
|
|
196
|
+
- Clean table output
|
|
197
|
+
- Filters zero balances
|
|
198
|
+
- Sorts by USD value
|
|
199
|
+
|
|
200
|
+
---
|
|
201
|
+
|
|
202
|
+
## Testing
|
|
203
|
+
|
|
204
|
+
Build the project:
|
|
205
|
+
```bash
|
|
206
|
+
cd ~/Projects/paylobster/cli
|
|
207
|
+
npm run build
|
|
208
|
+
```
|
|
209
|
+
|
|
210
|
+
Test commands:
|
|
211
|
+
```bash
|
|
212
|
+
npm run dev -- swap tokens
|
|
213
|
+
npm run dev -- bridge chains
|
|
214
|
+
npm run dev -- portfolio --help
|
|
215
|
+
```
|
|
216
|
+
|
|
217
|
+
---
|
|
218
|
+
|
|
219
|
+
## Next Steps
|
|
220
|
+
|
|
221
|
+
To fully enable swap and bridge execution:
|
|
222
|
+
1. Integrate viem transaction signing
|
|
223
|
+
2. Add approval flow for ERC20 tokens
|
|
224
|
+
3. Implement transaction waiting/confirmation
|
|
225
|
+
4. Add slippage protection for swaps
|
|
226
|
+
5. Integrate real-time price oracle for portfolio
|
|
227
|
+
6. Add more tokens to portfolio tracker
|
|
228
|
+
7. Support multi-chain portfolio viewing
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bridge.d.ts","sourceRoot":"","sources":["../../../src/commands/bridge.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAoLpC;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,OAAO,CAmQ7C"}
|