@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
package/dist/index.cjs
CHANGED
|
@@ -13,6 +13,7 @@ var SEEDS = {
|
|
|
13
13
|
INVESTMENT: "investment",
|
|
14
14
|
VOTE: "vote",
|
|
15
15
|
ESCROW: "escrow",
|
|
16
|
+
ESCROW_TOKEN: "escrow_token",
|
|
16
17
|
PIVOT: "pivot",
|
|
17
18
|
PIVOT_PROPOSAL: "pivot_proposal",
|
|
18
19
|
TGE_ESCROW: "tge_escrow",
|
|
@@ -46,10 +47,10 @@ var VALIDATION = {
|
|
|
46
47
|
/** Maximum pivot justification length */
|
|
47
48
|
MAX_PIVOT_JUSTIFICATION_LEN: 512
|
|
48
49
|
};
|
|
49
|
-
var
|
|
50
|
-
/**
|
|
50
|
+
var TIMING_PRODUCTION = {
|
|
51
|
+
/** Voting period (14 days) */
|
|
51
52
|
VOTING_PERIOD_SECONDS: 1209600,
|
|
52
|
-
/**
|
|
53
|
+
/** Hold period (7 days) */
|
|
53
54
|
HOLD_PERIOD_SECONDS: 604800,
|
|
54
55
|
/** Inactivity timeout (90 days) */
|
|
55
56
|
INACTIVITY_TIMEOUT_SECONDS: 7776e3,
|
|
@@ -59,13 +60,49 @@ var TIMING = {
|
|
|
59
60
|
REFUND_WINDOW_SECONDS: 1209600,
|
|
60
61
|
/** Pivot withdrawal window (7 days) */
|
|
61
62
|
PIVOT_WITHDRAWAL_WINDOW_SECONDS: 604800,
|
|
62
|
-
/**
|
|
63
|
-
|
|
64
|
-
/**
|
|
65
|
-
|
|
66
|
-
/**
|
|
67
|
-
|
|
63
|
+
/** Early token cooling period (24 hours) */
|
|
64
|
+
EARLY_TOKEN_COOLING_PERIOD: 86400,
|
|
65
|
+
/** Exit window period (7 days) */
|
|
66
|
+
EXIT_WINDOW_PERIOD: 604800,
|
|
67
|
+
/** Wallet update timelock (7 days) */
|
|
68
|
+
WALLET_UPDATE_TIMELOCK: 604800,
|
|
69
|
+
/** Minimum deadline duration (7 days) */
|
|
70
|
+
MIN_DEADLINE_DURATION_SECONDS: 604800,
|
|
71
|
+
/** Maximum deadline duration (90 days) */
|
|
72
|
+
MAX_DEADLINE_DURATION_SECONDS: 90 * 24 * 60 * 60,
|
|
73
|
+
/** Deadline grace period (90 days) */
|
|
74
|
+
DEADLINE_GRACE_PERIOD_SECONDS: 7776e3
|
|
68
75
|
};
|
|
76
|
+
var TIMING_DEV = {
|
|
77
|
+
/** Voting period (60 seconds) */
|
|
78
|
+
VOTING_PERIOD_SECONDS: 60,
|
|
79
|
+
/** Hold period (1 second) */
|
|
80
|
+
HOLD_PERIOD_SECONDS: 1,
|
|
81
|
+
/** Inactivity timeout (10 seconds) */
|
|
82
|
+
INACTIVITY_TIMEOUT_SECONDS: 10,
|
|
83
|
+
/** Abandonment timeout (60 seconds) */
|
|
84
|
+
ABANDONMENT_TIMEOUT_SECONDS: 60,
|
|
85
|
+
/** Refund window (2 minutes) */
|
|
86
|
+
REFUND_WINDOW_SECONDS: 120,
|
|
87
|
+
/** Pivot withdrawal window (10 seconds) */
|
|
88
|
+
PIVOT_WITHDRAWAL_WINDOW_SECONDS: 10,
|
|
89
|
+
/** Early token cooling period (10 seconds) */
|
|
90
|
+
EARLY_TOKEN_COOLING_PERIOD: 10,
|
|
91
|
+
/** Exit window period (20 seconds) */
|
|
92
|
+
EXIT_WINDOW_PERIOD: 20,
|
|
93
|
+
/** Wallet update timelock (60 seconds) */
|
|
94
|
+
WALLET_UPDATE_TIMELOCK: 60,
|
|
95
|
+
/** Minimum deadline duration (60 seconds) */
|
|
96
|
+
MIN_DEADLINE_DURATION_SECONDS: 60,
|
|
97
|
+
/** Maximum deadline duration (90 days) */
|
|
98
|
+
MAX_DEADLINE_DURATION_SECONDS: 90 * 24 * 60 * 60,
|
|
99
|
+
/** Deadline grace period (5 seconds) */
|
|
100
|
+
DEADLINE_GRACE_PERIOD_SECONDS: 5
|
|
101
|
+
};
|
|
102
|
+
function getTimingConstants(isDev = false) {
|
|
103
|
+
return isDev ? TIMING_DEV : TIMING_PRODUCTION;
|
|
104
|
+
}
|
|
105
|
+
var TIMING = TIMING_PRODUCTION;
|
|
69
106
|
var TIER_CONSTRAINTS = {
|
|
70
107
|
/** Minimum number of tiers */
|
|
71
108
|
MIN_TIERS: 1,
|
|
@@ -210,6 +247,13 @@ function getEscrowPDA(projectId, programId) {
|
|
|
210
247
|
);
|
|
211
248
|
return pda;
|
|
212
249
|
}
|
|
250
|
+
function getEscrowTokenAccountPDA(projectPda, programId) {
|
|
251
|
+
const [pda] = web3_js.PublicKey.findProgramAddressSync(
|
|
252
|
+
[Buffer.from(SEEDS.ESCROW_TOKEN), projectPda.toBuffer()],
|
|
253
|
+
programId
|
|
254
|
+
);
|
|
255
|
+
return pda;
|
|
256
|
+
}
|
|
213
257
|
function getMilestonePDA(projectPda, milestoneIndex, programId) {
|
|
214
258
|
const [pda] = web3_js.PublicKey.findProgramAddressSync(
|
|
215
259
|
[
|
|
@@ -1153,7 +1197,8 @@ async function submitForApproval(program, projectId, founder) {
|
|
|
1153
1197
|
founder
|
|
1154
1198
|
}).rpc();
|
|
1155
1199
|
}
|
|
1156
|
-
async function approveProject(program, args,
|
|
1200
|
+
async function approveProject(program, args, admin) {
|
|
1201
|
+
const adminPubkey = admin instanceof web3_js.Keypair ? admin.publicKey : admin;
|
|
1157
1202
|
const projectPda = getProjectPDA(args.projectId, program.programId);
|
|
1158
1203
|
const tokenomicsPda = getTokenomicsPDA(projectPda, program.programId);
|
|
1159
1204
|
const tokenVaultPda = getTokenVaultPDA(projectPda, program.programId);
|
|
@@ -1166,10 +1211,12 @@ async function approveProject(program, args, adminKeypair) {
|
|
|
1166
1211
|
const lpUsdcVaultPda = getLpUsdcVaultPDA(projectPda, program.programId);
|
|
1167
1212
|
const futureRoundTokenVaultPda = getFutureRoundTokenVaultPDA(projectPda, program.programId);
|
|
1168
1213
|
const futureRoundVaultPda = getFutureRoundVaultPDA(projectPda, program.programId);
|
|
1214
|
+
const escrowPda = getEscrowPDA(args.projectId, program.programId);
|
|
1215
|
+
const escrowTokenAccountPda = getEscrowTokenAccountPDA(projectPda, program.programId);
|
|
1169
1216
|
const computeBudgetIx = web3_js.ComputeBudgetProgram.setComputeUnitLimit({
|
|
1170
1217
|
units: 4e5
|
|
1171
1218
|
});
|
|
1172
|
-
|
|
1219
|
+
let builder = getMethods(program).approveProject().accountsPartial({
|
|
1173
1220
|
project: projectPda,
|
|
1174
1221
|
tokenomics: tokenomicsPda,
|
|
1175
1222
|
tokenVault: tokenVaultPda,
|
|
@@ -1183,9 +1230,15 @@ async function approveProject(program, args, adminKeypair) {
|
|
|
1183
1230
|
futureRoundTokenVault: futureRoundTokenVaultPda,
|
|
1184
1231
|
futureRoundVault: futureRoundVaultPda,
|
|
1185
1232
|
usdcMint: args.usdcMint,
|
|
1186
|
-
|
|
1187
|
-
|
|
1188
|
-
|
|
1233
|
+
escrowPda,
|
|
1234
|
+
escrowTokenAccount: escrowTokenAccountPda,
|
|
1235
|
+
authority: adminPubkey,
|
|
1236
|
+
payer: adminPubkey
|
|
1237
|
+
}).preInstructions([computeBudgetIx]);
|
|
1238
|
+
if (admin instanceof web3_js.Keypair) {
|
|
1239
|
+
builder = builder.signers([admin]);
|
|
1240
|
+
}
|
|
1241
|
+
return builder.rpc();
|
|
1189
1242
|
}
|
|
1190
1243
|
async function createMilestone(program, args, founder) {
|
|
1191
1244
|
const projectPda = getProjectPDA(args.projectId, program.programId);
|
|
@@ -1252,7 +1305,8 @@ async function claimMilestoneFunds(program, args, founder) {
|
|
|
1252
1305
|
const tokenVaultPda = getTokenVaultPDA(projectPda, program.programId);
|
|
1253
1306
|
const tokenomicsPda = getTokenomicsPDA(projectPda, program.programId);
|
|
1254
1307
|
const lpUsdcVaultPda = getLpUsdcVaultPDA(projectPda, program.programId);
|
|
1255
|
-
const
|
|
1308
|
+
const isFinal = args.nextMilestoneDeadline.eq(new anchor.BN(0));
|
|
1309
|
+
const nextMilestonePda = args.nextMilestonePda ?? (!isFinal ? getMilestonePDA(projectPda, args.milestoneIndex + 1, program.programId) : null);
|
|
1256
1310
|
return getMethods(program).claimMilestoneFunds({ nextMilestoneDeadline: args.nextMilestoneDeadline }).accountsPartial({
|
|
1257
1311
|
milestone: milestonePda,
|
|
1258
1312
|
project: projectPda,
|
|
@@ -1264,6 +1318,7 @@ async function claimMilestoneFunds(program, args, founder) {
|
|
|
1264
1318
|
tokenomics: tokenomicsPda,
|
|
1265
1319
|
lpUsdcVault: lpUsdcVaultPda,
|
|
1266
1320
|
nextMilestone: nextMilestonePda,
|
|
1321
|
+
// null for final → Anchor uses programId sentinel
|
|
1267
1322
|
systemProgram: web3_js.SystemProgram.programId,
|
|
1268
1323
|
tokenProgram: splToken.TOKEN_PROGRAM_ID
|
|
1269
1324
|
}).rpc();
|
|
@@ -2303,6 +2358,9 @@ var RaiseClient = class _RaiseClient {
|
|
|
2303
2358
|
getEscrowPDA(projectId) {
|
|
2304
2359
|
return getEscrowPDA(projectId, this.programId);
|
|
2305
2360
|
}
|
|
2361
|
+
getEscrowTokenAccountPDA(projectPda) {
|
|
2362
|
+
return getEscrowTokenAccountPDA(projectPda, this.programId);
|
|
2363
|
+
}
|
|
2306
2364
|
getMilestonePDA(projectPda, milestoneIndex) {
|
|
2307
2365
|
return getMilestonePDA(projectPda, milestoneIndex, this.programId);
|
|
2308
2366
|
}
|
|
@@ -2444,7 +2502,7 @@ var RaiseClient = class _RaiseClient {
|
|
|
2444
2502
|
return approveProject(
|
|
2445
2503
|
this.program,
|
|
2446
2504
|
args,
|
|
2447
|
-
adminKeypair
|
|
2505
|
+
adminKeypair ?? this.walletPublicKey
|
|
2448
2506
|
);
|
|
2449
2507
|
}
|
|
2450
2508
|
// ===========================================================================
|
|
@@ -3868,6 +3926,8 @@ exports.TIER_MINIMUMS = TIER_MINIMUMS;
|
|
|
3868
3926
|
exports.TIER_TOKEN_MULTIPLIERS = TIER_TOKEN_MULTIPLIERS;
|
|
3869
3927
|
exports.TIER_VOTE_MULTIPLIERS = TIER_VOTE_MULTIPLIERS;
|
|
3870
3928
|
exports.TIMING = TIMING;
|
|
3929
|
+
exports.TIMING_DEV = TIMING_DEV;
|
|
3930
|
+
exports.TIMING_PRODUCTION = TIMING_PRODUCTION;
|
|
3871
3931
|
exports.TOKENOMICS = TOKENOMICS;
|
|
3872
3932
|
exports.USDC = USDC;
|
|
3873
3933
|
exports.VALIDATION = VALIDATION;
|
|
@@ -3946,6 +4006,7 @@ exports.getAdminConfigPDA = getAdminConfigPDA;
|
|
|
3946
4006
|
exports.getCurrentTimestamp = getCurrentTimestamp;
|
|
3947
4007
|
exports.getErrorMessage = getErrorMessage;
|
|
3948
4008
|
exports.getEscrowPDA = getEscrowPDA;
|
|
4009
|
+
exports.getEscrowTokenAccountPDA = getEscrowTokenAccountPDA;
|
|
3949
4010
|
exports.getFounderVaultPDA = getFounderVaultPDA;
|
|
3950
4011
|
exports.getFounderVestingPDA = getFounderVestingPDA;
|
|
3951
4012
|
exports.getFundingRoundPDA = getFundingRoundPDA;
|
|
@@ -3969,6 +4030,7 @@ exports.getRoundNftMintPDA = getRoundNftMintPDA;
|
|
|
3969
4030
|
exports.getScamReportPDA = getScamReportPDA;
|
|
3970
4031
|
exports.getTgeEscrowPDA = getTgeEscrowPDA;
|
|
3971
4032
|
exports.getTierFromAmount = getTierFromAmount;
|
|
4033
|
+
exports.getTimingConstants = getTimingConstants;
|
|
3972
4034
|
exports.getTokenMintPDA = getTokenMintPDA;
|
|
3973
4035
|
exports.getTokenMultiplier = getTokenMultiplier;
|
|
3974
4036
|
exports.getTokenVaultPDA = getTokenVaultPDA;
|