@paul.lumberwork/bonding-curve-sdk 1.7.1 → 1.8.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/dist/index.d.mts CHANGED
@@ -1,6 +1,6 @@
1
1
  import * as anchor from '@coral-xyz/anchor';
2
2
  import { BN, Program } from '@coral-xyz/anchor';
3
- import { PublicKey, Keypair, Connection } from '@solana/web3.js';
3
+ import { PublicKey, Connection, Keypair, TransactionInstruction } from '@solana/web3.js';
4
4
 
5
5
  /**
6
6
  * Program IDL in camelCase format in order to be used in JS/TS.
@@ -1743,8 +1743,137 @@ type KickFunProgram = {
1743
1743
  "type": {
1744
1744
  "option": "u128";
1745
1745
  };
1746
+ },
1747
+ {
1748
+ "name": "newFeeWithdrawDelay";
1749
+ "type": {
1750
+ "option": "i64";
1751
+ };
1752
+ }
1753
+ ];
1754
+ },
1755
+ {
1756
+ "name": "withdrawAccumulatedFees";
1757
+ "docs": [
1758
+ "Withdraw accumulated trading fees (0.5% curve fee) from an incomplete bonding curve.",
1759
+ "Time-locked: only callable after launchpad.fee_withdraw_delay seconds since curve creation.",
1760
+ "Default delay: 7 days. Admin can change delay via update_launchpad.",
1761
+ "Use this when a curve never reaches 100% but has accumulated fees."
1762
+ ];
1763
+ "discriminator": [
1764
+ 208,
1765
+ 72,
1766
+ 35,
1767
+ 251,
1768
+ 110,
1769
+ 63,
1770
+ 250,
1771
+ 122
1772
+ ];
1773
+ "accounts": [
1774
+ {
1775
+ "name": "admin";
1776
+ "docs": [
1777
+ "Admin signer — must be launchpad.authority"
1778
+ ];
1779
+ "writable": true;
1780
+ "signer": true;
1781
+ },
1782
+ {
1783
+ "name": "launchpad";
1784
+ "pda": {
1785
+ "seeds": [
1786
+ {
1787
+ "kind": "const";
1788
+ "value": [
1789
+ 108,
1790
+ 97,
1791
+ 117,
1792
+ 110,
1793
+ 99,
1794
+ 104,
1795
+ 112,
1796
+ 97,
1797
+ 100
1798
+ ];
1799
+ }
1800
+ ];
1801
+ };
1802
+ },
1803
+ {
1804
+ "name": "tokenLaunch";
1805
+ },
1806
+ {
1807
+ "name": "bondingCurve";
1808
+ "writable": true;
1809
+ "pda": {
1810
+ "seeds": [
1811
+ {
1812
+ "kind": "const";
1813
+ "value": [
1814
+ 98,
1815
+ 111,
1816
+ 110,
1817
+ 100,
1818
+ 105,
1819
+ 110,
1820
+ 103,
1821
+ 95,
1822
+ 99,
1823
+ 117,
1824
+ 114,
1825
+ 118,
1826
+ 101
1827
+ ];
1828
+ },
1829
+ {
1830
+ "kind": "account";
1831
+ "path": "tokenLaunch";
1832
+ }
1833
+ ];
1834
+ };
1835
+ },
1836
+ {
1837
+ "name": "vault";
1838
+ "docs": [
1839
+ "Vault holding SOL collected during trading"
1840
+ ];
1841
+ "writable": true;
1842
+ "pda": {
1843
+ "seeds": [
1844
+ {
1845
+ "kind": "const";
1846
+ "value": [
1847
+ 118,
1848
+ 97,
1849
+ 117,
1850
+ 108,
1851
+ 116
1852
+ ];
1853
+ },
1854
+ {
1855
+ "kind": "account";
1856
+ "path": "tokenLaunch";
1857
+ }
1858
+ ];
1859
+ };
1860
+ },
1861
+ {
1862
+ "name": "treasury";
1863
+ "docs": [
1864
+ "Treasury wallet receives the withdrawn fees"
1865
+ ];
1866
+ "writable": true;
1867
+ },
1868
+ {
1869
+ "name": "mint";
1870
+ },
1871
+ {
1872
+ "name": "systemProgram";
1873
+ "address": "11111111111111111111111111111111";
1746
1874
  }
1747
1875
  ];
1876
+ "args": [];
1748
1877
  }
1749
1878
  ];
1750
1879
  "accounts": [
@@ -1828,6 +1957,19 @@ type KickFunProgram = {
1828
1957
  42
1829
1958
  ];
1830
1959
  },
1960
+ {
1961
+ "name": "feesWithdrawn";
1962
+ "discriminator": [
1963
+ 234,
1964
+ 15,
1965
+ 0,
1966
+ 119,
1967
+ 148,
1968
+ 241,
1969
+ 40,
1970
+ 21
1971
+ ];
1972
+ },
1831
1973
  {
1832
1974
  "name": "launchCreated";
1833
1975
  "discriminator": [
@@ -1928,6 +2070,21 @@ type KickFunProgram = {
1928
2070
  "code": 6011;
1929
2071
  "name": "curveNotComplete";
1930
2072
  "msg": "Bonding curve is not complete yet";
2073
+ },
2074
+ {
2075
+ "code": 6012;
2076
+ "name": "supplyExceedsMax";
2077
+ "msg": "Total supply exceeds maximum safe calculation limit";
2078
+ },
2079
+ {
2080
+ "code": 6013;
2081
+ "name": "feeWithdrawTooEarly";
2082
+ "msg": "Fee withdrawal not allowed yet: time-lock period has not elapsed";
2083
+ },
2084
+ {
2085
+ "code": 6014;
2086
+ "name": "noFeesToWithdraw";
2087
+ "msg": "No accumulated fees to withdraw";
1931
2088
  }
1932
2089
  ];
1933
2090
  "types": [
@@ -2171,6 +2328,59 @@ type KickFunProgram = {
2171
2328
  ];
2172
2329
  };
2173
2330
  },
2331
+ {
2332
+ "name": "feesWithdrawn";
2333
+ "docs": [
2334
+ "Event emitted when admin withdraws accumulated fees from an incomplete/dead curve"
2335
+ ];
2336
+ "type": {
2337
+ "kind": "struct";
2338
+ "fields": [
2339
+ {
2340
+ "name": "tokenLaunch";
2341
+ "docs": [
2342
+ "The token launch public key"
2343
+ ];
2344
+ "type": "pubkey";
2345
+ },
2346
+ {
2347
+ "name": "mint";
2348
+ "docs": [
2349
+ "The mint address"
2350
+ ];
2351
+ "type": "pubkey";
2352
+ },
2353
+ {
2354
+ "name": "admin";
2355
+ "docs": [
2356
+ "Admin who triggered the withdrawal"
2357
+ ];
2358
+ "type": "pubkey";
2359
+ },
2360
+ {
2361
+ "name": "treasury";
2362
+ "docs": [
2363
+ "Treasury wallet that received the fees"
2364
+ ];
2365
+ "type": "pubkey";
2366
+ },
2367
+ {
2368
+ "name": "feesWithdrawn";
2369
+ "docs": [
2370
+ "Amount of accumulated fees withdrawn (in lamports)"
2371
+ ];
2372
+ "type": "u64";
2373
+ },
2374
+ {
2375
+ "name": "timestamp";
2376
+ "docs": [
2377
+ "Timestamp"
2378
+ ];
2379
+ "type": "i64";
2380
+ }
2381
+ ];
2382
+ };
2383
+ },
2174
2384
  {
2175
2385
  "name": "launchCreated";
2176
2386
  "docs": [
@@ -2330,6 +2540,14 @@ type KickFunProgram = {
2330
2540
  "Default k value for bonding curve"
2331
2541
  ];
2332
2542
  "type": "u128";
2543
+ },
2544
+ {
2545
+ "name": "feeWithdrawDelay";
2546
+ "docs": [
2547
+ "Minimum seconds after curve creation before admin can withdraw accumulated fees",
2548
+ "Default: 604800 (7 days). Configurable via update_launchpad."
2549
+ ];
2550
+ "type": "i64";
2333
2551
  }
2334
2552
  ];
2335
2553
  };
@@ -2445,6 +2663,14 @@ type KickFunProgram = {
2445
2663
  ];
2446
2664
  "type": "i64";
2447
2665
  },
2666
+ {
2667
+ "name": "feeWithdrawDelay";
2668
+ "docs": [
2669
+ "Seconds after creation before admin can withdraw accumulated fees",
2670
+ "Snapshotted from launchpad.fee_withdraw_delay at creation time — immutable after deploy"
2671
+ ];
2672
+ "type": "i64";
2673
+ },
2448
2674
  {
2449
2675
  "name": "bump";
2450
2676
  "docs": [
@@ -3013,7 +3239,9 @@ declare class KickFunSDK {
3013
3239
  }
3014
3240
  interface RegisterStreamerParams {
3015
3241
  streamerId: string;
3016
- streamerKeypair: Keypair;
3242
+ streamerPublicKey: PublicKey;
3243
+ signature: Uint8Array;
3244
+ timestamp: number;
3017
3245
  }
3018
3246
  interface RegisterStreamerResult {
3019
3247
  txSignature: string;
@@ -3021,10 +3249,13 @@ interface RegisterStreamerResult {
3021
3249
  }
3022
3250
  interface ClaimFundsParams {
3023
3251
  streamerId: string;
3024
- streamerKeypair: Keypair;
3252
+ streamerPublicKey: PublicKey;
3025
3253
  mint: PublicKey;
3026
3254
  solAmount: BN;
3027
3255
  tokenAmount: BN;
3256
+ nonce: BN;
3257
+ signature: Uint8Array;
3258
+ timestamp: number;
3028
3259
  }
3029
3260
  interface ClaimFundsResult {
3030
3261
  txSignature: string;
@@ -3038,8 +3269,31 @@ declare class StreamerSDK {
3038
3269
  deriveWhitelistEntry(wallet: PublicKey): PublicKey;
3039
3270
  deriveStreamerRegistration(streamerId: string): PublicKey;
3040
3271
  deriveVault(): PublicKey;
3041
- private getSolanaTimestamp;
3042
- private createEd25519Instruction;
3272
+ getSolanaTimestamp(): Promise<number>;
3273
+ /**
3274
+ * Build the message that the streamer must sign for register_streamer.
3275
+ * The streamer signs this with their wallet (e.g. Phantom signMessage).
3276
+ *
3277
+ * Format: "register_streamer:{streamer_id}:{wallet}:{timestamp}"
3278
+ */
3279
+ buildRegisterMessage(streamerId: string, streamerWallet: PublicKey, timestamp: number): Uint8Array;
3280
+ /**
3281
+ * Build the message that the streamer must sign for claim_funds.
3282
+ * The streamer signs this with their wallet (e.g. Phantom signMessage).
3283
+ *
3284
+ * Format: "claim_funds:{streamer_id}:{wallet}:{mint}:{token_amount}:{sol_amount}:{nonce}:{timestamp}"
3285
+ */
3286
+ buildClaimMessage(streamerId: string, streamerWallet: PublicKey, mint: PublicKey, tokenAmount: BN, solAmount: BN, nonce: BN, timestamp: number): Uint8Array;
3287
+ /**
3288
+ * Create an Ed25519 instruction from an externally-signed signature.
3289
+ * Use this when the streamer signs via browser wallet (Phantom, Solflare, etc.)
3290
+ * instead of exposing a Keypair.
3291
+ *
3292
+ * @param streamerWallet - Public key of the streamer
3293
+ * @param message - The message bytes (from buildRegisterMessage / buildClaimMessage)
3294
+ * @param signature - The Ed25519 signature from wallet.signMessage(message)
3295
+ */
3296
+ createEd25519Instruction(streamerWallet: PublicKey, message: Uint8Array, signature: Uint8Array): TransactionInstruction;
3043
3297
  registerStreamer(params: RegisterStreamerParams): Promise<RegisterStreamerResult>;
