@glamsystems/glam-sdk 1.0.6 → 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.
- package/index.cjs.js +3154 -986
- package/index.esm.js +3141 -983
- package/package.json +3 -2
- package/src/client/base.d.ts +2 -0
- package/src/client/cctp.d.ts +7 -2
- package/src/client/drift/protocol-v2.d.ts +8 -4
- package/src/client/price.d.ts +54 -9
- package/src/client/state.d.ts +2 -0
- package/src/clientConfig.d.ts +2 -0
- package/src/constants.d.ts +4 -1
- package/src/glamExports.d.ts +613 -0
- package/src/index.d.ts +1 -0
- package/src/models/index.d.ts +2 -2
- package/src/models/state.d.ts +2 -0
- package/src/react/cluster-provider.d.ts +2 -1
- package/src/react/glam.d.ts +4 -3
- package/src/utils/bitmask.d.ts +11 -0
- package/src/utils/common.d.ts +27 -6
- package/src/utils/computeBudget.d.ts +1 -2
- package/src/utils/evm.d.ts +4 -0
- package/src/utils/index.d.ts +1 -1
- package/src/utils/jupiterApi.d.ts +13 -2
- package/src/utils/positionCategorizer.d.ts +54 -0
- package/src/utils/rpc.d.ts +33 -3
- package/target/idl/ext_cctp.json +6 -0
- package/target/idl/ext_drift-staging.json +6 -0
- package/target/idl/ext_drift.json +6 -0
- package/target/idl/ext_kamino-staging.json +6 -0
- package/target/idl/ext_kamino.json +6 -0
- package/target/idl/ext_marinade.json +6 -0
- package/target/idl/ext_spl-staging.json +6 -0
- package/target/idl/ext_spl.json +6 -0
- package/target/idl/ext_stake_pool-staging.json +6 -0
- package/target/idl/ext_stake_pool.json +6 -0
- package/target/idl/glam_config.json +7 -27
- package/target/idl/glam_mint-staging.json +6 -0
- package/target/idl/glam_mint.json +6 -0
- package/target/idl/glam_protocol-staging.json +117 -9
- package/target/idl/glam_protocol.json +41 -8
- package/target/types/ext_cctp.d.ts +6 -0
- package/target/types/ext_cctp.ts +6 -0
- package/target/types/ext_drift-staging.ts +6 -0
- package/target/types/ext_drift.d.ts +6 -0
- package/target/types/ext_drift.ts +6 -0
- package/target/types/ext_kamino-staging.ts +6 -0
- package/target/types/ext_kamino.d.ts +6 -0
- package/target/types/ext_kamino.ts +6 -0
- package/target/types/ext_marinade.d.ts +6 -0
- package/target/types/ext_marinade.ts +6 -0
- package/target/types/ext_spl-staging.ts +6 -0
- package/target/types/ext_spl.d.ts +6 -0
- package/target/types/ext_spl.ts +6 -0
- package/target/types/ext_stake_pool-staging.ts +6 -0
- package/target/types/ext_stake_pool.d.ts +6 -0
- package/target/types/ext_stake_pool.ts +6 -0
- package/target/types/glam_config.d.ts +2 -22
- package/target/types/glam_config.ts +7 -27
- package/target/types/glam_mint-staging.ts +6 -0
- package/target/types/glam_mint.d.ts +6 -0
- package/target/types/glam_mint.ts +6 -0
- package/target/types/glam_protocol-staging.ts +117 -9
- package/target/types/glam_protocol.d.ts +41 -8
- package/target/types/glam_protocol.ts +41 -8
- package/src/utils/priorityfee.d.ts +0 -3
package/src/utils/common.d.ts
CHANGED
|
@@ -1,14 +1,35 @@
|
|
|
1
1
|
import { BN } from "@coral-xyz/anchor";
|
|
2
2
|
/**
|
|
3
|
-
*
|
|
3
|
+
* Converts a buffer or array of character codes to a string
|
|
4
4
|
*/
|
|
5
|
-
export declare
|
|
5
|
+
export declare function charsToString(chars: number[] | Buffer): string;
|
|
6
6
|
/**
|
|
7
|
-
* Converts a
|
|
7
|
+
* Converts a string to an array of character codes
|
|
8
8
|
*/
|
|
9
|
-
export declare function
|
|
9
|
+
export declare function stringToChars(name: string, length?: number): number[];
|
|
10
10
|
/**
|
|
11
|
-
*
|
|
11
|
+
* Safely converts a BN amount to a UI amount (with decimals).
|
|
12
|
+
*
|
|
13
|
+
* @param amount - The amount in base units (BN)
|
|
14
|
+
* @param decimals - The number of decimals (e.g., 9)
|
|
15
|
+
* @returns The UI amount as a number
|
|
16
|
+
*
|
|
17
|
+
* @example
|
|
18
|
+
* // Convert 10010000000 base units with 9 decimals
|
|
19
|
+
* const uiAmount = toUiAmount(new BN(10010000000), 9); // Returns 10.01
|
|
20
|
+
*
|
|
21
|
+
* @throws Error if the BN amount is too large to safely convert to number
|
|
12
22
|
*/
|
|
13
|
-
export declare function nameToChars(name: string): number[];
|
|
14
23
|
export declare function toUiAmount(amount: BN, decimals: number): number;
|
|
24
|
+
/**
|
|
25
|
+
* Safely converts a UI amount (with decimals) to a BN amount.
|
|
26
|
+
*
|
|
27
|
+
* @param amount - The UI amount (e.g., 10.01)
|
|
28
|
+
* @param decimals - The number of decimals (e.g., 9)
|
|
29
|
+
* @returns BN representing the amount in base units
|
|
30
|
+
*
|
|
31
|
+
* @example
|
|
32
|
+
* // Convert 10.01 with 9 decimals
|
|
33
|
+
* const amount = fromUiAmount(10.01, 9); // Returns BN(10010000000)
|
|
34
|
+
*/
|
|
35
|
+
export declare function fromUiAmount(amount: number | string, decimals: number): BN;
|
|
@@ -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
|
|
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>>;
|
package/src/utils/evm.d.ts
CHANGED
|
@@ -4,3 +4,7 @@ export declare const hexToBytes: (hex: string) => number[];
|
|
|
4
4
|
export declare const evmAddressToPublicKey: (address: string) => PublicKey;
|
|
5
5
|
export declare const bytesToHex: (bytes: number[] | Uint8Array) => string;
|
|
6
6
|
export declare const publicKeyToEvmAddress: (publicKey: PublicKey) => string;
|
|
7
|
+
/**
|
|
8
|
+
* Validates if a string is a valid EVM address (40 hex characters)
|
|
9
|
+
*/
|
|
10
|
+
export declare const isValidEvmAddress: (addr: string) => boolean;
|
package/src/utils/index.d.ts
CHANGED
|
@@ -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";
|
|
@@ -36,6 +36,13 @@ export type TokenListItem = {
|
|
|
36
36
|
usdPrice: number;
|
|
37
37
|
slot: number;
|
|
38
38
|
};
|
|
39
|
+
export declare class JupTokenList {
|
|
40
|
+
readonly tokens: TokenListItem[];
|
|
41
|
+
readonly mintMap: Map<string, TokenListItem>;
|
|
42
|
+
constructor(tokens: TokenListItem[]);
|
|
43
|
+
getByMint(mintAddress: string | PublicKey): TokenListItem | undefined;
|
|
44
|
+
getBySymbol(symbol: string): TokenListItem | undefined;
|
|
45
|
+
}
|
|
39
46
|
export type JupiterInstruction = {
|
|
40
47
|
programId: string;
|
|
41
48
|
accounts: {
|
|
@@ -57,19 +64,23 @@ export type SwapInstructions = {
|
|
|
57
64
|
export declare const JUPITER_API_DEFAULT = "https://api.jup.ag";
|
|
58
65
|
export type TokenPrice = {
|
|
59
66
|
mint: string;
|
|
60
|
-
|
|
67
|
+
usdPrice: number;
|
|
68
|
+
decimals: number;
|
|
69
|
+
blockId: number;
|
|
61
70
|
};
|
|
62
71
|
export declare class JupiterApiClient {
|
|
63
72
|
swapApiBaseUrl: string;
|
|
64
73
|
isCustomSwapApi: boolean;
|
|
65
74
|
apiKey: string | null;
|
|
66
75
|
private tokenListCache;
|
|
76
|
+
private tokenListCacheTtl;
|
|
67
77
|
constructor(options?: {
|
|
68
78
|
apiKey?: string;
|
|
69
79
|
swapApiBaseUrl?: string;
|
|
80
|
+
cacheTtl?: number;
|
|
70
81
|
});
|
|
71
82
|
fetchTokenPrices(mints: string[]): Promise<TokenPrice[]>;
|
|
72
|
-
fetchTokensList(forceRefresh?: boolean): Promise<
|
|
83
|
+
fetchTokensList(forceRefresh?: boolean): Promise<JupTokenList>;
|
|
73
84
|
fetchProgramLabels(): Promise<{
|
|
74
85
|
[key: string]: string;
|
|
75
86
|
}>;
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { Commitment, Connection, PublicKey } from "@solana/web3.js";
|
|
2
|
+
/**
|
|
3
|
+
* Categorized external positions by protocol type.
|
|
4
|
+
*/
|
|
5
|
+
export interface CategorizedPositions {
|
|
6
|
+
/** Direct drift user PDAs controlled by the vault */
|
|
7
|
+
driftUsers: PublicKey[];
|
|
8
|
+
/** Drift vault depositor accounts */
|
|
9
|
+
driftVaultDepositors: PublicKey[];
|
|
10
|
+
/** Kamino lending obligation accounts */
|
|
11
|
+
kaminoObligations: PublicKey[];
|
|
12
|
+
/** Kamino vault share token accounts */
|
|
13
|
+
kaminoVaultShareAtas: PublicKey[];
|
|
14
|
+
/** Positions that couldn't be categorized */
|
|
15
|
+
unknown: PublicKey[];
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Utility class for categorizing external positions by protocol type.
|
|
19
|
+
*
|
|
20
|
+
* External positions in GLAM vaults can be:
|
|
21
|
+
* - Drift user PDAs (direct trading positions)
|
|
22
|
+
* - Drift vault depositor accounts (shares in drift vaults)
|
|
23
|
+
* - Kamino obligation accounts (lending positions)
|
|
24
|
+
* - Kamino vault share ATAs (shares in kamino vaults)
|
|
25
|
+
*
|
|
26
|
+
* This class determines the type of each position to enable proper pricing.
|
|
27
|
+
*/
|
|
28
|
+
export declare class PositionCategorizer {
|
|
29
|
+
private readonly connection;
|
|
30
|
+
private readonly vaultPda;
|
|
31
|
+
private readonly possibleDriftUserPdas;
|
|
32
|
+
constructor(connection: Connection, vaultPda: PublicKey);
|
|
33
|
+
/**
|
|
34
|
+
* Derives a drift user PDA for a given authority and subAccountId.
|
|
35
|
+
*/
|
|
36
|
+
private getDriftUserPda;
|
|
37
|
+
/**
|
|
38
|
+
* Checks if a pubkey matches any drift user PDA for subAccountIds 0-99.
|
|
39
|
+
* This is a pure computation - no RPC calls needed.
|
|
40
|
+
*/
|
|
41
|
+
isDriftUserPda(pubkey: PublicKey): boolean;
|
|
42
|
+
/**
|
|
43
|
+
* Categorizes external positions by protocol type.
|
|
44
|
+
*
|
|
45
|
+
* Algorithm:
|
|
46
|
+
* 1. Identify drift users by matching against pre-computed PDAs (no RPC)
|
|
47
|
+
* 2. Batch fetch remaining positions to determine their type
|
|
48
|
+
* 3. Categorize based on account owner and size
|
|
49
|
+
*
|
|
50
|
+
* @param externalPositions - Array of external position pubkeys from state account
|
|
51
|
+
* @returns Categorized positions by protocol type
|
|
52
|
+
*/
|
|
53
|
+
categorizePositions(externalPositions: PublicKey[], commitment: Commitment): Promise<CategorizedPositions>;
|
|
54
|
+
}
|
package/src/utils/rpc.d.ts
CHANGED
|
@@ -1,3 +1,33 @@
|
|
|
1
|
-
import { Connection, PublicKey } from "@solana/web3.js";
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
import { Connection, Finality, GetProgramAccountsConfig, GetProgramAccountsResponse, PublicKey, SignaturesForAddressOptions, VersionedTransaction, VersionedTransactionResponse } from "@solana/web3.js";
|
|
2
|
+
/**
|
|
3
|
+
* Fetches program accounts using Helius getProgramAccountsV2 if available.
|
|
4
|
+
* Otherwise falls back to standard getProgramAccounts with retry logic.
|
|
5
|
+
*/
|
|
6
|
+
export declare function getProgramAccounts(connection: Connection, programId: PublicKey, config: GetProgramAccountsConfig & HeliusGetProgramAccountsV2Config): Promise<GetProgramAccountsResponse>;
|
|
7
|
+
export type HeliusGetProgramAccountsV2Config = {
|
|
8
|
+
limit?: number;
|
|
9
|
+
changedSinceSlot?: number;
|
|
10
|
+
};
|
|
11
|
+
/**
|
|
12
|
+
* Standard getProgramAccounts with retry logic for transient errors.
|
|
13
|
+
*/
|
|
14
|
+
export declare function getProgramAccountsWithRetry(connection: Connection, programId: PublicKey, config: GetProgramAccountsConfig): Promise<GetProgramAccountsResponse>;
|
|
15
|
+
export interface GetTransactionsOptions {
|
|
16
|
+
commitment?: Finality;
|
|
17
|
+
sinceSlot?: number;
|
|
18
|
+
transactionDetails?: "full" | "signatures";
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Fetches transactions for an address using Helius getTransactionsForAddress if available.
|
|
22
|
+
* Otherwise falls back to getSignaturesForAddress + getTransaction.
|
|
23
|
+
*/
|
|
24
|
+
export declare function getTransactionsForAddress(connection: Connection, address: PublicKey, options?: SignaturesForAddressOptions & GetTransactionsOptions): Promise<VersionedTransactionResponse[]>;
|
|
25
|
+
export type PriorityLevel = "Recommended" | "Min" | "Low" | "Medium" | "High" | "VeryHigh" | "UnsafeMax" | "Default";
|
|
26
|
+
type GetPriorityFeeEstimateOptions = {
|
|
27
|
+
heliusApiKey?: string;
|
|
28
|
+
tx?: VersionedTransaction;
|
|
29
|
+
accountKeys?: string[];
|
|
30
|
+
priorityLevel?: PriorityLevel;
|
|
31
|
+
};
|
|
32
|
+
export declare function getPriorityFeeEstimate(options: GetPriorityFeeEstimateOptions): Promise<number>;
|
|
33
|
+
export {};
|
package/target/idl/ext_cctp.json
CHANGED
package/target/idl/ext_spl.json
CHANGED
|
@@ -78,10 +78,7 @@
|
|
|
78
78
|
{
|
|
79
79
|
"name": "admin",
|
|
80
80
|
"writable": true,
|
|
81
|
-
"signer": true
|
|
82
|
-
"relations": [
|
|
83
|
-
"global_config"
|
|
84
|
-
]
|
|
81
|
+
"signer": true
|
|
85
82
|
},
|
|
86
83
|
{
|
|
87
84
|
"name": "system_program",
|
|
@@ -213,10 +210,7 @@
|
|
|
213
210
|
{
|
|
214
211
|
"name": "admin",
|
|
215
212
|
"writable": true,
|
|
216
|
-
"signer": true
|
|
217
|
-
"relations": [
|
|
218
|
-
"global_config"
|
|
219
|
-
]
|
|
213
|
+
"signer": true
|
|
220
214
|
},
|
|
221
215
|
{
|
|
222
216
|
"name": "system_program",
|
|
@@ -271,10 +265,7 @@
|
|
|
271
265
|
},
|
|
272
266
|
{
|
|
273
267
|
"name": "fee_authority",
|
|
274
|
-
"signer": true
|
|
275
|
-
"relations": [
|
|
276
|
-
"global_config"
|
|
277
|
-
]
|
|
268
|
+
"signer": true
|
|
278
269
|
}
|
|
279
270
|
],
|
|
280
271
|
"args": [
|
|
@@ -329,10 +320,7 @@
|
|
|
329
320
|
},
|
|
330
321
|
{
|
|
331
322
|
"name": "fee_authority",
|
|
332
|
-
"signer": true
|
|
333
|
-
"relations": [
|
|
334
|
-
"global_config"
|
|
335
|
-
]
|
|
323
|
+
"signer": true
|
|
336
324
|
}
|
|
337
325
|
],
|
|
338
326
|
"args": [
|
|
@@ -384,10 +372,7 @@
|
|
|
384
372
|
{
|
|
385
373
|
"name": "admin",
|
|
386
374
|
"writable": true,
|
|
387
|
-
"signer": true
|
|
388
|
-
"relations": [
|
|
389
|
-
"global_config"
|
|
390
|
-
]
|
|
375
|
+
"signer": true
|
|
391
376
|
},
|
|
392
377
|
{
|
|
393
378
|
"name": "system_program",
|
|
@@ -434,21 +419,16 @@
|
|
|
434
419
|
},
|
|
435
420
|
{
|
|
436
421
|
"code": 6002,
|
|
437
|
-
"name": "AssetMetaAlreadyExists",
|
|
438
|
-
"msg": "Asset meta already exists"
|
|
439
|
-
},
|
|
440
|
-
{
|
|
441
|
-
"code": 6003,
|
|
442
422
|
"name": "InvalidParameters",
|
|
443
423
|
"msg": "Invalid parameters"
|
|
444
424
|
},
|
|
445
425
|
{
|
|
446
|
-
"code":
|
|
426
|
+
"code": 6003,
|
|
447
427
|
"name": "InvalidOracleSource",
|
|
448
428
|
"msg": "Invalid oracle source"
|
|
449
429
|
},
|
|
450
430
|
{
|
|
451
|
-
"code":
|
|
431
|
+
"code": 6004,
|
|
452
432
|
"name": "InvalidGlobalConfig",
|
|
453
433
|
"msg": "Invalid global config"
|
|
454
434
|
}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"address": "gstgptmbgJVi5f8ZmSRVZjZkDQwqKa3xWuUtD5WmJHz",
|
|
3
3
|
"metadata": {
|
|
4
4
|
"name": "glam_protocol",
|
|
5
|
-
"version": "1.0.
|
|
5
|
+
"version": "1.0.2",
|
|
6
6
|
"spec": "0.1.0",
|
|
7
7
|
"description": "Glam Protocol"
|
|
8
8
|
},
|
|
@@ -435,6 +435,81 @@
|
|
|
435
435
|
{
|
|
436
436
|
"name": "output_stake_pool",
|
|
437
437
|
"optional": true
|
|
438
|
+
},
|
|
439
|
+
{
|
|
440
|
+
"name": "glam_config",
|
|
441
|
+
"optional": true,
|
|
442
|
+
"pda": {
|
|
443
|
+
"seeds": [
|
|
444
|
+
{
|
|
445
|
+
"kind": "const",
|
|
446
|
+
"value": [
|
|
447
|
+
103,
|
|
448
|
+
108,
|
|
449
|
+
111,
|
|
450
|
+
98,
|
|
451
|
+
97,
|
|
452
|
+
108,
|
|
453
|
+
45,
|
|
454
|
+
99,
|
|
455
|
+
111,
|
|
456
|
+
110,
|
|
457
|
+
102,
|
|
458
|
+
105,
|
|
459
|
+
103
|
|
460
|
+
]
|
|
461
|
+
}
|
|
462
|
+
],
|
|
463
|
+
"program": {
|
|
464
|
+
"kind": "const",
|
|
465
|
+
"value": [
|
|
466
|
+
10,
|
|
467
|
+
11,
|
|
468
|
+
0,
|
|
469
|
+
83,
|
|
470
|
+
72,
|
|
471
|
+
16,
|
|
472
|
+
46,
|
|
473
|
+
144,
|
|
474
|
+
46,
|
|
475
|
+
42,
|
|
476
|
+
79,
|
|
477
|
+
22,
|
|
478
|
+
157,
|
|
479
|
+
123,
|
|
480
|
+
21,
|
|
481
|
+
242,
|
|
482
|
+
192,
|
|
483
|
+
146,
|
|
484
|
+
1,
|
|
485
|
+
78,
|
|
486
|
+
88,
|
|
487
|
+
59,
|
|
488
|
+
102,
|
|
489
|
+
9,
|
|
490
|
+
190,
|
|
491
|
+
226,
|
|
492
|
+
92,
|
|
493
|
+
189,
|
|
494
|
+
187,
|
|
495
|
+
232,
|
|
496
|
+
83,
|
|
497
|
+
220
|
|
498
|
+
]
|
|
499
|
+
}
|
|
500
|
+
}
|
|
501
|
+
},
|
|
502
|
+
{
|
|
503
|
+
"name": "sol_usd_oracle",
|
|
504
|
+
"optional": true
|
|
505
|
+
},
|
|
506
|
+
{
|
|
507
|
+
"name": "input_token_oracle",
|
|
508
|
+
"optional": true
|
|
509
|
+
},
|
|
510
|
+
{
|
|
511
|
+
"name": "output_token_oracle",
|
|
512
|
+
"optional": true
|
|
438
513
|
}
|
|
439
514
|
],
|
|
440
515
|
"args": [
|
|
@@ -1525,8 +1600,8 @@
|
|
|
1525
1600
|
},
|
|
1526
1601
|
{
|
|
1527
1602
|
"code": 48010,
|
|
1528
|
-
"name": "
|
|
1529
|
-
"msg": "Account
|
|
1603
|
+
"name": "InvalidAccountOwner",
|
|
1604
|
+
"msg": "Account owner does not match expected program"
|
|
1530
1605
|
},
|
|
1531
1606
|
{
|
|
1532
1607
|
"code": 48011,
|
|
@@ -1555,8 +1630,8 @@
|
|
|
1555
1630
|
},
|
|
1556
1631
|
{
|
|
1557
1632
|
"code": 49004,
|
|
1558
|
-
"name": "
|
|
1559
|
-
"msg": "
|
|
1633
|
+
"name": "InvalidIndex",
|
|
1634
|
+
"msg": "Invalid index"
|
|
1560
1635
|
},
|
|
1561
1636
|
{
|
|
1562
1637
|
"code": 49005,
|
|
@@ -1730,8 +1805,13 @@
|
|
|
1730
1805
|
},
|
|
1731
1806
|
{
|
|
1732
1807
|
"code": 51113,
|
|
1733
|
-
"name": "
|
|
1734
|
-
"msg": "
|
|
1808
|
+
"name": "InvalidDiscriminator",
|
|
1809
|
+
"msg": "Account discriminator does not match expected value"
|
|
1810
|
+
},
|
|
1811
|
+
{
|
|
1812
|
+
"code": 51114,
|
|
1813
|
+
"name": "InvalidAccountData",
|
|
1814
|
+
"msg": "Invalid account data"
|
|
1735
1815
|
},
|
|
1736
1816
|
{
|
|
1737
1817
|
"code": 52000,
|
|
@@ -1994,6 +2074,12 @@
|
|
|
1994
2074
|
},
|
|
1995
2075
|
{
|
|
1996
2076
|
"name": "OracleConfigs"
|
|
2077
|
+
},
|
|
2078
|
+
{
|
|
2079
|
+
"name": "ReduceOnly"
|
|
2080
|
+
},
|
|
2081
|
+
{
|
|
2082
|
+
"name": "AnyLst"
|
|
1997
2083
|
}
|
|
1998
2084
|
]
|
|
1999
2085
|
}
|
|
@@ -2865,6 +2951,18 @@
|
|
|
2865
2951
|
}
|
|
2866
2952
|
}
|
|
2867
2953
|
},
|
|
2954
|
+
{
|
|
2955
|
+
"name": "reduce_only",
|
|
2956
|
+
"type": {
|
|
2957
|
+
"option": "bool"
|
|
2958
|
+
}
|
|
2959
|
+
},
|
|
2960
|
+
{
|
|
2961
|
+
"name": "any_lst",
|
|
2962
|
+
"type": {
|
|
2963
|
+
"option": "bool"
|
|
2964
|
+
}
|
|
2965
|
+
},
|
|
2868
2966
|
{
|
|
2869
2967
|
"name": "timelock_duration",
|
|
2870
2968
|
"type": {
|
|
@@ -2953,15 +3051,20 @@
|
|
|
2953
3051
|
"value": "4"
|
|
2954
3052
|
},
|
|
2955
3053
|
{
|
|
2956
|
-
"name": "
|
|
3054
|
+
"name": "PROTO_JUPITER_SWAP_PERM_SWAP_FROM_ANY",
|
|
2957
3055
|
"type": "u64",
|
|
2958
|
-
"value": "
|
|
3056
|
+
"value": "8"
|
|
2959
3057
|
},
|
|
2960
3058
|
{
|
|
2961
3059
|
"name": "PROTO_JUPITER_SWAP_PERM_SWAP_LST",
|
|
2962
3060
|
"type": "u64",
|
|
2963
3061
|
"value": "2"
|
|
2964
3062
|
},
|
|
3063
|
+
{
|
|
3064
|
+
"name": "PROTO_JUPITER_SWAP_PERM_SWAP_TO_ANY",
|
|
3065
|
+
"type": "u64",
|
|
3066
|
+
"value": "1"
|
|
3067
|
+
},
|
|
2965
3068
|
{
|
|
2966
3069
|
"name": "PROTO_STAKE",
|
|
2967
3070
|
"type": "u16",
|
|
@@ -2982,6 +3085,11 @@
|
|
|
2982
3085
|
"type": "u16",
|
|
2983
3086
|
"value": "1"
|
|
2984
3087
|
},
|
|
3088
|
+
{
|
|
3089
|
+
"name": "PROTO_SYSTEM_PERM_EMERGENCY_UPDATE",
|
|
3090
|
+
"type": "u64",
|
|
3091
|
+
"value": "4"
|
|
3092
|
+
},
|
|
2985
3093
|
{
|
|
2986
3094
|
"name": "PROTO_SYSTEM_PERM_TRANSFER",
|
|
2987
3095
|
"type": "u64",
|