@star-factory/sdk-vault 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.
Files changed (87) hide show
  1. package/dist/cli/index.d.ts +2 -0
  2. package/dist/cli/index.d.ts.map +1 -0
  3. package/dist/cli/index.js +84 -0
  4. package/dist/cli/index.js.map +1 -0
  5. package/dist/cli/list-vaults.d.ts +2 -0
  6. package/dist/cli/list-vaults.d.ts.map +1 -0
  7. package/dist/cli/list-vaults.js +172 -0
  8. package/dist/cli/list-vaults.js.map +1 -0
  9. package/dist/cli/request-tge.d.ts +2 -0
  10. package/dist/cli/request-tge.d.ts.map +1 -0
  11. package/dist/cli/request-tge.js +175 -0
  12. package/dist/cli/request-tge.js.map +1 -0
  13. package/dist/core/client/index.d.ts +3 -0
  14. package/dist/core/client/index.d.ts.map +1 -0
  15. package/dist/core/client/index.js +9 -0
  16. package/dist/core/client/index.js.map +1 -0
  17. package/dist/core/client/pdas.d.ts +35 -0
  18. package/dist/core/client/pdas.d.ts.map +1 -0
  19. package/dist/core/client/pdas.js +75 -0
  20. package/dist/core/client/pdas.js.map +1 -0
  21. package/dist/core/client/program.d.ts +11 -0
  22. package/dist/core/client/program.d.ts.map +1 -0
  23. package/dist/core/client/program.js +39 -0
  24. package/dist/core/client/program.js.map +1 -0
  25. package/dist/core/idl/vault.json +4016 -0
  26. package/dist/core/index.d.ts +3 -0
  27. package/dist/core/index.d.ts.map +1 -0
  28. package/dist/core/index.js +6 -0
  29. package/dist/core/index.js.map +1 -0
  30. package/dist/core/types/index.d.ts +322 -0
  31. package/dist/core/types/index.d.ts.map +1 -0
  32. package/dist/core/types/index.js +41 -0
  33. package/dist/core/types/index.js.map +1 -0
  34. package/dist/features/index.d.ts +2 -0
  35. package/dist/features/index.d.ts.map +1 -0
  36. package/dist/features/index.js +5 -0
  37. package/dist/features/index.js.map +1 -0
  38. package/dist/features/vault/StarVault.d.ts +234 -0
  39. package/dist/features/vault/StarVault.d.ts.map +1 -0
  40. package/dist/features/vault/StarVault.js +734 -0
  41. package/dist/features/vault/StarVault.js.map +1 -0
  42. package/dist/features/vault/fetch.d.ts +62 -0
  43. package/dist/features/vault/fetch.d.ts.map +1 -0
  44. package/dist/features/vault/fetch.js +136 -0
  45. package/dist/features/vault/fetch.js.map +1 -0
  46. package/dist/features/vault/helpers/index.d.ts +2 -0
  47. package/dist/features/vault/helpers/index.d.ts.map +1 -0
  48. package/dist/features/vault/helpers/index.js +5 -0
  49. package/dist/features/vault/helpers/index.js.map +1 -0
  50. package/dist/features/vault/helpers/seedDeposits.d.ts +20 -0
  51. package/dist/features/vault/helpers/seedDeposits.d.ts.map +1 -0
  52. package/dist/features/vault/helpers/seedDeposits.js +35 -0
  53. package/dist/features/vault/helpers/seedDeposits.js.map +1 -0
  54. package/dist/features/vault/index.d.ts +6 -0
  55. package/dist/features/vault/index.d.ts.map +1 -0
  56. package/dist/features/vault/index.js +9 -0
  57. package/dist/features/vault/index.js.map +1 -0
  58. package/dist/features/vault/make/index.d.ts +3 -0
  59. package/dist/features/vault/make/index.d.ts.map +1 -0
  60. package/dist/features/vault/make/index.js +6 -0
  61. package/dist/features/vault/make/index.js.map +1 -0
  62. package/dist/features/vault/make/presets.d.ts +87 -0
  63. package/dist/features/vault/make/presets.d.ts.map +1 -0
  64. package/dist/features/vault/make/presets.js +198 -0
  65. package/dist/features/vault/make/presets.js.map +1 -0
  66. package/dist/features/vault/make/registry.d.ts +14 -0
  67. package/dist/features/vault/make/registry.d.ts.map +1 -0
  68. package/dist/features/vault/make/registry.js +30 -0
  69. package/dist/features/vault/make/registry.js.map +1 -0
  70. package/dist/features/vault/merkle.d.ts +59 -0
  71. package/dist/features/vault/merkle.d.ts.map +1 -0
  72. package/dist/features/vault/merkle.js +163 -0
  73. package/dist/features/vault/merkle.js.map +1 -0
  74. package/dist/idl/index.d.ts +2 -0
  75. package/dist/idl/index.d.ts.map +1 -0
  76. package/dist/idl/index.js +6 -0
  77. package/dist/idl/index.js.map +1 -0
  78. package/dist/idl/vault.json +4016 -0
  79. package/dist/index.d.ts +10 -0
  80. package/dist/index.d.ts.map +1 -0
  81. package/dist/index.js +12 -0
  82. package/dist/index.js.map +1 -0
  83. package/dist/utils.d.ts +39 -0
  84. package/dist/utils.d.ts.map +1 -0
  85. package/dist/utils.js +66 -0
  86. package/dist/utils.js.map +1 -0
  87. package/package.json +80 -0
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":""}
@@ -0,0 +1,84 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const web3_js_1 = require("@solana/web3.js");
4
+ const core_1 = require("../core");
5
+ function usageAndExit(msg) {
6
+ if (msg)
7
+ console.error(msg);
8
+ console.error('Usage: vault-state <VAULT_PUBKEY> [--rpc <URL>] [--program <PROGRAM_ID>]');
9
+ process.exit(1);
10
+ }
11
+ function parseArgs(argv) {
12
+ const args = [...argv.slice(2)];
13
+ if (args.length < 1)
14
+ usageAndExit();
15
+ const vault = args[0];
16
+ let rpcUrl;
17
+ let programId;
18
+ for (let i = 1; i < args.length; i++) {
19
+ const a = args[i];
20
+ if ((a === '--rpc' || a === '-r') && i + 1 < args.length) {
21
+ rpcUrl = args[++i];
22
+ }
23
+ else if ((a === '--program' || a === '-p') && i + 1 < args.length) {
24
+ programId = args[++i];
25
+ }
26
+ else if (a.startsWith('-')) {
27
+ usageAndExit(`Unknown option: ${a}`);
28
+ }
29
+ }
30
+ return { vault, rpcUrl, programId };
31
+ }
32
+ async function main() {
33
+ const { vault, rpcUrl, programId } = parseArgs(process.argv);
34
+ const resolvedRpc = rpcUrl || process.env.SOLANA_RPC_URL || (0, web3_js_1.clusterApiUrl)('devnet');
35
+ const connection = new web3_js_1.Connection(resolvedRpc, { commitment: 'confirmed' });
36
+ let programPubkey;
37
+ try {
38
+ programPubkey = programId ? new web3_js_1.PublicKey(programId) : undefined;
39
+ }
40
+ catch (e) {
41
+ usageAndExit('Invalid program id');
42
+ }
43
+ // If program id not provided, read from local IDL via getVaultProgram
44
+ const program = (0, core_1.getVaultProgram)(connection, programPubkey);
45
+ const pid = program.programId;
46
+ let vaultPk;
47
+ try {
48
+ vaultPk = new web3_js_1.PublicKey(vault);
49
+ }
50
+ catch (e) {
51
+ usageAndExit('Invalid vault public key');
52
+ }
53
+ const [tgePda] = core_1.PDAs.getTgeConfigPda(vaultPk, pid);
54
+ const [vaultAcc, tgeAcc] = await Promise.all([
55
+ connection.getAccountInfo(vaultPk),
56
+ connection.getAccountInfo(tgePda),
57
+ ]);
58
+ function toRaw(acc) {
59
+ if (!acc)
60
+ return null;
61
+ return {
62
+ lamports: acc.lamports,
63
+ owner: acc.owner.toBase58(),
64
+ executable: acc.executable,
65
+ dataBase64: acc.data.toString('base64'),
66
+ dataLen: acc.data.length,
67
+ };
68
+ }
69
+ const out = {
70
+ rpc: resolvedRpc,
71
+ programId: pid.toBase58(),
72
+ vault: vaultPk.toBase58(),
73
+ accounts: {
74
+ starVault: toRaw(vaultAcc),
75
+ tgeConfig: toRaw(tgeAcc),
76
+ },
77
+ };
78
+ console.log(JSON.stringify(out, null, 2));
79
+ }
80
+ main().catch((e) => {
81
+ console.error(e?.stack || e?.message || String(e));
82
+ process.exit(1);
83
+ });
84
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=list-vaults.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list-vaults.d.ts","sourceRoot":"","sources":["../../src/cli/list-vaults.ts"],"names":[],"mappings":""}
@@ -0,0 +1,172 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const web3_js_1 = require("@solana/web3.js");
4
+ const types_1 = require("../core/types");
5
+ const fetch_1 = require("../features/vault/fetch");
6
+ function usageAndExit(msg) {
7
+ if (msg)
8
+ console.error(`Error: ${msg}\n`);
9
+ console.error(`Usage: list-vaults [OPTIONS]
10
+
11
+ Options:
12
+ --rpc, -r <URL> RPC endpoint URL (default: mainnet-beta or SOLANA_RPC_URL env)
13
+ --program, -p <PUBKEY> Vault program ID (default: from IDL)
14
+ --status, -s <STATUS> Filter by status: active, awaitingTgeRequest, tgeRequested, tgeAccepted, cancelled
15
+ --json Output as JSON
16
+ --verbose, -v Include full account data in output
17
+ --help, -h Show this help message
18
+
19
+ Examples:
20
+ list-vaults
21
+ list-vaults --rpc https://api.mainnet-beta.solana.com
22
+ list-vaults --status active
23
+ list-vaults --json --verbose`);
24
+ process.exit(msg ? 1 : 0);
25
+ }
26
+ function parseArgs(argv) {
27
+ const args = [...argv.slice(2)];
28
+ const opts = {};
29
+ for (let i = 0; i < args.length; i++) {
30
+ const a = args[i];
31
+ if (a === '--help' || a === '-h') {
32
+ usageAndExit();
33
+ }
34
+ else if ((a === '--rpc' || a === '-r') && i + 1 < args.length) {
35
+ opts.rpcUrl = args[++i];
36
+ }
37
+ else if ((a === '--program' || a === '-p') && i + 1 < args.length) {
38
+ opts.programId = args[++i];
39
+ }
40
+ else if ((a === '--status' || a === '-s') && i + 1 < args.length) {
41
+ const status = args[++i];
42
+ const validStatuses = [
43
+ 'active',
44
+ 'awaitingTgeRequest',
45
+ 'tgeRequested',
46
+ 'tgeAccepted',
47
+ 'cancelled',
48
+ ];
49
+ if (!validStatuses.includes(status)) {
50
+ usageAndExit(`Invalid status: ${status}. Valid statuses: ${validStatuses.join(', ')}`);
51
+ }
52
+ opts.status = status;
53
+ }
54
+ else if (a === '--json') {
55
+ opts.json = true;
56
+ }
57
+ else if (a === '--verbose' || a === '-v') {
58
+ opts.verbose = true;
59
+ }
60
+ else if (a.startsWith('-')) {
61
+ usageAndExit(`Unknown option: ${a}`);
62
+ }
63
+ }
64
+ return opts;
65
+ }
66
+ function formatLamports(lamports) {
67
+ const sol = Number(lamports.toString()) / 1e9;
68
+ return `${sol.toLocaleString(undefined, { maximumFractionDigits: 4 })} SOL`;
69
+ }
70
+ function formatTimestamp(ts) {
71
+ const num = typeof ts === 'object' && 'toNumber' in ts && ts.toNumber
72
+ ? ts.toNumber()
73
+ : Number(ts.toString());
74
+ if (num === 0)
75
+ return 'N/A';
76
+ return new Date(num * 1000).toISOString();
77
+ }
78
+ function vaultToSummary(v) {
79
+ return {
80
+ pubkey: v.pubkey.toBase58(),
81
+ authority: v.account.authority.toBase58(),
82
+ status: (0, types_1.getVaultStatusKey)(v.account.status),
83
+ totalDeposited: v.account.totalDeposited.toString(),
84
+ totalDepositors: v.account.totalDepositors,
85
+ minimumRaiseTarget: v.account.minimumRaiseTarget.toString(),
86
+ targetRaiseAmount: v.account.targetRaiseAmount.toString(),
87
+ startTime: v.account.startTime.toString(),
88
+ endTime: v.account.endTime.toString(),
89
+ isOversubscribed: v.account.isOversubscribed,
90
+ seed: v.account.seed.toString(),
91
+ };
92
+ }
93
+ async function main() {
94
+ const opts = parseArgs(process.argv);
95
+ const resolvedRpc = opts.rpcUrl || process.env.SOLANA_RPC_URL || (0, web3_js_1.clusterApiUrl)('mainnet-beta');
96
+ const connection = new web3_js_1.Connection(resolvedRpc, { commitment: 'confirmed' });
97
+ let programPubkey;
98
+ if (opts.programId) {
99
+ try {
100
+ programPubkey = new web3_js_1.PublicKey(opts.programId);
101
+ }
102
+ catch {
103
+ usageAndExit('Invalid program id');
104
+ }
105
+ }
106
+ console.error(`Fetching all vaults from ${resolvedRpc}...\n`);
107
+ let vaults = await (0, fetch_1.fetchAllVaults)(connection, programPubkey);
108
+ // Filter by status if specified
109
+ if (opts.status) {
110
+ vaults = vaults.filter((v) => (0, types_1.getVaultStatusKey)(v.account.status) === opts.status);
111
+ }
112
+ if (opts.json) {
113
+ // JSON output
114
+ const output = vaults.map((v) => opts.verbose
115
+ ? {
116
+ pubkey: v.pubkey.toBase58(),
117
+ account: {
118
+ seed: v.account.seed.toString(),
119
+ authority: v.account.authority.toBase58(),
120
+ quoteMint: v.account.quoteMint.toBase58(),
121
+ quoteTokenProgram: v.account.quoteTokenProgram.toBase58(),
122
+ minimumRaiseTarget: v.account.minimumRaiseTarget.toString(),
123
+ targetRaiseAmount: v.account.targetRaiseAmount.toString(),
124
+ totalDeposited: v.account.totalDeposited.toString(),
125
+ totalDepositedBeforeExcess: v.account.totalDepositedBeforeExcess.toString(),
126
+ startTime: v.account.startTime.toString(),
127
+ endTime: v.account.endTime.toString(),
128
+ status: (0, types_1.getVaultStatusKey)(v.account.status),
129
+ totalDepositors: v.account.totalDepositors,
130
+ isOversubscribed: v.account.isOversubscribed,
131
+ bump: v.account.bump,
132
+ },
133
+ }
134
+ : vaultToSummary(v));
135
+ console.log(JSON.stringify(output, null, 2));
136
+ }
137
+ else {
138
+ // Human-readable output
139
+ if (vaults.length === 0) {
140
+ console.log('No vaults found.');
141
+ return;
142
+ }
143
+ console.log(`Found ${vaults.length} vault(s):\n`);
144
+ console.log('='.repeat(80));
145
+ for (const v of vaults) {
146
+ const status = (0, types_1.getVaultStatusKey)(v.account.status);
147
+ console.log(`\nVault: ${v.pubkey.toBase58()}`);
148
+ console.log(` Authority: ${v.account.authority.toBase58()}`);
149
+ console.log(` Status: ${status}`);
150
+ console.log(` Total Deposited: ${formatLamports(v.account.totalDeposited)}`);
151
+ console.log(` Total Depositors: ${v.account.totalDepositors}`);
152
+ console.log(` Min Raise Target: ${formatLamports(v.account.minimumRaiseTarget)}`);
153
+ console.log(` Target Raise: ${formatLamports(v.account.targetRaiseAmount)}`);
154
+ console.log(` Start Time: ${formatTimestamp(v.account.startTime)}`);
155
+ console.log(` End Time: ${formatTimestamp(v.account.endTime)}`);
156
+ console.log(` Oversubscribed: ${v.account.isOversubscribed}`);
157
+ console.log(` Seed: ${v.account.seed.toString()}`);
158
+ if (opts.verbose) {
159
+ console.log(` Quote Mint: ${v.account.quoteMint.toBase58()}`);
160
+ console.log(` Quote Token Prog: ${v.account.quoteTokenProgram.toBase58()}`);
161
+ console.log(` Bump: ${v.account.bump}`);
162
+ }
163
+ }
164
+ console.log('\n' + '='.repeat(80));
165
+ console.log(`\nTotal: ${vaults.length} vault(s)`);
166
+ }
167
+ }
168
+ main().catch((e) => {
169
+ console.error(e?.stack || e?.message || String(e));
170
+ process.exit(1);
171
+ });
172
+ //# sourceMappingURL=list-vaults.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list-vaults.js","sourceRoot":"","sources":["../../src/cli/list-vaults.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=request-tge.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"request-tge.d.ts","sourceRoot":"","sources":["../../src/cli/request-tge.ts"],"names":[],"mappings":""}
@@ -0,0 +1,175 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ const web3_js_1 = require("@solana/web3.js");
5
+ const fs = tslib_1.__importStar(require("fs"));
6
+ const path = tslib_1.__importStar(require("path"));
7
+ const types_1 = require("../core/types");
8
+ const StarVault_1 = require("../features/vault/StarVault");
9
+ const fetch_1 = require("../features/vault/fetch");
10
+ function usageAndExit(msg) {
11
+ if (msg)
12
+ console.error(`Error: ${msg}\n`);
13
+ console.error(`Usage: request-tge [OPTIONS] [VAULT_PUBKEYS...]
14
+
15
+ Calls request_tge on TGE-eligible vaults owned by the signer.
16
+
17
+ Options:
18
+ --rpc, -r <URL> RPC endpoint URL (default: mainnet-beta or SOLANA_RPC_URL env)
19
+ --keypair, -k <PATH> Path to keypair JSON file (default: .keys/admin_vault_v2.json)
20
+ --dry-run Show what would be done without executing
21
+ --all Process all eligible vaults owned by signer
22
+ --help, -h Show this help message
23
+
24
+ Examples:
25
+ request-tge --all
26
+ request-tge --all --dry-run
27
+ request-tge VAULT_PUBKEY1 VAULT_PUBKEY2
28
+ request-tge --keypair ~/.config/solana/id.json VAULT_PUBKEY`);
29
+ process.exit(msg ? 1 : 0);
30
+ }
31
+ function parseArgs(argv) {
32
+ const args = [...argv.slice(2)];
33
+ const opts = { vaults: [] };
34
+ for (let i = 0; i < args.length; i++) {
35
+ const a = args[i];
36
+ if (a === '--help' || a === '-h') {
37
+ usageAndExit();
38
+ }
39
+ else if ((a === '--rpc' || a === '-r') && i + 1 < args.length) {
40
+ opts.rpcUrl = args[++i];
41
+ }
42
+ else if ((a === '--keypair' || a === '-k') && i + 1 < args.length) {
43
+ opts.keypairPath = args[++i];
44
+ }
45
+ else if (a === '--dry-run') {
46
+ opts.dryRun = true;
47
+ }
48
+ else if (a === '--all') {
49
+ opts.all = true;
50
+ }
51
+ else if (a.startsWith('-')) {
52
+ usageAndExit(`Unknown option: ${a}`);
53
+ }
54
+ else {
55
+ opts.vaults.push(a);
56
+ }
57
+ }
58
+ return opts;
59
+ }
60
+ function loadKeypair(keypairPath) {
61
+ const resolvedPath = keypairPath.startsWith('~')
62
+ ? path.join(process.env.HOME || '', keypairPath.slice(1))
63
+ : keypairPath;
64
+ // Try multiple locations for the keypair
65
+ const searchPaths = path.isAbsolute(resolvedPath)
66
+ ? [resolvedPath]
67
+ : [
68
+ path.join(process.cwd(), resolvedPath),
69
+ // Also check repo root (2 levels up from sdks/sdk-vault)
70
+ path.join(__dirname, '../../../../', resolvedPath),
71
+ path.join(__dirname, '../../../', resolvedPath),
72
+ ];
73
+ for (const p of searchPaths) {
74
+ if (fs.existsSync(p)) {
75
+ const secretKey = JSON.parse(fs.readFileSync(p, 'utf-8'));
76
+ return web3_js_1.Keypair.fromSecretKey(Uint8Array.from(secretKey));
77
+ }
78
+ }
79
+ throw new Error(`Keypair file not found. Searched:\n ${searchPaths.join('\n ')}`);
80
+ }
81
+ async function main() {
82
+ const opts = parseArgs(process.argv);
83
+ const resolvedRpc = opts.rpcUrl || process.env.SOLANA_RPC_URL || (0, web3_js_1.clusterApiUrl)('mainnet-beta');
84
+ const connection = new web3_js_1.Connection(resolvedRpc, { commitment: 'confirmed' });
85
+ // Default keypair path
86
+ const keypairPath = opts.keypairPath || '.keys/admin_vault_v2.json';
87
+ let keypair;
88
+ try {
89
+ keypair = loadKeypair(keypairPath);
90
+ }
91
+ catch (e) {
92
+ usageAndExit(e.message);
93
+ }
94
+ console.log(`Signer: ${keypair.publicKey.toBase58()}`);
95
+ console.log(`RPC: ${resolvedRpc}`);
96
+ console.log(`Dry run: ${opts.dryRun ? 'YES' : 'NO'}\n`);
97
+ let vaultPubkeys = [];
98
+ if (opts.all || opts.vaults.length === 0) {
99
+ // Fetch all vaults owned by signer that are eligible for TGE
100
+ console.log('Fetching vaults owned by signer...\n');
101
+ const allVaults = await (0, fetch_1.fetchAllVaults)(connection);
102
+ const owned = allVaults.filter(v => v.account.authority.equals(keypair.publicKey));
103
+ const now = Date.now() / 1000;
104
+ const eligible = owned.filter(v => {
105
+ const status = (0, types_1.getVaultStatusKey)(v.account.status);
106
+ const ended = now >= Number(v.account.endTime.toString());
107
+ const metMin = Number(v.account.totalDeposited.toString()) >= Number(v.account.minimumRaiseTarget.toString());
108
+ // Can request TGE if: status is 'active', ended, and met minimum
109
+ return status === 'active' && ended && metMin;
110
+ });
111
+ if (eligible.length === 0) {
112
+ console.log('No TGE-eligible vaults found for this signer.');
113
+ return;
114
+ }
115
+ console.log(`Found ${eligible.length} TGE-eligible vault(s):\n`);
116
+ for (const v of eligible) {
117
+ const deposited = Number(v.account.totalDeposited.toString()) / 1e9;
118
+ console.log(` ${v.pubkey.toBase58()} - ${deposited.toFixed(4)} SOL`);
119
+ }
120
+ console.log('');
121
+ vaultPubkeys = eligible.map(v => v.pubkey);
122
+ }
123
+ else {
124
+ // Use provided vault pubkeys
125
+ vaultPubkeys = opts.vaults.map(v => {
126
+ try {
127
+ return new web3_js_1.PublicKey(v);
128
+ }
129
+ catch {
130
+ usageAndExit(`Invalid vault pubkey: ${v}`);
131
+ }
132
+ });
133
+ }
134
+ if (vaultPubkeys.length === 0) {
135
+ usageAndExit('No vaults specified. Use --all or provide vault pubkeys.');
136
+ }
137
+ // Process each vault
138
+ for (const vaultPk of vaultPubkeys) {
139
+ console.log(`\nProcessing vault: ${vaultPk.toBase58()}`);
140
+ try {
141
+ const vault = await StarVault_1.StarVault.create(connection, vaultPk);
142
+ const status = (0, types_1.getVaultStatusKey)(vault.account.status);
143
+ console.log(` Current status: ${status}`);
144
+ if (status !== 'active' && status !== 'awaitingTgeRequest') {
145
+ console.log(` ⚠️ Skipping - status is '${status}', not eligible for request_tge`);
146
+ continue;
147
+ }
148
+ if (!vault.account.authority.equals(keypair.publicKey)) {
149
+ console.log(` ⚠️ Skipping - signer is not the vault authority`);
150
+ continue;
151
+ }
152
+ const tx = await vault.requestTge(keypair.publicKey);
153
+ tx.recentBlockhash = (await connection.getLatestBlockhash()).blockhash;
154
+ if (opts.dryRun) {
155
+ console.log(` ✓ [DRY RUN] Would send request_tge transaction`);
156
+ }
157
+ else {
158
+ console.log(` Sending request_tge transaction...`);
159
+ const sig = await (0, web3_js_1.sendAndConfirmTransaction)(connection, tx, [keypair], {
160
+ commitment: 'confirmed',
161
+ });
162
+ console.log(` ✓ Success! Signature: ${sig}`);
163
+ }
164
+ }
165
+ catch (e) {
166
+ console.error(` ✗ Error: ${e.message || e}`);
167
+ }
168
+ }
169
+ console.log('\nDone!');
170
+ }
171
+ main().catch((e) => {
172
+ console.error(e?.stack || e?.message || String(e));
173
+ process.exit(1);
174
+ });
175
+ //# sourceMappingURL=request-tge.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"request-tge.js","sourceRoot":"","sources":["../../src/cli/request-tge.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export * as PDAs from './pdas';
2
+ export { dummyWallet, getVaultProgram, type VaultIdl } from './program';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core/client/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,QAAQ,CAAC;AAC/B,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,KAAK,QAAQ,EAAE,MAAM,WAAW,CAAC"}
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getVaultProgram = exports.dummyWallet = exports.PDAs = void 0;
4
+ const tslib_1 = require("tslib");
5
+ exports.PDAs = tslib_1.__importStar(require("./pdas"));
6
+ var program_1 = require("./program");
7
+ Object.defineProperty(exports, "dummyWallet", { enumerable: true, get: function () { return program_1.dummyWallet; } });
8
+ Object.defineProperty(exports, "getVaultProgram", { enumerable: true, get: function () { return program_1.getVaultProgram; } });
9
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/client/index.ts"],"names":[],"mappings":";;;;AAAA,uDAA+B;AAC/B,qCAAwE;AAA/D,sGAAA,WAAW,OAAA;AAAE,0GAAA,eAAe,OAAA"}
@@ -0,0 +1,35 @@
1
+ import { PublicKey } from '@solana/web3.js';
2
+ import { BN } from 'bn.js';
3
+ /**
4
+ * Derive the vault PDA from maker and seed.
5
+ */
6
+ export declare function getVaultPda(maker: PublicKey, seed: InstanceType<typeof BN> | number, programId: PublicKey): [PublicKey, number];
7
+ /**
8
+ * Derive the TGE config PDA from vault.
9
+ */
10
+ export declare function getTgeConfigPda(vault: PublicKey, programId: PublicKey): [PublicKey, number];
11
+ /**
12
+ * Derive the blacklist entry PDA.
13
+ */
14
+ export declare function getBlacklistEntryPda(vault: PublicKey, user: PublicKey, programId: PublicKey): [PublicKey, number];
15
+ /**
16
+ * Derive the depositor record PDA.
17
+ */
18
+ export declare function getDepositorRecordPda(vault: PublicKey, user: PublicKey, programId: PublicKey): [PublicKey, number];
19
+ /**
20
+ * Derive the dust claim PDA (for replay prevention).
21
+ */
22
+ export declare function getDustClaimPda(vault: PublicKey, user: PublicKey, programId: PublicKey): [PublicKey, number];
23
+ /**
24
+ * Derive the dust merkle root PDA.
25
+ */
26
+ export declare function getDustMerkleRootPda(vault: PublicKey, programId: PublicKey): [PublicKey, number];
27
+ /**
28
+ * Get the user's quote token ATA.
29
+ */
30
+ export declare function getUserQuoteAta(quoteMint: PublicKey, user: PublicKey, tokenProgramId: PublicKey): PublicKey;
31
+ /**
32
+ * Get the vault's quote token ATA.
33
+ */
34
+ export declare function getVaultQuoteAta(quoteMint: PublicKey, vault: PublicKey, tokenProgramId: PublicKey): PublicKey;
35
+ //# sourceMappingURL=pdas.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pdas.d.ts","sourceRoot":"","sources":["../../../src/core/client/pdas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,OAAO,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAY3B;;GAEG;AACH,wBAAgB,WAAW,CACzB,KAAK,EAAE,SAAS,EAChB,IAAI,EAAE,YAAY,CAAC,OAAO,EAAE,CAAC,GAAG,MAAM,EACtC,SAAS,EAAE,SAAS,GACnB,CAAC,SAAS,EAAE,MAAM,CAAC,CAMrB;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,GAAG,CAAC,SAAS,EAAE,MAAM,CAAC,CAE3F;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,SAAS,EAChB,IAAI,EAAE,SAAS,EACf,SAAS,EAAE,SAAS,GACnB,CAAC,SAAS,EAAE,MAAM,CAAC,CAKrB;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,SAAS,EAChB,IAAI,EAAE,SAAS,EACf,SAAS,EAAE,SAAS,GACnB,CAAC,SAAS,EAAE,MAAM,CAAC,CAKrB;AAED;;GAEG;AACH,wBAAgB,eAAe,CAC7B,KAAK,EAAE,SAAS,EAChB,IAAI,EAAE,SAAS,EACf,SAAS,EAAE,SAAS,GACnB,CAAC,SAAS,EAAE,MAAM,CAAC,CAKrB;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,SAAS,EAChB,SAAS,EAAE,SAAS,GACnB,CAAC,SAAS,EAAE,MAAM,CAAC,CAKrB;AAMD;;GAEG;AACH,wBAAgB,eAAe,CAC7B,SAAS,EAAE,SAAS,EACpB,IAAI,EAAE,SAAS,EACf,cAAc,EAAE,SAAS,GACxB,SAAS,CAQX;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAC9B,SAAS,EAAE,SAAS,EACpB,KAAK,EAAE,SAAS,EAChB,cAAc,EAAE,SAAS,GACxB,SAAS,CAQX"}
@@ -0,0 +1,75 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getVaultPda = getVaultPda;
4
+ exports.getTgeConfigPda = getTgeConfigPda;
5
+ exports.getBlacklistEntryPda = getBlacklistEntryPda;
6
+ exports.getDepositorRecordPda = getDepositorRecordPda;
7
+ exports.getDustClaimPda = getDustClaimPda;
8
+ exports.getDustMerkleRootPda = getDustMerkleRootPda;
9
+ exports.getUserQuoteAta = getUserQuoteAta;
10
+ exports.getVaultQuoteAta = getVaultQuoteAta;
11
+ const web3_js_1 = require("@solana/web3.js");
12
+ const spl_token_1 = require("@solana/spl-token");
13
+ const bn_js_1 = require("bn.js");
14
+ /**
15
+ * Convert a seed value to 8-byte little-endian buffer for PDA derivation.
16
+ */
17
+ function toU64LEBytes(n) {
18
+ const bn = bn_js_1.BN.isBN(n) ? n : new bn_js_1.BN(n);
19
+ const buf = Buffer.alloc(8);
20
+ buf.writeBigUInt64LE(BigInt(bn.toString()));
21
+ return buf;
22
+ }
23
+ /**
24
+ * Derive the vault PDA from maker and seed.
25
+ */
26
+ function getVaultPda(maker, seed, programId) {
27
+ const seedBytes = toU64LEBytes(seed);
28
+ return web3_js_1.PublicKey.findProgramAddressSync([Buffer.from('vault'), maker.toBuffer(), seedBytes], programId);
29
+ }
30
+ /**
31
+ * Derive the TGE config PDA from vault.
32
+ */
33
+ function getTgeConfigPda(vault, programId) {
34
+ return web3_js_1.PublicKey.findProgramAddressSync([Buffer.from('tge'), vault.toBuffer()], programId);
35
+ }
36
+ /**
37
+ * Derive the blacklist entry PDA.
38
+ */
39
+ function getBlacklistEntryPda(vault, user, programId) {
40
+ return web3_js_1.PublicKey.findProgramAddressSync([Buffer.from('blacklist'), vault.toBuffer(), user.toBuffer()], programId);
41
+ }
42
+ /**
43
+ * Derive the depositor record PDA.
44
+ */
45
+ function getDepositorRecordPda(vault, user, programId) {
46
+ return web3_js_1.PublicKey.findProgramAddressSync([Buffer.from('depositor'), vault.toBuffer(), user.toBuffer()], programId);
47
+ }
48
+ /**
49
+ * Derive the dust claim PDA (for replay prevention).
50
+ */
51
+ function getDustClaimPda(vault, user, programId) {
52
+ return web3_js_1.PublicKey.findProgramAddressSync([Buffer.from('dust_claim'), vault.toBuffer(), user.toBuffer()], programId);
53
+ }
54
+ /**
55
+ * Derive the dust merkle root PDA.
56
+ */
57
+ function getDustMerkleRootPda(vault, programId) {
58
+ return web3_js_1.PublicKey.findProgramAddressSync([Buffer.from('dust_merkle_root'), vault.toBuffer()], programId);
59
+ }
60
+ // ==========================
61
+ // ATA Helpers
62
+ // ==========================
63
+ /**
64
+ * Get the user's quote token ATA.
65
+ */
66
+ function getUserQuoteAta(quoteMint, user, tokenProgramId) {
67
+ return (0, spl_token_1.getAssociatedTokenAddressSync)(quoteMint, user, false, tokenProgramId, spl_token_1.ASSOCIATED_TOKEN_PROGRAM_ID);
68
+ }
69
+ /**
70
+ * Get the vault's quote token ATA.
71
+ */
72
+ function getVaultQuoteAta(quoteMint, vault, tokenProgramId) {
73
+ return (0, spl_token_1.getAssociatedTokenAddressSync)(quoteMint, vault, true, tokenProgramId, spl_token_1.ASSOCIATED_TOKEN_PROGRAM_ID);
74
+ }
75
+ //# sourceMappingURL=pdas.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pdas.js","sourceRoot":"","sources":["../../../src/core/client/pdas.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import { Program } from '@coral-xyz/anchor';
2
+ import type { Idl, Wallet } from '@coral-xyz/anchor';
3
+ import { Connection, Keypair, PublicKey } from '@solana/web3.js';
4
+ export type VaultIdl = Idl & {
5
+ address: string;
6
+ };
7
+ export declare const dummyWallet: Wallet & {
8
+ payer: Keypair;
9
+ };
10
+ export declare function getVaultProgram(connection: Connection, programId?: PublicKey): Program<VaultIdl>;
11
+ //# sourceMappingURL=program.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"program.d.ts","sourceRoot":"","sources":["../../../src/core/client/program.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAejE,MAAM,MAAM,QAAQ,GAAG,GAAG,GAAG;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC;AAGjD,eAAO,MAAM,WAAW,EAAE,MAAM,GAAG;IAAE,KAAK,EAAE,OAAO,CAAA;CAKlD,CAAC;AAEF,wBAAgB,eAAe,CAAC,UAAU,EAAE,UAAU,EAAE,SAAS,CAAC,EAAE,SAAS,GAAG,OAAO,CAAC,QAAQ,CAAC,CAYhG"}