3044
3298
  claimFunds(params: ClaimFundsParams): Promise<ClaimFundsResult>;
3045
3299
  getStreamerRegistration(streamerId: string): Promise<{
@@ -3048,6 +3302,8 @@ declare class StreamerSDK {
3048
3302
  verifiedAt: number;
3049
3303
  registeredBy: PublicKey;
3050
3304
  createdAt: number;
3305
+ claimNonce: number;
3306
+ lastClaimAt: number;
3051
3307
  } | null>;
3052
3308
  isWhitelisted(wallet: PublicKey): Promise<boolean>;
3053
3309
  getVaultBalance(mint?: PublicKey): Promise<{
package/dist/index.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import * as anchor from '@coral-xyz/anchor';
2
2
  import { BN, Program } from '@coral-xyz/anchor';
3
- import { PublicKey, Keypair, Connection } from '@solana/web3.js';
3
+ import { PublicKey, Connection, Keypair, TransactionInstruction } from '@solana/web3.js';
4
4
 
5
5
  /**
6
6
  * Program IDL in camelCase format in order to be used in JS/TS.
@@ -1743,8 +1743,137 @@ type KickFunProgram = {
1743
1743
  "type": {
1744
1744
  "option": "u128";
1745
1745
  };
1746
+ },
1747
+ {
1748
+ "name": "newFeeWithdrawDelay";
1749
+ "type": {
1750
+ "option": "i64";
1751
+ };
1752
+ }
1753
+ ];
1754
+ },
1755
+ {
1756
+ "name": "withdrawAccumulatedFees";
1757
+ "docs": [
1758
+ "Withdraw accumulated trading fees (0.5% curve fee) from an incomplete bonding curve.",
1759
+ "Time-locked: only callable after launchpad.fee_withdraw_delay seconds since curve creation.",
1760
+ "Default delay: 7 days. Admin can change delay via update_launchpad.",
1761
+ "Use this when a curve never reaches 100% but has accumulated fees."
1762
+ ];
1763
+ "discriminator": [
1764
+ 208,
1765
+ 72,
1766
+ 35,
1767
+ 251,
1768
+ 110,
1769
+ 63,
1770
+ 250,
1771
+ 122
1772
+ ];
1773
+ "accounts": [
1774
+ {
1775
+ "name": "admin";
1776
+ "docs": [
1777
+ "Admin signer — must be launchpad.authority"
1778
+ ];
1779
+ "writable": true;
1780
+ "signer": true;
1781
+ },
1782
+ {
1783
+ "name": "launchpad";
1784
+ "pda": {
1785
+ "seeds": [
1786
+ {
1787
+ "kind": "const";
1788
+ "value": [
1789
+ 108,
1790
+ 97,
1791
+ 117,
1792
+ 110,
1793
+ 99,
1794
+ 104,
1795
+ 112,
1796
+ 97,
1797
+ 100
1798
+ ];
1799
+ }
1800
+ ];
1801
+ };
1802
+ },
1803
+ {
1804
+ "name": "tokenLaunch";
1805
+ },
1806
+ {
1807
+ "name": "bondingCurve";
1808
+ "writable": true;
1809
+ "pda": {
1810
+ "seeds": [
1811
+ {
1812
+ "kind": "const";
1813
+ "value": [
1814
+ 98,
1815
+ 111,
1816
+ 110,
1817
+ 100,
1818
+ 105,
1819
+ 110,
1820
+ 103,
1821
+ 95,
1822
+ 99,
1823
+ 117,
1824
+ 114,
1825
+ 118,
1826
+ 101
1827
+ ];
1828
+ },
1829
+ {
1830
+ "kind": "account";
1831
+ "path": "tokenLaunch";
1832
+ }
1833
+ ];
1834
+ };
1835
+ },
1836
+ {
1837
+ "name": "vault";
1838
+ "docs": [
1839
+ "Vault holding SOL collected during trading"
1840
+ ];
1841
+ "writable": true;
1842
+ "pda": {
1843
+ "seeds": [
1844
+ {
1845
+ "kind": "const";
1846
+ "value": [
1847
+ 118,
1848
+ 97,
1849
+ 117,
1850
+ 108,
1851
+ 116
1852
+ ];
1853
+ },
1854
+ {
1855
+ "kind": "account";
1856
+ "path": "tokenLaunch";
1857
+ }
1858
+ ];
1859
+ };
1860
+ },
1861
+ {
1862
+ "name": "treasury";
1863
+ "docs": [
1864
+ "Treasury wallet receives the withdrawn fees"
1865
+ ];
1866
+ "writable": true;
1867
+ },
1868
+ {
1869
+ "name": "mint";
1870
+ },
1871
+ {
1872
+ "name": "systemProgram";
1873
+ "address": "11111111111111111111111111111111";
1746
1874
  }
1747
1875
  ];
1876
+ "args": [];
1748
1877
  }
1749
1878
  ];
1750
1879
  "accounts": [
@@ -1828,6 +1957,19 @@ type KickFunProgram = {
1828
1957
  42
1829
1958
  ];
1830
1959
  },
1960
+ {
1961
+ "name": "feesWithdrawn";
1962
+ "discriminator": [
1963
+ 234,
1964
+ 15,
1965
+ 0,
1966
+ 119,
1967
+ 148,
1968
+ 241,
1969
+ 40,
1970
+ 21
1971
+ ];
1972
+ },
1831
1973
  {
1832
1974
  "name": "launchCreated";
1833
1975
  "discriminator": [
@@ -1928,6 +2070,21 @@ type KickFunProgram = {
1928
2070
  "code": 6011;
1929
2071
  "name": "curveNotComplete";
1930
2072
  "msg": "Bonding curve is not complete yet";
2073
+ },
2074
+ {
2075
+ "code": 6012;
2076
+ "name": "supplyExceedsMax";
2077
+ "msg": "Total supply exceeds maximum safe calculation limit";
2078
+ },
2079
+ {
2080
+ "code": 6013;
2081
+ "name": "feeWithdrawTooEarly";
2082
+ "msg": "Fee withdrawal not allowed yet: time-lock period has not elapsed";
2083
+ },
2084
+ {
2085
+ "code": 6014;
2086
+ "name": "noFeesToWithdraw";
2087
+ "msg": "No accumulated fees to withdraw";
1931
2088
  }
1932
2089
  ];
1933
2090
  "types": [
@@ -2171,6 +2328,59 @@ type KickFunProgram = {
2171
2328
  ];
2172
2329
  };
2173
2330
  },
2331
+ {
2332
+ "name": "feesWithdrawn";
2333
+ "docs": [
2334
+ "Event emitted when admin withdraws accumulated fees from an incomplete/dead curve"
2335
+ ];
2336
+ "type": {
2337
+ "kind": "struct";
2338
+ "fields": [
2339
+ {
2340
+ "name": "tokenLaunch";
2341
+ "docs": [
2342
+ "The token launch public key"
2343
+ ];
2344
+ "type": "pubkey";
2345
+ },
2346
+ {
2347
+ "name": "mint";
2348
+ "docs": [
2349
+ "The mint address"
2350
+ ];
2351
+ "type": "pubkey";
2352
+ },
2353
+ {
2354
+ "name": "admin";
2355
+ "docs": [
2356
+ "Admin who triggered the withdrawal"
2357
+ ];
2358
+ "type": "pubkey";
2359
+ },
2360
+ {
2361
+ "name": "treasury";
2362
+ "docs": [
2363
+ "Treasury wallet that received the fees"
2364
+ ];
2365
+ "type": "pubkey";
2366
+ },
2367
+ {
2368
+ "name": "feesWithdrawn";
2369
+ "docs": [
2370
+ "Amount of accumulated fees withdrawn (in lamports)"
2371
+ ];
2372
+ "type": "u64";
2373
+ },
2374
+ {
2375
+ "name": "timestamp";
2376
+ "docs": [
2377
+ "Timestamp"
2378
+ ];
2379
+ "type": "i64";
2380
+ }
2381
+ ];
2382
+ };
2383
+ },
2174
2384
  {
2175
2385
  "name": "launchCreated";
2176
2386
  "docs": [
@@ -2330,6 +2540,14 @@ type KickFunProgram = {
2330
2540
  "Default k value for bonding curve"
2331
2541
  ];
2332
2542
  "type": "u128";
2543
+ },
2544
+ {
2545
+ "name": "feeWithdrawDelay";
2546
+ "docs": [
2547
+ "Minimum seconds after curve creation before admin can withdraw accumulated fees",
2548
+ "Default: 604800 (7 days). Configurable via update_launchpad."
2549
+ ];
2550
+ "type": "i64";
2333
2551
  }
2334
2552
  ];
2335
2553
  };
@@ -2445,6 +2663,14 @@ type KickFunProgram = {
2445
2663
  ];
2446
2664
  "type": "i64";
2447
2665
  },
2666
+ {
2667
+ "name": "feeWithdrawDelay";
2668
+ "docs": [
2669
+ "Seconds after creation before admin can withdraw accumulated fees",
2670
+ "Snapshotted from launchpad.fee_withdraw_delay at creation time — immutable after deploy"
2671
+ ];
2672
+ "type": "i64";
2673
+ },
2448
2674
  {
2449
2675
  "name": "bump";
2450
2676
  "docs": [
@@ -3013,7 +3239,9 @@ declare class KickFunSDK {
3013
3239
  }
3014
3240
  interface RegisterStreamerParams {
3015
3241
  streamerId: string;
3016
- streamerKeypair: Keypair;
3242
+ streamerPublicKey: PublicKey;
3243
+ signature: Uint8Array;
3244
+ timestamp: number;
3017
3245
  }
3018
3246
  interface RegisterStreamerResult {
3019
3247
  txSignature: string;
@@ -3021,10 +3249,13 @@ interface RegisterStreamerResult {
3021
3249
  }
3022
3250
  interface ClaimFundsParams {
3023
3251
  streamerId: string;
3024
- streamerKeypair: Keypair;
3252
+ streamerPublicKey: PublicKey;
3025
3253
  mint: PublicKey;
3026
3254
  solAmount: BN;
3027
3255
  tokenAmount: BN;
3256
+ nonce: BN;
3257
+ signature: Uint8Array;
3258
+ timestamp: number;
3028
3259
  }
3029
3260
  interface ClaimFundsResult {
3030
3261
  txSignature: string;
@@ -3038,8 +3269,31 @@ declare class StreamerSDK {
3038
3269
  deriveWhitelistEntry(wallet: PublicKey): PublicKey;
3039
3270
  deriveStreamerRegistration(streamerId: string): PublicKey;
3040
3271
  deriveVault(): PublicKey;
3041
- private getSolanaTimestamp;
3042
- private createEd25519Instruction;
3272
+ getSolanaTimestamp(): Promise<number>;
3273
+ /**
3274
+ * Build the message that the streamer must sign for register_streamer.
3275
+ * The streamer signs this with their wallet (e.g. Phantom signMessage).
3276
+ *
3277
+ * Format: "register_streamer:{streamer_id}:{wallet}:{timestamp}"
3278
+ */
3279
+ buildRegisterMessage(streamerId: string, streamerWallet: PublicKey, timestamp: number): Uint8Array;
3280
+ /**
3281
+ * Build the message that the streamer must sign for claim_funds.
3282
+ * The streamer signs this with their wallet (e.g. Phantom signMessage).
3283
+ *
3284
+ * Format: "claim_funds:{streamer_id}:{wallet}:{mint}:{token_amount}:{sol_amount}:{nonce}:{timestamp}"
3285
+ */
3286
+ buildClaimMessage(streamerId: string, streamerWallet: PublicKey, mint: PublicKey, tokenAmount: BN, solAmount: BN, nonce: BN, timestamp: number): Uint8Array;
3287
+ /**
3288
+ * Create an Ed25519 instruction from an externally-signed signature.
3289
+ * Use this when the streamer signs via browser wallet (Phantom, Solflare, etc.)
3290
+ * instead of exposing a Keypair.
3291
+ *
3292
+ * @param streamerWallet - Public key of the streamer
3293
+ * @param message - The message bytes (from buildRegisterMessage / buildClaimMessage)
3294
+ * @param signature - The Ed25519 signature from wallet.signMessage(message)
3295
+ */
3296
+ createEd25519Instruction(streamerWallet: PublicKey, message: Uint8Array, signature: Uint8Array): TransactionInstruction;
3043
3297
  registerStreamer(params: RegisterStreamerParams): Promise<RegisterStreamerResult>;
3044
3298
  claimFunds(params: ClaimFundsParams): Promise<ClaimFundsResult>;
3045
3299
  getStreamerRegistration(streamerId: string): Promise<{
@@ -3048,6 +3302,8 @@ declare class StreamerSDK {
3048
3302
  verifiedAt: number;
3049
3303
  registeredBy: PublicKey;
3050
3304
  createdAt: number;
3305
+ claimNonce: number;
3306
+ lastClaimAt: number;
3051
3307
  } | null>;
3052
3308
  isWhitelisted(wallet: PublicKey): Promise<boolean>;
3053
3309
  getVaultBalance(mint?: PublicKey): Promise<{