flash-sdk 10.10.6 → 11.0.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.
@@ -1,4 +1,3 @@
1
- /// <reference types="bn.js" />
2
1
  import { BN } from "@coral-xyz/anchor";
3
2
  import { Pool, TokenRatios, StakeStats, CompoundingStats, Permissions } from "./types";
4
3
  import { PublicKey } from "@solana/web3.js";
@@ -38,6 +37,9 @@ export declare class PoolAccount implements Pool {
38
37
  compoundingLpPrice: BN;
39
38
  lastUpdatedTimestamp: BN;
40
39
  padding2: BN[];
40
+ feesObligationUsd: BN;
41
+ rebateObligationUsd: BN;
42
+ thresholdUsd: BN;
41
43
  constructor(publicKey: PublicKey, parseData: Pool);
42
44
  static from(publicKey: PublicKey, parseData: Pool): PoolAccount;
43
45
  updatePoolData(parseData: Pool): void;
@@ -67,6 +67,8 @@ export declare class PoolConfig {
67
67
  tokenMint: PublicKey;
68
68
  tokenVault: PublicKey;
69
69
  tokenVaultTokenAccount: PublicKey;
70
+ rebateVault: PublicKey;
71
+ rebateTokenAccount: PublicKey;
70
72
  revenueTokenAccount: PublicKey;
71
73
  protocolVault: PublicKey;
72
74
  protocolTokenAccount: PublicKey;
@@ -85,7 +87,7 @@ export declare class PoolConfig {
85
87
  tokens: Token[];
86
88
  custodies: CustodyConfig[];
87
89
  markets: MarketConfig[];
88
- constructor(programId: PublicKey, perpComposibilityProgramId: PublicKey, fbNftRewardProgramId: PublicKey, cluster: Cluster, poolName: string, poolAddress: PublicKey, stakedLpTokenMint: PublicKey, compoundingTokenMint: PublicKey, stakedLpVault: PublicKey, compoundingLpVault: PublicKey, lpDecimals: number, compoundingLpTokenSymbol: string, stakedLpTokenSymbol: string, perpetuals: PublicKey, transferAuthority: PublicKey, tokenMint: PublicKey, tokenVault: PublicKey, tokenVaultTokenAccount: PublicKey, revenueTokenAccount: PublicKey, protocolVault: PublicKey, protocolTokenAccount: PublicKey, multisig: PublicKey, addressLookupTableAddresses: PublicKey[], pusherAddressLookupTableAddress: PublicKey, backupOracle: PublicKey, nftCollectionAddress: PublicKey, rewardDistributionProgram: {
90
+ constructor(programId: PublicKey, perpComposibilityProgramId: PublicKey, fbNftRewardProgramId: PublicKey, cluster: Cluster, poolName: string, poolAddress: PublicKey, stakedLpTokenMint: PublicKey, compoundingTokenMint: PublicKey, stakedLpVault: PublicKey, compoundingLpVault: PublicKey, lpDecimals: number, compoundingLpTokenSymbol: string, stakedLpTokenSymbol: string, perpetuals: PublicKey, transferAuthority: PublicKey, tokenMint: PublicKey, tokenVault: PublicKey, tokenVaultTokenAccount: PublicKey, rebateVault: PublicKey, rebateTokenAccount: PublicKey, revenueTokenAccount: PublicKey, protocolVault: PublicKey, protocolTokenAccount: PublicKey, multisig: PublicKey, addressLookupTableAddresses: PublicKey[], pusherAddressLookupTableAddress: PublicKey, backupOracle: PublicKey, nftCollectionAddress: PublicKey, rewardDistributionProgram: {
89
91
  programId: PublicKey;
90
92
  transferAuthority: PublicKey;
91
93
  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, stakedLpTokenMint, compoundingTokenMint, stakedLpVault, compoundingLpVault, lpDecimals, compoundingLpTokenSymbol, stakedLpTokenSymbol, perpetuals, transferAuthority, tokenMint, tokenVault, tokenVaultTokenAccount, revenueTokenAccount, protocolVault, protocolTokenAccount, multisig, addressLookupTableAddresses, pusherAddressLookupTableAddress, backupOracle, nftCollectionAddress, rewardDistributionProgram, tokens, custodies, markets) {
22
+ function PoolConfig(programId, perpComposibilityProgramId, fbNftRewardProgramId, cluster, poolName, poolAddress, stakedLpTokenMint, compoundingTokenMint, stakedLpVault, compoundingLpVault, lpDecimals, compoundingLpTokenSymbol, stakedLpTokenSymbol, perpetuals, transferAuthority, tokenMint, tokenVault, tokenVaultTokenAccount, rebateVault, rebateTokenAccount, revenueTokenAccount, protocolVault, protocolTokenAccount, multisig, addressLookupTableAddresses, pusherAddressLookupTableAddress, backupOracle, nftCollectionAddress, rewardDistributionProgram, tokens, custodies, markets) {
23
23
  var _this = this;
24
24
  this.programId = programId;
25
25
  this.perpComposibilityProgramId = perpComposibilityProgramId;
@@ -39,6 +39,8 @@ var PoolConfig = (function () {
39
39
  this.tokenMint = tokenMint;
40
40
  this.tokenVault = tokenVault;
41
41
  this.tokenVaultTokenAccount = tokenVaultTokenAccount;
42
+ this.rebateVault = rebateVault;
43
+ this.rebateTokenAccount = rebateTokenAccount;
42
44
  this.revenueTokenAccount = revenueTokenAccount;
43
45
  this.protocolVault = protocolVault;
44
46
  this.protocolTokenAccount = protocolTokenAccount;
@@ -187,7 +189,7 @@ var PoolConfig = (function () {
187
189
  catch (error) {
188
190
  console.log("ERROR: buildPoolconfigFromJson unable to load markets ");
189
191
  }
190
- 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.stakedLpTokenMint), new web3_js_1.PublicKey(poolConfig.compoundingTokenMint), new web3_js_1.PublicKey(poolConfig.stakedLpVault), new web3_js_1.PublicKey(poolConfig.compoundingLpVault), poolConfig.lpDecimals, poolConfig.compoundingLpTokenSymbol, poolConfig.stakedLpTokenSymbol, new web3_js_1.PublicKey(poolConfig.perpetuals), new web3_js_1.PublicKey(poolConfig.transferAuthority), new web3_js_1.PublicKey(poolConfig.tokenMint), new web3_js_1.PublicKey(poolConfig.tokenVault), new web3_js_1.PublicKey(poolConfig.tokenVaultTokenAccount), new web3_js_1.PublicKey(poolConfig.revenueTokenAccount), new web3_js_1.PublicKey(poolConfig.protocolVault), new web3_js_1.PublicKey(poolConfig.protocolTokenAccount), new web3_js_1.PublicKey(poolConfig.multisig), addressLookupTableAddresses, pusherAddressLookupTableAddress, new web3_js_1.PublicKey(poolConfig.backupOracle), new web3_js_1.PublicKey(poolConfig.nftCollectionAddress), {
192
+ 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.stakedLpTokenMint), new web3_js_1.PublicKey(poolConfig.compoundingTokenMint), new web3_js_1.PublicKey(poolConfig.stakedLpVault), new web3_js_1.PublicKey(poolConfig.compoundingLpVault), poolConfig.lpDecimals, poolConfig.compoundingLpTokenSymbol, poolConfig.stakedLpTokenSymbol, new web3_js_1.PublicKey(poolConfig.perpetuals), new web3_js_1.PublicKey(poolConfig.transferAuthority), new web3_js_1.PublicKey(poolConfig.tokenMint), new web3_js_1.PublicKey(poolConfig.tokenVault), new web3_js_1.PublicKey(poolConfig.tokenVaultTokenAccount), new web3_js_1.PublicKey(poolConfig.rebateVault), new web3_js_1.PublicKey(poolConfig.rebateTokenAccount), new web3_js_1.PublicKey(poolConfig.revenueTokenAccount), new web3_js_1.PublicKey(poolConfig.protocolVault), new web3_js_1.PublicKey(poolConfig.protocolTokenAccount), new web3_js_1.PublicKey(poolConfig.multisig), addressLookupTableAddresses, pusherAddressLookupTableAddress, new web3_js_1.PublicKey(poolConfig.backupOracle), new web3_js_1.PublicKey(poolConfig.nftCollectionAddress), {
191
193
  programId: new web3_js_1.PublicKey(poolConfig.rewardDistributionProgram.programId),
192
194
  rewardMint: new web3_js_1.PublicKey(poolConfig.rewardDistributionProgram.rewardMint),
193
195
  rewardTokenAccount: new web3_js_1.PublicKey(poolConfig.rewardDistributionProgram.rewardTokenAccount),
@@ -27,6 +27,8 @@
27
27
  "tokenVault": "DBh5a25KUsmbz62sxStp4PRu8WdJmdGUmuCJWvxse5YL",
28
28
  "tokenVaultTokenAccount": "7tULeZXC2UyPPzHyE9BhFJmFtfNedACJrVywyWYSwzJP",
29
29
  "revenueTokenAccount": "Aw9fQzvcRuSmAkjzB6BMZRvywmGrpWtCzYrD63HoguXr",
30
+ "rebateVault": "F7kanenf6CRq38KpC3FYDtTHJ1j3c1G3xJoDtL4Xnzbm",
31
+ "rebateTokenAccount": "3gHUNvvDpnNi371EMJ3M4SDWE825WkdN5LPdPa1DTvyE",
30
32
  "protocolVault": "6N5wgTi4z29N1MCPiiDRPhxDkhHM83Q6WA2CVvnNKSme",
31
33
  "protocolTokenAccount": "9iQ9saFbTfYPHsJwnKY9BMc7xACxEL9mcHrP7qYWoTKG",
32
34
  "multisig": "3FqKnAQrvr6G6AqCAWKdqg9fVe6ceAk3A5Y1ibeQqV2V",
@@ -408,6 +410,8 @@
408
410
  "tokenVault": "DBh5a25KUsmbz62sxStp4PRu8WdJmdGUmuCJWvxse5YL",
409
411
  "tokenVaultTokenAccount": "7tULeZXC2UyPPzHyE9BhFJmFtfNedACJrVywyWYSwzJP",
410
412
  "revenueTokenAccount": "Aw9fQzvcRuSmAkjzB6BMZRvywmGrpWtCzYrD63HoguXr",
413
+ "rebateVault": "F7kanenf6CRq38KpC3FYDtTHJ1j3c1G3xJoDtL4Xnzbm",
414
+ "rebateTokenAccount": "3gHUNvvDpnNi371EMJ3M4SDWE825WkdN5LPdPa1DTvyE",
411
415
  "protocolVault": "6N5wgTi4z29N1MCPiiDRPhxDkhHM83Q6WA2CVvnNKSme",
412
416
  "protocolTokenAccount": "9iQ9saFbTfYPHsJwnKY9BMc7xACxEL9mcHrP7qYWoTKG",
413
417
  "multisig": "3FqKnAQrvr6G6AqCAWKdqg9fVe6ceAk3A5Y1ibeQqV2V",
@@ -792,6 +796,8 @@
792
796
  "tokenVault": "DBh5a25KUsmbz62sxStp4PRu8WdJmdGUmuCJWvxse5YL",
793
797
  "tokenVaultTokenAccount": "7tULeZXC2UyPPzHyE9BhFJmFtfNedACJrVywyWYSwzJP",
794
798
  "revenueTokenAccount": "Aw9fQzvcRuSmAkjzB6BMZRvywmGrpWtCzYrD63HoguXr",
799
+ "rebateVault": "F7kanenf6CRq38KpC3FYDtTHJ1j3c1G3xJoDtL4Xnzbm",
800
+ "rebateTokenAccount": "3gHUNvvDpnNi371EMJ3M4SDWE825WkdN5LPdPa1DTvyE",
795
801
  "protocolVault": "6N5wgTi4z29N1MCPiiDRPhxDkhHM83Q6WA2CVvnNKSme",
796
802
  "protocolTokenAccount": "9iQ9saFbTfYPHsJwnKY9BMc7xACxEL9mcHrP7qYWoTKG",
797
803
  "multisig": "3FqKnAQrvr6G6AqCAWKdqg9fVe6ceAk3A5Y1ibeQqV2V",
@@ -1300,6 +1306,8 @@
1300
1306
  "tokenVault": "DBh5a25KUsmbz62sxStp4PRu8WdJmdGUmuCJWvxse5YL",
1301
1307
  "tokenVaultTokenAccount": "7tULeZXC2UyPPzHyE9BhFJmFtfNedACJrVywyWYSwzJP",
1302
1308
  "revenueTokenAccount": "Aw9fQzvcRuSmAkjzB6BMZRvywmGrpWtCzYrD63HoguXr",
1309
+ "rebateVault": "F7kanenf6CRq38KpC3FYDtTHJ1j3c1G3xJoDtL4Xnzbm",
1310
+ "rebateTokenAccount": "3gHUNvvDpnNi371EMJ3M4SDWE825WkdN5LPdPa1DTvyE",
1303
1311
  "protocolVault": "6N5wgTi4z29N1MCPiiDRPhxDkhHM83Q6WA2CVvnNKSme",
1304
1312
  "protocolTokenAccount": "9iQ9saFbTfYPHsJwnKY9BMc7xACxEL9mcHrP7qYWoTKG",
1305
1313
  "multisig": "3FqKnAQrvr6G6AqCAWKdqg9fVe6ceAk3A5Y1ibeQqV2V",
@@ -1560,6 +1568,8 @@
1560
1568
  "tokenVault": "DBh5a25KUsmbz62sxStp4PRu8WdJmdGUmuCJWvxse5YL",
1561
1569
  "tokenVaultTokenAccount": "7tULeZXC2UyPPzHyE9BhFJmFtfNedACJrVywyWYSwzJP",
1562
1570
  "revenueTokenAccount": "Aw9fQzvcRuSmAkjzB6BMZRvywmGrpWtCzYrD63HoguXr",
1571
+ "rebateVault": "F7kanenf6CRq38KpC3FYDtTHJ1j3c1G3xJoDtL4Xnzbm",
1572
+ "rebateTokenAccount": "3gHUNvvDpnNi371EMJ3M4SDWE825WkdN5LPdPa1DTvyE",
1563
1573
  "protocolVault": "6N5wgTi4z29N1MCPiiDRPhxDkhHM83Q6WA2CVvnNKSme",
1564
1574
  "protocolTokenAccount": "9iQ9saFbTfYPHsJwnKY9BMc7xACxEL9mcHrP7qYWoTKG",
1565
1575
  "multisig": "3FqKnAQrvr6G6AqCAWKdqg9fVe6ceAk3A5Y1ibeQqV2V",
@@ -1696,6 +1706,8 @@
1696
1706
  "tokenVault": "DBh5a25KUsmbz62sxStp4PRu8WdJmdGUmuCJWvxse5YL",
1697
1707
  "tokenVaultTokenAccount": "7tULeZXC2UyPPzHyE9BhFJmFtfNedACJrVywyWYSwzJP",
1698
1708
  "revenueTokenAccount": "Aw9fQzvcRuSmAkjzB6BMZRvywmGrpWtCzYrD63HoguXr",
1709
+ "rebateVault": "F7kanenf6CRq38KpC3FYDtTHJ1j3c1G3xJoDtL4Xnzbm",
1710
+ "rebateTokenAccount": "3gHUNvvDpnNi371EMJ3M4SDWE825WkdN5LPdPa1DTvyE",
1699
1711
  "protocolVault": "6N5wgTi4z29N1MCPiiDRPhxDkhHM83Q6WA2CVvnNKSme",
1700
1712
  "protocolTokenAccount": "9iQ9saFbTfYPHsJwnKY9BMc7xACxEL9mcHrP7qYWoTKG",
1701
1713
  "multisig": "3FqKnAQrvr6G6AqCAWKdqg9fVe6ceAk3A5Y1ibeQqV2V",
@@ -1832,6 +1844,8 @@
1832
1844
  "tokenVault": "DBh5a25KUsmbz62sxStp4PRu8WdJmdGUmuCJWvxse5YL",
1833
1845
  "tokenVaultTokenAccount": "7tULeZXC2UyPPzHyE9BhFJmFtfNedACJrVywyWYSwzJP",
1834
1846
  "revenueTokenAccount": "Aw9fQzvcRuSmAkjzB6BMZRvywmGrpWtCzYrD63HoguXr",
1847
+ "rebateVault": "F7kanenf6CRq38KpC3FYDtTHJ1j3c1G3xJoDtL4Xnzbm",
1848
+ "rebateTokenAccount": "3gHUNvvDpnNi371EMJ3M4SDWE825WkdN5LPdPa1DTvyE",
1835
1849
  "protocolVault": "6N5wgTi4z29N1MCPiiDRPhxDkhHM83Q6WA2CVvnNKSme",
1836
1850
  "protocolTokenAccount": "9iQ9saFbTfYPHsJwnKY9BMc7xACxEL9mcHrP7qYWoTKG",
1837
1851
  "multisig": "3FqKnAQrvr6G6AqCAWKdqg9fVe6ceAk3A5Y1ibeQqV2V",
@@ -1968,6 +1982,8 @@
1968
1982
  "tokenVault": "ELDbqfMSwrwb77zszaERW8vwYHGKnupddRACfBq2WPw4",
1969
1983
  "tokenVaultTokenAccount": "DJ4qTezsjc7HjtNKuVM8xoQpAhrxAEYDMitmzUesXtsR",
1970
1984
  "revenueTokenAccount": "CFoRc6wa6v7XwByXQ9k1noADHDBtsgaPRqRqcvXj45PX",
1985
+ "rebateVault": "D9zs1kKY634CYXCmCnNjsemANXebpiAqSdsSSjrJZkdv",
1986
+ "rebateTokenAccount": "G7XgbNcTJN7BbRFkqV2GdFvuAY8cVtYr8rUW1SjoA6Fx",
1971
1987
  "protocolVault": "5Ah1vannj7FSVa7N6eZdwwXowMyZBrHtrF7Zd1HVjuJ",
1972
1988
  "protocolTokenAccount": "4US73S8pPe3rGJ44iUuTRATeB8PA2Jindwf11D3B3C37",
1973
1989
  "multisig": "8DieAFUfaUZNSQzzzux9c7LAxsd9XQQuM9kvrZupnJ4Q",
@@ -2349,6 +2365,8 @@
2349
2365
  "tokenVault": "ELDbqfMSwrwb77zszaERW8vwYHGKnupddRACfBq2WPw4",
2350
2366
  "tokenVaultTokenAccount": "DJ4qTezsjc7HjtNKuVM8xoQpAhrxAEYDMitmzUesXtsR",
2351
2367
  "revenueTokenAccount": "CFoRc6wa6v7XwByXQ9k1noADHDBtsgaPRqRqcvXj45PX",
2368
+ "rebateVault": "D9zs1kKY634CYXCmCnNjsemANXebpiAqSdsSSjrJZkdv",
2369
+ "rebateTokenAccount": "G7XgbNcTJN7BbRFkqV2GdFvuAY8cVtYr8rUW1SjoA6Fx",
2352
2370
  "protocolVault": "5Ah1vannj7FSVa7N6eZdwwXowMyZBrHtrF7Zd1HVjuJ",
2353
2371
  "protocolTokenAccount": "4US73S8pPe3rGJ44iUuTRATeB8PA2Jindwf11D3B3C37",
2354
2372
  "multisig": "8DieAFUfaUZNSQzzzux9c7LAxsd9XQQuM9kvrZupnJ4Q",
@@ -2733,6 +2751,8 @@
2733
2751
  "tokenVault": "ELDbqfMSwrwb77zszaERW8vwYHGKnupddRACfBq2WPw4",
2734
2752
  "tokenVaultTokenAccount": "DJ4qTezsjc7HjtNKuVM8xoQpAhrxAEYDMitmzUesXtsR",
2735
2753
  "revenueTokenAccount": "CFoRc6wa6v7XwByXQ9k1noADHDBtsgaPRqRqcvXj45PX",
2754
+ "rebateVault": "D9zs1kKY634CYXCmCnNjsemANXebpiAqSdsSSjrJZkdv",
2755
+ "rebateTokenAccount": "G7XgbNcTJN7BbRFkqV2GdFvuAY8cVtYr8rUW1SjoA6Fx",
2736
2756
  "protocolVault": "5Ah1vannj7FSVa7N6eZdwwXowMyZBrHtrF7Zd1HVjuJ",
2737
2757
  "protocolTokenAccount": "4US73S8pPe3rGJ44iUuTRATeB8PA2Jindwf11D3B3C37",
2738
2758
  "multisig": "8DieAFUfaUZNSQzzzux9c7LAxsd9XQQuM9kvrZupnJ4Q",
@@ -3241,6 +3261,8 @@
3241
3261
  "tokenVault": "ELDbqfMSwrwb77zszaERW8vwYHGKnupddRACfBq2WPw4",
3242
3262
  "tokenVaultTokenAccount": "DJ4qTezsjc7HjtNKuVM8xoQpAhrxAEYDMitmzUesXtsR",
3243
3263
  "revenueTokenAccount": "CFoRc6wa6v7XwByXQ9k1noADHDBtsgaPRqRqcvXj45PX",
3264
+ "rebateVault": "D9zs1kKY634CYXCmCnNjsemANXebpiAqSdsSSjrJZkdv",
3265
+ "rebateTokenAccount": "G7XgbNcTJN7BbRFkqV2GdFvuAY8cVtYr8rUW1SjoA6Fx",
3244
3266
  "protocolVault": "5Ah1vannj7FSVa7N6eZdwwXowMyZBrHtrF7Zd1HVjuJ",
3245
3267
  "protocolTokenAccount": "4US73S8pPe3rGJ44iUuTRATeB8PA2Jindwf11D3B3C37",
3246
3268
  "multisig": "8DieAFUfaUZNSQzzzux9c7LAxsd9XQQuM9kvrZupnJ4Q",
@@ -3501,6 +3523,8 @@
3501
3523
  "tokenVault": "ELDbqfMSwrwb77zszaERW8vwYHGKnupddRACfBq2WPw4",
3502
3524
  "tokenVaultTokenAccount": "DJ4qTezsjc7HjtNKuVM8xoQpAhrxAEYDMitmzUesXtsR",
3503
3525
  "revenueTokenAccount": "CFoRc6wa6v7XwByXQ9k1noADHDBtsgaPRqRqcvXj45PX",
3526
+ "rebateVault": "D9zs1kKY634CYXCmCnNjsemANXebpiAqSdsSSjrJZkdv",
3527
+ "rebateTokenAccount": "G7XgbNcTJN7BbRFkqV2GdFvuAY8cVtYr8rUW1SjoA6Fx",
3504
3528
  "protocolVault": "5Ah1vannj7FSVa7N6eZdwwXowMyZBrHtrF7Zd1HVjuJ",
3505
3529
  "protocolTokenAccount": "4US73S8pPe3rGJ44iUuTRATeB8PA2Jindwf11D3B3C37",
3506
3530
  "multisig": "8DieAFUfaUZNSQzzzux9c7LAxsd9XQQuM9kvrZupnJ4Q",
@@ -3637,6 +3661,8 @@
3637
3661
  "tokenVault": "ELDbqfMSwrwb77zszaERW8vwYHGKnupddRACfBq2WPw4",
3638
3662
  "tokenVaultTokenAccount": "DJ4qTezsjc7HjtNKuVM8xoQpAhrxAEYDMitmzUesXtsR",
3639
3663
  "revenueTokenAccount": "CFoRc6wa6v7XwByXQ9k1noADHDBtsgaPRqRqcvXj45PX",
3664
+ "rebateVault": "D9zs1kKY634CYXCmCnNjsemANXebpiAqSdsSSjrJZkdv",
3665
+ "rebateTokenAccount": "G7XgbNcTJN7BbRFkqV2GdFvuAY8cVtYr8rUW1SjoA6Fx",
3640
3666
  "protocolVault": "5Ah1vannj7FSVa7N6eZdwwXowMyZBrHtrF7Zd1HVjuJ",
3641
3667
  "protocolTokenAccount": "4US73S8pPe3rGJ44iUuTRATeB8PA2Jindwf11D3B3C37",
3642
3668
  "multisig": "8DieAFUfaUZNSQzzzux9c7LAxsd9XQQuM9kvrZupnJ4Q",
@@ -3773,6 +3799,8 @@
3773
3799
  "tokenVault": "ELDbqfMSwrwb77zszaERW8vwYHGKnupddRACfBq2WPw4",
3774
3800
  "tokenVaultTokenAccount": "DJ4qTezsjc7HjtNKuVM8xoQpAhrxAEYDMitmzUesXtsR",
3775
3801
  "revenueTokenAccount": "CFoRc6wa6v7XwByXQ9k1noADHDBtsgaPRqRqcvXj45PX",
3802
+ "rebateVault": "D9zs1kKY634CYXCmCnNjsemANXebpiAqSdsSSjrJZkdv",
3803
+ "rebateTokenAccount": "G7XgbNcTJN7BbRFkqV2GdFvuAY8cVtYr8rUW1SjoA6Fx",
3776
3804
  "protocolVault": "5Ah1vannj7FSVa7N6eZdwwXowMyZBrHtrF7Zd1HVjuJ",
3777
3805
  "protocolTokenAccount": "4US73S8pPe3rGJ44iUuTRATeB8PA2Jindwf11D3B3C37",
3778
3806
  "multisig": "8DieAFUfaUZNSQzzzux9c7LAxsd9XQQuM9kvrZupnJ4Q",
@@ -3996,6 +4024,8 @@
3996
4024
  "tokenVault": "ELDbqfMSwrwb77zszaERW8vwYHGKnupddRACfBq2WPw4",
3997
4025
  "tokenVaultTokenAccount": "DJ4qTezsjc7HjtNKuVM8xoQpAhrxAEYDMitmzUesXtsR",
3998
4026
  "revenueTokenAccount": "CFoRc6wa6v7XwByXQ9k1noADHDBtsgaPRqRqcvXj45PX",
4027
+ "rebateVault": "D9zs1kKY634CYXCmCnNjsemANXebpiAqSdsSSjrJZkdv",
4028
+ "rebateTokenAccount": "G7XgbNcTJN7BbRFkqV2GdFvuAY8cVtYr8rUW1SjoA6Fx",
3999
4029
  "protocolVault": "5Ah1vannj7FSVa7N6eZdwwXowMyZBrHtrF7Zd1HVjuJ",
4000
4030
  "protocolTokenAccount": "4US73S8pPe3rGJ44iUuTRATeB8PA2Jindwf11D3B3C37",
4001
4031
  "multisig": "8DieAFUfaUZNSQzzzux9c7LAxsd9XQQuM9kvrZupnJ4Q",
@@ -1,4 +1,3 @@
1
- /// <reference types="bn.js" />
2
1
  import { BN } from "@coral-xyz/anchor";
3
2
  import { Mint } from "@solana/spl-token";
4
3
  import { CustodyAccount } from "./CustodyAccount";
@@ -1,4 +1,3 @@
1
- /// <reference types="bn.js" />
2
1
  import { BN } from "@coral-xyz/anchor";
3
2
  import { PublicKey } from "@solana/web3.js";
4
3
  import { ContractOraclePrice, Position } from "./types";
@@ -16,11 +15,12 @@ export declare class PositionAccount implements Position {
16
15
  lockedUsd: BN;
17
16
  collateralAmount: BN;
18
17
  collateralUsd: BN;
19
- unsettledAmount: BN;
18
+ unsettledValueUsd: BN;
20
19
  unsettledFeesUsd: BN;
21
20
  cumulativeLockFeeSnapshot: BN;
22
21
  degenSizeUsd: BN;
23
- buffer: BN;
22
+ referencePrice: ContractOraclePrice;
23
+ buffer: number;
24
24
  sizeDecimals: number;
25
25
  lockedDecimals: number;
26
26
  collateralDecimals: number;
@@ -1,4 +1,3 @@
1
- /// <reference types="bn.js" />
2
1
  import { TokenStake, WithdrawStakeLog } from "./types";
3
2
  import { BN } from "@coral-xyz/anchor";
4
3
  import { PublicKey } from "@solana/web3.js";
@@ -17,7 +16,7 @@ export declare class TokenStakeAccount implements TokenStake {
17
16
  rewardTokens: BN;
18
17
  unclaimedRevenueAmount: BN;
19
18
  revenueSnapshot: BN;
20
- padding: BN[];
19
+ claimableRebateUsd: BN;
21
20
  constructor(data: {
22
21
  owner: PublicKey;
23
22
  isInitialized: boolean;
@@ -33,7 +32,7 @@ export declare class TokenStakeAccount implements TokenStake {
33
32
  rewardTokens: BN;
34
33
  unclaimedRevenueAmount: BN;
35
34
  revenueSnapshot: BN;
36
- padding: BN[];
35
+ claimableRebateUsd: BN;
37
36
  });
38
37
  static from(decodedData: any): TokenStakeAccount;
39
38
  updateData(newData: Partial<TokenStakeAccount>): void;
@@ -18,7 +18,7 @@ var TokenStakeAccount = (function () {
18
18
  this.lastRewardEpochCount = data.lastRewardEpochCount;
19
19
  this.unclaimedRevenueAmount = data.unclaimedRevenueAmount;
20
20
  this.revenueSnapshot = data.revenueSnapshot;
21
- this.padding = data.padding;
21
+ this.claimableRebateUsd = data.claimableRebateUsd;
22
22
  }
23
23
  TokenStakeAccount.from = function (decodedData) {
24
24
  return new TokenStakeAccount({
@@ -36,7 +36,7 @@ var TokenStakeAccount = (function () {
36
36
  lastRewardEpochCount: decodedData.lastRewardEpochCount,
37
37
  unclaimedRevenueAmount: decodedData.unclaimedRevenueAmount,
38
38
  revenueSnapshot: decodedData.revenueSnapshot,
39
- padding: decodedData.padding.map(function (p) { return new anchor_1.BN(p); }),
39
+ claimableRebateUsd: decodedData.claimableRebateUsd,
40
40
  });
41
41
  };
42
42
  TokenStakeAccount.prototype.updateData = function (newData) {
@@ -1,4 +1,3 @@
1
- /// <reference types="bn.js" />
2
1
  import { BN } from "@coral-xyz/anchor";
3
2
  import { PublicKey } from "@solana/web3.js";
4
3
  import { TokenVault } from "./types";
@@ -9,8 +9,8 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
9
9
  });
10
10
  };
11
11
  var __generator = (this && this.__generator) || function (thisArg, body) {
12
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
13
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
12
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
13
+ return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
14
  function verb(n) { return function (v) { return step([n, v]); }; }
15
15
  function step(op) {
16
16
  if (f) throw new TypeError("Generator is already executing.");
@@ -4,7 +4,6 @@ import { PoolConfig } from "./PoolConfig";
4
4
  import { BackupOracle } from "./types";
5
5
  import { Program } from "@coral-xyz/anchor";
6
6
  import { Perpetuals } from "./idl/perpetuals";
7
- export declare const API_ENDPOINT: string;
8
7
  export declare const pythPriceServiceConnection: PriceServiceConnection;
9
8
  export declare const getPythnetOraclePrices: (program: Program<Perpetuals>, poolConfig: PoolConfig, backupOracleSecretKey: string) => Promise<TransactionInstruction>;
10
9
  export declare const getBackupOracleInstruction: (program: Program<Perpetuals>, poolConfig: PoolConfig, backupOracleSecretKey: string, backupCaches: BackupOracle[]) => TransactionInstruction;
@@ -9,8 +9,8 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
9
9
  });
10
10
  };
11
11
  var __generator = (this && this.__generator) || function (thisArg, body) {
12
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
13
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
12
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
13
+ return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
14
  function verb(n) { return function (v) { return step([n, v]); }; }
15
15
  function step(op) {
16
16
  if (f) throw new TypeError("Generator is already executing.");
@@ -40,13 +40,14 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
40
40
  };
41
41
  var _a;
42
42
  Object.defineProperty(exports, "__esModule", { value: true });
43
- exports.createBackupOracleInstruction = exports.getBackupOracleInstruction = exports.getPythnetOraclePrices = exports.pythPriceServiceConnection = exports.API_ENDPOINT = void 0;
43
+ exports.getBackupOracleInstruction = exports.getPythnetOraclePrices = exports.pythPriceServiceConnection = void 0;
44
+ exports.createBackupOracleInstruction = createBackupOracleInstruction;
44
45
  var price_service_client_1 = require("@pythnetwork/price-service-client");
45
46
  var web3_js_1 = require("@solana/web3.js");
46
47
  var bn_js_1 = __importDefault(require("bn.js"));
47
48
  var bs58_1 = __importDefault(require("bs58"));
48
49
  var tweetnacl_1 = __importDefault(require("tweetnacl"));
49
- exports.API_ENDPOINT = (_a = process.env.NEXT_PUBLIC_API_ENDPOINT) !== null && _a !== void 0 ? _a : 'https://api.prod.flash.trade';
50
+ var API_ENDPOINT = (_a = process.env.NEXT_PUBLIC_API_ENDPOINT) !== null && _a !== void 0 ? _a : 'https://api.prod.flash.trade';
50
51
  exports.pythPriceServiceConnection = new price_service_client_1.PriceServiceConnection('https://hermes.pyth.network', {
51
52
  priceFeedRequestConfig: {},
52
53
  });
@@ -137,7 +138,7 @@ function createBackupOracleInstruction(poolAddress_1) {
137
138
  switch (_a.label) {
138
139
  case 0:
139
140
  _a.trys.push([0, 3, , 4]);
140
- return [4, fetch("".concat(exports.API_ENDPOINT, "/backup-oracle/prices?poolAddress=").concat(poolAddress))];
141
+ return [4, fetch("".concat(API_ENDPOINT, "/backup-oracle/prices?poolAddress=").concat(poolAddress))];
141
142
  case 1: return [4, (_a.sent()).json()];
142
143
  case 2:
143
144
  backupOracleData = _a.sent();
@@ -156,4 +157,3 @@ function createBackupOracleInstruction(poolAddress_1) {
156
157
  });
157
158
  });
158
159
  }
159
- exports.createBackupOracleInstruction = createBackupOracleInstruction;
@@ -1,4 +1,3 @@
1
- /// <reference types="bn.js" />
2
1
  import { PublicKey } from '@solana/web3.js';
3
2
  export declare const PERCENTAGE_DECIMALS = 4;
4
3
  export declare const USD_DECIMALS = 6;