2.34.0 • Published 12 months ago

flash-sdk v2.34.0

Weekly downloads
-
License
MIT
Repository
github
Last release
12 months ago

Flash SDK

Client SDK for interacting with FLASH.TRADE's smart-contracts

autogenerated docs : https://flash-trade.github.io/flash-sdk-docs/

npm : https://www.npmjs.com/package/flash-sdk

Install

npm i flash-sdk / yarn add flash-sdk 

Flash SDK

Client SDK for interacting with FLASH.TRADE's smart-contracts

autogenerated docs : https://flash-trade.github.io/flash-sdk-docs/

npm : https://www.npmjs.com/package/flash-sdk

code : https://github.com/flash-trade/flash-trade-sdk.git

Using the SDK

connect sdk locally

  import { AnchorProvider } from "@coral-xyz/anchor";
  import { ComputeBudgetProgram , PublicKey, TransactionInstruction  } from '@solana/web3.js'

  const provider : AnchorProvider = AnchorProvider.local(clusterUrl, {
    commitment: "confirmed",
    preflightCommitment: "confirmed",
    skipPreflight: true
  });
  const perpClient = new PerpetualsClient(provider, programId);

  // flp.1
  const POOL_CONFIG = PoolConfig.fromIdsByName('Crypto.1','mainnet-beta')
  // flp.2
  // const POOL_CONFIG = PoolConfig.fromIdsByName('Virtual.1','mainnet-beta')
  // flp.3
  // const POOL_CONFIG = PoolConfig.fromIdsByName('Governance.1','mainnet-beta')
  // flp.4
  // const POOL_CONFIG = PoolConfig.fromIdsByName('Community.1','mainnet-beta')

  const poolAddress = POOL_CONFIG.poolAddress.toBase58()
  const backupOracleData: any = await (await fetch(`https://beast.flash.trade/api/backup-oracle?poolAddress=${poolAddress}`)).json()
  const backUpOracleInstruction = new TransactionInstruction({
      keys: backupOracleData.keys,
      programId: new PublicKey(backupOracleData.programId),
      data: Buffer.from(backupOracleData.data),
  })

  <!-- to get any token config from symbol-->
  const USDC_TOKEN = POOL_CONFIG.tokens.find((t) => t.symbol == 'USDC')!
  const BTC_TOKEN = POOL_CONFIG.tokens.find((t) => t.symbol == 'BTC')!
  

  <!-- to get any token config from mint -->
  const tokenMint = new PublicKey('EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v') 
  const USDC_TOKEN = POOL_CONFIG.tokens.find((t) => t.mintKey.equals(tokenMint))!

   <!-- load ALT -->
   await perpClient.loadAddressLookupTable(POOL_CONFIG) 

   <!-- Add Liquidity  (USDC -> sFLP.1 ) -->
    const payTokenSymbol = 'USDC'; // 'SOL' , 'BTC', 'ETH'  
    const { instructions : addLiqInstructions, additionalSigners : addLiqAdditionalSigners } = await perpClient.addLiquidityAndStake(
              payTokenSymbol,
              tokenAmountIn,
              minLpAmountOut, // new BN(0)
              POOL_CONFIG
          )
        const setCULimitIx = ComputeBudgetProgram.setComputeUnitLimit({ units: 600_000 })

    const txid =  perpClient.sendTransaction([backUpOracleInstruction, setCULimitIx, ...addLiqInstructions ], {
            addLiqAdditionalSigners,
            alts: perpClient.addressLookupTables,
      })

    <!--addCompoundingLiquidity (USDC -> FLP.1 )  -->
     const payTokenSymbol = 'USDC'; // 'SOL' , 'BTC', 'ETH'  
    const { instructions : addCompLiqInstructions, additionalSigners : addCompLiqAdditionalSigners } = await perpClient.addCompoundingLiquidity(
              tokenAmountIn,
              payTokenSymbol,
              minLpAmountOut, // new BN(0)
              USDC_TOKEN.mintKey,
              POOL_CONFIG
          )
        const setCULimitIx = ComputeBudgetProgram.setComputeUnitLimit({ units: 600_000 })

    const txid =  perpClient.sendTransaction([backUpOracleInstruction, setCULimitIx, ...addCompLiqInstructions ], {
            addCompLiqAdditionalSigners,
            alts: perpClient.addressLookupTables,
      })



  <!-- remove Liquidity (FLP -> USDC)  -->
    const recieveTokenSymbol = 'USDC'; // 'SOL' , 'BTC', 'ETH'  
    const { instructions : removeCompLiqInstructions, additionalSigners : removeCompLiqAdditionalSigners } = await  await perpClient.removeCompoundingLiquidity(
            lpAmountIn,
            minTokenAmountOut, // new BN(0)
            recieveTokenSymbol,
             USDC_TOKEN.mintKey,
              POOL_CONFIG,
              true
       )
    const setCULimitIx = ComputeBudgetProgram.setComputeUnitLimit({ units: 600_000 })
    const txid =  perpClient.sendTransaction([backUpOracleInstruction, setCULimitIx, ...removeCompLiqInstructions ], {
            removeCompLiqAdditionalSigners,
            alts: perpClient.addressLookupTables,
      })

      <!-- remove Liquidity (sFLP -> USDC) -->
    const recieveTokenSymbol = 'USDC'; // 'SOL' , 'BTC', 'ETH'  
    const { instructions : removeLiqInstructions, additionalSigners : removeLiqAdditionalSigners } = await  await perpClient.removeLiquidity(
            recieveTokenSymbol,
            lpAmountIn,
            minTokenAmountOut, // new BN(0)
            POOL_CONFIG
       )
    const setCULimitIx = ComputeBudgetProgram.setComputeUnitLimit({ units: 600_000 })
    const txid =  perpClient.sendTransaction([backUpOracleInstruction, setCULimitIx, ...removeLiqInstructions ], {
            removeLiqAdditionalSigners,
            alts: perpClient.addressLookupTables,
      })


    <!-- to STAKE sFLP.1 -->
    const { instructions: depositStakeInstructions, additionalSigners: depositStakeAdditionalSigners } =
              await perpClient.depositStake(.provider.wallet.publicKey, provider.wallet.publicKey, flpDepositAmount, POOL_CONFIG)

    const txid =  perpClient.sendTransaction([...depositStakeInstructions ], {
            depositStakeAdditionalSigners,
            alts: perpClient.addressLookupTables,
      })


  <!-- to UN-STAKE sFLP.1 -->

   const { instructions: unstakeInstantInstructions, additionalSigners : unstakeInstantAdditionalSigners } = await perpClient.unstakeInstant('USDC',flpUnstakeAmount,POOL_CONFIG)

  const { instructions: withdrawStakeInstructions } = await perpClient.withdrawStake(POOL_CONFIG, false)

  const txid =  perpClient.sendTransaction([...unstakeInstantInstructions, ...withdrawStakeInstructions ], {
          unstakeInstantAdditionalSigners,
          alts: perpClient.addressLookupTables,
    })


  <!-- collect fees -->

    const { instructions, additionalSigners } = await perpClient.collectStakeFees('USDC',POOL_CONFIG)

    const txid =  perpClient.sendTransaction([...instructions ], {
              additionalSigners,
              alts: perpClient.addressLookupTables,
        })
  

  <!-- call any view function like so -->
    const compoundingLPTokenPrice = await perpClient.getCompoundingLPTokenPrice(POOL_CONFIG.poolAddress, POOL_CONFIG)

