@glamsystems/glam-sdk 1.0.11 → 1.0.12-alpha.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/index.cjs.js +11037 -7904
- package/index.esm.js +11032 -7904
- package/package.json +1 -1
- package/src/client/base.d.ts +5 -1
- package/src/client/fees.d.ts +3 -0
- package/src/client/mint.d.ts +5 -1
- package/src/client/price.d.ts +3 -2
- package/src/clientConfig.d.ts +1 -0
- package/src/constants.d.ts +3 -3
- package/src/deser/integrationPolicies.d.ts +29 -1
- package/src/glamExports.d.ts +527 -51
- package/src/models/state.d.ts +3 -1
- package/src/react/glam.d.ts +1 -0
- package/src/react/index.d.ts +2 -0
- package/src/react/query-keys.d.ts +39 -0
- package/src/react/useVaultBalanceSubscription.d.ts +17 -0
- package/src/utils/bitmask.d.ts +4 -3
- package/src/utils/index.d.ts +0 -1
- package/src/utils/lookupTables.d.ts +45 -1
- package/src/utils/timelock.d.ts +4 -4
- package/src/utils/transaction.d.ts +1 -1
- package/target/idl/ext_drift-staging.json +4 -0
- package/target/idl/ext_drift.json +4 -0
- package/target/idl/glam_config.json +12 -2
- package/target/idl/glam_mint-staging.json +16 -186
- package/target/idl/glam_mint.json +16 -186
- package/target/idl/glam_policies.json +6 -1
- package/target/idl/glam_protocol-staging.json +536 -7
- package/target/idl/glam_protocol.json +536 -7
- package/target/types/ext_drift-staging.ts +4 -0
- package/target/types/ext_drift.d.ts +4 -0
- package/target/types/ext_drift.ts +4 -0
- package/target/types/ext_offchain.d.ts +1080 -0
- package/target/types/glam_config.d.ts +12 -2
- package/target/types/glam_config.ts +12 -2
- package/target/types/glam_mint-staging.ts +16 -186
- package/target/types/glam_mint.d.ts +16 -186
- package/target/types/glam_mint.ts +16 -186
- package/target/types/glam_policies.ts +6 -1
- package/target/types/glam_protocol-staging.ts +536 -7
- package/target/types/glam_protocol.d.ts +536 -7
- package/target/types/glam_protocol.ts +536 -7
- package/src/utils/glamApi.d.ts +0 -12
package/package.json
CHANGED
package/src/client/base.d.ts
CHANGED
|
@@ -2,7 +2,7 @@ import * as anchor from "@coral-xyz/anchor";
|
|
|
2
2
|
import { BN } from "@coral-xyz/anchor";
|
|
3
3
|
import { Wallet } from "@coral-xyz/anchor";
|
|
4
4
|
import { AddressLookupTableAccount, Connection, Keypair, PublicKey, Transaction, TransactionInstruction, TransactionSignature, VersionedTransaction } from "@solana/web3.js";
|
|
5
|
-
import { ExtCctpProgram, ExtDriftProgram, ExtKaminoProgram, ExtMarinadeProgram, ExtSplProgram, ExtStakePoolProgram, GlamMintProgram, GlamProtocolProgram } from "../glamExports";
|
|
5
|
+
import { ExtCctpProgram, ExtDriftProgram, ExtKaminoProgram, ExtMarinadeProgram, ExtOffchainProgram, ExtSplProgram, ExtStakePoolProgram, GlamMintProgram, GlamProtocolProgram } from "../glamExports";
|
|
6
6
|
import { ClusterNetwork, GlamClientConfig } from "../clientConfig";
|
|
7
7
|
import { RequestQueue, StateAccount, StateModel } from "../models";
|
|
8
8
|
import { BlockhashWithCache } from "../utils/blockhash";
|
|
@@ -34,6 +34,8 @@ export declare class BaseClient {
|
|
|
34
34
|
blockhashWithCache: BlockhashWithCache;
|
|
35
35
|
jupiterApiKey?: string;
|
|
36
36
|
jupiterApiClient?: JupiterApiClient;
|
|
37
|
+
onSentListeners: Set<(sig: string) => void>;
|
|
38
|
+
readonly staging: boolean;
|
|
37
39
|
private _protocolProgram?;
|
|
38
40
|
private _mintProgram?;
|
|
39
41
|
private _extSplProgram?;
|
|
@@ -42,6 +44,7 @@ export declare class BaseClient {
|
|
|
42
44
|
private _extMarinadeProgram?;
|
|
43
45
|
private _extStakePoolProgram?;
|
|
44
46
|
private _extCctpProgram?;
|
|
47
|
+
private _extOffchainProgram?;
|
|
45
48
|
private _statePda?;
|
|
46
49
|
constructor(config?: GlamClientConfig);
|
|
47
50
|
get protocolProgram(): GlamProtocolProgram;
|
|
@@ -52,6 +55,7 @@ export declare class BaseClient {
|
|
|
52
55
|
get extMarinadeProgram(): ExtMarinadeProgram;
|
|
53
56
|
get extStakePoolProgram(): ExtStakePoolProgram;
|
|
54
57
|
get extCctpProgram(): ExtCctpProgram;
|
|
58
|
+
get extOffchainProgram(): ExtOffchainProgram;
|
|
55
59
|
get isVaultConnected(): boolean;
|
|
56
60
|
get statePda(): PublicKey;
|
|
57
61
|
set statePda(statePda: PublicKey);
|
package/src/client/fees.d.ts
CHANGED
|
@@ -6,6 +6,8 @@ declare class TxBuilder extends BaseTxBuilder<FeesClient> {
|
|
|
6
6
|
crystallizeFeesTx(txOptions?: TxOptions): Promise<VersionedTransaction>;
|
|
7
7
|
claimFeesIxs(glamSigner: PublicKey): Promise<TransactionInstruction[]>;
|
|
8
8
|
claimFeesTx(txOptions?: TxOptions): Promise<VersionedTransaction>;
|
|
9
|
+
chargeProtocolFeeIxs(glamSigner: PublicKey): Promise<TransactionInstruction[]>;
|
|
10
|
+
chargeProtocolFeeTx(txOptions?: TxOptions): Promise<VersionedTransaction>;
|
|
9
11
|
setProtocolFeesIx(baseFeeBps: number, flowFeeBps: number, signer?: PublicKey): Promise<TransactionInstruction>;
|
|
10
12
|
setProtocolFeesTx(baseFeeBps: number, flowFeeBps: number, txOptions?: TxOptions): Promise<VersionedTransaction>;
|
|
11
13
|
}
|
|
@@ -24,6 +26,7 @@ export declare class FeesClient {
|
|
|
24
26
|
getClaimedFees(): Promise<any>;
|
|
25
27
|
crystallizeFees(txOptions?: TxOptions): Promise<TransactionSignature>;
|
|
26
28
|
claimFees(txOptions?: TxOptions): Promise<TransactionSignature>;
|
|
29
|
+
chargeProtocolFee(txOptions?: TxOptions): Promise<TransactionSignature>;
|
|
27
30
|
setProtocolFees(baseFeeBps: number, flowFeeBps: number, txOptions?: TxOptions): Promise<TransactionSignature>;
|
|
28
31
|
}
|
|
29
32
|
export {};
|
package/src/client/mint.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { BN } from "@coral-xyz/anchor";
|
|
2
2
|
import { PublicKey, TransactionInstruction, VersionedTransaction } from "@solana/web3.js";
|
|
3
3
|
import { BaseClient, BaseTxBuilder, TokenAccount, TxOptions } from "./base";
|
|
4
|
+
import { PriceClient } from "./price";
|
|
4
5
|
import { MintIdlModel, RequestType, StateAccountType } from "../models";
|
|
5
6
|
import { UpdateStateParams } from "./state";
|
|
6
7
|
export type InitMintParams = {
|
|
@@ -34,6 +35,7 @@ declare class TxBuilder extends BaseTxBuilder<MintClient> {
|
|
|
34
35
|
forceTransferTx(from: PublicKey, to: PublicKey, amount: BN, forceThaw?: boolean, txOptions?: TxOptions): Promise<VersionedTransaction>;
|
|
35
36
|
initializeIxs(initMintParams: InitMintParams, stateParams: UpdateStateParams | null, glamSigner: PublicKey): Promise<[TransactionInstruction[], PublicKey]>;
|
|
36
37
|
initializeTx(initMintParams: InitMintParams, stateParams: UpdateStateParams | null, txOptions?: TxOptions): Promise<[VersionedTransaction, PublicKey]>;
|
|
38
|
+
crystallizeFeesIxs(glamSigner: PublicKey): Promise<TransactionInstruction[]>;
|
|
37
39
|
updateIx(mintModel: Partial<MintIdlModel>, glamSigner: PublicKey): Promise<TransactionInstruction>;
|
|
38
40
|
updateTx(mintModel: Partial<MintIdlModel>, txOptions?: TxOptions): Promise<VersionedTransaction>;
|
|
39
41
|
emergencyUpdateIx(requestType: RequestType, setPaused: boolean, glamSigner: PublicKey): Promise<TransactionInstruction>;
|
|
@@ -46,8 +48,10 @@ declare class TxBuilder extends BaseTxBuilder<MintClient> {
|
|
|
46
48
|
}
|
|
47
49
|
export declare class MintClient {
|
|
48
50
|
readonly base: BaseClient;
|
|
51
|
+
private readonly getPrice?;
|
|
49
52
|
readonly txBuilder: TxBuilder;
|
|
50
|
-
constructor(base: BaseClient);
|
|
53
|
+
constructor(base: BaseClient, getPrice?: (() => PriceClient) | undefined);
|
|
54
|
+
get price(): PriceClient;
|
|
51
55
|
/**
|
|
52
56
|
* Fetches token holders of the GLAM mint using helius RPC
|
|
53
57
|
*/
|
package/src/client/price.d.ts
CHANGED
|
@@ -58,11 +58,12 @@ export declare class PriceClient {
|
|
|
58
58
|
readonly kvaults: KaminoVaultsClient;
|
|
59
59
|
readonly drift: DriftProtocolClient;
|
|
60
60
|
readonly dvaults: DriftVaultsClient;
|
|
61
|
-
readonly
|
|
61
|
+
private readonly getJupiterApi;
|
|
62
62
|
private _stateModel;
|
|
63
63
|
private _lookupTables;
|
|
64
64
|
private _kaminoVaults;
|
|
65
|
-
constructor(base: BaseClient, klend: KaminoLendingClient, kvaults: KaminoVaultsClient, drift: DriftProtocolClient, dvaults: DriftVaultsClient,
|
|
65
|
+
constructor(base: BaseClient, klend: KaminoLendingClient, kvaults: KaminoVaultsClient, drift: DriftProtocolClient, dvaults: DriftVaultsClient, getJupiterApi: () => JupiterApiClient);
|
|
66
|
+
get jupiterApi(): JupiterApiClient;
|
|
66
67
|
get cachedStateModel(): StateModel | null;
|
|
67
68
|
set cachedStateModel(stateModel: StateModel);
|
|
68
69
|
get lookupTables(): PublicKey[];
|
package/src/clientConfig.d.ts
CHANGED
package/src/constants.d.ts
CHANGED
|
@@ -64,7 +64,7 @@ export declare const DRIFT_POOL_MAPPING: Record<number, string>;
|
|
|
64
64
|
*
|
|
65
65
|
* This method provides the source of truth for protocol and permission mappings and staging status in SDK.
|
|
66
66
|
*/
|
|
67
|
-
export declare const getProtocolsAndPermissions: () => Record<string, Record<string, {
|
|
67
|
+
export declare const getProtocolsAndPermissions: (staging: boolean) => Record<string, Record<string, {
|
|
68
68
|
name: string;
|
|
69
69
|
staging: boolean;
|
|
70
70
|
permissions: Record<number, string>;
|
|
@@ -72,8 +72,8 @@ export declare const getProtocolsAndPermissions: () => Record<string, Record<str
|
|
|
72
72
|
/**
|
|
73
73
|
* (Program ID, Bitflag) -> Protocol Name
|
|
74
74
|
*/
|
|
75
|
-
export declare const getProtocolNameByProgramAndBitflag: () => Record<string, Record<string, string>>;
|
|
75
|
+
export declare const getProtocolNameByProgramAndBitflag: (staging: boolean) => Record<string, Record<string, string>>;
|
|
76
76
|
/**
|
|
77
77
|
* Protocol Name -> (Program ID, Bitflag)
|
|
78
78
|
*/
|
|
79
|
-
export declare const getProgramAndBitflagByProtocolName: () => Record<string, [string, string]>;
|
|
79
|
+
export declare const getProgramAndBitflagByProtocolName: (staging: boolean) => Record<string, [string, string]>;
|
|
@@ -39,8 +39,10 @@ export declare class DriftProtocolPolicy {
|
|
|
39
39
|
spotMarketsAllowlist: number[];
|
|
40
40
|
perpMarketsAllowlist: number[];
|
|
41
41
|
borrowAllowlist: PublicKey[];
|
|
42
|
+
orderPriceToleranceBps: number;
|
|
42
43
|
static _layout: any;
|
|
43
|
-
|
|
44
|
+
static _legacyLayout: any;
|
|
45
|
+
constructor(spotMarketsAllowlist: number[], perpMarketsAllowlist: number[], borrowAllowlist: PublicKey[], orderPriceToleranceBps?: number);
|
|
44
46
|
static decode(buffer: Buffer<ArrayBufferLike>): DriftProtocolPolicy;
|
|
45
47
|
encode(): Buffer;
|
|
46
48
|
}
|
|
@@ -73,3 +75,29 @@ export declare class CctpPolicy {
|
|
|
73
75
|
encode(): Buffer;
|
|
74
76
|
get domainToAddressesMap(): Map<number, PublicKey[]>;
|
|
75
77
|
}
|
|
78
|
+
export declare enum PeriodType {
|
|
79
|
+
Day = 0,
|
|
80
|
+
Week = 1,
|
|
81
|
+
Month = 2
|
|
82
|
+
}
|
|
83
|
+
export interface AssetRateLimit {
|
|
84
|
+
mint: PublicKey;
|
|
85
|
+
periodType: number;
|
|
86
|
+
amount: BN;
|
|
87
|
+
}
|
|
88
|
+
export interface DelegateRateLimit {
|
|
89
|
+
delegate: PublicKey;
|
|
90
|
+
limits: AssetRateLimit[];
|
|
91
|
+
}
|
|
92
|
+
export declare class TransferRateLimitPolicy {
|
|
93
|
+
vaultDefaults: AssetRateLimit[];
|
|
94
|
+
delegateOverrides: DelegateRateLimit[];
|
|
95
|
+
static _layout: any;
|
|
96
|
+
constructor(vaultDefaults: AssetRateLimit[], delegateOverrides: DelegateRateLimit[]);
|
|
97
|
+
static decode(buffer: Buffer<ArrayBufferLike>): TransferRateLimitPolicy;
|
|
98
|
+
encode(): Buffer;
|
|
99
|
+
/**
|
|
100
|
+
* Derive the TransferTracker PDA address for a given vault state, signer, and mint.
|
|
101
|
+
*/
|
|
102
|
+
static getTransferTrackerPda(glamState: PublicKey, signer: PublicKey, mint: PublicKey, programId: PublicKey): [PublicKey, number];
|
|
103
|
+
}
|