@glamsystems/glam-sdk 1.0.7 → 1.0.8

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 (55) hide show
  1. package/index.cjs.js +2967 -939
  2. package/index.esm.js +2964 -939
  3. package/package.json +3 -2
  4. package/src/client/base.d.ts +2 -0
  5. package/src/client/cctp.d.ts +2 -1
  6. package/src/client/price.d.ts +54 -9
  7. package/src/client/state.d.ts +2 -0
  8. package/src/clientConfig.d.ts +2 -0
  9. package/src/glamExports.d.ts +613 -0
  10. package/src/models/state.d.ts +2 -0
  11. package/src/utils/computeBudget.d.ts +1 -2
  12. package/src/utils/index.d.ts +1 -1
  13. package/src/utils/jupiterApi.d.ts +5 -1
  14. package/src/utils/positionCategorizer.d.ts +54 -0
  15. package/src/utils/rpc.d.ts +33 -3
  16. package/target/idl/ext_cctp.json +6 -0
  17. package/target/idl/ext_drift-staging.json +6 -0
  18. package/target/idl/ext_drift.json +6 -0
  19. package/target/idl/ext_kamino-staging.json +6 -0
  20. package/target/idl/ext_kamino.json +6 -0
  21. package/target/idl/ext_marinade.json +6 -0
  22. package/target/idl/ext_spl-staging.json +6 -0
  23. package/target/idl/ext_spl.json +6 -0
  24. package/target/idl/ext_stake_pool-staging.json +6 -0
  25. package/target/idl/ext_stake_pool.json +6 -0
  26. package/target/idl/glam_config.json +7 -27
  27. package/target/idl/glam_mint-staging.json +6 -0
  28. package/target/idl/glam_mint.json +6 -0
  29. package/target/idl/glam_protocol-staging.json +117 -9
  30. package/target/idl/glam_protocol.json +36 -8
  31. package/target/types/ext_cctp.d.ts +6 -0
  32. package/target/types/ext_cctp.ts +6 -0
  33. package/target/types/ext_drift-staging.ts +6 -0
  34. package/target/types/ext_drift.d.ts +6 -0
  35. package/target/types/ext_drift.ts +6 -0
  36. package/target/types/ext_kamino-staging.ts +6 -0
  37. package/target/types/ext_kamino.d.ts +6 -0
  38. package/target/types/ext_kamino.ts +6 -0
  39. package/target/types/ext_marinade.d.ts +6 -0
  40. package/target/types/ext_marinade.ts +6 -0
  41. package/target/types/ext_spl-staging.ts +6 -0
  42. package/target/types/ext_spl.d.ts +6 -0
  43. package/target/types/ext_spl.ts +6 -0
  44. package/target/types/ext_stake_pool-staging.ts +6 -0
  45. package/target/types/ext_stake_pool.d.ts +6 -0
  46. package/target/types/ext_stake_pool.ts +6 -0
  47. package/target/types/glam_config.d.ts +2 -22
  48. package/target/types/glam_config.ts +7 -27
  49. package/target/types/glam_mint-staging.ts +6 -0
  50. package/target/types/glam_mint.d.ts +6 -0
  51. package/target/types/glam_mint.ts +6 -0
  52. package/target/types/glam_protocol-staging.ts +117 -9
  53. package/target/types/glam_protocol.d.ts +36 -8
  54. package/target/types/glam_protocol.ts +36 -8
  55. package/src/utils/priorityfee.d.ts +0 -3
@@ -19,6 +19,7 @@ export type ExtKaminoProgram = Program<ExtKamino>;
19
19
  export type ExtMarinadeProgram = Program<ExtMarinade>;
20
20
  export type ExtStakePoolProgram = Program<ExtStakePool>;
21
21
  export type ExtCctpProgram = Program<ExtCctp>;