For generating docs run yarn run doc

2.34.0

12 months ago

2.33.4

12 months ago

2.33.1

1 year ago

2.33.3

12 months ago

2.33.2

12 months ago

2.32.0

1 year ago

2.32.1

1 year ago

2.31.6

1 year ago

2.31.1

1 year ago

2.31.0

1 year ago

2.31.3

1 year ago

2.31.2

1 year ago

2.31.5

1 year ago

2.31.4

1 year ago

2.29.14

1 year ago

2.30.2

1 year ago

2.29.13

1 year ago

2.30.1

1 year ago

2.30.0

1 year ago

2.29.8

1 year ago

2.29.7

1 year ago

2.29.9

1 year ago

2.29.12

1 year ago

2.29.10

1 year ago

2.29.11

1 year ago

2.29.4

1 year ago

2.29.3

1 year ago

2.29.6

1 year ago

2.29.5

1 year ago

2.29.2

1 year ago

2.29.0

1 year ago

2.29.1

1 year ago

2.28.9

1 year ago

2.28.8

1 year ago

2.28.5

1 year ago

2.28.4

1 year ago

2.28.7

1 year ago

2.28.6

1 year ago

2.28.1

1 year ago

2.28.0

1 year ago

2.28.3

1 year ago

2.28.2

1 year ago

2.28.11

