Skip to content

AlphaFiTech/stsui-sdk

Repository files navigation

stSUI SDK

Installation

npm i @stsui-sdk

How to create your own liquid staking token

  • Write a simple contract to create a coin that will also represent your liquid staking token, stSUI for example.
    • Upon publishing the contract, you will receive your coin's treasury cap and get your coin's sui move type ({packageid}::{module name}::{coin struct name}).
  • To turn your coin into a liquid staking token using our framework:
    • You need to initialize LstParams first.
      const lstParams: LstParams = {
        lstCointype:
          "0xabcd2358cebfdf4ee29534f906cbb36a78dfaaa256e7d9ddb7e789e2dd8abcd::demo::DEMO", // your LST's move type
        treasuryCap:
          "0xabcdc88f4ac2eeeb5ac13917c4d3ce147228b62295d51dff4950abd3bb4cabcd", // object id of your treasury cap
      };
    • Instantiate Admin class
      const admin = new Admin(lstParams);
    • Call the createLst method in the Admin class. refer to this for information on the arguments to createLst method.
      const txb = await admin.createLst(0, 1, 600, 10000, address);
      await suiClient
        .signAndExecuteTransaction({
          signer: keypair,
          transaction: txb,
          requestType: "WaitForLocalExecution",
          options: {
            showEffects: true,
            showBalanceChanges: true,
            showObjectChanges: true,
          },
        })
        .then((res) => {
          console.log(JSON.stringify(res, null, 2));
        })
        .catch((error) => {
          console.error(error);
        });
    • LiquidStakingInfo shared object will be created and will be further used to call every other function corresponding to your LST.
    • Admin cap and collection fee cap will be transferred to the address provided in the createLst method.
    • These caps will be used to call other admin functions like setValidators, collectFee and updateFee.

API Reference

Admin

Refer to Admin class for admin specific operations specific to your custom liquid staking token.

LST

Refer to LST class for standard LST operations

Utils

Refer to utils class for common utility functions

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published