@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 +261 -5
- package/dist/index.d.ts +261 -5
- package/dist/index.js +48 -40
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +48 -36
- package/dist/index.mjs.map +1 -1
- package/idl/kick_fun_program.json +226 -0
- package/package.json +1 -1
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,
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
3042
|
-
|
|
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,
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
3042
|
-
|
|
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<{
|