@aspan/sdk 0.1.7 → 0.2.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/README.md +273 -11
- package/dist/index.d.mts +1209 -3
- package/dist/index.d.ts +1209 -3
- package/dist/index.js +1111 -32
- package/dist/index.mjs +1109 -32
- package/package.json +1 -1
- package/src/abi/diamond.ts +8 -4
- package/src/abi/router.ts +554 -0
- package/src/bot/config.ts +6 -6
- package/src/bot/monitors/cr-monitor.ts +8 -0
- package/src/bot/monitors/stats-monitor.ts +1 -1
- package/src/client.ts +81 -32
- package/src/index.ts +40 -4
- package/src/router.ts +686 -0
- package/src/types.ts +226 -0
package/dist/index.d.ts
CHANGED
|
@@ -71,21 +71,29 @@ interface StabilityMode2Info {
|
|
|
71
71
|
interface MintApUSDParams {
|
|
72
72
|
lstToken: Address;
|
|
73
73
|
lstAmount: bigint;
|
|
74
|
+
/** Minimum apUSD output for slippage protection (default: 0n) */
|
|
75
|
+
minOut?: bigint;
|
|
74
76
|
}
|
|
75
77
|
/** Parameters for redeeming apUSD */
|
|
76
78
|
interface RedeemApUSDParams {
|
|
77
79
|
lstToken: Address;
|
|
78
80
|
apUSDAmount: bigint;
|
|
81
|
+
/** Minimum LST output for slippage protection (default: 0n) */
|
|
82
|
+
minOut?: bigint;
|
|
79
83
|
}
|
|
80
84
|
/** Parameters for minting xBNB */
|
|
81
85
|
interface MintXBNBParams {
|
|
82
86
|
lstToken: Address;
|
|
83
87
|
lstAmount: bigint;
|
|
88
|
+
/** Minimum xBNB output for slippage protection (default: 0n) */
|
|
89
|
+
minOut?: bigint;
|
|
84
90
|
}
|
|
85
91
|
/** Parameters for redeeming xBNB */
|
|
86
92
|
interface RedeemXBNBParams {
|
|
87
93
|
lstToken: Address;
|
|
88
94
|
xBNBAmount: bigint;
|
|
95
|
+
/** Minimum LST output for slippage protection (default: 0n) */
|
|
96
|
+
minOut?: bigint;
|
|
89
97
|
}
|
|
90
98
|
/** Parameters for depositing to stability pool */
|
|
91
99
|
interface DepositParams {
|
|
@@ -189,6 +197,200 @@ interface TransactionReceipt {
|
|
|
189
197
|
transactionHash: Hash;
|
|
190
198
|
status: "success" | "reverted";
|
|
191
199
|
}
|
|
200
|
+
/** Router swap parameters */
|
|
201
|
+
interface RouterSwapParams {
|
|
202
|
+
/** Input token address (address(0) for native BNB) */
|
|
203
|
+
inputToken: Address;
|
|
204
|
+
/** Amount of input token */
|
|
205
|
+
inputAmount: bigint;
|
|
206
|
+
/** Target LST address (address(0) uses default LST) */
|
|
207
|
+
targetLST: Address;
|
|
208
|
+
/** Minimum LST to receive from swap (slippage protection) */
|
|
209
|
+
minLSTOut: bigint;
|
|
210
|
+
/** PancakeSwap V3 pool fee tier (500, 2500, 10000) */
|
|
211
|
+
poolFee: number;
|
|
212
|
+
/** true = PancakeSwap V2, false = V3 */
|
|
213
|
+
useV2: boolean;
|
|
214
|
+
}
|
|
215
|
+
/** Router mint parameters */
|
|
216
|
+
interface RouterMintParams {
|
|
217
|
+
/** true = mint xBNB, false = mint apUSD */
|
|
218
|
+
mintXBNB: boolean;
|
|
219
|
+
/** Minimum output to receive (slippage protection) */
|
|
220
|
+
minMintOut: bigint;
|
|
221
|
+
/** Recipient of minted tokens (address(0) = msg.sender) */
|
|
222
|
+
recipient: Address;
|
|
223
|
+
/** Transaction deadline timestamp */
|
|
224
|
+
deadline: bigint;
|
|
225
|
+
}
|
|
226
|
+
/** Parameters for swapAndMint functions */
|
|
227
|
+
interface SwapAndMintParams {
|
|
228
|
+
swapParams: RouterSwapParams;
|
|
229
|
+
mintParams: RouterMintParams;
|
|
230
|
+
}
|
|
231
|
+
/** Parameters for stakeAndMint function */
|
|
232
|
+
interface StakeAndMintParams {
|
|
233
|
+
/** Target LST (slisBNB, asBNB, wclisBNB) */
|
|
234
|
+
targetLST: Address;
|
|
235
|
+
/** true = mint xBNB, false = mint apUSD */
|
|
236
|
+
mintXBNB: boolean;
|
|
237
|
+
/** Minimum output to receive */
|
|
238
|
+
minMintOut: bigint;
|
|
239
|
+
/** Transaction deadline timestamp */
|
|
240
|
+
deadline: bigint;
|
|
241
|
+
/** Native BNB amount to stake */
|
|
242
|
+
value: bigint;
|
|
243
|
+
}
|
|
244
|
+
/** Parameters for simplified swap and mint functions */
|
|
245
|
+
interface SwapAndMintDefaultParams {
|
|
246
|
+
/** Input token address (address(0) for native BNB) */
|
|
247
|
+
inputToken: Address;
|
|
248
|
+
/** Amount of input token */
|
|
249
|
+
inputAmount: bigint;
|
|
250
|
+
/** Minimum output to receive */
|
|
251
|
+
minMintOut: bigint;
|
|
252
|
+
/** Transaction deadline timestamp */
|
|
253
|
+
deadline: bigint;
|
|
254
|
+
/** Native BNB amount (if inputToken is address(0)) */
|
|
255
|
+
value?: bigint;
|
|
256
|
+
}
|
|
257
|
+
/** Parameters for router direct mint functions */
|
|
258
|
+
interface RouterMintApUSDParams {
|
|
259
|
+
/** LST token address */
|
|
260
|
+
lst: Address;
|
|
261
|
+
/** Amount of LST to deposit */
|
|
262
|
+
lstAmount: bigint;
|
|
263
|
+
/** Minimum apUSD to receive */
|
|
264
|
+
minOut?: bigint;
|
|
265
|
+
}
|
|
266
|
+
/** Parameters for router direct mint xBNB functions */
|
|
267
|
+
interface RouterMintXBNBParams {
|
|
268
|
+
/** LST token address */
|
|
269
|
+
lst: Address;
|
|
270
|
+
/** Amount of LST to deposit */
|
|
271
|
+
lstAmount: bigint;
|
|
272
|
+
/** Minimum xBNB to receive */
|
|
273
|
+
minOut?: bigint;
|
|
274
|
+
}
|
|
275
|
+
/** Parameters for router redeem apUSD functions */
|
|
276
|
+
interface RouterRedeemApUSDParams {
|
|
277
|
+
/** LST token to receive */
|
|
278
|
+
lst: Address;
|
|
279
|
+
/** Amount of apUSD to redeem */
|
|
280
|
+
apUSDAmount: bigint;
|
|
281
|
+
/** Minimum LST to receive */
|
|
282
|
+
minOut?: bigint;
|
|
283
|
+
}
|
|
284
|
+
/** Parameters for router redeem xBNB functions */
|
|
285
|
+
interface RouterRedeemXBNBParams {
|
|
286
|
+
/** LST token to receive */
|
|
287
|
+
lst: Address;
|
|
288
|
+
/** Amount of xBNB to redeem */
|
|
289
|
+
xBNBAmount: bigint;
|
|
290
|
+
/** Minimum LST to receive */
|
|
291
|
+
minOut?: bigint;
|
|
292
|
+
}
|
|
293
|
+
/** Parameters for redeemAndSwap functions */
|
|
294
|
+
interface RouterRedeemAndSwapParams {
|
|
295
|
+
/** LST to redeem */
|
|
296
|
+
lst: Address;
|
|
297
|
+
/** Amount to redeem (apUSD or xBNB) */
|
|
298
|
+
amount: bigint;
|
|
299
|
+
/** Output token (address(0) for native BNB) */
|
|
300
|
+
outputToken: Address;
|
|
301
|
+
/** Minimum output to receive */
|
|
302
|
+
minOut: bigint;
|
|
303
|
+
/** Transaction deadline timestamp */
|
|
304
|
+
deadline: bigint;
|
|
305
|
+
/** true = PancakeSwap V2, false = V3 */
|
|
306
|
+
useV2: boolean;
|
|
307
|
+
/** V3 pool fee tier (ignored if useV2) */
|
|
308
|
+
poolFee: number;
|
|
309
|
+
}
|
|
310
|
+
/** Parameters for redeemAndUnstake functions */
|
|
311
|
+
interface RouterRedeemAndUnstakeParams {
|
|
312
|
+
/** LST to redeem */
|
|
313
|
+
lst: Address;
|
|
314
|
+
/** Amount to redeem (apUSD or xBNB) */
|
|
315
|
+
amount: bigint;
|
|
316
|
+
/** Minimum BNB to receive */
|
|
317
|
+
minBNBOut: bigint;
|
|
318
|
+
/** Transaction deadline timestamp */
|
|
319
|
+
deadline: bigint;
|
|
320
|
+
}
|
|
321
|
+
/** Withdrawal request status */
|
|
322
|
+
interface WithdrawalRequestInfo {
|
|
323
|
+
/** Whether the request can be claimed */
|
|
324
|
+
isClaimable: boolean;
|
|
325
|
+
/** Amount of BNB to receive */
|
|
326
|
+
bnbAmount: bigint;
|
|
327
|
+
}
|
|
328
|
+
/** Expected output from swap and mint */
|
|
329
|
+
interface ExpectedOutput {
|
|
330
|
+
/** Expected LST from swap */
|
|
331
|
+
expectedLST: bigint;
|
|
332
|
+
/** Expected apUSD/xBNB from mint */
|
|
333
|
+
expectedMint: bigint;
|
|
334
|
+
}
|
|
335
|
+
/** SwapAndMint event */
|
|
336
|
+
interface SwapAndMintEvent {
|
|
337
|
+
user: Address;
|
|
338
|
+
inputToken: Address;
|
|
339
|
+
inputAmount: bigint;
|
|
340
|
+
targetLST: Address;
|
|
341
|
+
lstAmount: bigint;
|
|
342
|
+
mintedToken: Address;
|
|
343
|
+
mintedAmount: bigint;
|
|
344
|
+
}
|
|
345
|
+
/** StakeAndMint event */
|
|
346
|
+
interface StakeAndMintEvent {
|
|
347
|
+
user: Address;
|
|
348
|
+
bnbAmount: bigint;
|
|
349
|
+
targetLST: Address;
|
|
350
|
+
lstAmount: bigint;
|
|
351
|
+
mintedToken: Address;
|
|
352
|
+
mintedAmount: bigint;
|
|
353
|
+
}
|
|
354
|
+
/** Router Mint event */
|
|
355
|
+
interface RouterMintEvent {
|
|
356
|
+
user: Address;
|
|
357
|
+
lst: Address;
|
|
358
|
+
lstAmount: bigint;
|
|
359
|
+
mintedToken: Address;
|
|
360
|
+
mintedAmount: bigint;
|
|
361
|
+
}
|
|
362
|
+
/** Router Redeem event */
|
|
363
|
+
interface RouterRedeemEvent {
|
|
364
|
+
user: Address;
|
|
365
|
+
redeemedToken: Address;
|
|
366
|
+
redeemedAmount: bigint;
|
|
367
|
+
lst: Address;
|
|
368
|
+
lstAmount: bigint;
|
|
369
|
+
}
|
|
370
|
+
/** RedeemAndSwap event */
|
|
371
|
+
interface RedeemAndSwapEvent {
|
|
372
|
+
user: Address;
|
|
373
|
+
redeemedToken: Address;
|
|
374
|
+
redeemedAmount: bigint;
|
|
375
|
+
lst: Address;
|
|
376
|
+
lstAmount: bigint;
|
|
377
|
+
outputToken: Address;
|
|
378
|
+
outputAmount: bigint;
|
|
379
|
+
}
|
|
380
|
+
/** UnstakeRequested event */
|
|
381
|
+
interface UnstakeRequestedEvent {
|
|
382
|
+
user: Address;
|
|
383
|
+
requestIndex: bigint;
|
|
384
|
+
redeemedToken: Address;
|
|
385
|
+
redeemedAmount: bigint;
|
|
386
|
+
slisBNBAmount: bigint;
|
|
387
|
+
}
|
|
388
|
+
/** UnstakeClaimed event */
|
|
389
|
+
interface UnstakeClaimedEvent {
|
|
390
|
+
user: Address;
|
|
391
|
+
requestIndex: bigint;
|
|
392
|
+
bnbAmount: bigint;
|
|
393
|
+
}
|
|
192
394
|
|
|
193
395
|
interface AspanClientConfig {
|
|
194
396
|
/** Diamond contract address */
|
|
@@ -350,6 +552,165 @@ declare function createAspanTestnetReadClient(diamondAddress: Address, rpcUrl?:
|
|
|
350
552
|
*/
|
|
351
553
|
declare function createAspanTestnetClient(diamondAddress: Address, account: Account, rpcUrl?: string): AspanClient;
|
|
352
554
|
|
|
555
|
+
interface AspanRouterClientConfig {
|
|
556
|
+
/** Router contract address */
|
|
557
|
+
routerAddress: Address;
|
|
558
|
+
/** Chain to connect to */
|
|
559
|
+
chain?: Chain;
|
|
560
|
+
/** RPC URL (optional, uses default if not provided) */
|
|
561
|
+
rpcUrl?: string;
|
|
562
|
+
}
|
|
563
|
+
interface AspanRouterWriteClientConfig extends AspanRouterClientConfig {
|
|
564
|
+
/** Account for signing transactions (required if walletClient not provided) */
|
|
565
|
+
account?: Account;
|
|
566
|
+
/** External wallet client (for browser environments with wagmi/rainbowkit) */
|
|
567
|
+
walletClient?: WalletClient<Transport, Chain, Account>;
|
|
568
|
+
}
|
|
569
|
+
/**
|
|
570
|
+
* Read-only client for querying AspanRouter state
|
|
571
|
+
*/
|
|
572
|
+
declare class AspanRouterReadClient {
|
|
573
|
+
protected readonly publicClient: PublicClient;
|
|
574
|
+
protected readonly routerAddress: Address;
|
|
575
|
+
protected readonly chain: Chain;
|
|
576
|
+
constructor(config: AspanRouterClientConfig);
|
|
577
|
+
/**
|
|
578
|
+
* Get the default LST address
|
|
579
|
+
*/
|
|
580
|
+
getDefaultLST(): Promise<Address>;
|
|
581
|
+
/**
|
|
582
|
+
* Check if an input token is supported
|
|
583
|
+
*/
|
|
584
|
+
isSupportedInputToken(token: Address): Promise<boolean>;
|
|
585
|
+
/**
|
|
586
|
+
* Check if an LST is supported
|
|
587
|
+
*/
|
|
588
|
+
isSupportedLST(lst: Address): Promise<boolean>;
|
|
589
|
+
/**
|
|
590
|
+
* Get the Diamond contract address
|
|
591
|
+
*/
|
|
592
|
+
getDiamond(): Promise<Address>;
|
|
593
|
+
/**
|
|
594
|
+
* Get expected output from a swap and mint operation
|
|
595
|
+
*/
|
|
596
|
+
getExpectedOutput(inputToken: Address, inputAmount: bigint, targetLST: Address, mintXBNB: boolean): Promise<ExpectedOutput>;
|
|
597
|
+
/**
|
|
598
|
+
* Get user's withdrawal request indices
|
|
599
|
+
*/
|
|
600
|
+
getUserWithdrawalIndices(user: Address): Promise<bigint[]>;
|
|
601
|
+
/**
|
|
602
|
+
* Get withdrawal request status
|
|
603
|
+
*/
|
|
604
|
+
getWithdrawalStatus(requestIndex: bigint): Promise<WithdrawalRequestInfo>;
|
|
605
|
+
getWBNB(): Promise<Address>;
|
|
606
|
+
getUSDT(): Promise<Address>;
|
|
607
|
+
getUSDC(): Promise<Address>;
|
|
608
|
+
getSlisBNB(): Promise<Address>;
|
|
609
|
+
getAsBNB(): Promise<Address>;
|
|
610
|
+
getWclisBNB(): Promise<Address>;
|
|
611
|
+
getApUSD(): Promise<Address>;
|
|
612
|
+
getXBNB(): Promise<Address>;
|
|
613
|
+
}
|
|
614
|
+
/**
|
|
615
|
+
* Full client with write capabilities for AspanRouter
|
|
616
|
+
*/
|
|
617
|
+
declare class AspanRouterClient extends AspanRouterReadClient {
|
|
618
|
+
private readonly walletClient;
|
|
619
|
+
constructor(config: AspanRouterWriteClientConfig);
|
|
620
|
+
/**
|
|
621
|
+
* Swap input token to LST and mint apUSD
|
|
622
|
+
*/
|
|
623
|
+
swapAndMintApUSD(params: SwapAndMintParams): Promise<Hash>;
|
|
624
|
+
/**
|
|
625
|
+
* Swap input token to LST and mint xBNB
|
|
626
|
+
*/
|
|
627
|
+
swapAndMintXBNB(params: SwapAndMintParams): Promise<Hash>;
|
|
628
|
+
/**
|
|
629
|
+
* Stake native BNB directly to LST and mint
|
|
630
|
+
*/
|
|
631
|
+
stakeAndMint(params: StakeAndMintParams): Promise<Hash>;
|
|
632
|
+
/**
|
|
633
|
+
* Swap input token and mint apUSD using default LST
|
|
634
|
+
*/
|
|
635
|
+
swapAndMintApUSDDefault(params: SwapAndMintDefaultParams): Promise<Hash>;
|
|
636
|
+
/**
|
|
637
|
+
* Swap input token and mint xBNB using default LST
|
|
638
|
+
*/
|
|
639
|
+
swapAndMintXBNBDefault(params: SwapAndMintDefaultParams): Promise<Hash>;
|
|
640
|
+
/**
|
|
641
|
+
* Stake native BNB and mint apUSD using default LST
|
|
642
|
+
*/
|
|
643
|
+
stakeAndMintApUSD(minMintOut: bigint, value: bigint): Promise<Hash>;
|
|
644
|
+
/**
|
|
645
|
+
* Stake native BNB and mint xBNB using default LST
|
|
646
|
+
*/
|
|
647
|
+
stakeAndMintXBNB(minMintOut: bigint, value: bigint): Promise<Hash>;
|
|
648
|
+
/**
|
|
649
|
+
* Mint apUSD by providing LST directly (no swap)
|
|
650
|
+
*/
|
|
651
|
+
mintApUSD(params: RouterMintApUSDParams): Promise<Hash>;
|
|
652
|
+
/**
|
|
653
|
+
* Mint xBNB by providing LST directly (no swap)
|
|
654
|
+
*/
|
|
655
|
+
mintXBNB(params: RouterMintXBNBParams): Promise<Hash>;
|
|
656
|
+
/**
|
|
657
|
+
* Redeem apUSD for LST (no swap)
|
|
658
|
+
*/
|
|
659
|
+
redeemApUSD(params: RouterRedeemApUSDParams): Promise<Hash>;
|
|
660
|
+
/**
|
|
661
|
+
* Redeem xBNB for LST (no swap)
|
|
662
|
+
*/
|
|
663
|
+
redeemXBNB(params: RouterRedeemXBNBParams): Promise<Hash>;
|
|
664
|
+
/**
|
|
665
|
+
* Redeem apUSD and swap LST to output token
|
|
666
|
+
*/
|
|
667
|
+
redeemApUSDAndSwap(params: RouterRedeemAndSwapParams): Promise<Hash>;
|
|
668
|
+
/**
|
|
669
|
+
* Redeem xBNB and swap LST to output token
|
|
670
|
+
*/
|
|
671
|
+
redeemXBNBAndSwap(params: RouterRedeemAndSwapParams): Promise<Hash>;
|
|
672
|
+
/**
|
|
673
|
+
* Redeem apUSD and instantly unstake LST to native BNB via DEX
|
|
674
|
+
*/
|
|
675
|
+
redeemApUSDAndUnstake(params: RouterRedeemAndUnstakeParams): Promise<Hash>;
|
|
676
|
+
/**
|
|
677
|
+
* Redeem xBNB and instantly unstake LST to native BNB via DEX
|
|
678
|
+
*/
|
|
679
|
+
redeemXBNBAndUnstake(params: RouterRedeemAndUnstakeParams): Promise<Hash>;
|
|
680
|
+
/**
|
|
681
|
+
* Redeem apUSD and request native unstake from Lista (starts unbonding period)
|
|
682
|
+
*/
|
|
683
|
+
redeemApUSDAndRequestUnstake(apUSDAmount: bigint): Promise<Hash>;
|
|
684
|
+
/**
|
|
685
|
+
* Redeem xBNB and request native unstake from Lista (starts unbonding period)
|
|
686
|
+
*/
|
|
687
|
+
redeemXBNBAndRequestUnstake(xBNBAmount: bigint): Promise<Hash>;
|
|
688
|
+
/**
|
|
689
|
+
* Claim BNB after unbonding period completes
|
|
690
|
+
*/
|
|
691
|
+
claimUnstake(requestIndex: bigint): Promise<Hash>;
|
|
692
|
+
/**
|
|
693
|
+
* Wait for transaction confirmation
|
|
694
|
+
*/
|
|
695
|
+
waitForTransaction(hash: Hash): Promise<viem.TransactionReceipt>;
|
|
696
|
+
}
|
|
697
|
+
/**
|
|
698
|
+
* Create a read-only router client for BSC mainnet
|
|
699
|
+
*/
|
|
700
|
+
declare function createRouterReadClient(routerAddress: Address, rpcUrl?: string): AspanRouterReadClient;
|
|
701
|
+
/**
|
|
702
|
+
* Create a full router client for BSC mainnet
|
|
703
|
+
*/
|
|
704
|
+
declare function createRouterClient(routerAddress: Address, account: Account, rpcUrl?: string): AspanRouterClient;
|
|
705
|
+
/**
|
|
706
|
+
* Create a read-only router client for BSC testnet
|
|
707
|
+
*/
|
|
708
|
+
declare function createRouterTestnetReadClient(routerAddress: Address, rpcUrl?: string): AspanRouterReadClient;
|
|
709
|
+
/**
|
|
710
|
+
* Create a full router client for BSC testnet
|
|
711
|
+
*/
|
|
712
|
+
declare function createRouterTestnetClient(routerAddress: Address, account: Account, rpcUrl?: string): AspanRouterClient;
|
|
713
|
+
|
|
353
714
|
/**
|
|
354
715
|
* Combined Diamond ABI - includes all facet functions
|
|
355
716
|
* This ABI is used to interact with the Aspan Diamond contract
|
|
@@ -365,6 +726,10 @@ declare const DiamondABI: readonly [{
|
|
|
365
726
|
readonly name: "_lstAmount";
|
|
366
727
|
readonly type: "uint256";
|
|
367
728
|
readonly internalType: "uint256";
|
|
729
|
+
}, {
|
|
730
|
+
readonly name: "_minOut";
|
|
731
|
+
readonly type: "uint256";
|
|
732
|
+
readonly internalType: "uint256";
|
|
368
733
|
}];
|
|
369
734
|
readonly outputs: readonly [{
|
|
370
735
|
readonly name: "apUSDAmount";
|
|
@@ -383,6 +748,10 @@ declare const DiamondABI: readonly [{
|
|
|
383
748
|
readonly name: "_apUSDAmount";
|
|
384
749
|
readonly type: "uint256";
|
|
385
750
|
readonly internalType: "uint256";
|
|
751
|
+
}, {
|
|
752
|
+
readonly name: "_minOut";
|
|
753
|
+
readonly type: "uint256";
|
|
754
|
+
readonly internalType: "uint256";
|
|
386
755
|
}];
|
|
387
756
|
readonly outputs: readonly [{
|
|
388
757
|
readonly name: "lstAmount";
|
|
@@ -401,6 +770,10 @@ declare const DiamondABI: readonly [{
|
|
|
401
770
|
readonly name: "_lstAmount";
|
|
402
771
|
readonly type: "uint256";
|
|
403
772
|
readonly internalType: "uint256";
|
|
773
|
+
}, {
|
|
774
|
+
readonly name: "_minOut";
|
|
775
|
+
readonly type: "uint256";
|
|
776
|
+
readonly internalType: "uint256";
|
|
404
777
|
}];
|
|
405
778
|
readonly outputs: readonly [{
|
|
406
779
|
readonly name: "xBNBAmount";
|
|
@@ -419,6 +792,10 @@ declare const DiamondABI: readonly [{
|
|
|
419
792
|
readonly name: "_xBNBAmount";
|
|
420
793
|
readonly type: "uint256";
|
|
421
794
|
readonly internalType: "uint256";
|
|
795
|
+
}, {
|
|
796
|
+
readonly name: "_minOut";
|
|
797
|
+
readonly type: "uint256";
|
|
798
|
+
readonly internalType: "uint256";
|
|
422
799
|
}];
|
|
423
800
|
readonly outputs: readonly [{
|
|
424
801
|
readonly name: "lstAmount";
|
|
@@ -1273,6 +1650,835 @@ declare const DiamondABI: readonly [{
|
|
|
1273
1650
|
readonly stateMutability: "view";
|
|
1274
1651
|
}];
|
|
1275
1652
|
|
|
1653
|
+
/**
|
|
1654
|
+
* AspanRouter ABI
|
|
1655
|
+
* Periphery contract for one-click swap+mint operations
|
|
1656
|
+
*/
|
|
1657
|
+
declare const RouterABI: readonly [{
|
|
1658
|
+
readonly type: "function";
|
|
1659
|
+
readonly name: "swapAndMintApUSD";
|
|
1660
|
+
readonly inputs: readonly [{
|
|
1661
|
+
readonly name: "swapParams";
|
|
1662
|
+
readonly type: "tuple";
|
|
1663
|
+
readonly components: readonly [{
|
|
1664
|
+
readonly name: "inputToken";
|
|
1665
|
+
readonly type: "address";
|
|
1666
|
+
}, {
|
|
1667
|
+
readonly name: "inputAmount";
|
|
1668
|
+
readonly type: "uint256";
|
|
1669
|
+
}, {
|
|
1670
|
+
readonly name: "targetLST";
|
|
1671
|
+
readonly type: "address";
|
|
1672
|
+
}, {
|
|
1673
|
+
readonly name: "minLSTOut";
|
|
1674
|
+
readonly type: "uint256";
|
|
1675
|
+
}, {
|
|
1676
|
+
readonly name: "poolFee";
|
|
1677
|
+
readonly type: "uint24";
|
|
1678
|
+
}, {
|
|
1679
|
+
readonly name: "useV2";
|
|
1680
|
+
readonly type: "bool";
|
|
1681
|
+
}];
|
|
1682
|
+
}, {
|
|
1683
|
+
readonly name: "mintParams";
|
|
1684
|
+
readonly type: "tuple";
|
|
1685
|
+
readonly components: readonly [{
|
|
1686
|
+
readonly name: "mintXBNB";
|
|
1687
|
+
readonly type: "bool";
|
|
1688
|
+
}, {
|
|
1689
|
+
readonly name: "minMintOut";
|
|
1690
|
+
readonly type: "uint256";
|
|
1691
|
+
}, {
|
|
1692
|
+
readonly name: "recipient";
|
|
1693
|
+
readonly type: "address";
|
|
1694
|
+
}, {
|
|
1695
|
+
readonly name: "deadline";
|
|
1696
|
+
readonly type: "uint256";
|
|
1697
|
+
}];
|
|
1698
|
+
}];
|
|
1699
|
+
readonly outputs: readonly [{
|
|
1700
|
+
readonly name: "lstAmount";
|
|
1701
|
+
readonly type: "uint256";
|
|
1702
|
+
}, {
|
|
1703
|
+
readonly name: "apUSDAmount";
|
|
1704
|
+
readonly type: "uint256";
|
|
1705
|
+
}];
|
|
1706
|
+
readonly stateMutability: "payable";
|
|
1707
|
+
}, {
|
|
1708
|
+
readonly type: "function";
|
|
1709
|
+
readonly name: "swapAndMintXBNB";
|
|
1710
|
+
readonly inputs: readonly [{
|
|
1711
|
+
readonly name: "swapParams";
|
|
1712
|
+
readonly type: "tuple";
|
|
1713
|
+
readonly components: readonly [{
|
|
1714
|
+
readonly name: "inputToken";
|
|
1715
|
+
readonly type: "address";
|
|
1716
|
+
}, {
|
|
1717
|
+
readonly name: "inputAmount";
|
|
1718
|
+
readonly type: "uint256";
|
|
1719
|
+
}, {
|
|
1720
|
+
readonly name: "targetLST";
|
|
1721
|
+
readonly type: "address";
|
|
1722
|
+
}, {
|
|
1723
|
+
readonly name: "minLSTOut";
|
|
1724
|
+
readonly type: "uint256";
|
|
1725
|
+
}, {
|
|
1726
|
+
readonly name: "poolFee";
|
|
1727
|
+
readonly type: "uint24";
|
|
1728
|
+
}, {
|
|
1729
|
+
readonly name: "useV2";
|
|
1730
|
+
readonly type: "bool";
|
|
1731
|
+
}];
|
|
1732
|
+
}, {
|
|
1733
|
+
readonly name: "mintParams";
|
|
1734
|
+
readonly type: "tuple";
|
|
1735
|
+
readonly components: readonly [{
|
|
1736
|
+
readonly name: "mintXBNB";
|
|
1737
|
+
readonly type: "bool";
|
|
1738
|
+
}, {
|
|
1739
|
+
readonly name: "minMintOut";
|
|
1740
|
+
readonly type: "uint256";
|
|
1741
|
+
}, {
|
|
1742
|
+
readonly name: "recipient";
|
|
1743
|
+
readonly type: "address";
|
|
1744
|
+
}, {
|
|
1745
|
+
readonly name: "deadline";
|
|
1746
|
+
readonly type: "uint256";
|
|
1747
|
+
}];
|
|
1748
|
+
}];
|
|
1749
|
+
readonly outputs: readonly [{
|
|
1750
|
+
readonly name: "lstAmount";
|
|
1751
|
+
readonly type: "uint256";
|
|
1752
|
+
}, {
|
|
1753
|
+
readonly name: "xBNBAmount";
|
|
1754
|
+
readonly type: "uint256";
|
|
1755
|
+
}];
|
|
1756
|
+
readonly stateMutability: "payable";
|
|
1757
|
+
}, {
|
|
1758
|
+
readonly type: "function";
|
|
1759
|
+
readonly name: "stakeAndMint";
|
|
1760
|
+
readonly inputs: readonly [{
|
|
1761
|
+
readonly name: "targetLST";
|
|
1762
|
+
readonly type: "address";
|
|
1763
|
+
}, {
|
|
1764
|
+
readonly name: "mintXBNB";
|
|
1765
|
+
readonly type: "bool";
|
|
1766
|
+
}, {
|
|
1767
|
+
readonly name: "minMintOut";
|
|
1768
|
+
readonly type: "uint256";
|
|
1769
|
+
}, {
|
|
1770
|
+
readonly name: "deadline";
|
|
1771
|
+
readonly type: "uint256";
|
|
1772
|
+
}];
|
|
1773
|
+
readonly outputs: readonly [{
|
|
1774
|
+
readonly name: "lstAmount";
|
|
1775
|
+
readonly type: "uint256";
|
|
1776
|
+
}, {
|
|
1777
|
+
readonly name: "mintedAmount";
|
|
1778
|
+
readonly type: "uint256";
|
|
1779
|
+
}];
|
|
1780
|
+
readonly stateMutability: "payable";
|
|
1781
|
+
}, {
|
|
1782
|
+
readonly type: "function";
|
|
1783
|
+
readonly name: "swapAndMintApUSDDefault";
|
|
1784
|
+
readonly inputs: readonly [{
|
|
1785
|
+
readonly name: "inputToken";
|
|
1786
|
+
readonly type: "address";
|
|
1787
|
+
}, {
|
|
1788
|
+
readonly name: "inputAmount";
|
|
1789
|
+
readonly type: "uint256";
|
|
1790
|
+
}, {
|
|
1791
|
+
readonly name: "minMintOut";
|
|
1792
|
+
readonly type: "uint256";
|
|
1793
|
+
}, {
|
|
1794
|
+
readonly name: "deadline";
|
|
1795
|
+
readonly type: "uint256";
|
|
1796
|
+
}];
|
|
1797
|
+
readonly outputs: readonly [{
|
|
1798
|
+
readonly name: "apUSDAmount";
|
|
1799
|
+
readonly type: "uint256";
|
|
1800
|
+
}];
|
|
1801
|
+
readonly stateMutability: "payable";
|
|
1802
|
+
}, {
|
|
1803
|
+
readonly type: "function";
|
|
1804
|
+
readonly name: "swapAndMintXBNBDefault";
|
|
1805
|
+
readonly inputs: readonly [{
|
|
1806
|
+
readonly name: "inputToken";
|
|
1807
|
+
readonly type: "address";
|
|
1808
|
+
}, {
|
|
1809
|
+
readonly name: "inputAmount";
|
|
1810
|
+
readonly type: "uint256";
|
|
1811
|
+
}, {
|
|
1812
|
+
readonly name: "minMintOut";
|
|
1813
|
+
readonly type: "uint256";
|
|
1814
|
+
}, {
|
|
1815
|
+
readonly name: "deadline";
|
|
1816
|
+
readonly type: "uint256";
|
|
1817
|
+
}];
|
|
1818
|
+
readonly outputs: readonly [{
|
|
1819
|
+
readonly name: "xBNBAmount";
|
|
1820
|
+
readonly type: "uint256";
|
|
1821
|
+
}];
|
|
1822
|
+
readonly stateMutability: "payable";
|
|
1823
|
+
}, {
|
|
1824
|
+
readonly type: "function";
|
|
1825
|
+
readonly name: "stakeAndMintApUSD";
|
|
1826
|
+
readonly inputs: readonly [{
|
|
1827
|
+
readonly name: "minMintOut";
|
|
1828
|
+
readonly type: "uint256";
|
|
1829
|
+
}];
|
|
1830
|
+
readonly outputs: readonly [{
|
|
1831
|
+
readonly name: "apUSDAmount";
|
|
1832
|
+
readonly type: "uint256";
|
|
1833
|
+
}];
|
|
1834
|
+
readonly stateMutability: "payable";
|
|
1835
|
+
}, {
|
|
1836
|
+
readonly type: "function";
|
|
1837
|
+
readonly name: "stakeAndMintXBNB";
|
|
1838
|
+
readonly inputs: readonly [{
|
|
1839
|
+
readonly name: "minMintOut";
|
|
1840
|
+
readonly type: "uint256";
|
|
1841
|
+
}];
|
|
1842
|
+
readonly outputs: readonly [{
|
|
1843
|
+
readonly name: "xBNBAmount";
|
|
1844
|
+
readonly type: "uint256";
|
|
1845
|
+
}];
|
|
1846
|
+
readonly stateMutability: "payable";
|
|
1847
|
+
}, {
|
|
1848
|
+
readonly type: "function";
|
|
1849
|
+
readonly name: "mintApUSD";
|
|
1850
|
+
readonly inputs: readonly [{
|
|
1851
|
+
readonly name: "lst";
|
|
1852
|
+
readonly type: "address";
|
|
1853
|
+
}, {
|
|
1854
|
+
readonly name: "lstAmount";
|
|
1855
|
+
readonly type: "uint256";
|
|
1856
|
+
}, {
|
|
1857
|
+
readonly name: "minOut";
|
|
1858
|
+
readonly type: "uint256";
|
|
1859
|
+
}];
|
|
1860
|
+
readonly outputs: readonly [{
|
|
1861
|
+
readonly name: "apUSDAmount";
|
|
1862
|
+
readonly type: "uint256";
|
|
1863
|
+
}];
|
|
1864
|
+
readonly stateMutability: "nonpayable";
|
|
1865
|
+
}, {
|
|
1866
|
+
readonly type: "function";
|
|
1867
|
+
readonly name: "mintXBNB";
|
|
1868
|
+
readonly inputs: readonly [{
|
|
1869
|
+
readonly name: "lst";
|
|
1870
|
+
readonly type: "address";
|
|
1871
|
+
}, {
|
|
1872
|
+
readonly name: "lstAmount";
|
|
1873
|
+
readonly type: "uint256";
|
|
1874
|
+
}, {
|
|
1875
|
+
readonly name: "minOut";
|
|
1876
|
+
readonly type: "uint256";
|
|
1877
|
+
}];
|
|
1878
|
+
readonly outputs: readonly [{
|
|
1879
|
+
readonly name: "xBNBAmount";
|
|
1880
|
+
readonly type: "uint256";
|
|
1881
|
+
}];
|
|
1882
|
+
readonly stateMutability: "nonpayable";
|
|
1883
|
+
}, {
|
|
1884
|
+
readonly type: "function";
|
|
1885
|
+
readonly name: "redeemApUSD";
|
|
1886
|
+
readonly inputs: readonly [{
|
|
1887
|
+
readonly name: "lst";
|
|
1888
|
+
readonly type: "address";
|
|
1889
|
+
}, {
|
|
1890
|
+
readonly name: "apUSDAmount";
|
|
1891
|
+
readonly type: "uint256";
|
|
1892
|
+
}, {
|
|
1893
|
+
readonly name: "minOut";
|
|
1894
|
+
readonly type: "uint256";
|
|
1895
|
+
}];
|
|
1896
|
+
readonly outputs: readonly [{
|
|
1897
|
+
readonly name: "lstAmount";
|
|
1898
|
+
readonly type: "uint256";
|
|
1899
|
+
}];
|
|
1900
|
+
readonly stateMutability: "nonpayable";
|
|
1901
|
+
}, {
|
|
1902
|
+
readonly type: "function";
|
|
1903
|
+
readonly name: "redeemXBNB";
|
|
1904
|
+
readonly inputs: readonly [{
|
|
1905
|
+
readonly name: "lst";
|
|
1906
|
+
readonly type: "address";
|
|
1907
|
+
}, {
|
|
1908
|
+
readonly name: "xBNBAmount";
|
|
1909
|
+
readonly type: "uint256";
|
|
1910
|
+
}, {
|
|
1911
|
+
readonly name: "minOut";
|
|
1912
|
+
readonly type: "uint256";
|
|
1913
|
+
}];
|
|
1914
|
+
readonly outputs: readonly [{
|
|
1915
|
+
readonly name: "lstAmount";
|
|
1916
|
+
readonly type: "uint256";
|
|
1917
|
+
}];
|
|
1918
|
+
readonly stateMutability: "nonpayable";
|
|
1919
|
+
}, {
|
|
1920
|
+
readonly type: "function";
|
|
1921
|
+
readonly name: "redeemApUSDAndSwap";
|
|
1922
|
+
readonly inputs: readonly [{
|
|
1923
|
+
readonly name: "lst";
|
|
1924
|
+
readonly type: "address";
|
|
1925
|
+
}, {
|
|
1926
|
+
readonly name: "apUSDAmount";
|
|
1927
|
+
readonly type: "uint256";
|
|
1928
|
+
}, {
|
|
1929
|
+
readonly name: "outputToken";
|
|
1930
|
+
readonly type: "address";
|
|
1931
|
+
}, {
|
|
1932
|
+
readonly name: "minOut";
|
|
1933
|
+
readonly type: "uint256";
|
|
1934
|
+
}, {
|
|
1935
|
+
readonly name: "deadline";
|
|
1936
|
+
readonly type: "uint256";
|
|
1937
|
+
}, {
|
|
1938
|
+
readonly name: "useV2";
|
|
1939
|
+
readonly type: "bool";
|
|
1940
|
+
}, {
|
|
1941
|
+
readonly name: "poolFee";
|
|
1942
|
+
readonly type: "uint24";
|
|
1943
|
+
}];
|
|
1944
|
+
readonly outputs: readonly [{
|
|
1945
|
+
readonly name: "outputAmount";
|
|
1946
|
+
readonly type: "uint256";
|
|
1947
|
+
}];
|
|
1948
|
+
readonly stateMutability: "nonpayable";
|
|
1949
|
+
}, {
|
|
1950
|
+
readonly type: "function";
|
|
1951
|
+
readonly name: "redeemXBNBAndSwap";
|
|
1952
|
+
readonly inputs: readonly [{
|
|
1953
|
+
readonly name: "lst";
|
|
1954
|
+
readonly type: "address";
|
|
1955
|
+
}, {
|
|
1956
|
+
readonly name: "xBNBAmount";
|
|
1957
|
+
readonly type: "uint256";
|
|
1958
|
+
}, {
|
|
1959
|
+
readonly name: "outputToken";
|
|
1960
|
+
readonly type: "address";
|
|
1961
|
+
}, {
|
|
1962
|
+
readonly name: "minOut";
|
|
1963
|
+
readonly type: "uint256";
|
|
1964
|
+
}, {
|
|
1965
|
+
readonly name: "deadline";
|
|
1966
|
+
readonly type: "uint256";
|
|
1967
|
+
}, {
|
|
1968
|
+
readonly name: "useV2";
|
|
1969
|
+
readonly type: "bool";
|
|
1970
|
+
}, {
|
|
1971
|
+
readonly name: "poolFee";
|
|
1972
|
+
readonly type: "uint24";
|
|
1973
|
+
}];
|
|
1974
|
+
readonly outputs: readonly [{
|
|
1975
|
+
readonly name: "outputAmount";
|
|
1976
|
+
readonly type: "uint256";
|
|
1977
|
+
}];
|
|
1978
|
+
readonly stateMutability: "nonpayable";
|
|
1979
|
+
}, {
|
|
1980
|
+
readonly type: "function";
|
|
1981
|
+
readonly name: "redeemApUSDAndUnstake";
|
|
1982
|
+
readonly inputs: readonly [{
|
|
1983
|
+
readonly name: "lst";
|
|
1984
|
+
readonly type: "address";
|
|
1985
|
+
}, {
|
|
1986
|
+
readonly name: "apUSDAmount";
|
|
1987
|
+
readonly type: "uint256";
|
|
1988
|
+
}, {
|
|
1989
|
+
readonly name: "minBNBOut";
|
|
1990
|
+
readonly type: "uint256";
|
|
1991
|
+
}, {
|
|
1992
|
+
readonly name: "deadline";
|
|
1993
|
+
readonly type: "uint256";
|
|
1994
|
+
}];
|
|
1995
|
+
readonly outputs: readonly [{
|
|
1996
|
+
readonly name: "bnbAmount";
|
|
1997
|
+
readonly type: "uint256";
|
|
1998
|
+
}];
|
|
1999
|
+
readonly stateMutability: "nonpayable";
|
|
2000
|
+
}, {
|
|
2001
|
+
readonly type: "function";
|
|
2002
|
+
readonly name: "redeemXBNBAndUnstake";
|
|
2003
|
+
readonly inputs: readonly [{
|
|
2004
|
+
readonly name: "lst";
|
|
2005
|
+
readonly type: "address";
|
|
2006
|
+
}, {
|
|
2007
|
+
readonly name: "xBNBAmount";
|
|
2008
|
+
readonly type: "uint256";
|
|
2009
|
+
}, {
|
|
2010
|
+
readonly name: "minBNBOut";
|
|
2011
|
+
readonly type: "uint256";
|
|
2012
|
+
}, {
|
|
2013
|
+
readonly name: "deadline";
|
|
2014
|
+
readonly type: "uint256";
|
|
2015
|
+
}];
|
|
2016
|
+
readonly outputs: readonly [{
|
|
2017
|
+
readonly name: "bnbAmount";
|
|
2018
|
+
readonly type: "uint256";
|
|
2019
|
+
}];
|
|
2020
|
+
readonly stateMutability: "nonpayable";
|
|
2021
|
+
}, {
|
|
2022
|
+
readonly type: "function";
|
|
2023
|
+
readonly name: "redeemApUSDAndRequestUnstake";
|
|
2024
|
+
readonly inputs: readonly [{
|
|
2025
|
+
readonly name: "apUSDAmount";
|
|
2026
|
+
readonly type: "uint256";
|
|
2027
|
+
}];
|
|
2028
|
+
readonly outputs: readonly [{
|
|
2029
|
+
readonly name: "requestIndex";
|
|
2030
|
+
readonly type: "uint256";
|
|
2031
|
+
}, {
|
|
2032
|
+
readonly name: "slisBNBAmount";
|
|
2033
|
+
readonly type: "uint256";
|
|
2034
|
+
}];
|
|
2035
|
+
readonly stateMutability: "nonpayable";
|
|
2036
|
+
}, {
|
|
2037
|
+
readonly type: "function";
|
|
2038
|
+
readonly name: "redeemXBNBAndRequestUnstake";
|
|
2039
|
+
readonly inputs: readonly [{
|
|
2040
|
+
readonly name: "xBNBAmount";
|
|
2041
|
+
readonly type: "uint256";
|
|
2042
|
+
}];
|
|
2043
|
+
readonly outputs: readonly [{
|
|
2044
|
+
readonly name: "requestIndex";
|
|
2045
|
+
readonly type: "uint256";
|
|
2046
|
+
}, {
|
|
2047
|
+
readonly name: "slisBNBAmount";
|
|
2048
|
+
readonly type: "uint256";
|
|
2049
|
+
}];
|
|
2050
|
+
readonly stateMutability: "nonpayable";
|
|
2051
|
+
}, {
|
|
2052
|
+
readonly type: "function";
|
|
2053
|
+
readonly name: "claimUnstake";
|
|
2054
|
+
readonly inputs: readonly [{
|
|
2055
|
+
readonly name: "requestIndex";
|
|
2056
|
+
readonly type: "uint256";
|
|
2057
|
+
}];
|
|
2058
|
+
readonly outputs: readonly [{
|
|
2059
|
+
readonly name: "bnbAmount";
|
|
2060
|
+
readonly type: "uint256";
|
|
2061
|
+
}];
|
|
2062
|
+
readonly stateMutability: "nonpayable";
|
|
2063
|
+
}, {
|
|
2064
|
+
readonly type: "function";
|
|
2065
|
+
readonly name: "defaultLST";
|
|
2066
|
+
readonly inputs: readonly [];
|
|
2067
|
+
readonly outputs: readonly [{
|
|
2068
|
+
readonly name: "";
|
|
2069
|
+
readonly type: "address";
|
|
2070
|
+
}];
|
|
2071
|
+
readonly stateMutability: "view";
|
|
2072
|
+
}, {
|
|
2073
|
+
readonly type: "function";
|
|
2074
|
+
readonly name: "supportedInputTokens";
|
|
2075
|
+
readonly inputs: readonly [{
|
|
2076
|
+
readonly name: "token";
|
|
2077
|
+
readonly type: "address";
|
|
2078
|
+
}];
|
|
2079
|
+
readonly outputs: readonly [{
|
|
2080
|
+
readonly name: "";
|
|
2081
|
+
readonly type: "bool";
|
|
2082
|
+
}];
|
|
2083
|
+
readonly stateMutability: "view";
|
|
2084
|
+
}, {
|
|
2085
|
+
readonly type: "function";
|
|
2086
|
+
readonly name: "supportedLSTs";
|
|
2087
|
+
readonly inputs: readonly [{
|
|
2088
|
+
readonly name: "lst";
|
|
2089
|
+
readonly type: "address";
|
|
2090
|
+
}];
|
|
2091
|
+
readonly outputs: readonly [{
|
|
2092
|
+
readonly name: "";
|
|
2093
|
+
readonly type: "bool";
|
|
2094
|
+
}];
|
|
2095
|
+
readonly stateMutability: "view";
|
|
2096
|
+
}, {
|
|
2097
|
+
readonly type: "function";
|
|
2098
|
+
readonly name: "diamond";
|
|
2099
|
+
readonly inputs: readonly [];
|
|
2100
|
+
readonly outputs: readonly [{
|
|
2101
|
+
readonly name: "";
|
|
2102
|
+
readonly type: "address";
|
|
2103
|
+
}];
|
|
2104
|
+
readonly stateMutability: "view";
|
|
2105
|
+
}, {
|
|
2106
|
+
readonly type: "function";
|
|
2107
|
+
readonly name: "getExpectedOutput";
|
|
2108
|
+
readonly inputs: readonly [{
|
|
2109
|
+
readonly name: "inputToken";
|
|
2110
|
+
readonly type: "address";
|
|
2111
|
+
}, {
|
|
2112
|
+
readonly name: "inputAmount";
|
|
2113
|
+
readonly type: "uint256";
|
|
2114
|
+
}, {
|
|
2115
|
+
readonly name: "targetLST";
|
|
2116
|
+
readonly type: "address";
|
|
2117
|
+
}, {
|
|
2118
|
+
readonly name: "mintXBNB";
|
|
2119
|
+
readonly type: "bool";
|
|
2120
|
+
}];
|
|
2121
|
+
readonly outputs: readonly [{
|
|
2122
|
+
readonly name: "expectedLST";
|
|
2123
|
+
readonly type: "uint256";
|
|
2124
|
+
}, {
|
|
2125
|
+
readonly name: "expectedMint";
|
|
2126
|
+
readonly type: "uint256";
|
|
2127
|
+
}];
|
|
2128
|
+
readonly stateMutability: "view";
|
|
2129
|
+
}, {
|
|
2130
|
+
readonly type: "function";
|
|
2131
|
+
readonly name: "getUserWithdrawalIndices";
|
|
2132
|
+
readonly inputs: readonly [{
|
|
2133
|
+
readonly name: "user";
|
|
2134
|
+
readonly type: "address";
|
|
2135
|
+
}];
|
|
2136
|
+
readonly outputs: readonly [{
|
|
2137
|
+
readonly name: "";
|
|
2138
|
+
readonly type: "uint256[]";
|
|
2139
|
+
}];
|
|
2140
|
+
readonly stateMutability: "view";
|
|
2141
|
+
}, {
|
|
2142
|
+
readonly type: "function";
|
|
2143
|
+
readonly name: "getWithdrawalStatus";
|
|
2144
|
+
readonly inputs: readonly [{
|
|
2145
|
+
readonly name: "requestIndex";
|
|
2146
|
+
readonly type: "uint256";
|
|
2147
|
+
}];
|
|
2148
|
+
readonly outputs: readonly [{
|
|
2149
|
+
readonly name: "isClaimable";
|
|
2150
|
+
readonly type: "bool";
|
|
2151
|
+
}, {
|
|
2152
|
+
readonly name: "bnbAmount";
|
|
2153
|
+
readonly type: "uint256";
|
|
2154
|
+
}];
|
|
2155
|
+
readonly stateMutability: "view";
|
|
2156
|
+
}, {
|
|
2157
|
+
readonly type: "function";
|
|
2158
|
+
readonly name: "wbnb";
|
|
2159
|
+
readonly inputs: readonly [];
|
|
2160
|
+
readonly outputs: readonly [{
|
|
2161
|
+
readonly name: "";
|
|
2162
|
+
readonly type: "address";
|
|
2163
|
+
}];
|
|
2164
|
+
readonly stateMutability: "view";
|
|
2165
|
+
}, {
|
|
2166
|
+
readonly type: "function";
|
|
2167
|
+
readonly name: "usdt";
|
|
2168
|
+
readonly inputs: readonly [];
|
|
2169
|
+
readonly outputs: readonly [{
|
|
2170
|
+
readonly name: "";
|
|
2171
|
+
readonly type: "address";
|
|
2172
|
+
}];
|
|
2173
|
+
readonly stateMutability: "view";
|
|
2174
|
+
}, {
|
|
2175
|
+
readonly type: "function";
|
|
2176
|
+
readonly name: "usdc";
|
|
2177
|
+
readonly inputs: readonly [];
|
|
2178
|
+
readonly outputs: readonly [{
|
|
2179
|
+
readonly name: "";
|
|
2180
|
+
readonly type: "address";
|
|
2181
|
+
}];
|
|
2182
|
+
readonly stateMutability: "view";
|
|
2183
|
+
}, {
|
|
2184
|
+
readonly type: "function";
|
|
2185
|
+
readonly name: "slisBNB";
|
|
2186
|
+
readonly inputs: readonly [];
|
|
2187
|
+
readonly outputs: readonly [{
|
|
2188
|
+
readonly name: "";
|
|
2189
|
+
readonly type: "address";
|
|
2190
|
+
}];
|
|
2191
|
+
readonly stateMutability: "view";
|
|
2192
|
+
}, {
|
|
2193
|
+
readonly type: "function";
|
|
2194
|
+
readonly name: "asBNB";
|
|
2195
|
+
readonly inputs: readonly [];
|
|
2196
|
+
readonly outputs: readonly [{
|
|
2197
|
+
readonly name: "";
|
|
2198
|
+
readonly type: "address";
|
|
2199
|
+
}];
|
|
2200
|
+
readonly stateMutability: "view";
|
|
2201
|
+
}, {
|
|
2202
|
+
readonly type: "function";
|
|
2203
|
+
readonly name: "wclisBNB";
|
|
2204
|
+
readonly inputs: readonly [];
|
|
2205
|
+
readonly outputs: readonly [{
|
|
2206
|
+
readonly name: "";
|
|
2207
|
+
readonly type: "address";
|
|
2208
|
+
}];
|
|
2209
|
+
readonly stateMutability: "view";
|
|
2210
|
+
}, {
|
|
2211
|
+
readonly type: "function";
|
|
2212
|
+
readonly name: "apUSD";
|
|
2213
|
+
readonly inputs: readonly [];
|
|
2214
|
+
readonly outputs: readonly [{
|
|
2215
|
+
readonly name: "";
|
|
2216
|
+
readonly type: "address";
|
|
2217
|
+
}];
|
|
2218
|
+
readonly stateMutability: "view";
|
|
2219
|
+
}, {
|
|
2220
|
+
readonly type: "function";
|
|
2221
|
+
readonly name: "xBNB";
|
|
2222
|
+
readonly inputs: readonly [];
|
|
2223
|
+
readonly outputs: readonly [{
|
|
2224
|
+
readonly name: "";
|
|
2225
|
+
readonly type: "address";
|
|
2226
|
+
}];
|
|
2227
|
+
readonly stateMutability: "view";
|
|
2228
|
+
}, {
|
|
2229
|
+
readonly type: "event";
|
|
2230
|
+
readonly name: "SwapAndMint";
|
|
2231
|
+
readonly inputs: readonly [{
|
|
2232
|
+
readonly name: "user";
|
|
2233
|
+
readonly type: "address";
|
|
2234
|
+
readonly indexed: true;
|
|
2235
|
+
}, {
|
|
2236
|
+
readonly name: "inputToken";
|
|
2237
|
+
readonly type: "address";
|
|
2238
|
+
readonly indexed: true;
|
|
2239
|
+
}, {
|
|
2240
|
+
readonly name: "inputAmount";
|
|
2241
|
+
readonly type: "uint256";
|
|
2242
|
+
readonly indexed: false;
|
|
2243
|
+
}, {
|
|
2244
|
+
readonly name: "targetLST";
|
|
2245
|
+
readonly type: "address";
|
|
2246
|
+
readonly indexed: true;
|
|
2247
|
+
}, {
|
|
2248
|
+
readonly name: "lstAmount";
|
|
2249
|
+
readonly type: "uint256";
|
|
2250
|
+
readonly indexed: false;
|
|
2251
|
+
}, {
|
|
2252
|
+
readonly name: "mintedToken";
|
|
2253
|
+
readonly type: "address";
|
|
2254
|
+
readonly indexed: false;
|
|
2255
|
+
}, {
|
|
2256
|
+
readonly name: "mintedAmount";
|
|
2257
|
+
readonly type: "uint256";
|
|
2258
|
+
readonly indexed: false;
|
|
2259
|
+
}];
|
|
2260
|
+
}, {
|
|
2261
|
+
readonly type: "event";
|
|
2262
|
+
readonly name: "StakeAndMint";
|
|
2263
|
+
readonly inputs: readonly [{
|
|
2264
|
+
readonly name: "user";
|
|
2265
|
+
readonly type: "address";
|
|
2266
|
+
readonly indexed: true;
|
|
2267
|
+
}, {
|
|
2268
|
+
readonly name: "bnbAmount";
|
|
2269
|
+
readonly type: "uint256";
|
|
2270
|
+
readonly indexed: false;
|
|
2271
|
+
}, {
|
|
2272
|
+
readonly name: "targetLST";
|
|
2273
|
+
readonly type: "address";
|
|
2274
|
+
readonly indexed: true;
|
|
2275
|
+
}, {
|
|
2276
|
+
readonly name: "lstAmount";
|
|
2277
|
+
readonly type: "uint256";
|
|
2278
|
+
readonly indexed: false;
|
|
2279
|
+
}, {
|
|
2280
|
+
readonly name: "mintedToken";
|
|
2281
|
+
readonly type: "address";
|
|
2282
|
+
readonly indexed: true;
|
|
2283
|
+
}, {
|
|
2284
|
+
readonly name: "mintedAmount";
|
|
2285
|
+
readonly type: "uint256";
|
|
2286
|
+
readonly indexed: false;
|
|
2287
|
+
}];
|
|
2288
|
+
}, {
|
|
2289
|
+
readonly type: "event";
|
|
2290
|
+
readonly name: "Mint";
|
|
2291
|
+
readonly inputs: readonly [{
|
|
2292
|
+
readonly name: "user";
|
|
2293
|
+
readonly type: "address";
|
|
2294
|
+
readonly indexed: true;
|
|
2295
|
+
}, {
|
|
2296
|
+
readonly name: "lst";
|
|
2297
|
+
readonly type: "address";
|
|
2298
|
+
readonly indexed: true;
|
|
2299
|
+
}, {
|
|
2300
|
+
readonly name: "lstAmount";
|
|
2301
|
+
readonly type: "uint256";
|
|
2302
|
+
readonly indexed: false;
|
|
2303
|
+
}, {
|
|
2304
|
+
readonly name: "mintedToken";
|
|
2305
|
+
readonly type: "address";
|
|
2306
|
+
readonly indexed: true;
|
|
2307
|
+
}, {
|
|
2308
|
+
readonly name: "mintedAmount";
|
|
2309
|
+
readonly type: "uint256";
|
|
2310
|
+
readonly indexed: false;
|
|
2311
|
+
}];
|
|
2312
|
+
}, {
|
|
2313
|
+
readonly type: "event";
|
|
2314
|
+
readonly name: "Redeem";
|
|
2315
|
+
readonly inputs: readonly [{
|
|
2316
|
+
readonly name: "user";
|
|
2317
|
+
readonly type: "address";
|
|
2318
|
+
readonly indexed: true;
|
|
2319
|
+
}, {
|
|
2320
|
+
readonly name: "redeemedToken";
|
|
2321
|
+
readonly type: "address";
|
|
2322
|
+
readonly indexed: true;
|
|
2323
|
+
}, {
|
|
2324
|
+
readonly name: "redeemedAmount";
|
|
2325
|
+
readonly type: "uint256";
|
|
2326
|
+
readonly indexed: false;
|
|
2327
|
+
}, {
|
|
2328
|
+
readonly name: "lst";
|
|
2329
|
+
readonly type: "address";
|
|
2330
|
+
readonly indexed: true;
|
|
2331
|
+
}, {
|
|
2332
|
+
readonly name: "lstAmount";
|
|
2333
|
+
readonly type: "uint256";
|
|
2334
|
+
readonly indexed: false;
|
|
2335
|
+
}];
|
|
2336
|
+
}, {
|
|
2337
|
+
readonly type: "event";
|
|
2338
|
+
readonly name: "RedeemAndSwap";
|
|
2339
|
+
readonly inputs: readonly [{
|
|
2340
|
+
readonly name: "user";
|
|
2341
|
+
readonly type: "address";
|
|
2342
|
+
readonly indexed: true;
|
|
2343
|
+
}, {
|
|
2344
|
+
readonly name: "redeemedToken";
|
|
2345
|
+
readonly type: "address";
|
|
2346
|
+
readonly indexed: false;
|
|
2347
|
+
}, {
|
|
2348
|
+
readonly name: "redeemedAmount";
|
|
2349
|
+
readonly type: "uint256";
|
|
2350
|
+
readonly indexed: false;
|
|
2351
|
+
}, {
|
|
2352
|
+
readonly name: "lst";
|
|
2353
|
+
readonly type: "address";
|
|
2354
|
+
readonly indexed: false;
|
|
2355
|
+
}, {
|
|
2356
|
+
readonly name: "lstAmount";
|
|
2357
|
+
readonly type: "uint256";
|
|
2358
|
+
readonly indexed: false;
|
|
2359
|
+
}, {
|
|
2360
|
+
readonly name: "outputToken";
|
|
2361
|
+
readonly type: "address";
|
|
2362
|
+
readonly indexed: true;
|
|
2363
|
+
}, {
|
|
2364
|
+
readonly name: "outputAmount";
|
|
2365
|
+
readonly type: "uint256";
|
|
2366
|
+
readonly indexed: false;
|
|
2367
|
+
}];
|
|
2368
|
+
}, {
|
|
2369
|
+
readonly type: "event";
|
|
2370
|
+
readonly name: "UnstakeRequested";
|
|
2371
|
+
readonly inputs: readonly [{
|
|
2372
|
+
readonly name: "user";
|
|
2373
|
+
readonly type: "address";
|
|
2374
|
+
readonly indexed: true;
|
|
2375
|
+
}, {
|
|
2376
|
+
readonly name: "requestIndex";
|
|
2377
|
+
readonly type: "uint256";
|
|
2378
|
+
readonly indexed: true;
|
|
2379
|
+
}, {
|
|
2380
|
+
readonly name: "redeemedToken";
|
|
2381
|
+
readonly type: "address";
|
|
2382
|
+
readonly indexed: false;
|
|
2383
|
+
}, {
|
|
2384
|
+
readonly name: "redeemedAmount";
|
|
2385
|
+
readonly type: "uint256";
|
|
2386
|
+
readonly indexed: false;
|
|
2387
|
+
}, {
|
|
2388
|
+
readonly name: "slisBNBAmount";
|
|
2389
|
+
readonly type: "uint256";
|
|
2390
|
+
readonly indexed: false;
|
|
2391
|
+
}];
|
|
2392
|
+
}, {
|
|
2393
|
+
readonly type: "event";
|
|
2394
|
+
readonly name: "UnstakeClaimed";
|
|
2395
|
+
readonly inputs: readonly [{
|
|
2396
|
+
readonly name: "user";
|
|
2397
|
+
readonly type: "address";
|
|
2398
|
+
readonly indexed: true;
|
|
2399
|
+
}, {
|
|
2400
|
+
readonly name: "requestIndex";
|
|
2401
|
+
readonly type: "uint256";
|
|
2402
|
+
readonly indexed: true;
|
|
2403
|
+
}, {
|
|
2404
|
+
readonly name: "bnbAmount";
|
|
2405
|
+
readonly type: "uint256";
|
|
2406
|
+
readonly indexed: false;
|
|
2407
|
+
}];
|
|
2408
|
+
}, {
|
|
2409
|
+
readonly type: "event";
|
|
2410
|
+
readonly name: "DefaultLSTUpdated";
|
|
2411
|
+
readonly inputs: readonly [{
|
|
2412
|
+
readonly name: "oldLST";
|
|
2413
|
+
readonly type: "address";
|
|
2414
|
+
readonly indexed: true;
|
|
2415
|
+
}, {
|
|
2416
|
+
readonly name: "newLST";
|
|
2417
|
+
readonly type: "address";
|
|
2418
|
+
readonly indexed: true;
|
|
2419
|
+
}];
|
|
2420
|
+
}, {
|
|
2421
|
+
readonly type: "error";
|
|
2422
|
+
readonly name: "UnsupportedInputToken";
|
|
2423
|
+
readonly inputs: readonly [];
|
|
2424
|
+
}, {
|
|
2425
|
+
readonly type: "error";
|
|
2426
|
+
readonly name: "UnsupportedLST";
|
|
2427
|
+
readonly inputs: readonly [];
|
|
2428
|
+
}, {
|
|
2429
|
+
readonly type: "error";
|
|
2430
|
+
readonly name: "DeadlineExpired";
|
|
2431
|
+
readonly inputs: readonly [];
|
|
2432
|
+
}, {
|
|
2433
|
+
readonly type: "error";
|
|
2434
|
+
readonly name: "InsufficientOutput";
|
|
2435
|
+
readonly inputs: readonly [];
|
|
2436
|
+
}, {
|
|
2437
|
+
readonly type: "error";
|
|
2438
|
+
readonly name: "ZeroAmount";
|
|
2439
|
+
readonly inputs: readonly [];
|
|
2440
|
+
}, {
|
|
2441
|
+
readonly type: "error";
|
|
2442
|
+
readonly name: "InvalidRecipient";
|
|
2443
|
+
readonly inputs: readonly [];
|
|
2444
|
+
}, {
|
|
2445
|
+
readonly type: "error";
|
|
2446
|
+
readonly name: "SwapFailed";
|
|
2447
|
+
readonly inputs: readonly [];
|
|
2448
|
+
}, {
|
|
2449
|
+
readonly type: "error";
|
|
2450
|
+
readonly name: "MintFailed";
|
|
2451
|
+
readonly inputs: readonly [];
|
|
2452
|
+
}, {
|
|
2453
|
+
readonly type: "error";
|
|
2454
|
+
readonly name: "NativeTransferFailed";
|
|
2455
|
+
readonly inputs: readonly [];
|
|
2456
|
+
}, {
|
|
2457
|
+
readonly type: "error";
|
|
2458
|
+
readonly name: "InvalidPoolFee";
|
|
2459
|
+
readonly inputs: readonly [];
|
|
2460
|
+
}, {
|
|
2461
|
+
readonly type: "error";
|
|
2462
|
+
readonly name: "DefaultLSTNotSet";
|
|
2463
|
+
readonly inputs: readonly [];
|
|
2464
|
+
}, {
|
|
2465
|
+
readonly type: "error";
|
|
2466
|
+
readonly name: "InvalidWithdrawalRequest";
|
|
2467
|
+
readonly inputs: readonly [];
|
|
2468
|
+
}, {
|
|
2469
|
+
readonly type: "error";
|
|
2470
|
+
readonly name: "WithdrawalNotClaimable";
|
|
2471
|
+
readonly inputs: readonly [];
|
|
2472
|
+
}, {
|
|
2473
|
+
readonly type: "error";
|
|
2474
|
+
readonly name: "WithdrawalAlreadyClaimed";
|
|
2475
|
+
readonly inputs: readonly [];
|
|
2476
|
+
}, {
|
|
2477
|
+
readonly type: "error";
|
|
2478
|
+
readonly name: "OnlySlisBNBSupported";
|
|
2479
|
+
readonly inputs: readonly [];
|
|
2480
|
+
}];
|
|
2481
|
+
|
|
1276
2482
|
/**
|
|
1277
2483
|
* Aspan SDK
|
|
1278
2484
|
* TypeScript SDK for interacting with the Aspan Protocol on BNB Chain
|
|
@@ -1304,8 +2510,8 @@ declare function parseAmount(amount: string): bigint;
|
|
|
1304
2510
|
declare function formatFeeBPS(bps: number): string;
|
|
1305
2511
|
/**
|
|
1306
2512
|
* Format collateral ratio to percentage string
|
|
1307
|
-
* @param cr Collateral ratio
|
|
1308
|
-
* @returns Percentage string (e.g., "150%")
|
|
2513
|
+
* @param cr Collateral ratio in BPS (10000 = 100%, contract format)
|
|
2514
|
+
* @returns Percentage string (e.g., "150.00%")
|
|
1309
2515
|
*/
|
|
1310
2516
|
declare function formatCR(cr: bigint): string;
|
|
1311
2517
|
/**
|
|
@@ -1323,4 +2529,4 @@ declare function formatPriceUSD(price: bigint): string;
|
|
|
1323
2529
|
*/
|
|
1324
2530
|
declare function calculateAPY(previousRate: bigint, currentRate: bigint, periodDays: number): number;
|
|
1325
2531
|
|
|
1326
|
-
export { type ApUSDMintedEvent, type ApUSDRedeemedEvent, AspanClient, type AspanClientConfig, AspanReadClient, type AspanWriteClientConfig, BPS_PRECISION, type BigIntString, type CurrentFeeTier, type CurrentFees, type DepositParams, type DepositedEvent, DiamondABI, type FeeTier, type LSTInfo, type LSTYieldInfo, type MintApUSDParams, type MintXBNBParams, type OracleBounds, PRECISION, PRICE_PRECISION, type ProtocolStats, type RedeemApUSDParams, type RedeemXBNBParams, type StabilityMode2Info, type StabilityModeInfo, type StabilityPoolStats, type TokenAddresses, type TransactionReceipt, type TransactionResult, type UserStabilityPoolPosition, type WithdrawAssetsParams, type WithdrawParams, type WithdrawnEvent, type XBNBMintedEvent, type XBNBRedeemedEvent, type YieldHarvestedEvent, type YieldStats, calculateAPY, createAspanClient, createAspanReadClient, createAspanTestnetClient, createAspanTestnetReadClient, formatAmount, formatCR, formatFeeBPS, formatPriceUSD, parseAmount };
|
|
2532
|
+
export { type ApUSDMintedEvent, type ApUSDRedeemedEvent, AspanClient, type AspanClientConfig, AspanReadClient, AspanRouterClient, type AspanRouterClientConfig, AspanRouterReadClient, type AspanRouterWriteClientConfig, type AspanWriteClientConfig, BPS_PRECISION, type BigIntString, type CurrentFeeTier, type CurrentFees, type DepositParams, type DepositedEvent, DiamondABI, type ExpectedOutput, type FeeTier, type LSTInfo, type LSTYieldInfo, type MintApUSDParams, type MintXBNBParams, type OracleBounds, PRECISION, PRICE_PRECISION, type ProtocolStats, type RedeemAndSwapEvent, type RedeemApUSDParams, type RedeemXBNBParams, RouterABI, type RouterMintApUSDParams, type RouterMintEvent, type RouterMintParams, type RouterMintXBNBParams, type RouterRedeemAndSwapParams, type RouterRedeemAndUnstakeParams, type RouterRedeemApUSDParams, type RouterRedeemEvent, type RouterRedeemXBNBParams, type RouterSwapParams, type StabilityMode2Info, type StabilityModeInfo, type StabilityPoolStats, type StakeAndMintEvent, type StakeAndMintParams, type SwapAndMintDefaultParams, type SwapAndMintEvent, type SwapAndMintParams, type TokenAddresses, type TransactionReceipt, type TransactionResult, type UnstakeClaimedEvent, type UnstakeRequestedEvent, type UserStabilityPoolPosition, type WithdrawAssetsParams, type WithdrawParams, type WithdrawalRequestInfo, type WithdrawnEvent, type XBNBMintedEvent, type XBNBRedeemedEvent, type YieldHarvestedEvent, type YieldStats, calculateAPY, createAspanClient, createAspanReadClient, createAspanTestnetClient, createAspanTestnetReadClient, createRouterClient, createRouterReadClient, createRouterTestnetClient, createRouterTestnetReadClient, formatAmount, formatCR, formatFeeBPS, formatPriceUSD, parseAmount };
|