@pocketagent/paw 1.0.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/LICENSE +21 -0
- package/README.md +307 -0
- package/dist/cli/commands/address.d.ts +3 -0
- package/dist/cli/commands/address.d.ts.map +1 -0
- package/dist/cli/commands/address.js +32 -0
- package/dist/cli/commands/address.js.map +1 -0
- package/dist/cli/commands/balance.d.ts +3 -0
- package/dist/cli/commands/balance.d.ts.map +1 -0
- package/dist/cli/commands/balance.js +76 -0
- package/dist/cli/commands/balance.js.map +1 -0
- package/dist/cli/commands/config.d.ts +3 -0
- package/dist/cli/commands/config.d.ts.map +1 -0
- package/dist/cli/commands/config.js +90 -0
- package/dist/cli/commands/config.js.map +1 -0
- package/dist/cli/commands/dashboard.d.ts +3 -0
- package/dist/cli/commands/dashboard.d.ts.map +1 -0
- package/dist/cli/commands/dashboard.js +224 -0
- package/dist/cli/commands/dashboard.js.map +1 -0
- package/dist/cli/commands/history.d.ts +3 -0
- package/dist/cli/commands/history.d.ts.map +1 -0
- package/dist/cli/commands/history.js +103 -0
- package/dist/cli/commands/history.js.map +1 -0
- package/dist/cli/commands/init.d.ts +3 -0
- package/dist/cli/commands/init.d.ts.map +1 -0
- package/dist/cli/commands/init.js +62 -0
- package/dist/cli/commands/init.js.map +1 -0
- package/dist/cli/commands/send.d.ts +3 -0
- package/dist/cli/commands/send.d.ts.map +1 -0
- package/dist/cli/commands/send.js +65 -0
- package/dist/cli/commands/send.js.map +1 -0
- package/dist/cli/commands/swap.d.ts +3 -0
- package/dist/cli/commands/swap.d.ts.map +1 -0
- package/dist/cli/commands/swap.js +123 -0
- package/dist/cli/commands/swap.js.map +1 -0
- package/dist/cli/commands/tokens.d.ts +3 -0
- package/dist/cli/commands/tokens.d.ts.map +1 -0
- package/dist/cli/commands/tokens.js +97 -0
- package/dist/cli/commands/tokens.js.map +1 -0
- package/dist/cli/index.d.ts +3 -0
- package/dist/cli/index.d.ts.map +1 -0
- package/dist/cli/index.js +31 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/core/crypto/machine-identity.d.ts +26 -0
- package/dist/core/crypto/machine-identity.d.ts.map +1 -0
- package/dist/core/crypto/machine-identity.js +87 -0
- package/dist/core/crypto/machine-identity.js.map +1 -0
- package/dist/core/signer/engine.d.ts +17 -0
- package/dist/core/signer/engine.d.ts.map +1 -0
- package/dist/core/signer/engine.js +81 -0
- package/dist/core/signer/engine.js.map +1 -0
- package/dist/core/storage/encryption.d.ts +23 -0
- package/dist/core/storage/encryption.d.ts.map +1 -0
- package/dist/core/storage/encryption.js +79 -0
- package/dist/core/storage/encryption.js.map +1 -0
- package/dist/core/storage/filesystem.d.ts +68 -0
- package/dist/core/storage/filesystem.d.ts.map +1 -0
- package/dist/core/storage/filesystem.js +189 -0
- package/dist/core/storage/filesystem.js.map +1 -0
- package/dist/core/wallet/manager.d.ts +30 -0
- package/dist/core/wallet/manager.d.ts.map +1 -0
- package/dist/core/wallet/manager.js +98 -0
- package/dist/core/wallet/manager.js.map +1 -0
- package/dist/index.d.ts +10 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +19 -0
- package/dist/index.js.map +1 -0
- package/dist/integrations/jupiter/client.d.ts +62 -0
- package/dist/integrations/jupiter/client.d.ts.map +1 -0
- package/dist/integrations/jupiter/client.js +143 -0
- package/dist/integrations/jupiter/client.js.map +1 -0
- package/dist/types/transaction.d.ts +23 -0
- package/dist/types/transaction.d.ts.map +1 -0
- package/dist/types/transaction.js +3 -0
- package/dist/types/transaction.js.map +1 -0
- package/dist/types/wallet.d.ts +31 -0
- package/dist/types/wallet.d.ts.map +1 -0
- package/dist/types/wallet.js +3 -0
- package/dist/types/wallet.js.map +1 -0
- package/dist/utils/price.d.ts +12 -0
- package/dist/utils/price.d.ts.map +1 -0
- package/dist/utils/price.js +45 -0
- package/dist/utils/price.js.map +1 -0
- package/dist/utils/solana.d.ts +22 -0
- package/dist/utils/solana.d.ts.map +1 -0
- package/dist/utils/solana.js +85 -0
- package/dist/utils/solana.js.map +1 -0
- package/package.json +80 -0
- package/skills/SKILLS.md +393 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/integrations/jupiter/client.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
export interface SwapParams {
|
|
2
|
+
from: string;
|
|
3
|
+
to: string;
|
|
4
|
+
amount: number;
|
|
5
|
+
slippage?: number;
|
|
6
|
+
}
|
|
7
|
+
export interface SwapResult {
|
|
8
|
+
signature: string;
|
|
9
|
+
inputAmount: number;
|
|
10
|
+
outputAmount: number;
|
|
11
|
+
from: string;
|
|
12
|
+
to: string;
|
|
13
|
+
}
|
|
14
|
+
export interface SendParams {
|
|
15
|
+
to: string;
|
|
16
|
+
amount: number;
|
|
17
|
+
}
|
|
18
|
+
export interface SendResult {
|
|
19
|
+
signature: string;
|
|
20
|
+
amount: number;
|
|
21
|
+
recipient: string;
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=transaction.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transaction.d.ts","sourceRoot":"","sources":["../../src/types/transaction.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,UAAU;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;CACZ;AAED,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,UAAU;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;CACnB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transaction.js","sourceRoot":"","sources":["../../src/types/transaction.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { PublicKey } from '@solana/web3.js';
|
|
2
|
+
export interface WalletConfig {
|
|
3
|
+
agentId: string;
|
|
4
|
+
passphrase?: string;
|
|
5
|
+
network?: 'devnet' | 'mainnet-beta' | 'testnet';
|
|
6
|
+
defaultSlippage?: number;
|
|
7
|
+
defaultPriorityFee?: number;
|
|
8
|
+
}
|
|
9
|
+
export interface WalletInfo {
|
|
10
|
+
agentId: string;
|
|
11
|
+
publicKey: PublicKey;
|
|
12
|
+
address: string;
|
|
13
|
+
createdAt: Date;
|
|
14
|
+
}
|
|
15
|
+
export interface Balance {
|
|
16
|
+
sol: number;
|
|
17
|
+
tokens: TokenBalance[];
|
|
18
|
+
}
|
|
19
|
+
export interface TokenBalance {
|
|
20
|
+
mint: string;
|
|
21
|
+
symbol: string;
|
|
22
|
+
amount: number;
|
|
23
|
+
decimals: number;
|
|
24
|
+
}
|
|
25
|
+
export interface EncryptedKeypair {
|
|
26
|
+
salt: Buffer;
|
|
27
|
+
iv: Buffer;
|
|
28
|
+
encrypted: Buffer;
|
|
29
|
+
authTag: Buffer;
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=wallet.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wallet.d.ts","sourceRoot":"","sources":["../../src/types/wallet.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,QAAQ,GAAG,cAAc,GAAG,SAAS,CAAC;IAChD,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,SAAS,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,IAAI,CAAC;CACjB;AAED,MAAM,WAAW,OAAO;IACtB,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,YAAY,EAAE,CAAC;CACxB;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;CACjB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wallet.js","sourceRoot":"","sources":["../../src/types/wallet.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Price fetching utilities
|
|
3
|
+
*/
|
|
4
|
+
export declare class PriceService {
|
|
5
|
+
private static SOL_PRICE_CACHE;
|
|
6
|
+
private static CACHE_DURATION;
|
|
7
|
+
/**
|
|
8
|
+
* Fetch current SOL price from CoinGecko
|
|
9
|
+
*/
|
|
10
|
+
static getSolPrice(): Promise<number>;
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=price.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"price.d.ts","sourceRoot":"","sources":["../../src/utils/price.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,qBAAa,YAAY;IACvB,OAAO,CAAC,MAAM,CAAC,eAAe,CAAqD;IACnF,OAAO,CAAC,MAAM,CAAC,cAAc,CAAS;IAEtC;;OAEG;WACU,WAAW,IAAI,OAAO,CAAC,MAAM,CAAC;CAuC5C"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Price fetching utilities
|
|
4
|
+
*/
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.PriceService = void 0;
|
|
7
|
+
class PriceService {
|
|
8
|
+
/**
|
|
9
|
+
* Fetch current SOL price from CoinGecko
|
|
10
|
+
*/
|
|
11
|
+
static async getSolPrice() {
|
|
12
|
+
try {
|
|
13
|
+
// Check cache first
|
|
14
|
+
if (this.SOL_PRICE_CACHE &&
|
|
15
|
+
Date.now() - this.SOL_PRICE_CACHE.timestamp < this.CACHE_DURATION) {
|
|
16
|
+
return this.SOL_PRICE_CACHE.price;
|
|
17
|
+
}
|
|
18
|
+
// Fetch from CoinGecko (free API, no key needed)
|
|
19
|
+
const response = await fetch('https://api.coingecko.com/api/v3/simple/price?ids=solana&vs_currencies=usd');
|
|
20
|
+
if (!response.ok) {
|
|
21
|
+
throw new Error('Failed to fetch SOL price');
|
|
22
|
+
}
|
|
23
|
+
const data = await response.json();
|
|
24
|
+
const price = data.solana?.usd;
|
|
25
|
+
if (!price) {
|
|
26
|
+
throw new Error('Invalid price data');
|
|
27
|
+
}
|
|
28
|
+
// Update cache
|
|
29
|
+
this.SOL_PRICE_CACHE = {
|
|
30
|
+
price,
|
|
31
|
+
timestamp: Date.now(),
|
|
32
|
+
};
|
|
33
|
+
return price;
|
|
34
|
+
}
|
|
35
|
+
catch (error) {
|
|
36
|
+
// Fallback to approximate price if API fails
|
|
37
|
+
console.warn('⚠️ Could not fetch live SOL price, using fallback');
|
|
38
|
+
return 100; // Fallback price
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
exports.PriceService = PriceService;
|
|
43
|
+
PriceService.SOL_PRICE_CACHE = null;
|
|
44
|
+
PriceService.CACHE_DURATION = 60000; // 1 minute cache
|
|
45
|
+
//# sourceMappingURL=price.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"price.js","sourceRoot":"","sources":["../../src/utils/price.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAEH,MAAa,YAAY;IAIvB;;OAEG;IACH,MAAM,CAAC,KAAK,CAAC,WAAW;QACtB,IAAI,CAAC;YACH,oBAAoB;YACpB,IACE,IAAI,CAAC,eAAe;gBACpB,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,eAAe,CAAC,SAAS,GAAG,IAAI,CAAC,cAAc,EACjE,CAAC;gBACD,OAAO,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC;YACpC,CAAC;YAED,iDAAiD;YACjD,MAAM,QAAQ,GAAG,MAAM,KAAK,CAC1B,4EAA4E,CAC7E,CAAC;YAEF,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;gBACjB,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;YAC/C,CAAC;YAED,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAmC,CAAC;YACpE,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC;YAE/B,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;YACxC,CAAC;YAED,eAAe;YACf,IAAI,CAAC,eAAe,GAAG;gBACrB,KAAK;gBACL,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;aACtB,CAAC;YAEF,OAAO,KAAK,CAAC;QACf,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,6CAA6C;YAC7C,OAAO,CAAC,IAAI,CAAC,oDAAoD,CAAC,CAAC;YACnE,OAAO,GAAG,CAAC,CAAC,iBAAiB;QAC/B,CAAC;IACH,CAAC;;AA7CH,oCA8CC;AA7CgB,4BAAe,GAAgD,IAAI,CAAC;AACpE,2BAAc,GAAG,KAAK,CAAC,CAAC,iBAAiB"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { Connection, Cluster } from '@solana/web3.js';
|
|
2
|
+
export declare class SolanaClient {
|
|
3
|
+
private static connections;
|
|
4
|
+
private static HELIUS_API_KEY;
|
|
5
|
+
/**
|
|
6
|
+
* Get RPC endpoint with Helius as primary and fallback to default
|
|
7
|
+
*/
|
|
8
|
+
private static getEndpoint;
|
|
9
|
+
/**
|
|
10
|
+
* Get or create a connection to Solana
|
|
11
|
+
*/
|
|
12
|
+
static getConnection(network?: Cluster): Connection;
|
|
13
|
+
/**
|
|
14
|
+
* Clear cached connections (useful for switching RPC providers)
|
|
15
|
+
*/
|
|
16
|
+
static clearConnections(): void;
|
|
17
|
+
/**
|
|
18
|
+
* Get SOL balance for an address
|
|
19
|
+
*/
|
|
20
|
+
static getBalance(address: string, network?: Cluster): Promise<number>;
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=solana.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"solana.d.ts","sourceRoot":"","sources":["../../src/utils/solana.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAiB,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAErE,qBAAa,YAAY;IACvB,OAAO,CAAC,MAAM,CAAC,WAAW,CAAsC;IAChE,OAAO,CAAC,MAAM,CAAC,cAAc,CAA0C;IAEvE;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,WAAW;IAc1B;;OAEG;IACH,MAAM,CAAC,aAAa,CAAC,OAAO,GAAE,OAAwB,GAAG,UAAU;IAUnE;;OAEG;IACH,MAAM,CAAC,gBAAgB,IAAI,IAAI;IAI/B;;OAEG;WACU,UAAU,CACrB,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,OAAwB,GAChC,OAAO,CAAC,MAAM,CAAC;CAQnB"}
|
|
@@ -0,0 +1,85 @@
|
|
|
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
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.SolanaClient = void 0;
|
|
37
|
+
const web3_js_1 = require("@solana/web3.js");
|
|
38
|
+
class SolanaClient {
|
|
39
|
+
/**
|
|
40
|
+
* Get RPC endpoint with Helius as primary and fallback to default
|
|
41
|
+
*/
|
|
42
|
+
static getEndpoint(network) {
|
|
43
|
+
// Try Helius first for better performance and reliability
|
|
44
|
+
if (this.HELIUS_API_KEY) {
|
|
45
|
+
if (network === 'mainnet-beta') {
|
|
46
|
+
return `https://mainnet.helius-rpc.com/?api-key=${this.HELIUS_API_KEY}`;
|
|
47
|
+
}
|
|
48
|
+
else if (network === 'devnet') {
|
|
49
|
+
return `https://devnet.helius-rpc.com/?api-key=${this.HELIUS_API_KEY}`;
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
// Fallback to default Solana RPC
|
|
53
|
+
return (0, web3_js_1.clusterApiUrl)(network);
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Get or create a connection to Solana
|
|
57
|
+
*/
|
|
58
|
+
static getConnection(network = 'mainnet-beta') {
|
|
59
|
+
if (!SolanaClient.connections.has(network)) {
|
|
60
|
+
const endpoint = this.getEndpoint(network);
|
|
61
|
+
const connection = new web3_js_1.Connection(endpoint, 'confirmed');
|
|
62
|
+
SolanaClient.connections.set(network, connection);
|
|
63
|
+
}
|
|
64
|
+
return SolanaClient.connections.get(network);
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Clear cached connections (useful for switching RPC providers)
|
|
68
|
+
*/
|
|
69
|
+
static clearConnections() {
|
|
70
|
+
SolanaClient.connections.clear();
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Get SOL balance for an address
|
|
74
|
+
*/
|
|
75
|
+
static async getBalance(address, network = 'mainnet-beta') {
|
|
76
|
+
const connection = SolanaClient.getConnection(network);
|
|
77
|
+
const publicKey = new (await Promise.resolve().then(() => __importStar(require('@solana/web3.js')))).PublicKey(address);
|
|
78
|
+
const balance = await connection.getBalance(publicKey);
|
|
79
|
+
return balance / 1e9; // Convert lamports to SOL
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
exports.SolanaClient = SolanaClient;
|
|
83
|
+
SolanaClient.connections = new Map();
|
|
84
|
+
SolanaClient.HELIUS_API_KEY = '2452c60f-ab21-4a80-b486-30f0aca63d2f';
|
|
85
|
+
//# sourceMappingURL=solana.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"solana.js","sourceRoot":"","sources":["../../src/utils/solana.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,6CAAqE;AAErE,MAAa,YAAY;IAIvB;;OAEG;IACK,MAAM,CAAC,WAAW,CAAC,OAAgB;QACzC,0DAA0D;QAC1D,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACxB,IAAI,OAAO,KAAK,cAAc,EAAE,CAAC;gBAC/B,OAAO,2CAA2C,IAAI,CAAC,cAAc,EAAE,CAAC;YAC1E,CAAC;iBAAM,IAAI,OAAO,KAAK,QAAQ,EAAE,CAAC;gBAChC,OAAO,0CAA0C,IAAI,CAAC,cAAc,EAAE,CAAC;YACzE,CAAC;QACH,CAAC;QAED,iCAAiC;QACjC,OAAO,IAAA,uBAAa,EAAC,OAAO,CAAC,CAAC;IAChC,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,aAAa,CAAC,UAAmB,cAAc;QACpD,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;YAC3C,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;YAC3C,MAAM,UAAU,GAAG,IAAI,oBAAU,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;YACzD,YAAY,CAAC,WAAW,CAAC,GAAG,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;QACpD,CAAC;QAED,OAAO,YAAY,CAAC,WAAW,CAAC,GAAG,CAAC,OAAO,CAAE,CAAC;IAChD,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,gBAAgB;QACrB,YAAY,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;IACnC,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,KAAK,CAAC,UAAU,CACrB,OAAe,EACf,UAAmB,cAAc;QAEjC,MAAM,UAAU,GAAG,YAAY,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QACvD,MAAM,SAAS,GAAG,IAAI,CAAC,wDAAa,iBAAiB,GAAC,CAAC,CAAC,SAAS,CAC/D,OAAO,CACR,CAAC;QACF,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;QACvD,OAAO,OAAO,GAAG,GAAG,CAAC,CAAC,0BAA0B;IAClD,CAAC;;AAtDH,oCAuDC;AAtDgB,wBAAW,GAA4B,IAAI,GAAG,EAAE,CAAC;AACjD,2BAAc,GAAG,sCAAsC,CAAC"}
|
package/package.json
ADDED
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@pocketagent/paw",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"description": "PocketAgent Wallet - Lightning-fast agentic wallet for AI agents on Solana 📟",
|
|
5
|
+
"main": "dist/index.js",
|
|
6
|
+
"types": "dist/index.d.ts",
|
|
7
|
+
"bin": "dist/cli/index.js",
|
|
8
|
+
"files": [
|
|
9
|
+
"dist",
|
|
10
|
+
"README.md",
|
|
11
|
+
"LICENSE",
|
|
12
|
+
"skills/SKILLS.md"
|
|
13
|
+
],
|
|
14
|
+
"scripts": {
|
|
15
|
+
"build": "tsc",
|
|
16
|
+
"dev": "tsc --watch",
|
|
17
|
+
"start": "node dist/cli/index.js",
|
|
18
|
+
"prepublishOnly": "yarn build",
|
|
19
|
+
"test": "jest",
|
|
20
|
+
"test:core": "jest --testPathIgnorePatterns=jupiter.test.ts integration.test.ts",
|
|
21
|
+
"test:all": "jest",
|
|
22
|
+
"test:watch": "jest --watch",
|
|
23
|
+
"test:coverage": "jest --coverage",
|
|
24
|
+
"lint": "eslint src --ext .ts",
|
|
25
|
+
"format": "prettier --write \"src/**/*.ts\""
|
|
26
|
+
},
|
|
27
|
+
"keywords": [
|
|
28
|
+
"solana",
|
|
29
|
+
"wallet",
|
|
30
|
+
"ai-agent",
|
|
31
|
+
"agentic-wallet",
|
|
32
|
+
"defi",
|
|
33
|
+
"agentic",
|
|
34
|
+
"autonomous",
|
|
35
|
+
"crypto",
|
|
36
|
+
"jupiter",
|
|
37
|
+
"dex",
|
|
38
|
+
"trading-bot",
|
|
39
|
+
"meme-trading",
|
|
40
|
+
"cli-wallet",
|
|
41
|
+
"blockchain"
|
|
42
|
+
],
|
|
43
|
+
"author": "PocketAgent Team",
|
|
44
|
+
"license": "MIT",
|
|
45
|
+
"repository": {
|
|
46
|
+
"type": "git",
|
|
47
|
+
"url": "https://github.com/thejamesnick/agentic-wallet.git"
|
|
48
|
+
},
|
|
49
|
+
"bugs": {
|
|
50
|
+
"url": "https://github.com/thejamesnick/agentic-wallet/issues"
|
|
51
|
+
},
|
|
52
|
+
"homepage": "https://github.com/thejamesnick/agentic-wallet#readme",
|
|
53
|
+
"engines": {
|
|
54
|
+
"node": ">=18.0.0"
|
|
55
|
+
},
|
|
56
|
+
"packageManager": "yarn@4.5.2",
|
|
57
|
+
"dependencies": {
|
|
58
|
+
"@jup-ag/referral-sdk": "^0.3.0",
|
|
59
|
+
"@solana/web3.js": "^1.98.4",
|
|
60
|
+
"blessed": "^0.1.81",
|
|
61
|
+
"blessed-contrib": "^4.11.0",
|
|
62
|
+
"bs58": "^6.0.0",
|
|
63
|
+
"chalk": "^5.6.2",
|
|
64
|
+
"cli-table3": "^0.6.5",
|
|
65
|
+
"commander": "^14.0.3"
|
|
66
|
+
},
|
|
67
|
+
"devDependencies": {
|
|
68
|
+
"@types/blessed": "^0",
|
|
69
|
+
"@types/jest": "^30.0.0",
|
|
70
|
+
"@types/node": "^25.3.0",
|
|
71
|
+
"@typescript-eslint/eslint-plugin": "^8.56.0",
|
|
72
|
+
"@typescript-eslint/parser": "^8.56.0",
|
|
73
|
+
"eslint": "^10.0.0",
|
|
74
|
+
"jest": "^30.2.0",
|
|
75
|
+
"prettier": "^3.8.1",
|
|
76
|
+
"ts-jest": "^29.4.6",
|
|
77
|
+
"ts-node": "^10.9.2",
|
|
78
|
+
"typescript": "^5.9.3"
|
|
79
|
+
}
|
|
80
|
+
}
|