@paylobster/cli 4.0.2 → 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/cascade.d.ts +3 -0
- package/dist/src/commands/cascade.d.ts.map +1 -0
- package/dist/src/commands/cascade.js +242 -0
- package/dist/src/commands/cascade.js.map +1 -0
- package/dist/src/commands/compliance.d.ts +3 -0
- package/dist/src/commands/compliance.d.ts.map +1 -0
- package/dist/src/commands/compliance.js +121 -0
- package/dist/src/commands/compliance.js.map +1 -0
- package/dist/src/commands/credit-score.d.ts +3 -0
- package/dist/src/commands/credit-score.d.ts.map +1 -0
- package/dist/src/commands/credit-score.js +174 -0
- package/dist/src/commands/credit-score.js.map +1 -0
- package/dist/src/commands/dispute.d.ts +3 -0
- package/dist/src/commands/dispute.d.ts.map +1 -0
- package/dist/src/commands/dispute.js +241 -0
- package/dist/src/commands/dispute.js.map +1 -0
- package/dist/src/commands/intent.d.ts +3 -0
- package/dist/src/commands/intent.d.ts.map +1 -0
- package/dist/src/commands/intent.js +227 -0
- package/dist/src/commands/intent.js.map +1 -0
- package/dist/src/commands/oracle.d.ts +3 -0
- package/dist/src/commands/oracle.d.ts.map +1 -0
- package/dist/src/commands/oracle.js +114 -0
- package/dist/src/commands/oracle.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/revenue-share.d.ts +3 -0
- package/dist/src/commands/revenue-share.d.ts.map +1 -0
- package/dist/src/commands/revenue-share.js +185 -0
- package/dist/src/commands/revenue-share.js.map +1 -0
- package/dist/src/commands/stream.d.ts +3 -0
- package/dist/src/commands/stream.d.ts.map +1 -0
- package/dist/src/commands/stream.js +213 -0
- package/dist/src/commands/stream.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 +23 -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/cascade.ts +280 -0
- package/src/commands/compliance.ts +123 -0
- package/src/commands/credit-score.ts +193 -0
- package/src/commands/dispute.ts +274 -0
- package/src/commands/intent.ts +261 -0
- package/src/commands/oracle.ts +116 -0
- package/src/commands/portfolio.ts +227 -0
- package/src/commands/revenue-share.ts +213 -0
- package/src/commands/stream.ts +244 -0
- package/src/commands/swap.ts +365 -0
- package/src/index.ts +23 -1
- package/src/lib/types.ts +1 -0
|
@@ -0,0 +1,273 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.createBridgeCommand = createBridgeCommand;
|
|
7
|
+
const commander_1 = require("commander");
|
|
8
|
+
const wallet_1 = require("../lib/wallet");
|
|
9
|
+
const display_1 = require("../lib/display");
|
|
10
|
+
const chalk_1 = __importDefault(require("chalk"));
|
|
11
|
+
const LIFI_API_URL = 'https://li.quest/v1';
|
|
12
|
+
// Chain name to ID mapping
|
|
13
|
+
const CHAIN_IDS = {
|
|
14
|
+
base: 8453,
|
|
15
|
+
solana: 1151111081099710,
|
|
16
|
+
ethereum: 1,
|
|
17
|
+
polygon: 137,
|
|
18
|
+
arbitrum: 42161,
|
|
19
|
+
optimism: 10,
|
|
20
|
+
avalanche: 43114,
|
|
21
|
+
bsc: 56,
|
|
22
|
+
};
|
|
23
|
+
/**
|
|
24
|
+
* Resolve chain name to chain ID
|
|
25
|
+
*/
|
|
26
|
+
function resolveChainId(input) {
|
|
27
|
+
const lowerInput = input.toLowerCase();
|
|
28
|
+
if (CHAIN_IDS[lowerInput]) {
|
|
29
|
+
return CHAIN_IDS[lowerInput];
|
|
30
|
+
}
|
|
31
|
+
// Try to parse as number
|
|
32
|
+
const parsed = parseInt(input, 10);
|
|
33
|
+
if (!isNaN(parsed)) {
|
|
34
|
+
return parsed;
|
|
35
|
+
}
|
|
36
|
+
throw new Error(`Unknown chain: ${input}`);
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Format amount with decimals
|
|
40
|
+
*/
|
|
41
|
+
function formatTokenAmount(amount, decimals) {
|
|
42
|
+
const num = BigInt(amount);
|
|
43
|
+
const divisor = BigInt(10 ** decimals);
|
|
44
|
+
const whole = num / divisor;
|
|
45
|
+
const fraction = num % divisor;
|
|
46
|
+
if (fraction === 0n) {
|
|
47
|
+
return whole.toString();
|
|
48
|
+
}
|
|
49
|
+
const fractionStr = fraction.toString().padStart(decimals, '0');
|
|
50
|
+
const trimmed = fractionStr.replace(/0+$/, '');
|
|
51
|
+
return `${whole}.${trimmed}`;
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Parse amount with decimals
|
|
55
|
+
*/
|
|
56
|
+
function parseTokenAmount(amount, decimals) {
|
|
57
|
+
const [whole = '0', fraction = '0'] = amount.split('.');
|
|
58
|
+
const paddedFraction = fraction.padEnd(decimals, '0').slice(0, decimals);
|
|
59
|
+
return (BigInt(whole) * BigInt(10 ** decimals) + BigInt(paddedFraction)).toString();
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Call Li.Fi API
|
|
63
|
+
*/
|
|
64
|
+
async function callLiFiAPI(endpoint) {
|
|
65
|
+
const response = await fetch(`${LIFI_API_URL}${endpoint}`);
|
|
66
|
+
if (!response.ok) {
|
|
67
|
+
const errorText = await response.text();
|
|
68
|
+
throw new Error(`Li.Fi API error: ${response.status} - ${errorText}`);
|
|
69
|
+
}
|
|
70
|
+
return response.json();
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Get bridge quote
|
|
74
|
+
*/
|
|
75
|
+
async function getBridgeQuote(fromChain, toChain, fromToken, toToken, amount, fromAddress) {
|
|
76
|
+
const endpoint = `/quote?fromChain=${fromChain}&toChain=${toChain}&fromToken=${fromToken}&toToken=${toToken}&fromAmount=${amount}&fromAddress=${fromAddress}`;
|
|
77
|
+
const response = await callLiFiAPI(endpoint);
|
|
78
|
+
return response;
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Get bridge status
|
|
82
|
+
*/
|
|
83
|
+
async function getBridgeStatus(txHash) {
|
|
84
|
+
const endpoint = `/status?txHash=${txHash}`;
|
|
85
|
+
return callLiFiAPI(endpoint);
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* Get supported chains
|
|
89
|
+
*/
|
|
90
|
+
async function getChains() {
|
|
91
|
+
const response = await callLiFiAPI('/chains');
|
|
92
|
+
return response.chains;
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* Create bridge command
|
|
96
|
+
*/
|
|
97
|
+
function createBridgeCommand() {
|
|
98
|
+
const cmd = new commander_1.Command('bridge')
|
|
99
|
+
.description('Cross-chain token bridges using Li.Fi');
|
|
100
|
+
// Bridge quote subcommand
|
|
101
|
+
cmd
|
|
102
|
+
.command('quote')
|
|
103
|
+
.description('Get bridge quote')
|
|
104
|
+
.requiredOption('--from <chain>', 'Source chain (e.g., base, ethereum, solana)')
|
|
105
|
+
.requiredOption('--to <chain>', 'Destination chain')
|
|
106
|
+
.requiredOption('--token <token>', 'Token symbol (e.g., USDC)')
|
|
107
|
+
.requiredOption('--amount <amount>', 'Amount to bridge')
|
|
108
|
+
.option('--json', 'Output as JSON')
|
|
109
|
+
.action(async (options) => {
|
|
110
|
+
try {
|
|
111
|
+
const address = (0, wallet_1.getWalletAddress)();
|
|
112
|
+
const fromChainId = resolveChainId(options.from);
|
|
113
|
+
const toChainId = resolveChainId(options.to);
|
|
114
|
+
// Assume 6 decimals for USDC, 18 for others
|
|
115
|
+
const decimals = options.token.toUpperCase() === 'USDC' ? 6 : 18;
|
|
116
|
+
const amount = parseTokenAmount(options.amount, decimals);
|
|
117
|
+
const quote = await (0, display_1.withSpinner)('Fetching bridge quote...', async () => getBridgeQuote(fromChainId, toChainId, options.token, options.token, amount, address));
|
|
118
|
+
const fromAmount = formatTokenAmount(quote.estimate.fromAmount, quote.action.fromToken.decimals);
|
|
119
|
+
const toAmount = formatTokenAmount(quote.estimate.toAmount, quote.action.toToken.decimals);
|
|
120
|
+
// Calculate fee
|
|
121
|
+
const totalFeeUSD = quote.estimate.feeCosts.reduce((sum, fee) => sum + parseFloat(fee.amountUSD || '0'), 0);
|
|
122
|
+
const feeAmount = parseFloat(fromAmount) - parseFloat(toAmount);
|
|
123
|
+
// Format time
|
|
124
|
+
const timeMinutes = Math.ceil(quote.estimate.executionDuration / 60);
|
|
125
|
+
if ((0, display_1.outputJSON)({
|
|
126
|
+
fromChain: options.from,
|
|
127
|
+
toChain: options.to,
|
|
128
|
+
token: options.token.toUpperCase(),
|
|
129
|
+
fromAmount,
|
|
130
|
+
toAmount,
|
|
131
|
+
fee: feeAmount.toFixed(decimals),
|
|
132
|
+
feeUSD: totalFeeUSD.toFixed(2),
|
|
133
|
+
estimatedTime: `${timeMinutes} min`,
|
|
134
|
+
via: quote.toolDetails.name,
|
|
135
|
+
}, options)) {
|
|
136
|
+
return;
|
|
137
|
+
}
|
|
138
|
+
// Pretty output
|
|
139
|
+
console.log();
|
|
140
|
+
console.log(chalk_1.default.bold.cyan('🌉 Bridge Quote'));
|
|
141
|
+
console.log();
|
|
142
|
+
console.log(' From:', chalk_1.default.white.bold(fromAmount), chalk_1.default.gray(`${options.token.toUpperCase()} (${options.from})`));
|
|
143
|
+
console.log(' To: ', chalk_1.default.white.bold(toAmount), chalk_1.default.gray(`${options.token.toUpperCase()} (${options.to})`));
|
|
144
|
+
console.log(' Fee: ', chalk_1.default.yellow(feeAmount.toFixed(decimals)), chalk_1.default.gray(`${options.token.toUpperCase()} (~$${totalFeeUSD.toFixed(2)})`));
|
|
145
|
+
console.log(' Time:', chalk_1.default.gray(`~${timeMinutes} min`));
|
|
146
|
+
console.log(' Via: ', chalk_1.default.gray(quote.toolDetails.name));
|
|
147
|
+
console.log();
|
|
148
|
+
}
|
|
149
|
+
catch (err) {
|
|
150
|
+
(0, display_1.error)(`Failed to get bridge quote: ${err}`);
|
|
151
|
+
process.exit(1);
|
|
152
|
+
}
|
|
153
|
+
});
|
|
154
|
+
// Bridge execute subcommand
|
|
155
|
+
cmd
|
|
156
|
+
.command('execute')
|
|
157
|
+
.description('Execute cross-chain bridge')
|
|
158
|
+
.requiredOption('--from <chain>', 'Source chain (e.g., base, ethereum, solana)')
|
|
159
|
+
.requiredOption('--to <chain>', 'Destination chain')
|
|
160
|
+
.requiredOption('--token <token>', 'Token symbol (e.g., USDC)')
|
|
161
|
+
.requiredOption('--amount <amount>', 'Amount to bridge')
|
|
162
|
+
.option('--yes', 'Skip confirmation')
|
|
163
|
+
.option('--json', 'Output as JSON')
|
|
164
|
+
.action(async (options) => {
|
|
165
|
+
try {
|
|
166
|
+
const address = (0, wallet_1.getWalletAddress)();
|
|
167
|
+
const fromChainId = resolveChainId(options.from);
|
|
168
|
+
const toChainId = resolveChainId(options.to);
|
|
169
|
+
const decimals = options.token.toUpperCase() === 'USDC' ? 6 : 18;
|
|
170
|
+
const amount = parseTokenAmount(options.amount, decimals);
|
|
171
|
+
const quote = await (0, display_1.withSpinner)('Fetching bridge quote...', async () => getBridgeQuote(fromChainId, toChainId, options.token, options.token, amount, address));
|
|
172
|
+
const fromAmount = formatTokenAmount(quote.estimate.fromAmount, quote.action.fromToken.decimals);
|
|
173
|
+
const toAmount = formatTokenAmount(quote.estimate.toAmount, quote.action.toToken.decimals);
|
|
174
|
+
// Show quote and confirm
|
|
175
|
+
if (!options.yes) {
|
|
176
|
+
console.log();
|
|
177
|
+
console.log(chalk_1.default.bold.cyan('🌉 Bridge Quote'));
|
|
178
|
+
console.log();
|
|
179
|
+
console.log(' From:', chalk_1.default.white.bold(fromAmount), chalk_1.default.gray(`${options.token.toUpperCase()} (${options.from})`));
|
|
180
|
+
console.log(' To: ', chalk_1.default.white.bold(toAmount), chalk_1.default.gray(`${options.token.toUpperCase()} (${options.to})`));
|
|
181
|
+
console.log();
|
|
182
|
+
const confirmed = await (0, display_1.confirm)('Confirm bridge?');
|
|
183
|
+
if (!confirmed) {
|
|
184
|
+
(0, display_1.info)('Cancelled');
|
|
185
|
+
process.exit(0);
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
(0, display_1.info)('Bridge execution not yet implemented - requires viem integration');
|
|
189
|
+
(0, display_1.info)('Transaction data available in quote response');
|
|
190
|
+
if ((0, display_1.outputJSON)({
|
|
191
|
+
quote,
|
|
192
|
+
note: 'Execute bridge by sending transaction with quote.transactionRequest',
|
|
193
|
+
}, options)) {
|
|
194
|
+
return;
|
|
195
|
+
}
|
|
196
|
+
if (quote.transactionRequest) {
|
|
197
|
+
console.log();
|
|
198
|
+
(0, display_1.info)('To execute this bridge, send a transaction with the following data:');
|
|
199
|
+
console.log(chalk_1.default.gray(' To: '), quote.transactionRequest.to);
|
|
200
|
+
console.log(chalk_1.default.gray(' Data: '), quote.transactionRequest.data.slice(0, 66) + '...');
|
|
201
|
+
console.log();
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
catch (err) {
|
|
205
|
+
(0, display_1.error)(`Failed to execute bridge: ${err}`);
|
|
206
|
+
process.exit(1);
|
|
207
|
+
}
|
|
208
|
+
});
|
|
209
|
+
// Bridge status subcommand
|
|
210
|
+
cmd
|
|
211
|
+
.command('status')
|
|
212
|
+
.description('Check bridge transaction status')
|
|
213
|
+
.argument('<txHash>', 'Transaction hash')
|
|
214
|
+
.option('--json', 'Output as JSON')
|
|
215
|
+
.action(async (txHash, options) => {
|
|
216
|
+
try {
|
|
217
|
+
const status = await (0, display_1.withSpinner)('Fetching bridge status...', async () => getBridgeStatus(txHash));
|
|
218
|
+
if ((0, display_1.outputJSON)(status, options)) {
|
|
219
|
+
return;
|
|
220
|
+
}
|
|
221
|
+
console.log();
|
|
222
|
+
console.log(chalk_1.default.bold.cyan('🌉 Bridge Status'));
|
|
223
|
+
console.log();
|
|
224
|
+
console.log(' Status: ', chalk_1.default.white.bold(status.status));
|
|
225
|
+
console.log(' Substatus:', chalk_1.default.gray(status.substatus));
|
|
226
|
+
console.log();
|
|
227
|
+
console.log(' Sending:');
|
|
228
|
+
console.log(' Tx: ', chalk_1.default.gray(status.sending.txHash));
|
|
229
|
+
console.log(' Amount:', chalk_1.default.white(status.sending.amount), chalk_1.default.gray(status.sending.token.symbol));
|
|
230
|
+
if (status.receiving) {
|
|
231
|
+
console.log();
|
|
232
|
+
console.log(' Receiving:');
|
|
233
|
+
console.log(' Tx: ', chalk_1.default.gray(status.receiving.txHash));
|
|
234
|
+
console.log(' Amount:', chalk_1.default.white(status.receiving.amount), chalk_1.default.gray(status.receiving.token.symbol));
|
|
235
|
+
}
|
|
236
|
+
console.log();
|
|
237
|
+
}
|
|
238
|
+
catch (err) {
|
|
239
|
+
(0, display_1.error)(`Failed to get bridge status: ${err}`);
|
|
240
|
+
process.exit(1);
|
|
241
|
+
}
|
|
242
|
+
});
|
|
243
|
+
// List chains subcommand
|
|
244
|
+
cmd
|
|
245
|
+
.command('chains')
|
|
246
|
+
.description('List supported chains')
|
|
247
|
+
.option('--json', 'Output as JSON')
|
|
248
|
+
.action(async (options) => {
|
|
249
|
+
try {
|
|
250
|
+
const chains = await (0, display_1.withSpinner)('Fetching supported chains...', async () => getChains());
|
|
251
|
+
if ((0, display_1.outputJSON)({ chains }, options)) {
|
|
252
|
+
return;
|
|
253
|
+
}
|
|
254
|
+
console.log();
|
|
255
|
+
console.log(chalk_1.default.bold.cyan('🌐 Supported Chains'));
|
|
256
|
+
console.log();
|
|
257
|
+
// Show popular chains first
|
|
258
|
+
const popularChains = chains.filter(c => ['bas', 'eth', 'pol', 'arb', 'opt', 'sol', 'ava', 'bsc'].includes(c.key.toLowerCase()));
|
|
259
|
+
for (const chain of popularChains) {
|
|
260
|
+
console.log(chalk_1.default.white.bold(chain.name.padEnd(15)), chalk_1.default.gray(`ID: ${chain.id}`), chalk_1.default.dim(`(${chain.nativeToken.symbol})`));
|
|
261
|
+
}
|
|
262
|
+
console.log();
|
|
263
|
+
console.log(chalk_1.default.dim(`${chains.length} total chains supported`));
|
|
264
|
+
console.log();
|
|
265
|
+
}
|
|
266
|
+
catch (err) {
|
|
267
|
+
(0, display_1.error)(`Failed to fetch chains: ${err}`);
|
|
268
|
+
process.exit(1);
|
|
269
|
+
}
|
|
270
|
+
});
|
|
271
|
+
return cmd;
|
|
272
|
+
}
|
|
273
|
+
//# sourceMappingURL=bridge.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bridge.js","sourceRoot":"","sources":["../../../src/commands/bridge.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cascade.d.ts","sourceRoot":"","sources":["../../../src/commands/cascade.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIpC,wBAAgB,oBAAoB,IAAI,OAAO,CAmR9C"}
|
|
@@ -0,0 +1,242 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.createCascadeCommand = createCascadeCommand;
|
|
4
|
+
const commander_1 = require("commander");
|
|
5
|
+
const display_1 = require("../lib/display");
|
|
6
|
+
function createCascadeCommand() {
|
|
7
|
+
const cmd = new commander_1.Command('cascade')
|
|
8
|
+
.description('Manage cascading payments');
|
|
9
|
+
// plob cascade create
|
|
10
|
+
cmd
|
|
11
|
+
.command('create')
|
|
12
|
+
.description('Create a cascading payment')
|
|
13
|
+
.requiredOption('--stages <number>', 'Number of stages')
|
|
14
|
+
.requiredOption('--amount <amount>', 'Total amount in USDC')
|
|
15
|
+
.requiredOption('--recipients <addresses>', 'Comma-separated recipient addresses')
|
|
16
|
+
.option('--json', 'Output as JSON')
|
|
17
|
+
.action(async (options) => {
|
|
18
|
+
try {
|
|
19
|
+
const stages = parseInt(options.stages);
|
|
20
|
+
if (isNaN(stages) || stages < 2) {
|
|
21
|
+
(0, display_1.error)('Invalid stages. Must be at least 2');
|
|
22
|
+
process.exit(1);
|
|
23
|
+
}
|
|
24
|
+
const amount = parseFloat(options.amount);
|
|
25
|
+
if (isNaN(amount) || amount <= 0) {
|
|
26
|
+
(0, display_1.error)('Invalid amount. Must be a positive number');
|
|
27
|
+
process.exit(1);
|
|
28
|
+
}
|
|
29
|
+
const recipients = options.recipients.split(',').map(r => r.trim());
|
|
30
|
+
// Validate all addresses
|
|
31
|
+
for (const recipient of recipients) {
|
|
32
|
+
if (!recipient.startsWith('0x') || recipient.length !== 42) {
|
|
33
|
+
(0, display_1.error)(`Invalid recipient address: ${recipient}`);
|
|
34
|
+
process.exit(1);
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
if (recipients.length !== stages) {
|
|
38
|
+
(0, display_1.error)(`Number of recipients (${recipients.length}) must match stages (${stages})`);
|
|
39
|
+
process.exit(1);
|
|
40
|
+
}
|
|
41
|
+
(0, display_1.info)(`Creating ${stages}-stage cascade`);
|
|
42
|
+
(0, display_1.info)(`Total amount: ${options.amount} USDC`);
|
|
43
|
+
(0, display_1.info)(`Recipients: ${recipients.map(display_1.formatAddress).join(' → ')}`);
|
|
44
|
+
const cascadeId = Math.floor(Math.random() * 1000000);
|
|
45
|
+
const txHash = await (0, display_1.withSpinner)('Creating cascade payment...', async () => {
|
|
46
|
+
// Placeholder - implement actual contract call
|
|
47
|
+
await new Promise(resolve => setTimeout(resolve, 2000));
|
|
48
|
+
return '0x' + Math.random().toString(16).substring(2, 66);
|
|
49
|
+
});
|
|
50
|
+
if ((0, display_1.outputJSON)({
|
|
51
|
+
cascadeId,
|
|
52
|
+
stages,
|
|
53
|
+
amount: options.amount,
|
|
54
|
+
recipients,
|
|
55
|
+
txHash,
|
|
56
|
+
}, options)) {
|
|
57
|
+
return;
|
|
58
|
+
}
|
|
59
|
+
(0, display_1.success)('Cascade payment created!');
|
|
60
|
+
(0, display_1.info)(`Cascade ID: ${cascadeId}`);
|
|
61
|
+
(0, display_1.info)(`Transaction: ${txHash}`);
|
|
62
|
+
}
|
|
63
|
+
catch (err) {
|
|
64
|
+
(0, display_1.error)(`Failed to create cascade: ${err}`);
|
|
65
|
+
process.exit(1);
|
|
66
|
+
}
|
|
67
|
+
});
|
|
68
|
+
// plob cascade release
|
|
69
|
+
cmd
|
|
70
|
+
.command('release')
|
|
71
|
+
.description('Release a specific cascade level')
|
|
72
|
+
.argument('<cascadeId>', 'Cascade ID')
|
|
73
|
+
.requiredOption('--level <level>', 'Level to release (1-based)')
|
|
74
|
+
.option('--yes', 'Skip confirmation')
|
|
75
|
+
.option('--json', 'Output as JSON')
|
|
76
|
+
.action(async (cascadeId, options) => {
|
|
77
|
+
try {
|
|
78
|
+
const level = parseInt(options.level);
|
|
79
|
+
if (isNaN(level) || level < 1) {
|
|
80
|
+
(0, display_1.error)('Invalid level. Must be at least 1');
|
|
81
|
+
process.exit(1);
|
|
82
|
+
}
|
|
83
|
+
if (!options.yes) {
|
|
84
|
+
const confirmed = await (0, display_1.confirm)(`Release level ${level} of cascade ${cascadeId}?`);
|
|
85
|
+
if (!confirmed) {
|
|
86
|
+
(0, display_1.info)('Cancelled');
|
|
87
|
+
process.exit(0);
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
const txHash = await (0, display_1.withSpinner)(`Releasing cascade level ${level}...`, async () => {
|
|
91
|
+
// Placeholder - implement actual contract call
|
|
92
|
+
await new Promise(resolve => setTimeout(resolve, 1500));
|
|
93
|
+
return '0x' + Math.random().toString(16).substring(2, 66);
|
|
94
|
+
});
|
|
95
|
+
if ((0, display_1.outputJSON)({
|
|
96
|
+
cascadeId,
|
|
97
|
+
level,
|
|
98
|
+
txHash,
|
|
99
|
+
}, options)) {
|
|
100
|
+
return;
|
|
101
|
+
}
|
|
102
|
+
(0, display_1.success)(`Cascade level ${level} released!`);
|
|
103
|
+
(0, display_1.info)(`Cascade ID: ${cascadeId}`);
|
|
104
|
+
(0, display_1.info)(`Transaction: ${txHash}`);
|
|
105
|
+
}
|
|
106
|
+
catch (err) {
|
|
107
|
+
(0, display_1.error)(`Failed to release cascade: ${err}`);
|
|
108
|
+
process.exit(1);
|
|
109
|
+
}
|
|
110
|
+
});
|
|
111
|
+
// plob cascade release-all
|
|
112
|
+
cmd
|
|
113
|
+
.command('release-all')
|
|
114
|
+
.description('Release all remaining cascade levels')
|
|
115
|
+
.argument('<cascadeId>', 'Cascade ID')
|
|
116
|
+
.option('--yes', 'Skip confirmation')
|
|
117
|
+
.option('--json', 'Output as JSON')
|
|
118
|
+
.action(async (cascadeId, options) => {
|
|
119
|
+
try {
|
|
120
|
+
if (!options.yes) {
|
|
121
|
+
const confirmed = await (0, display_1.confirm)(`Release ALL levels of cascade ${cascadeId}?`);
|
|
122
|
+
if (!confirmed) {
|
|
123
|
+
(0, display_1.info)('Cancelled');
|
|
124
|
+
process.exit(0);
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
const txHash = await (0, display_1.withSpinner)('Releasing all cascade levels...', async () => {
|
|
128
|
+
// Placeholder - implement actual contract call
|
|
129
|
+
await new Promise(resolve => setTimeout(resolve, 2000));
|
|
130
|
+
return '0x' + Math.random().toString(16).substring(2, 66);
|
|
131
|
+
});
|
|
132
|
+
if ((0, display_1.outputJSON)({
|
|
133
|
+
cascadeId,
|
|
134
|
+
txHash,
|
|
135
|
+
}, options)) {
|
|
136
|
+
return;
|
|
137
|
+
}
|
|
138
|
+
(0, display_1.success)('All cascade levels released!');
|
|
139
|
+
(0, display_1.info)(`Cascade ID: ${cascadeId}`);
|
|
140
|
+
(0, display_1.info)(`Transaction: ${txHash}`);
|
|
141
|
+
}
|
|
142
|
+
catch (err) {
|
|
143
|
+
(0, display_1.error)(`Failed to release cascade: ${err}`);
|
|
144
|
+
process.exit(1);
|
|
145
|
+
}
|
|
146
|
+
});
|
|
147
|
+
// plob cascade get
|
|
148
|
+
cmd
|
|
149
|
+
.command('get')
|
|
150
|
+
.description('Get cascade details')
|
|
151
|
+
.argument('<cascadeId>', 'Cascade ID')
|
|
152
|
+
.option('--json', 'Output as JSON')
|
|
153
|
+
.action(async (cascadeId, options) => {
|
|
154
|
+
try {
|
|
155
|
+
// Placeholder data
|
|
156
|
+
const cascade = {
|
|
157
|
+
id: cascadeId,
|
|
158
|
+
creator: '0x1234567890123456789012345678901234567890',
|
|
159
|
+
totalAmount: '1000 USDC',
|
|
160
|
+
stages: 3,
|
|
161
|
+
currentStage: 1,
|
|
162
|
+
recipients: [
|
|
163
|
+
{ address: '0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb', released: true },
|
|
164
|
+
{ address: '0x8626f6940E2eb28930eFb4CeF49B2d1F2C9C1199', released: false },
|
|
165
|
+
{ address: '0x1111111111111111111111111111111111111111', released: false },
|
|
166
|
+
],
|
|
167
|
+
};
|
|
168
|
+
if ((0, display_1.outputJSON)(cascade, options)) {
|
|
169
|
+
return;
|
|
170
|
+
}
|
|
171
|
+
console.log();
|
|
172
|
+
console.log('Cascade ID: ', cascade.id);
|
|
173
|
+
console.log('Creator: ', cascade.creator);
|
|
174
|
+
console.log('Total Amount: ', cascade.totalAmount);
|
|
175
|
+
console.log('Stages: ', cascade.stages);
|
|
176
|
+
console.log('Current Stage: ', cascade.currentStage);
|
|
177
|
+
console.log();
|
|
178
|
+
console.log('Recipients:');
|
|
179
|
+
cascade.recipients.forEach((r, i) => {
|
|
180
|
+
const status = r.released ? '✅ Released' : '⏳ Pending';
|
|
181
|
+
console.log(` ${i + 1}. ${(0, display_1.formatAddress)(r.address)} - ${status}`);
|
|
182
|
+
});
|
|
183
|
+
console.log();
|
|
184
|
+
}
|
|
185
|
+
catch (err) {
|
|
186
|
+
(0, display_1.error)(`Failed to get cascade: ${err}`);
|
|
187
|
+
process.exit(1);
|
|
188
|
+
}
|
|
189
|
+
});
|
|
190
|
+
// plob cascade list
|
|
191
|
+
cmd
|
|
192
|
+
.command('list')
|
|
193
|
+
.description('List your cascades')
|
|
194
|
+
.option('--json', 'Output as JSON')
|
|
195
|
+
.action(async (options) => {
|
|
196
|
+
try {
|
|
197
|
+
// Placeholder data
|
|
198
|
+
const cascades = [
|
|
199
|
+
{
|
|
200
|
+
id: 1,
|
|
201
|
+
amount: '1000 USDC',
|
|
202
|
+
stages: 3,
|
|
203
|
+
currentStage: 1,
|
|
204
|
+
status: 'active',
|
|
205
|
+
},
|
|
206
|
+
{
|
|
207
|
+
id: 2,
|
|
208
|
+
amount: '500 USDC',
|
|
209
|
+
stages: 2,
|
|
210
|
+
currentStage: 2,
|
|
211
|
+
status: 'completed',
|
|
212
|
+
},
|
|
213
|
+
];
|
|
214
|
+
if ((0, display_1.outputJSON)(cascades, options)) {
|
|
215
|
+
return;
|
|
216
|
+
}
|
|
217
|
+
if (cascades.length === 0) {
|
|
218
|
+
(0, display_1.info)('No cascades found');
|
|
219
|
+
return;
|
|
220
|
+
}
|
|
221
|
+
const table = (0, display_1.createTable)({
|
|
222
|
+
head: ['ID', 'Amount', 'Stages', 'Current', 'Status'],
|
|
223
|
+
});
|
|
224
|
+
for (const cascade of cascades) {
|
|
225
|
+
table.push([
|
|
226
|
+
cascade.id,
|
|
227
|
+
cascade.amount,
|
|
228
|
+
cascade.stages,
|
|
229
|
+
cascade.currentStage,
|
|
230
|
+
cascade.status,
|
|
231
|
+
]);
|
|
232
|
+
}
|
|
233
|
+
console.log(table.toString());
|
|
234
|
+
}
|
|
235
|
+
catch (err) {
|
|
236
|
+
(0, display_1.error)(`Failed to list cascades: ${err}`);
|
|
237
|
+
process.exit(1);
|
|
238
|
+
}
|
|
239
|
+
});
|
|
240
|
+
return cmd;
|
|
241
|
+
}
|
|
242
|
+
//# sourceMappingURL=cascade.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cascade.js","sourceRoot":"","sources":["../../../src/commands/cascade.ts"],"names":[],"mappings":";;AAIA,oDAmRC;AAvRD,yCAAoC;AACpC,4CAA6H;AAG7H,SAAgB,oBAAoB;IAClC,MAAM,GAAG,GAAG,IAAI,mBAAO,CAAC,SAAS,CAAC;SAC/B,WAAW,CAAC,2BAA2B,CAAC,CAAC;IAE5C,sBAAsB;IACtB,GAAG;SACA,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CAAC,4BAA4B,CAAC;SACzC,cAAc,CAAC,mBAAmB,EAAE,kBAAkB,CAAC;SACvD,cAAc,CAAC,mBAAmB,EAAE,sBAAsB,CAAC;SAC3D,cAAc,CAAC,0BAA0B,EAAE,qCAAqC,CAAC;SACjF,MAAM,CAAC,QAAQ,EAAE,gBAAgB,CAAC;SAClC,MAAM,CAAC,KAAK,EAAE,OAIE,EAAE,EAAE;QACnB,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YACxC,IAAI,KAAK,CAAC,MAAM,CAAC,IAAI,MAAM,GAAG,CAAC,EAAE,CAAC;gBAChC,IAAA,eAAK,EAAC,oCAAoC,CAAC,CAAC;gBAC5C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;YAED,MAAM,MAAM,GAAG,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YAC1C,IAAI,KAAK,CAAC,MAAM,CAAC,IAAI,MAAM,IAAI,CAAC,EAAE,CAAC;gBACjC,IAAA,eAAK,EAAC,2CAA2C,CAAC,CAAC;gBACnD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;YAED,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;YAEpE,yBAAyB;YACzB,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;gBACnC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,SAAS,CAAC,MAAM,KAAK,EAAE,EAAE,CAAC;oBAC3D,IAAA,eAAK,EAAC,8BAA8B,SAAS,EAAE,CAAC,CAAC;oBACjD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAClB,CAAC;YACH,CAAC;YAED,IAAI,UAAU,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;gBACjC,IAAA,eAAK,EAAC,yBAAyB,UAAU,CAAC,MAAM,wBAAwB,MAAM,GAAG,CAAC,CAAC;gBACnF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;YAED,IAAA,cAAI,EAAC,YAAY,MAAM,gBAAgB,CAAC,CAAC;YACzC,IAAA,cAAI,EAAC,iBAAiB,OAAO,CAAC,MAAM,OAAO,CAAC,CAAC;YAC7C,IAAA,cAAI,EAAC,eAAe,UAAU,CAAC,GAAG,CAAC,uBAAa,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAEjE,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,OAAO,CAAC,CAAC;YAEtD,MAAM,MAAM,GAAG,MAAM,IAAA,qBAAW,EAC9B,6BAA6B,EAC7B,KAAK,IAAI,EAAE;gBACT,+CAA+C;gBAC/C,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;gBACxD,OAAO,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAC5D,CAAC,CACF,CAAC;YAEF,IAAI,IAAA,oBAAU,EAAC;gBACb,SAAS;gBACT,MAAM;gBACN,MAAM,EAAE,OAAO,CAAC,MAAM;gBACtB,UAAU;gBACV,MAAM;aACP,EAAE,OAAO,CAAC,EAAE,CAAC;gBACZ,OAAO;YACT,CAAC;YAED,IAAA,iBAAO,EAAC,0BAA0B,CAAC,CAAC;YACpC,IAAA,cAAI,EAAC,eAAe,SAAS,EAAE,CAAC,CAAC;YACjC,IAAA,cAAI,EAAC,gBAAgB,MAAM,EAAE,CAAC,CAAC;QACjC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAA,eAAK,EAAC,6BAA6B,GAAG,EAAE,CAAC,CAAC;YAC1C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;IAEL,uBAAuB;IACvB,GAAG;SACA,OAAO,CAAC,SAAS,CAAC;SAClB,WAAW,CAAC,kCAAkC,CAAC;SAC/C,QAAQ,CAAC,aAAa,EAAE,YAAY,CAAC;SACrC,cAAc,CAAC,iBAAiB,EAAE,4BAA4B,CAAC;SAC/D,MAAM,CAAC,OAAO,EAAE,mBAAmB,CAAC;SACpC,MAAM,CAAC,QAAQ,EAAE,gBAAgB,CAAC;SAClC,MAAM,CAAC,KAAK,EAAE,SAAiB,EAAE,OAGjB,EAAE,EAAE;QACnB,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YACtC,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;gBAC9B,IAAA,eAAK,EAAC,mCAAmC,CAAC,CAAC;gBAC3C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;YAED,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;gBACjB,MAAM,SAAS,GAAG,MAAM,IAAA,iBAAO,EAAC,iBAAiB,KAAK,eAAe,SAAS,GAAG,CAAC,CAAC;gBACnF,IAAI,CAAC,SAAS,EAAE,CAAC;oBACf,IAAA,cAAI,EAAC,WAAW,CAAC,CAAC;oBAClB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAClB,CAAC;YACH,CAAC;YAED,MAAM,MAAM,GAAG,MAAM,IAAA,qBAAW,EAC9B,2BAA2B,KAAK,KAAK,EACrC,KAAK,IAAI,EAAE;gBACT,+CAA+C;gBAC/C,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;gBACxD,OAAO,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAC5D,CAAC,CACF,CAAC;YAEF,IAAI,IAAA,oBAAU,EAAC;gBACb,SAAS;gBACT,KAAK;gBACL,MAAM;aACP,EAAE,OAAO,CAAC,EAAE,CAAC;gBACZ,OAAO;YACT,CAAC;YAED,IAAA,iBAAO,EAAC,iBAAiB,KAAK,YAAY,CAAC,CAAC;YAC5C,IAAA,cAAI,EAAC,eAAe,SAAS,EAAE,CAAC,CAAC;YACjC,IAAA,cAAI,EAAC,gBAAgB,MAAM,EAAE,CAAC,CAAC;QACjC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAA,eAAK,EAAC,8BAA8B,GAAG,EAAE,CAAC,CAAC;YAC3C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;IAEL,2BAA2B;IAC3B,GAAG;SACA,OAAO,CAAC,aAAa,CAAC;SACtB,WAAW,CAAC,sCAAsC,CAAC;SACnD,QAAQ,CAAC,aAAa,EAAE,YAAY,CAAC;SACrC,MAAM,CAAC,OAAO,EAAE,mBAAmB,CAAC;SACpC,MAAM,CAAC,QAAQ,EAAE,gBAAgB,CAAC;SAClC,MAAM,CAAC,KAAK,EAAE,SAAiB,EAAE,OAA0C,EAAE,EAAE;QAC9E,IAAI,CAAC;YACH,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;gBACjB,MAAM,SAAS,GAAG,MAAM,IAAA,iBAAO,EAAC,iCAAiC,SAAS,GAAG,CAAC,CAAC;gBAC/E,IAAI,CAAC,SAAS,EAAE,CAAC;oBACf,IAAA,cAAI,EAAC,WAAW,CAAC,CAAC;oBAClB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAClB,CAAC;YACH,CAAC;YAED,MAAM,MAAM,GAAG,MAAM,IAAA,qBAAW,EAC9B,iCAAiC,EACjC,KAAK,IAAI,EAAE;gBACT,+CAA+C;gBAC/C,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;gBACxD,OAAO,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAC5D,CAAC,CACF,CAAC;YAEF,IAAI,IAAA,oBAAU,EAAC;gBACb,SAAS;gBACT,MAAM;aACP,EAAE,OAAO,CAAC,EAAE,CAAC;gBACZ,OAAO;YACT,CAAC;YAED,IAAA,iBAAO,EAAC,8BAA8B,CAAC,CAAC;YACxC,IAAA,cAAI,EAAC,eAAe,SAAS,EAAE,CAAC,CAAC;YACjC,IAAA,cAAI,EAAC,gBAAgB,MAAM,EAAE,CAAC,CAAC;QACjC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAA,eAAK,EAAC,8BAA8B,GAAG,EAAE,CAAC,CAAC;YAC3C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;IAEL,mBAAmB;IACnB,GAAG;SACA,OAAO,CAAC,KAAK,CAAC;SACd,WAAW,CAAC,qBAAqB,CAAC;SAClC,QAAQ,CAAC,aAAa,EAAE,YAAY,CAAC;SACrC,MAAM,CAAC,QAAQ,EAAE,gBAAgB,CAAC;SAClC,MAAM,CAAC,KAAK,EAAE,SAAiB,EAAE,OAAsB,EAAE,EAAE;QAC1D,IAAI,CAAC;YACH,mBAAmB;YACnB,MAAM,OAAO,GAAG;gBACd,EAAE,EAAE,SAAS;gBACb,OAAO,EAAE,4CAA4C;gBACrD,WAAW,EAAE,WAAW;gBACxB,MAAM,EAAE,CAAC;gBACT,YAAY,EAAE,CAAC;gBACf,UAAU,EAAE;oBACV,EAAE,OAAO,EAAE,2CAA2C,EAAE,QAAQ,EAAE,IAAI,EAAE;oBACxE,EAAE,OAAO,EAAE,4CAA4C,EAAE,QAAQ,EAAE,KAAK,EAAE;oBAC1E,EAAE,OAAO,EAAE,4CAA4C,EAAE,QAAQ,EAAE,KAAK,EAAE;iBAC3E;aACF,CAAC;YAEF,IAAI,IAAA,oBAAU,EAAC,OAAO,EAAE,OAAO,CAAC,EAAE,CAAC;gBACjC,OAAO;YACT,CAAC;YAED,OAAO,CAAC,GAAG,EAAE,CAAC;YACd,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC;YAC3C,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;YAChD,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;YACpD,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;YAC/C,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;YACrD,OAAO,CAAC,GAAG,EAAE,CAAC;YACd,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;YAC3B,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;gBAClC,MAAM,MAAM,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,WAAW,CAAC;gBACvD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,IAAA,uBAAa,EAAC,CAAC,CAAC,OAAO,CAAC,MAAM,MAAM,EAAE,CAAC,CAAC;YACrE,CAAC,CAAC,CAAC;YACH,OAAO,CAAC,GAAG,EAAE,CAAC;QAChB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAA,eAAK,EAAC,0BAA0B,GAAG,EAAE,CAAC,CAAC;YACvC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;IAEL,oBAAoB;IACpB,GAAG;SACA,OAAO,CAAC,MAAM,CAAC;SACf,WAAW,CAAC,oBAAoB,CAAC;SACjC,MAAM,CAAC,QAAQ,EAAE,gBAAgB,CAAC;SAClC,MAAM,CAAC,KAAK,EAAE,OAAsB,EAAE,EAAE;QACvC,IAAI,CAAC;YACH,mBAAmB;YACnB,MAAM,QAAQ,GAAG;gBACf;oBACE,EAAE,EAAE,CAAC;oBACL,MAAM,EAAE,WAAW;oBACnB,MAAM,EAAE,CAAC;oBACT,YAAY,EAAE,CAAC;oBACf,MAAM,EAAE,QAAQ;iBACjB;gBACD;oBACE,EAAE,EAAE,CAAC;oBACL,MAAM,EAAE,UAAU;oBAClB,MAAM,EAAE,CAAC;oBACT,YAAY,EAAE,CAAC;oBACf,MAAM,EAAE,WAAW;iBACpB;aACF,CAAC;YAEF,IAAI,IAAA,oBAAU,EAAC,QAAQ,EAAE,OAAO,CAAC,EAAE,CAAC;gBAClC,OAAO;YACT,CAAC;YAED,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC1B,IAAA,cAAI,EAAC,mBAAmB,CAAC,CAAC;gBAC1B,OAAO;YACT,CAAC;YAED,MAAM,KAAK,GAAG,IAAA,qBAAW,EAAC;gBACxB,IAAI,EAAE,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,CAAC;aACtD,CAAC,CAAC;YAEH,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;gBAC/B,KAAK,CAAC,IAAI,CAAC;oBACT,OAAO,CAAC,EAAE;oBACV,OAAO,CAAC,MAAM;oBACd,OAAO,CAAC,MAAM;oBACd,OAAO,CAAC,YAAY;oBACpB,OAAO,CAAC,MAAM;iBACf,CAAC,CAAC;YACL,CAAC;YAED,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;QAChC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAA,eAAK,EAAC,4BAA4B,GAAG,EAAE,CAAC,CAAC;YACzC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;IAEL,OAAO,GAAG,CAAC;AACb,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"compliance.d.ts","sourceRoot":"","sources":["../../../src/commands/compliance.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAKpC,wBAAgB,uBAAuB,IAAI,OAAO,CAqHjD"}
|