1 year ago

2.28.12

1 year ago

2.28.10

1 year ago

2.27.1

1 year ago

2.27.0

1 year ago

2.26.3

1 year ago

2.26.2

1 year ago

2.24.4

1 year ago

2.26.1

1 year ago

2.26.0

1 year ago

2.25.8

1 year ago

2.25.7

1 year ago

2.25.4

1 year ago

2.25.6

1 year ago

2.25.5

1 year ago

2.25.3

1 year ago

2.25.0

1 year ago

2.25.2

1 year ago

2.25.1

1 year ago

2.23.2

1 year ago

2.23.1

1 year ago

2.24.1

1 year ago

2.24.0

1 year ago

2.24.3

1 year ago

2.24.2

1 year ago

2.23.0

1 year ago

2.22.1

1 year ago

2.22.0

1 year ago

2.21.0

1 year ago

2.20.1

1 year ago

2.19.8

1 year ago

2.19.9

1 year ago

2.19.7

1 year ago

2.20.0

1 year ago

2.19.6

1 year ago

2.19.4

1 year ago

2.19.2

1 year ago

2.19.0

1 year ago

2.19.1

1 year ago

2.18.1

1 year ago

2.18.2

1 year ago

2.18.0

1 year ago

2.16.7

1 year ago

2.17.27

1 year ago

2.17.28

1 year ago

2.17.23

1 year ago

2.17.25

1 year ago

2.17.24

1 year ago

2.17.21

1 year ago

2.17.20

1 year ago

2.17.9

1 year ago

2.16.5

1 year ago

2.16.4

1 year ago

2.17.16

1 year ago

2.17.15

1 year ago

2.17.18

1 year ago

2.17.17

1 year ago

2.17.12

1 year ago

2.17.11

1 year ago

2.17.14

1 year ago

2.17.13

1 year ago

2.17.10

1 year ago

2.17.8

1 year ago

2.17.6

1 year ago

2.17.7

1 year ago

2.17.4

1 year ago

2.17.5

1 year ago

2.17.2

1 year ago

2.17.3

1 year ago

2.17.0

1 year ago

2.17.1

1 year ago

2.16.3

1 year ago

2.16.1

1 year ago

2.16.2

1 year ago

2.16.0

1 year ago

2.14.10

1 year ago

2.14.11

1 year ago

2.15.4

1 year ago

2.15.2

1 year ago

2.15.3

1 year ago

2.14.9

1 year ago

2.14.7

1 year ago

2.14.8

1 year ago

2.14.5

1 year ago

2.14.6

1 year ago

2.15.1

1 year ago

2.15.0

1 year ago

2.13.10

1 year ago

2.14.3

1 year ago

2.14.1

1 year ago

2.14.2

1 year ago

2.14.0

1 year ago

2.13.8

1 year ago

2.13.9

1 year ago

2.13.6

1 year ago

2.13.7

1 year ago

2.13.5

1 year ago

2.13.4

1 year ago

2.11.0

1 year ago

2.11.1

1 year ago

2.11.8

1 year ago

2.11.9

1 year ago

2.11.6

1 year ago

2.11.7

1 year ago

2.11.4

1 year ago

2.11.5

1 year ago

2.11.2

1 year ago

2.11.3

1 year ago

2.11.10

1 year ago

2.11.11

1 year ago

2.11.12

1 year ago

2.10.2

1 year ago

2.10.10

1 year ago

2.10.0

1 year ago

2.10.9

1 year ago

2.10.7

1 year ago

2.10.8

1 year ago

2.10.5

1 year ago

2.10.6

1 year ago

2.10.3

1 year ago

2.10.4

1 year ago

2.8.0

2 years ago

2.9.2

2 years ago

2.9.4

2 years ago

2.9.3

2 years ago

2.7.1

2 years ago

2.8.2

2 years ago

2.8.5

2 years ago

2.8.7

2 years ago

2.8.8

2 years ago

2.13.2

1 year ago

2.13.3

1 year ago

2.13.0

1 year ago

2.13.1

1 year ago

2.12.0

1 year ago

2.12.7

1 year ago

2.12.8

1 year ago

2.12.5

1 year ago

2.12.6

1 year ago

2.12.3

1 year ago

2.12.4

1 year ago

2.12.1

1 year ago

2.12.2

1 year ago

2.7.0

2 years ago

2.6.9

2 years ago

2.6.8

2 years ago

2.5.7

2 years ago

2.6.3

