@soltracer/nft-staking 0.1.0 → 0.2.1

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/idl.d.ts CHANGED
@@ -5,7 +5,7 @@
5
5
  * IDL can be found at `target/idl/nft_staking.json`.
6
6
  */
7
7
  export type NftStaking = {
8
- "address": "8aDVVqWpDe4e7UqunEixAW1ydn7j22sPTRndyo4Jusbj";
8
+ "address": "DGktkAaRmDAgnb2JKFFMK8SwCjExgh3uw17Gd8Ba67ER";
9
9
  "metadata": {
10
10
  "name": "nftStaking";
11
11
  "version": "0.1.0";
@@ -357,10 +357,244 @@ export type NftStaking = {
357
357
  },
358
358
  {
359
359
  "name": "feeConfig";
360
+ "pda": {
361
+ "seeds": [
362
+ {
363
+ "kind": "const";
364
+ "value": [
365
+ 102,
366
+ 101,
367
+ 101
368
+ ];
369
+ },
370
+ {
371
+ "kind": "const";
372
+ "value": [
373
+ 182,
374
+ 85,
375
+ 149,
376
+ 145,
377
+ 194,
378
+ 4,
379
+ 158,
380
+ 38,
381
+ 168,
382
+ 72,
383
+ 182,
384
+ 51,
385
+ 132,
386
+ 52,
387
+ 97,
388
+ 170,
389
+ 23,
390
+ 153,
391
+ 124,
392
+ 70,
393
+ 210,
394
+ 226,
395
+ 230,
396
+ 79,
397
+ 131,
398
+ 249,
399
+ 0,
400
+ 153,
401
+ 27,
402
+ 88,
403
+ 92,
404
+ 186
405
+ ];
406
+ }
407
+ ];
408
+ "program": {
409
+ "kind": "const";
410
+ "value": [
411
+ 71,
412
+ 60,
413
+ 51,
414
+ 156,
415
+ 122,
416
+ 30,
417
+ 172,
418
+ 150,
419
+ 96,
420
+ 246,
421
+ 176,
422
+ 17,
423
+ 193,
424
+ 207,
425
+ 109,
426
+ 240,
427
+ 48,
428
+ 80,
429
+ 233,
430
+ 105,
431
+ 46,
432
+ 253,
433
+ 208,
434
+ 131,
435
+ 6,
436
+ 239,
437
+ 22,
438
+ 78,
439
+ 30,
440
+ 164,
441
+ 15,
442
+ 162
443
+ ];
444
+ };
445
+ };
446
+ },
447
+ {
448
+ "name": "programRegistry";
449
+ "pda": {
450
+ "seeds": [
451
+ {
452
+ "kind": "const";
453
+ "value": [
454
+ 114,
455
+ 101,
456
+ 103,
457
+ 105,
458
+ 115,
459
+ 116,
460
+ 114,
461
+ 121
462
+ ];
463
+ },
464
+ {
465
+ "kind": "const";
466
+ "value": [
467
+ 182,
468
+ 85,
469
+ 149,
470
+ 145,
471
+ 194,
472
+ 4,
473
+ 158,
474
+ 38,
475
+ 168,
476
+ 72,
477
+ 182,
478
+ 51,
479
+ 132,
480
+ 52,
481
+ 97,
482
+ 170,
483
+ 23,
484
+ 153,
485
+ 124,
486
+ 70,
487
+ 210,
488
+ 226,
489
+ 230,
490
+ 79,
491
+ 131,
492
+ 249,
493
+ 0,
494
+ 153,
495
+ 27,
496
+ 88,
497
+ 92,
498
+ 186
499
+ ];
500
+ }
501
+ ];
502
+ "program": {
503
+ "kind": "const";
504
+ "value": [
505
+ 71,
506
+ 60,
507
+ 51,
508
+ 156,
509
+ 122,
510
+ 30,
511
+ 172,
512
+ 150,
513
+ 96,
514
+ 246,
515
+ 176,
516
+ 17,
517
+ 193,
518
+ 207,
519
+ 109,
520
+ 240,
521
+ 48,
522
+ 80,
523
+ 233,
524
+ 105,
525
+ 46,
526
+ 253,
527
+ 208,
528
+ 131,
529
+ 6,
530
+ 239,
531
+ 22,
532
+ 78,
533
+ 30,
534
+ 164,
535
+ 15,
536
+ 162
537
+ ];
538
+ };
539
+ };
360
540
  },
361
541
  {
362
542
  "name": "treasury";
363
543
  "writable": true;
544
+ "pda": {
545
+ "seeds": [
546
+ {
547
+ "kind": "const";
548
+ "value": [
549
+ 116,
550
+ 114,
551
+ 101,
552
+ 97,
553
+ 115,
554
+ 117,
555
+ 114,
556
+ 121
557
+ ];
558
+ }
559
+ ];
560
+ "program": {
561
+ "kind": "const";
562
+ "value": [
563
+ 71,
564
+ 60,
565
+ 51,
566
+ 156,
567
+ 122,
568
+ 30,
569
+ 172,
570
+ 150,
571
+ 96,
572
+ 246,
573
+ 176,
574
+ 17,
575
+ 193,
576
+ 207,
577
+ 109,
578
+ 240,
579
+ 48,
580
+ 80,
581
+ 233,
582
+ 105,
583
+ 46,
584
+ 253,
585
+ 208,
586
+ 131,
587
+ 6,
588
+ 239,
589
+ 22,
590
+ 78,
591
+ 30,
592
+ 164,
593
+ 15,
594
+ 162
595
+ ];
596
+ };
597
+ };
364
598
  },
365
599
  {
366
600
  "name": "referralAccount";
@@ -372,6 +606,9 @@ export type NftStaking = {
372
606
  {
373
607
  "name": "adminProgram";
374
608
  },
609
+ {
610
+ "name": "project";
611
+ },
375
612
  {
376
613
  "name": "staker";
377
614
  "writable": true;
@@ -498,6 +735,10 @@ export type NftStaking = {
498
735
  },
499
736
  {
500
737
  "name": "poolAuthority";
738
+ "docs": [
739
+ "Must be mutable because Token Metadata BurnV1 marks authority as writable."
740
+ ];
741
+ "writable": true;
501
742
  "pda": {
502
743
  "seeds": [
503
744
  {
@@ -564,12 +805,259 @@ export type NftStaking = {
564
805
  "name": "sysvarInstructions";
565
806
  "optional": true;
566
807
  },
808
+ {
809
+ "name": "tokenRecord";
810
+ "docs": [
811
+ "For escrow: the escrow token record. For wallet-lock: the staker's token record."
812
+ ];
813
+ "writable": true;
814
+ "optional": true;
815
+ },
816
+ {
817
+ "name": "collectionMetadata";
818
+ "writable": true;
819
+ "optional": true;
820
+ },
567
821
  {
568
822
  "name": "feeConfig";
823
+ "pda": {
824
+ "seeds": [
825
+ {
826
+ "kind": "const";
827
+ "value": [
828
+ 102,
829
+ 101,
830
+ 101
831
+ ];
832
+ },
833
+ {
834
+ "kind": "const";
835
+ "value": [
836
+ 182,
837
+ 85,
838
+ 149,
839
+ 145,
840
+ 194,
841
+ 4,
842
+ 158,
843
+ 38,
844
+ 168,
845
+ 72,
846
+ 182,
847
+ 51,
848
+ 132,
849
+ 52,
850
+ 97,
851
+ 170,
852
+ 23,
853
+ 153,
854
+ 124,
855
+ 70,
856
+ 210,
857
+ 226,
858
+ 230,
859
+ 79,
860
+ 131,
861
+ 249,
862
+ 0,
863
+ 153,
864
+ 27,
865
+ 88,
866
+ 92,
867
+ 186
868
+ ];
869
+ }
870
+ ];
871
+ "program": {
872
+ "kind": "const";
873
+ "value": [
874
+ 71,
875
+ 60,
876
+ 51,
877
+ 156,
878
+ 122,
879
+ 30,
880
+ 172,
881
+ 150,
882
+ 96,
883
+ 246,
884
+ 176,
885
+ 17,
886
+ 193,
887
+ 207,
888
+ 109,
889
+ 240,
890
+ 48,
891
+ 80,
892
+ 233,
893
+ 105,
894
+ 46,
895
+ 253,
896
+ 208,
897
+ 131,
898
+ 6,
899
+ 239,
900
+ 22,
901
+ 78,
902
+ 30,
903
+ 164,
904
+ 15,
905
+ 162
906
+ ];
907
+ };
908
+ };
909
+ },
910
+ {
911
+ "name": "programRegistry";
912
+ "pda": {
913
+ "seeds": [
914
+ {
915
+ "kind": "const";
916
+ "value": [
917
+ 114,
918
+ 101,
919
+ 103,
920
+ 105,
921
+ 115,
922
+ 116,
923
+ 114,
924
+ 121
925
+ ];
926
+ },
927
+ {
928
+ "kind": "const";
929
+ "value": [
930
+ 182,
931
+ 85,
932
+ 149,
933
+ 145,
934
+ 194,
935
+ 4,
936
+ 158,
937
+ 38,
938
+ 168,
939
+ 72,
940
+ 182,
941
+ 51,
942
+ 132,
943
+ 52,
944
+ 97,
945
+ 170,
946
+ 23,
947
+ 153,
948
+ 124,
949
+ 70,
950
+ 210,
951
+ 226,
952
+ 230,
953
+ 79,
954
+ 131,
955
+ 249,
956
+ 0,
957
+ 153,
958
+ 27,
959
+ 88,
960
+ 92,
961
+ 186
962
+ ];
963
+ }
964
+ ];
965
+ "program": {
966
+ "kind": "const";
967
+ "value": [
968
+ 71,
969
+ 60,
970
+ 51,
971
+ 156,
972
+ 122,
973
+ 30,
974
+ 172,
975
+ 150,
976
+ 96,
977
+ 246,
978
+ 176,
979
+ 17,
980
+ 193,
981
+ 207,
982
+ 109,
983
+ 240,
984
+ 48,
985
+ 80,
986
+ 233,
987
+ 105,
988
+ 46,
989
+ 253,
990
+ 208,
991
+ 131,
992
+ 6,
993
+ 239,
994
+ 22,
995
+ 78,
996
+ 30,
997
+ 164,
998
+ 15,
999
+ 162
1000
+ ];
1001
+ };
1002
+ };
569
1003
  },
570
1004
  {
571
1005
  "name": "treasury";
572
1006
  "writable": true;
1007
+ "pda": {
1008
+ "seeds": [
1009
+ {
1010
+ "kind": "const";
1011
+ "value": [
1012
+ 116,
1013
+ 114,
1014
+ 101,
1015
+ 97,
1016
+ 115,
1017
+ 117,
1018
+ 114,
1019
+ 121
1020
+ ];
1021
+ }
1022
+ ];
1023
+ "program": {
1024
+ "kind": "const";
1025
+ "value": [
1026
+ 71,
1027
+ 60,
1028
+ 51,
1029
+ 156,
1030
+ 122,
1031
+ 30,
1032
+ 172,
1033
+ 150,
1034
+ 96,
1035
+ 246,
1036
+ 176,
1037
+ 17,
1038
+ 193,
1039
+ 207,
1040
+ 109,
1041
+ 240,
1042
+ 48,
1043
+ 80,
1044
+ 233,
1045
+ 105,
1046
+ 46,
1047
+ 253,
1048
+ 208,
1049
+ 131,
1050
+ 6,
1051
+ 239,
1052
+ 22,
1053
+ 78,
1054
+ 30,
1055
+ 164,
1056
+ 15,
1057
+ 162
1058
+ ];
1059
+ };
1060
+ };
573
1061
  },
574
1062
  {
575
1063
  "name": "referralAccount";
@@ -581,6 +1069,9 @@ export type NftStaking = {
581
1069
  {
582
1070
  "name": "adminProgram";
583
1071
  },
1072
+ {
1073
+ "name": "project";
1074
+ },
584
1075
  {
585
1076
  "name": "staker";
586
1077
  "writable": true;
@@ -869,83 +1360,320 @@ export type NftStaking = {
869
1360
  },
870
1361
  {
871
1362
  "name": "feeConfig";
872
- },
873
- {
874
- "name": "treasury";
875
- "writable": true;
876
- },
877
- {
878
- "name": "referralAccount";
879
- "writable": true;
880
- },
881
- {
882
- "name": "solUsdPriceFeed";
883
- },
884
- {
885
- "name": "adminProgram";
886
- },
887
- {
888
- "name": "staker";
889
- "writable": true;
890
- "signer": true;
891
- },
892
- {
893
- "name": "tokenProgram";
894
- },
895
- {
896
- "name": "associatedTokenProgram";
897
- "address": "ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL";
898
- },
899
- {
900
- "name": "systemProgram";
901
- "address": "11111111111111111111111111111111";
902
- }
903
- ];
904
- "args": [
905
- {
906
- "name": "projectId";
907
- "type": "u64";
908
- },
909
- {
910
- "name": "poolId";
911
- "type": "u64";
912
- },
913
- {
914
- "name": "traitBonusRate";
915
- "type": {
916
- "option": "u64";
917
- };
918
- }
919
- ];
920
- },
921
- {
922
- "name": "claimSecondaryRewards";
923
- "discriminator": [
924
- 230,
925
- 86,
926
- 176,
927
- 154,
928
- 170,
929
- 3,
930
- 18,
931
- 254
932
- ];
933
- "accounts": [
934
- {
935
- "name": "pool";
936
- "writable": true;
937
1363
  "pda": {
938
1364
  "seeds": [
939
1365
  {
940
1366
  "kind": "const";
941
1367
  "value": [
942
- 110,
943
1368
  102,
944
- 116,
945
- 95,
946
- 112,
947
- 111,
948
- 111,
1369
+ 101,
1370
+ 101
1371
+ ];
1372
+ },
1373
+ {
1374
+ "kind": "const";
1375
+ "value": [
1376
+ 182,
1377
+ 85,
1378
+ 149,
1379
+ 145,
1380
+ 194,
1381
+ 4,
1382
+ 158,
1383
+ 38,
1384
+ 168,
1385
+ 72,
1386
+ 182,
1387
+ 51,
1388
+ 132,
1389
+ 52,
1390
+ 97,
1391
+ 170,
1392
+ 23,
1393
+ 153,
1394
+ 124,
1395
+ 70,
1396
+ 210,
1397
+ 226,
1398
+ 230,
1399
+ 79,
1400
+ 131,
1401
+ 249,
1402
+ 0,
1403
+ 153,
1404
+ 27,
1405
+ 88,
1406
+ 92,
1407
+ 186
1408
+ ];
1409
+ }
1410
+ ];
1411
+ "program": {
1412
+ "kind": "const";
1413
+ "value": [
1414
+ 71,
1415
+ 60,
1416
+ 51,
1417
+ 156,
1418
+ 122,
1419
+ 30,
1420
+ 172,
1421
+ 150,
1422
+ 96,
1423
+ 246,
1424
+ 176,
1425
+ 17,
1426
+ 193,
1427
+ 207,
1428
+ 109,
1429
+ 240,
1430
+ 48,
1431
+ 80,
1432
+ 233,
1433
+ 105,
1434
+ 46,
1435
+ 253,
1436
+ 208,
1437
+ 131,
1438
+ 6,
1439
+ 239,
1440
+ 22,
1441
+ 78,
1442
+ 30,
1443
+ 164,
1444
+ 15,
1445
+ 162
1446
+ ];
1447
+ };
1448
+ };
1449
+ },
1450
+ {
1451
+ "name": "programRegistry";
1452
+ "pda": {
1453
+ "seeds": [
1454
+ {
1455
+ "kind": "const";
1456
+ "value": [
1457
+ 114,
1458
+ 101,
1459
+ 103,
1460
+ 105,
1461
+ 115,
1462
+ 116,
1463
+ 114,
1464
+ 121
1465
+ ];
1466
+ },
1467
+ {
1468
+ "kind": "const";
1469
+ "value": [
1470
+ 182,
1471
+ 85,
1472
+ 149,
1473
+ 145,
1474
+ 194,
1475
+ 4,
1476
+ 158,
1477
+ 38,
1478
+ 168,
1479
+ 72,
1480
+ 182,
1481
+ 51,
1482
+ 132,
1483
+ 52,
1484
+ 97,
1485
+ 170,
1486
+ 23,
1487
+ 153,
1488
+ 124,
1489
+ 70,
1490
+ 210,
1491
+ 226,
1492
+ 230,
1493
+ 79,
1494
+ 131,
1495
+ 249,
1496
+ 0,
1497
+ 153,
1498
+ 27,
1499
+ 88,
1500
+ 92,
1501
+ 186
1502
+ ];
1503
+ }
1504
+ ];
1505
+ "program": {
1506
+ "kind": "const";
1507
+ "value": [
1508
+ 71,
1509
+ 60,
1510
+ 51,
1511
+ 156,
1512
+ 122,
1513
+ 30,
1514
+ 172,
1515
+ 150,
1516
+ 96,
1517
+ 246,
1518
+ 176,
1519
+ 17,
1520
+ 193,
1521
+ 207,
1522
+ 109,
1523
+ 240,
1524
+ 48,
1525
+ 80,
1526
+ 233,
1527
+ 105,
1528
+ 46,
1529
+ 253,
1530
+ 208,
1531
+ 131,
1532
+ 6,
1533
+ 239,
1534
+ 22,
1535
+ 78,
1536
+ 30,
1537
+ 164,
1538
+ 15,
1539
+ 162
1540
+ ];
1541
+ };
1542
+ };
1543
+ },
1544
+ {
1545
+ "name": "treasury";
1546
+ "writable": true;
1547
+ "pda": {
1548
+ "seeds": [
1549
+ {
1550
+ "kind": "const";
1551
+ "value": [
1552
+ 116,
1553
+ 114,
1554
+ 101,
1555
+ 97,
1556
+ 115,
1557
+ 117,
1558
+ 114,
1559
+ 121
1560
+ ];
1561
+ }
1562
+ ];
1563
+ "program": {
1564
+ "kind": "const";
1565
+ "value": [
1566
+ 71,
1567
+ 60,
1568
+ 51,
1569
+ 156,
1570
+ 122,
1571
+ 30,
1572
+ 172,
1573
+ 150,
1574
+ 96,
1575
+ 246,
1576
+ 176,
1577
+ 17,
1578
+ 193,
1579
+ 207,
1580
+ 109,
1581
+ 240,
1582
+ 48,
1583
+ 80,
1584
+ 233,
1585
+ 105,
1586
+ 46,
1587
+ 253,
1588
+ 208,
1589
+ 131,
1590
+ 6,
1591
+ 239,
1592
+ 22,
1593
+ 78,
1594
+ 30,
1595
+ 164,
1596
+ 15,
1597
+ 162
1598
+ ];
1599
+ };
1600
+ };
1601
+ },
1602
+ {
1603
+ "name": "referralAccount";
1604
+ "writable": true;
1605
+ },
1606
+ {
1607
+ "name": "solUsdPriceFeed";
1608
+ },
1609
+ {
1610
+ "name": "adminProgram";
1611
+ },
1612
+ {
1613
+ "name": "project";
1614
+ },
1615
+ {
1616
+ "name": "staker";
1617
+ "writable": true;
1618
+ "signer": true;
1619
+ },
1620
+ {
1621
+ "name": "tokenProgram";
1622
+ },
1623
+ {
1624
+ "name": "associatedTokenProgram";
1625
+ "address": "ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL";
1626
+ },
1627
+ {
1628
+ "name": "systemProgram";
1629
+ "address": "11111111111111111111111111111111";
1630
+ }
1631
+ ];
1632
+ "args": [
1633
+ {
1634
+ "name": "projectId";
1635
+ "type": "u64";
1636
+ },
1637
+ {
1638
+ "name": "poolId";
1639
+ "type": "u64";
1640
+ },
1641
+ {
1642
+ "name": "traitBonusRate";
1643
+ "type": {
1644
+ "option": "u64";
1645
+ };
1646
+ }
1647
+ ];
1648
+ },
1649
+ {
1650
+ "name": "claimSecondaryRewards";
1651
+ "discriminator": [
1652
+ 230,
1653
+ 86,
1654
+ 176,
1655
+ 154,
1656
+ 170,
1657
+ 3,
1658
+ 18,
1659
+ 254
1660
+ ];
1661
+ "accounts": [
1662
+ {
1663
+ "name": "pool";
1664
+ "writable": true;
1665
+ "pda": {
1666
+ "seeds": [
1667
+ {
1668
+ "kind": "const";
1669
+ "value": [
1670
+ 110,
1671
+ 102,
1672
+ 116,
1673
+ 95,
1674
+ 112,
1675
+ 111,
1676
+ 111,
949
1677
  108
950
1678
  ];
951
1679
  },
@@ -992,6 +1720,7 @@ export type NftStaking = {
992
1720
  },
993
1721
  {
994
1722
  "name": "stakerAccount";
1723
+ "writable": true;
995
1724
  "pda": {
996
1725
  "seeds": [
997
1726
  {
@@ -1085,10 +1814,244 @@ export type NftStaking = {
1085
1814
  },
1086
1815
  {
1087
1816
  "name": "feeConfig";
1817
+ "pda": {
1818
+ "seeds": [
1819
+ {
1820
+ "kind": "const";
1821
+ "value": [
1822
+ 102,
1823
+ 101,
1824
+ 101
1825
+ ];
1826
+ },
1827
+ {
1828
+ "kind": "const";
1829
+ "value": [
1830
+ 182,
1831
+ 85,
1832
+ 149,
1833
+ 145,
1834
+ 194,
1835
+ 4,
1836
+ 158,
1837
+ 38,
1838
+ 168,
1839
+ 72,
1840
+ 182,
1841
+ 51,
1842
+ 132,
1843
+ 52,
1844
+ 97,
1845
+ 170,
1846
+ 23,
1847
+ 153,
1848
+ 124,
1849
+ 70,
1850
+ 210,
1851
+ 226,
1852
+ 230,
1853
+ 79,
1854
+ 131,
1855
+ 249,
1856
+ 0,
1857
+ 153,
1858
+ 27,
1859
+ 88,
1860
+ 92,
1861
+ 186
1862
+ ];
1863
+ }
1864
+ ];
1865
+ "program": {
1866
+ "kind": "const";
1867
+ "value": [
1868
+ 71,
1869
+ 60,
1870
+ 51,
1871
+ 156,
1872
+ 122,
1873
+ 30,
1874
+ 172,
1875
+ 150,
1876
+ 96,
1877
+ 246,
1878
+ 176,
1879
+ 17,
1880
+ 193,
1881
+ 207,
1882
+ 109,
1883
+ 240,
1884
+ 48,
1885
+ 80,
1886
+ 233,
1887
+ 105,
1888
+ 46,
1889
+ 253,
1890
+ 208,
1891
+ 131,
1892
+ 6,
1893
+ 239,
1894
+ 22,
1895
+ 78,
1896
+ 30,
1897
+ 164,
1898
+ 15,
1899
+ 162
1900
+ ];
1901
+ };
1902
+ };
1903
+ },
1904
+ {
1905
+ "name": "programRegistry";
1906
+ "pda": {
1907
+ "seeds": [
1908
+ {
1909
+ "kind": "const";
1910
+ "value": [
1911
+ 114,
1912
+ 101,
1913
+ 103,
1914
+ 105,
1915
+ 115,
1916
+ 116,
1917
+ 114,
1918
+ 121
1919
+ ];
1920
+ },
1921
+ {
1922
+ "kind": "const";
1923
+ "value": [
1924
+ 182,
1925
+ 85,
1926
+ 149,
1927
+ 145,
1928
+ 194,
1929
+ 4,
1930
+ 158,
1931
+ 38,
1932
+ 168,
1933
+ 72,
1934
+ 182,
1935
+ 51,
1936
+ 132,
1937
+ 52,
1938
+ 97,
1939
+ 170,
1940
+ 23,
1941
+ 153,
1942
+ 124,
1943
+ 70,
1944
+ 210,
1945
+ 226,
1946
+ 230,
1947
+ 79,
1948
+ 131,
1949
+ 249,
1950
+ 0,
1951
+ 153,
1952
+ 27,
1953
+ 88,
1954
+ 92,
1955
+ 186
1956
+ ];
1957
+ }
1958
+ ];
1959
+ "program": {
1960
+ "kind": "const";
1961
+ "value": [
1962
+ 71,
1963
+ 60,
1964
+ 51,
1965
+ 156,
1966
+ 122,
1967
+ 30,
1968
+ 172,
1969
+ 150,
1970
+ 96,
1971
+ 246,
1972
+ 176,
1973
+ 17,
1974
+ 193,
1975
+ 207,
1976
+ 109,
1977
+ 240,
1978
+ 48,
1979
+ 80,
1980
+ 233,
1981
+ 105,
1982
+ 46,
1983
+ 253,
1984
+ 208,
1985
+ 131,
1986
+ 6,
1987
+ 239,
1988
+ 22,
1989
+ 78,
1990
+ 30,
1991
+ 164,
1992
+ 15,
1993
+ 162
1994
+ ];
1995
+ };
1996
+ };
1088
1997
  },
1089
1998
  {
1090
1999
  "name": "treasury";
1091
2000
  "writable": true;
2001
+ "pda": {
2002
+ "seeds": [
2003
+ {
2004
+ "kind": "const";
2005
+ "value": [
2006
+ 116,
2007
+ 114,
2008
+ 101,
2009
+ 97,
2010
+ 115,
2011
+ 117,
2012
+ 114,
2013
+ 121
2014
+ ];
2015
+ }
2016
+ ];
2017
+ "program": {
2018
+ "kind": "const";
2019
+ "value": [
2020
+ 71,
2021
+ 60,
2022
+ 51,
2023
+ 156,
2024
+ 122,
2025
+ 30,
2026
+ 172,
2027
+ 150,
2028
+ 96,
2029
+ 246,
2030
+ 176,
2031
+ 17,
2032
+ 193,
2033
+ 207,
2034
+ 109,
2035
+ 240,
2036
+ 48,
2037
+ 80,
2038
+ 233,
2039
+ 105,
2040
+ 46,
2041
+ 253,
2042
+ 208,
2043
+ 131,
2044
+ 6,
2045
+ 239,
2046
+ 22,
2047
+ 78,
2048
+ 30,
2049
+ 164,
2050
+ 15,
2051
+ 162
2052
+ ];
2053
+ };
2054
+ };
1092
2055
  },
1093
2056
  {
1094
2057
  "name": "referralAccount";
@@ -1100,6 +2063,9 @@ export type NftStaking = {
1100
2063
  {
1101
2064
  "name": "adminProgram";
1102
2065
  },
2066
+ {
2067
+ "name": "project";
2068
+ },
1103
2069
  {
1104
2070
  "name": "staker";
1105
2071
  "writable": true;
@@ -1269,6 +2235,18 @@ export type NftStaking = {
1269
2235
  ];
1270
2236
  };
1271
2237
  },
2238
+ {
2239
+ "name": "rewardVault";
2240
+ "docs": [
2241
+ "Reward vault — required for token-reward pools. Must be drained before closure.",
2242
+ "Pass the pool_authority ATA for the reward mint. Omit for SOL-reward pools."
2243
+ ];
2244
+ "optional": true;
2245
+ },
2246
+ {
2247
+ "name": "tokenProgram";
2248
+ "optional": true;
2249
+ },
1272
2250
  {
1273
2251
  "name": "authority";
1274
2252
  "writable": true;
@@ -1510,8 +2488,105 @@ export type NftStaking = {
1510
2488
  "name": "projectManagementProgram";
1511
2489
  },
1512
2490
  {
1513
- "name": "authority";
1514
- "writable": true;
2491
+ "name": "utilityConfig";
2492
+ "pda": {
2493
+ "seeds": [
2494
+ {
2495
+ "kind": "const";
2496
+ "value": [
2497
+ 117,
2498
+ 116,
2499
+ 105,
2500
+ 108,
2501
+ 105,
2502
+ 116,
2503
+ 121
2504
+ ];
2505
+ },
2506
+ {
2507
+ "kind": "arg";
2508
+ "path": "projectId";
2509
+ },
2510
+ {
2511
+ "kind": "const";
2512
+ "value": [
2513
+ 182,
2514
+ 85,
2515
+ 149,
2516
+ 145,
2517
+ 194,
2518
+ 4,
2519
+ 158,
2520
+ 38,
2521
+ 168,
2522
+ 72,
2523
+ 182,
2524
+ 51,
2525
+ 132,
2526
+ 52,
2527
+ 97,
2528
+ 170,
2529
+ 23,
2530
+ 153,
2531
+ 124,
2532
+ 70,
2533
+ 210,
2534
+ 226,
2535
+ 230,
2536
+ 79,
2537
+ 131,
2538
+ 249,
2539
+ 0,
2540
+ 153,
2541
+ 27,
2542
+ 88,
2543
+ 92,
2544
+ 186
2545
+ ];
2546
+ }
2547
+ ];
2548
+ "program": {
2549
+ "kind": "const";
2550
+ "value": [
2551
+ 121,
2552
+ 79,
2553
+ 236,
2554
+ 61,
2555
+ 182,
2556
+ 18,
2557
+ 189,
2558
+ 248,
2559
+ 249,
2560
+ 169,
2561
+ 55,
2562
+ 18,
2563
+ 89,
2564
+ 83,
2565
+ 5,
2566
+ 231,
2567
+ 222,
2568
+ 189,
2569
+ 185,
2570
+ 107,
2571
+ 205,
2572
+ 114,
2573
+ 8,
2574
+ 14,
2575
+ 150,
2576
+ 1,
2577
+ 213,
2578
+ 147,
2579
+ 115,
2580
+ 98,
2581
+ 138,
2582
+ 118
2583
+ ];
2584
+ };
2585
+ };
2586
+ },
2587
+ {
2588
+ "name": "authority";
2589
+ "writable": true;
1515
2590
  "signer": true;
1516
2591
  },
1517
2592
  {
@@ -2299,10 +3374,244 @@ export type NftStaking = {
2299
3374
  },
2300
3375
  {
2301
3376
  "name": "feeConfig";
3377
+ "pda": {
3378
+ "seeds": [
3379
+ {
3380
+ "kind": "const";
3381
+ "value": [
3382
+ 102,
3383
+ 101,
3384
+ 101
3385
+ ];
3386
+ },
3387
+ {
3388
+ "kind": "const";
3389
+ "value": [
3390
+ 182,
3391
+ 85,
3392
+ 149,
3393
+ 145,
3394
+ 194,
3395
+ 4,
3396
+ 158,
3397
+ 38,
3398
+ 168,
3399
+ 72,
3400
+ 182,
3401
+ 51,
3402
+ 132,
3403
+ 52,
3404
+ 97,
3405
+ 170,
3406
+ 23,
3407
+ 153,
3408
+ 124,
3409
+ 70,
3410
+ 210,
3411
+ 226,
3412
+ 230,
3413
+ 79,
3414
+ 131,
3415
+ 249,
3416
+ 0,
3417
+ 153,
3418
+ 27,
3419
+ 88,
3420
+ 92,
3421
+ 186
3422
+ ];
3423
+ }
3424
+ ];
3425
+ "program": {
3426
+ "kind": "const";
3427
+ "value": [
3428
+ 71,
3429
+ 60,
3430
+ 51,
3431
+ 156,
3432
+ 122,
3433
+ 30,
3434
+ 172,
3435
+ 150,
3436
+ 96,
3437
+ 246,
3438
+ 176,
3439
+ 17,
3440
+ 193,
3441
+ 207,
3442
+ 109,
3443
+ 240,
3444
+ 48,
3445
+ 80,
3446
+ 233,
3447
+ 105,
3448
+ 46,
3449
+ 253,
3450
+ 208,
3451
+ 131,
3452
+ 6,
3453
+ 239,
3454
+ 22,
3455
+ 78,
3456
+ 30,
3457
+ 164,
3458
+ 15,
3459
+ 162
3460
+ ];
3461
+ };
3462
+ };
3463
+ },
3464
+ {
3465
+ "name": "programRegistry";
3466
+ "pda": {
3467
+ "seeds": [
3468
+ {
3469
+ "kind": "const";
3470
+ "value": [
3471
+ 114,
3472
+ 101,
3473
+ 103,
3474
+ 105,
3475
+ 115,
3476
+ 116,
3477
+ 114,
3478
+ 121
3479
+ ];
3480
+ },
3481
+ {
3482
+ "kind": "const";
3483
+ "value": [
3484
+ 182,
3485
+ 85,
3486
+ 149,
3487
+ 145,
3488
+ 194,
3489
+ 4,
3490
+ 158,
3491
+ 38,
3492
+ 168,
3493
+ 72,
3494
+ 182,
3495
+ 51,
3496
+ 132,
3497
+ 52,
3498
+ 97,
3499
+ 170,
3500
+ 23,
3501
+ 153,
3502
+ 124,
3503
+ 70,
3504
+ 210,
3505
+ 226,
3506
+ 230,
3507
+ 79,
3508
+ 131,
3509
+ 249,
3510
+ 0,
3511
+ 153,
3512
+ 27,
3513
+ 88,
3514
+ 92,
3515
+ 186
3516
+ ];
3517
+ }
3518
+ ];
3519
+ "program": {
3520
+ "kind": "const";
3521
+ "value": [
3522
+ 71,
3523
+ 60,
3524
+ 51,
3525
+ 156,
3526
+ 122,
3527
+ 30,
3528
+ 172,
3529
+ 150,
3530
+ 96,
3531
+ 246,
3532
+ 176,
3533
+ 17,
3534
+ 193,
3535
+ 207,
3536
+ 109,
3537
+ 240,
3538
+ 48,
3539
+ 80,
3540
+ 233,
3541
+ 105,
3542
+ 46,
3543
+ 253,
3544
+ 208,
3545
+ 131,
3546
+ 6,
3547
+ 239,
3548
+ 22,
3549
+ 78,
3550
+ 30,
3551
+ 164,
3552
+ 15,
3553
+ 162
3554
+ ];
3555
+ };
3556
+ };
2302
3557
  },
2303
3558
  {
2304
3559
  "name": "treasury";
2305
3560
  "writable": true;
3561
+ "pda": {
3562
+ "seeds": [
3563
+ {
3564
+ "kind": "const";
3565
+ "value": [
3566
+ 116,
3567
+ 114,
3568
+ 101,
3569
+ 97,
3570
+ 115,
3571
+ 117,
3572
+ 114,
3573
+ 121
3574
+ ];
3575
+ }
3576
+ ];
3577
+ "program": {
3578
+ "kind": "const";
3579
+ "value": [
3580
+ 71,
3581
+ 60,
3582
+ 51,
3583
+ 156,
3584
+ 122,
3585
+ 30,
3586
+ 172,
3587
+ 150,
3588
+ 96,
3589
+ 246,
3590
+ 176,
3591
+ 17,
3592
+ 193,
3593
+ 207,
3594
+ 109,
3595
+ 240,
3596
+ 48,
3597
+ 80,
3598
+ 233,
3599
+ 105,
3600
+ 46,
3601
+ 253,
3602
+ 208,
3603
+ 131,
3604
+ 6,
3605
+ 239,
3606
+ 22,
3607
+ 78,
3608
+ 30,
3609
+ 164,
3610
+ 15,
3611
+ 162
3612
+ ];
3613
+ };
3614
+ };
2306
3615
  },
2307
3616
  {
2308
3617
  "name": "referralAccount";
@@ -2314,6 +3623,9 @@ export type NftStaking = {
2314
3623
  {
2315
3624
  "name": "adminProgram";
2316
3625
  },
3626
+ {
3627
+ "name": "project";
3628
+ },
2317
3629
  {
2318
3630
  "name": "staker";
2319
3631
  "writable": true;
@@ -2486,10 +3798,244 @@ export type NftStaking = {
2486
3798
  },
2487
3799
  {
2488
3800
  "name": "feeConfig";
3801
+ "pda": {
3802
+ "seeds": [
3803
+ {
3804
+ "kind": "const";
3805
+ "value": [
3806
+ 102,
3807
+ 101,
3808
+ 101
3809
+ ];
3810
+ },
3811
+ {
3812
+ "kind": "const";
3813
+ "value": [
3814
+ 182,
3815
+ 85,
3816
+ 149,
3817
+ 145,
3818
+ 194,
3819
+ 4,
3820
+ 158,
3821
+ 38,
3822
+ 168,
3823
+ 72,
3824
+ 182,
3825
+ 51,
3826
+ 132,
3827
+ 52,
3828
+ 97,
3829
+ 170,
3830
+ 23,
3831
+ 153,
3832
+ 124,
3833
+ 70,
3834
+ 210,
3835
+ 226,
3836
+ 230,
3837
+ 79,
3838
+ 131,
3839
+ 249,
3840
+ 0,
3841
+ 153,
3842
+ 27,
3843
+ 88,
3844
+ 92,
3845
+ 186
3846
+ ];
3847
+ }
3848
+ ];
3849
+ "program": {
3850
+ "kind": "const";
3851
+ "value": [
3852
+ 71,
3853
+ 60,
3854
+ 51,
3855
+ 156,
3856
+ 122,
3857
+ 30,
3858
+ 172,
3859
+ 150,
3860
+ 96,
3861
+ 246,
3862
+ 176,
3863
+ 17,
3864
+ 193,
3865
+ 207,
3866
+ 109,
3867
+ 240,
3868
+ 48,
3869
+ 80,
3870
+ 233,
3871
+ 105,
3872
+ 46,
3873
+ 253,
3874
+ 208,
3875
+ 131,
3876
+ 6,
3877
+ 239,
3878
+ 22,
3879
+ 78,
3880
+ 30,
3881
+ 164,
3882
+ 15,
3883
+ 162
3884
+ ];
3885
+ };
3886
+ };
3887
+ },
3888
+ {
3889
+ "name": "programRegistry";
3890
+ "pda": {
3891
+ "seeds": [
3892
+ {
3893
+ "kind": "const";
3894
+ "value": [
3895
+ 114,
3896
+ 101,
3897
+ 103,
3898
+ 105,
3899
+ 115,
3900
+ 116,
3901
+ 114,
3902
+ 121
3903
+ ];
3904
+ },
3905
+ {
3906
+ "kind": "const";
3907
+ "value": [
3908
+ 182,
3909
+ 85,
3910
+ 149,
3911
+ 145,
3912
+ 194,
3913
+ 4,
3914
+ 158,
3915
+ 38,
3916
+ 168,
3917
+ 72,
3918
+ 182,
3919
+ 51,
3920
+ 132,
3921
+ 52,
3922
+ 97,
3923
+ 170,
3924
+ 23,
3925
+ 153,
3926
+ 124,
3927
+ 70,
3928
+ 210,
3929
+ 226,
3930
+ 230,
3931
+ 79,
3932
+ 131,
3933
+ 249,
3934
+ 0,
3935
+ 153,
3936
+ 27,
3937
+ 88,
3938
+ 92,
3939
+ 186
3940
+ ];
3941
+ }
3942
+ ];
3943
+ "program": {
3944
+ "kind": "const";
3945
+ "value": [
3946
+ 71,
3947
+ 60,
3948
+ 51,
3949
+ 156,
3950
+ 122,
3951
+ 30,
3952
+ 172,
3953
+ 150,
3954
+ 96,
3955
+ 246,
3956
+ 176,
3957
+ 17,
3958
+ 193,
3959
+ 207,
3960
+ 109,
3961
+ 240,
3962
+ 48,
3963
+ 80,
3964
+ 233,
3965
+ 105,
3966
+ 46,
3967
+ 253,
3968
+ 208,
3969
+ 131,
3970
+ 6,
3971
+ 239,
3972
+ 22,
3973
+ 78,
3974
+ 30,
3975
+ 164,
3976
+ 15,
3977
+ 162
3978
+ ];
3979
+ };
3980
+ };
2489
3981
  },
2490
3982
  {
2491
3983
  "name": "treasury";
2492
3984
  "writable": true;
3985
+ "pda": {
3986
+ "seeds": [
3987
+ {
3988
+ "kind": "const";
3989
+ "value": [
3990
+ 116,
3991
+ 114,
3992
+ 101,
3993
+ 97,
3994
+ 115,
3995
+ 117,
3996
+ 114,
3997
+ 121
3998
+ ];
3999
+ }
4000
+ ];
4001
+ "program": {
4002
+ "kind": "const";
4003
+ "value": [
4004
+ 71,
4005
+ 60,
4006
+ 51,
4007
+ 156,
4008
+ 122,
4009
+ 30,
4010
+ 172,
4011
+ 150,
4012
+ 96,
4013
+ 246,
4014
+ 176,
4015
+ 17,
4016
+ 193,
4017
+ 207,
4018
+ 109,
4019
+ 240,
4020
+ 48,
4021
+ 80,
4022
+ 233,
4023
+ 105,
4024
+ 46,
4025
+ 253,
4026
+ 208,
4027
+ 131,
4028
+ 6,
4029
+ 239,
4030
+ 22,
4031
+ 78,
4032
+ 30,
4033
+ 164,
4034
+ 15,
4035
+ 162
4036
+ ];
4037
+ };
4038
+ };
2493
4039
  },
2494
4040
  {
2495
4041
  "name": "referralAccount";
@@ -2501,6 +4047,107 @@ export type NftStaking = {
2501
4047
  {
2502
4048
  "name": "adminProgram";
2503
4049
  },
4050
+ {
4051
+ "name": "project";
4052
+ },
4053
+ {
4054
+ "name": "utilityConfig";
4055
+ "pda": {
4056
+ "seeds": [
4057
+ {
4058
+ "kind": "const";
4059
+ "value": [
4060
+ 117,
4061
+ 116,
4062
+ 105,
4063
+ 108,
4064
+ 105,
4065
+ 116,
4066
+ 121
4067
+ ];
4068
+ },
4069
+ {
4070
+ "kind": "account";
4071
+ "path": "pool.project_id";
4072
+ "account": "stakePool";
4073
+ },
4074
+ {
4075
+ "kind": "const";
4076
+ "value": [
4077
+ 182,
4078
+ 85,
4079
+ 149,
4080
+ 145,
4081
+ 194,
4082
+ 4,
4083
+ 158,
4084
+ 38,
4085
+ 168,
4086
+ 72,
4087
+ 182,
4088
+ 51,
4089
+ 132,
4090
+ 52,
4091
+ 97,
4092
+ 170,
4093
+ 23,
4094
+ 153,
4095
+ 124,
4096
+ 70,
4097
+ 210,
4098
+ 226,
4099
+ 230,
4100
+ 79,
4101
+ 131,
4102
+ 249,
4103
+ 0,
4104
+ 153,
4105
+ 27,
4106
+ 88,
4107
+ 92,
4108
+ 186
4109
+ ];
4110
+ }
4111
+ ];
4112
+ "program": {
4113
+ "kind": "const";
4114
+ "value": [
4115
+ 121,
4116
+ 79,
4117
+ 236,
4118
+ 61,
4119
+ 182,
4120
+ 18,
4121
+ 189,
4122
+ 248,
4123
+ 249,
4124
+ 169,
4125
+ 55,
4126
+ 18,
4127
+ 89,
4128
+ 83,
4129
+ 5,
4130
+ 231,
4131
+ 222,
4132
+ 189,
4133
+ 185,
4134
+ 107,
4135
+ 205,
4136
+ 114,
4137
+ 8,
4138
+ 14,
4139
+ 150,
4140
+ 1,
4141
+ 213,
4142
+ 147,
4143
+ 115,
4144
+ 98,
4145
+ 138,
4146
+ 118
4147
+ ];
4148
+ };
4149
+ };
4150
+ },
2504
4151
  {
2505
4152
  "name": "staker";
2506
4153
  "writable": true;
@@ -2672,62 +4319,398 @@ export type NftStaking = {
2672
4319
  };
2673
4320
  },
2674
4321
  {
2675
- "name": "poolAuthority";
4322
+ "name": "poolAuthority";
4323
+ "pda": {
4324
+ "seeds": [
4325
+ {
4326
+ "kind": "const";
4327
+ "value": [
4328
+ 112,
4329
+ 111,
4330
+ 111,
4331
+ 108,
4332
+ 95,
4333
+ 97,
4334
+ 117,
4335
+ 116,
4336
+ 104,
4337
+ 111,
4338
+ 114,
4339
+ 105,
4340
+ 116,
4341
+ 121
4342
+ ];
4343
+ },
4344
+ {
4345
+ "kind": "arg";
4346
+ "path": "poolId";
4347
+ }
4348
+ ];
4349
+ };
4350
+ },
4351
+ {
4352
+ "name": "nftAsset";
4353
+ "writable": true;
4354
+ },
4355
+ {
4356
+ "name": "collection";
4357
+ "writable": true;
4358
+ },
4359
+ {
4360
+ "name": "mplCoreProgram";
4361
+ },
4362
+ {
4363
+ "name": "feeConfig";
4364
+ "pda": {
4365
+ "seeds": [
4366
+ {
4367
+ "kind": "const";
4368
+ "value": [
4369
+ 102,
4370
+ 101,
4371
+ 101
4372
+ ];
4373
+ },
4374
+ {
4375
+ "kind": "const";
4376
+ "value": [
4377
+ 182,
4378
+ 85,
4379
+ 149,
4380
+ 145,
4381
+ 194,
4382
+ 4,
4383
+ 158,
4384
+ 38,
4385
+ 168,
4386
+ 72,
4387
+ 182,
4388
+ 51,
4389
+ 132,
4390
+ 52,
4391
+ 97,
4392
+ 170,
4393
+ 23,
4394
+ 153,
4395
+ 124,
4396
+ 70,
4397
+ 210,
4398
+ 226,
4399
+ 230,
4400
+ 79,
4401
+ 131,
4402
+ 249,
4403
+ 0,
4404
+ 153,
4405
+ 27,
4406
+ 88,
4407
+ 92,
4408
+ 186
4409
+ ];
4410
+ }
4411
+ ];
4412
+ "program": {
4413
+ "kind": "const";
4414
+ "value": [
4415
+ 71,
4416
+ 60,
4417
+ 51,
4418
+ 156,
4419
+ 122,
4420
+ 30,
4421
+ 172,
4422
+ 150,
4423
+ 96,
4424
+ 246,
4425
+ 176,
4426
+ 17,
4427
+ 193,
4428
+ 207,
4429
+ 109,
4430
+ 240,
4431
+ 48,
4432
+ 80,
4433
+ 233,
4434
+ 105,
4435
+ 46,
4436
+ 253,
4437
+ 208,
4438
+ 131,
4439
+ 6,
4440
+ 239,
4441
+ 22,
4442
+ 78,
4443
+ 30,
4444
+ 164,
4445
+ 15,
4446
+ 162
4447
+ ];
4448
+ };
4449
+ };
4450
+ },
4451
+ {
4452
+ "name": "programRegistry";
4453
+ "pda": {
4454
+ "seeds": [
4455
+ {
4456
+ "kind": "const";
4457
+ "value": [
4458
+ 114,
4459
+ 101,
4460
+ 103,
4461
+ 105,
4462
+ 115,
4463
+ 116,
4464
+ 114,
4465
+ 121
4466
+ ];
4467
+ },
4468
+ {
4469
+ "kind": "const";
4470
+ "value": [
4471
+ 182,
4472
+ 85,
4473
+ 149,
4474
+ 145,
4475
+ 194,
4476
+ 4,
4477
+ 158,
4478
+ 38,
4479
+ 168,
4480
+ 72,
4481
+ 182,
4482
+ 51,
4483
+ 132,
4484
+ 52,
4485
+ 97,
4486
+ 170,
4487
+ 23,
4488
+ 153,
4489
+ 124,
4490
+ 70,
4491
+ 210,
4492
+ 226,
4493
+ 230,
4494
+ 79,
4495
+ 131,
4496
+ 249,
4497
+ 0,
4498
+ 153,
4499
+ 27,
4500
+ 88,
4501
+ 92,
4502
+ 186
4503
+ ];
4504
+ }
4505
+ ];
4506
+ "program": {
4507
+ "kind": "const";
4508
+ "value": [
4509
+ 71,
4510
+ 60,
4511
+ 51,
4512
+ 156,
4513
+ 122,
4514
+ 30,
4515
+ 172,
4516
+ 150,
4517
+ 96,
4518
+ 246,
4519
+ 176,
4520
+ 17,
4521
+ 193,
4522
+ 207,
4523
+ 109,
4524
+ 240,
4525
+ 48,
4526
+ 80,
4527
+ 233,
4528
+ 105,
4529
+ 46,
4530
+ 253,
4531
+ 208,
4532
+ 131,
4533
+ 6,
4534
+ 239,
4535
+ 22,
4536
+ 78,
4537
+ 30,
4538
+ 164,
4539
+ 15,
4540
+ 162
4541
+ ];
4542
+ };
4543
+ };
4544
+ },
4545
+ {
4546
+ "name": "treasury";
4547
+ "writable": true;
4548
+ "pda": {
4549
+ "seeds": [
4550
+ {
4551
+ "kind": "const";
4552
+ "value": [
4553
+ 116,
4554
+ 114,
4555
+ 101,
4556
+ 97,
4557
+ 115,
4558
+ 117,
4559
+ 114,
4560
+ 121
4561
+ ];
4562
+ }
4563
+ ];
4564
+ "program": {
4565
+ "kind": "const";
4566
+ "value": [
4567
+ 71,
4568
+ 60,
4569
+ 51,
4570
+ 156,
4571
+ 122,
4572
+ 30,
4573
+ 172,
4574
+ 150,
4575
+ 96,
4576
+ 246,
4577
+ 176,
4578
+ 17,
4579
+ 193,
4580
+ 207,
4581
+ 109,
4582
+ 240,
4583
+ 48,
4584
+ 80,
4585
+ 233,
4586
+ 105,
4587
+ 46,
4588
+ 253,
4589
+ 208,
4590
+ 131,
4591
+ 6,
4592
+ 239,
4593
+ 22,
4594
+ 78,
4595
+ 30,
4596
+ 164,
4597
+ 15,
4598
+ 162
4599
+ ];
4600
+ };
4601
+ };
4602
+ },
4603
+ {
4604
+ "name": "referralAccount";
4605
+ "writable": true;
4606
+ },
4607
+ {
4608
+ "name": "solUsdPriceFeed";
4609
+ },
4610
+ {
4611
+ "name": "adminProgram";
4612
+ },
4613
+ {
4614
+ "name": "project";
4615
+ },
4616
+ {
4617
+ "name": "utilityConfig";
2676
4618
  "pda": {
2677
4619
  "seeds": [
2678
4620
  {
2679
4621
  "kind": "const";
2680
4622
  "value": [
2681
- 112,
2682
- 111,
2683
- 111,
2684
- 108,
2685
- 95,
2686
- 97,
2687
4623
  117,
2688
4624
  116,
2689
- 104,
2690
- 111,
2691
- 114,
4625
+ 105,
4626
+ 108,
2692
4627
  105,
2693
4628
  116,
2694
4629
  121
2695
4630
  ];
2696
4631
  },
2697
4632
  {
2698
- "kind": "arg";
2699
- "path": "poolId";
4633
+ "kind": "account";
4634
+ "path": "pool.project_id";
4635
+ "account": "stakePool";
4636
+ },
4637
+ {
4638
+ "kind": "const";
4639
+ "value": [
4640
+ 182,
4641
+ 85,
4642
+ 149,
4643
+ 145,
4644
+ 194,
4645
+ 4,
4646
+ 158,
4647
+ 38,
4648
+ 168,
4649
+ 72,
4650
+ 182,
4651
+ 51,
4652
+ 132,
4653
+ 52,
4654
+ 97,
4655
+ 170,
4656
+ 23,
4657
+ 153,
4658
+ 124,
4659
+ 70,
4660
+ 210,
4661
+ 226,
4662
+ 230,
4663
+ 79,
4664
+ 131,
4665
+ 249,
4666
+ 0,
4667
+ 153,
4668
+ 27,
4669
+ 88,
4670
+ 92,
4671
+ 186
4672
+ ];
2700
4673
  }
2701
4674
  ];
4675
+ "program": {
4676
+ "kind": "const";
4677
+ "value": [
4678
+ 121,
4679
+ 79,
4680
+ 236,
4681
+ 61,
4682
+ 182,
4683
+ 18,
4684
+ 189,
4685
+ 248,
4686
+ 249,
4687
+ 169,
4688
+ 55,
4689
+ 18,
4690
+ 89,
4691
+ 83,
4692
+ 5,
4693
+ 231,
4694
+ 222,
4695
+ 189,
4696
+ 185,
4697
+ 107,
4698
+ 205,
4699
+ 114,
4700
+ 8,
4701
+ 14,
4702
+ 150,
4703
+ 1,
4704
+ 213,
4705
+ 147,
4706
+ 115,
4707
+ 98,
4708
+ 138,
4709
+ 118
4710
+ ];
4711
+ };
2702
4712
  };
2703
4713
  },
2704
- {
2705
- "name": "nftAsset";
2706
- "writable": true;
2707
- },
2708
- {
2709
- "name": "collection";
2710
- },
2711
- {
2712
- "name": "mplCoreProgram";
2713
- },
2714
- {
2715
- "name": "feeConfig";
2716
- },
2717
- {
2718
- "name": "treasury";
2719
- "writable": true;
2720
- },
2721
- {
2722
- "name": "referralAccount";
2723
- "writable": true;
2724
- },
2725
- {
2726
- "name": "solUsdPriceFeed";
2727
- },
2728
- {
2729
- "name": "adminProgram";
2730
- },
2731
4714
  {
2732
4715
  "name": "staker";
2733
4716
  "writable": true;
@@ -2930,10 +4913,244 @@ export type NftStaking = {
2930
4913
  },
2931
4914
  {
2932
4915
  "name": "feeConfig";
4916
+ "pda": {
4917
+ "seeds": [
4918
+ {
4919
+ "kind": "const";
4920
+ "value": [
4921
+ 102,
4922
+ 101,
4923
+ 101
4924
+ ];
4925
+ },
4926
+ {
4927
+ "kind": "const";
4928
+ "value": [
4929
+ 182,
4930
+ 85,
4931
+ 149,
4932
+ 145,
4933
+ 194,
4934
+ 4,
4935
+ 158,
4936
+ 38,
4937
+ 168,
4938
+ 72,
4939
+ 182,
4940
+ 51,
4941
+ 132,
4942
+ 52,
4943
+ 97,
4944
+ 170,
4945
+ 23,
4946
+ 153,
4947
+ 124,
4948
+ 70,
4949
+ 210,
4950
+ 226,
4951
+ 230,
4952
+ 79,
4953
+ 131,
4954
+ 249,
4955
+ 0,
4956
+ 153,
4957
+ 27,
4958
+ 88,
4959
+ 92,
4960
+ 186
4961
+ ];
4962
+ }
4963
+ ];
4964
+ "program": {
4965
+ "kind": "const";
4966
+ "value": [
4967
+ 71,
4968
+ 60,
4969
+ 51,
4970
+ 156,
4971
+ 122,
4972
+ 30,
4973
+ 172,
4974
+ 150,
4975
+ 96,
4976
+ 246,
4977
+ 176,
4978
+ 17,
4979
+ 193,
4980
+ 207,
4981
+ 109,
4982
+ 240,
4983
+ 48,
4984
+ 80,
4985
+ 233,
4986
+ 105,
4987
+ 46,
4988
+ 253,
4989
+ 208,
4990
+ 131,
4991
+ 6,
4992
+ 239,
4993
+ 22,
4994
+ 78,
4995
+ 30,
4996
+ 164,
4997
+ 15,
4998
+ 162
4999
+ ];
5000
+ };
5001
+ };
5002
+ },
5003
+ {
5004
+ "name": "programRegistry";
5005
+ "pda": {
5006
+ "seeds": [
5007
+ {
5008
+ "kind": "const";
5009
+ "value": [
5010
+ 114,
5011
+ 101,
5012
+ 103,
5013
+ 105,
5014
+ 115,
5015
+ 116,
5016
+ 114,
5017
+ 121
5018
+ ];
5019
+ },
5020
+ {
5021
+ "kind": "const";
5022
+ "value": [
5023
+ 182,
5024
+ 85,
5025
+ 149,
5026
+ 145,
5027
+ 194,
5028
+ 4,
5029
+ 158,
5030
+ 38,
5031
+ 168,
5032
+ 72,
5033
+ 182,
5034
+ 51,
5035
+ 132,
5036
+ 52,
5037
+ 97,
5038
+ 170,
5039
+ 23,
5040
+ 153,
5041
+ 124,
5042
+ 70,
5043
+ 210,
5044
+ 226,
5045
+ 230,
5046
+ 79,
5047
+ 131,
5048
+ 249,
5049
+ 0,
5050
+ 153,
5051
+ 27,
5052
+ 88,
5053
+ 92,
5054
+ 186
5055
+ ];
5056
+ }
5057
+ ];
5058
+ "program": {
5059
+ "kind": "const";
5060
+ "value": [
5061
+ 71,
5062
+ 60,
5063
+ 51,
5064
+ 156,
5065
+ 122,
5066
+ 30,
5067
+ 172,
5068
+ 150,
5069
+ 96,
5070
+ 246,
5071
+ 176,
5072
+ 17,
5073
+ 193,
5074
+ 207,
5075
+ 109,
5076
+ 240,
5077
+ 48,
5078
+ 80,
5079
+ 233,
5080
+ 105,
5081
+ 46,
5082
+ 253,
5083
+ 208,
5084
+ 131,
5085
+ 6,
5086
+ 239,
5087
+ 22,
5088
+ 78,
5089
+ 30,
5090
+ 164,
5091
+ 15,
5092
+ 162
5093
+ ];
5094
+ };
5095
+ };
2933
5096
  },
2934
5097
  {
2935
5098
  "name": "treasury";
2936
5099
  "writable": true;
5100
+ "pda": {
5101
+ "seeds": [
5102
+ {
5103
+ "kind": "const";
5104
+ "value": [
5105
+ 116,
5106
+ 114,
5107
+ 101,
5108
+ 97,
5109
+ 115,
5110
+ 117,
5111
+ 114,
5112
+ 121
5113
+ ];
5114
+ }
5115
+ ];
5116
+ "program": {
5117
+ "kind": "const";
5118
+ "value": [
5119
+ 71,
5120
+ 60,
5121
+ 51,
5122
+ 156,
5123
+ 122,
5124
+ 30,
5125
+ 172,
5126
+ 150,
5127
+ 96,
5128
+ 246,
5129
+ 176,
5130
+ 17,
5131
+ 193,
5132
+ 207,
5133
+ 109,
5134
+ 240,
5135
+ 48,
5136
+ 80,
5137
+ 233,
5138
+ 105,
5139
+ 46,
5140
+ 253,
5141
+ 208,
5142
+ 131,
5143
+ 6,
5144
+ 239,
5145
+ 22,
5146
+ 78,
5147
+ 30,
5148
+ 164,
5149
+ 15,
5150
+ 162
5151
+ ];
5152
+ };
5153
+ };
2937
5154
  },
2938
5155
  {
2939
5156
  "name": "referralAccount";
@@ -2945,6 +5162,107 @@ export type NftStaking = {
2945
5162
  {
2946
5163
  "name": "adminProgram";
2947
5164
  },
5165
+ {
5166
+ "name": "project";
5167
+ },
5168
+ {
5169
+ "name": "utilityConfig";
5170
+ "pda": {
5171
+ "seeds": [
5172
+ {
5173
+ "kind": "const";
5174
+ "value": [
5175
+ 117,
5176
+ 116,
5177
+ 105,
5178
+ 108,
5179
+ 105,
5180
+ 116,
5181
+ 121
5182
+ ];
5183
+ },
5184
+ {
5185
+ "kind": "account";
5186
+ "path": "pool.project_id";
5187
+ "account": "stakePool";
5188
+ },
5189
+ {
5190
+ "kind": "const";
5191
+ "value": [
5192
+ 182,
5193
+ 85,
5194
+ 149,
5195
+ 145,
5196
+ 194,
5197
+ 4,
5198
+ 158,
5199
+ 38,
5200
+ 168,
5201
+ 72,
5202
+ 182,
5203
+ 51,
5204
+ 132,
5205
+ 52,
5206
+ 97,
5207
+ 170,
5208
+ 23,
5209
+ 153,
5210
+ 124,
5211
+ 70,
5212
+ 210,
5213
+ 226,
5214
+ 230,
5215
+ 79,
5216
+ 131,
5217
+ 249,
5218
+ 0,
5219
+ 153,
5220
+ 27,
5221
+ 88,
5222
+ 92,
5223
+ 186
5224
+ ];
5225
+ }
5226
+ ];
5227
+ "program": {
5228
+ "kind": "const";
5229
+ "value": [
5230
+ 121,
5231
+ 79,
5232
+ 236,
5233
+ 61,
5234
+ 182,
5235
+ 18,
5236
+ 189,
5237
+ 248,
5238
+ 249,
5239
+ 169,
5240
+ 55,
5241
+ 18,
5242
+ 89,
5243
+ 83,
5244
+ 5,
5245
+ 231,
5246
+ 222,
5247
+ 189,
5248
+ 185,
5249
+ 107,
5250
+ 205,
5251
+ 114,
5252
+ 8,
5253
+ 14,
5254
+ 150,
5255
+ 1,
5256
+ 213,
5257
+ 147,
5258
+ 115,
5259
+ 98,
5260
+ 138,
5261
+ 118
5262
+ ];
5263
+ };
5264
+ };
5265
+ },
2948
5266
  {
2949
5267
  "name": "nftEdition";
2950
5268
  "writable": true;
@@ -2956,6 +5274,22 @@ export type NftStaking = {
2956
5274
  "name": "sysvarInstructions";
2957
5275
  "address": "Sysvar1nstructions1111111111111111111111111";
2958
5276
  },
5277
+ {
5278
+ "name": "tokenRecord";
5279
+ "docs": [
5280
+ "Seeds: [\"metadata\", mpl_token_metadata_id, mint, \"token_record\", token_account]"
5281
+ ];
5282
+ "writable": true;
5283
+ "optional": true;
5284
+ },
5285
+ {
5286
+ "name": "destinationTokenRecord";
5287
+ "docs": [
5288
+ "Seeds: [\"metadata\", mpl_token_metadata_id, mint, \"token_record\", escrow_token_account]"
5289
+ ];
5290
+ "writable": true;
5291
+ "optional": true;
5292
+ },
2959
5293
  {
2960
5294
  "name": "staker";
2961
5295
  "writable": true;
@@ -3220,23 +5554,6 @@ export type NftStaking = {
3220
5554
  {
3221
5555
  "name": "rewardMint";
3222
5556
  },
3223
- {
3224
- "name": "feeConfig";
3225
- },
3226
- {
3227
- "name": "treasury";
3228
- "writable": true;
3229
- },
3230
- {
3231
- "name": "referralAccount";
3232
- "writable": true;
3233
- },
3234
- {
3235
- "name": "solUsdPriceFeed";
3236
- },
3237
- {
3238
- "name": "adminProgram";
3239
- },
3240
5557
  {
3241
5558
  "name": "staker";
3242
5559
  "writable": true;
@@ -3405,6 +5722,10 @@ export type NftStaking = {
3405
5722
  },
3406
5723
  {
3407
5724
  "name": "poolAuthority";
5725
+ "docs": [
5726
+ "Must be mutable because mpl-core Transfer debits lamports from the authority/payer."
5727
+ ];
5728
+ "writable": true;
3408
5729
  "pda": {
3409
5730
  "seeds": [
3410
5731
  {
@@ -3439,6 +5760,7 @@ export type NftStaking = {
3439
5760
  },
3440
5761
  {
3441
5762
  "name": "collection";
5763
+ "writable": true;
3442
5764
  },
3443
5765
  {
3444
5766
  "name": "mplCoreProgram";
@@ -3513,23 +5835,6 @@ export type NftStaking = {
3513
5835
  {
3514
5836
  "name": "rewardMint";
3515
5837
  },
3516
- {
3517
- "name": "feeConfig";
3518
- },
3519
- {
3520
- "name": "treasury";
3521
- "writable": true;
3522
- },
3523
- {
3524
- "name": "referralAccount";
3525
- "writable": true;
3526
- },
3527
- {
3528
- "name": "solUsdPriceFeed";
3529
- },
3530
- {
3531
- "name": "adminProgram";
3532
- },
3533
5838
  {
3534
5839
  "name": "staker";
3535
5840
  "writable": true;
@@ -3781,36 +6086,29 @@ export type NftStaking = {
3781
6086
  "name": "rewardMint";
3782
6087
  },
3783
6088
  {
3784
- "name": "feeConfig";
3785
- },
3786
- {
3787
- "name": "treasury";
6089
+ "name": "nftMetadata";
3788
6090
  "writable": true;
3789
6091
  },
3790
6092
  {
3791
- "name": "referralAccount";
6093
+ "name": "nftEdition";
3792
6094
  "writable": true;
3793
6095
  },
3794
6096
  {
3795
- "name": "solUsdPriceFeed";
6097
+ "name": "mplTokenMetadataProgram";
3796
6098
  },
3797
6099
  {
3798
- "name": "adminProgram";
6100
+ "name": "sysvarInstructions";
6101
+ "address": "Sysvar1nstructions1111111111111111111111111";
3799
6102
  },
3800
6103
  {
3801
- "name": "nftMetadata";
6104
+ "name": "tokenRecord";
3802
6105
  "writable": true;
6106
+ "optional": true;
3803
6107
  },
3804
6108
  {
3805
- "name": "nftEdition";
6109
+ "name": "destinationTokenRecord";
3806
6110
  "writable": true;
3807
- },
3808
- {
3809
- "name": "mplTokenMetadataProgram";
3810
- },
3811
- {
3812
- "name": "sysvarInstructions";
3813
- "address": "Sysvar1nstructions1111111111111111111111111";
6111
+ "optional": true;
3814
6112
  },
3815
6113
  {
3816
6114
  "name": "staker";
@@ -3847,6 +6145,108 @@ export type NftStaking = {
3847
6145
  }
3848
6146
  ];
3849
6147
  },
6148
+ {
6149
+ "name": "updatePoolSecondaryReward";
6150
+ "discriminator": [
6151
+ 166,
6152
+ 51,
6153
+ 97,
6154
+ 200,
6155
+ 97,
6156
+ 226,
6157
+ 3,
6158
+ 41
6159
+ ];
6160
+ "accounts": [
6161
+ {
6162
+ "name": "pool";
6163
+ "pda": {
6164
+ "seeds": [
6165
+ {
6166
+ "kind": "const";
6167
+ "value": [
6168
+ 110,
6169
+ 102,
6170
+ 116,
6171
+ 95,
6172
+ 112,
6173
+ 111,
6174
+ 111,
6175
+ 108
6176
+ ];
6177
+ },
6178
+ {
6179
+ "kind": "arg";
6180
+ "path": "projectId";
6181
+ },
6182
+ {
6183
+ "kind": "arg";
6184
+ "path": "poolId";
6185
+ }
6186
+ ];
6187
+ };
6188
+ },
6189
+ {
6190
+ "name": "poolSecondary";
6191
+ "writable": true;
6192
+ "pda": {
6193
+ "seeds": [
6194
+ {
6195
+ "kind": "const";
6196
+ "value": [
6197
+ 112,
6198
+ 111,
6199
+ 111,
6200
+ 108,
6201
+ 95,
6202
+ 115,
6203
+ 101,
6204
+ 99,
6205
+ 111,
6206
+ 110,
6207
+ 100,
6208
+ 97,
6209
+ 114,
6210
+ 121
6211
+ ];
6212
+ },
6213
+ {
6214
+ "kind": "arg";
6215
+ "path": "poolId";
6216
+ }
6217
+ ];
6218
+ };
6219
+ },
6220
+ {
6221
+ "name": "authority";
6222
+ "signer": true;
6223
+ }
6224
+ ];
6225
+ "args": [
6226
+ {
6227
+ "name": "projectId";
6228
+ "type": "u64";
6229
+ },
6230
+ {
6231
+ "name": "poolId";
6232
+ "type": "u64";
6233
+ },
6234
+ {
6235
+ "name": "rewardIndex";
6236
+ "type": "u8";
6237
+ },
6238
+ {
6239
+ "name": "baseRate";
6240
+ "type": "u64";
6241
+ },
6242
+ {
6243
+ "name": "lockTierRates";
6244
+ "type": {
6245
+ "vec": "u64";
6246
+ };
6247
+ }
6248
+ ];
6249
+ },
3850
6250
  {
3851
6251
  "name": "updateStakePool";
3852
6252
  "discriminator": [
@@ -3989,6 +6389,7 @@ export type NftStaking = {
3989
6389
  "accounts": [
3990
6390
  {
3991
6391
  "name": "pool";
6392
+ "writable": true;
3992
6393
  "pda": {
3993
6394
  "seeds": [
3994
6395
  {
@@ -4407,6 +6808,60 @@ export type NftStaking = {
4407
6808
  ];
4408
6809
  }
4409
6810
  ];
6811
+ "events": [
6812
+ {
6813
+ "name": "nftStaked";
6814
+ "discriminator": [
6815
+ 150,
6816
+ 229,
6817
+ 155,
6818
+ 99,
6819
+ 88,
6820
+ 181,
6821
+ 254,
6822
+ 61
6823
+ ];
6824
+ },
6825
+ {
6826
+ "name": "nftUnstaked";
6827
+ "discriminator": [
6828
+ 253,
6829
+ 242,
6830
+ 47,
6831
+ 131,
6832
+ 231,
6833
+ 214,
6834
+ 72,
6835
+ 117
6836
+ ];
6837
+ },
6838
+ {
6839
+ "name": "rewardsClaimed";
6840
+ "discriminator": [
6841
+ 75,
6842
+ 98,
6843
+ 88,
6844
+ 18,
6845
+ 219,
6846
+ 112,
6847
+ 88,
6848
+ 121
6849
+ ];
6850
+ },
6851
+ {
6852
+ "name": "secondaryRewardsClaimed";
6853
+ "discriminator": [
6854
+ 168,
6855
+ 230,
6856
+ 110,
6857
+ 31,
6858
+ 141,
6859
+ 168,
6860
+ 20,
6861
+ 77
6862
+ ];
6863
+ }
6864
+ ];
4410
6865
  "errors": [
4411
6866
  {
4412
6867
  "code": 6000;
@@ -4577,6 +7032,71 @@ export type NftStaking = {
4577
7032
  "code": 6033;
4578
7033
  "name": "noSecondaryRewardsConfigured";
4579
7034
  "msg": "No secondary rewards configured for this pool";
7035
+ },
7036
+ {
7037
+ "code": 6034;
7038
+ "name": "secondaryAccountRequired";
7039
+ "msg": "Secondary reward account required when entry has secondary rates";
7040
+ },
7041
+ {
7042
+ "code": 6035;
7043
+ "name": "cnftRequiresGate";
7044
+ "msg": "cNFT pools require a Merkle gate for collection verification";
7045
+ },
7046
+ {
7047
+ "code": 6036;
7048
+ "name": "invalidFeeConfig";
7049
+ "msg": "Invalid fee configuration for NFT staking";
7050
+ },
7051
+ {
7052
+ "code": 6037;
7053
+ "name": "utilityNotActive";
7054
+ "msg": "Utility is not active for this project — check subscription status";
7055
+ },
7056
+ {
7057
+ "code": 6038;
7058
+ "name": "invalidMint";
7059
+ "msg": "Reward mint does not match the pool's configured reward mint";
7060
+ },
7061
+ {
7062
+ "code": 6039;
7063
+ "name": "vaultNotEmpty";
7064
+ "msg": "Reward vault must be empty before this operation";
7065
+ },
7066
+ {
7067
+ "code": 6040;
7068
+ "name": "vaultUnderCollateralized";
7069
+ "msg": "Withdrawal would leave the reward vault under-collateralized for outstanding obligations";
7070
+ },
7071
+ {
7072
+ "code": 6041;
7073
+ "name": "rewardMintImmutable";
7074
+ "msg": "reward_mint is immutable once the pool is created";
7075
+ },
7076
+ {
7077
+ "code": 6042;
7078
+ "name": "rewardEndAtNotFuture";
7079
+ "msg": "reward_end_at must be strictly in the future";
7080
+ },
7081
+ {
7082
+ "code": 6043;
7083
+ "name": "poolHasOutstandingObligations";
7084
+ "msg": "Pool still has outstanding reward obligations";
7085
+ },
7086
+ {
7087
+ "code": 6044;
7088
+ "name": "secondaryRewardRetired";
7089
+ "msg": "Secondary reward is retired and cannot be modified";
7090
+ },
7091
+ {
7092
+ "code": 6045;
7093
+ "name": "secondaryRewardAlreadyRetired";
7094
+ "msg": "Secondary reward is already retired";
7095
+ },
7096
+ {
7097
+ "code": 6046;
7098
+ "name": "secondaryRewardMintImmutable";
7099
+ "msg": "Secondary reward mint is immutable — retire and add a new slot instead";
4580
7100
  }
4581
7101
  ];
4582
7102
  "types": [
@@ -4600,6 +7120,58 @@ export type NftStaking = {
4600
7120
  ];
4601
7121
  };
4602
7122
  },
7123
+ {
7124
+ "name": "nftStaked";
7125
+ "type": {
7126
+ "kind": "struct";
7127
+ "fields": [
7128
+ {
7129
+ "name": "poolId";
7130
+ "type": "u64";
7131
+ },
7132
+ {
7133
+ "name": "staker";
7134
+ "type": "pubkey";
7135
+ },
7136
+ {
7137
+ "name": "mint";
7138
+ "type": "pubkey";
7139
+ },
7140
+ {
7141
+ "name": "lockTier";
7142
+ "type": "u8";
7143
+ },
7144
+ {
7145
+ "name": "timestamp";
7146
+ "type": "i64";
7147
+ }
7148
+ ];
7149
+ };
7150
+ },
7151
+ {
7152
+ "name": "nftUnstaked";
7153
+ "type": {
7154
+ "kind": "struct";
7155
+ "fields": [
7156
+ {
7157
+ "name": "poolId";
7158
+ "type": "u64";
7159
+ },
7160
+ {
7161
+ "name": "staker";
7162
+ "type": "pubkey";
7163
+ },
7164
+ {
7165
+ "name": "mint";
7166
+ "type": "pubkey";
7167
+ },
7168
+ {
7169
+ "name": "timestamp";
7170
+ "type": "i64";
7171
+ }
7172
+ ];
7173
+ };
7174
+ },
4603
7175
  {
4604
7176
  "name": "poolSecondaryRewards";
4605
7177
  "docs": [
@@ -4623,6 +7195,13 @@ export type NftStaking = {
4623
7195
  };
4624
7196
  };
4625
7197
  },
7198
+ {
7199
+ "name": "isInitialized";
7200
+ "docs": [
7201
+ "Explicit init sentinel — avoids ambiguous pool_id == 0 check for pool 0 (STAKE-H1)"
7202
+ ];
7203
+ "type": "bool";
7204
+ },
4626
7205
  {
4627
7206
  "name": "bump";
4628
7207
  "type": "u8";
@@ -4688,6 +7267,30 @@ export type NftStaking = {
4688
7267
  ];
4689
7268
  };
4690
7269
  },
7270
+ {
7271
+ "name": "rewardsClaimed";
7272
+ "type": {
7273
+ "kind": "struct";
7274
+ "fields": [
7275
+ {
7276
+ "name": "poolId";
7277
+ "type": "u64";
7278
+ },
7279
+ {
7280
+ "name": "staker";
7281
+ "type": "pubkey";
7282
+ },
7283
+ {
7284
+ "name": "amount";
7285
+ "type": "u64";
7286
+ },
7287
+ {
7288
+ "name": "timestamp";
7289
+ "type": "i64";
7290
+ }
7291
+ ];
7292
+ };
7293
+ },
4691
7294
  {
4692
7295
  "name": "secondaryReward";
4693
7296
  "docs": [
@@ -4719,6 +7322,43 @@ export type NftStaking = {
4719
7322
  "type": {
4720
7323
  "vec": "u64";
4721
7324
  };
7325
+ },
7326
+ {
7327
+ "name": "isRetired";
7328
+ "docs": [
7329
+ "If `true`, this slot is retired: no new accrual, stakers can still",
7330
+ "claim their already-accrued balance. Authority must re-add a new slot",
7331
+ "(via `add_pool_secondary_reward`) to pay a different mint."
7332
+ ];
7333
+ "type": "bool";
7334
+ }
7335
+ ];
7336
+ };
7337
+ },
7338
+ {
7339
+ "name": "secondaryRewardsClaimed";
7340
+ "type": {
7341
+ "kind": "struct";
7342
+ "fields": [
7343
+ {
7344
+ "name": "poolId";
7345
+ "type": "u64";
7346
+ },
7347
+ {
7348
+ "name": "staker";
7349
+ "type": "pubkey";
7350
+ },
7351
+ {
7352
+ "name": "index";
7353
+ "type": "u8";
7354
+ },
7355
+ {
7356
+ "name": "amount";
7357
+ "type": "u64";
7358
+ },
7359
+ {
7360
+ "name": "timestamp";
7361
+ "type": "i64";
4722
7362
  }
4723
7363
  ];
4724
7364
  };
@@ -4897,6 +7537,15 @@ export type NftStaking = {
4897
7537
  ];
4898
7538
  "type": "u64";
4899
7539
  },
7540
+ {
7541
+ "name": "totalObligationPending";
7542
+ "docs": [
7543
+ "Sum of all settled-but-unclaimed primary rewards across all stakers.",
7544
+ "The reward vault must maintain `balance >= total_obligation_pending`",
7545
+ "at all times after withdrawals."
7546
+ ];
7547
+ "type": "u64";
7548
+ },
4900
7549
  {
4901
7550
  "name": "bump";
4902
7551
  "type": "u8";