@zemyth/raise-sdk 0.1.1 → 0.1.3

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 (47) hide show
  1. package/README.md +11 -9
  2. package/dist/accounts/index.cjs +531 -3
  3. package/dist/accounts/index.cjs.map +1 -1
  4. package/dist/accounts/index.d.cts +307 -2
  5. package/dist/accounts/index.d.ts +307 -2
  6. package/dist/accounts/index.js +503 -4
  7. package/dist/accounts/index.js.map +1 -1
  8. package/dist/constants/index.cjs +41 -3
  9. package/dist/constants/index.cjs.map +1 -1
  10. package/dist/constants/index.d.cts +38 -3
  11. package/dist/constants/index.d.ts +38 -3
  12. package/dist/constants/index.js +40 -4
  13. package/dist/constants/index.js.map +1 -1
  14. package/dist/index.cjs +2297 -361
  15. package/dist/index.cjs.map +1 -1
  16. package/dist/index.d.cts +566 -7
  17. package/dist/index.d.ts +566 -7
  18. package/dist/index.js +2279 -379
  19. package/dist/index.js.map +1 -1
  20. package/dist/instructions/index.cjs +783 -40
  21. package/dist/instructions/index.cjs.map +1 -1
  22. package/dist/instructions/index.d.cts +492 -6
  23. package/dist/instructions/index.d.ts +492 -6
  24. package/dist/instructions/index.js +762 -42
  25. package/dist/instructions/index.js.map +1 -1
  26. package/dist/pdas/index.cjs +163 -1
  27. package/dist/pdas/index.cjs.map +1 -1
  28. package/dist/pdas/index.d.cts +131 -1
  29. package/dist/pdas/index.d.ts +131 -1
  30. package/dist/pdas/index.js +151 -2
  31. package/dist/pdas/index.js.map +1 -1
  32. package/dist/types/index.cjs +9 -0
  33. package/dist/types/index.cjs.map +1 -1
  34. package/dist/types/index.d.cts +586 -3
  35. package/dist/types/index.d.ts +586 -3
  36. package/dist/types/index.js +9 -1
  37. package/dist/types/index.js.map +1 -1
  38. package/package.json +5 -3
  39. package/src/__tests__/dynamic-tokenomics.test.ts +358 -0
  40. package/src/accounts/index.ts +852 -1
  41. package/src/client.ts +1130 -1
  42. package/src/constants/index.ts +48 -2
  43. package/src/index.ts +58 -0
  44. package/src/instructions/index.ts +1383 -40
  45. package/src/pdas/index.ts +346 -0
  46. package/src/types/index.ts +698 -2
  47. package/src/utils/index.ts +90 -0