22
+ export declare const isStaging: () => boolean;
22
23
  export declare function getGlamProtocolIdl(): {
23
24
  address: string;
24
25
  metadata: {
@@ -614,6 +615,618 @@ export declare function getGlamProtocolIdl(): {
614
615
  type: string;
615
616
  value: string;
616
617
  }[];
618
+ } | {
619
+ address: string;
620
+ metadata: {
621
+ name: string;
622
+ version: string;
623
+ spec: string;
624
+ description: string;
625
+ };
626
+ instructions: ({
627
+ name: string;
628
+ docs: string[];
629
+ discriminator: number[];
630
+ accounts: ({
631
+ name: string;
632
+ writable: boolean;
633
+ pda?: undefined;
634
+ signer?: undefined;
635
+ address?: undefined;
636
+ } | {
637
+ name: string;
638
+ writable: boolean;
639
+ pda: {
640
+ seeds: ({
641
+ kind: string;
642
+ value: number[];
643
+ path?: undefined;
644
+ } | {
645
+ kind: string;
646
+ path: string;
647
+ value?: undefined;
648
+ })[];
649
+ };
650
+ signer?: undefined;
651
+ address?: undefined;
652
+ } | {
653
+ name: string;
654
+ writable: boolean;
655
+ signer: boolean;
656
+ pda?: undefined;
657
+ address?: undefined;
658
+ } | {
659
+ name: string;
660
+ writable?: undefined;
661
+ pda?: undefined;
662
+ signer?: undefined;
663
+ address?: undefined;
664
+ } | {
665
+ name: string;
666
+ signer: boolean;
667
+ writable?: undefined;
668
+ pda?: undefined;
669
+ address?: undefined;
670
+ } | {
671
+ name: string;
672
+ address: string;
673
+ writable?: undefined;
674
+ pda?: undefined;
675
+ signer?: undefined;
676
+ })[];
677
+ args: ({
678
+ name: string;
679
+ type: string;
680
+ } | {
681
+ name: string;
682
+ type: {
683
+ vec: {
684
+ defined: {
685
+ name: string;
686
+ };
687
+ };
688
+ };
689
+ })[];
690
+ } | {
691
+ name: string;
692
+ docs: string[];
693
+ discriminator: number[];
694
+ accounts: ({
695
+ name: string;
696
+ writable: boolean;
697
+ signer?: undefined;
698
+ } | {
699
+ name: string;
700
+ writable: boolean;
701
+ signer: boolean;
702
+ })[];
703
+ args: {
704
+ name: string;
705
+ type: {
706
+ defined: {
707
+ name: string;
708
+ };
709
+ };
710
+ }[];
711
+ } | {
712
+ name: string;
713
+ discriminator: number[];
714
+ accounts: ({
715
+ name: string;
716
+ writable: boolean;
717
+ pda: {
718
+ seeds: ({
719
+ kind: string;
720
+ value: number[];
721
+ path?: undefined;
722
+ } | {
723
+ kind: string;
724
+ path: string;
725
+ value?: undefined;
726
+ })[];
727
+ };
728
+ signer?: undefined;
729
+ address?: undefined;
730
+ } | {
731
+ name: string;
732
+ writable: boolean;
733
+ signer: boolean;
734
+ pda?: undefined;
735
+ address?: undefined;
736
+ } | {
737
+ name: string;
738
+ address: string;
739
+ writable?: undefined;
740
+ pda?: undefined;
741
+ signer?: undefined;
742
+ } | {
743
+ name: string;
744
+ writable?: undefined;
745
+ pda?: undefined;
746
+ signer?: undefined;
747
+ address?: undefined;
748
+ })[];
749
+ args: {
750
+ name: string;
751
+ type: {
752
+ defined: {
753
+ name: string;
754
+ };
755
+ };
756
+ }[];
757
+ docs?: undefined;
758
+ } | {
759
+ name: string;
760
+ discriminator: number[];
761
+ accounts: ({
762
+ name: string;
763
+ writable: boolean;
764
+ pda?: undefined;
765
+ signer?: undefined;
766
+ address?: undefined;
767
+ optional?: undefined;
768
+ } | {
769
+ name: string;
770
+ writable: boolean;
771
+ pda: {
772
+ seeds: ({
773
+ kind: string;
774
+ value: number[];
775
+ path?: undefined;
776
+ } | {
777
+ kind: string;
778
+ path: string;
779
+ value?: undefined;
780
+ })[];
781
+ program?: undefined;
782
+ };
783
+ signer?: undefined;
784
+ address?: undefined;
785
+ optional?: undefined;
786
+ } | {
787
+ name: string;
788
+ writable: boolean;
789
+ signer: boolean;
790
+ pda?: undefined;
791
+ address?: undefined;
792
+ optional?: undefined;
793
+ } | {
794
+ name: string;
795
+ address: string;
796
+ writable?: undefined;
797
+ pda?: undefined;
798
+ signer?: undefined;
799
+ optional?: undefined;
800
+ } | {
801
+ name: string;
802
+ optional: boolean;
803
+ writable?: undefined;
804
+ pda?: undefined;
805
+ signer?: undefined;
806
+ address?: undefined;
807
+ } | {
808
+ name: string;
809
+ optional: boolean;
810
+ pda: {
811
+ seeds: {
812
+ kind: string;
813
+ value: number[];
814
+ }[];
815
+ program: {
816
+ kind: string;
817
+ value: number[];
818
+ };
819
+ };
820
+ writable?: undefined;
821
+ signer?: undefined;
822
+ address?: undefined;
823
+ })[];
824
+ args: {
825
+ name: string;
826
+ type: string;
827
+ }[];
828
+ docs?: undefined;
829
+ } | {
830
+ name: string;
831
+ discriminator: number[];
832
+ accounts: ({
833
+ name: string;
834
+ writable: boolean;
835
+ signer?: undefined;
836
+ } | {
837
+ name: string;
838
+ writable: boolean;
839
+ signer: boolean;
840
+ })[];
841
+ args: {
842
+ name: string;
843
+ type: {
844
+ defined: {
845
+ name: string;
846
+ };
847
+ };
848
+ }[];
849
+ docs?: undefined;
850
+ } | {
851
+ name: string;
852
+ discriminator: number[];
853
+ accounts: ({
854
+ name: string;
855
+ writable?: undefined;
856
+ pda?: undefined;
857
+ signer?: undefined;
858
+ address?: undefined;
859
+ } | {
860
+ name: string;
861
+ writable: boolean;
862
+ pda: {
863
+ seeds: ({
864
+ kind: string;
865
+ value: number[];
866
+ path?: undefined;
867
+ } | {
868
+ kind: string;
869
+ path: string;
870
+ value?: undefined;
871
+ })[];
872
+ };
873
+ signer?: undefined;
874
+ address?: undefined;
875
+ } | {
876
+ name: string;
877
+ writable: boolean;
878
+ signer: boolean;
879
+ pda?: undefined;
880
+ address?: undefined;
881
+ } | {
882
+ name: string;
883
+ address: string;
884
+ writable?: undefined;
885
+ pda?: undefined;
886
+ signer?: undefined;
887
+ } | {
888
+ name: string;
889
+ writable: boolean;
890
+ pda?: undefined;
891
+ signer?: undefined;
892
+ address?: undefined;
893
+ })[];
894
+ args: never[];
895
+ docs?: undefined;
896
+ } | {
897
+ name: string;
898
+ discriminator: number[];
899
+ accounts: ({
900
+ name: string;
901
+ writable: boolean;
902
+ signer?: undefined;
903
+ } | {
904
+ name: string;
905
+ writable: boolean;
906
+ signer: boolean;
907
+ })[];
908
+ args: {
909
+ name: string;
910
+ type: {
911
+ vec: {
912
+ defined: {
913
+ name: string;
914
+ };
915
+ };
916
+ };
917
+ }[];
918
+ docs?: undefined;
919
+ } | {
920
+ name: string;
921
+ docs: string[];
922
+ discriminator: number[];
923
+ accounts: ({
924
+ name: string;
925
+ writable: boolean;
926
+ signer?: undefined;
927
+ } | {
928
+ name: string;
929
+ signer: boolean;
930
+ writable?: undefined;
931
+ })[];
932
+ args: {
933
+ name: string;
934
+ type: {
935
+ defined: {
936
+ name: string;
937
+ };
938
+ };
939
+ }[];
940
+ })[];
941
+ accounts: {
942
+ name: string;
943
+ discriminator: number[];
944
+ }[];
945
+ errors: {
946
+ code: number;
947
+ name: string;
948
+ msg: string;
949
+ }[];
950
+ types: ({
951
+ name: string;
952
+ type: {
953
+ kind: string;
954
+ variants: {
955
+ name: string;
956
+ }[];
957
+ fields?: undefined;
958
+ };
959
+ docs?: undefined;
960
+ } | {
961
+ name: string;
962
+ type: {
963
+ kind: string;
964
+ fields: ({
965
+ name: string;
966
+ type: {
967
+ vec: string;
968
+ option?: undefined;
969
+ };
970
+ } | {
971
+ name: string;
972
+ type: {
973
+ option: string;
974
+ vec?: undefined;
975
+ };
976
+ })[];
977
+ variants?: undefined;
978
+ };
979
+ docs?: undefined;
980
+ } | {
981
+ name: string;
982
+ type: {
983
+ kind: string;
984
+ variants: ({
985
+ name: string;
986
+ fields: {
987
+ name: string;
988
+ type: string;
989
+ }[];
990
+ } | {
991
+ name: string;
992
+ fields: {
993
+ name: string;
994
+ type: {
995
+ vec: string;
996
+ };
997
+ }[];
998
+ } | {
999
+ name: string;
1000
+ fields: {
1001
+ name: string;
1002
+ type: {
1003
+ vec: {
1004
+ defined: {
1005
+ name: string;
1006
+ };
1007
+ };
1008
+ };
1009
+ }[];
1010
+ } | {
1011
+ name: string;
1012
+ fields: {
1013
+ name: string;
1014
+ type: {
1015
+ defined: {
1016
+ name: string;
1017
+ };
1018
+ };
1019
+ }[];
1020
+ })[];
1021
+ fields?: undefined;
1022
+ };
1023
+ docs?: undefined;
1024
+ } | {
1025
+ name: string;
1026
+ type: {
1027
+ kind: string;
1028
+ fields: ({
1029
+ name: string;
1030
+ type: {
1031
+ defined: {
1032
+ name: string;
1033
+ };
1034
+ option?: undefined;
1035
+ };
1036
+ } | {
1037
+ name: string;
1038
+ type: string;
1039
+ } | {
1040
+ name: string;
1041
+ type: {
1042
+ option: string;
1043
+ defined?: undefined;
1044
+ };
1045
+ })[];
1046
+ variants?: undefined;
1047
+ };
1048
+ docs?: undefined;
1049
+ } | {
1050
+ name: string;
1051
+ docs: string[];
1052
+ type: {
1053
+ kind: string;
1054
+ fields: ({
1055
+ name: string;
1056
+ type: string;
1057
+ } | {
1058
+ name: string;
1059
+ type: {
1060
+ vec: {
1061
+ defined: {
1062
+ name: string;
1063
+ };
1064
+ };
1065
+ };
1066
+ })[];
1067
+ variants?: undefined;
1068
+ };
1069
+ } | {
1070
+ name: string;
1071
+ type: {
1072
+ kind: string;
1073
+ fields: ({
1074
+ name: string;
1075
+ type: string;
1076
+ } | {
1077
+ name: string;
1078
+ type: {
1079
+ option: {
1080
+ vec: string;
1081
+ };
1082
+ };
1083
+ })[];
1084
+ variants?: undefined;
1085
+ };
1086
+ docs?: undefined;
1087
+ } | {
1088
+ name: string;
1089
+ docs: string[];
1090
+ type: {
1091
+ kind: string;
1092
+ fields: ({
1093
+ name: string;
1094
+ type: {
1095
+ vec: {
1096
+ array: (string | number)[];
1097
+ };
1098
+ array?: undefined;
1099
+ };
1100
+ } | {
1101
+ name: string;
1102
+ type: {
1103
+ array: (string | number)[];
1104
+ vec?: undefined;
1105
+ };
1106
+ })[];
1107
+ variants?: undefined;
1108
+ };
1109
+ } | {
1110
+ name: string;
1111
+ type: {
1112
+ kind: string;
1113
+ fields: ({
1114
+ name: string;
1115
+ type: {
1116
+ defined: {
1117
+ name: string;
1118
+ };
1119
+ array?: undefined;
1120
+ vec?: undefined;
1121
+ };
1122
+ } | {
1123
+ name: string;
1124
+ type: string;
1125
+ } | {
1126
+ name: string;
1127
+ type: {
1128
+ array: (string | number)[];
1129
+ defined?: undefined;
1130
+ vec?: undefined;
1131
+ };
1132
+ } | {
1133
+ name: string;
1134
+ type: {
1135
+ vec: string;
1136
+ defined?: undefined;
1137
+ array?: undefined;
1138
+ };
1139
+ } | {
1140
+ name: string;
1141
+ type: {
1142
+ vec: {
1143
+ defined: {
1144
+ name: string;
1145
+ };
1146
+ vec?: undefined;
1147
+ };
1148
+ defined?: undefined;
1149
+ array?: undefined;
1150
+ };
1151
+ } | {
1152
+ name: string;
1153
+ type: {
1154
+ vec: {
1155
+ vec: {
1156
+ defined: {
1157
+ name: string;
1158
+ };
1159
+ };
1160
+ defined?: undefined;
1161
+ };
1162
+ defined?: undefined;
1163
+ array?: undefined;
1164
+ };
1165
+ })[];
1166
+ variants?: undefined;
1167
+ };
1168
+ docs?: undefined;
1169
+ } | {
1170
+ name: string;
1171
+ type: {
1172
+ kind: string;
1173
+ fields: ({
1174
+ name: string;
1175
+ type: {
1176
+ option: {
1177
+ defined: {
1178
+ name: string;
1179
+ };
1180
+ array?: undefined;
1181
+ vec?: undefined;
1182
+ };
1183
+ };
1184
+ } | {
1185
+ name: string;
1186
+ type: {
1187
+ option: {
1188
+ array: (string | number)[];
1189
+ defined?: undefined;
1190
+ vec?: undefined;
1191
+ };
1192
+ };
1193
+ } | {
1194
+ name: string;
1195
+ type: {
1196
+ option: string;
1197
+ };
1198
+ } | {
1199
+ name: string;
1200
+ type: {
1201
+ option: {
1202
+ vec: string;
1203
+ defined?: undefined;
1204
+ array?: undefined;
1205
+ };
1206
+ };
1207
+ } | {
1208
+ name: string;
1209
+ type: {
1210
+ option: {
1211
+ vec: {
1212
+ defined: {
1213
+ name: string;
1214
+ };
1215
+ };
1216
+ defined?: undefined;
1217
+ array?: undefined;
1218
+ };
1219
+ };
1220
+ })[];
1221
+ variants?: undefined;
1222
+ };
1223
+ docs?: undefined;
1224
+ })[];
1225
+ constants: {
1226
+ name: string;
1227
+ type: string;
1228
+ value: string;
1229
+ }[];
617
1230
  };
618
1231
  export declare function getGlamMintIdl(): {
619
1232
  address: string;
@@ -21,6 +21,8 @@ export declare class StateIdlModel implements StateModelType {
21
21
  owner: PublicKey | null;
22
22
  portfolioManagerName: number[] | null;
23
23
  borrowable: PublicKey[] | null;
24
+ reduceOnly: boolean | null;
25
+ anyLst: boolean | null;
24
26
  timelockDuration: number | null;
25
27
  integrationAcls: IntegrationAcl[] | null;
26
28
  delegateAcls: DelegateAcl[] | null;
@@ -8,9 +8,8 @@ export type ComputeBudgetOptions = {
8
8
  /**
9
9
  * Builds compute budget instructions for a transaction
10
10
  *
11
- * @param vTx The versioned transaction to build compute budget for
12
11
  * @param computeUnitLimit The compute unit limit
13
- * @param options Optional priority fee configuration
12
+ * @param options Compute budget options
14
13
  * @returns Array of compute budget instructions
15
14
  */
16
15
  export declare function buildComputeBudgetInstructions(computeUnitLimit: number, options?: ComputeBudgetOptions): Promise<Array<TransactionInstruction>>;
@@ -7,7 +7,6 @@ export * from "./common";
7
7
  export * from "./glamApi";
8
8
  export * from "./glamPDAs";
9
9
  export * from "./lookupTables";
10
- export * from "./priorityfee";
11
10
  export * from "./rpc";
12
11
  export * from "./timelock";
13
12
  export * from "./transaction";
@@ -16,3 +15,4 @@ export * from "./pkmap";
16
15
  export * from "./pkset";
17
16
  export * from "./fraction";
18
17
  export * from "./jupiterApi";
18
+ export * from "./positionCategorizer";
@@ -64,16 +64,20 @@ export type SwapInstructions = {
64
64
  export declare const JUPITER_API_DEFAULT = "https://api.jup.ag";
65
65
  export type TokenPrice = {
66
66
  mint: string;
67
- price: number;
67
+ usdPrice: number;
68
+ decimals: number;
69
+ blockId: number;
68
70
  };
69
71
  export declare class JupiterApiClient {
70
72
  swapApiBaseUrl: string;
71
73
  isCustomSwapApi: boolean;
72
74
  apiKey: string | null;
73
75
  private tokenListCache;
76
+ private tokenListCacheTtl;
74
77
  constructor(options?: {
75
78
  apiKey?: string;
76
79
  swapApiBaseUrl?: string;
80
+ cacheTtl?: number;
77
81
  });
78
82
  fetchTokenPrices(mints: string[]): Promise<TokenPrice[]>;
79
83
  fetchTokensList(forceRefresh?: boolean): Promise<JupTokenList>;