@soltracer/nft-staking 0.1.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.
- package/INTEGRATION.md +237 -0
- package/dist/client.d.ts +112 -0
- package/dist/client.d.ts.map +1 -0
- package/dist/client.js +892 -0
- package/dist/client.js.map +1 -0
- package/dist/idl.d.ts +5050 -0
- package/dist/idl.d.ts.map +1 -0
- package/dist/idl.js +2 -0
- package/dist/idl.js.map +1 -0
- package/dist/idl.json +5043 -0
- package/dist/index.d.ts +5 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +4 -0
- package/dist/index.js.map +1 -0
- package/package.json +33 -0
package/INTEGRATION.md
ADDED
|
@@ -0,0 +1,237 @@
|
|
|
1
|
+
# @soltracer/nft-staking
|
|
2
|
+
|
|
3
|
+
SDK client for the solTracer NFT Staking program. Supports Legacy, pNFT, Core, and cNFT staking with escrow or wallet-lock modes, primary and secondary rewards, trait bonuses, lock tiers, and permanent burn mechanics.
|
|
4
|
+
|
|
5
|
+
## Installation
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
npm install @soltracer/nft-staking @soltracer/core @coral-xyz/anchor @solana/web3.js
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## Quick Start
|
|
12
|
+
|
|
13
|
+
```ts
|
|
14
|
+
import { NftStakingClient } from "@soltracer/nft-staking";
|
|
15
|
+
import { AnchorProvider } from "@coral-xyz/anchor";
|
|
16
|
+
|
|
17
|
+
const provider = AnchorProvider.env();
|
|
18
|
+
const client = NftStakingClient.create(provider);
|
|
19
|
+
|
|
20
|
+
// Fetch a staking pool
|
|
21
|
+
const pool = await client.fetchStakePool(projectId, poolId);
|
|
22
|
+
|
|
23
|
+
// Stake an NFT
|
|
24
|
+
const ix = await client.stakeNft(projectId, poolId, nftMint, 0, null, fee);
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
## Client Setup
|
|
28
|
+
|
|
29
|
+
```ts
|
|
30
|
+
// From bundled IDL (recommended)
|
|
31
|
+
const client = NftStakingClient.create(provider);
|
|
32
|
+
|
|
33
|
+
// From custom IDL
|
|
34
|
+
const client = NftStakingClient.fromIdl(customIdl, provider);
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
## Fee Parameters
|
|
38
|
+
|
|
39
|
+
Many instructions require a `FeeParams` object for platform fee CPI:
|
|
40
|
+
|
|
41
|
+
```ts
|
|
42
|
+
interface FeeParams {
|
|
43
|
+
feeConfig: PublicKey;
|
|
44
|
+
treasury: PublicKey;
|
|
45
|
+
referralAccount?: string;
|
|
46
|
+
solUsdPriceFeed: PublicKey;
|
|
47
|
+
adminProgram: PublicKey;
|
|
48
|
+
}
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
## Read Methods
|
|
52
|
+
|
|
53
|
+
### Pool & Config
|
|
54
|
+
|
|
55
|
+
```ts
|
|
56
|
+
const config = await client.fetchStakeConfig(projectId);
|
|
57
|
+
const pool = await client.fetchStakePool(projectId, poolId);
|
|
58
|
+
const pools = await client.fetchAllPools(projectId);
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
### Stake Entries
|
|
62
|
+
|
|
63
|
+
```ts
|
|
64
|
+
const entry = await client.fetchStakeEntry(poolId, nftMint);
|
|
65
|
+
const entries = await client.fetchStakeEntriesByOwner(poolId, owner);
|
|
66
|
+
const batch = await client.fetchStakeEntriesForMints(poolId, [mint1, mint2]);
|
|
67
|
+
const all = await client.fetchAllStakeEntriesByPool(projectId, poolId);
|
|
68
|
+
const cross = await client.fetchStakeEntriesAcrossPools([poolId1, poolId2], [mint1, mint2]);
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
### Staker Accounts
|
|
72
|
+
|
|
73
|
+
```ts
|
|
74
|
+
const staker = await client.fetchStakerAccount(poolId, wallet);
|
|
75
|
+
const stakers = await client.fetchAllStakersByPool(projectId, poolId);
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
### Secondary Rewards
|
|
79
|
+
|
|
80
|
+
```ts
|
|
81
|
+
const poolSecondary = await client.fetchPoolSecondaryRewards(poolId);
|
|
82
|
+
const stakerSecondary = await client.fetchStakerSecondaryRewards(poolId, wallet);
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
## Admin Instructions
|
|
86
|
+
|
|
87
|
+
### Initialize & Create Pools
|
|
88
|
+
|
|
89
|
+
```ts
|
|
90
|
+
// Initialize staking config for a project
|
|
91
|
+
const ix = await client.initializeStakeConfig(projectId);
|
|
92
|
+
|
|
93
|
+
// Create a staking pool
|
|
94
|
+
const ix = await client.createStakePool(
|
|
95
|
+
projectId,
|
|
96
|
+
0, // stakingMode: 0 = Escrow, 1 = WalletLock
|
|
97
|
+
{
|
|
98
|
+
rewardType: 0, // 0 = Token, 1 = Points
|
|
99
|
+
rewardMint: mintPubkey,
|
|
100
|
+
baseRate: 100,
|
|
101
|
+
rateInterval: 86400, // daily
|
|
102
|
+
traitBonusMode: 0,
|
|
103
|
+
quantityThresholds: [],
|
|
104
|
+
},
|
|
105
|
+
[{ lockDuration: 0, rewardRate: 100, earlyUnstakePenaltyBps: 0 }],
|
|
106
|
+
collectionMint,
|
|
107
|
+
rewardEndAt, // optional unix timestamp
|
|
108
|
+
maxStaked // optional max NFTs
|
|
109
|
+
);
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
### Update Pool
|
|
113
|
+
|
|
114
|
+
```ts
|
|
115
|
+
const ix = await client.updateStakePool(
|
|
116
|
+
projectId, poolId,
|
|
117
|
+
rewardConfig, // or null to keep existing
|
|
118
|
+
lockConfigs, // or null to keep existing
|
|
119
|
+
isActive, // or null to keep existing
|
|
120
|
+
traitAuthority, canBurn, merkleRoot, gateType, rewardEndAt, maxStaked
|
|
121
|
+
);
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
### Fund & Withdraw Reward Vault
|
|
125
|
+
|
|
126
|
+
```ts
|
|
127
|
+
const fund = await client.fundRewardVault(projectId, poolId, amount, rewardMint);
|
|
128
|
+
const withdraw = await client.withdrawRewardVault(projectId, poolId, amount, rewardMint);
|
|
129
|
+
```
|
|
130
|
+
|
|
131
|
+
### Close Pool
|
|
132
|
+
|
|
133
|
+
```ts
|
|
134
|
+
const ix = await client.closeStakePool(projectId, poolId);
|
|
135
|
+
```
|
|
136
|
+
|
|
137
|
+
### Secondary Rewards Management
|
|
138
|
+
|
|
139
|
+
```ts
|
|
140
|
+
const add = await client.addPoolSecondaryReward(projectId, poolId, rewardMint, baseRate, lockTierRates);
|
|
141
|
+
const remove = await client.removePoolSecondaryReward(projectId, poolId, rewardIndex);
|
|
142
|
+
const fund = await client.fundSecondaryVault(projectId, poolId, rewardIndex, amount, rewardMint);
|
|
143
|
+
const withdraw = await client.withdrawSecondaryVault(projectId, poolId, rewardIndex, amount, rewardMint);
|
|
144
|
+
```
|
|
145
|
+
|
|
146
|
+
## User Instructions
|
|
147
|
+
|
|
148
|
+
### Staking Legacy/pNFT
|
|
149
|
+
|
|
150
|
+
```ts
|
|
151
|
+
const stake = await client.stakeNft(projectId, poolId, nftMint, stakingMode, lockTierIndex, fee, gateProof);
|
|
152
|
+
const unstake = await client.unstakeNft(projectId, poolId, nftMint, rewardMint, stakingMode, fee);
|
|
153
|
+
```
|
|
154
|
+
|
|
155
|
+
### Staking Core NFTs
|
|
156
|
+
|
|
157
|
+
```ts
|
|
158
|
+
const stake = await client.stakeCoreNft(projectId, poolId, nftAsset, collection, lockTierIndex, fee, gateProof);
|
|
159
|
+
const unstake = await client.unstakeCoreNft(projectId, poolId, nftAsset, collection, rewardMint, fee);
|
|
160
|
+
```
|
|
161
|
+
|
|
162
|
+
### Staking cNFTs
|
|
163
|
+
|
|
164
|
+
```ts
|
|
165
|
+
const stake = await client.stakeCnft(
|
|
166
|
+
projectId, poolId, nftAssetId, merkleTree,
|
|
167
|
+
cnftRoot, cnftDataHash, cnftCreatorHash, cnftNonce, cnftIndex,
|
|
168
|
+
proofNodes, fee, gateProof
|
|
169
|
+
);
|
|
170
|
+
const unstake = await client.unstakeCnft(
|
|
171
|
+
projectId, poolId, nftAssetId, merkleTree, rewardMint,
|
|
172
|
+
cnftRoot, cnftDataHash, cnftCreatorHash, cnftNonce, cnftIndex,
|
|
173
|
+
proofNodes, fee
|
|
174
|
+
);
|
|
175
|
+
```
|
|
176
|
+
|
|
177
|
+
### Claiming Rewards
|
|
178
|
+
|
|
179
|
+
```ts
|
|
180
|
+
const claim = await client.claimRewards(projectId, poolId, rewardMint, traitBonusRate, fee);
|
|
181
|
+
```
|
|
182
|
+
|
|
183
|
+
### Secondary Reward Claims
|
|
184
|
+
|
|
185
|
+
```ts
|
|
186
|
+
const init = await client.initStakerSecondary(projectId, poolId);
|
|
187
|
+
const claim = await client.claimSecondaryRewards(projectId, poolId, secondaryRewards, fee);
|
|
188
|
+
```
|
|
189
|
+
|
|
190
|
+
### Burn Permanently-Locked Assets
|
|
191
|
+
|
|
192
|
+
```ts
|
|
193
|
+
const burnNft = await client.burnStakedNft(projectId, poolId, nftMint, stakingMode, fee);
|
|
194
|
+
const burnCore = await client.burnStakedCoreNft(projectId, poolId, nftAsset, collection, fee);
|
|
195
|
+
```
|
|
196
|
+
|
|
197
|
+
### Spend Points
|
|
198
|
+
|
|
199
|
+
```ts
|
|
200
|
+
const spend = await client.spendPoints(projectId, poolId, amount, fee);
|
|
201
|
+
```
|
|
202
|
+
|
|
203
|
+
## Integration Example
|
|
204
|
+
|
|
205
|
+
```ts
|
|
206
|
+
import { NftStakingClient } from "@soltracer/nft-staking";
|
|
207
|
+
import { NFT_STAKING_PROGRAM_ID, getFeeConfigPda, getTreasuryPda } from "@soltracer/core";
|
|
208
|
+
import { AnchorProvider } from "@coral-xyz/anchor";
|
|
209
|
+
import { PublicKey, Transaction } from "@solana/web3.js";
|
|
210
|
+
|
|
211
|
+
const provider = AnchorProvider.env();
|
|
212
|
+
const client = NftStakingClient.create(provider);
|
|
213
|
+
|
|
214
|
+
const [feeConfig] = getFeeConfigPda(NFT_STAKING_PROGRAM_ID);
|
|
215
|
+
const [treasury] = getTreasuryPda();
|
|
216
|
+
|
|
217
|
+
const fee = {
|
|
218
|
+
feeConfig,
|
|
219
|
+
treasury,
|
|
220
|
+
solUsdPriceFeed: new PublicKey("..."),
|
|
221
|
+
adminProgram: new PublicKey("H5ApgCLSTnvdFTmZCf9t2kEiz1nzji7iEivBPoPbDfS4"),
|
|
222
|
+
};
|
|
223
|
+
|
|
224
|
+
const stakeIx = await client.stakeNft(1, 0, nftMint, 0, null, fee);
|
|
225
|
+
const tx = new Transaction().add(stakeIx);
|
|
226
|
+
await provider.sendAndConfirm(tx);
|
|
227
|
+
```
|
|
228
|
+
|
|
229
|
+
## Exports
|
|
230
|
+
|
|
231
|
+
| Export | Type |
|
|
232
|
+
|---|---|
|
|
233
|
+
| `NftStakingClient` | Class |
|
|
234
|
+
| `FeeParams` | TypeScript interface |
|
|
235
|
+
| `NFT_STAKING_PROGRAM_ID` | `PublicKey` (re-exported from `@soltracer/core`) |
|
|
236
|
+
| `NftStakingIDLType` | IDL type |
|
|
237
|
+
| `NftStakingIDL` | IDL JSON |
|
package/dist/client.d.ts
ADDED
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
import { BN, Program, type AnchorProvider } from "@coral-xyz/anchor";
|
|
2
|
+
import { PublicKey, type TransactionInstruction } from "@solana/web3.js";
|
|
3
|
+
import { type StakePoolConfig, type StakePool, type StakeEntry, type StakerAccount, type PoolSecondaryRewards, type StakerSecondaryRewards } from "@soltracer/core";
|
|
4
|
+
import type { NftStaking } from "./idl";
|
|
5
|
+
/** Optional referral account for fee distribution. */
|
|
6
|
+
export interface FeeParams {
|
|
7
|
+
/** Referral account PDA (Pubkey as base58). Omit if no referral. */
|
|
8
|
+
referralAccount?: string;
|
|
9
|
+
}
|
|
10
|
+
export declare class NftStakingClient {
|
|
11
|
+
readonly program: Program<NftStaking>;
|
|
12
|
+
readonly provider: AnchorProvider;
|
|
13
|
+
private tokenProgramCache;
|
|
14
|
+
private mintDecimalsCache;
|
|
15
|
+
constructor(program: Program<NftStaking>, provider: AnchorProvider);
|
|
16
|
+
static create(provider: AnchorProvider): NftStakingClient;
|
|
17
|
+
static fromIdl(idl: NftStaking, provider: AnchorProvider): NftStakingClient;
|
|
18
|
+
/** Detect whether a mint is Token-2022 or SPL Token (cached). */
|
|
19
|
+
private resolveTokenProgram;
|
|
20
|
+
/** Fetch the decimal precision of a token mint (cached). */
|
|
21
|
+
getMintDecimals(mint: PublicKey): Promise<number>;
|
|
22
|
+
/** Convert raw token amounts in a decoded StakePool to human-readable values. */
|
|
23
|
+
private applyPoolDecimals;
|
|
24
|
+
/** Hardcoded Pyth SOL/USD push oracle address (PriceUpdateV2). */
|
|
25
|
+
private static readonly PYTH_SOL_USD_FEED;
|
|
26
|
+
/** Resolve fee PDA accounts for fee CPI. */
|
|
27
|
+
private resolveFeeAccounts;
|
|
28
|
+
fetchStakeConfig(projectId: number): Promise<StakePoolConfig | null>;
|
|
29
|
+
fetchStakePool(projectId: number, poolId: number): Promise<StakePool | null>;
|
|
30
|
+
fetchStakeEntry(poolId: number, nftMint: PublicKey): Promise<StakeEntry | null>;
|
|
31
|
+
fetchStakerAccount(poolId: number, wallet: PublicKey, rewardDecimals?: number): Promise<StakerAccount | null>;
|
|
32
|
+
/** Fetch all stake pools for a project by scanning pool IDs 0..totalPools-1. */
|
|
33
|
+
fetchAllPools(projectId: number): Promise<StakePool[]>;
|
|
34
|
+
/** Fetch all active stake entries for a wallet in a specific pool via gPA. */
|
|
35
|
+
fetchStakeEntriesByOwner(_poolId: number, owner: PublicKey): Promise<StakeEntry[]>;
|
|
36
|
+
/**
|
|
37
|
+
* Fetch active stake entries for specific NFT mints by deriving their PDAs.
|
|
38
|
+
* More reliable than gPA in browser environments.
|
|
39
|
+
*/
|
|
40
|
+
fetchStakeEntriesForMints(poolId: number, nftMints: PublicKey[]): Promise<StakeEntry[]>;
|
|
41
|
+
/** Fetch all stake entries for a pool via gPA with memcmp on pool pubkey. */
|
|
42
|
+
fetchAllStakeEntriesByPool(projectId: number, poolId: number): Promise<StakeEntry[]>;
|
|
43
|
+
/**
|
|
44
|
+
* Fetch active stake entries for given mints across multiple pools.
|
|
45
|
+
* Uses PDA derivation + fetchMultiple (reliable in browser).
|
|
46
|
+
*/
|
|
47
|
+
fetchStakeEntriesAcrossPools(poolIds: number[], nftMints: PublicKey[]): Promise<StakeEntry[]>;
|
|
48
|
+
/** Fetch all staker accounts for a pool via gPA with memcmp on pool pubkey. */
|
|
49
|
+
fetchAllStakersByPool(projectId: number, poolId: number): Promise<StakerAccount[]>;
|
|
50
|
+
closeLegacyCollection(projectId: number, collectionMint: PublicKey): Promise<TransactionInstruction>;
|
|
51
|
+
initializeStakeConfig(projectId: number): Promise<TransactionInstruction>;
|
|
52
|
+
createStakePool(projectId: number, stakingMode: number, rewardConfig: {
|
|
53
|
+
rewardType: number;
|
|
54
|
+
rewardMint: PublicKey;
|
|
55
|
+
baseRate: number;
|
|
56
|
+
rateInterval: number;
|
|
57
|
+
traitBonusMode: number;
|
|
58
|
+
quantityThresholds: {
|
|
59
|
+
minCount: number;
|
|
60
|
+
bonusBps: number;
|
|
61
|
+
}[];
|
|
62
|
+
}, lockConfigs: {
|
|
63
|
+
lockDuration: number;
|
|
64
|
+
rewardRate: number;
|
|
65
|
+
earlyUnstakePenaltyBps: number;
|
|
66
|
+
}[], collectionMint: PublicKey, rewardEndAt?: number, maxStaked?: number): Promise<TransactionInstruction>;
|
|
67
|
+
updateStakePool(projectId: number, poolId: number, rewardConfig: {
|
|
68
|
+
rewardType: number;
|
|
69
|
+
rewardMint: PublicKey;
|
|
70
|
+
baseRate: number;
|
|
71
|
+
rateInterval: number;
|
|
72
|
+
traitBonusMode: number;
|
|
73
|
+
quantityThresholds: {
|
|
74
|
+
minCount: number;
|
|
75
|
+
bonusBps: number;
|
|
76
|
+
}[];
|
|
77
|
+
} | null, lockConfigs: {
|
|
78
|
+
lockDuration: number;
|
|
79
|
+
rewardRate: number;
|
|
80
|
+
earlyUnstakePenaltyBps: number;
|
|
81
|
+
}[] | null, isActive: boolean | null, traitAuthority?: PublicKey | null, canBurn?: boolean | null, merkleRoot?: number[] | null, gateType?: number | null, rewardEndAt?: BN | null, maxStaked?: BN | null): Promise<TransactionInstruction>;
|
|
82
|
+
fundRewardVault(projectId: number, poolId: number, amount: BN, rewardMint: PublicKey, funderTokenAccount?: PublicKey): Promise<TransactionInstruction>;
|
|
83
|
+
withdrawRewardVault(projectId: number, poolId: number, amount: BN, rewardMint: PublicKey, destinationTokenAccount?: PublicKey): Promise<TransactionInstruction>;
|
|
84
|
+
closeStakePool(projectId: number, poolId: number): Promise<TransactionInstruction>;
|
|
85
|
+
stakeNft(projectId: number, poolId: number, nftMint: PublicKey, stakingMode: number, lockTierIndex: number | null, fee?: FeeParams, gateProof?: number[][]): Promise<TransactionInstruction>;
|
|
86
|
+
unstakeNft(projectId: number, poolId: number, nftMint: PublicKey, rewardMint: PublicKey, stakingMode: number, fee?: FeeParams): Promise<TransactionInstruction>;
|
|
87
|
+
claimRewards(projectId: number, poolId: number, rewardMint: PublicKey, traitBonusRate?: BN | null, fee?: FeeParams): Promise<TransactionInstruction>;
|
|
88
|
+
stakeCoreNft(projectId: number, poolId: number, nftAsset: PublicKey, collection: PublicKey, lockTierIndex: number | null, fee?: FeeParams, gateProof?: number[][]): Promise<TransactionInstruction>;
|
|
89
|
+
unstakeCoreNft(projectId: number, poolId: number, nftAsset: PublicKey, collection: PublicKey, rewardMint: PublicKey, fee?: FeeParams): Promise<TransactionInstruction>;
|
|
90
|
+
/** Stake a compressed NFT (cNFT). All address/hash params accepted as strings. */
|
|
91
|
+
stakeCnft(projectId: number, poolId: number, nftAssetId: string, merkleTree: string, cnftRoot: string, cnftDataHash: string, cnftCreatorHash: string, cnftNonce: number, cnftIndex: number, proofNodes: string[], fee?: FeeParams, gateProof?: number[][]): Promise<TransactionInstruction>;
|
|
92
|
+
/** Unstake a compressed NFT (cNFT). Derives tree config and program IDs internally. */
|
|
93
|
+
unstakeCnft(projectId: number, poolId: number, nftAssetId: string, merkleTree: string, rewardMint: string, cnftRoot: string, cnftDataHash: string, cnftCreatorHash: string, cnftNonce: number, cnftIndex: number, proofNodes: string[], fee?: FeeParams): Promise<TransactionInstruction>;
|
|
94
|
+
/** Burn a permanently-locked legacy/pNFT. Destroys the NFT and closes the stake entry.
|
|
95
|
+
* For Escrow mode, burns from escrow. For WalletLock, unfreezes then burns from wallet. */
|
|
96
|
+
burnStakedNft(projectId: number, poolId: number, nftMint: PublicKey, stakingMode: number, fee?: FeeParams): Promise<TransactionInstruction>;
|
|
97
|
+
/** Burn a permanently-locked Core NFT. Destroys the asset and closes the stake entry. */
|
|
98
|
+
burnStakedCoreNft(projectId: number, poolId: number, nftAsset: PublicKey, collection: PublicKey, fee?: FeeParams): Promise<TransactionInstruction>;
|
|
99
|
+
/** Spend accrued points from a Points reward type pool. */
|
|
100
|
+
spendPoints(projectId: number, poolId: number, amount: BN, fee?: FeeParams): Promise<TransactionInstruction>;
|
|
101
|
+
fetchPoolSecondaryRewards(poolId: number): Promise<PoolSecondaryRewards | null>;
|
|
102
|
+
fetchStakerSecondaryRewards(poolId: number, wallet: PublicKey): Promise<StakerSecondaryRewards | null>;
|
|
103
|
+
addPoolSecondaryReward(projectId: number, poolId: number, rewardMint: PublicKey, baseRate: BN, lockTierRates: BN[]): Promise<TransactionInstruction>;
|
|
104
|
+
removePoolSecondaryReward(projectId: number, poolId: number, rewardIndex: number): Promise<TransactionInstruction>;
|
|
105
|
+
fundSecondaryVault(projectId: number, poolId: number, rewardIndex: number, amount: BN, rewardMint: PublicKey, funderTokenAccount?: PublicKey): Promise<TransactionInstruction>;
|
|
106
|
+
withdrawSecondaryVault(projectId: number, poolId: number, rewardIndex: number, amount: BN, rewardMint: PublicKey, destinationTokenAccount?: PublicKey): Promise<TransactionInstruction>;
|
|
107
|
+
initStakerSecondary(projectId: number, poolId: number): Promise<TransactionInstruction>;
|
|
108
|
+
claimSecondaryRewards(projectId: number, poolId: number, secondaryRewards: {
|
|
109
|
+
mint: PublicKey;
|
|
110
|
+
}[], fee?: FeeParams): Promise<TransactionInstruction>;
|
|
111
|
+
}
|
|
112
|
+
//# sourceMappingURL=client.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|