@pocketagent/paw 1.0.3 ā 1.0.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.
- package/README.md +3 -0
- package/dist/cli/commands/address.d.ts.map +1 -1
- package/dist/cli/commands/address.js +6 -0
- package/dist/cli/commands/address.js.map +1 -1
- package/dist/cli/commands/balance.d.ts.map +1 -1
- package/dist/cli/commands/balance.js +26 -10
- package/dist/cli/commands/balance.js.map +1 -1
- package/dist/cli/commands/dashboard.js +1 -1
- package/dist/cli/commands/dashboard.js.map +1 -1
- package/dist/cli/commands/export.d.ts +3 -0
- package/dist/cli/commands/export.d.ts.map +1 -0
- package/dist/cli/commands/export.js +96 -0
- package/dist/cli/commands/export.js.map +1 -0
- package/dist/cli/commands/history.js +1 -1
- package/dist/cli/commands/history.js.map +1 -1
- package/dist/cli/commands/import.d.ts +3 -0
- package/dist/cli/commands/import.d.ts.map +1 -0
- package/dist/cli/commands/import.js +70 -0
- package/dist/cli/commands/import.js.map +1 -0
- package/dist/cli/commands/multi-send.d.ts +3 -0
- package/dist/cli/commands/multi-send.d.ts.map +1 -0
- package/dist/cli/commands/multi-send.js +104 -0
- package/dist/cli/commands/multi-send.js.map +1 -0
- package/dist/cli/commands/send.d.ts.map +1 -1
- package/dist/cli/commands/send.js +39 -13
- package/dist/cli/commands/send.js.map +1 -1
- package/dist/cli/commands/swap.d.ts.map +1 -1
- package/dist/cli/commands/swap.js +7 -3
- package/dist/cli/commands/swap.js.map +1 -1
- package/dist/cli/commands/tokens.d.ts.map +1 -1
- package/dist/cli/commands/tokens.js +31 -15
- package/dist/cli/commands/tokens.js.map +1 -1
- package/dist/cli/index.js +6 -0
- package/dist/cli/index.js.map +1 -1
- package/dist/integrations/jupiter/client.d.ts +14 -0
- package/dist/integrations/jupiter/client.d.ts.map +1 -1
- package/dist/integrations/jupiter/client.js +102 -0
- package/dist/integrations/jupiter/client.js.map +1 -1
- package/dist/utils/solana.d.ts +5 -0
- package/dist/utils/solana.d.ts.map +1 -1
- package/dist/utils/solana.js +24 -0
- package/dist/utils/solana.js.map +1 -1
- package/package.json +5 -2
- package/skills/.gitkeep +0 -0
- package/skills/pocketagent-wallet/SKILL.md +0 -406
package/README.md
CHANGED
|
@@ -65,6 +65,9 @@ We're launching on Solana because:
|
|
|
65
65
|
- **Total Portfolio View**: See combined value of SOL + tokens in USD
|
|
66
66
|
- **Multi-Token Support**: Trade any SPL token by mint address
|
|
67
67
|
- **Transaction History**: Track all agent activities
|
|
68
|
+
- **QR Code Display**: Generate QR codes for easy mobile funding
|
|
69
|
+
- **Wallet Import/Export**: Backup and migrate wallets easily
|
|
70
|
+
- **Multi-Send**: Send to multiple addresses in one transaction
|
|
68
71
|
|
|
69
72
|
### šÆ Meme Trading Ready
|
|
70
73
|
- **Configurable Slippage**: Set high slippage for volatile tokens
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"address.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/address.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"address.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/address.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIpC,eAAO,MAAM,cAAc,SAkCvB,CAAC"}
|
|
@@ -3,10 +3,12 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.addressCommand = void 0;
|
|
4
4
|
const commander_1 = require("commander");
|
|
5
5
|
const manager_1 = require("../../core/wallet/manager");
|
|
6
|
+
const qrcode = require('qrcode-terminal');
|
|
6
7
|
exports.addressCommand = new commander_1.Command('address')
|
|
7
8
|
.description('š Show wallet address')
|
|
8
9
|
.argument('[agent-id]', 'Agent identifier')
|
|
9
10
|
.option('--agent-id <id>', 'Agent identifier (alternative)')
|
|
11
|
+
.option('--qr', 'Display address as QR code')
|
|
10
12
|
.action(async (agentIdArg, options) => {
|
|
11
13
|
try {
|
|
12
14
|
// Support both positional and flag syntax
|
|
@@ -22,6 +24,10 @@ exports.addressCommand = new commander_1.Command('address')
|
|
|
22
24
|
console.log('\nš PAW - Wallet Address');
|
|
23
25
|
console.log('Agent ID:', agentId);
|
|
24
26
|
console.log('Address: ', walletInfo.address);
|
|
27
|
+
if (options.qr) {
|
|
28
|
+
console.log('\nš± Scan QR Code:\n');
|
|
29
|
+
qrcode.generate(walletInfo.address, { small: true });
|
|
30
|
+
}
|
|
25
31
|
console.log('');
|
|
26
32
|
}
|
|
27
33
|
catch (error) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"address.js","sourceRoot":"","sources":["../../../src/cli/commands/address.ts"],"names":[],"mappings":";;;AAAA,yCAAoC;AACpC,uDAA0D;
|
|
1
|
+
{"version":3,"file":"address.js","sourceRoot":"","sources":["../../../src/cli/commands/address.ts"],"names":[],"mappings":";;;AAAA,yCAAoC;AACpC,uDAA0D;AAC1D,MAAM,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;AAE7B,QAAA,cAAc,GAAG,IAAI,mBAAO,CAAC,SAAS,CAAC;KACjD,WAAW,CAAC,wBAAwB,CAAC;KACrC,QAAQ,CAAC,YAAY,EAAE,kBAAkB,CAAC;KAC1C,MAAM,CAAC,iBAAiB,EAAE,gCAAgC,CAAC;KAC3D,MAAM,CAAC,MAAM,EAAE,4BAA4B,CAAC;KAC5C,MAAM,CAAC,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,EAAE;IACpC,IAAI,CAAC;QACH,0CAA0C;QAC1C,MAAM,OAAO,GAAG,UAAU,IAAI,OAAO,CAAC,OAAO,CAAC;QAE9C,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,iCAAiC,CAAC,CAAC;YACjD,OAAO,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAC;YAC/C,OAAO,CAAC,GAAG,CAAC,0CAA0C,CAAC,CAAC;YACxD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAChB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,MAAM,UAAU,GAAG,MAAM,uBAAa,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QAE9D,OAAO,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC;QACzC,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;QAClC,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC;QAE7C,IAAI,OAAO,CAAC,EAAE,EAAE,CAAC;YACf,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;YACpC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACvD,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAClB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,YAAY,EAAG,KAAe,CAAC,OAAO,CAAC,CAAC;QACtD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"balance.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/balance.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"balance.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/balance.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAQpC,eAAO,MAAM,cAAc,SAmGvB,CAAC"}
|
|
@@ -7,6 +7,7 @@ const solana_1 = require("../../utils/solana");
|
|
|
7
7
|
const filesystem_1 = require("../../core/storage/filesystem");
|
|
8
8
|
const web3_js_1 = require("@solana/web3.js");
|
|
9
9
|
const price_1 = require("../../utils/price");
|
|
10
|
+
const client_1 = require("../../integrations/jupiter/client");
|
|
10
11
|
exports.balanceCommand = new commander_1.Command('balance')
|
|
11
12
|
.description('š Check wallet balance')
|
|
12
13
|
.argument('[agent-id]', 'Agent identifier')
|
|
@@ -37,25 +38,40 @@ exports.balanceCommand = new commander_1.Command('balance')
|
|
|
37
38
|
const solBalance = solBalanceLamports / 1e9;
|
|
38
39
|
// Get SPL token accounts
|
|
39
40
|
const tokenAccounts = await connection.getParsedTokenAccountsByOwner(publicKey, { programId: new web3_js_1.PublicKey('TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA') });
|
|
40
|
-
//
|
|
41
|
-
const
|
|
42
|
-
|
|
43
|
-
// Track stablecoin balances
|
|
44
|
-
let stablecoinBalance = 0;
|
|
45
|
-
// Add SPL token values
|
|
41
|
+
// Collect all mints with positive balance
|
|
42
|
+
const mints = [];
|
|
43
|
+
const tokenBalances = {};
|
|
46
44
|
for (const accountInfo of tokenAccounts.value) {
|
|
47
45
|
const parsedInfo = accountInfo.account.data.parsed.info;
|
|
48
46
|
const mint = parsedInfo.mint;
|
|
49
47
|
const tokenBalance = parsedInfo.tokenAmount.uiAmount || 0;
|
|
50
|
-
|
|
48
|
+
if (tokenBalance > 0) {
|
|
49
|
+
mints.push(mint);
|
|
50
|
+
tokenBalances[mint] = tokenBalance;
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
// Calculate total value in USD
|
|
54
|
+
const SOL_PRICE = await price_1.PriceService.getSolPrice();
|
|
55
|
+
let totalUSD = solBalance * SOL_PRICE;
|
|
56
|
+
// Fetch prices for all tokens
|
|
57
|
+
let tokenPrices = {};
|
|
58
|
+
if (mints.length > 0) {
|
|
59
|
+
tokenPrices = await client_1.JupiterClient.getTokenPrices(mints);
|
|
60
|
+
}
|
|
61
|
+
// Add SPL token values
|
|
62
|
+
for (const mint of mints) {
|
|
63
|
+
// Use price from DexScreener, or fallback for known stablecoins
|
|
64
|
+
let price = tokenPrices[mint] || 0;
|
|
65
|
+
// Fallback: Known stablecoins are always $1
|
|
51
66
|
const stablecoins = [
|
|
52
67
|
'EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v', // USDC
|
|
53
68
|
'Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB', // USDT
|
|
54
69
|
];
|
|
55
|
-
if (stablecoins.includes(mint)) {
|
|
56
|
-
|
|
57
|
-
totalUSD += tokenBalance;
|
|
70
|
+
if (stablecoins.includes(mint) && price === 0) {
|
|
71
|
+
price = 1.0;
|
|
58
72
|
}
|
|
73
|
+
const balance = tokenBalances[mint];
|
|
74
|
+
totalUSD += balance * price;
|
|
59
75
|
}
|
|
60
76
|
const totalSOL = totalUSD / SOL_PRICE;
|
|
61
77
|
console.log('\nš PAW - Balance');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"balance.js","sourceRoot":"","sources":["../../../src/cli/commands/balance.ts"],"names":[],"mappings":";;;AAAA,yCAAoC;AACpC,uDAA0D;AAC1D,+CAAkD;AAClD,8DAAkE;AAClE,6CAAqD;AACrD,6CAAiD;
|
|
1
|
+
{"version":3,"file":"balance.js","sourceRoot":"","sources":["../../../src/cli/commands/balance.ts"],"names":[],"mappings":"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"}
|
|
@@ -147,7 +147,7 @@ exports.dashboardCommand = new commander_1.Command('dashboard')
|
|
|
147
147
|
content += '\n';
|
|
148
148
|
// Agent info
|
|
149
149
|
content += `{green-fg}AGENT:{/green-fg} ${agentId}\n`;
|
|
150
|
-
content += `{green-fg}ADDR:{/green-fg} ${walletInfo.address
|
|
150
|
+
content += `{green-fg}ADDR:{/green-fg} ${walletInfo.address}\n`;
|
|
151
151
|
content += `{green-fg}NET:{/green-fg} ${network.toUpperCase()}\n`;
|
|
152
152
|
content += '\n';
|
|
153
153
|
content += 'āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā\n';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dashboard.js","sourceRoot":"","sources":["../../../src/cli/commands/dashboard.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"dashboard.js","sourceRoot":"","sources":["../../../src/cli/commands/dashboard.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"export.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/export.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAKpC,eAAO,MAAM,aAAa,SA6DtB,CAAC"}
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
36
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
37
|
+
};
|
|
38
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
+
exports.exportCommand = void 0;
|
|
40
|
+
const commander_1 = require("commander");
|
|
41
|
+
const manager_1 = require("../../core/wallet/manager");
|
|
42
|
+
const bs58_1 = __importDefault(require("bs58"));
|
|
43
|
+
const readline = __importStar(require("readline"));
|
|
44
|
+
exports.exportCommand = new commander_1.Command('export')
|
|
45
|
+
.description('š Export wallet private key')
|
|
46
|
+
.argument('<agent-id>', 'Agent identifier')
|
|
47
|
+
.option('--confirm <agent-id>', 'Skip confirmation prompt (for automation)')
|
|
48
|
+
.action(async (agentId, options) => {
|
|
49
|
+
try {
|
|
50
|
+
// Security warning
|
|
51
|
+
console.log('\nā ļø WARNING: SENSITIVE DATA EXPORT');
|
|
52
|
+
console.log('āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā');
|
|
53
|
+
console.log('This will display your wallet private key in PLAINTEXT!');
|
|
54
|
+
console.log('Anyone with this information can STEAL YOUR FUNDS!');
|
|
55
|
+
console.log('Only export in a secure, private location.');
|
|
56
|
+
console.log('āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā\n');
|
|
57
|
+
// Confirmation
|
|
58
|
+
if (!options.confirm || options.confirm !== agentId) {
|
|
59
|
+
// Interactive confirmation
|
|
60
|
+
const rl = readline.createInterface({
|
|
61
|
+
input: process.stdin,
|
|
62
|
+
output: process.stdout,
|
|
63
|
+
});
|
|
64
|
+
const answer = await new Promise((resolve) => {
|
|
65
|
+
rl.question(`Type '${agentId}' to confirm export: `, resolve);
|
|
66
|
+
});
|
|
67
|
+
rl.close();
|
|
68
|
+
if (answer !== agentId) {
|
|
69
|
+
console.log('\nā Export cancelled - confirmation did not match\n');
|
|
70
|
+
process.exit(1);
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
// Load keypair
|
|
74
|
+
const keypair = await manager_1.WalletManager.loadKeypairAuto(agentId);
|
|
75
|
+
console.log('\nš PAW - Wallet Export');
|
|
76
|
+
console.log('Agent ID:', agentId);
|
|
77
|
+
console.log('');
|
|
78
|
+
// Export as base58 encoded private key
|
|
79
|
+
const privateKeyBase58 = bs58_1.default.encode(keypair.secretKey);
|
|
80
|
+
console.log('š Private Key (Base58):');
|
|
81
|
+
console.log('āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā');
|
|
82
|
+
console.log(privateKeyBase58);
|
|
83
|
+
console.log('āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā');
|
|
84
|
+
console.log('\nā ļø Keep this secret and secure!');
|
|
85
|
+
console.log('ā ļø Never share it with anyone!');
|
|
86
|
+
console.log('š” Import this into Phantom, Solflare, or any Solana wallet');
|
|
87
|
+
console.log('');
|
|
88
|
+
// Clear keypair from memory
|
|
89
|
+
keypair.secretKey.fill(0);
|
|
90
|
+
}
|
|
91
|
+
catch (error) {
|
|
92
|
+
console.error('\nā Error:', error.message);
|
|
93
|
+
process.exit(1);
|
|
94
|
+
}
|
|
95
|
+
});
|
|
96
|
+
//# sourceMappingURL=export.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"export.js","sourceRoot":"","sources":["../../../src/cli/commands/export.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,yCAAoC;AACpC,uDAA0D;AAC1D,gDAAwB;AACxB,mDAAqC;AAExB,QAAA,aAAa,GAAG,IAAI,mBAAO,CAAC,QAAQ,CAAC;KAC/C,WAAW,CAAC,8BAA8B,CAAC;KAC3C,QAAQ,CAAC,YAAY,EAAE,kBAAkB,CAAC;KAC1C,MAAM,CAAC,sBAAsB,EAAE,2CAA2C,CAAC;KAC3E,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE;IACjC,IAAI,CAAC;QACH,mBAAmB;QACnB,OAAO,CAAC,GAAG,CAAC,sCAAsC,CAAC,CAAC;QACpD,OAAO,CAAC,GAAG,CAAC,qDAAqD,CAAC,CAAC;QACnE,OAAO,CAAC,GAAG,CAAC,yDAAyD,CAAC,CAAC;QACvE,OAAO,CAAC,GAAG,CAAC,oDAAoD,CAAC,CAAC;QAClE,OAAO,CAAC,GAAG,CAAC,4CAA4C,CAAC,CAAC;QAC1D,OAAO,CAAC,GAAG,CAAC,uDAAuD,CAAC,CAAC;QAErE,eAAe;QACf,IAAI,CAAC,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,OAAO,KAAK,OAAO,EAAE,CAAC;YACpD,2BAA2B;YAC3B,MAAM,EAAE,GAAG,QAAQ,CAAC,eAAe,CAAC;gBAClC,KAAK,EAAE,OAAO,CAAC,KAAK;gBACpB,MAAM,EAAE,OAAO,CAAC,MAAM;aACvB,CAAC,CAAC;YAEH,MAAM,MAAM,GAAG,MAAM,IAAI,OAAO,CAAS,CAAC,OAAO,EAAE,EAAE;gBACnD,EAAE,CAAC,QAAQ,CAAC,SAAS,OAAO,uBAAuB,EAAE,OAAO,CAAC,CAAC;YAChE,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,KAAK,EAAE,CAAC;YAEX,IAAI,MAAM,KAAK,OAAO,EAAE,CAAC;gBACvB,OAAO,CAAC,GAAG,CAAC,qDAAqD,CAAC,CAAC;gBACnE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;QACH,CAAC;QAED,eAAe;QACf,MAAM,OAAO,GAAG,MAAM,uBAAa,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;QAE7D,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC;QACxC,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;QAClC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAEhB,uCAAuC;QACvC,MAAM,gBAAgB,GAAG,cAAI,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAExD,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC;QACxC,OAAO,CAAC,GAAG,CAAC,qDAAqD,CAAC,CAAC;QACnE,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;QAC9B,OAAO,CAAC,GAAG,CAAC,qDAAqD,CAAC,CAAC;QACnE,OAAO,CAAC,GAAG,CAAC,oCAAoC,CAAC,CAAC;QAClD,OAAO,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAC;QAC/C,OAAO,CAAC,GAAG,CAAC,6DAA6D,CAAC,CAAC;QAE3E,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAEhB,4BAA4B;QAC5B,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAE5B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,YAAY,EAAG,KAAe,CAAC,OAAO,CAAC,CAAC;QACtD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC,CAAC"}
|
|
@@ -92,7 +92,7 @@ exports.historyCommand = new commander_1.Command('history')
|
|
|
92
92
|
}
|
|
93
93
|
console.log(table.toString());
|
|
94
94
|
console.log('');
|
|
95
|
-
console.log(`View full details:
|
|
95
|
+
console.log(`View full details: ${solana_1.SolanaClient.getExplorerUrl('address', walletInfo.address, network)}`);
|
|
96
96
|
console.log('');
|
|
97
97
|
}
|
|
98
98
|
catch (error) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"history.js","sourceRoot":"","sources":["../../../src/cli/commands/history.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"history.js","sourceRoot":"","sources":["../../../src/cli/commands/history.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"import.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/import.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAOpC,eAAO,MAAM,aAAa,SAiEtB,CAAC"}
|
|
@@ -0,0 +1,70 @@
|
|
|
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.importCommand = void 0;
|
|
7
|
+
const commander_1 = require("commander");
|
|
8
|
+
const web3_js_1 = require("@solana/web3.js");
|
|
9
|
+
const encryption_1 = require("../../core/storage/encryption");
|
|
10
|
+
const filesystem_1 = require("../../core/storage/filesystem");
|
|
11
|
+
const bs58_1 = __importDefault(require("bs58"));
|
|
12
|
+
exports.importCommand = new commander_1.Command('import')
|
|
13
|
+
.description('š Import existing wallet from private key')
|
|
14
|
+
.argument('<agent-id>', 'Agent identifier for the imported wallet')
|
|
15
|
+
.requiredOption('--private-key <key>', 'Base58 encoded private key')
|
|
16
|
+
.option('--network <network>', 'Network to use (devnet, mainnet-beta, testnet)', 'mainnet-beta')
|
|
17
|
+
.action(async (agentId, options) => {
|
|
18
|
+
try {
|
|
19
|
+
// Check if wallet already exists
|
|
20
|
+
if (await filesystem_1.FileSystemStorage.exists(agentId)) {
|
|
21
|
+
console.error(`\nā Error: Wallet for agent "${agentId}" already exists`);
|
|
22
|
+
console.log('\nUse a different agent ID or delete the existing wallet first.');
|
|
23
|
+
console.log('');
|
|
24
|
+
process.exit(1);
|
|
25
|
+
}
|
|
26
|
+
console.log('\nš PAW - Import Wallet');
|
|
27
|
+
console.log('Agent ID:', agentId);
|
|
28
|
+
console.log('Network: ', options.network);
|
|
29
|
+
console.log('');
|
|
30
|
+
// Decode private key from base58
|
|
31
|
+
let keypair;
|
|
32
|
+
try {
|
|
33
|
+
const privateKeyBytes = bs58_1.default.decode(options.privateKey);
|
|
34
|
+
keypair = web3_js_1.Keypair.fromSecretKey(privateKeyBytes);
|
|
35
|
+
}
|
|
36
|
+
catch (error) {
|
|
37
|
+
console.error('ā Error: Invalid private key');
|
|
38
|
+
console.log(`\nDetails: ${error.message}`);
|
|
39
|
+
console.log('');
|
|
40
|
+
process.exit(1);
|
|
41
|
+
}
|
|
42
|
+
// Generate passphrase for encryption
|
|
43
|
+
const passphrase = encryption_1.EncryptionService.generatePassphrase();
|
|
44
|
+
// Encrypt keypair
|
|
45
|
+
const encryptedKeypair = encryption_1.EncryptionService.encrypt(keypair, passphrase);
|
|
46
|
+
// Save encrypted keypair to disk
|
|
47
|
+
await filesystem_1.FileSystemStorage.saveKeypair(agentId, encryptedKeypair);
|
|
48
|
+
// Save passphrase (encrypted with machine-specific key)
|
|
49
|
+
await filesystem_1.FileSystemStorage.savePassphrase(agentId, passphrase);
|
|
50
|
+
// Save config
|
|
51
|
+
await filesystem_1.FileSystemStorage.saveConfig(agentId, {
|
|
52
|
+
agentId,
|
|
53
|
+
publicKey: keypair.publicKey.toBase58(),
|
|
54
|
+
createdAt: new Date().toISOString(),
|
|
55
|
+
network: options.network,
|
|
56
|
+
});
|
|
57
|
+
console.log('ā
Wallet imported successfully!\n');
|
|
58
|
+
console.log('Agent ID:', agentId);
|
|
59
|
+
console.log('Address: ', keypair.publicKey.toBase58());
|
|
60
|
+
console.log('Network: ', options.network);
|
|
61
|
+
console.log('');
|
|
62
|
+
// Clear keypair from memory
|
|
63
|
+
encryption_1.EncryptionService.clearKeypair(keypair);
|
|
64
|
+
}
|
|
65
|
+
catch (error) {
|
|
66
|
+
console.error('\nā Error:', error.message);
|
|
67
|
+
process.exit(1);
|
|
68
|
+
}
|
|
69
|
+
});
|
|
70
|
+
//# sourceMappingURL=import.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"import.js","sourceRoot":"","sources":["../../../src/cli/commands/import.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"multi-send.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/multi-send.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAKpC,eAAO,MAAM,gBAAgB,SAiHzB,CAAC"}
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.multiSendCommand = void 0;
|
|
4
|
+
const commander_1 = require("commander");
|
|
5
|
+
const manager_1 = require("../../core/wallet/manager");
|
|
6
|
+
const solana_1 = require("../../utils/solana");
|
|
7
|
+
const web3_js_1 = require("@solana/web3.js");
|
|
8
|
+
exports.multiSendCommand = new commander_1.Command('multi-send')
|
|
9
|
+
.description('š Send SOL to multiple addresses')
|
|
10
|
+
.argument('<agent-id>', 'Agent identifier')
|
|
11
|
+
.requiredOption('--addresses <addresses>', 'Comma-separated list of recipient addresses')
|
|
12
|
+
.requiredOption('--amounts <amounts>', 'Comma-separated list of amounts (in SOL)')
|
|
13
|
+
.option('--network <network>', 'Network to use (devnet, mainnet-beta, testnet)', 'mainnet-beta')
|
|
14
|
+
.action(async (agentId, options) => {
|
|
15
|
+
try {
|
|
16
|
+
console.log('\nš PAW - Multi-Send');
|
|
17
|
+
console.log('Agent ID:', agentId);
|
|
18
|
+
console.log('Network: ', options.network);
|
|
19
|
+
console.log('');
|
|
20
|
+
// Parse addresses and amounts
|
|
21
|
+
const addresses = options.addresses.split(',').map((addr) => addr.trim());
|
|
22
|
+
const amounts = options.amounts.split(',').map((amt) => parseFloat(amt.trim()));
|
|
23
|
+
// Validate
|
|
24
|
+
if (addresses.length !== amounts.length) {
|
|
25
|
+
console.error('ā Error: Number of addresses must match number of amounts');
|
|
26
|
+
console.log(`\nAddresses: ${addresses.length}, Amounts: ${amounts.length}`);
|
|
27
|
+
console.log('');
|
|
28
|
+
process.exit(1);
|
|
29
|
+
}
|
|
30
|
+
if (addresses.length === 0) {
|
|
31
|
+
console.error('ā Error: At least one recipient required');
|
|
32
|
+
console.log('');
|
|
33
|
+
process.exit(1);
|
|
34
|
+
}
|
|
35
|
+
// Validate addresses
|
|
36
|
+
const recipients = [];
|
|
37
|
+
for (let i = 0; i < addresses.length; i++) {
|
|
38
|
+
try {
|
|
39
|
+
recipients.push(new web3_js_1.PublicKey(addresses[i]));
|
|
40
|
+
}
|
|
41
|
+
catch (error) {
|
|
42
|
+
console.error(`ā Error: Invalid address at position ${i + 1}: ${addresses[i]}`);
|
|
43
|
+
console.log('');
|
|
44
|
+
process.exit(1);
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
// Calculate total
|
|
48
|
+
const totalAmount = amounts.reduce((sum, amt) => sum + amt, 0);
|
|
49
|
+
const totalLamports = Math.floor(totalAmount * web3_js_1.LAMPORTS_PER_SOL);
|
|
50
|
+
console.log('š Transfer Summary:');
|
|
51
|
+
console.log('āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā');
|
|
52
|
+
for (let i = 0; i < addresses.length; i++) {
|
|
53
|
+
console.log(`${i + 1}. ${addresses[i]}`);
|
|
54
|
+
console.log(` Amount: ${amounts[i]} SOL`);
|
|
55
|
+
}
|
|
56
|
+
console.log('āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā');
|
|
57
|
+
console.log(`Total: ${totalAmount} SOL (${recipients.length} recipients)`);
|
|
58
|
+
console.log('');
|
|
59
|
+
// Load keypair
|
|
60
|
+
const keypair = await manager_1.WalletManager.loadKeypairAuto(agentId);
|
|
61
|
+
// Check balance
|
|
62
|
+
const connection = solana_1.SolanaClient.getConnection(options.network);
|
|
63
|
+
const balance = await connection.getBalance(keypair.publicKey);
|
|
64
|
+
const balanceSOL = balance / web3_js_1.LAMPORTS_PER_SOL;
|
|
65
|
+
// Estimate fees (5000 lamports per transfer + base fee)
|
|
66
|
+
const estimatedFees = (recipients.length * 5000 + 5000) / web3_js_1.LAMPORTS_PER_SOL;
|
|
67
|
+
const totalNeeded = totalAmount + estimatedFees;
|
|
68
|
+
if (balanceSOL < totalNeeded) {
|
|
69
|
+
console.error(`ā Error: Insufficient balance`);
|
|
70
|
+
console.log(`\nRequired: ${totalNeeded.toFixed(6)} SOL (${totalAmount} + ~${estimatedFees.toFixed(6)} fees)`);
|
|
71
|
+
console.log(`Available: ${balanceSOL.toFixed(6)} SOL`);
|
|
72
|
+
console.log('');
|
|
73
|
+
process.exit(1);
|
|
74
|
+
}
|
|
75
|
+
console.log('š° Balance: ', balanceSOL.toFixed(6), 'SOL');
|
|
76
|
+
console.log('šø Estimated fees: ~', estimatedFees.toFixed(6), 'SOL');
|
|
77
|
+
console.log('');
|
|
78
|
+
// Build transaction with multiple transfers
|
|
79
|
+
const transaction = new web3_js_1.Transaction();
|
|
80
|
+
for (let i = 0; i < recipients.length; i++) {
|
|
81
|
+
const lamports = Math.floor(amounts[i] * web3_js_1.LAMPORTS_PER_SOL);
|
|
82
|
+
transaction.add(web3_js_1.SystemProgram.transfer({
|
|
83
|
+
fromPubkey: keypair.publicKey,
|
|
84
|
+
toPubkey: recipients[i],
|
|
85
|
+
lamports,
|
|
86
|
+
}));
|
|
87
|
+
}
|
|
88
|
+
console.log('š¤ Sending transactions...');
|
|
89
|
+
// Send transaction
|
|
90
|
+
const signature = await connection.sendTransaction(transaction, [keypair]);
|
|
91
|
+
console.log('ā³ Confirming...');
|
|
92
|
+
// Confirm transaction
|
|
93
|
+
await connection.confirmTransaction(signature);
|
|
94
|
+
console.log('\nā
Multi-send completed!');
|
|
95
|
+
console.log('Signature:', signature);
|
|
96
|
+
console.log('Explorer: ', solana_1.SolanaClient.getExplorerUrl('tx', signature, options.network));
|
|
97
|
+
console.log('');
|
|
98
|
+
}
|
|
99
|
+
catch (error) {
|
|
100
|
+
console.error('\nā Error:', error.message);
|
|
101
|
+
process.exit(1);
|
|
102
|
+
}
|
|
103
|
+
});
|
|
104
|
+
//# sourceMappingURL=multi-send.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"multi-send.js","sourceRoot":"","sources":["../../../src/cli/commands/multi-send.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"send.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/send.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"send.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/send.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAkBpC,eAAO,MAAM,WAAW,SAkHpB,CAAC"}
|
|
@@ -7,12 +7,14 @@ const engine_1 = require("../../core/signer/engine");
|
|
|
7
7
|
const solana_1 = require("../../utils/solana");
|
|
8
8
|
const filesystem_1 = require("../../core/storage/filesystem");
|
|
9
9
|
const web3_js_1 = require("@solana/web3.js");
|
|
10
|
+
const spl_token_1 = require("@solana/spl-token");
|
|
10
11
|
exports.sendCommand = new commander_1.Command('send')
|
|
11
|
-
.description('š Send SOL to another address')
|
|
12
|
+
.description('š Send SOL or SPL tokens to another address')
|
|
12
13
|
.argument('[agent-id]', 'Agent identifier')
|
|
13
14
|
.option('--agent-id <id>', 'Agent identifier (alternative)')
|
|
14
15
|
.requiredOption('--to <address>', 'Recipient address')
|
|
15
|
-
.requiredOption('--amount <amount>', 'Amount
|
|
16
|
+
.requiredOption('--amount <amount>', 'Amount to send')
|
|
17
|
+
.option('--token <mint>', 'SPL token mint address (omit for SOL)')
|
|
16
18
|
.option('--network <network>', 'Network to use (overrides config)')
|
|
17
19
|
.action(async (agentIdArg, options) => {
|
|
18
20
|
try {
|
|
@@ -31,30 +33,54 @@ exports.sendCommand = new commander_1.Command('send')
|
|
|
31
33
|
const config = await filesystem_1.FileSystemStorage.loadConfig(agentId);
|
|
32
34
|
network = config.network || 'mainnet-beta';
|
|
33
35
|
}
|
|
36
|
+
const isSPLToken = !!options.token;
|
|
34
37
|
console.log('\nš PAW - Send Transaction');
|
|
35
38
|
console.log('Agent ID:', agentId);
|
|
36
39
|
console.log('To: ', options.to);
|
|
37
|
-
console.log('Amount: ', options.amount, 'SOL');
|
|
40
|
+
console.log('Amount: ', options.amount, isSPLToken ? 'tokens' : 'SOL');
|
|
41
|
+
if (isSPLToken) {
|
|
42
|
+
console.log('Token: ', options.token);
|
|
43
|
+
}
|
|
38
44
|
console.log('Network: ', network);
|
|
39
45
|
// Load keypair
|
|
40
46
|
const keypair = await manager_1.WalletManager.loadKeypairAuto(agentId);
|
|
41
47
|
// Get connection
|
|
42
48
|
const connection = solana_1.SolanaClient.getConnection(network);
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
49
|
+
let transaction;
|
|
50
|
+
if (isSPLToken) {
|
|
51
|
+
// SPL Token Transfer
|
|
52
|
+
console.log('\nPreparing SPL token transfer...');
|
|
53
|
+
const mintPubkey = new web3_js_1.PublicKey(options.token);
|
|
54
|
+
const recipientPubkey = new web3_js_1.PublicKey(options.to);
|
|
55
|
+
// Get mint info to determine decimals
|
|
56
|
+
const mintInfo = await (0, spl_token_1.getMint)(connection, mintPubkey);
|
|
57
|
+
const decimals = mintInfo.decimals;
|
|
58
|
+
const amount = Math.floor(parseFloat(options.amount) * Math.pow(10, decimals));
|
|
59
|
+
console.log('Token decimals:', decimals);
|
|
60
|
+
// Get or create associated token accounts
|
|
61
|
+
console.log('Getting token accounts...');
|
|
62
|
+
const sourceAccount = await (0, spl_token_1.getOrCreateAssociatedTokenAccount)(connection, keypair, mintPubkey, keypair.publicKey);
|
|
63
|
+
const destinationAccount = await (0, spl_token_1.getOrCreateAssociatedTokenAccount)(connection, keypair, mintPubkey, recipientPubkey);
|
|
64
|
+
// Create transfer instruction
|
|
65
|
+
const transferInstruction = (0, spl_token_1.createTransferInstruction)(sourceAccount.address, destinationAccount.address, keypair.publicKey, amount);
|
|
66
|
+
transaction = new web3_js_1.Transaction().add(transferInstruction);
|
|
67
|
+
}
|
|
68
|
+
else {
|
|
69
|
+
// SOL Transfer
|
|
70
|
+
const lamports = Math.floor(parseFloat(options.amount) * web3_js_1.LAMPORTS_PER_SOL);
|
|
71
|
+
const transferInstruction = web3_js_1.SystemProgram.transfer({
|
|
72
|
+
fromPubkey: keypair.publicKey,
|
|
73
|
+
toPubkey: new web3_js_1.PublicKey(options.to),
|
|
74
|
+
lamports,
|
|
75
|
+
});
|
|
76
|
+
transaction = new web3_js_1.Transaction().add(transferInstruction);
|
|
77
|
+
}
|
|
52
78
|
// Sign and send
|
|
53
79
|
console.log('\nSigning transaction...');
|
|
54
80
|
const signature = await engine_1.SignerEngine.signAndSend(transaction, keypair, connection);
|
|
55
81
|
console.log('\nā
Transaction sent!');
|
|
56
82
|
console.log('Signature:', signature);
|
|
57
|
-
console.log('Explorer:
|
|
83
|
+
console.log('Explorer: ', solana_1.SolanaClient.getExplorerUrl('tx', signature, network));
|
|
58
84
|
console.log('');
|
|
59
85
|
}
|
|
60
86
|
catch (error) {
|