flash-sdk 2.10.3 → 2.11.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,6 +1,6 @@
1
1
  /// <reference types="bn.js" />
2
2
  import { BN } from "@coral-xyz/anchor";
3
- import { Pool, TokenRatios, StakeStats, Permissions } from "./types";
3
+ import { Pool, TokenRatios, StakeStats, CompoundingStats, Permissions } from "./types";
4
4
  import { PublicKey } from "@solana/web3.js";
5
5
  export declare class PoolAccount implements Pool {
6
6
  publicKey: PublicKey;
@@ -9,7 +9,7 @@ export declare class PoolAccount implements Pool {
9
9
  inceptionTime: BN;
10
10
  flpMint: PublicKey;
11
11
  oracleAuthority: PublicKey;
12
- flpTokenAccount: PublicKey;
12
+ stakedFlpVault: PublicKey;
13
13
  rewardCustody: PublicKey;
14
14
  custodies: PublicKey[];
15
15
  ratios: TokenRatios[];
@@ -20,10 +20,15 @@ export declare class PoolAccount implements Pool {
20
20
  stakingFeeShareBps: BN;
21
21
  bump: number;
22
22
  flpMintBump: number;
23
- flpTokenAccountBump: number;
23
+ stakedFlpVaultBump: number;
24
24
  vpVolumeFactor: number;
25
25
  padding: number[];
26
26
  stakingFeeBoostBps: BN[];
27
+ sflpMint: PublicKey;
28
+ compoundingFlpVault: PublicKey;
29
+ compoundingStats: CompoundingStats;
30
+ sflpMintBump: number;
31
+ compoundingFlpVaultBump: number;
27
32
  constructor(publicKey: PublicKey, parseData: Pool);
28
33
  static from(publicKey: PublicKey, parseData: Pool): PoolAccount;
29
34
  updatePoolData(parseData: Pool): void;
@@ -50,9 +50,11 @@ export declare class PoolConfig {
50
50
  poolName: string;
51
51
  poolAddress: PublicKey;
52
52
  lpTokenMint: PublicKey;
53
+ sFlpTokenMint: PublicKey;
53
54
  flpTokenAccount: PublicKey;
54
55
  lpDecimals: number;
55
56
  lpTokenSymbol: string;
57
+ stakedLpTokenSymbol: string;
56
58
  perpetuals: PublicKey;
57
59
  transferAuthority: PublicKey;
58
60
  multisig: PublicKey;
@@ -69,7 +71,7 @@ export declare class PoolConfig {
69
71
  tokens: Token[];
70
72
  custodies: CustodyConfig[];
71
73
  markets: MarketConfig[];
72
- constructor(programId: PublicKey, perpComposibilityProgramId: PublicKey, fbNftRewardProgramId: PublicKey, cluster: Cluster, poolName: string, poolAddress: PublicKey, lpTokenMint: PublicKey, flpTokenAccount: PublicKey, lpDecimals: number, lpTokenSymbol: string, perpetuals: PublicKey, transferAuthority: PublicKey, multisig: PublicKey, addressLookupTableAddresses: PublicKey[], backupOracle: PublicKey, nftCollectionAddress: PublicKey, rewardDistributionProgram: {
74
+ constructor(programId: PublicKey, perpComposibilityProgramId: PublicKey, fbNftRewardProgramId: PublicKey, cluster: Cluster, poolName: string, poolAddress: PublicKey, lpTokenMint: PublicKey, sFlpTokenMint: PublicKey, flpTokenAccount: PublicKey, lpDecimals: number, lpTokenSymbol: string, stakedLpTokenSymbol: string, perpetuals: PublicKey, transferAuthority: PublicKey, multisig: PublicKey, addressLookupTableAddresses: PublicKey[], backupOracle: PublicKey, nftCollectionAddress: PublicKey, rewardDistributionProgram: {
73
75
  programId: PublicKey;
74
76
  transferAuthority: PublicKey;
75
77
  rewardVault: PublicKey;
@@ -19,7 +19,7 @@ var web3_js_1 = require("@solana/web3.js");
19
19
  var PoolConfig_json_1 = __importDefault(require("./PoolConfig.json"));
20
20
  var types_1 = require("./types");
21
21
  var PoolConfig = (function () {
22
- function PoolConfig(programId, perpComposibilityProgramId, fbNftRewardProgramId, cluster, poolName, poolAddress, lpTokenMint, flpTokenAccount, lpDecimals, lpTokenSymbol, perpetuals, transferAuthority, multisig, addressLookupTableAddresses, backupOracle, nftCollectionAddress, rewardDistributionProgram, tokens, custodies, markets) {
22
+ function PoolConfig(programId, perpComposibilityProgramId, fbNftRewardProgramId, cluster, poolName, poolAddress, lpTokenMint, sFlpTokenMint, flpTokenAccount, lpDecimals, lpTokenSymbol, stakedLpTokenSymbol, perpetuals, transferAuthority, multisig, addressLookupTableAddresses, backupOracle, nftCollectionAddress, rewardDistributionProgram, tokens, custodies, markets) {
23
23
  var _this = this;
24
24
  this.programId = programId;
25
25
  this.perpComposibilityProgramId = perpComposibilityProgramId;
@@ -28,9 +28,11 @@ var PoolConfig = (function () {
28
28
  this.poolName = poolName;
29
29
  this.poolAddress = poolAddress;
30
30
  this.lpTokenMint = lpTokenMint;
31
+ this.sFlpTokenMint = sFlpTokenMint;
31
32
  this.flpTokenAccount = flpTokenAccount;
32
33
  this.lpDecimals = lpDecimals;
33
34
  this.lpTokenSymbol = lpTokenSymbol;
35
+ this.stakedLpTokenSymbol = stakedLpTokenSymbol;
34
36
  this.perpetuals = perpetuals;
35
37
  this.transferAuthority = transferAuthority;
36
38
  this.multisig = multisig;
@@ -163,7 +165,7 @@ var PoolConfig = (function () {
163
165
  catch (error) {
164
166
  console.log("ERROR: buildPoolconfigFromJson unable to load markets ");
165
167
  }
166
- return new PoolConfig(new web3_js_1.PublicKey(poolConfig.programId), new web3_js_1.PublicKey(poolConfig.perpComposibilityProgramId), new web3_js_1.PublicKey(poolConfig.fbNftRewardProgramId), poolConfig.cluster, poolConfig.poolName, new web3_js_1.PublicKey(poolConfig.poolAddress), new web3_js_1.PublicKey(poolConfig.lpTokenMint), new web3_js_1.PublicKey(poolConfig.flpTokenAccount), poolConfig.lpDecimals, poolConfig.lpTokenSymbol, new web3_js_1.PublicKey(poolConfig.perpetuals), new web3_js_1.PublicKey(poolConfig.transferAuthority), new web3_js_1.PublicKey(poolConfig.multisig), addressLookupTableAddresses, new web3_js_1.PublicKey(poolConfig.backupOracle), new web3_js_1.PublicKey(poolConfig.nftCollectionAddress), {
168
+ return new PoolConfig(new web3_js_1.PublicKey(poolConfig.programId), new web3_js_1.PublicKey(poolConfig.perpComposibilityProgramId), new web3_js_1.PublicKey(poolConfig.fbNftRewardProgramId), poolConfig.cluster, poolConfig.poolName, new web3_js_1.PublicKey(poolConfig.poolAddress), new web3_js_1.PublicKey(poolConfig.lpTokenMint), new web3_js_1.PublicKey(poolConfig.sFlpTokenMint), new web3_js_1.PublicKey(poolConfig.flpTokenAccount), poolConfig.lpDecimals, poolConfig.lpTokenSymbol, poolConfig.stakedLpTokenSymbol, new web3_js_1.PublicKey(poolConfig.perpetuals), new web3_js_1.PublicKey(poolConfig.transferAuthority), new web3_js_1.PublicKey(poolConfig.multisig), addressLookupTableAddresses, new web3_js_1.PublicKey(poolConfig.backupOracle), new web3_js_1.PublicKey(poolConfig.nftCollectionAddress), {
167
169
  programId: new web3_js_1.PublicKey(poolConfig.rewardDistributionProgram.programId),
168
170
  rewardMint: new web3_js_1.PublicKey(poolConfig.rewardDistributionProgram.rewardMint),
169
171
  rewardTokenAccount: new web3_js_1.PublicKey(poolConfig.rewardDistributionProgram.rewardTokenAccount),
@@ -14,10 +14,12 @@
14
14
  "poolName": "Crypto.1",
15
15
  "poolAddress": "HfF7GCcEc76xubFCHLLXRdYcgRzwjEPdfKWqzRS8Ncog",
16
16
  "lpTokenMint": "9Fzv4s5t2bNwwJoeeywMwypop3JegsuDb1eDbMnPr4TX",
17
+ "sFlpTokenMint": "9Fzv4s5t2bNwwJoeeywMwypop3JegsuDb1eDbMnPr4TX",
17
18
  "flpTokenAccount": "4XUhXBvgyCyU6LdZnutxj8Zc7oXPnTeKeEBwBmne47Bq",
18
19
  "metadataAccount": "H9kfgaiHv8LnQUBWVoM8x69bidG2d16uWPDbMS3JCP5c",
19
20
  "lpDecimals": 6,
20
21
  "lpTokenSymbol": "FLP.1",
22
+ "stakedLpTokenSymbol": "sFLP.1",
21
23
  "perpetuals": "7DWCtB5Z8rPiyBMKUwqyC95R9tJpbhoQhLM9LbK3Z5QZ",
22
24
  "transferAuthority": "81xGAvJ27ZeRThU2JEfKAUeT4Fx6qCCd8WHZpujZbiiG",
23
25
  "multisig": "3FqKnAQrvr6G6AqCAWKdqg9fVe6ceAk3A5Y1ibeQqV2V",
@@ -245,10 +247,12 @@
245
247
  "poolName": "Virtual.1",
246
248
  "poolAddress": "KwhpybQPe9xuZFmAfcjLHj3ukownWex1ratyascAC1X",
247
249
  "lpTokenMint": "CrdMPbjooMmz6RoVgUnczWoeZka2QF14pikcCTpzRMxz",
250
+ "sFlpTokenMint": "9Fzv4s5t2bNwwJoeeywMwypop3JegsuDb1eDbMnPr4TX",
248
251
  "flpTokenAccount": "So11111111111111111111111111111111111111112",
249
252
  "metadataAccount": "HD5cfUWyMw8J1CaRENKw8zruY9DMJDWni5iejg4onY7G",
250
253
  "lpDecimals": 6,
251
254
  "lpTokenSymbol": "FLP.2",
255
+ "stakedLpTokenSymbol": "sFLP.2",
252
256
  "perpetuals": "7DWCtB5Z8rPiyBMKUwqyC95R9tJpbhoQhLM9LbK3Z5QZ",
253
257
  "transferAuthority": "81xGAvJ27ZeRThU2JEfKAUeT4Fx6qCCd8WHZpujZbiiG",
254
258
  "multisig": "3FqKnAQrvr6G6AqCAWKdqg9fVe6ceAk3A5Y1ibeQqV2V",
@@ -571,10 +575,12 @@
571
575
  "poolName": "Governance.1",
572
576
  "poolAddress": "D6bfytnxoZBSzJM7fcixg5sgWJ2hj8SbwkPvb2r8XpbH",
573
577
  "lpTokenMint": "6afu2XRPMg8JAhzBsJ9DXsQRCFhkzbC4UaFMZepm6AHb",
578
+ "sFlpTokenMint": "9Fzv4s5t2bNwwJoeeywMwypop3JegsuDb1eDbMnPr4TX",
574
579
  "flpTokenAccount": "EhiSmAktg5AqZfKwV8igfnTqZZsaAdFfZBLGLEmGjyvw",
575
580
  "metadataAccount": "G86ybpQVnnQUBPPPHNT9jERuSPJ9HFEo5PDcSaMQhRMX",
576
581
  "lpDecimals": 6,
577
582
  "lpTokenSymbol": "FLP.3",
583
+ "stakedLpTokenSymbol": "sFLP.3",
578
584
  "perpetuals": "7DWCtB5Z8rPiyBMKUwqyC95R9tJpbhoQhLM9LbK3Z5QZ",
579
585
  "transferAuthority": "81xGAvJ27ZeRThU2JEfKAUeT4Fx6qCCd8WHZpujZbiiG",
580
586
  "multisig": "3FqKnAQrvr6G6AqCAWKdqg9fVe6ceAk3A5Y1ibeQqV2V",
@@ -950,10 +956,12 @@
950
956
  "poolName": "Community.1",
951
957
  "poolAddress": "6HukhSeVVLQekKaGJYkwztBacjhKLKywVPrmcvccaYMz",
952
958
  "lpTokenMint": "GnxdTsSQNQ3FF72nTyWo4SUt59Tt1MqDkRRfoPtKjMvJ",
959
+ "sFlpTokenMint": "9Fzv4s5t2bNwwJoeeywMwypop3JegsuDb1eDbMnPr4TX",
953
960
  "flpTokenAccount": "BX61fNmuhXtPPRaRTo2bAQFyhnmBqAXWG41PUqQx62yr",
954
961
  "metadataAccount": "8HPm3sNXqFxNkEDYBMwX1BnXxxfn4XY6Jt5b8ikv6m7b",
955
962
  "lpDecimals": 6,
956
963
  "lpTokenSymbol": "FLP.4",
964
+ "stakedLpTokenSymbol": "sFLP.4",
957
965
  "perpetuals": "7DWCtB5Z8rPiyBMKUwqyC95R9tJpbhoQhLM9LbK3Z5QZ",
958
966
  "transferAuthority": "81xGAvJ27ZeRThU2JEfKAUeT4Fx6qCCd8WHZpujZbiiG",
959
967
  "multisig": "3FqKnAQrvr6G6AqCAWKdqg9fVe6ceAk3A5Y1ibeQqV2V",
@@ -1064,10 +1072,12 @@
1064
1072
  "poolName": "Community.2",
1065
1073
  "poolAddress": "DP1FnZjWzDjSMQA64BcMzUdpDpyAQ6723d5fpX4yTk5G",
1066
1074
  "lpTokenMint": "EsdayVbDQYQdy54TQh5iASMTkCzmhxsx6MpCvyrtYaUZ",
1075
+ "sFlpTokenMint": "9Fzv4s5t2bNwwJoeeywMwypop3JegsuDb1eDbMnPr4TX",
1067
1076
  "flpTokenAccount": "DCW9WsRzhsXQ78MLenwFaRc5BUGBUADXNaNnuzRWoAHd",
1068
1077
  "metadataAccount": "BR4ZZ8wkomYSbiap9jDfTPCBT348eciPWBnLHUXKu5rL",
1069
1078
  "lpDecimals": 6,
1070
1079
  "lpTokenSymbol": "FLP.5",
1080
+ "stakedLpTokenSymbol": "sFLP.5",
1071
1081
  "perpetuals": "7DWCtB5Z8rPiyBMKUwqyC95R9tJpbhoQhLM9LbK3Z5QZ",
1072
1082
  "transferAuthority": "81xGAvJ27ZeRThU2JEfKAUeT4Fx6qCCd8WHZpujZbiiG",
1073
1083
  "multisig": "3FqKnAQrvr6G6AqCAWKdqg9fVe6ceAk3A5Y1ibeQqV2V",
@@ -1178,10 +1188,12 @@
1178
1188
  "poolName": "devnet.1",
1179
1189
  "poolAddress": "7jA4ZSGwaBxXk5EmPKDCSc5RtZNHxyoxy22iQt3D2mH9",
1180
1190
  "lpTokenMint": "H4h7nsZaz53KZHMdSXc5byBjcbymEFYX6an8UVbh51yU",
1191
+ "sFlpTokenMint": "9Fzv4s5t2bNwwJoeeywMwypop3JegsuDb1eDbMnPr4TX",
1181
1192
  "flpTokenAccount": "5saGiRTc9iszokguCfPs7vtgmhsCpqYLfbRgemvsxM4T",
1182
1193
  "metadataAccount": "7NvA4CEqr9Tei1MDDKrbYFKV5D39fkPPEfRv5Z5ZXZEb",
1183
1194
  "lpDecimals": 6,
1184
1195
  "lpTokenSymbol": "FLP.1",
1196
+ "stakedLpTokenSymbol": "sFLP.1",
1185
1197
  "perpetuals": "445GcRLAJ64DcxSRbvQTkbwXgWUyubAxzQUQ2wL73KLS",
1186
1198
  "transferAuthority": "EPyHAAHUYnFATwd8CJ7owLnozFeS8pFsr3RNJD1eueYq",
1187
1199
  "multisig": "Eu3cBFRo18AeN9BFb5ndzk2PEmBT7yWEhh3VkG21pyGo",
@@ -1409,10 +1421,12 @@
1409
1421
  "poolName": "devnet.2",
1410
1422
  "poolAddress": "5MCtcNsF3dxna8ArzMamyciWDV3TBkiAzY1NqLtNiXvw",
1411
1423
  "lpTokenMint": "CEBnqSukYQjcRiKiZKmkbJSDYojtc4GdSipKJ5bSYvHd",
1424
+ "sFlpTokenMint": "9Fzv4s5t2bNwwJoeeywMwypop3JegsuDb1eDbMnPr4TX",
1412
1425
  "flpTokenAccount": "CEBnqSukYQjcRiKiZKmkbJSDYojtc4GdSipKJ5bSYvHd",
1413
1426
  "metadataAccount": "CeUy9d6CGyj4mL3JVhYKK2A462yjpb4FGyWUyA7zDoWi",
1414
1427
  "lpDecimals": 6,
1415
1428
  "lpTokenSymbol": "FLP.2",
1429
+ "stakedLpTokenSymbol": "sFLP.2",
1416
1430
  "perpetuals": "445GcRLAJ64DcxSRbvQTkbwXgWUyubAxzQUQ2wL73KLS",
1417
1431
  "transferAuthority": "EPyHAAHUYnFATwd8CJ7owLnozFeS8pFsr3RNJD1eueYq",
1418
1432
  "multisig": "Eu3cBFRo18AeN9BFb5ndzk2PEmBT7yWEhh3VkG21pyGo",
@@ -1735,10 +1749,12 @@
1735
1749
  "poolName": "devnet.3",
1736
1750
  "poolAddress": "FpRXePeSYyPZrBKrCSvLNSQGYT6gkgZXGDCBWVVRkNRT",
1737
1751
  "lpTokenMint": "BAh7XbUKRFYtt5a9FjJqeyUqqrx3SZqayiPosYiZFneJ",
1752
+ "sFlpTokenMint": "9Fzv4s5t2bNwwJoeeywMwypop3JegsuDb1eDbMnPr4TX",
1738
1753
  "flpTokenAccount": "5HYrb2rKjF2b2ye5EiZAYeBYNeNEUzCct3N2rBmVjzLu",
1739
1754
  "metadataAccount": "Hm6oanS5hrcu3QMC4jumKq2U5aUaJrfasE1sQ2Lct3zF",
1740
1755
  "lpDecimals": 6,
1741
1756
  "lpTokenSymbol": "FLP.3",
1757
+ "stakedLpTokenSymbol": "sFLP.3",
1742
1758
  "perpetuals": "445GcRLAJ64DcxSRbvQTkbwXgWUyubAxzQUQ2wL73KLS",
1743
1759
  "transferAuthority": "EPyHAAHUYnFATwd8CJ7owLnozFeS8pFsr3RNJD1eueYq",
1744
1760
  "multisig": "Eu3cBFRo18AeN9BFb5ndzk2PEmBT7yWEhh3VkG21pyGo",
@@ -2114,10 +2130,12 @@
2114
2130
  "poolName": "devnet.4",
2115
2131
  "poolAddress": "2SLfjsonPtdBugZke3UJzQ8s7DcHQHJxqUuVN1wrthnc",
2116
2132
  "lpTokenMint": "58YkJCFQZ3htRUtkHMdUZNfdpEcjGTFi1jx3DceZvd6N",
2133
+ "sFlpTokenMint": "9Fzv4s5t2bNwwJoeeywMwypop3JegsuDb1eDbMnPr4TX",
2117
2134
  "flpTokenAccount": "5HYrb2rKjF2b2ye5EiZAYeBYNeNEUzCct3N2rBmVjzLu",
2118
2135
  "metadataAccount": "Hm6oanS5hrcu3QMC4jumKq2U5aUaJrfasE1sQ2Lct3zF",
2119
2136
  "lpDecimals": 6,
2120
2137
  "lpTokenSymbol": "FLP.4",
2138
+ "stakedLpTokenSymbol": "sFLP.4",
2121
2139
  "perpetuals": "445GcRLAJ64DcxSRbvQTkbwXgWUyubAxzQUQ2wL73KLS",
2122
2140
  "transferAuthority": "EPyHAAHUYnFATwd8CJ7owLnozFeS8pFsr3RNJD1eueYq",
2123
2141
  "multisig": "Eu3cBFRo18AeN9BFb5ndzk2PEmBT7yWEhh3VkG21pyGo",
@@ -2228,10 +2246,12 @@
2228
2246
  "poolName": "devnet.5",
2229
2247
  "poolAddress": "74MmsAH8H4S95KbBgWA4XP4vHcxe7jxEopjUkMabQUa",
2230
2248
  "lpTokenMint": "FBZ3eWtCmwkEnEMQ1t7dStRV5Xb5B41xfwWNsBmSUxFT",
2249
+ "sFlpTokenMint": "9Fzv4s5t2bNwwJoeeywMwypop3JegsuDb1eDbMnPr4TX",
2231
2250
  "flpTokenAccount": "11111111111111111111111111111111",
2232
2251
  "metadataAccount": "5J42aH92z42HaUzSHoaA4iCCBE1iUsVt2u5oaYdN5yPx",
2233
2252
  "lpDecimals": 6,
2234
2253
  "lpTokenSymbol": "FLP.5",
2254
+ "stakedLpTokenSymbol": "sFLP.5",
2235
2255
  "perpetuals": "445GcRLAJ64DcxSRbvQTkbwXgWUyubAxzQUQ2wL73KLS",
2236
2256
  "transferAuthority": "EPyHAAHUYnFATwd8CJ7owLnozFeS8pFsr3RNJD1eueYq",
2237
2257
  "multisig": "Eu3cBFRo18AeN9BFb5ndzk2PEmBT7yWEhh3VkG21pyGo",
@@ -279,6 +279,11 @@ export type FbnftRewards = {
279
279
  "code": 6000;
280
280
  "name": "InvalidCollection";
281
281
  "msg": "Unsuppported NFT collection";
282
+ },
283
+ {
284
+ "code": 6001;
285
+ "name": "InvalidCount";
286
+ "msg": "Invalid NFT Count";
282
287
  }
283
288
  ];
284
289
  };
@@ -282,6 +282,11 @@ exports.IDL = {
282
282
  "code": 6000,
283
283
  "name": "InvalidCollection",
284
284
  "msg": "Unsuppported NFT collection"
285
+ },
286
+ {
287
+ "code": 6001,
288
+ "name": "InvalidCount",
289
+ "msg": "Invalid NFT Count"
285
290
  }
286
291
  ]
287
292
  };