@@ -55,6 +55,7 @@ interface Tier {
55
55
  /**
56
56
  * Tier configuration input for project initialization
57
57
  * Founders pass these when creating a project
58
+ * Note: voteMultiplier is auto-calculated on-chain using logarithmic formula
58
59
  */
59
60
  interface TierConfig {
60
61
  /** USDC amount per lot (must be >= 10 USDC = 10_000_000 lamports) */
@@ -63,8 +64,6 @@ interface TierConfig {
63
64
  maxLots: number;
64
65
  /** Token allocation per $1 invested (must be >= 1) */
65
66
  tokenRatio: BN;
66
- /** Vote weight multiplier (basis points, must be >= 100 = 1.0x) */
67
- voteMultiplier: number;
68
67
  }
69
68
  interface ProjectAccount {
70
69
  founder: PublicKey;
@@ -87,6 +86,25 @@ interface ProjectAccount {
87
86
  totalTokenAllocation: BN;
88
87
  consecutiveFailures: number;
89
88
  investorCount: number;
89
+ /** Milestone Price Increases: BPS multipliers per milestone (10000 = 1.0x)
90
+ * NOTE: If priceMultipliers[0] === 0, project uses dynamic mode (ZEMYTH formula)
91
+ * Otherwise uses static mode (legacy pre-configured multipliers) */
92
+ priceMultipliers: number[];
93
+ /** Milestone Price Increases: Number of milestones that have passed */
94
+ milestonesPassed: number;
95
+ /** Dynamic Price Multiplier: Current calculated multiplier in BPS (10000 = 1.0x)
96
+ * Used when priceMultipliers[0] === 0 (dynamic mode) */
97
+ currentPriceMultiplierBps: number;
98
+ /** Base multiplier at start of current milestone period (BPS) */
99
+ milestoneBaseMultiplierBps: number;
100
+ /** Timestamp when current milestone period started (0 = legacy mode) */
101
+ milestonePeriodStartedAt: BN;
102
+ /** Expected deadline for current milestone period */
103
+ expectedMilestoneDeadlineTs: BN;
104
+ /** Time-based allocation for current period (50% of ZEMYTH increment) */
105
+ timeAllocationBps: number;
106
+ /** Milestone-based allocation (50% of ZEMYTH increment) */
107
+ milestoneAllocationBps: number;
90
108
  bump: number;
91
109
  }
92
110
  interface MilestoneAccount {
@@ -114,6 +132,12 @@ interface InvestmentAccount {
114
132
  tokensClaimed: boolean;
115
133
  withdrawnFromPivot: boolean;
116
134
  refundClaimed: boolean;
135
+ /** Early Token Release: Whether 5% early tokens have been claimed */
136
+ earlyTokensClaimed: boolean;
137
+ /** Early Token Release: Amount of early tokens claimed (for burn-for-refund tracking) */
138
+ earlyTokensAmount: BN;
139
+ /** Preserve Pivot Vesting Rights: Milestone index at which vesting was frozen (on refund) */
140
+ vestingFrozenAtMilestone: number | null;
117
141
  bump: number;
118
142
  }
119
143
  interface VoteAccount {
@@ -127,6 +151,8 @@ interface VoteAccount {
127
151
  interface AdminConfigAccount {
128
152
  admin: PublicKey;
129
153
  pendingAdmin: PublicKey | null;
154
+ /** Zemyth treasury wallet for platform token allocations */
155
+ zemythTreasury: PublicKey | null;
130
156
  bump: number;
131
157
  }
132
158
  interface PivotProposalAccount {
@@ -198,6 +224,10 @@ interface InvestmentMadeEvent {
198
224
  nftMint: PublicKey;
199
225
  tier: number;
200
226
  voteWeight: BN;
227
+ /** Milestone Price Increases: Effective tier price with multiplier applied */
228
+ effectivePrice: BN;
229
+ /** Milestone Price Increases: Current price multiplier in BPS (10000 = 1.0x) */
230
+ multiplierBps: number;
201
231
  }
202
232
  interface MilestoneVoteCastEvent {
203
233
  projectId: BN;
@@ -225,5 +255,558 @@ interface VoteWithKey {
225
255
  publicKey: PublicKey;
226
256
  account: VoteAccount;
227
257
  }
258
+ /**
259
+ * Sub-allocation within a project's founder allocation pool
260
+ * Sub-allocations are founder team tokens (advisors, marketing, etc.)
261
+ */
262
+ interface SubAllocation {
263
+ /** Unique ID within project (0-9, max 10 sub-allocations) */
264
+ id: number;
265
+ /** Name of the allocation (UTF-8, e.g., "advisors", "marketing") */
266
+ name: string;
267
+ /** Basis points from founder allocation pool (e.g., 500 = 5% of total supply) */
268
+ bps: number;
269
+ /** Token destination wallet */
270
+ recipient: PublicKey;
271
+ /** Vesting duration in months (0 = immediate, >0 = linear vesting) */
272
+ vestingMonths: number;
273
+ /** Cliff period in months before vesting starts */
274
+ cliffMonths: number;
275
+ /** Timestamp when sub-allocation was created */
276
+ createdAt: BN;
277
+ /** True if this was added via governance vote (post-Open state) */
278
+ approvedViaGovernance: boolean;
279
+ }
280
+ /**
281
+ * Allocation proposal for governance voting
282
+ */
283
+ interface AllocationProposalAccount {
284
+ /** Parent project */
285
+ project: PublicKey;
286
+ /** Proposer (must be founder) */
287
+ proposer: PublicKey;
288
+ /** The proposed sub-allocation */
289
+ subAllocation: SubAllocation;
290
+ /** Total vote weight in favor */
291
+ votesFor: BN;
292
+ /** Total vote weight against */
293
+ votesAgainst: BN;
294
+ /** Timestamp when voting ends (7 days from creation) */
295
+ votingEndsAt: BN;
296
+ /** Whether the proposal has been executed */
297
+ executed: boolean;
298
+ /** Proposal index (for unique PDA derivation) */
299
+ proposalIndex: number;
300
+ /** PDA bump seed */
301
+ bump: number;
302
+ }
303
+ /**
304
+ * Vote record for an allocation proposal
305
+ */
306
+ interface AllocationVoteAccount {
307
+ /** The proposal being voted on */
308
+ proposal: PublicKey;
309
+ /** The investment NFT used to vote */
310
+ nftMint: PublicKey;
311
+ /** Voter's wallet */
312
+ voter: PublicKey;
313
+ /** Vote weight */
314
+ voteWeight: BN;
315
+ /** True = for, False = against */
316
+ voteFor: boolean;
317
+ /** Timestamp of vote */
318
+ votedAt: BN;
319
+ /** PDA bump seed */
320
+ bump: number;
321
+ }
322
+ /**
323
+ * Extended Tokenomics account with dynamic allocation fields
324
+ */
325
+ interface TokenomicsAccount {
326
+ /** Parent project */
327
+ project: PublicKey;
328
+ /** Token symbol (2-8 chars uppercase) */
329
+ tokenSymbol: string;
330
+ /** Token decimals (default: 9) */
331
+ tokenDecimals: number;
332
+ /** Total token supply */
333
+ totalSupply: BN;
334
+ /** Investor allocation in basis points */
335
+ investorAllocationBps: number;
336
+ /** LP token allocation in basis points */
337
+ lpTokenAllocationBps: number;
338
+ /** LP USDC allocation in basis points */
339
+ lpUsdcAllocationBps: number;
340
+ /** Founder allocation in basis points (includes sub-allocations for team) */
341
+ founderAllocationBps: number;
342
+ /** Zemyth platform allocation in basis points (minimum 1%, vests per milestone) */
343
+ zemythAllocationBps: number;
344
+ /** Number of active sub-allocations (draw from founder allocation) */
345
+ subAllocationCount: number;
346
+ /** Sub-allocations from founder pool (advisors, marketing, etc.) */
347
+ subAllocations: SubAllocation[];
348
+ /** Number of allocation proposals created */
349
+ proposalCount: number;
350
+ /** Founder wallet for vesting */
351
+ founderWallet: PublicKey | null;
352
+ /** Vesting duration in months */
353
+ vestingDurationMonths: number;
354
+ /** Cliff period in months */
355
+ cliffMonths: number;
356
+ /** Early Token Release: Founder milestone-based vesting BPS (e.g., 4750 = 47.5% of founder allocation) */
357
+ founderMilestoneVestingBps: number;
358
+ /** Early Token Release: Founder time-based vesting BPS (e.g., 4750 = 47.5% of founder allocation) */
359
+ founderTimeVestingBps: number;
360
+ /** Future round allocation in basis points (0 or >= 1000, reserved for second-round fundraising) */
361
+ futureRoundAllocationBps: number;
362
+ /** PDA bump seed */
363
+ bump: number;
364
+ }
365
+ interface AddSubAllocationArgs {
366
+ /** Name of the sub-allocation (e.g., "advisors", "marketing") */
367
+ name: string;
368
+ /** Basis points from founder allocation pool */
369
+ bps: number;
370
+ /** Token destination wallet */
371
+ recipient: PublicKey;
372
+ /** Vesting duration in months (0 = immediate) */
373
+ vestingMonths: number;
374
+ /** Cliff period in months */
375
+ cliffMonths: number;
376
+ }
377
+ interface ProposeAllocationChangeArgs {
378
+ /** Name of the sub-allocation */
379
+ name: string;
380
+ /** Basis points from founder allocation pool */
381
+ bps: number;
382
+ /** Token destination wallet */
383
+ recipient: PublicKey;
384
+ /** Vesting duration in months */
385
+ vestingMonths: number;
386
+ /** Cliff period in months */
387
+ cliffMonths: number;
388
+ }
389
+ interface VoteAllocationChangeArgs {
390
+ /** True = vote for, False = vote against */
391
+ voteFor: boolean;
392
+ }
393
+ interface SubAllocationAddedEvent {
394
+ projectId: BN;
395
+ projectKey: PublicKey;
396
+ subAllocationId: number;
397
+ name: string;
398
+ bps: number;
399
+ recipient: PublicKey;
400
+ vestingMonths: number;
401
+ cliffMonths: number;
402
+ timestamp: BN;
403
+ }
404
+ interface AllocationProposalCreatedEvent {
405
+ projectId: BN;
406
+ projectKey: PublicKey;
407
+ proposalKey: PublicKey;
408
+ name: string;
409
+ bps: number;
410
+ recipient: PublicKey;
411
+ votingEndsAt: BN;
412
+ timestamp: BN;
413
+ }
414
+ interface AllocationVoteCastEvent {
415
+ projectId: BN;
416
+ projectKey: PublicKey;
417
+ proposalKey: PublicKey;
418
+ voter: PublicKey;
419
+ nftMint: PublicKey;
420
+ voteWeight: BN;
421
+ voteFor: boolean;
422
+ timestamp: BN;
423
+ }
424
+ interface AllocationChangeExecutedEvent {
425
+ projectId: BN;
426
+ projectKey: PublicKey;
427
+ proposalKey: PublicKey;
428
+ subAllocationId: number;
429
+ votesFor: BN;
430
+ votesAgainst: BN;
431
+ timestamp: BN;
432
+ }
433
+ interface AllocationProposalWithKey {
434
+ publicKey: PublicKey;
435
+ account: AllocationProposalAccount;
436
+ }
437
+ interface AllocationVoteWithKey {
438
+ publicKey: PublicKey;
439
+ account: AllocationVoteAccount;
440
+ }
441
+ /**
442
+ * Sub-allocation vesting account for tracking vesting schedules
443
+ * Similar to FounderVesting but for sub-allocations (treasury, advisors, etc.)
444
+ */
445
+ interface SubAllocationVestingAccount {
446
+ /** Parent project */
447
+ project: PublicKey;
448
+ /** Sub-allocation ID (0-9) */
449
+ subAllocationId: number;
450
+ /** Recipient wallet (only this wallet can claim) */
451
+ recipientWallet: PublicKey;
452
+ /** Total token amount for this sub-allocation */
453
+ totalAmount: BN;
454
+ /** Timestamp when vesting starts (MAE completion) */
455
+ startTimestamp: BN;
456
+ /** Timestamp when cliff ends */
457
+ cliffEnd: BN;
458
+ /** Timestamp when vesting fully ends */
459
+ vestingEnd: BN;
460
+ /** Amount already claimed */
461
+ claimedAmount: BN;
462
+ /** Pending wallet update (for wallet migration) */
463
+ pendingWallet: PublicKey | null;
464
+ /** Timestamp when wallet update was initiated */
465
+ walletUpdateTimestamp: BN | null;
466
+ /** PDA bump seed */
467
+ bump: number;
468
+ }
469
+ interface SubAllocationVestingWithKey {
470
+ publicKey: PublicKey;
471
+ account: SubAllocationVestingAccount;
472
+ }
473
+ /**
474
+ * Arguments for claiming sub-allocation tokens
475
+ */
476
+ interface ClaimSubAllocationTokensArgs {
477
+ /** Sub-allocation ID to claim from (0-9) */
478
+ subAllocationId: number;
479
+ }
480
+ interface SubAllocationVestingInitializedEvent {
481
+ projectId: BN;
482
+ projectKey: PublicKey;
483
+ subAllocationId: number;
484
+ recipientWallet: PublicKey;
485
+ totalAmount: BN;
486
+ cliffMonths: number;
487
+ vestingMonths: number;
488
+ startTimestamp: BN;
489
+ timestamp: BN;
490
+ }
491
+ interface SubAllocationTokensClaimedEvent {
492
+ projectId: BN;
493
+ projectKey: PublicKey;
494
+ subAllocationId: number;
495
+ recipient: PublicKey;
496
+ amountClaimed: BN;
497
+ totalClaimed: BN;
498
+ remaining: BN;
499
+ vestingProgressPercent: number;
500
+ timestamp: BN;
501
+ }
502
+ /**
503
+ * Arguments for claim_investor_tokens instruction
504
+ */
505
+ interface ClaimInvestorTokensArgs {
506
+ /** Milestone index to claim tokens from */
507
+ milestoneIndex: number;
508
+ }
509
+ /**
510
+ * Arguments for claim_founder_milestone_tokens instruction
511
+ */
512
+ interface ClaimFounderMilestoneTokensArgs {
513
+ /** Milestone index to claim tokens from */
514
+ milestoneIndex: number;
515
+ }
516
+ interface EarlyTokensClaimedEvent {
517
+ projectId: BN;
518
+ projectKey: PublicKey;
519
+ investor: PublicKey;
520
+ nftMint: PublicKey;
521
+ amount: BN;
522
+ timestamp: BN;
523
+ }
524
+ interface FounderEarlyTokensClaimedEvent {
525
+ projectId: BN;
526
+ projectKey: PublicKey;
527
+ founder: PublicKey;
528
+ amount: BN;
529
+ timestamp: BN;
530
+ }
531
+ interface FounderMilestoneTokensClaimedEvent {
532
+ projectId: BN;
533
+ projectKey: PublicKey;
534
+ founder: PublicKey;
535
+ milestoneIndex: number;
536
+ amount: BN;
537
+ cumulativeClaimed: BN;
538
+ timestamp: BN;
539
+ }
540
+ interface TokensBurnedForRefundEvent {
541
+ projectId: BN;
542
+ projectKey: PublicKey;
543
+ investor: PublicKey;
544
+ nftMint: PublicKey;
545
+ amountBurned: BN;
546
+ timestamp: BN;
547
+ }
548
+ interface PriceMultiplierActivatedEvent {
549
+ projectId: BN;
550
+ projectKey: PublicKey;
551
+ milestoneIndex: number;
552
+ newMultiplierBps: number;
553
+ timestamp: BN;
554
+ }
555
+ /** Emitted when claim_milestone_funds dynamically calculates and updates the price multiplier */
556
+ interface PriceMultiplierUpdatedEvent {
557
+ projectId: BN;
558
+ projectKey: PublicKey;
559
+ /** Index of the milestone just claimed */
560
+ milestoneIndex: number;
561
+ /** Number of milestones remaining after this claim */
562
+ remainingMilestones: number;
563
+ /** Days until the next milestone deadline */
564
+ daysToDeadline: BN;
565
+ /** New price multiplier in BPS (10000 = 1.0x) */
566
+ newMultiplierBps: number;
567
+ /** Previous price multiplier in BPS */
568
+ previousMultiplierBps: number;
569
+ timestamp: BN;
570
+ }
571
+ /**
572
+ * Zemyth vesting account for platform token allocation
573
+ * Created at project approval, tokens vest proportionally per milestone
574
+ */
575
+ interface ZemythVestingAccount {
576
+ /** Parent project */
577
+ project: PublicKey;
578
+ /** Total Zemyth token allocation */
579
+ totalTokens: BN;
580
+ /** Tokens already claimed by Zemyth treasury */
581
+ claimedTokens: BN;
582
+ /** Number of milestones claimed for (0 to milestone_count) */
583
+ milestonesClaimed: number;
584
+ /** Destination treasury wallet for claims */
585
+ treasuryWallet: PublicKey;
586
+ /** Account creation timestamp */
587
+ createdAt: BN;
588
+ /** PDA bump seed */
589
+ bump: number;
590
+ }
591
+ interface ZemythVestingWithKey {
592
+ publicKey: PublicKey;
593
+ account: ZemythVestingAccount;
594
+ }
595
+ /** Emitted when ZemythVesting account is created at project approval */
596
+ interface ZemythVestingCreatedEvent {
597
+ projectId: BN;
598
+ projectKey: PublicKey;
599
+ totalTokens: BN;
600
+ treasuryWallet: PublicKey;
601
+ timestamp: BN;
602
+ }
603
+ /** Emitted when Zemyth claims tokens for passed milestones */
604
+ interface ZemythTokensClaimedEvent {
605
+ projectId: BN;
606
+ projectKey: PublicKey;
607
+ amountClaimed: BN;
608
+ totalClaimed: BN;
609
+ milestonesClaimed: number;
610
+ treasuryWallet: PublicKey;
611
+ timestamp: BN;
612
+ }
613
+ /**
614
+ * FutureRoundVault account for tracking reserved tokens for future fundraising
615
+ * Created at project approval if future_round_allocation_bps > 0
616
+ */
617
+ interface FutureRoundVaultAccount {
618
+ /** Parent project */
619
+ project: PublicKey;
620
+ /** Token mint for the project */
621
+ tokenMint: PublicKey;
622
+ /** Total tokens reserved for future rounds */
623
+ totalAmount: BN;
624
+ /** Tokens already used in subsequent rounds */
625
+ usedAmount: BN;
626
+ /** PDA bump seed */
627
+ bump: number;
628
+ }
629
+ interface FutureRoundVaultWithKey {
630
+ publicKey: PublicKey;
631
+ account: FutureRoundVaultAccount;
632
+ }
633
+ /**
634
+ * FundingRound state enum
635
+ */
636
+ declare enum FundingRoundState {
637
+ Open = "open",
638
+ Funded = "funded",
639
+ InProgress = "inProgress",
640
+ Completed = "completed",
641
+ Failed = "failed"
642
+ }
643
+ /**
644
+ * Milestone configuration input for funding rounds
645
+ */
646
+ interface RoundMilestoneConfig {
647
+ /** Percentage of round funds for this milestone */
648
+ percentage: number;
649
+ /** Milestone description */
650
+ description: string;
651
+ /** Instant release percentage in basis points (e.g., 1000 = 10%) */
652
+ instantReleaseBps: number;
653
+ /** Cliff period in months */
654
+ cliffMonths: number;
655
+ /** Vesting duration in months */
656
+ vestingDurationMonths: number;
657
+ }
658
+ /**
659
+ * FundingRound account for R2, R3, R4... rounds
660
+ */
661
+ interface FundingRoundAccount {
662
+ /** Parent project */
663
+ project: PublicKey;
664
+ /** Round number (2, 3, 4...) */
665
+ roundNumber: number;
666
+ /** Funding goal for this round */
667
+ fundingGoal: BN;
668
+ /** Amount raised in this round */
669
+ amountRaised: BN;
670
+ /** Round state */
671
+ state: FundingRoundState;
672
+ /** Number of investors in this round */
673
+ investorCount: number;
674
+ /** Allocation from future round pool (basis points) */
675
+ roundAllocationBps: number;
676
+ /** Number of tiers */
677
+ tierCount: number;
678
+ /** Tier configurations */
679
+ tiers: Tier[];
680
+ /** Number of milestones */
681
+ milestoneCount: number;
682
+ /** Current milestone index */
683
+ currentMilestone: number;
684
+ /** Consecutive milestone failures */
685
+ consecutiveFailures: number;
686
+ /** Round creation timestamp */
687
+ createdAt: BN;
688
+ /** PDA bump seed */
689
+ bump: number;
690
+ }
691
+ interface FundingRoundWithKey {
692
+ publicKey: PublicKey;
693
+ account: FundingRoundAccount;
694
+ }
695
+ /**
696
+ * Arguments for open_funding_round instruction
697
+ */
698
+ interface OpenFundingRoundArgs {
699
+ /** Allocation from future round pool in basis points */
700
+ roundAllocationBps: number;
701
+ /** Funding goal for this round */
702
+ fundingGoal: BN;
703
+ /** Tier configurations (token_ratio must be <= R1's best tier) */
704
+ tiers: TierConfig[];
705
+ /** Milestone configurations for this round */
706
+ milestones: RoundMilestoneConfig[];
707
+ }
708
+ /**
709
+ * Arguments for invest_in_round instruction
710
+ */
711
+ interface InvestInRoundArgs {
712
+ /** Round number to invest in */
713
+ roundNumber: number;
714
+ /** Investment amount in USDC lamports */
715
+ amount: BN;
716
+ }
717
+ /**
718
+ * Arguments for vote_on_round_milestone instruction
719
+ */
720
+ interface VoteOnRoundMilestoneArgs {
721
+ /** Round number */
722
+ roundNumber: number;
723
+ /** Milestone index */
724
+ milestoneIndex: number;
725
+ /** Vote choice */
726
+ choice: VoteChoice;
727
+ }
728
+ /**
729
+ * Arguments for claim_round_instant_tokens instruction
730
+ */
731
+ interface ClaimRoundInstantTokensArgs {
732
+ /** Milestone index */
733
+ milestoneIndex: number;
734
+ }
735
+ /**
736
+ * Arguments for claim_round_vested_tokens instruction
737
+ */
738
+ interface ClaimRoundVestedTokensArgs {
739
+ /** Milestone index */
740
+ milestoneIndex: number;
741
+ }
742
+ interface FundingRoundOpenedEvent {
743
+ projectId: BN;
744
+ projectKey: PublicKey;
745
+ roundNumber: number;
746
+ fundingGoal: BN;
747
+ roundAllocationBps: number;
748
+ tierCount: number;
749
+ milestoneCount: number;
750
+ timestamp: BN;
751
+ }
752
+ interface RoundInvestmentMadeEvent {
753
+ projectId: BN;
754
+ projectKey: PublicKey;
755
+ roundNumber: number;
756
+ investor: PublicKey;
757
+ amount: BN;
758
+ nftMint: PublicKey;
759
+ tier: number;
760
+ tokensAllocated: BN;
761
+ timestamp: BN;
762
+ }
763
+ interface RoundMilestoneVoteEvent {
764
+ projectId: BN;
765
+ projectKey: PublicKey;
766
+ roundNumber: number;
767
+ milestoneIndex: number;
768
+ voter: PublicKey;
769
+ choice: VoteChoice;
770
+ weight: BN;
771
+ timestamp: BN;
772
+ }
773
+ interface RoundMilestoneFinalizedEvent {
774
+ projectId: BN;
775
+ projectKey: PublicKey;
776
+ roundNumber: number;
777
+ milestoneIndex: number;
778
+ passed: boolean;
779
+ yesVotes: BN;
780
+ noVotes: BN;
781
+ timestamp: BN;
782
+ }
783
+ interface RoundEarlyTokensClaimedEvent {
784
+ projectId: BN;
785
+ roundNumber: number;
786
+ investmentKey: PublicKey;
787
+ nftHolder: PublicKey;
788
+ amount: BN;
789
+ timestamp: BN;
790
+ }
791
+ interface RoundInstantTokensClaimedEvent {
792
+ projectId: BN;
793
+ roundNumber: number;
794
+ milestoneIndex: number;
795
+ investmentKey: PublicKey;
796
+ nftHolder: PublicKey;
797
+ tokensClaimed: BN;
798
+ timestamp: BN;
799
+ }
800
+ interface RoundVestedTokensClaimedEvent {
801
+ projectId: BN;
802
+ roundNumber: number;
803
+ milestoneIndex: number;
804
+ investmentKey: PublicKey;
805
+ nftHolder: PublicKey;
806
+ tokensClaimed: BN;
807
+ cumulativeClaimed: BN;
808
+ vestingProgressPercent: number;
809
+ timestamp: BN;
810
+ }
228
811
 
229
- export { type AdminConfigAccount, type CreateMilestoneArgs, type DepositTokensArgs, type InitializeProjectArgs, type InvestArgs, type InvestmentAccount, type InvestmentMadeEvent, type InvestmentWithKey, type MilestoneAccount, MilestoneState, type MilestoneVoteCastEvent, type MilestoneVoteFinalizedEvent, type MilestoneWithKey, type PivotProposalAccount, PivotState, type ProjectAccount, type ProjectCreatedEvent, ProjectState, type ProposePivotArgs, type SetTgeDateArgs, type TgeEscrowAccount, type Tier, type TierConfig, type VoteAccount, VoteChoice, type VoteOnMilestoneArgs, type VoteWithKey };
812
+ export { type AddSubAllocationArgs, type AdminConfigAccount, type AllocationChangeExecutedEvent, type AllocationProposalAccount, type AllocationProposalCreatedEvent, type AllocationProposalWithKey, type AllocationVoteAccount, type AllocationVoteCastEvent, type AllocationVoteWithKey, type ClaimFounderMilestoneTokensArgs, type ClaimInvestorTokensArgs, type ClaimRoundInstantTokensArgs, type ClaimRoundVestedTokensArgs, type ClaimSubAllocationTokensArgs, type CreateMilestoneArgs, type DepositTokensArgs, type EarlyTokensClaimedEvent, type FounderEarlyTokensClaimedEvent, type FounderMilestoneTokensClaimedEvent, type FundingRoundAccount, type FundingRoundOpenedEvent, FundingRoundState, type FundingRoundWithKey, type FutureRoundVaultAccount, type FutureRoundVaultWithKey, type InitializeProjectArgs, type InvestArgs, type InvestInRoundArgs, type InvestmentAccount, type InvestmentMadeEvent, type InvestmentWithKey, type MilestoneAccount, MilestoneState, type MilestoneVoteCastEvent, type MilestoneVoteFinalizedEvent, type MilestoneWithKey, type OpenFundingRoundArgs, type PivotProposalAccount, PivotState, type PriceMultiplierActivatedEvent, type PriceMultiplierUpdatedEvent, type ProjectAccount, type ProjectCreatedEvent, ProjectState, type ProposeAllocationChangeArgs, type ProposePivotArgs, type RoundEarlyTokensClaimedEvent, type RoundInstantTokensClaimedEvent, type RoundInvestmentMadeEvent, type RoundMilestoneConfig, type RoundMilestoneFinalizedEvent, type RoundMilestoneVoteEvent, type RoundVestedTokensClaimedEvent, type SetTgeDateArgs, type SubAllocation, type SubAllocationAddedEvent, type SubAllocationTokensClaimedEvent, type SubAllocationVestingAccount, type SubAllocationVestingInitializedEvent, type SubAllocationVestingWithKey, type TgeEscrowAccount, type Tier, type TierConfig, type TokenomicsAccount, type TokensBurnedForRefundEvent, type VoteAccount, type VoteAllocationChangeArgs, VoteChoice, type VoteOnMilestoneArgs, type VoteOnRoundMilestoneArgs, type VoteWithKey, type ZemythTokensClaimedEvent, type ZemythVestingAccount, type ZemythVestingCreatedEvent, type ZemythVestingWithKey };
@@ -33,7 +33,15 @@ var PivotState = /* @__PURE__ */ ((PivotState2) => {
33
33
  PivotState2["Finalized"] = "finalized";
34
34
  return PivotState2;
35
35
  })(PivotState || {});
36
+ var FundingRoundState = /* @__PURE__ */ ((FundingRoundState2) => {
37
+ FundingRoundState2["Open"] = "open";
38
+ FundingRoundState2["Funded"] = "funded";
39
+ FundingRoundState2["InProgress"] = "inProgress";
40
+ FundingRoundState2["Completed"] = "completed";
41
+ FundingRoundState2["Failed"] = "failed";
42
+ return FundingRoundState2;
43
+ })(FundingRoundState || {});
36
44
 
37
- export { MilestoneState, PivotState, ProjectState, VoteChoice };
45
+ export { FundingRoundState, MilestoneState, PivotState, ProjectState, VoteChoice };
38
46
  //# sourceMappingURL=index.js.map
39
47
  //# sourceMappingURL=index.js.map