jaspervault_cli 1.0.24 → 1.0.25
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/README.md +12 -4
- package/dist/src/commands/deposit.d.ts +4 -4
- package/dist/src/commands/deposit.js +134 -121
- package/dist/src/commands/deposit.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# JasperVault CLI
|
|
1
|
+
# JasperVault CLI
|
|
2
2
|
|
|
3
3
|
Trade perpetuals on JasperVault through AI conversation. Install this CLI and connect your AI assistant (OpenClaw, Cursor, Claude Code) — then just talk to place orders, set take-profits, and manage positions without touching the command line.
|
|
4
4
|
|
|
@@ -85,9 +85,9 @@ All configuration is done via environment variables. For most users, **no config
|
|
|
85
85
|
| `JV_JASPERVAULT_RPC_URL` | No | JasperVault chain RPC URL override | built-in |
|
|
86
86
|
| `JV_SUBGRAPH_URL` | No | Subgraph endpoint override | built-in per network |
|
|
87
87
|
| `WC_PROJECT_ID` | No | WalletConnect Cloud project ID (get one at [cloud.reown.com](https://cloud.reown.com)) | — |
|
|
88
|
-
| `PRIVATE_KEY` | No* | EOA wallet private key;
|
|
88
|
+
| `PRIVATE_KEY` | No* | EOA wallet private key; when set, `deposit` and `vault init` execute directly without WalletConnect | — |
|
|
89
89
|
|
|
90
|
-
\* Not required when using the WalletConnect flow (`vault setup`, `deposit
|
|
90
|
+
\* Not required when using the WalletConnect flow (`vault setup`, `deposit`).
|
|
91
91
|
|
|
92
92
|
### Connecting to a Different Environment
|
|
93
93
|
|
|
@@ -111,7 +111,15 @@ To deposit tokens from Base to JasperVault, tell OpenClaw:
|
|
|
111
111
|
|
|
112
112
|
> **"Deposit 100 JUSDC into my vault"**
|
|
113
113
|
|
|
114
|
-
|
|
114
|
+
Or run it directly:
|
|
115
|
+
|
|
116
|
+
```bash
|
|
117
|
+
jv deposit --token jusdc --amount 100 --pretty
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
The CLI auto-detects how to sign:
|
|
121
|
+
- **`PRIVATE_KEY` set** → signs and sends the transaction directly
|
|
122
|
+
- **No `PRIVATE_KEY`** → displays a WalletConnect QR code; scan with your mobile wallet to approve on your phone
|
|
115
123
|
|
|
116
124
|
---
|
|
117
125
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Command } from 'commander';
|
|
2
|
-
import {
|
|
2
|
+
import type { Provider } from 'ethers';
|
|
3
3
|
import type { WarpTokenConfig } from '../services/chain-config.js';
|
|
4
4
|
export interface UnsignedTx {
|
|
5
5
|
to: string;
|
|
@@ -26,7 +26,7 @@ export interface DepositTxInfo {
|
|
|
26
26
|
/**
|
|
27
27
|
* Compute vault address from vault factory (read-only).
|
|
28
28
|
*/
|
|
29
|
-
export declare function computeVaultAddress(provider:
|
|
29
|
+
export declare function computeVaultAddress(provider: Provider, vaultFactoryAddress: string, ownerAddress: string, vaultIndex: number): Promise<string>;
|
|
30
30
|
/**
|
|
31
31
|
* Build approve tx calldata for ERC20.
|
|
32
32
|
*/
|
|
@@ -42,7 +42,7 @@ export declare function buildDepositTransactions(warpConfig: WarpTokenConfig, re
|
|
|
42
42
|
/**
|
|
43
43
|
* Check balances and allowance for deposit (read-only).
|
|
44
44
|
*/
|
|
45
|
-
export declare function checkDepositBalances(baseProvider:
|
|
45
|
+
export declare function checkDepositBalances(baseProvider: Provider, walletAddress: string, warpConfig: WarpTokenConfig, amountWei: bigint): Promise<{
|
|
46
46
|
underlyingBalance: bigint;
|
|
47
47
|
warpBalance: bigint;
|
|
48
48
|
allowance: bigint;
|
|
@@ -52,7 +52,7 @@ export declare function checkDepositBalances(baseProvider: ethers.Provider, wall
|
|
|
52
52
|
/**
|
|
53
53
|
* Poll for token arrival on JasperVault chain.
|
|
54
54
|
*/
|
|
55
|
-
export declare function pollForDepositArrival(jaspervaultProvider:
|
|
55
|
+
export declare function pollForDepositArrival(jaspervaultProvider: Provider, destWarpRouterAddress: string, recipient: string, initialBalance: bigint, timeoutMs?: number): Promise<{
|
|
56
56
|
arrived: boolean;
|
|
57
57
|
arrivalTimeMs?: number;
|
|
58
58
|
}>;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Contract, Interface, JsonRpcProvider, MaxUint256, Wallet, parseUnits, zeroPadValue, } from 'ethers';
|
|
2
2
|
import { printJson, exitWithError, EXIT_CODES } from '../utils/output.js';
|
|
3
3
|
import { getWarpConfig, getBaseRpcUrl, getJaspervaultRpcUrl, getNetworkConfig, } from '../services/chain-config.js';
|
|
4
|
+
import { initWcAndConnect, startHeartbeat } from './connect.js';
|
|
4
5
|
const ERC20_ABI = [
|
|
5
6
|
'function balanceOf(address account) external view returns (uint256)',
|
|
6
7
|
'function allowance(address owner, address spender) external view returns (uint256)',
|
|
@@ -22,7 +23,7 @@ const POLL_INTERVAL_MS = 1000;
|
|
|
22
23
|
* Compute vault address from vault factory (read-only).
|
|
23
24
|
*/
|
|
24
25
|
export async function computeVaultAddress(provider, vaultFactoryAddress, ownerAddress, vaultIndex) {
|
|
25
|
-
const iface = new
|
|
26
|
+
const iface = new Interface(VAULT_FACTORY_ABI);
|
|
26
27
|
const data = iface.encodeFunctionData('getAddress', [ownerAddress, BigInt(vaultIndex)]);
|
|
27
28
|
const result = await provider.call({ to: vaultFactoryAddress, data });
|
|
28
29
|
const decoded = iface.decodeFunctionResult('getAddress', result);
|
|
@@ -32,15 +33,15 @@ export async function computeVaultAddress(provider, vaultFactoryAddress, ownerAd
|
|
|
32
33
|
* Build approve tx calldata for ERC20.
|
|
33
34
|
*/
|
|
34
35
|
export function buildApproveCalldata(spender, amountWei) {
|
|
35
|
-
const iface = new
|
|
36
|
+
const iface = new Interface(ERC20_ABI);
|
|
36
37
|
return iface.encodeFunctionData('approve', [spender, amountWei]);
|
|
37
38
|
}
|
|
38
39
|
/**
|
|
39
40
|
* Build transferRemote tx calldata for Hyperlane Warp.
|
|
40
41
|
*/
|
|
41
42
|
export function buildTransferRemoteCalldata(destinationDomain, recipient, amountWei) {
|
|
42
|
-
const iface = new
|
|
43
|
-
const recipientBytes32 =
|
|
43
|
+
const iface = new Interface(HYP_ERC20_ABI);
|
|
44
|
+
const recipientBytes32 = zeroPadValue(recipient, 32);
|
|
44
45
|
return iface.encodeFunctionData('transferRemote', [
|
|
45
46
|
destinationDomain,
|
|
46
47
|
recipientBytes32,
|
|
@@ -60,7 +61,7 @@ export function buildDepositTransactions(warpConfig, recipient, amountWei, needs
|
|
|
60
61
|
required: true,
|
|
61
62
|
tx: {
|
|
62
63
|
to: warpConfig.base.underlyingToken,
|
|
63
|
-
data: buildApproveCalldata(warpConfig.base.warpRouter,
|
|
64
|
+
data: buildApproveCalldata(warpConfig.base.warpRouter, MaxUint256),
|
|
64
65
|
value: '0x0',
|
|
65
66
|
chainId: chainIdHex,
|
|
66
67
|
},
|
|
@@ -83,8 +84,8 @@ export function buildDepositTransactions(warpConfig, recipient, amountWei, needs
|
|
|
83
84
|
* Check balances and allowance for deposit (read-only).
|
|
84
85
|
*/
|
|
85
86
|
export async function checkDepositBalances(baseProvider, walletAddress, warpConfig, amountWei) {
|
|
86
|
-
const underlyingToken = new
|
|
87
|
-
const warpRouter = new
|
|
87
|
+
const underlyingToken = new Contract(warpConfig.base.underlyingToken, ERC20_ABI, baseProvider);
|
|
88
|
+
const warpRouter = new Contract(warpConfig.base.warpRouter, HYP_ERC20_ABI, baseProvider);
|
|
88
89
|
const [underlyingBalance, warpBalance, allowance] = await Promise.all([
|
|
89
90
|
underlyingToken.balanceOf(walletAddress),
|
|
90
91
|
warpRouter.balanceOf(walletAddress),
|
|
@@ -98,7 +99,7 @@ export async function checkDepositBalances(baseProvider, walletAddress, warpConf
|
|
|
98
99
|
* Poll for token arrival on JasperVault chain.
|
|
99
100
|
*/
|
|
100
101
|
export async function pollForDepositArrival(jaspervaultProvider, destWarpRouterAddress, recipient, initialBalance, timeoutMs = POLL_TIMEOUT_MS) {
|
|
101
|
-
const destWarpRouter = new
|
|
102
|
+
const destWarpRouter = new Contract(destWarpRouterAddress, ERC20_ABI, jaspervaultProvider);
|
|
102
103
|
const pollStart = Date.now();
|
|
103
104
|
while (Date.now() - pollStart < timeoutMs) {
|
|
104
105
|
try {
|
|
@@ -114,148 +115,160 @@ export async function pollForDepositArrival(jaspervaultProvider, destWarpRouterA
|
|
|
114
115
|
}
|
|
115
116
|
return { arrived: false };
|
|
116
117
|
}
|
|
118
|
+
/**
|
|
119
|
+
* Send a transaction via WalletConnect and wait for on-chain confirmation.
|
|
120
|
+
*/
|
|
121
|
+
async function sendWcTransaction(client, session, walletAddress, to, data, baseProvider, phase, heartbeatMsg) {
|
|
122
|
+
const heartbeat = startHeartbeat(phase, heartbeatMsg);
|
|
123
|
+
let txHash;
|
|
124
|
+
try {
|
|
125
|
+
txHash = (await client.request({
|
|
126
|
+
topic: session.topic,
|
|
127
|
+
chainId: `eip155:${BASE_CHAIN_ID}`,
|
|
128
|
+
request: {
|
|
129
|
+
method: 'eth_sendTransaction',
|
|
130
|
+
params: [{
|
|
131
|
+
from: walletAddress,
|
|
132
|
+
to,
|
|
133
|
+
data,
|
|
134
|
+
value: '0x0',
|
|
135
|
+
}],
|
|
136
|
+
},
|
|
137
|
+
}));
|
|
138
|
+
}
|
|
139
|
+
catch (err) {
|
|
140
|
+
heartbeat.stop();
|
|
141
|
+
throw new Error(`Transaction rejected or failed: ${err.message}`);
|
|
142
|
+
}
|
|
143
|
+
heartbeat.stop();
|
|
144
|
+
await baseProvider.waitForTransaction(txHash, 1);
|
|
145
|
+
return txHash;
|
|
146
|
+
}
|
|
117
147
|
export function registerDepositCommand(program) {
|
|
118
|
-
|
|
148
|
+
program
|
|
119
149
|
.command('deposit')
|
|
120
|
-
.description('Deposit tokens
|
|
121
|
-
deposit
|
|
122
|
-
.command('info')
|
|
123
|
-
.description('Output unsigned tx data for WalletConnect (approve + transferRemote)')
|
|
124
|
-
.requiredOption('--wallet <address>', 'User EOA wallet address (from WalletConnect)')
|
|
150
|
+
.description('Deposit tokens from Base to JasperVault (auto-detects PRIVATE_KEY or WalletConnect)')
|
|
125
151
|
.requiredOption('--token <symbol>', 'Token: jbtc | jusdc | cbbtc | usdc')
|
|
126
|
-
.requiredOption('--amount <value>', 'Amount in human-readable units, e.g. "
|
|
127
|
-
.option('--network <name>', 'Network for vault address computation', 'jaspervault')
|
|
128
|
-
.option('--vault-index <n>', 'Vault index for computing recipient', '1')
|
|
129
|
-
.option('--pretty', 'Pretty-print JSON output')
|
|
130
|
-
.action(async (opts) => {
|
|
131
|
-
const walletAddress = ethers.getAddress(opts.wallet);
|
|
132
|
-
const warpConfig = getWarpConfig(opts.token);
|
|
133
|
-
const baseRpc = getBaseRpcUrl();
|
|
134
|
-
const jaspervaultRpc = getJaspervaultRpcUrl();
|
|
135
|
-
const net = getNetworkConfig(opts.network);
|
|
136
|
-
const baseProvider = new ethers.JsonRpcProvider(baseRpc);
|
|
137
|
-
const jaspervaultProvider = new ethers.JsonRpcProvider(jaspervaultRpc);
|
|
138
|
-
const vaultIndex = parseInt(opts.vaultIndex, 10);
|
|
139
|
-
const recipient = await computeVaultAddress(jaspervaultProvider, net.contracts.vaultFactory, walletAddress, vaultIndex);
|
|
140
|
-
const amountWei = ethers.parseUnits(opts.amount, warpConfig.decimals);
|
|
141
|
-
const { hasEnough, needsApprove } = await checkDepositBalances(baseProvider, walletAddress, warpConfig, amountWei);
|
|
142
|
-
if (!hasEnough) {
|
|
143
|
-
exitWithError(`Insufficient balance. Required: ${opts.amount} ${warpConfig.symbol}`, EXIT_CODES.BUSINESS_ERROR);
|
|
144
|
-
}
|
|
145
|
-
const transactions = buildDepositTransactions(warpConfig, recipient, amountWei, needsApprove);
|
|
146
|
-
const result = {
|
|
147
|
-
success: true,
|
|
148
|
-
recipient,
|
|
149
|
-
token: warpConfig.symbol,
|
|
150
|
-
amount: opts.amount,
|
|
151
|
-
amountWei: amountWei.toString(),
|
|
152
|
-
transactions,
|
|
153
|
-
polling: {
|
|
154
|
-
description: 'After tx confirms, check arrival on JasperVault',
|
|
155
|
-
command: `jv deposit poll --recipient ${recipient} --token ${opts.token} --network ${opts.network}`,
|
|
156
|
-
},
|
|
157
|
-
};
|
|
158
|
-
printJson(result, opts.pretty);
|
|
159
|
-
});
|
|
160
|
-
deposit
|
|
161
|
-
.command('poll')
|
|
162
|
-
.description('Poll for token arrival on JasperVault chain')
|
|
163
|
-
.requiredOption('--recipient <address>', 'Vault address (recipient)')
|
|
164
|
-
.requiredOption('--token <symbol>', 'Token: jbtc | jusdc | cbbtc | usdc')
|
|
165
|
-
.option('--timeout <seconds>', 'Poll timeout in seconds', '60')
|
|
166
|
-
.option('--network <name>', 'Network (for dest warp router)', 'jaspervault')
|
|
167
|
-
.option('--pretty', 'Pretty-print JSON output')
|
|
168
|
-
.action(async (opts) => {
|
|
169
|
-
const warpConfig = getWarpConfig(opts.token);
|
|
170
|
-
const jaspervaultRpc = getJaspervaultRpcUrl();
|
|
171
|
-
const jaspervaultProvider = new ethers.JsonRpcProvider(jaspervaultRpc);
|
|
172
|
-
const destWarpRouter = new ethers.Contract(warpConfig.jaspervault.warpRouter, ERC20_ABI, jaspervaultProvider);
|
|
173
|
-
let initialBalance = 0n;
|
|
174
|
-
try {
|
|
175
|
-
initialBalance = await destWarpRouter.balanceOf(opts.recipient);
|
|
176
|
-
}
|
|
177
|
-
catch {
|
|
178
|
-
// ignore
|
|
179
|
-
}
|
|
180
|
-
const timeoutMs = parseInt(opts.timeout, 10) * 1000;
|
|
181
|
-
const { arrived, arrivalTimeMs } = await pollForDepositArrival(jaspervaultProvider, warpConfig.jaspervault.warpRouter, opts.recipient, initialBalance, timeoutMs);
|
|
182
|
-
const result = {
|
|
183
|
-
success: true,
|
|
184
|
-
arrived,
|
|
185
|
-
arrivalTimeMs: arrived ? arrivalTimeMs : undefined,
|
|
186
|
-
message: arrived
|
|
187
|
-
? `Tokens arrived on JasperVault in ${arrivalTimeMs}ms`
|
|
188
|
-
: 'Timeout; tokens may still be in transit to JasperVault',
|
|
189
|
-
};
|
|
190
|
-
printJson(result, opts.pretty);
|
|
191
|
-
});
|
|
192
|
-
deposit
|
|
193
|
-
.command('run', { isDefault: true })
|
|
194
|
-
.description('Execute deposit (requires PRIVATE_KEY)')
|
|
195
|
-
.requiredOption('--token <symbol>', 'Token: jbtc | jusdc | cbbtc | usdc')
|
|
196
|
-
.requiredOption('--amount <value>', 'Amount in human-readable units, e.g. "100" for USDC')
|
|
152
|
+
.requiredOption('--amount <value>', 'Amount in human-readable units, e.g. "1000" for JUSDC')
|
|
197
153
|
.option('--network <name>', 'Network for vault address computation', 'jaspervault')
|
|
198
154
|
.option('--vault-index <n>', 'Vault index for computing recipient', '1')
|
|
155
|
+
.option('--timeout <seconds>', 'WalletConnect connection timeout in seconds', '120')
|
|
199
156
|
.option('--no-wait', 'Skip polling for arrival on JasperVault')
|
|
200
157
|
.option('--pretty', 'Pretty-print JSON output')
|
|
201
158
|
.action(async (opts) => {
|
|
202
159
|
const privateKey = process.env.PRIVATE_KEY;
|
|
203
|
-
|
|
204
|
-
|
|
160
|
+
const mode = privateKey ? 'pk' : 'wc';
|
|
161
|
+
let walletAddress;
|
|
162
|
+
let wcClient = null;
|
|
163
|
+
let wcSession = null;
|
|
164
|
+
// Step 1: obtain wallet address + signing capability
|
|
165
|
+
if (mode === 'pk') {
|
|
166
|
+
walletAddress = new Wallet(privateKey).address;
|
|
167
|
+
}
|
|
168
|
+
else {
|
|
169
|
+
const timeoutS = parseInt(opts.timeout, 10) || 120;
|
|
170
|
+
let wcResult;
|
|
171
|
+
try {
|
|
172
|
+
wcResult = await initWcAndConnect({
|
|
173
|
+
timeoutS,
|
|
174
|
+
onAwaiting: (uri, { qrCodeUrl }) => {
|
|
175
|
+
printJson({
|
|
176
|
+
status: 'awaiting_connection',
|
|
177
|
+
qrCodeUrl,
|
|
178
|
+
uri,
|
|
179
|
+
message: 'Scan QR code or paste URI in wallet to connect',
|
|
180
|
+
}, opts.pretty);
|
|
181
|
+
},
|
|
182
|
+
});
|
|
183
|
+
}
|
|
184
|
+
catch (err) {
|
|
185
|
+
printJson({ success: false, message: err.message }, opts.pretty);
|
|
186
|
+
process.exit(EXIT_CODES.BUSINESS_ERROR);
|
|
187
|
+
}
|
|
188
|
+
wcClient = wcResult.client;
|
|
189
|
+
wcSession = wcResult.session;
|
|
190
|
+
walletAddress = wcResult.walletAddress;
|
|
205
191
|
}
|
|
206
|
-
const wallet = new ethers.Wallet(privateKey);
|
|
207
192
|
const warpConfig = getWarpConfig(opts.token);
|
|
208
193
|
const baseRpc = getBaseRpcUrl();
|
|
209
194
|
const jaspervaultRpc = getJaspervaultRpcUrl();
|
|
210
195
|
const net = getNetworkConfig(opts.network);
|
|
211
|
-
const baseProvider = new
|
|
212
|
-
const jaspervaultProvider = new
|
|
196
|
+
const baseProvider = new JsonRpcProvider(baseRpc);
|
|
197
|
+
const jaspervaultProvider = new JsonRpcProvider(jaspervaultRpc);
|
|
198
|
+
// Step 2: compute vault address + check balance
|
|
213
199
|
const vaultIndex = parseInt(opts.vaultIndex, 10);
|
|
214
|
-
const recipient = await computeVaultAddress(jaspervaultProvider, net.contracts.vaultFactory,
|
|
215
|
-
const amountWei =
|
|
216
|
-
const { hasEnough, needsApprove } = await checkDepositBalances(baseProvider,
|
|
200
|
+
const recipient = await computeVaultAddress(jaspervaultProvider, net.contracts.vaultFactory, walletAddress, vaultIndex);
|
|
201
|
+
const amountWei = parseUnits(opts.amount, warpConfig.decimals);
|
|
202
|
+
const { hasEnough, needsApprove } = await checkDepositBalances(baseProvider, walletAddress, warpConfig, amountWei);
|
|
217
203
|
if (!hasEnough) {
|
|
218
204
|
exitWithError(`Insufficient balance. Required: ${opts.amount} ${warpConfig.symbol}`, EXIT_CODES.BUSINESS_ERROR);
|
|
219
205
|
}
|
|
220
|
-
|
|
221
|
-
const warpRouter = new ethers.Contract(warpConfig.base.warpRouter, HYP_ERC20_ABI, wallet.connect(baseProvider));
|
|
222
|
-
if (needsApprove) {
|
|
223
|
-
const approveTx = await underlyingToken.approve(warpConfig.base.warpRouter, ethers.MaxUint256);
|
|
224
|
-
await approveTx.wait(1);
|
|
225
|
-
}
|
|
206
|
+
let transferTxHash;
|
|
226
207
|
const transferStartTime = Date.now();
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
208
|
+
if (mode === 'pk') {
|
|
209
|
+
// Step 3 & 4 (PK): sign and send directly
|
|
210
|
+
const wallet = new Wallet(privateKey, baseProvider);
|
|
211
|
+
const underlyingToken = new Contract(warpConfig.base.underlyingToken, ERC20_ABI, wallet);
|
|
212
|
+
const warpRouter = new Contract(warpConfig.base.warpRouter, HYP_ERC20_ABI, wallet);
|
|
213
|
+
if (needsApprove) {
|
|
214
|
+
const approveTx = await underlyingToken.approve(warpConfig.base.warpRouter, MaxUint256);
|
|
215
|
+
await approveTx.wait(1);
|
|
216
|
+
}
|
|
217
|
+
const recipientBytes32 = zeroPadValue(recipient, 32);
|
|
218
|
+
const tx = await warpRouter.transferRemote(warpConfig.jaspervault.domain, recipientBytes32, amountWei, { value: 0n });
|
|
219
|
+
const receipt = await tx.wait(1);
|
|
220
|
+
transferTxHash = receipt.hash;
|
|
221
|
+
}
|
|
222
|
+
else {
|
|
223
|
+
// Step 3 & 4 (WC): send via WalletConnect
|
|
224
|
+
if (needsApprove) {
|
|
225
|
+
const approveCalldata = buildApproveCalldata(warpConfig.base.warpRouter, MaxUint256);
|
|
226
|
+
await sendWcTransaction(wcClient, wcSession, walletAddress, warpConfig.base.underlyingToken, approveCalldata, baseProvider, 'approve', 'Waiting for approve confirmation on wallet...');
|
|
227
|
+
}
|
|
228
|
+
const transferCalldata = buildTransferRemoteCalldata(warpConfig.jaspervault.domain, recipient, amountWei);
|
|
229
|
+
transferTxHash = await sendWcTransaction(wcClient, wcSession, walletAddress, warpConfig.base.warpRouter, transferCalldata, baseProvider, 'transfer', 'Waiting for transfer confirmation on wallet...');
|
|
230
|
+
}
|
|
230
231
|
const baseChainConfirmTimeMs = Date.now() - transferStartTime;
|
|
232
|
+
// Step 5: poll for arrival + output result
|
|
231
233
|
const result = {
|
|
232
234
|
success: true,
|
|
233
235
|
message: 'Deposit transaction confirmed on Base',
|
|
234
|
-
transactionHash:
|
|
236
|
+
transactionHash: transferTxHash,
|
|
235
237
|
recipient,
|
|
236
238
|
token: warpConfig.symbol,
|
|
237
239
|
amount: opts.amount,
|
|
238
240
|
baseChainConfirmTimeMs,
|
|
239
241
|
};
|
|
240
|
-
if (
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
result.message = 'Deposit confirmed on Base; tokens may still be in transit to JasperVault';
|
|
242
|
+
if (opts.wait) {
|
|
243
|
+
let initialBalance = 0n;
|
|
244
|
+
try {
|
|
245
|
+
const destWarpRouter = new Contract(warpConfig.jaspervault.warpRouter, ERC20_ABI, jaspervaultProvider);
|
|
246
|
+
initialBalance = await destWarpRouter.balanceOf(recipient);
|
|
247
|
+
}
|
|
248
|
+
catch {
|
|
249
|
+
// ignore
|
|
250
|
+
}
|
|
251
|
+
const { arrived, arrivalTimeMs } = await pollForDepositArrival(jaspervaultProvider, warpConfig.jaspervault.warpRouter, recipient, initialBalance, POLL_TIMEOUT_MS);
|
|
252
|
+
result.arrived = arrived;
|
|
253
|
+
result.arrivalTimeMs = arrivalTimeMs;
|
|
254
|
+
if (!arrived) {
|
|
255
|
+
result.message =
|
|
256
|
+
'Deposit confirmed on Base; tokens may still be in transit to JasperVault';
|
|
257
|
+
}
|
|
257
258
|
}
|
|
258
259
|
printJson(result, opts.pretty);
|
|
260
|
+
// Step 6: disconnect WC session
|
|
261
|
+
if (wcClient && wcSession) {
|
|
262
|
+
try {
|
|
263
|
+
await wcClient.disconnect({
|
|
264
|
+
topic: wcSession.topic,
|
|
265
|
+
reason: { code: 6000, message: 'Done' },
|
|
266
|
+
});
|
|
267
|
+
}
|
|
268
|
+
catch {
|
|
269
|
+
// ignore disconnect errors
|
|
270
|
+
}
|
|
271
|
+
}
|
|
259
272
|
});
|
|
260
273
|
}
|
|
261
274
|
//# sourceMappingURL=deposit.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deposit.js","sourceRoot":"","sources":["../../../src/commands/deposit.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"deposit.js","sourceRoot":"","sources":["../../../src/commands/deposit.ts"],"names":[],"mappings":"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"}
|