flash-sdk 12.0.0 → 12.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.
Files changed (47) hide show
  1. package/dist/CustodyAccount.d.ts +1 -1
  2. package/dist/MarketAccount.d.ts +2 -2
  3. package/dist/OraclePrice.d.ts +0 -1
  4. package/dist/OrderAccount.d.ts +0 -1
  5. package/dist/PerpetualsClient.d.ts +325 -4360
  6. package/dist/PerpetualsClient.js +1205 -558
  7. package/dist/PoolAccount.d.ts +0 -1
  8. package/dist/PoolConfig.d.ts +3 -1
  9. package/dist/PoolConfig.js +30 -2
  10. package/dist/PoolConfig.json +955 -133
  11. package/dist/PoolDataClient.d.ts +0 -1
  12. package/dist/PositionAccount.d.ts +3 -3
  13. package/dist/TokenStakeAccount.d.ts +0 -1
  14. package/dist/TokenVaultAccount.d.ts +0 -1
  15. package/dist/ViewHelper.d.ts +2 -1
  16. package/dist/ViewHelper.js +11 -8
  17. package/dist/backupOracle.js +27 -6
  18. package/dist/constants/index.d.ts +0 -1
  19. package/dist/idl/perpetuals.d.ts +26433 -13458
  20. package/dist/idl/perpetuals.js +0 -18010
  21. package/dist/idl/perpetuals.json +30985 -0
  22. package/dist/index.d.ts +3 -1
  23. package/dist/index.js +6 -2
  24. package/dist/remoraTokensWithPriceIds.d.ts +13 -0
  25. package/dist/remoraTokensWithPriceIds.js +265 -0
  26. package/dist/testPublkey.d.ts +0 -0
  27. package/dist/testPublkey.js +0 -0
  28. package/dist/tsconfig.tsbuildinfo +1 -1
  29. package/dist/types/generated.d.ts +2275 -0
  30. package/dist/types/generated.js +2 -0
  31. package/dist/types/index.d.ts +47 -160
  32. package/dist/types/index.js +22 -6
  33. package/dist/utils/IdlCoder.d.ts +3 -2
  34. package/dist/utils/IdlCoder.js +21 -9
  35. package/dist/utils/alt.js +5 -6
  36. package/dist/utils/anchorCpiEvents.d.ts +1 -2
  37. package/dist/utils/anchorCpiEvents.js +14 -10
  38. package/dist/utils/index.js +6 -6
  39. package/dist/utils/rpc.js +9 -9
  40. package/package.json +3 -3
  41. package/readme.md +37 -3
  42. package/dist/idl/fbnft_rewards.d.ts +0 -290
  43. package/dist/idl/fbnft_rewards.js +0 -292
  44. package/dist/idl/perp_composability.d.ts +0 -760
  45. package/dist/idl/perp_composability.js +0 -762
  46. package/dist/idl/reward_distribution.d.ts +0 -347
  47. package/dist/idl/reward_distribution.js +0 -349
package/readme.md CHANGED
@@ -34,6 +34,7 @@ code : https://github.com/flash-trade/flash-trade-sdk.git
34
34
  });
35
35
  const perpClient = new PerpetualsClient(provider, programId);
36
36
 
37
+ // NOTE: choose the correct POOL_CONFIG based on the pool you want to interact
37
38
  // flp.1
38
39
  const POOL_CONFIG = PoolConfig.fromIdsByName('Crypto.1','mainnet-beta')
39
40
  // flp.2
@@ -42,9 +43,17 @@ code : https://github.com/flash-trade/flash-trade-sdk.git
42
43
  // const POOL_CONFIG = PoolConfig.fromIdsByName('Governance.1','mainnet-beta')
43
44
  // flp.4
44
45
  // const POOL_CONFIG = PoolConfig.fromIdsByName('Community.1','mainnet-beta')
46
+ // flp.5
47
+ // const POOL_CONFIG = PoolConfig.fromIdsByName('Community.2','mainnet-beta')
48
+ // flp.7
49
+ // const POOL_CONFIG = PoolConfig.fromIdsByName('Trump.1','mainnet-beta')
50
+ // flp.8
51
+ // const POOL_CONFIG = PoolConfig.fromIdsByName('Ore.1','mainnet-beta')
52
+ // flp.r
53
+ // const POOL_CONFIG = PoolConfig.fromIdsByName('Remora.1','mainnet-beta')
45
54
 
46
55
  const poolAddress = POOL_CONFIG.poolAddress.toBase58()