2 years ago

2.6.2

2 years ago

2.6.5

2 years ago

2.6.4

2 years ago

2.6.7

2 years ago

2.6.6

2 years ago

2.6.1

2 years ago

2.5.6

2 years ago

2.5.5

2 years ago

2.4.25

2 years ago

2.4.24

2 years ago

2.4.27

2 years ago

2.4.26

2 years ago

2.4.21

2 years ago

2.4.22

2 years ago

2.5.2

2 years ago

2.5.1

2 years ago

2.5.4

2 years ago

2.5.3

2 years ago

2.4.19

2 years ago

2.4.20

2 years ago

2.4.18

2 years ago

2.5.0

2 years ago

2.4.17

2 years ago

2.4.14

2 years ago

2.4.13

2 years ago

2.4.16

2 years ago

2.4.15

2 years ago

2.4.1

2 years ago

2.4.0

2 years ago

2.4.3

2 years ago

2.4.2

2 years ago

2.4.5

2 years ago

2.4.4

2 years ago

2.3.20

2 years ago

2.4.10

2 years ago

2.4.12

2 years ago

2.4.11

2 years ago

2.4.7

2 years ago

2.4.6

2 years ago

2.4.9

2 years ago

2.4.8

2 years ago

2.3.17

2 years ago

2.3.16

2 years ago

2.3.19

2 years ago

2.3.18

2 years ago

2.3.2

2 years ago

2.3.1

2 years ago

2.3.4

2 years ago

2.3.3

2 years ago

2.3.6

2 years ago

2.3.8

2 years ago

2.3.7

2 years ago

2.3.9

2 years ago

2.3.12

2 years ago

2.3.15

2 years ago

2.3.11

2 years ago

2.3.10

2 years ago

2.3.0

2 years ago

2.2.9

2 years ago

2.2.10

2 years ago

2.2.7

2 years ago

2.2.6

2 years ago

2.2.8

2 years ago

2.2.5

2 years ago

2.2.4

2 years ago

2.2.3

2 years ago

2.2.2

2 years ago

2.0.88

2 years ago

2.0.89

2 years ago

2.2.1

2 years ago

2.2.0

2 years ago

2.1.1

2 years ago

2.1.0

2 years ago

2.0.86

2 years ago

2.0.87

2 years ago

2.0.79

2 years ago

2.0.77

2 years ago

2.0.78

2 years ago

2.0.75

2 years ago

2.0.76

2 years ago

2.0.84

2 years ago

2.0.85

2 years ago

2.0.82

2 years ago

2.0.83

2 years ago

2.0.80

2 years ago

2.0.81

2 years ago

2.0.74

2 years ago

2.0.73

2 years ago

2.0.69

2 years ago

2.0.71

2 years ago

2.0.72

2 years ago

2.0.70

2 years ago

2.0.68

2 years ago

2.0.67

2 years ago

2.0.66

2 years ago

2.0.65

2 years ago

2.0.64

2 years ago

2.0.63

2 years ago

2.0.62

2 years ago

2.0.60

2 years ago

2.0.61

2 years ago

2.0.59

2 years ago

2.0.57

2 years ago

2.0.58

2 years ago

2.0.55

2 years ago

2.0.56

2 years ago

2.0.53

2 years ago

2.0.54

2 years ago

2.0.52

2 years ago

2.0.51

2 years ago

2.0.50

2 years ago

2.0.48

2 years ago

2.0.49

2 years ago

2.0.46

2 years ago

2.0.47

2 years ago

2.0.44

2 years ago

2.0.45

2 years ago

2.0.42

2 years ago

2.0.43

2 years ago

2.0.41

2 years ago

2.0.40

2 years ago

2.0.39

2 years ago

2.0.37

2 years ago

2.0.38

2 years ago

2.0.35

2 years ago

2.0.36

2 years ago

2.0.33

2 years ago

2.0.34

2 years ago

2.0.31

2 years ago

2.0.32

2 years ago

2.0.30

2 years ago

2.0.28

2 years ago

2.0.29

2 years ago

2.0.26

2 years ago

2.0.27

2 years ago

2.0.25

2 years ago

2.0.24

2 years ago

2.0.23

2 years ago

2.0.22

2 years ago

2.0.20

2 years ago

2.0.21

2 years ago

2.0.7

2 years ago

2.0.9

2 years ago

2.0.8

2 years ago

2.0.15

2 years ago

2.0.16

2 years ago

