@bagsfm/bags-sdk 1.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.
Files changed (94) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +78 -0
  3. package/dist/api/bags-client.d.ts +19 -0
  4. package/dist/api/bags-client.d.ts.map +1 -0
  5. package/dist/api/bags-client.js +91 -0
  6. package/dist/api/bags-client.js.map +1 -0
  7. package/dist/client.d.ts +15 -0
  8. package/dist/client.d.ts.map +1 -0
  9. package/dist/client.js +19 -0
  10. package/dist/client.js.map +1 -0
  11. package/dist/constants.d.ts +9 -0
  12. package/dist/constants.d.ts.map +1 -0
  13. package/dist/constants.js +12 -0
  14. package/dist/constants.js.map +1 -0
  15. package/dist/idl/bags-meteora-fee-claimer/idl.d.ts +1740 -0
  16. package/dist/idl/bags-meteora-fee-claimer/idl.d.ts.map +1 -0
  17. package/dist/idl/bags-meteora-fee-claimer/idl.js +3 -0
  18. package/dist/idl/bags-meteora-fee-claimer/idl.js.map +1 -0
  19. package/dist/idl/bags-meteora-fee-claimer/idl.json +1398 -0
  20. package/dist/idl/damm-v2/idl.d.ts +4400 -0
  21. package/dist/idl/damm-v2/idl.d.ts.map +1 -0
  22. package/dist/idl/damm-v2/idl.js +3 -0
  23. package/dist/idl/damm-v2/idl.js.map +1 -0
  24. package/dist/idl/damm-v2/idl.json +4277 -0
  25. package/dist/idl/dynamic-bonding-curve/idl.d.ts +4596 -0
  26. package/dist/idl/dynamic-bonding-curve/idl.d.ts.map +1 -0
  27. package/dist/idl/dynamic-bonding-curve/idl.js +3 -0
  28. package/dist/idl/dynamic-bonding-curve/idl.js.map +1 -0
  29. package/dist/idl/dynamic-bonding-curve/idl.json +4195 -0
  30. package/dist/index.d.ts +5 -0
  31. package/dist/index.d.ts.map +1 -0
  32. package/dist/index.js +21 -0
  33. package/dist/index.js.map +1 -0
  34. package/dist/services/base.d.ts +16 -0
  35. package/dist/services/base.d.ts.map +1 -0
  36. package/dist/services/base.js +17 -0
  37. package/dist/services/base.js.map +1 -0
  38. package/dist/services/config.d.ts +9 -0
  39. package/dist/services/config.d.ts.map +1 -0
  40. package/dist/services/config.js +79 -0
  41. package/dist/services/config.js.map +1 -0
  42. package/dist/services/fees.d.ts +9 -0
  43. package/dist/services/fees.d.ts.map +1 -0
  44. package/dist/services/fees.js +65 -0
  45. package/dist/services/fees.js.map +1 -0
  46. package/dist/services/state.d.ts +16 -0
  47. package/dist/services/state.d.ts.map +1 -0
  48. package/dist/services/state.js +54 -0
  49. package/dist/services/state.js.map +1 -0
  50. package/dist/services/token-launch.d.ts +9 -0
  51. package/dist/services/token-launch.d.ts.map +1 -0
  52. package/dist/services/token-launch.js +50 -0
  53. package/dist/services/token-launch.js.map +1 -0
  54. package/dist/types/api.d.ts +32 -0
  55. package/dist/types/api.d.ts.map +1 -0
  56. package/dist/types/api.js +3 -0
  57. package/dist/types/api.js.map +1 -0
  58. package/dist/types/index.d.ts +3 -0
  59. package/dist/types/index.d.ts.map +1 -0
  60. package/dist/types/index.js +19 -0
  61. package/dist/types/index.js.map +1 -0
  62. package/dist/types/meteora.d.ts +79 -0
  63. package/dist/types/meteora.d.ts.map +1 -0
  64. package/dist/types/meteora.js +3 -0
  65. package/dist/types/meteora.js.map +1 -0
  66. package/dist/types/token-launch.d.ts +71 -0
  67. package/dist/types/token-launch.d.ts.map +1 -0
  68. package/dist/types/token-launch.js +11 -0
  69. package/dist/types/token-launch.js.map +1 -0
  70. package/dist/utils/config.d.ts +4 -0
  71. package/dist/utils/config.d.ts.map +1 -0
  72. package/dist/utils/config.js +27 -0
  73. package/dist/utils/config.js.map +1 -0
  74. package/dist/utils/create-program.d.ts +15 -0
  75. package/dist/utils/create-program.d.ts.map +1 -0
  76. package/dist/utils/create-program.js +34 -0
  77. package/dist/utils/create-program.js.map +1 -0
  78. package/dist/utils/fee-claim.d.ts +29 -0
  79. package/dist/utils/fee-claim.d.ts.map +1 -0
  80. package/dist/utils/fee-claim.js +448 -0
  81. package/dist/utils/fee-claim.js.map +1 -0
  82. package/dist/utils/fee-share.d.ts +7 -0
  83. package/dist/utils/fee-share.d.ts.map +1 -0
  84. package/dist/utils/fee-share.js +31 -0
  85. package/dist/utils/fee-share.js.map +1 -0
  86. package/dist/utils/image.d.ts +18 -0
  87. package/dist/utils/image.d.ts.map +1 -0
  88. package/dist/utils/image.js +111 -0
  89. package/dist/utils/image.js.map +1 -0
  90. package/dist/utils/index.d.ts +4 -0
  91. package/dist/utils/index.d.ts.map +1 -0
  92. package/dist/utils/index.js +20 -0
  93. package/dist/utils/index.js.map +1 -0
  94. package/package.json +71 -0