47
- const backupOracleData: any = await (await fetch(`https://beast.flash.trade/api/backup-oracle?poolAddress=${poolAddress}`)).json()
56
+ const backupOracleData: any = await (await fetch(`https://flash.trade/api/backup-oracle?poolAddress=${poolAddress}`)).json()
48
57
  const backUpOracleInstruction = new TransactionInstruction({
49
58
  keys: backupOracleData.keys,
50
59
  programId: new PublicKey(backupOracleData.programId),
@@ -73,9 +82,13 @@ code : https://github.com/flash-trade/flash-trade-sdk.git
73
82
  )
74
83
  const setCULimitIx = ComputeBudgetProgram.setComputeUnitLimit({ units: 600_000 })
75
84
 
85
+ let addresslookupTables: AddressLookupTableAccount[] = (
86
+ await flashClient.getOrLoadAddressLookupTable(POOL_CONFIG)
87
+ ).addressLookupTables
88
+
76
89
  const txid = perpClient.sendTransaction([backUpOracleInstruction, setCULimitIx, ...addLiqInstructions ], {
77
90
  addLiqAdditionalSigners,
78
- alts: perpClient.addressLookupTables,
91
+ alts: addresslookupTables,
79
92
  })
80
93
 
81
94
  <!--addCompoundingLiquidity (USDC -> FLP.1 ) -->
@@ -107,9 +120,14 @@ code : https://github.com/flash-trade/flash-trade-sdk.git
107
120
  true
108
121
  )
109
122
  const setCULimitIx = ComputeBudgetProgram.setComputeUnitLimit({ units: 600_000 })
123
+
124
+ let addresslookupTables: AddressLookupTableAccount[] = (
125
+ await flashClient.getOrLoadAddressLookupTable(POOL_CONFIG)
126
+ ).addressLookupTables
127
+
110
128
  const txid = perpClient.sendTransaction([backUpOracleInstruction, setCULimitIx, ...removeCompLiqInstructions ], {
111
129
  removeCompLiqAdditionalSigners,
112
- alts: perpClient.addressLookupTables,
130
+ alts: addresslookupTables,
113
131
  })
114
132
 
115
133
  <!-- remove Liquidity (sFLP -> USDC) -->
@@ -121,6 +139,11 @@ code : https://github.com/flash-trade/flash-trade-sdk.git
121
139
  POOL_CONFIG
122
140
  )
123
141
  const setCULimitIx = ComputeBudgetProgram.setComputeUnitLimit({ units: 600_000 })