2.0.13

2 years ago

2.0.14

2 years ago

2.0.11

2 years ago

2.0.12

2 years ago

2.0.10

2 years ago

2.0.19

2 years ago

2.0.17

2 years ago

2.0.18

2 years ago

2.0.3

2 years ago

2.0.2

2 years ago

2.0.5

2 years ago

2.0.4

2 years ago

2.0.6

2 years ago

2.0.1

2 years ago

2.0.0

2 years ago

1.0.134

2 years ago

1.0.133

2 years ago

1.0.132

2 years ago

1.0.131

2 years ago

1.0.130

2 years ago

1.0.107

2 years ago

1.0.106

2 years ago

1.0.109

2 years ago

1.0.108

2 years ago

1.0.103

2 years ago

1.0.102

2 years ago

1.0.105

2 years ago

1.0.104

2 years ago

1.0.121

2 years ago

1.0.120

2 years ago

1.0.123

2 years ago

1.0.122

2 years ago

1.0.129

2 years ago

1.0.128

2 years ago

1.0.125

2 years ago

1.0.124

2 years ago

1.0.127

2 years ago

1.0.126

2 years ago

1.0.110

2 years ago

1.0.112

2 years ago

1.0.111

2 years ago

1.0.118

2 years ago

1.0.117

2 years ago

1.0.119

2 years ago

1.0.114

2 years ago

1.0.113

2 years ago

1.0.116

2 years ago

1.0.115

2 years ago

1.0.62

2 years ago

1.0.61

2 years ago

1.0.60

2 years ago

1.0.66

2 years ago

1.0.65

2 years ago

1.0.64

2 years ago

1.0.63

2 years ago

1.0.69

2 years ago

1.0.68

2 years ago

1.0.67

2 years ago

1.0.73

2 years ago

1.0.72

2 years ago

1.0.71

2 years ago

1.0.70

2 years ago

1.0.77

2 years ago

1.0.76

2 years ago

1.0.75

2 years ago

1.0.74

2 years ago

1.0.79

2 years ago

1.0.78

2 years ago

1.0.39

2 years ago

1.0.38

2 years ago

1.0.40

2 years ago

1.0.44

2 years ago

1.0.43

2 years ago

1.0.42

2 years ago

1.0.41

2 years ago

1.0.48

2 years ago

1.0.47

2 years ago

1.0.46

2 years ago

1.0.45

2 years ago

1.0.49

2 years ago

1.0.51

2 years ago

1.0.50

2 years ago

1.0.55

2 years ago

1.0.54

2 years ago

1.0.53

2 years ago

1.0.52

2 years ago

1.0.59

2 years ago

1.0.58

2 years ago

1.0.57

2 years ago

1.0.56

2 years ago

1.0.101

2 years ago

1.0.100

2 years ago

1.0.26

3 years ago

1.0.25

3 years ago

1.0.24

3 years ago

1.0.23

3 years ago

1.0.29

3 years ago

1.0.28

3 years ago

1.0.27

3 years ago

1.0.33

3 years ago

1.0.31

3 years ago

1.0.30

3 years ago

1.0.37

2 years ago

1.0.36

2 years ago

1.0.35

2 years ago

1.0.34

3 years ago

1.0.80

2 years ago

1.0.84

2 years ago

1.0.82

2 years ago

1.0.81

2 years ago

1.0.88

2 years ago

1.0.87

2 years ago

1.0.86

2 years ago

1.0.85

2 years ago

1.0.89

2 years ago

1.0.91

2 years ago

1.0.90

2 years ago

1.0.95

2 years ago

1.0.94

2 years ago

1.0.93

2 years ago

1.0.92

2 years ago

1.0.99

2 years ago

1.0.98

2 years ago

1.0.97

2 years ago

1.0.96

2 years ago

1.0.19

3 years ago

1.0.18

3 years ago

1.0.17

3 years ago

1.0.16

3 years ago

1.0.22

3 years ago

1.0.21

3 years ago

1.0.20

3 years ago

1.0.15

3 years ago

1.0.14

3 years ago

1.0.8

3 years ago

1.0.7

3 years ago

1.0.6

3 years ago

1.0.5

3 years ago

1.0.11

3 years ago

1.0.10

3 years ago

1.0.13

3 years ago

1.0.12

3 years ago

1.0.4

3 years ago

1.0.3

3 years ago

1.0.2

3 years ago

1.0.1

3 years ago

1.0.0

3 years ago