@0dotxyz/p0-ts-sdk 2.8.0-alpha.1 → 2.8.0-alpha.3
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/index.cjs +91 -32
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +7 -12
- package/dist/index.d.ts +7 -12
- package/dist/index.js +92 -32
- package/dist/index.js.map +1 -1
- package/dist/instructions.d.cts +1 -1
- package/dist/instructions.d.ts +1 -1
- package/dist/{types-6tM8iZUV.d.cts → types-poGnrQyp.d.cts} +7 -7
- package/dist/{types-SY3xiGG8.d.ts → types-pwKFfkCG.d.ts} +7 -7
- package/dist/vendor.cjs +25 -9
- package/dist/vendor.cjs.map +1 -1
- package/dist/vendor.d.cts +3 -2
- package/dist/vendor.d.ts +3 -2
- package/dist/vendor.js +24 -9
- package/dist/vendor.js.map +1 -1
- package/package.json +1 -1
package/dist/instructions.d.cts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as _solana_web3_js from '@solana/web3.js';
|
|
2
2
|
import { PublicKey, AccountMeta } from '@solana/web3.js';
|
|
3
3
|
import BN from 'bn.js';
|
|
4
|
-
import { M as MarginfiProgram, B as BankConfigCompactRaw, a as BankConfigOptRaw } from './types-
|
|
4
|
+
import { M as MarginfiProgram, B as BankConfigCompactRaw, a as BankConfigOptRaw } from './types-poGnrQyp.cjs';
|
|
5
5
|
import '@coral-xyz/anchor';
|
|
6
6
|
import 'bignumber.js';
|
|
7
7
|
import './dto-rate-model.types-DnQmHIO6.cjs';
|
package/dist/instructions.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as _solana_web3_js from '@solana/web3.js';
|
|
2
2
|
import { PublicKey, AccountMeta } from '@solana/web3.js';
|
|
3
3
|
import BN from 'bn.js';
|
|
4
|
-
import { M as MarginfiProgram, B as BankConfigCompactRaw, a as BankConfigOptRaw } from './types-
|
|
4
|
+
import { M as MarginfiProgram, B as BankConfigCompactRaw, a as BankConfigOptRaw } from './types-pwKFfkCG.js';
|
|
5
5
|
import '@coral-xyz/anchor';
|
|
6
6
|
import 'bignumber.js';
|
|
7
7
|
import './dto-rate-model.types-DnQmHIO6.js';
|
|
@@ -12570,22 +12570,22 @@ type Marginfi = {
|
|
|
12570
12570
|
"msg": "Oracle price deviates too far from the circuit breaker reference; action rejected";
|
|
12571
12571
|
},
|
|
12572
12572
|
{
|
|
12573
|
-
"code":
|
|
12573
|
+
"code": 6800;
|
|
12574
12574
|
"name": "scopeInvalidAccount";
|
|
12575
12575
|
"msg": "Scope oracle account is not owned by the Scope program or is malformed";
|
|
12576
12576
|
},
|
|
12577
12577
|
{
|
|
12578
|
-
"code":
|
|
12578
|
+
"code": 6801;
|
|
12579
12579
|
"name": "scopeInvalidEntry";
|
|
12580
12580
|
"msg": "Scope entry index is out of range or the entry has never been refreshed";
|
|
12581
12581
|
},
|
|
12582
12582
|
{
|
|
12583
|
-
"code":
|
|
12583
|
+
"code": 6802;
|
|
12584
12584
|
"name": "scopeStalePrice";
|
|
12585
12585
|
"msg": "Scope price is stale";
|
|
12586
12586
|
},
|
|
12587
12587
|
{
|
|
12588
|
-
"code":
|
|
12588
|
+
"code": 6803;
|
|
12589
12589
|
"name": "useConfigureBankOracleScope";
|
|
12590
12590
|
"msg": "Use lending_pool_configure_bank_oracle_scope; Scope requires an entry index";
|
|
12591
12591
|
}
|
|
@@ -20159,7 +20159,7 @@ interface BankConfigType {
|
|
|
20159
20159
|
oracleMaxAge: number;
|
|
20160
20160
|
oracleMaxConfidence: number;
|
|
20161
20161
|
fixedPrice: BigNumber$1;
|
|
20162
|
-
scopeEntryIndex
|
|
20162
|
+
scopeEntryIndex?: number;
|
|
20163
20163
|
}
|
|
20164
20164
|
interface BankType {
|
|
20165
20165
|
address: PublicKey;
|
|
@@ -21172,8 +21172,8 @@ declare class BankConfig implements BankConfigType {
|
|
|
21172
21172
|
readonly oracleMaxConfidence: number;
|
|
21173
21173
|
readonly fixedPrice: BigNumber$1;
|
|
21174
21174
|
readonly configFlags?: BankConfigFlag | undefined;
|
|
21175
|
-
readonly scopeEntryIndex
|
|
21176
|
-
constructor(assetWeightInit: BigNumber$1, assetWeightMaint: BigNumber$1, liabilityWeightInit: BigNumber$1, liabilityWeightMaint: BigNumber$1, depositLimit: BigNumber$1, borrowLimit: BigNumber$1, riskTier: RiskTier, totalAssetValueInitLimit: BigNumber$1, assetTag: AssetTag, oracleSetup: OracleSetup, oracleKeys: PublicKey[], oracleMaxAge: number, interestRateConfig: InterestRateConfig, operationalState: OperationalState, oracleMaxConfidence: number, fixedPrice: BigNumber$1, configFlags?: BankConfigFlag | undefined, scopeEntryIndex?: number);
|
|
21175
|
+
readonly scopeEntryIndex?: number | undefined;
|
|
21176
|
+
constructor(assetWeightInit: BigNumber$1, assetWeightMaint: BigNumber$1, liabilityWeightInit: BigNumber$1, liabilityWeightMaint: BigNumber$1, depositLimit: BigNumber$1, borrowLimit: BigNumber$1, riskTier: RiskTier, totalAssetValueInitLimit: BigNumber$1, assetTag: AssetTag, oracleSetup: OracleSetup, oracleKeys: PublicKey[], oracleMaxAge: number, interestRateConfig: InterestRateConfig, operationalState: OperationalState, oracleMaxConfidence: number, fixedPrice: BigNumber$1, configFlags?: BankConfigFlag | undefined, scopeEntryIndex?: number | undefined);
|
|
21177
21177
|
static fromAccountParsed(bankConfigRaw: BankConfigRaw): BankConfig;
|
|
21178
21178
|
}
|
|
21179
21179
|
|
|
@@ -12570,22 +12570,22 @@ type Marginfi = {
|
|
|
12570
12570
|
"msg": "Oracle price deviates too far from the circuit breaker reference; action rejected";
|
|
12571
12571
|
},
|
|
12572
12572
|
{
|
|
12573
|
-
"code":
|
|
12573
|
+
"code": 6800;
|
|
12574
12574
|
"name": "scopeInvalidAccount";
|
|
12575
12575
|
"msg": "Scope oracle account is not owned by the Scope program or is malformed";
|
|
12576
12576
|
},
|
|
12577
12577
|
{
|
|
12578
|
-
"code":
|
|
12578
|
+
"code": 6801;
|
|
12579
12579
|
"name": "scopeInvalidEntry";
|
|
12580
12580
|
"msg": "Scope entry index is out of range or the entry has never been refreshed";
|
|
12581
12581
|
},
|
|
12582
12582
|
{
|
|
12583
|
-
"code":
|
|
12583
|
+
"code": 6802;
|
|
12584
12584
|
"name": "scopeStalePrice";
|
|
12585
12585
|
"msg": "Scope price is stale";
|
|
12586
12586
|
},
|
|
12587
12587
|
{
|
|
12588
|
-
"code":
|
|
12588
|
+
"code": 6803;
|
|
12589
12589
|
"name": "useConfigureBankOracleScope";
|
|
12590
12590
|
"msg": "Use lending_pool_configure_bank_oracle_scope; Scope requires an entry index";
|
|
12591
12591
|
}
|
|
@@ -20159,7 +20159,7 @@ interface BankConfigType {
|
|
|
20159
20159
|
oracleMaxAge: number;
|
|
20160
20160
|
oracleMaxConfidence: number;
|
|
20161
20161
|
fixedPrice: BigNumber$1;
|
|
20162
|
-
scopeEntryIndex
|
|
20162
|
+
scopeEntryIndex?: number;
|
|
20163
20163
|
}
|
|
20164
20164
|
interface BankType {
|
|
20165
20165
|
address: PublicKey;
|
|
@@ -21172,8 +21172,8 @@ declare class BankConfig implements BankConfigType {
|
|
|
21172
21172
|
readonly oracleMaxConfidence: number;
|
|
21173
21173
|
readonly fixedPrice: BigNumber$1;
|
|
21174
21174
|
readonly configFlags?: BankConfigFlag | undefined;
|
|
21175
|
-
readonly scopeEntryIndex
|
|
21176
|
-
constructor(assetWeightInit: BigNumber$1, assetWeightMaint: BigNumber$1, liabilityWeightInit: BigNumber$1, liabilityWeightMaint: BigNumber$1, depositLimit: BigNumber$1, borrowLimit: BigNumber$1, riskTier: RiskTier, totalAssetValueInitLimit: BigNumber$1, assetTag: AssetTag, oracleSetup: OracleSetup, oracleKeys: PublicKey[], oracleMaxAge: number, interestRateConfig: InterestRateConfig, operationalState: OperationalState, oracleMaxConfidence: number, fixedPrice: BigNumber$1, configFlags?: BankConfigFlag | undefined, scopeEntryIndex?: number);
|
|
21175
|
+
readonly scopeEntryIndex?: number | undefined;
|
|
21176
|
+
constructor(assetWeightInit: BigNumber$1, assetWeightMaint: BigNumber$1, liabilityWeightInit: BigNumber$1, liabilityWeightMaint: BigNumber$1, depositLimit: BigNumber$1, borrowLimit: BigNumber$1, riskTier: RiskTier, totalAssetValueInitLimit: BigNumber$1, assetTag: AssetTag, oracleSetup: OracleSetup, oracleKeys: PublicKey[], oracleMaxAge: number, interestRateConfig: InterestRateConfig, operationalState: OperationalState, oracleMaxConfidence: number, fixedPrice: BigNumber$1, configFlags?: BankConfigFlag | undefined, scopeEntryIndex?: number | undefined);
|
|
21177
21177
|
static fromAccountParsed(bankConfigRaw: BankConfigRaw): BankConfig;
|
|
21178
21178
|
}
|
|
21179
21179
|
|
package/dist/vendor.cjs
CHANGED
|
@@ -3917,6 +3917,9 @@ function decodeScopePriceAtIndex(data, entryIndex) {
|
|
|
3917
3917
|
const exp = data.readBigUInt64LE(offset + 8);
|
|
3918
3918
|
const lastUpdatedSlot = data.readBigUInt64LE(offset + 16);
|
|
3919
3919
|
const unixTimestamp = data.readBigUInt64LE(offset + 24);
|
|
3920
|
+
if (exp >= 24n) {
|
|
3921
|
+
throw new Error(`Scope entry exponent out of bounds: ${exp}`);
|
|
3922
|
+
}
|
|
3920
3923
|
const price = new BigNumber3__default.default(value.toString()).shiftedBy(-Number(exp));
|
|
3921
3924
|
return {
|
|
3922
3925
|
price,
|
|
@@ -3925,17 +3928,24 @@ function decodeScopePriceAtIndex(data, entryIndex) {
|
|
|
3925
3928
|
};
|
|
3926
3929
|
}
|
|
3927
3930
|
var MARINADE_PROGRAM_ID = new web3_js.PublicKey("MarBmsSgKXdrN1egZf5sqe1TMai9K1rChYNDJgjq7aD");
|
|
3928
|
-
var
|
|
3931
|
+
var MARINADE_STATE_DISCRIMINATOR = Buffer.from([216, 146, 107, 94, 104, 75, 182, 177]);
|
|
3932
|
+
var MARINADE_STATE_MIN_SIZE = 520;
|
|
3929
3933
|
var MSOL_PRICE_OFFSET = 512;
|
|
3930
3934
|
var MSOL_PRICE_PRECISION = new BigNumber3__default.default(2).pow(32);
|
|
3935
|
+
var MAX_MSOL_SOL_RATE = 200;
|
|
3931
3936
|
function decodeMarinadeState(data) {
|
|
3932
|
-
if (data.length
|
|
3937
|
+
if (data.length < MARINADE_STATE_MIN_SIZE) {
|
|
3933
3938
|
throw new Error(`Invalid Marinade State account size: ${data.length}`);
|
|
3934
3939
|
}
|
|
3940
|
+
if (!data.subarray(0, 8).equals(MARINADE_STATE_DISCRIMINATOR)) {
|
|
3941
|
+
throw new Error("Invalid Marinade State discriminator");
|
|
3942
|
+
}
|
|
3935
3943
|
const msolPriceRaw = data.readBigUInt64LE(MSOL_PRICE_OFFSET);
|
|
3936
|
-
|
|
3937
|
-
|
|
3938
|
-
|
|
3944
|
+
const msolPrice = new BigNumber3__default.default(msolPriceRaw.toString()).div(MSOL_PRICE_PRECISION);
|
|
3945
|
+
if (!msolPrice.gt(0) || msolPrice.gte(MAX_MSOL_SOL_RATE)) {
|
|
3946
|
+
throw new Error(`Marinade mSOL/SOL rate out of bounds: ${msolPrice.toString()}`);
|
|
3947
|
+
}
|
|
3948
|
+
return { msolPrice };
|
|
3939
3949
|
}
|
|
3940
3950
|
var SPL_STAKE_POOL_PROGRAM_ID = new web3_js.PublicKey(
|
|
3941
3951
|
"SPoo1Ku8WFXoNDMHPsrGSTSG1Y47rzgn41SLUNakuHy"
|
|
@@ -3950,6 +3960,7 @@ var ACCOUNT_TYPE_STAKE_POOL = 1;
|
|
|
3950
3960
|
var TOTAL_LAMPORTS_OFFSET = 258;
|
|
3951
3961
|
var POOL_TOKEN_SUPPLY_OFFSET = 266;
|
|
3952
3962
|
var LAST_UPDATE_EPOCH_OFFSET = 274;
|
|
3963
|
+
var MAX_LST_SOL_RATE = 200;
|
|
3953
3964
|
function decodeStakePool(data) {
|
|
3954
3965
|
if (data.length < LAST_UPDATE_EPOCH_OFFSET + 8) {
|
|
3955
3966
|
throw new Error(`Invalid StakePool account size: ${data.length}`);
|
|
@@ -3963,13 +3974,17 @@ function decodeStakePool(data) {
|
|
|
3963
3974
|
if (poolTokenSupply === 0n) {
|
|
3964
3975
|
throw new Error("StakePool has zero token supply");
|
|
3965
3976
|
}
|
|
3977
|
+
const exchangeRate = new BigNumber3__default.default(totalLamports.toString()).div(
|
|
3978
|
+
new BigNumber3__default.default(poolTokenSupply.toString())
|
|
3979
|
+
);
|
|
3980
|
+
if (!exchangeRate.gt(0) || exchangeRate.gte(MAX_LST_SOL_RATE)) {
|
|
3981
|
+
throw new Error(`StakePool LST/SOL rate out of bounds: ${exchangeRate.toString()}`);
|
|
3982
|
+
}
|
|
3966
3983
|
return {
|
|
3967
3984
|
totalLamports,
|
|
3968
3985
|
poolTokenSupply,
|
|
3969
3986
|
lastUpdateEpoch,
|
|
3970
|
-
exchangeRate
|
|
3971
|
-
new BigNumber3__default.default(poolTokenSupply.toString())
|
|
3972
|
-
)
|
|
3987
|
+
exchangeRate
|
|
3973
3988
|
};
|
|
3974
3989
|
}
|
|
3975
3990
|
var KLEND_PROGRAM_ID = new web3_js.PublicKey(
|
|
@@ -52706,7 +52721,8 @@ exports.KLEND_PROGRAM_ID = KLEND_PROGRAM_ID;
|
|
|
52706
52721
|
exports.KaminoInterestRateBasis = KaminoInterestRateBasis;
|
|
52707
52722
|
exports.LENGTH_SIZE = LENGTH_SIZE;
|
|
52708
52723
|
exports.MARINADE_PROGRAM_ID = MARINADE_PROGRAM_ID;
|
|
52709
|
-
exports.
|
|
52724
|
+
exports.MARINADE_STATE_DISCRIMINATOR = MARINADE_STATE_DISCRIMINATOR;
|
|
52725
|
+
exports.MARINADE_STATE_MIN_SIZE = MARINADE_STATE_MIN_SIZE;
|
|
52710
52726
|
exports.MAX_SLOT_DIFFERENCE = MAX_SLOT_DIFFERENCE;
|
|
52711
52727
|
exports.MEMO_PROGRAM_ID = MEMO_PROGRAM_ID;
|
|
52712
52728
|
exports.MINT_SIZE = MINT_SIZE;
|