@symmetry-hq/sdk 1.0.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/src/constants.d.ts +23 -0
- package/dist/src/constants.js +38 -0
- package/dist/src/index.d.ts +804 -0
- package/dist/src/index.js +2097 -0
- package/dist/src/instructions/automation/auction.d.ts +6 -0
- package/dist/src/instructions/automation/auction.js +40 -0
- package/dist/src/instructions/automation/claimBounty.d.ts +12 -0
- package/dist/src/instructions/automation/claimBounty.js +44 -0
- package/dist/src/instructions/automation/flashSwap.d.ts +21 -0
- package/dist/src/instructions/automation/flashSwap.js +74 -0
- package/dist/src/instructions/automation/priceUpdate.d.ts +19 -0
- package/dist/src/instructions/automation/priceUpdate.js +89 -0
- package/dist/src/instructions/automation/rebalanceIntent.d.ts +32 -0
- package/dist/src/instructions/automation/rebalanceIntent.js +117 -0
- package/dist/src/instructions/automation/rebalanceSwap.d.ts +11 -0
- package/dist/src/instructions/automation/rebalanceSwap.js +42 -0
- package/dist/src/instructions/management/addBounty.d.ts +7 -0
- package/dist/src/instructions/management/addBounty.js +41 -0
- package/dist/src/instructions/management/admin.d.ts +9 -0
- package/dist/src/instructions/management/admin.js +53 -0
- package/dist/src/instructions/management/claimFees.d.ts +15 -0
- package/dist/src/instructions/management/claimFees.js +95 -0
- package/dist/src/instructions/management/createBasket.d.ts +21 -0
- package/dist/src/instructions/management/createBasket.js +98 -0
- package/dist/src/instructions/management/edit.d.ts +51 -0
- package/dist/src/instructions/management/edit.js +477 -0
- package/dist/src/instructions/management/luts.d.ts +30 -0
- package/dist/src/instructions/management/luts.js +99 -0
- package/dist/src/instructions/pda.d.ts +25 -0
- package/dist/src/instructions/pda.js +128 -0
- package/dist/src/instructions/user/deposit.d.ts +20 -0
- package/dist/src/instructions/user/deposit.js +100 -0
- package/dist/src/instructions/user/withdraw.d.ts +8 -0
- package/dist/src/instructions/user/withdraw.js +36 -0
- package/dist/src/jup.d.ts +49 -0
- package/dist/src/jup.js +80 -0
- package/dist/src/keeperMonitor.d.ts +52 -0
- package/dist/src/keeperMonitor.js +624 -0
- package/dist/src/layouts/basket.d.ts +191 -0
- package/dist/src/layouts/basket.js +51 -0
- package/dist/src/layouts/config.d.ts +281 -0
- package/dist/src/layouts/config.js +237 -0
- package/dist/src/layouts/fraction.d.ts +20 -0
- package/dist/src/layouts/fraction.js +164 -0
- package/dist/src/layouts/intents/bounty.d.ts +18 -0
- package/dist/src/layouts/intents/bounty.js +19 -0
- package/dist/src/layouts/intents/intent.d.ts +209 -0
- package/dist/src/layouts/intents/intent.js +97 -0
- package/dist/src/layouts/intents/rebalanceIntent.d.ts +212 -0
- package/dist/src/layouts/intents/rebalanceIntent.js +94 -0
- package/dist/src/layouts/lookupTable.d.ts +7 -0
- package/dist/src/layouts/lookupTable.js +10 -0
- package/dist/src/layouts/oracle.d.ts +63 -0
- package/dist/src/layouts/oracle.js +96 -0
- package/dist/src/states/basket.d.ts +14 -0
- package/dist/src/states/basket.js +479 -0
- package/dist/src/states/config.d.ts +3 -0
- package/dist/src/states/config.js +71 -0
- package/dist/src/states/intents/intent.d.ts +10 -0
- package/dist/src/states/intents/intent.js +316 -0
- package/dist/src/states/intents/rebalanceIntent.d.ts +42 -0
- package/dist/src/states/intents/rebalanceIntent.js +680 -0
- package/dist/src/states/oracles/constants.d.ts +9 -0
- package/dist/src/states/oracles/constants.js +15 -0
- package/dist/src/states/oracles/oracle.d.ts +24 -0
- package/dist/src/states/oracles/oracle.js +168 -0
- package/dist/src/states/oracles/pythOracle.d.ts +132 -0
- package/dist/src/states/oracles/pythOracle.js +609 -0
- package/dist/src/states/oracles/raydiumClmmOracle.d.ts +184 -0
- package/dist/src/states/oracles/raydiumClmmOracle.js +843 -0
- package/dist/src/states/oracles/raydiumCpmmOracle.d.ts +120 -0
- package/dist/src/states/oracles/raydiumCpmmOracle.js +540 -0
- package/dist/src/states/oracles/switchboardOracle.d.ts +0 -0
- package/dist/src/states/oracles/switchboardOracle.js +1 -0
- package/dist/src/states/withdrawBasketFees.d.ts +10 -0
- package/dist/src/states/withdrawBasketFees.js +154 -0
- package/dist/src/txUtils.d.ts +65 -0
- package/dist/src/txUtils.js +306 -0
- package/dist/test.d.ts +1 -0
- package/dist/test.js +561 -0
- package/package.json +31 -0
- package/src/constants.ts +40 -0
- package/src/index.ts +2431 -0
- package/src/instructions/automation/auction.ts +55 -0
- package/src/instructions/automation/claimBounty.ts +69 -0
- package/src/instructions/automation/flashSwap.ts +104 -0
- package/src/instructions/automation/priceUpdate.ts +117 -0
- package/src/instructions/automation/rebalanceIntent.ts +181 -0
- package/src/instructions/management/addBounty.ts +55 -0
- package/src/instructions/management/admin.ts +72 -0
- package/src/instructions/management/claimFees.ts +129 -0
- package/src/instructions/management/createBasket.ts +138 -0
- package/src/instructions/management/edit.ts +602 -0
- package/src/instructions/management/luts.ts +157 -0
- package/src/instructions/pda.ts +151 -0
- package/src/instructions/user/deposit.ts +143 -0
- package/src/instructions/user/withdraw.ts +53 -0
- package/src/jup.ts +113 -0
- package/src/keeperMonitor.ts +585 -0
- package/src/layouts/basket.ts +233 -0
- package/src/layouts/config.ts +576 -0
- package/src/layouts/fraction.ts +164 -0
- package/src/layouts/intents/bounty.ts +35 -0
- package/src/layouts/intents/intent.ts +324 -0
- package/src/layouts/intents/rebalanceIntent.ts +306 -0
- package/src/layouts/lookupTable.ts +14 -0
- package/src/layouts/oracle.ts +157 -0
- package/src/states/basket.ts +527 -0
- package/src/states/config.ts +62 -0
- package/src/states/intents/intent.ts +311 -0
- package/src/states/intents/rebalanceIntent.ts +751 -0
- package/src/states/oracles/constants.ts +13 -0
- package/src/states/oracles/oracle.ts +212 -0
- package/src/states/oracles/pythOracle.ts +874 -0
- package/src/states/oracles/raydiumClmmOracle.ts +1193 -0
- package/src/states/oracles/raydiumCpmmOracle.ts +784 -0
- package/src/states/oracles/switchboardOracle.ts +0 -0
- package/src/states/withdrawBasketFees.ts +160 -0
- package/src/txUtils.ts +424 -0
- package/test.ts +609 -0
- package/tsconfig.json +101 -0
|
@@ -0,0 +1,191 @@
|
|
|
1
|
+
import BN from 'bn.js';
|
|
2
|
+
import { AddressLookupTableAccount, PublicKey } from '@solana/web3.js';
|
|
3
|
+
import { OracleAggregator } from './oracle';
|
|
4
|
+
import { OraclePrice } from '../states/oracles/oracle';
|
|
5
|
+
import Decimal from 'decimal.js';
|
|
6
|
+
import { BasketSettings } from './config';
|
|
7
|
+
import { EditAddTokenSettings, EditAutomationSettings, EditCreatorSettings, EditCustomRebalanceSettings, EditDepositsSettings, EditFeeSettings, EditForceRebalanceSettings, EditLpSettings, EditMakeDirectSwapSettings, EditManagerSettings, EditMetadataSettings, EditScheduleSettings, EditUpdateWeightsSettings, OracleInput } from './intents/intent';
|
|
8
|
+
export type FormattedBasketType = "private" | "public";
|
|
9
|
+
export declare const BASKET_TYPES_STRINGS: Map<number, FormattedBasketType>;
|
|
10
|
+
export interface FormattedAccumulatedFees {
|
|
11
|
+
symmetry_fees: number;
|
|
12
|
+
creator_fees: number;
|
|
13
|
+
host_fees: number;
|
|
14
|
+
managers_fees: number;
|
|
15
|
+
}
|
|
16
|
+
export interface FormattedLookupTables {
|
|
17
|
+
active: {
|
|
18
|
+
pubkey: string;
|
|
19
|
+
contents: string[];
|
|
20
|
+
}[];
|
|
21
|
+
temp: {
|
|
22
|
+
pubkey: string;
|
|
23
|
+
contents: string[];
|
|
24
|
+
}[];
|
|
25
|
+
}
|
|
26
|
+
export interface FormattedOracleSettings extends OracleInput {
|
|
27
|
+
quote: string;
|
|
28
|
+
side: string;
|
|
29
|
+
}
|
|
30
|
+
export interface FormattedOracle {
|
|
31
|
+
oracle_settings: FormattedOracleSettings;
|
|
32
|
+
accounts_to_load_lut_ids: number[];
|
|
33
|
+
accounts_to_load_lut_indices: number[];
|
|
34
|
+
}
|
|
35
|
+
export interface FormattedOracleAggregator {
|
|
36
|
+
num_oracles: number;
|
|
37
|
+
min_oracles_thresh: number;
|
|
38
|
+
oracles: FormattedOracle[];
|
|
39
|
+
min_conf_bps: number;
|
|
40
|
+
conf_thresh_bps: number;
|
|
41
|
+
conf_multiplier: number;
|
|
42
|
+
}
|
|
43
|
+
export interface FormattedAsset {
|
|
44
|
+
mint: string;
|
|
45
|
+
amount: number;
|
|
46
|
+
weight: number;
|
|
47
|
+
active: boolean;
|
|
48
|
+
oracle_aggregator: FormattedOracleAggregator;
|
|
49
|
+
}
|
|
50
|
+
export interface FormattedCreatorSettings extends EditCreatorSettings {
|
|
51
|
+
}
|
|
52
|
+
export interface FormattedManagersSettings extends EditManagerSettings {
|
|
53
|
+
updated_at: number;
|
|
54
|
+
}
|
|
55
|
+
export interface FormattedFeeSettings extends EditFeeSettings {
|
|
56
|
+
host_deposit_fee_bps: number;
|
|
57
|
+
host_withdraw_fee_bps: number;
|
|
58
|
+
host_management_fee_bps: number;
|
|
59
|
+
host_performance_fee_bps: number;
|
|
60
|
+
updated_at: number;
|
|
61
|
+
}
|
|
62
|
+
export interface FormattedScheduleSettings extends EditScheduleSettings {
|
|
63
|
+
updated_at: number;
|
|
64
|
+
}
|
|
65
|
+
export interface FormattedAutomationSettings extends EditAutomationSettings {
|
|
66
|
+
updated_at: number;
|
|
67
|
+
}
|
|
68
|
+
export interface FormattedLpSettings extends EditLpSettings {
|
|
69
|
+
updated_at: number;
|
|
70
|
+
}
|
|
71
|
+
export interface FormattedMetadataSettings extends EditMetadataSettings {
|
|
72
|
+
updated_at: number;
|
|
73
|
+
}
|
|
74
|
+
export interface FormattedDepositsSettings extends EditDepositsSettings {
|
|
75
|
+
}
|
|
76
|
+
export interface FormattedForceRebalanceSettings extends EditForceRebalanceSettings {
|
|
77
|
+
updated_at: number;
|
|
78
|
+
}
|
|
79
|
+
export interface FormattedCustomRebalanceSettings extends EditCustomRebalanceSettings {
|
|
80
|
+
updated_at: number;
|
|
81
|
+
}
|
|
82
|
+
export interface FormattedAddTokenSettings extends EditAddTokenSettings {
|
|
83
|
+
updated_at: number;
|
|
84
|
+
}
|
|
85
|
+
export interface FormattedUpdateWeightsSettings extends EditUpdateWeightsSettings {
|
|
86
|
+
updated_at: number;
|
|
87
|
+
}
|
|
88
|
+
export interface FormattedMakeDirectSwapSettings extends EditMakeDirectSwapSettings {
|
|
89
|
+
updated_at: number;
|
|
90
|
+
}
|
|
91
|
+
export interface FormattedBasket {
|
|
92
|
+
pubkey: string;
|
|
93
|
+
name: string;
|
|
94
|
+
symbol: string;
|
|
95
|
+
uri: string;
|
|
96
|
+
version: number;
|
|
97
|
+
own_address: string;
|
|
98
|
+
mint: string;
|
|
99
|
+
supply_outstanding: number;
|
|
100
|
+
creator: string;
|
|
101
|
+
host: string;
|
|
102
|
+
basket_type: FormattedBasketType;
|
|
103
|
+
bounty_mint: string;
|
|
104
|
+
bounty_balance: number;
|
|
105
|
+
start_price: number;
|
|
106
|
+
high_watermark: number;
|
|
107
|
+
active_rebalance: number;
|
|
108
|
+
active_withdraws: number;
|
|
109
|
+
active_managements: number;
|
|
110
|
+
last_automation_execution_timestamp: number;
|
|
111
|
+
creator_settings: FormattedCreatorSettings;
|
|
112
|
+
manager_settings: FormattedManagersSettings;
|
|
113
|
+
fee_settings: FormattedFeeSettings;
|
|
114
|
+
schedule_settings: FormattedScheduleSettings;
|
|
115
|
+
automation_settings: FormattedAutomationSettings;
|
|
116
|
+
lp_settings: FormattedLpSettings;
|
|
117
|
+
metadata_settings: FormattedMetadataSettings;
|
|
118
|
+
deposits_settings: FormattedDepositsSettings;
|
|
119
|
+
force_rebalance_settings: FormattedForceRebalanceSettings;
|
|
120
|
+
custom_rebalance_settings: FormattedCustomRebalanceSettings;
|
|
121
|
+
add_token_settings: FormattedAddTokenSettings;
|
|
122
|
+
update_weights_settings: FormattedUpdateWeightsSettings;
|
|
123
|
+
make_direct_swap_settings: FormattedMakeDirectSwapSettings;
|
|
124
|
+
accumulated_fees: FormattedAccumulatedFees;
|
|
125
|
+
lookup_tables: FormattedLookupTables;
|
|
126
|
+
composition: FormattedAsset[];
|
|
127
|
+
}
|
|
128
|
+
export interface BasketFees {
|
|
129
|
+
symmetryFees: BN;
|
|
130
|
+
creatorFees: BN;
|
|
131
|
+
hostFees: BN;
|
|
132
|
+
managersFees: BN;
|
|
133
|
+
}
|
|
134
|
+
export declare const BasketFeesLayout: any;
|
|
135
|
+
export interface FormattedWithdrawBasketFees {
|
|
136
|
+
pubkey: string;
|
|
137
|
+
basket: string;
|
|
138
|
+
rent_payer: string;
|
|
139
|
+
owners: string[];
|
|
140
|
+
owners_weights: number[];
|
|
141
|
+
accumulated_tokens: string[];
|
|
142
|
+
accumulated_fees: number[];
|
|
143
|
+
}
|
|
144
|
+
export interface WithdrawBasketFees {
|
|
145
|
+
basket: PublicKey;
|
|
146
|
+
rentPayer: PublicKey;
|
|
147
|
+
owners: PublicKey[];
|
|
148
|
+
ownersWeights: number[];
|
|
149
|
+
accumulatedTokens: PublicKey[];
|
|
150
|
+
accumulatedFees: BN[];
|
|
151
|
+
ownAddress?: PublicKey;
|
|
152
|
+
formatted?: FormattedWithdrawBasketFees;
|
|
153
|
+
}
|
|
154
|
+
export declare const WithdrawBasketFeesLayout: any;
|
|
155
|
+
export interface LookupTables {
|
|
156
|
+
active: PublicKey[];
|
|
157
|
+
temp: PublicKey[];
|
|
158
|
+
}
|
|
159
|
+
export declare const LookupTablesLayout: any;
|
|
160
|
+
export interface Asset {
|
|
161
|
+
mint: PublicKey;
|
|
162
|
+
amount: BN;
|
|
163
|
+
weight: number;
|
|
164
|
+
active: number;
|
|
165
|
+
oracleAggregator: OracleAggregator;
|
|
166
|
+
price?: OraclePrice;
|
|
167
|
+
value?: Decimal;
|
|
168
|
+
}
|
|
169
|
+
export declare const AssetLayout: any;
|
|
170
|
+
export interface Metadata {
|
|
171
|
+
symbol: string;
|
|
172
|
+
name: string;
|
|
173
|
+
uri: string;
|
|
174
|
+
}
|
|
175
|
+
export interface Basket {
|
|
176
|
+
version: number;
|
|
177
|
+
ownAddress: PublicKey;
|
|
178
|
+
mint: PublicKey;
|
|
179
|
+
supplyOutstanding: BN;
|
|
180
|
+
settings: BasketSettings;
|
|
181
|
+
accumulatedFees: BasketFees;
|
|
182
|
+
lookupTables: LookupTables;
|
|
183
|
+
numTokens: number;
|
|
184
|
+
composition: Asset[];
|
|
185
|
+
lutPubkeys?: AddressLookupTableAccount[];
|
|
186
|
+
metadata?: Metadata;
|
|
187
|
+
tvl?: Decimal;
|
|
188
|
+
price?: Decimal;
|
|
189
|
+
formatted?: FormattedBasket;
|
|
190
|
+
}
|
|
191
|
+
export declare const BasketLayout: any;
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.BasketLayout = exports.AssetLayout = exports.LookupTablesLayout = exports.WithdrawBasketFeesLayout = exports.BasketFeesLayout = exports.BASKET_TYPES_STRINGS = void 0;
|
|
4
|
+
const borsh_1 = require("@coral-xyz/borsh");
|
|
5
|
+
const oracle_1 = require("./oracle");
|
|
6
|
+
const config_1 = require("./config");
|
|
7
|
+
const constants_1 = require("../constants");
|
|
8
|
+
exports.BASKET_TYPES_STRINGS = new Map([
|
|
9
|
+
[0, "private"],
|
|
10
|
+
[1, "public"],
|
|
11
|
+
]);
|
|
12
|
+
;
|
|
13
|
+
exports.BasketFeesLayout = (0, borsh_1.struct)([
|
|
14
|
+
(0, borsh_1.u64)("symmetryFees"),
|
|
15
|
+
(0, borsh_1.u64)("creatorFees"),
|
|
16
|
+
(0, borsh_1.u64)("hostFees"),
|
|
17
|
+
(0, borsh_1.u64)("managersFees"),
|
|
18
|
+
]);
|
|
19
|
+
exports.WithdrawBasketFeesLayout = (0, borsh_1.struct)([
|
|
20
|
+
(0, borsh_1.publicKey)('basket'),
|
|
21
|
+
(0, borsh_1.publicKey)('rentPayer'),
|
|
22
|
+
(0, borsh_1.array)((0, borsh_1.publicKey)(), constants_1.MAX_MANAGERS_PER_BASKET, 'owners'),
|
|
23
|
+
(0, borsh_1.array)((0, borsh_1.u16)(), constants_1.MAX_MANAGERS_PER_BASKET, 'ownersWeights'),
|
|
24
|
+
(0, borsh_1.array)((0, borsh_1.publicKey)(), constants_1.MAX_SUPPORTED_TOKENS_PER_BASKET, 'accumulatedTokens'),
|
|
25
|
+
(0, borsh_1.array)((0, borsh_1.u64)(), constants_1.MAX_SUPPORTED_TOKENS_PER_BASKET, 'accumulatedFees'),
|
|
26
|
+
]);
|
|
27
|
+
;
|
|
28
|
+
exports.LookupTablesLayout = (0, borsh_1.struct)([
|
|
29
|
+
(0, borsh_1.array)((0, borsh_1.publicKey)(), 2, "active"),
|
|
30
|
+
(0, borsh_1.array)((0, borsh_1.publicKey)(), 2, "temp"),
|
|
31
|
+
]);
|
|
32
|
+
;
|
|
33
|
+
exports.AssetLayout = (0, borsh_1.struct)([
|
|
34
|
+
(0, borsh_1.publicKey)('mint'),
|
|
35
|
+
(0, borsh_1.u64)('amount'),
|
|
36
|
+
(0, borsh_1.u16)('weight'),
|
|
37
|
+
(0, borsh_1.u8)('active'),
|
|
38
|
+
oracle_1.OracleAggregatorLayout.replicate('oracleAggregator'),
|
|
39
|
+
]);
|
|
40
|
+
;
|
|
41
|
+
exports.BasketLayout = (0, borsh_1.struct)([
|
|
42
|
+
(0, borsh_1.u8)('version'),
|
|
43
|
+
(0, borsh_1.publicKey)('ownAddress'),
|
|
44
|
+
(0, borsh_1.publicKey)('mint'),
|
|
45
|
+
(0, borsh_1.u64)('supplyOutstanding'),
|
|
46
|
+
config_1.BasketSettingsLayout.replicate('settings'),
|
|
47
|
+
exports.BasketFeesLayout.replicate('accumulatedFees'),
|
|
48
|
+
exports.LookupTablesLayout.replicate('lookupTables'),
|
|
49
|
+
(0, borsh_1.u8)('numTokens'),
|
|
50
|
+
(0, borsh_1.array)(exports.AssetLayout, constants_1.MAX_SUPPORTED_TOKENS_PER_BASKET, 'composition'),
|
|
51
|
+
]);
|
|
@@ -0,0 +1,281 @@
|
|
|
1
|
+
import BN from 'bn.js';
|
|
2
|
+
import { PublicKey } from '@solana/web3.js';
|
|
3
|
+
import { Fraction } from './fraction';
|
|
4
|
+
import { BountySchedule } from './intents/bounty';
|
|
5
|
+
import { FormattedBountySchedule } from './intents/intent';
|
|
6
|
+
export declare const MAX_MANAGERS_PER_BASKET = 10;
|
|
7
|
+
export declare const MAX_SYMBOL_LENGTH = 10;
|
|
8
|
+
export declare const MAX_NAME_LENGTH = 32;
|
|
9
|
+
export declare const MAX_URI_LENGTH = 200;
|
|
10
|
+
export declare enum BasketType {
|
|
11
|
+
Private = 0,
|
|
12
|
+
Public = 1
|
|
13
|
+
}
|
|
14
|
+
export interface EditCreator {
|
|
15
|
+
creator: PublicKey;
|
|
16
|
+
}
|
|
17
|
+
export declare const EditCreatorLayout: any;
|
|
18
|
+
export interface AuthorityBitmasks {
|
|
19
|
+
scheduleAuthorityBitmask: number;
|
|
20
|
+
feesAuthorityBitmask: number;
|
|
21
|
+
managersAuthorityBitmask: number;
|
|
22
|
+
automationAuthorityBitmask: number;
|
|
23
|
+
lpAuthorityBitmask: number;
|
|
24
|
+
metadataAuthorityBitmask: number;
|
|
25
|
+
depositsAuthorityBitmask: number;
|
|
26
|
+
forceRebalanceAuthorityBitmask: number;
|
|
27
|
+
customRebalanceAuthorityBitmask: number;
|
|
28
|
+
addTokenIntentAuthorityBitmask: number;
|
|
29
|
+
updateWeightsIntentAuthorityBitmask: number;
|
|
30
|
+
makeDirectSwapIntentAuthorityBitmask: number;
|
|
31
|
+
extraData: number;
|
|
32
|
+
extraData1: number;
|
|
33
|
+
extraData2: number;
|
|
34
|
+
}
|
|
35
|
+
export declare const AuthorityBitmasksLayout: any;
|
|
36
|
+
export interface ManagerSettings {
|
|
37
|
+
managers: PublicKey[];
|
|
38
|
+
managersWeightBps: number[];
|
|
39
|
+
modificationDelay: BN;
|
|
40
|
+
}
|
|
41
|
+
export declare const ManagerSettingsLayout: any;
|
|
42
|
+
export interface ManagerSettingsWithAuthorityBitmasks {
|
|
43
|
+
managerSettings: ManagerSettings;
|
|
44
|
+
authorityBitmasks: AuthorityBitmasks;
|
|
45
|
+
}
|
|
46
|
+
export declare const ManagerSettingsWithAuthorityBitmasksLayout: any;
|
|
47
|
+
export interface HostFees {
|
|
48
|
+
hostDepositFeeBps: number;
|
|
49
|
+
hostWithdrawalFeeBps: number;
|
|
50
|
+
hostManagementFeeBps: number;
|
|
51
|
+
hostPerformanceFeeBps: number;
|
|
52
|
+
}
|
|
53
|
+
export declare const HostFeesLayout: any;
|
|
54
|
+
export interface FeeSettings {
|
|
55
|
+
hostDepositFeeBps: number;
|
|
56
|
+
hostWithdrawFeeBps: number;
|
|
57
|
+
hostManagementFeeBps: number;
|
|
58
|
+
hostPerformanceFeeBps: number;
|
|
59
|
+
creatorDepositFeeBps: number;
|
|
60
|
+
creatorWithdrawFeeBps: number;
|
|
61
|
+
creatorManagementFeeBps: number;
|
|
62
|
+
creatorPerformanceFeeBps: number;
|
|
63
|
+
managersDepositFeeBps: number;
|
|
64
|
+
managersWithdrawFeeBps: number;
|
|
65
|
+
managersManagementFeeBps: number;
|
|
66
|
+
managersPerformanceFeeBps: number;
|
|
67
|
+
basketDepositFeeBps: number;
|
|
68
|
+
basketWithdrawFeeBps: number;
|
|
69
|
+
extraData: number[];
|
|
70
|
+
modificationDelay: BN;
|
|
71
|
+
}
|
|
72
|
+
export declare const FeeSettingsLayout: any;
|
|
73
|
+
export interface ScheduleSettings {
|
|
74
|
+
cycleStartTime: BN;
|
|
75
|
+
cycleDuration: BN;
|
|
76
|
+
depositsStart: BN;
|
|
77
|
+
depositsEnd: BN;
|
|
78
|
+
automationStart: BN;
|
|
79
|
+
automationEnd: BN;
|
|
80
|
+
managementStart: BN;
|
|
81
|
+
managementEnd: BN;
|
|
82
|
+
modificationDelay: BN;
|
|
83
|
+
}
|
|
84
|
+
export declare const ScheduleSettingsLayout: any;
|
|
85
|
+
export interface AutomationSettings {
|
|
86
|
+
allowAutomation: number;
|
|
87
|
+
rebalanceSlippageThresholdBps: number;
|
|
88
|
+
perTradeRebalanceSlippageThresholdBps: number;
|
|
89
|
+
rebalanceActivationThresholdAbsBps: number;
|
|
90
|
+
rebalanceActivationThresholdRelBps: number;
|
|
91
|
+
rebalanceActivationCooldown: BN;
|
|
92
|
+
extraData: PublicKey[];
|
|
93
|
+
modificationDelay: BN;
|
|
94
|
+
}
|
|
95
|
+
export declare const AutomationSettingsLayout: any;
|
|
96
|
+
export interface LpSettings {
|
|
97
|
+
allowLp: number;
|
|
98
|
+
lpThresholdBps: number;
|
|
99
|
+
extraData: number[];
|
|
100
|
+
modificationDelay: BN;
|
|
101
|
+
}
|
|
102
|
+
export declare const LpSettingsLayout: any;
|
|
103
|
+
export interface MetadataParams {
|
|
104
|
+
name: string;
|
|
105
|
+
symbol: string;
|
|
106
|
+
uri: string;
|
|
107
|
+
}
|
|
108
|
+
export declare const MetadataParamsLayout: any;
|
|
109
|
+
export interface MetadataSettings {
|
|
110
|
+
symbolLength: number;
|
|
111
|
+
symbol: number[];
|
|
112
|
+
nameLength: number;
|
|
113
|
+
name: number[];
|
|
114
|
+
uriLength: number;
|
|
115
|
+
uri: number[];
|
|
116
|
+
modificationDelay: BN;
|
|
117
|
+
}
|
|
118
|
+
export declare const MetadataSettingsLayout: any;
|
|
119
|
+
export interface EditAddTokenDelay {
|
|
120
|
+
modificationDelay: BN;
|
|
121
|
+
}
|
|
122
|
+
export declare const EditAddTokenDelayLayout: any;
|
|
123
|
+
export interface EditUpdateWeightsDelay {
|
|
124
|
+
modificationDelay: BN;
|
|
125
|
+
}
|
|
126
|
+
export declare const EditUpdateWeightsDelayLayout: any;
|
|
127
|
+
export interface EditMakeDirectSwapDelay {
|
|
128
|
+
modificationDelay: BN;
|
|
129
|
+
}
|
|
130
|
+
export declare const EditMakeDirectSwapDelayLayout: any;
|
|
131
|
+
export interface UpdateWeights {
|
|
132
|
+
tokenWeights: number[];
|
|
133
|
+
tokenMintsHash: number[];
|
|
134
|
+
}
|
|
135
|
+
export declare const UpdateWeightsLayout: any;
|
|
136
|
+
export interface MakeDirectSwap {
|
|
137
|
+
fromTokenMint: PublicKey;
|
|
138
|
+
toTokenMint: PublicKey;
|
|
139
|
+
amountFrom: BN;
|
|
140
|
+
amountTo: BN;
|
|
141
|
+
}
|
|
142
|
+
export declare const MakeDirectSwapLayout: any;
|
|
143
|
+
export interface BasketSettings {
|
|
144
|
+
creator: PublicKey;
|
|
145
|
+
host: PublicKey;
|
|
146
|
+
basketType: BasketType;
|
|
147
|
+
bountyMint: PublicKey;
|
|
148
|
+
bountyBalance: BN;
|
|
149
|
+
startPrice: Fraction;
|
|
150
|
+
highWaterMark: Fraction;
|
|
151
|
+
activeRebalance: BN;
|
|
152
|
+
activeWithdraws: BN;
|
|
153
|
+
activeManagements: BN;
|
|
154
|
+
lastAutomationExecutionTimestamp: BN;
|
|
155
|
+
managers: ManagerSettings;
|
|
156
|
+
managersLastUpdateTimestamp: BN;
|
|
157
|
+
managersAuthorityBitmask: number;
|
|
158
|
+
fees: FeeSettings;
|
|
159
|
+
feesLastUpdateTimestamp: BN;
|
|
160
|
+
feesAuthorityBitmask: number;
|
|
161
|
+
schedule: ScheduleSettings;
|
|
162
|
+
scheduleLastUpdateTimestamp: BN;
|
|
163
|
+
scheduleAuthorityBitmask: number;
|
|
164
|
+
automation: AutomationSettings;
|
|
165
|
+
automationLastUpdateTimestamp: BN;
|
|
166
|
+
automationAuthorityBitmask: number;
|
|
167
|
+
lp: LpSettings;
|
|
168
|
+
lpLastUpdateTimestamp: BN;
|
|
169
|
+
lpAuthorityBitmask: number;
|
|
170
|
+
metadata: MetadataSettings;
|
|
171
|
+
metadataLastUpdateTimestamp: BN;
|
|
172
|
+
metadataAuthorityBitmask: number;
|
|
173
|
+
depositsAreAllowed: number;
|
|
174
|
+
depositsAuthorityBitmask: number;
|
|
175
|
+
forceRebalanceIsAllowed: number;
|
|
176
|
+
forceRebalanceModificationDelay: BN;
|
|
177
|
+
forceRebalanceLastUpdateTimestamp: BN;
|
|
178
|
+
forceRebalanceAuthorityBitmask: number;
|
|
179
|
+
customRebalanceIsAllowed: number;
|
|
180
|
+
customRebalanceModificationDelay: BN;
|
|
181
|
+
customRebalanceLastUpdateTimestamp: BN;
|
|
182
|
+
customRebalanceAuthorityBitmask: number;
|
|
183
|
+
addTokenDelay: BN;
|
|
184
|
+
addTokenLastUpdateTimestamp: BN;
|
|
185
|
+
addTokenIntentAuthorityBitmask: number;
|
|
186
|
+
updateWeightsDelay: BN;
|
|
187
|
+
updateWeightsLastUpdateTimestamp: BN;
|
|
188
|
+
updateWeightsIntentAuthorityBitmask: number;
|
|
189
|
+
makeDirectSwapDelay: BN;
|
|
190
|
+
makeDirectSwapLastUpdateTimestamp: BN;
|
|
191
|
+
makeDirectSwapIntentAuthorityBitmask: number;
|
|
192
|
+
extraData: BN[];
|
|
193
|
+
}
|
|
194
|
+
export declare const BasketSettingsLayout: any;
|
|
195
|
+
export interface FormattedGlobalConfig {
|
|
196
|
+
pubkey: string;
|
|
197
|
+
admin: string;
|
|
198
|
+
owners: string[];
|
|
199
|
+
total_number_of_baskets: number;
|
|
200
|
+
allow_interactions: boolean;
|
|
201
|
+
allow_creation: boolean;
|
|
202
|
+
allow_management: boolean;
|
|
203
|
+
allow_automation: boolean;
|
|
204
|
+
allow_deposits: boolean;
|
|
205
|
+
allow_withdraws: boolean;
|
|
206
|
+
max_deposit_fee_bps: number;
|
|
207
|
+
max_withdraw_fee_bps: number;
|
|
208
|
+
max_management_fee_bps: number;
|
|
209
|
+
max_performance_fee_bps: number;
|
|
210
|
+
symmetry_fee_collector: string;
|
|
211
|
+
symmetry_deposit_fee_bps: number;
|
|
212
|
+
symmetry_deposit_fee_share_bps: number;
|
|
213
|
+
symmetry_withdraw_fee_bps: number;
|
|
214
|
+
symmetry_withdraw_fee_share_bps: number;
|
|
215
|
+
symmetry_management_fee_bps: number;
|
|
216
|
+
symmetry_management_fee_share_bps: number;
|
|
217
|
+
symmetry_performance_fee_bps: number;
|
|
218
|
+
symmetry_performance_fee_share_bps: number;
|
|
219
|
+
symmetry_trade_fee_bps: number;
|
|
220
|
+
symmetry_limit_order_fee_bps: number;
|
|
221
|
+
bounty_mint: string;
|
|
222
|
+
min_bounty_for_basket_automation: number;
|
|
223
|
+
bounty_bond_amount: number;
|
|
224
|
+
bounty_per_task: FormattedBountySchedule;
|
|
225
|
+
bounty_per_price_update_task_divisor: number;
|
|
226
|
+
min_remaining_value: number;
|
|
227
|
+
min_mint_ratio: number;
|
|
228
|
+
apr_bps_per_year: number;
|
|
229
|
+
rebalance_intent_lifetime: number;
|
|
230
|
+
rebalance_auction_1_timeframe: number;
|
|
231
|
+
rebalance_auction_2_timeframe: number;
|
|
232
|
+
rebalance_auction_3_timeframe: number;
|
|
233
|
+
price_update_delay_after_creation: number;
|
|
234
|
+
price_update_lifetime: number;
|
|
235
|
+
price_update_reexecution_delay: number;
|
|
236
|
+
}
|
|
237
|
+
export interface GlobalConfig {
|
|
238
|
+
admin: PublicKey;
|
|
239
|
+
owners: PublicKey[];
|
|
240
|
+
totalNumberOfBaskets: BN;
|
|
241
|
+
allowInteractions: number;
|
|
242
|
+
allowCreation: number;
|
|
243
|
+
allowManagement: number;
|
|
244
|
+
allowAutomation: number;
|
|
245
|
+
allowDeposits: number;
|
|
246
|
+
allowWithdraws: number;
|
|
247
|
+
maxDepositFeeBps: number;
|
|
248
|
+
maxWithdrawFeeBps: number;
|
|
249
|
+
maxManagementFeeBps: number;
|
|
250
|
+
maxPerformanceFeeBps: number;
|
|
251
|
+
symmetryFeeCollector: PublicKey;
|
|
252
|
+
symmetryDepositFeeBps: number;
|
|
253
|
+
symmetryDepositFeeShareBps: number;
|
|
254
|
+
symmetryWithdrawFeeBps: number;
|
|
255
|
+
symmetryWithdrawFeeShareBps: number;
|
|
256
|
+
symmetryManagementFeeBps: number;
|
|
257
|
+
symmetryManagementFeeShareBps: number;
|
|
258
|
+
symmetryPerformanceFeeBps: number;
|
|
259
|
+
symmetryPerformanceFeeShareBps: number;
|
|
260
|
+
symmetryTradeFeeBps: number;
|
|
261
|
+
symmetryLimitOrderFeeBps: number;
|
|
262
|
+
symmetryFeesExtraData: number[];
|
|
263
|
+
bountyMint: PublicKey;
|
|
264
|
+
minBountyForBasketAutomation: BN;
|
|
265
|
+
bountyBondAmount: BN;
|
|
266
|
+
bountyPerTask: BountySchedule;
|
|
267
|
+
bountyPerPriceUpdateTaskDivisor: BN;
|
|
268
|
+
minRemainingValue: Fraction;
|
|
269
|
+
minMintRatio: Fraction;
|
|
270
|
+
aprBpsPerYear: number;
|
|
271
|
+
rebalanceIntentLifetime: BN;
|
|
272
|
+
rebalanceAuction1Timeframe: BN;
|
|
273
|
+
rebalanceAuction2Timeframe: BN;
|
|
274
|
+
rebalanceAuction3Timeframe: BN;
|
|
275
|
+
priceUpdateDelayAfterCreation: BN;
|
|
276
|
+
priceUpdateLifetime: BN;
|
|
277
|
+
priceUpdateReexecutionDelay: BN;
|
|
278
|
+
extraData: BN[];
|
|
279
|
+
formatted?: FormattedGlobalConfig;
|
|
280
|
+
}
|
|
281
|
+
export declare const GlobalConfigLayout: any;
|