@meteora-ag/cp-amm-sdk 1.0.1-rc.7 → 1.0.1-rc.9

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.d.mts CHANGED
@@ -6407,6 +6407,26 @@ declare class CpAmm {
6407
6407
  fetchConfigState(config: PublicKey): Promise<ConfigState>;
6408
6408
  fetchPoolState(pool: PublicKey): Promise<PoolState>;
6409
6409
  fetchPositionState(position: PublicKey): Promise<PositionState>;
6410
+ getAllConfigs(): Promise<Array<{
6411
+ publicKey: PublicKey;
6412
+ account: ConfigState;
6413
+ }>>;
6414
+ getAllPools(): Promise<Array<{
6415
+ publicKey: PublicKey;
6416
+ account: PoolState;
6417
+ }>>;
6418
+ getAllPositions(): Promise<Array<{
6419
+ publicKey: PublicKey;
6420
+ account: PositionState;
6421
+ }>>;
6422
+ getUserPositionByPool(pool: PublicKey, user: PublicKey): Promise<Array<{
6423
+ publicKey: PublicKey;
6424
+ account: PositionState;
6425
+ }>>;
6426
+ getPositionsByUser(user: PublicKey): Promise<Array<{
6427
+ publicKey: PublicKey;
6428
+ account: PositionState;
6429
+ }>>;
6410
6430
  getQuote(params: GetQuoteParams): Promise<{
6411
6431
  swapInAmount: BN;
6412
6432
  swapOutAmount: BN;
package/dist/index.d.ts CHANGED
@@ -6407,6 +6407,26 @@ declare class CpAmm {
6407
6407
  fetchConfigState(config: PublicKey): Promise<ConfigState>;
6408
6408
  fetchPoolState(pool: PublicKey): Promise<PoolState>;
6409
6409
  fetchPositionState(position: PublicKey): Promise<PositionState>;
6410
+ getAllConfigs(): Promise<Array<{
6411
+ publicKey: PublicKey;
6412
+ account: ConfigState;
6413
+ }>>;
6414
+ getAllPools(): Promise<Array<{
6415
+ publicKey: PublicKey;
6416
+ account: PoolState;
6417
+ }>>;
6418
+ getAllPositions(): Promise<Array<{
6419
+ publicKey: PublicKey;
6420
+ account: PositionState;
6421
+ }>>;
6422
+ getUserPositionByPool(pool: PublicKey, user: PublicKey): Promise<Array<{
6423
+ publicKey: PublicKey;
6424
+ account: PositionState;
6425
+ }>>;
6426
+ getPositionsByUser(user: PublicKey): Promise<Array<{
6427
+ publicKey: PublicKey;
6428
+ account: PositionState;
6429
+ }>>;
6410
6430
  getQuote(params: GetQuoteParams): Promise<{
6411
6431
  swapInAmount: BN;
6412
6432
  swapOutAmount: BN;
package/dist/index.js CHANGED
@@ -6177,6 +6177,7 @@ var cp_amm_default = {
6177
6177
  // src/CpAmm.ts
6178
6178
 
6179
6179
 
6180
+
6180
6181
  var _web3js = require('@solana/web3.js');
6181
6182
 
6182
6183
  // src/constants.ts
@@ -6802,6 +6803,16 @@ var getPriceImpact = (amount, amountWithoutSlippage) => {
6802
6803
  return new (0, _decimaljs2.default)(diff.toString()).div(new (0, _decimaljs2.default)(amountWithoutSlippage.toString())).mul(100).toNumber();
6803
6804
  };
6804
6805
 
6806
+ // src/utils/accountFilters.ts
6807
+ var positionByPoolFilter = (pool) => {
6808
+ return {
6809
+ memcmp: {
6810
+ bytes: pool.toBase58(),
6811
+ offset: 8
6812
+ }
6813
+ };
6814
+ };
6815
+
6805
6816
  // src/CpAmm.ts
6806
6817
  var CpAmm = class {
6807
6818
  constructor(connection) {
@@ -6879,6 +6890,65 @@ var CpAmm = class {
6879
6890
  return positionState;
6880
6891
  });
6881
6892
  }
6893
+ getAllConfigs() {
6894
+ return __async(this, null, function* () {
6895
+ const configAccounts = yield this._program.account.config.all();
6896
+ return configAccounts;
6897
+ });
6898
+ }
6899
+ getAllPools() {
6900
+ return __async(this, null, function* () {
6901
+ const poolAccounts = yield this._program.account.pool.all();
6902
+ return poolAccounts;
6903
+ });
6904
+ }
6905
+ getAllPositions() {
6906
+ return __async(this, null, function* () {
6907
+ const poolAccounts = yield this._program.account.position.all();
6908
+ return poolAccounts;
6909
+ });
6910
+ }
6911
+ getUserPositionByPool(pool, user) {
6912
+ return __async(this, null, function* () {
6913
+ const positions = yield this._program.account.position.all([
6914
+ positionByPoolFilter(pool)
6915
+ ]);
6916
+ const result = [];
6917
+ for (const position of positions) {
6918
+ const largesTokenAccount = yield this._program.provider.connection.getTokenLargestAccounts(
6919
+ position.account.nftMint
6920
+ );
6921
+ const accountInfo = yield this._program.provider.connection.getParsedAccountInfo(
6922
+ largesTokenAccount.value[0].address
6923
+ );
6924
+ const owner = new (0, _web3js.PublicKey)(accountInfo.value.data.parsed.info.owner);
6925
+ if (owner.equals(user)) {
6926
+ result.push(position);
6927
+ }
6928
+ }
6929
+ return result;
6930
+ });
6931
+ }
6932
+ getPositionsByUser(user) {
6933
+ return __async(this, null, function* () {
6934
+ const positions = yield this._program.account.position.all();
6935
+ const positionNftMints = positions.map((item) => item.account.nftMint);
6936
+ const result = [];
6937
+ for (const position of positions) {
6938
+ const largesTokenAccount = yield this._program.provider.connection.getTokenLargestAccounts(
6939
+ positionNftMints[0]
6940
+ );
6941
+ const accountInfo = yield this._program.provider.connection.getParsedAccountInfo(
6942
+ largesTokenAccount.value[0].address
6943
+ );
6944
+ const owner = new (0, _web3js.PublicKey)(accountInfo.value.data.parsed.info.owner);
6945
+ if (owner.equals(user)) {
6946
+ result.push(position);
6947
+ }
6948
+ }
6949
+ return result;
6950
+ });
6951
+ }
6882
6952
  getQuote(params) {
6883
6953
  return __async(this, null, function* () {
6884
6954
  var _a;