@@ -0,0 +1,5 @@
1
+ export * from './client';
2
+ export * from './constants';
3
+ export * from './types';
4
+ export * from './utils';
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./client"), exports);
18
+ __exportStar(require("./constants"), exports);
19
+ __exportStar(require("./types"), exports);
20
+ __exportStar(require("./utils"), exports);
21
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAAyB;AACzB,8CAA4B;AAC5B,0CAAwB;AACxB,0CAAwB"}
@@ -0,0 +1,16 @@
1
+ import { Program } from '@coral-xyz/anchor';
2
+ import type { DynamicBondingCurve as DynamicBondingCurveIDL } from '../idl/dynamic-bonding-curve/idl';
3
+ import type { DammV2 as DammV2IDL } from '../idl/damm-v2/idl';
4
+ import type { BagsMeteoraFeeClaimer as BagsMeteoraFeeClaimerIDL } from '../idl/bags-meteora-fee-claimer/idl';
5
+ import { Commitment, Connection } from '@solana/web3.js';
6
+ import { BagsApiClient } from '../api/bags-client';
7
+ export declare class BaseService {
8
+ protected bagsApiClient: BagsApiClient;
9
+ protected dbcProgram: Program<DynamicBondingCurveIDL>;
10
+ protected dammV2Program: Program<DammV2IDL>;
11
+ protected bagsMeteoraFeeClaimer: Program<BagsMeteoraFeeClaimerIDL>;
12
+ protected connection: Connection;
13
+ protected commitment: Commitment;
14
+ constructor(apiKey: string, connection: Connection, commitment?: Commitment);
15
+ }
16
+ //# sourceMappingURL=base.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../src/services/base.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,KAAK,EAAE,mBAAmB,IAAI,sBAAsB,EAAE,MAAM,kCAAkC,CAAC;AACtG,OAAO,KAAK,EAAE,MAAM,IAAI,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,KAAK,EAAE,qBAAqB,IAAI,wBAAwB,EAAE,MAAM,qCAAqC,CAAC;AAC7G,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAEzD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD,qBAAa,WAAW;IACvB,SAAS,CAAC,aAAa,EAAE,aAAa,CAAC;IACvC,SAAS,CAAC,UAAU,EAAE,OAAO,CAAC,sBAAsB,CAAC,CAAC;IACtD,SAAS,CAAC,aAAa,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;IAC5C,SAAS,CAAC,qBAAqB,EAAE,OAAO,CAAC,wBAAwB,CAAC,CAAC;IACnE,SAAS,CAAC,UAAU,EAAE,UAAU,CAAC;IACjC,SAAS,CAAC,UAAU,EAAE,UAAU,CAAC;gBAErB,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,GAAE,UAAwB;CAQxF"}
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BaseService = void 0;
4
+ const create_program_1 = require("../utils/create-program");
5
+ const bags_client_1 = require("../api/bags-client");
6
+ class BaseService {
7
+ constructor(apiKey, connection, commitment = 'processed') {
8
+ this.bagsApiClient = new bags_client_1.BagsApiClient(apiKey);
9
+ this.dbcProgram = (0, create_program_1.createDbcProgram)(connection, commitment).program;
10
+ this.dammV2Program = (0, create_program_1.createDammV2Program)(connection, commitment).program;
11
+ this.bagsMeteoraFeeClaimer = (0, create_program_1.createBagsMeteoraFeeClaimerProgram)(connection, commitment).program;
12
+ this.connection = connection;
13
+ this.commitment = commitment;
14
+ }
15
+ }
16
+ exports.BaseService = BaseService;
17
+ //# sourceMappingURL=base.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base.js","sourceRoot":"","sources":["../../src/services/base.ts"],"names":[],"mappings":";;;AAKA,4DAAoH;AACpH,oDAAmD;AAEnD,MAAa,WAAW;IAQvB,YAAY,MAAc,EAAE,UAAsB,EAAE,aAAyB,WAAW;QACvF,IAAI,CAAC,aAAa,GAAG,IAAI,2BAAa,CAAC,MAAM,CAAC,CAAC;QAC/C,IAAI,CAAC,UAAU,GAAG,IAAA,iCAAgB,EAAC,UAAU,EAAE,UAAU,CAAC,CAAC,OAAO,CAAC;QACnE,IAAI,CAAC,aAAa,GAAG,IAAA,oCAAmB,EAAC,UAAU,EAAE,UAAU,CAAC,CAAC,OAAO,CAAC;QACzE,IAAI,CAAC,qBAAqB,GAAG,IAAA,mDAAkC,EAAC,UAAU,EAAE,UAAU,CAAC,CAAC,OAAO,CAAC;QAChG,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC9B,CAAC;CACD;AAhBD,kCAgBC"}
@@ -0,0 +1,9 @@
1
+ import { Commitment, Connection, PublicKey } from '@solana/web3.js';
2
+ import { BaseService } from './base';
3
+ import { CreateFeeShareConfigParams, CreateFeeShareConfigResponse, GetOrCreateConfigResponse } from '../types/token-launch';
4
+ export declare class ConfigService extends BaseService {
5
+ constructor(apiKey: string, connection: Connection, commitment?: Commitment);
6
+ getOrCreateConfig(wallet: PublicKey): Promise<GetOrCreateConfigResponse>;
7
+ createFeeShareConfig(params: CreateFeeShareConfigParams): Promise<CreateFeeShareConfigResponse>;
8
+ }
9
+ //# sourceMappingURL=config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/services/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAwB,MAAM,iBAAiB,CAAC;AAC1F,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAGrC,OAAO,EAAE,0BAA0B,EAAE,4BAA4B,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;AAK5H,qBAAa,aAAc,SAAQ,WAAW;gBACjC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,GAAE,UAAwB;IAUlF,iBAAiB,CAAC,MAAM,EAAE,SAAS,GAAG,OAAO,CAAC,yBAAyB,CAAC;IAqCxE,oBAAoB,CAAC,MAAM,EAAE,0BAA0B,GAAG,OAAO,CAAC,4BAA4B,CAAC;CA2CrG"}
@@ -0,0 +1,79 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.ConfigService = void 0;
7
+ const web3_js_1 = require("@solana/web3.js");
8
+ const base_1 = require("./base");
9
+ const config_1 = require("../utils/config");
10
+ const bs58_1 = __importDefault(require("bs58"));
11
+ const constants_1 = require("../constants");
12
+ const fee_share_1 = require("../utils/fee-share");
13
+ class ConfigService extends base_1.BaseService {
14
+ constructor(apiKey, connection, commitment = 'processed') {
15
+ super(apiKey, connection, commitment);
16
+ }
17
+ async getOrCreateConfig(wallet) {
18
+ const existingConfig = await (0, config_1.getExistingConfig)(wallet, this.connection, this.commitment);
19
+ if (existingConfig != null) {
20
+ return {
21
+ configKey: existingConfig,
22
+ transaction: null,
23
+ };
24
+ }
25
+ const response = await this.bagsApiClient.post('/token-launch/create-config', {
26
+ launchWallet: wallet.toBase58(),
27
+ });
28
+ if (response.tx == null) {
29
+ return {
30
+ configKey: new web3_js_1.PublicKey(response.configKey),
31
+ transaction: null,
32
+ };
33
+ }
34
+ else {
35
+ const decodedTransaction = bs58_1.default.decode(response.tx);
36
+ const transaction = web3_js_1.VersionedTransaction.deserialize(decodedTransaction);
37
+ return {
38
+ transaction,
39
+ configKey: new web3_js_1.PublicKey(response.configKey),
40
+ };
41
+ }
42
+ }
43
+ async createFeeShareConfig(params) {
44
+ if (params.users.length !== 2) {
45
+ throw new Error('Only exactly 2 users are supported');
46
+ }
47
+ if (params.users.reduce((acc, user) => acc + user.bps, 0) !== 10000) {
48
+ throw new Error('Users basis points must sum to 10000');
49
+ }
50
+ if (params.quoteMint.toBase58() != constants_1.WRAPPED_SOL_MINT.toBase58()) {
51
+ throw new Error('Non-wSOL quote mint not supported');
52
+ }
53
+ if (!params.baseMint.toBase58().endsWith('BAGS')) {
54
+ throw new Error('Non-BAGS base mint not supported');
55
+ }
56
+ const sortedKeys = (0, fee_share_1.sortKeys)(params.users[0].wallet, params.users[1].wallet);
57
+ const walletA = sortedKeys.sortedA;
58
+ const walletB = sortedKeys.sortedB;
59
+ const walletABps = params.users.find((user) => user.wallet.toBase58() === walletA.toBase58()).bps;
60
+ const walletBBps = params.users.find((user) => user.wallet.toBase58() === walletB.toBase58()).bps;
61
+ const response = await this.bagsApiClient.post('/token-launch/fee-share/create-config', {
62
+ walletA: walletA.toBase58(),
63
+ walletB: walletB.toBase58(),
64
+ walletABps: walletABps,
65
+ walletBBps: walletBBps,
66
+ payer: params.payer.toBase58(),
67
+ baseMint: params.baseMint.toBase58(),
68
+ quoteMint: params.quoteMint.toBase58(),
69
+ });
70
+ const decodedTransaction = bs58_1.default.decode(response.tx);
71
+ const transaction = web3_js_1.VersionedTransaction.deserialize(decodedTransaction);
72
+ return {
73
+ transaction,
74
+ configKey: new web3_js_1.PublicKey(response.configKey),
75
+ };
76
+ }
77
+ }
78
+ exports.ConfigService = ConfigService;
79
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/services/config.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import { Commitment, Connection, PublicKey, VersionedTransaction } from '@solana/web3.js';
2
+ import { BaseService } from './base';
3
+ import { MeteoraDbcClaimablePositionWithOrWithoutCustomFeeVault } from '../types/meteora';
4
+ export declare class FeesService extends BaseService {
5
+ constructor(apiKey: string, connection: Connection, commitment?: Commitment);
6
+ getAllClaimablePositions(wallet: PublicKey): Promise<Array<MeteoraDbcClaimablePositionWithOrWithoutCustomFeeVault>>;
7
+ getClaimTransaction(wallet: PublicKey, position: MeteoraDbcClaimablePositionWithOrWithoutCustomFeeVault): Promise<Array<VersionedTransaction>>;
8
+ }
9
+ //# sourceMappingURL=fees.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fees.d.ts","sourceRoot":"","sources":["../../src/services/fees.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAC1F,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AACrC,OAAO,EAAsC,sDAAsD,EAAE,MAAM,kBAAkB,CAAC;AAM9H,qBAAa,WAAY,SAAQ,WAAW;gBAC/B,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,GAAE,UAAwB;IAUlF,wBAAwB,CAAC,MAAM,EAAE,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC,sDAAsD,CAAC,CAAC;IAmBnH,mBAAmB,CAAC,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,sDAAsD,GAAG,OAAO,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC;CA4DpJ"}
@@ -0,0 +1,65 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.FeesService = void 0;
7
+ const web3_js_1 = require("@solana/web3.js");
8
+ const base_1 = require("./base");
9
+ const fee_claim_1 = require("../utils/fee-claim");
10
+ const constants_1 = require("../constants");
11
+ const bs58_1 = __importDefault(require("bs58"));
12
+ class FeesService extends base_1.BaseService {
13
+ constructor(apiKey, connection, commitment = 'processed') {
14
+ super(apiKey, connection, commitment);
15
+ }
16
+ async getAllClaimablePositions(wallet) {
17
+ const response = await (0, fee_claim_1.getMyMeteoraTokenLaunchesAndFees)(wallet.toBase58(), this.dbcProgram, this.dammV2Program, this.bagsMeteoraFeeClaimer, this.commitment, this.connection);
18
+ return response;
19
+ }
20
+ async getClaimTransaction(wallet, position) {
21
+ const params = {
22
+ feeClaimer: wallet.toBase58(),
23
+ tokenMint: position.baseMint,
24
+ };
25
+ if (position.virtualPoolClaimableAmount) {
26
+ params.claimVirtualPoolFees = true;
27
+ params.virtualPoolAddress = position.virtualPoolAddress;
28
+ }
29
+ if (position.dammPoolClaimableAmount) {
30
+ params.claimDammV2Fees = true;
31
+ params.dammV2Position = position.dammPositionInfo.position.toBase58();
32
+ params.dammV2Pool = position.dammPositionInfo.pool.toBase58();
33
+ params.dammV2PositionNftAccount = position.dammPositionInfo.positionNftAccount.toBase58();
34
+ params.tokenAMint = position.dammPositionInfo.tokenAMint.toBase58();
35
+ params.tokenBMint = position.dammPositionInfo.tokenBMint.toBase58();
36
+ params.tokenAVault = position.dammPositionInfo.tokenAVault.toBase58();
37
+ params.tokenBVault = position.dammPositionInfo.tokenBVault.toBase58();
38
+ }
39
+ if (position.isCustomFeeVault) {
40
+ params.isCustomFeeVault = true;
41
+ params.customFeeVaultClaimerA = position.customFeeVaultClaimerA?.toBase58();
42
+ params.customFeeVaultClaimerB = position.customFeeVaultClaimerB?.toBase58();
43
+ params.customFeeVaultClaimerSide = position.customFeeVaultClaimerSide;
44
+ const userFeeVaultPda = (0, fee_claim_1.getFeeVaultPda)(position.customFeeVaultClaimerSide === 'A' ? position.customFeeVaultClaimerA : position.customFeeVaultClaimerB, new web3_js_1.PublicKey(position.baseMint), this.bagsMeteoraFeeClaimer.programId);
45
+ if (!userFeeVaultPda) {
46
+ console.error('Error deriving user fee vault pda');
47
+ return null;
48
+ }
49
+ const userFeeVaultPdaBalance = await this.connection.getBalance(userFeeVaultPda, this.commitment);
50
+ const hasFeesInVault = userFeeVaultPdaBalance >= constants_1.BAGS_METEORA_FEE_CLAIMER_VAULT_RENT_EXCEMPT_AMOUNT;
51
+ if (hasFeesInVault) {
52
+ params.claimVirtualPoolFees = true;
53
+ params.virtualPoolAddress = position.virtualPoolAddress;
54
+ }
55
+ }
56
+ const response = await this.bagsApiClient.post('/token-launch/claim-txs', params);
57
+ const deserializedVersionedTransactions = response.map((tx) => {
58
+ const decodedTransaction = bs58_1.default.decode(tx.tx);
59
+ return web3_js_1.VersionedTransaction.deserialize(decodedTransaction);
60
+ });
61
+ return deserializedVersionedTransactions;
62
+ }
63
+ }
64
+ exports.FeesService = FeesService;
65
+ //# sourceMappingURL=fees.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fees.js","sourceRoot":"","sources":["../../src/services/fees.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ import { Commitment, Connection, PublicKey } from '@solana/web3.js';
2
+ import { BaseService } from './base';
3
+ import { TokenLaunchCreator } from '../types/api';
4
+ export declare class StateService extends BaseService {
5
+ constructor(apiKey: string, connection: Connection, commitment?: Commitment);
6
+ getBagsApiClient(): import("../api/bags-client").BagsApiClient;
7
+ getDbcProgram(): import("@coral-xyz/anchor").Program<import("../idl/dynamic-bonding-curve/idl").DynamicBondingCurve>;
8
+ getDammV2Program(): import("@coral-xyz/anchor").Program<import("../idl/damm-v2/idl").DammV2>;
9
+ getBagsMeteoraFeeClaimerProgram(): import("@coral-xyz/anchor").Program<import("../idl/bags-meteora-fee-claimer/idl").BagsMeteoraFeeClaimer>;
10
+ getConnection(): Connection;
11
+ getCommitment(): Commitment;
12
+ getTokenLifetimeFees(tokenMint: PublicKey): Promise<number>;
13
+ getTokenCreators(tokenMint: PublicKey): Promise<Array<TokenLaunchCreator>>;
14
+ getLaunchWalletForTwitterUsername(twitterUsername: string): Promise<PublicKey>;
15
+ }
16
+ //# sourceMappingURL=state.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../../src/services/state.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACpE,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AACrC,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAElD,qBAAa,YAAa,SAAQ,WAAW;gBAChC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,GAAE,UAAwB;IAQxF,gBAAgB;IAQhB,aAAa;IAQb,gBAAgB;IAQhB,+BAA+B;IAQ/B,aAAa;IAQb,aAAa;IAUP,oBAAoB,CAAC,SAAS,EAAE,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC;IAgB3D,gBAAgB,CAAC,SAAS,EAAE,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;IAgB1E,iCAAiC,CAAC,eAAe,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC;CASpF"}
@@ -0,0 +1,54 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.StateService = void 0;
4
+ const web3_js_1 = require("@solana/web3.js");
5
+ const base_1 = require("./base");
6
+ class StateService extends base_1.BaseService {
7
+ constructor(apiKey, connection, commitment = 'processed') {
8
+ super(apiKey, connection, commitment);
9
+ }
10
+ getBagsApiClient() {
11
+ return this.bagsApiClient;
12
+ }
13
+ getDbcProgram() {
14
+ return this.dbcProgram;
15
+ }
16
+ getDammV2Program() {
17
+ return this.dammV2Program;
18
+ }
19
+ getBagsMeteoraFeeClaimerProgram() {
20
+ return this.bagsMeteoraFeeClaimer;
21
+ }
22
+ getConnection() {
23
+ return this.connection;
24
+ }
25
+ getCommitment() {
26
+ return this.commitment;
27
+ }
28
+ async getTokenLifetimeFees(tokenMint) {
29
+ const lifeTimeFees = await this.bagsApiClient.get('/token-launch/lifetime-fees', {
30
+ params: {
31
+ tokenMint: tokenMint.toBase58(),
32
+ },
33
+ });
34
+ return parseInt(lifeTimeFees);
35
+ }
36
+ async getTokenCreators(tokenMint) {
37
+ const creators = await this.bagsApiClient.get('/token-launch/creator/v2', {
38
+ params: {
39
+ tokenMint: tokenMint.toBase58(),
40
+ },
41
+ });
42
+ return creators;
43
+ }
44
+ async getLaunchWalletForTwitterUsername(twitterUsername) {
45
+ const wallet = await this.bagsApiClient.get('/token-launch/fee-share/wallet/twitter', {
46
+ params: {
47
+ twitterUsername,
48
+ },
49
+ });
50
+ return new web3_js_1.PublicKey(wallet);
51
+ }
52
+ }
53
+ exports.StateService = StateService;
54
+ //# sourceMappingURL=state.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"state.js","sourceRoot":"","sources":["../../src/services/state.ts"],"names":[],"mappings":";;;AAAA,6CAAoE;AACpE,iCAAqC;AAGrC,MAAa,YAAa,SAAQ,kBAAW;IAC5C,YAAY,MAAc,EAAE,UAAsB,EAAE,aAAyB,WAAW;QACvF,KAAK,CAAC,MAAM,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;IACvC,CAAC;IAMD,gBAAgB;QACf,OAAO,IAAI,CAAC,aAAa,CAAC;IAC3B,CAAC;IAMD,aAAa;QACZ,OAAO,IAAI,CAAC,UAAU,CAAC;IACxB,CAAC;IAMD,gBAAgB;QACf,OAAO,IAAI,CAAC,aAAa,CAAC;IAC3B,CAAC;IAMD,+BAA+B;QAC9B,OAAO,IAAI,CAAC,qBAAqB,CAAC;IACnC,CAAC;IAMD,aAAa;QACZ,OAAO,IAAI,CAAC,UAAU,CAAC;IACxB,CAAC;IAMD,aAAa;QACZ,OAAO,IAAI,CAAC,UAAU,CAAC;IACxB,CAAC;IAQD,KAAK,CAAC,oBAAoB,CAAC,SAAoB;QAC9C,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,GAAG,CAAS,6BAA6B,EAAE;YACxF,MAAM,EAAE;gBACP,SAAS,EAAE,SAAS,CAAC,QAAQ,EAAE;aAC/B;SACD,CAAC,CAAC;QAEH,OAAO,QAAQ,CAAC,YAAY,CAAC,CAAC;IAC/B,CAAC;IAQD,KAAK,CAAC,gBAAgB,CAAC,SAAoB;QAC1C,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,GAAG,CAA4B,0BAA0B,EAAE;YACpG,MAAM,EAAE;gBACP,SAAS,EAAE,SAAS,CAAC,QAAQ,EAAE;aAC/B;SACD,CAAC,CAAC;QAEH,OAAO,QAAQ,CAAC;IACjB,CAAC;IAQD,KAAK,CAAC,iCAAiC,CAAC,eAAuB;QAC9D,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,GAAG,CAAS,wCAAwC,EAAE;YAC7F,MAAM,EAAE;gBACP,eAAe;aACf;SACD,CAAC,CAAC;QAEH,OAAO,IAAI,mBAAS,CAAC,MAAM,CAAC,CAAC;IAC9B,CAAC;CACD;AApGD,oCAoGC"}
@@ -0,0 +1,9 @@
1
+ import { Commitment, Connection, VersionedTransaction } from '@solana/web3.js';
2
+ import { BaseService } from './base';
3
+ import { CreateLaunchTransactionParams, CreateTokenInfoParams, CreateTokenInfoResponse } from '../types/token-launch';
4
+ export declare class TokenLaunchService extends BaseService {
5
+ constructor(apiKey: string, connection: Connection, commitment?: Commitment);
6
+ createLaunchTransaction(params: CreateLaunchTransactionParams): Promise<VersionedTransaction>;
7
+ createTokenInfoAndMetadata(params: CreateTokenInfoParams): Promise<CreateTokenInfoResponse>;
8
+ }
9
+ //# sourceMappingURL=token-launch.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"token-launch.d.ts","sourceRoot":"","sources":["../../src/services/token-launch.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAC/E,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAErC,OAAO,EAAE,6BAA6B,EAAE,qBAAqB,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAItH,qBAAa,kBAAmB,SAAQ,WAAW;gBACtC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,GAAE,UAAwB;IAUlF,uBAAuB,CAAC,MAAM,EAAE,6BAA6B,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAqB7F,0BAA0B,CAAC,MAAM,EAAE,qBAAqB,GAAG,OAAO,CAAC,uBAAuB,CAAC;CAyBjG"}
@@ -0,0 +1,50 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.TokenLaunchService = void 0;
7
+ const web3_js_1 = require("@solana/web3.js");
8
+ const base_1 = require("./base");
9
+ const bs58_1 = __importDefault(require("bs58"));
10
+ const form_data_1 = __importDefault(require("form-data"));
11
+ const image_1 = require("../utils/image");
12
+ class TokenLaunchService extends base_1.BaseService {
13
+ constructor(apiKey, connection, commitment = 'processed') {
14
+ super(apiKey, connection, commitment);
15
+ }
16
+ async createLaunchTransaction(params) {
17
+ const encodedSignedTransaction = await this.bagsApiClient.post('/token-launch/create-launch-transaction', {
18
+ ipfs: params.metadataUrl,
19
+ tokenMint: params.tokenMint.toBase58(),
20
+ wallet: params.launchWallet.toBase58(),
21
+ initialBuyLamports: params.initialBuyLamports,
22
+ configKey: params.configKey.toBase58(),
23
+ });
24
+ const decodedSignedTransaction = bs58_1.default.decode(encodedSignedTransaction);
25
+ const launchTransaction = web3_js_1.VersionedTransaction.deserialize(decodedSignedTransaction);
26
+ return launchTransaction;
27
+ }
28
+ async createTokenInfoAndMetadata(params) {
29
+ const formData = new form_data_1.default();
30
+ const imageData = await (0, image_1.prepareImageForFormData)(params.image);
31
+ formData.append('image', imageData.buffer, {
32
+ filename: imageData.filename,
33
+ contentType: imageData.contentType,
34
+ });
35
+ formData.append('name', params.name);
36
+ formData.append('symbol', params.symbol);
37
+ formData.append('description', params.description);
38
+ formData.append('telegram', params.telegram);
39
+ formData.append('website', params.website);
40
+ formData.append('twitter', params.twitter);
41
+ const response = await this.bagsApiClient.post('/token-launch/create-token-info', formData, {
42
+ headers: {
43
+ ...formData.getHeaders(),
44
+ },
45
+ });
46
+ return response;
47
+ }
48
+ }
49
+ exports.TokenLaunchService = TokenLaunchService;
50
+ //# sourceMappingURL=token-launch.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"token-launch.js","sourceRoot":"","sources":["../../src/services/token-launch.ts"],"names":[],"mappings":";;;;;;AAAA,6CAA+E;AAC/E,iCAAqC;AACrC,gDAAwB;AAExB,0DAAiC;AACjC,0CAAyD;AAEzD,MAAa,kBAAmB,SAAQ,kBAAW;IAClD,YAAY,MAAc,EAAE,UAAsB,EAAE,aAAyB,WAAW;QACvF,KAAK,CAAC,MAAM,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;IACvC,CAAC;IAQD,KAAK,CAAC,uBAAuB,CAAC,MAAqC;QAClE,MAAM,wBAAwB,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,CAAS,yCAAyC,EAAE;YACjH,IAAI,EAAE,MAAM,CAAC,WAAW;YACxB,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC,QAAQ,EAAE;YACtC,MAAM,EAAE,MAAM,CAAC,YAAY,CAAC,QAAQ,EAAE;YACtC,kBAAkB,EAAE,MAAM,CAAC,kBAAkB;YAC7C,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC,QAAQ,EAAE;SACtC,CAAC,CAAC;QAEH,MAAM,wBAAwB,GAAG,cAAI,CAAC,MAAM,CAAC,wBAAwB,CAAC,CAAC;QACvE,MAAM,iBAAiB,GAAG,8BAAoB,CAAC,WAAW,CAAC,wBAAwB,CAAC,CAAC;QAErF,OAAO,iBAAiB,CAAC;IAC1B,CAAC;IAQD,KAAK,CAAC,0BAA0B,CAAC,MAA6B;QAC7D,MAAM,QAAQ,GAAG,IAAI,mBAAQ,EAAE,CAAC;QAEhC,MAAM,SAAS,GAAG,MAAM,IAAA,+BAAuB,EAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAE9D,QAAQ,CAAC,MAAM,CAAC,OAAO,EAAE,SAAS,CAAC,MAAM,EAAE;YAC1C,QAAQ,EAAE,SAAS,CAAC,QAAQ;YAC5B,WAAW,EAAE,SAAS,CAAC,WAAW;SAClC,CAAC,CAAC;QAEH,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;QACrC,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;QACzC,QAAQ,CAAC,MAAM,CAAC,aAAa,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC;QACnD,QAAQ,CAAC,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC7C,QAAQ,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;QAC3C,QAAQ,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;QAE3C,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,CAA0B,iCAAiC,EAAE,QAAQ,EAAE;YACpH,OAAO,EAAE;gBACR,GAAG,QAAQ,CAAC,UAAU,EAAE;aACxB;SACD,CAAC,CAAC;QAEH,OAAO,QAAQ,CAAC;IACjB,CAAC;CACD;AAzDD,gDAyDC"}
@@ -0,0 +1,32 @@
1
+ import { BlockhashWithExpiryBlockHeight } from '@solana/web3.js';
2
+ type BagsSuccessApiResponse<T> = {
3
+ success: true;
4
+ response: T;
5
+ };
6
+ type BagsErrorApiResponse = {
7
+ success: false;
8
+ error: string;
9
+ };
10
+ export type BagsApiResponse<T> = BagsSuccessApiResponse<T> | BagsErrorApiResponse;
11
+ export interface TransactionConfigApiResponse {
12
+ tx: string | null;
13
+ configKey: string;
14
+ }
15
+ export interface FeeShareTransactionConfigApiResponse {
16
+ tx: string;
17
+ configKey: string;
18
+ }
19
+ export interface TokenLaunchCreator {
20
+ username: string;
21
+ pfp: string;
22
+ twitterUsername: string | null;
23
+ royaltyBps: number;
24
+ isCreator: boolean;
25
+ }
26
+ interface ClaimTransactionResult {
27
+ tx: string;
28
+ blockhash: BlockhashWithExpiryBlockHeight;
29
+ }
30
+ export type ClaimTransactionApiResponse = Array<ClaimTransactionResult>;
31
+ export {};
32
+ //# sourceMappingURL=api.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../src/types/api.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,8BAA8B,EAAE,MAAM,iBAAiB,CAAC;AAEjE,KAAK,sBAAsB,CAAC,CAAC,IAAI;IAChC,OAAO,EAAE,IAAI,CAAC;IACd,QAAQ,EAAE,CAAC,CAAC;CACZ,CAAC;AAEF,KAAK,oBAAoB,GAAG;IAC3B,OAAO,EAAE,KAAK,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,MAAM,MAAM,eAAe,CAAC,CAAC,IAAI,sBAAsB,CAAC,CAAC,CAAC,GAAG,oBAAoB,CAAC;AAElF,MAAM,WAAW,4BAA4B;IAC5C,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,oCAAoC;IACpD,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,kBAAkB;IAClC,QAAQ,EAAE,MAAM,CAAC;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,OAAO,CAAC;CACnB;AAED,UAAU,sBAAsB;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,8BAA8B,CAAC;CAC1C;AAED,MAAM,MAAM,2BAA2B,GAAG,KAAK,CAAC,sBAAsB,CAAC,CAAC"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=api.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api.js","sourceRoot":"","sources":["../../src/types/api.ts"],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ export * from './api';
2
+ export * from './token-launch';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,OAAO,CAAC;AACtB,cAAc,gBAAgB,CAAC"}
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./api"), exports);
18
+ __exportStar(require("./token-launch"), exports);
19
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,wCAAsB;AACtB,iDAA+B"}
@@ -0,0 +1,79 @@
1
+ import { PositionState } from '@meteora-ag/cp-amm-sdk';
2
+ import { PublicKey } from '@solana/web3.js';
3
+ export interface GetClaimTransactionForTokenRequest {
4
+ feeClaimer: string;
5
+ tokenMint: string;
6
+ isCustomFeeVault: boolean;
7
+ claimVirtualPoolFees?: boolean;
8
+ claimDammV2Fees?: boolean;
9
+ virtualPoolAddress?: string;
10
+ dammV2Position?: string;
11
+ dammV2Pool?: string;
12
+ dammV2PositionNftAccount?: string;
13
+ tokenAMint?: string;
14
+ tokenBMint?: string;
15
+ tokenAVault?: string;
16
+ tokenBVault?: string;
17
+ customFeeVaultClaimerA?: string;
18
+ customFeeVaultClaimerB?: string;
19
+ customFeeVaultClaimerSide?: 'A' | 'B';
20
+ }
21
+ export interface CustomFeeVault {
22
+ claimerA: PublicKey;
23
+ claimerB: PublicKey;
24
+ claimerABps: number;
25
+ claimerBBps: number;
26
+ mint: PublicKey;
27
+ bump: number;
28
+ }
29
+ export type MeteoraDbcClaimPositionFeeParams = {
30
+ owner: PublicKey;
31
+ position: PublicKey;
32
+ pool: PublicKey;
33
+ positionNftAccount: PublicKey;
34
+ tokenAMint: PublicKey;
35
+ tokenBMint: PublicKey;
36
+ tokenAVault: PublicKey;
37
+ tokenBVault: PublicKey;
38
+ tokenAProgram: PublicKey;
39
+ tokenBProgram: PublicKey;
40
+ };
41
+ export type MeteoraDbcClaimablePositionWithOrWithoutCustomFeeVault = MeteoraDbcClaimablePosition | MeteoraDbcClaimablePositionWithCustomFeeVault;
42
+ type MeteoraDbcClaimablePosition = {
43
+ isCustomFeeVault: false;
44
+ virtualPool: string;
45
+ baseMint: string;
46
+ virtualPoolClaimableAmount: number;
47
+ dammPoolClaimableAmount?: number;
48
+ virtualPoolAddress: string;
49
+ isMigrated: boolean;
50
+ dammPoolAddress?: string;
51
+ dammPositionInfo?: MeteoraDbcClaimPositionFeeParams;
52
+ claimableDisplayAmount: number;
53
+ };
54
+ type MeteoraDbcClaimablePositionWithCustomFeeVault = {
55
+ isCustomFeeVault: true;
56
+ customFeeVault: PublicKey;
57
+ customFeeVaultBalance: number;
58
+ customFeeVaultBps: number;
59
+ customFeeVaultClaimOwner: PublicKey;
60
+ customFeeVaultClaimerA: PublicKey;
61
+ customFeeVaultClaimerB: PublicKey;
62
+ customFeeVaultClaimerSide: 'A' | 'B';
63
+ virtualPool: string;
64
+ baseMint: string;
65
+ virtualPoolClaimableAmount: number;
66
+ dammPoolClaimableAmount?: number;
67
+ virtualPoolAddress: string;
68
+ isMigrated: boolean;
69
+ dammPoolAddress?: string;
70
+ dammPositionInfo?: MeteoraDbcClaimPositionFeeParams;
71
+ claimableDisplayAmount: number;
72
+ };
73
+ export interface DammV2PositionByPool {
74
+ positionNftAccount: PublicKey;
75
+ position: PublicKey;
76
+ positionState: PositionState;
77
+ }
78
+ export {};
79
+ //# sourceMappingURL=meteora.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"meteora.d.ts","sourceRoot":"","sources":["../../src/types/meteora.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=meteora.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"meteora.js","sourceRoot":"","sources":["../../src/types/meteora.ts"],"names":[],"mappings":""}