Aftermath 文档
  • Aftermath
    • 关于 Aftermath Finance
      • 我们在构造什么?
  • 开始使用
    • 创建一个账户
      • zkLogin
        • 删除 zkLogin 账户
      • Sui Metamask Snap
      • Native Sui wallets
    • 动态气体
    • Aftermath导航
      • 与您的钱包互动
      • 查看您的投资组合
      • 更改您的设置
      • 桥
      • 推荐
  • 交易
    • 智能订单路由器
    • 进行交易
    • 费用
  • 池子
    • 恒定函数做市商
    • 教程
      • 存款
      • 撤出
      • 创建一个池
    • 费用
    • 合约
    • 审计报告
  • 农场
    • Afterburner保险库
    • 教程
      • 将资产抵押到农场
      • 索赔奖励
      • 解除质押
    • 架构
      • 保险库
      • 质押头寸
    • 费用
    • 常见问题
  • 流动质押
    • afSUI
    • 教程
      • 质押
      • 解除质押
    • 架构
      • 包和模块
      • 进入点
    • 费用
    • 常见问题
    • 合约
    • 审计报告
  • 我们的验证器
    • 关于我们
  • 开发人员
    • 入门
    • 路由器
    • 流动性质押
    • 池
  • Egg
    • 关于Egg
  • 官方链接
    • 推特
    • Discord
    • Github
    • Medium
    • Aftermath 的验证器
Powered by GitBook
On this page
  • afSUI SDK
  • 交易
  • Staking Positions
  • Stake
  • Unstake
  • 检查
  • Staked SUI TVL
  • afSUI Exchange Rate
  • afSUI API
  • Transaction Command Examples
  1. 开发人员

流动性质押

在 Sui 上质押 SUI 并获得 afSUI,以赚取可靠的收益,并持有最分散的质押衍生品。

afSUI SDK

const staking = new Aftermath("TESTNET").Staking();

交易

Staking Positions

const stakingPositions = await staking.getStakingPositions({
    walletAddress: "0x..",
});

Stake

const tx = await staking.getStakeTransaction({
    walletAddress: "0x..",
    suiStakeAmount: 1_000_000_000n, // 1 Sui
    validatorAddress: "0x..",
});

Unstake

const tx = await staking.getUnstakeTransaction({
    walletAddress: "0x..",
    afSuiUnstakeAmount: 1_000_000_000n, // 1 AfSui
    isAtomic: true,
});

检查

Staked SUI TVL

const suiTvl = await staking.getSuiTvl();

console.log(suiTvl);
// 9_540_200_000n

afSUI Exchange Rate

// (1 SUI = x afSUI)
const afSuiExchangeRate = await staking.getAfSuiExchangeRate();
console.log(afSuiExchangeRate);
// 1.000149000231

afSUI API

const testnetStakingAddresses = {
    staking: {
        packages: {
            events:
"0x58e6bdd081ae6035141871a1c7cdf82895e944a8b7673f78d22e370a07cbf99b",
            lsd:
"0x58e6bdd081ae6035141871a1c7cdf82895e944a8b7673f78d22e370a07cbf99b",
            afsui:
"0x5783fa2298e7301a1c7f99ce45d4a207478fbf3003eca9482ae823d6f6c7cd60",
        },
        objects: {
            stakedSuiVault:
"0x690f36f9c5249b0c4c9b3efdf8a2864c750a8021037360e3b7bedc9ceafb277f",
            safe:
"0x091686a693e86929f91ef539d867fae334a33d124bc2c204dcb3b53dd9016501",
            treasury:
"0xf3d41534e43ecf36da8657b48350a09a3e50eeb2ce61f8ceb80e6d2f85828bc0",
            referralVault: 
"0x8d357115058f22976cd01c5415116d9aca806d1ded37eecd75d87978f404e927",
            validatorConfigsTable:
"0xc9b9c0f1115793a24e0551609e51daa5ffe2b11429d12b46fdf8a3b0bfc0e908",
         },
     },
 },
 
 const afApi = new AftermathApi(
     new SuiClient({
         transport: new SuiHTTPTransport({
             url: "https://testnet.mainnet.sui.io",
         }),
     }),
     testnetStakingAddresses,
     new IndexerCaller("TESTNET"),
 );
 
 const stakingApi = afApi.Staking();

Transaction Command Examples

const stakingApi = afApi.Staking();

const suiCoin = await afApi.Coin().fetchCoinWithAmountTx({
    walletAddress: "0x...",
    coinType: "0x02::sui::SUI",
    coinAmount: BigInt(1_423_837_387), // ~1.4 SUI
});

const afSuiCoin = stakingApi.stakeTx({
    tx,
    suiCoin,
    validatorAddress: "0x...",
});

stakingApi.atomicUnstakeTx({
    tx,
    afSuiCoin,
    withTransfer: true
});

Previous路由器Next池

Last updated 1 year ago