@zemyth/raise-sdk 0.1.6 → 0.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/dist/accounts/index.cjs.map +1 -1
- package/dist/accounts/index.js.map +1 -1
- package/dist/constants/index.cjs +49 -9
- package/dist/constants/index.cjs.map +1 -1
- package/dist/constants/index.d.cts +126 -9
- package/dist/constants/index.d.ts +126 -9
- package/dist/constants/index.js +47 -10
- package/dist/constants/index.js.map +1 -1
- package/dist/index.cjs +78 -16
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +4 -3
- package/dist/index.d.ts +4 -3
- package/dist/index.js +76 -18
- package/dist/index.js.map +1 -1
- package/dist/instructions/index.cjs +25 -6
- package/dist/instructions/index.cjs.map +1 -1
- package/dist/instructions/index.d.cts +1 -1
- package/dist/instructions/index.d.ts +1 -1
- package/dist/instructions/index.js +26 -7
- package/dist/instructions/index.js.map +1 -1
- package/dist/pdas/index.cjs +9 -0
- package/dist/pdas/index.cjs.map +1 -1
- package/dist/pdas/index.d.cts +12 -1
- package/dist/pdas/index.d.ts +12 -1
- package/dist/pdas/index.js +9 -1
- package/dist/pdas/index.js.map +1 -1
- package/package.json +1 -1
- package/src/client.ts +6 -2
- package/src/constants/index.ts +56 -9
- package/src/index.ts +4 -0
- package/src/instructions/index.ts +23 -10
- package/src/pdas/index.ts +18 -0
|
@@ -138,7 +138,7 @@ declare function approveProject(program: AnyProgram, args: {
|
|
|
138
138
|
projectId: BN;
|
|
139
139
|
/** USDC mint address (for creating lp_usdc_vault) */
|
|
140
140
|
usdcMint: PublicKey;
|
|
141
|
-
},
|
|
141
|
+
}, admin: PublicKey | Keypair): Promise<string>;
|
|
142
142
|
/**
|
|
143
143
|
* Create a milestone for a project
|
|
144
144
|
*
|
|
@@ -138,7 +138,7 @@ declare function approveProject(program: AnyProgram, args: {
|
|
|
138
138
|
projectId: BN;
|
|
139
139
|
/** USDC mint address (for creating lp_usdc_vault) */
|
|
140
140
|
usdcMint: PublicKey;
|
|
141
|
-
},
|
|
141
|
+
}, admin: PublicKey | Keypair): Promise<string>;
|
|
142
142
|
/**
|
|
143
143
|
* Create a milestone for a project
|
|
144
144
|
*
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { BN } from '@coral-xyz/anchor';
|
|
2
|
-
import { PublicKey, ComputeBudgetProgram, SystemProgram, SYSVAR_INSTRUCTIONS_PUBKEY, SYSVAR_RENT_PUBKEY, SYSVAR_CLOCK_PUBKEY } from '@solana/web3.js';
|
|
2
|
+
import { PublicKey, Keypair, ComputeBudgetProgram, SystemProgram, SYSVAR_INSTRUCTIONS_PUBKEY, SYSVAR_RENT_PUBKEY, SYSVAR_CLOCK_PUBKEY } from '@solana/web3.js';
|
|
3
3
|
import { getAssociatedTokenAddressSync, TOKEN_PROGRAM_ID, ASSOCIATED_TOKEN_PROGRAM_ID } from '@solana/spl-token';
|
|
4
4
|
|
|
5
5
|
// src/instructions/index.ts
|
|
@@ -11,6 +11,7 @@ var SEEDS = {
|
|
|
11
11
|
INVESTMENT: "investment",
|
|
12
12
|
VOTE: "vote",
|
|
13
13
|
ESCROW: "escrow",
|
|
14
|
+
ESCROW_TOKEN: "escrow_token",
|
|
14
15
|
PIVOT: "pivot",
|
|
15
16
|
TGE_ESCROW: "tge_escrow",
|
|
16
17
|
ADMIN_CONFIG: "admin-config",
|
|
@@ -47,6 +48,13 @@ function getEscrowPDA(projectId, programId) {
|
|
|
47
48
|
);
|
|
48
49
|
return pda;
|
|
49
50
|
}
|
|
51
|
+
function getEscrowTokenAccountPDA(projectPda, programId) {
|
|
52
|
+
const [pda] = PublicKey.findProgramAddressSync(
|
|
53
|
+
[Buffer.from(SEEDS.ESCROW_TOKEN), projectPda.toBuffer()],
|
|
54
|
+
programId
|
|
55
|
+
);
|
|
56
|
+
return pda;
|
|
57
|
+
}
|
|
50
58
|
function getMilestonePDA(projectPda, milestoneIndex, programId) {
|
|
51
59
|
const [pda] = PublicKey.findProgramAddressSync(
|
|
52
60
|
[
|
|
@@ -445,7 +453,8 @@ async function submitForApproval(program, projectId, founder) {
|
|
|
445
453
|
founder
|
|
446
454
|
}).rpc();
|
|
447
455
|
}
|
|
448
|
-
async function approveProject(program, args,
|
|
456
|
+
async function approveProject(program, args, admin) {
|
|
457
|
+
const adminPubkey = admin instanceof Keypair ? admin.publicKey : admin;
|
|
449
458
|
const projectPda = getProjectPDA(args.projectId, program.programId);
|
|
450
459
|
const tokenomicsPda = getTokenomicsPDA(projectPda, program.programId);
|
|
451
460
|
const tokenVaultPda = getTokenVaultPDA(projectPda, program.programId);
|
|
@@ -458,10 +467,12 @@ async function approveProject(program, args, adminKeypair) {
|
|
|
458
467
|
const lpUsdcVaultPda = getLpUsdcVaultPDA(projectPda, program.programId);
|
|
459
468
|
const futureRoundTokenVaultPda = getFutureRoundTokenVaultPDA(projectPda, program.programId);
|
|
460
469
|
const futureRoundVaultPda = getFutureRoundVaultPDA(projectPda, program.programId);
|
|
470
|
+
const escrowPda = getEscrowPDA(args.projectId, program.programId);
|
|
471
|
+
const escrowTokenAccountPda = getEscrowTokenAccountPDA(projectPda, program.programId);
|
|
461
472
|
const computeBudgetIx = ComputeBudgetProgram.setComputeUnitLimit({
|
|
462
473
|
units: 4e5
|
|
463
474
|
});
|
|
464
|
-
|
|
475
|
+
let builder = getMethods(program).approveProject().accountsPartial({
|
|
465
476
|
project: projectPda,
|
|
466
477
|
tokenomics: tokenomicsPda,
|
|
467
478
|
tokenVault: tokenVaultPda,
|
|
@@ -475,9 +486,15 @@ async function approveProject(program, args, adminKeypair) {
|
|
|
475
486
|
futureRoundTokenVault: futureRoundTokenVaultPda,
|
|
476
487
|
futureRoundVault: futureRoundVaultPda,
|
|
477
488
|
usdcMint: args.usdcMint,
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
|
|
489
|
+
escrowPda,
|
|
490
|
+
escrowTokenAccount: escrowTokenAccountPda,
|
|
491
|
+
authority: adminPubkey,
|
|
492
|
+
payer: adminPubkey
|
|
493
|
+
}).preInstructions([computeBudgetIx]);
|
|
494
|
+
if (admin instanceof Keypair) {
|
|
495
|
+
builder = builder.signers([admin]);
|
|
496
|
+
}
|
|
497
|
+
return builder.rpc();
|
|
481
498
|
}
|
|
482
499
|
async function createMilestone(program, args, founder) {
|
|
483
500
|
const projectPda = getProjectPDA(args.projectId, program.programId);
|
|
@@ -544,7 +561,8 @@ async function claimMilestoneFunds(program, args, founder) {
|
|
|
544
561
|
const tokenVaultPda = getTokenVaultPDA(projectPda, program.programId);
|
|
545
562
|
const tokenomicsPda = getTokenomicsPDA(projectPda, program.programId);
|
|
546
563
|
const lpUsdcVaultPda = getLpUsdcVaultPDA(projectPda, program.programId);
|
|
547
|
-
const
|
|
564
|
+
const isFinal = args.nextMilestoneDeadline.eq(new BN(0));
|
|
565
|
+
const nextMilestonePda = args.nextMilestonePda ?? (!isFinal ? getMilestonePDA(projectPda, args.milestoneIndex + 1, program.programId) : null);
|
|
548
566
|
return getMethods(program).claimMilestoneFunds({ nextMilestoneDeadline: args.nextMilestoneDeadline }).accountsPartial({
|
|
549
567
|
milestone: milestonePda,
|
|
550
568
|
project: projectPda,
|
|
@@ -556,6 +574,7 @@ async function claimMilestoneFunds(program, args, founder) {
|
|
|
556
574
|
tokenomics: tokenomicsPda,
|
|
557
575
|
lpUsdcVault: lpUsdcVaultPda,
|
|
558
576
|
nextMilestone: nextMilestonePda,
|
|
577
|
+
// null for final → Anchor uses programId sentinel
|
|
559
578
|
systemProgram: SystemProgram.programId,
|
|
560
579
|
tokenProgram: TOKEN_PROGRAM_ID
|
|
561
580
|
}).rpc();
|