142
+
143
+ let addresslookupTables: AddressLookupTableAccount[] = (
144
+ await flashClient.getOrLoadAddressLookupTable(POOL_CONFIG)
145
+ ).addressLookupTables
146
+
124
147
  const txid = perpClient.sendTransaction([backUpOracleInstruction, setCULimitIx, ...removeLiqInstructions ], {
125
148
  removeLiqAdditionalSigners,
126
149
  alts: perpClient.addressLookupTables,
@@ -131,6 +154,9 @@ code : https://github.com/flash-trade/flash-trade-sdk.git
131
154
  const { instructions: depositStakeInstructions, additionalSigners: depositStakeAdditionalSigners } =
132
155
  await perpClient.depositStake(.provider.wallet.publicKey, provider.wallet.publicKey, flpDepositAmount, POOL_CONFIG)
133
156
 
157
+ let addresslookupTables: AddressLookupTableAccount[] = (
158
+ await flashClient.getOrLoadAddressLookupTable(POOL_CONFIG)
159
+ ).addressLookupTables
134
160
  const txid = perpClient.sendTransaction([...depositStakeInstructions ], {
135
161
  depositStakeAdditionalSigners,
136
162
  alts: perpClient.addressLookupTables,
@@ -143,6 +169,10 @@ code : https://github.com/flash-trade/flash-trade-sdk.git
143
169
 
144
170
  const { instructions: withdrawStakeInstructions } = await perpClient.withdrawStake(POOL_CONFIG, false)
145
171
 
172
+ let addresslookupTables: AddressLookupTableAccount[] = (
173
+ await flashClient.getOrLoadAddressLookupTable(POOL_CONFIG)
174
+ ).addressLookupTables
175
+
146
176
  const txid = perpClient.sendTransaction([...unstakeInstantInstructions, ...withdrawStakeInstructions ], {
147
177
  unstakeInstantAdditionalSigners,
148
178
  alts: perpClient.addressLookupTables,
@@ -153,6 +183,10 @@ code : https://github.com/flash-trade/flash-trade-sdk.git
153
183
 
154
184
  const { instructions, additionalSigners } = await perpClient.collectStakeFees('USDC',POOL_CONFIG)
155
185
 
186
+ let addresslookupTables: AddressLookupTableAccount[] = (
187
+ await flashClient.getOrLoadAddressLookupTable(POOL_CONFIG)
188
+ ).addressLookupTables
189
+
156
190
  const txid = perpClient.sendTransaction([...instructions ], {
157
191
  additionalSigners,
158
192
  alts: perpClient.addressLookupTables,
@@ -1,290 +0,0 @@
1
- export type FbnftRewards = {
2
- "version": "0.1.0";
3
- "name": "fbnft_rewards";
4
- "instructions": [
5
- {
6
- "name": "initRewardVault";
7
- "accounts": [
8
- {
9
- "name": "admin";
10
- "isMut": true;
11
- "isSigner": true;
12
- },
13
- {
14
- "name": "transferAuthority";
15
- "isMut": true;
16
- "isSigner": false;
17
- },
18
- {
19
- "name": "rewardVault";
20
- "isMut": true;
21
- "isSigner": false;
22
- },
23
- {
24
- "name": "rewardMint";
25
- "isMut": false;
26
- "isSigner": false;
27
- },
28
- {
29
- "name": "rewardTokenAccount";
30
- "isMut": true;
31
- "isSigner": false;
32
- },
33
- {
34
- "name": "collectionMint";
35
- "isMut": false;
36
- "isSigner": false;
37
- },
38
- {
39
- "name": "programData";
40
- "isMut": false;
41
- "isSigner": false;
42
- },
43
- {
44
- "name": "systemProgram";
45
- "isMut": false;
46
- "isSigner": false;
47
- },
48
- {
49
- "name": "tokenProgram";
50
- "isMut": false;
51
- "isSigner": false;
52
- },
53
- {
54
- "name": "rent";
55
- "isMut": false;
56
- "isSigner": false;
57
- }
58
- ];
59
- "args": [
60
- {
61
- "name": "params";
62
- "type": {
63
- "defined": "InitRewardVaultParams";
64
- };
65
- }
66
- ];
67
- },
68
- {
69
- "name": "distributeRewards";
70
- "accounts": [
71
- {
72
- "name": "admin";
73
- "isMut": false;
74
- "isSigner": true;
75
- },
76
- {
77
- "name": "fundingAccount";
78
- "isMut": true;
79
- "isSigner": false;
80
- },
81
- {
82
- "name": "rewardVault";
83
- "isMut": true;
84
- "isSigner": false;
85
- },
86
- {
87
- "name": "rewardTokenAccount";
88
- "isMut": true;
89
- "isSigner": false;
90
- },
91
- {
92
- "name": "tokenProgram";
93
- "isMut": false;
94
- "isSigner": false;
95
- }
96
- ];
97
- "args": [
98
- {
99
- "name": "params";
100
- "type": {
101
- "defined": "DistributeRewardsParams";
102
- };
103
- }
104
- ];
105
- },
106
- {
107
- "name": "collectReward";
108
- "accounts": [
109
- {
110
- "name": "owner";
111
- "isMut": true;
112
- "isSigner": true;
113
- },
114
- {
115
- "name": "feePayer";
116
- "isMut": true;
117
- "isSigner": true;
118
- },
119
- {
120
- "name": "nftMint";
121
- "isMut": true;
122
- "isSigner": false;
123
- },
124
- {
125
- "name": "nftTokenAccount";
126
- "isMut": false;
127
- "isSigner": false;
128
- },
129
- {
130
- "name": "metadataAccount";
131
- "isMut": true;
132
- "isSigner": false;
133
- },
134
- {
135
- "name": "receivingAccount";
136
- "isMut": true;
137
- "isSigner": false;
138
- },
139
- {
140
- "name": "rewardRecord";
141
- "isMut": true;
142
- "isSigner": false;
143
- },
144
- {
145
- "name": "rewardVault";
146
- "isMut": true;
147
- "isSigner": false;
148
- },
149
- {
150
- "name": "rewardTokenAccount";
151
- "isMut": true;
152
- "isSigner": false;
153
- },
154
- {
155
- "name": "transferAuthority";
156
- "isMut": false;
157
- "isSigner": false;
158
- },
159
- {
160
- "name": "systemProgram";
161
- "isMut": false;
162
- "isSigner": false;
163
- },
164
- {
165
- "name": "tokenProgram";
166
- "isMut": false;
167
- "isSigner": false;
168
- }
169
- ];
170
- "args": [];
171
- }
172
- ];
173
- "accounts": [
174
- {
175
- "name": "rewardVault";
176
- "type": {
177
- "kind": "struct";
178
- "fields": [
179
- {
180
- "name": "admin";
181
- "type": "publicKey";
182
- },
183
- {
184
- "name": "collection";
185
- "type": "publicKey";
186
- },
187
- {
188
- "name": "rewardMint";
189
- "type": "publicKey";
190
- },
191
- {
192
- "name": "transferAuthority";
193
- "type": "publicKey";
194
- },
195
- {
196
- "name": "rewardTokenAccount";
197
- "type": "publicKey";
198
- },
199
- {
200
- "name": "lpTokenAccount";
201
- "type": "publicKey";
202
- },
203
- {
204
- "name": "nftCount";
205
- "type": "u64";
206
- },
207
- {
208
- "name": "accruedAmount";
209
- "type": "u128";
210
- },
211
- {
212
- "name": "paidAmount";
213
- "type": "u128";
214
- },
215
- {
216
- "name": "rewardsPerNft";
217
- "type": "u64";
218
- },
219
- {
220
- "name": "bump";
221
- "type": "u8";
222
- },
223
- {
224
- "name": "transferAuthorityBump";
225
- "type": "u8";
226
- },
227
- {
228
- "name": "tokenAccountBump";
229
- "type": "u8";
230
- }
231
- ];
232
- };
233
- },
234
- {
235
- "name": "rewardRecord";
236
- "type": {
237
- "kind": "struct";
238
- "fields": [
239
- {
240
- "name": "mint";
241
- "type": "publicKey";
242
- },
243
- {
244
- "name": "rewardDebt";
245
- "type": "u64";
246
- }
247
- ];
248
- };
249
- }
250
- ];
251
- "types": [
252
- {
253
- "name": "InitRewardVaultParams";
254
- "type": {
255
- "kind": "struct";
256
- "fields": [
257
- {
258
- "name": "nftCount";
259
- "type": "u64";
260
- }
261
- ];
262
- };
263
- },
264
- {
265
- "name": "DistributeRewardsParams";
266
- "type": {
267
- "kind": "struct";
268
- "fields": [
269
- {
270
- "name": "rewardAmount";
271
- "type": "u64";
272
- }
273
- ];
274
- };
275
- }
276
- ];
277
- "errors": [
278
- {
279
- "code": 6000;
280
- "name": "InvalidCollection";
281
- "msg": "Unsuppported NFT collection";
282
- },
283
- {
284
- "code": 6001;
285
- "name": "InvalidCount";
286
- "msg": "Invalid NFT Count";
287
- }
288
- ];
289
- };
290
- export declare const IDL: FbnftRewards;
@@ -1,292 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.IDL = void 0;
4
- exports.IDL = {
5
- "version": "0.1.0",
6
- "name": "fbnft_rewards",
7
- "instructions": [
8
- {
9
- "name": "initRewardVault",
10
- "accounts": [
11
- {
12
- "name": "admin",
13
- "isMut": true,
14
- "isSigner": true
15
- },
16
- {
17
- "name": "transferAuthority",
18
- "isMut": true,
19
- "isSigner": false
20
- },
21
- {
22
- "name": "rewardVault",
23
- "isMut": true,
24
- "isSigner": false
25
- },
26
- {
27
- "name": "rewardMint",
28
- "isMut": false,
29
- "isSigner": false
30
- },
31
- {
32
- "name": "rewardTokenAccount",
33
- "isMut": true,
34
- "isSigner": false
35
- },
36
- {
37
- "name": "collectionMint",
38
- "isMut": false,
39
- "isSigner": false
40
- },
41
- {
42
- "name": "programData",
43
- "isMut": false,
44
- "isSigner": false
45
- },
46
- {
47
- "name": "systemProgram",
48
- "isMut": false,
49
- "isSigner": false
50
- },
51
- {
52
- "name": "tokenProgram",
53
- "isMut": false,
54
- "isSigner": false
55
- },
56
- {
57
- "name": "rent",
58
- "isMut": false,
59
- "isSigner": false
60
- }
61
- ],
62
- "args": [
63
- {
64
- "name": "params",
65
- "type": {
66
- "defined": "InitRewardVaultParams"
67
- }
68
- }
69
- ]
70
- },
71
- {
72
- "name": "distributeRewards",
73
- "accounts": [
74
- {
75
- "name": "admin",
76
- "isMut": false,
77
- "isSigner": true
78
- },
79
- {
80
- "name": "fundingAccount",
81
- "isMut": true,
82
- "isSigner": false
83
- },
84
- {
85
- "name": "rewardVault",
86
- "isMut": true,
87
- "isSigner": false
88
- },
89
- {
90
- "name": "rewardTokenAccount",
91
- "isMut": true,
92
- "isSigner": false
93
- },
94
- {
95
- "name": "tokenProgram",
96
- "isMut": false,
97
- "isSigner": false
98
- }
99
- ],
100
- "args": [
101
- {
102
- "name": "params",
103
- "type": {
104
- "defined": "DistributeRewardsParams"
105
- }
106
- }
107
- ]
108
- },
109
- {
110
- "name": "collectReward",
111
- "accounts": [
112
- {
113
- "name": "owner",
114
- "isMut": true,
115
- "isSigner": true
116
- },
117
- {
118
- "name": "feePayer",
119
- "isMut": true,
120
- "isSigner": true
121
- },
122
- {
123
- "name": "nftMint",
124
- "isMut": true,
125
- "isSigner": false
126
- },
127
- {
128
- "name": "nftTokenAccount",
129
- "isMut": false,
130
- "isSigner": false
131
- },
132
- {
133
- "name": "metadataAccount",
134
- "isMut": true,
135
- "isSigner": false
136
- },
137
- {
138
- "name": "receivingAccount",
139
- "isMut": true,
140
- "isSigner": false
141
- },
142
- {
143
- "name": "rewardRecord",
144
- "isMut": true,
145
- "isSigner": false
146
- },
147
- {
148
- "name": "rewardVault",
149
- "isMut": true,
150
- "isSigner": false
151
- },
152
- {
153
- "name": "rewardTokenAccount",
154
- "isMut": true,
155
- "isSigner": false
156
- },
157
- {
158
- "name": "transferAuthority",
159
- "isMut": false,
160
- "isSigner": false
161
- },
162
- {
163
- "name": "systemProgram",
164
- "isMut": false,
165
- "isSigner": false
166
- },
167
- {
168
- "name": "tokenProgram",
169
- "isMut": false,
170
- "isSigner": false
171
- }
172
- ],
173
- "args": []
174
- }
175
- ],
176
- "accounts": [
177
- {
178
- "name": "rewardVault",
179
- "type": {
180
- "kind": "struct",
181
- "fields": [
182
- {
183
- "name": "admin",
184
- "type": "publicKey"
185
- },
186
- {
187
- "name": "collection",
188
- "type": "publicKey"
189
- },
190
- {
191
- "name": "rewardMint",
192
- "type": "publicKey"
193
- },
194
- {
195
- "name": "transferAuthority",
196
- "type": "publicKey"
197
- },
198
- {
199
- "name": "rewardTokenAccount",
200
- "type": "publicKey"
201
- },
202
- {
203
- "name": "lpTokenAccount",
204
- "type": "publicKey"
205
- },
206
- {
207
- "name": "nftCount",
208
- "type": "u64"
209
- },
210
- {
211
- "name": "accruedAmount",
212
- "type": "u128"
213
- },
214
- {
215
- "name": "paidAmount",
216
- "type": "u128"
217
- },
218
- {
219
- "name": "rewardsPerNft",
220
- "type": "u64"
221
- },
222
- {
223
- "name": "bump",
224
- "type": "u8"
225
- },
226
- {
227
- "name": "transferAuthorityBump",
228
- "type": "u8"
229
- },
230
- {
231
- "name": "tokenAccountBump",
232
- "type": "u8"
233
- }
234
- ]
235
- }
236
- },
237
- {
238
- "name": "rewardRecord",
239
- "type": {
240
- "kind": "struct",
241
- "fields": [
242
- {
243
- "name": "mint",
244
- "type": "publicKey"
245
- },
246
- {
247
- "name": "rewardDebt",
248
- "type": "u64"
249
- }
250
- ]
251
- }
252
- }
253
- ],
254
- "types": [
255
- {
256
- "name": "InitRewardVaultParams",
257
- "type": {
258
- "kind": "struct",
259
- "fields": [
260
- {
261
- "name": "nftCount",
262
- "type": "u64"
263
- }
264
- ]
265
- }
266
- },
267
- {
268
- "name": "DistributeRewardsParams",
269
- "type": {
270
- "kind": "struct",
271
- "fields": [
272
- {
273
- "name": "rewardAmount",
274
- "type": "u64"
275
- }
276
- ]
277
- }
278
- }
279
- ],
280
- "errors": [
281
- {
282
- "code": 6000,
283
- "name": "InvalidCollection",
284
- "msg": "Unsuppported NFT collection"
285
- },
286
- {
287
- "code": 6001,
288
- "name": "InvalidCount",
289
- "msg": "Invalid NFT Count"
290
- }
291
- ]
292
- };