BurnFlip / luna-burnflip-sdk

Home Page:https://www.burnflip.com/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

This module is SDK for luna (2.0 and classic) burn flip game platform. This module can be used in classic, luna 2.0, and pisco testnet.

Install

To install package, use:

npm install luna-burnflip-sdk

Usage

Readonly clients
import {
  createSignature,
  FlipResult,
  getReadonlyFlipClient,
  getTokenBalance,
  increaseAllowance,
  mintToken,
  bet
} from 'luna-burnflip-sdk';
import { LCDClient, MnemonicKey } from '@terra-money/terra.js';

let lcd = new LCDClient({
    URL: 'https://lcd.terra.dev',
    chainID: 'columbus-5',
});

const readFlipClient = async () => {
  // Readonly client for fetching data
  const readonlyFlipClient = getReadonlyFlipClient("classic");

  const history = await readonlyFlipClient.getAllBettingHistoryQuery({});
  console.log('bet history: ', history);
};
Mint WLUNC
const mint = async () => {
  const mk = new MnemonicKey({
    mnemonic: MNEMONIC,
  });
  const wallet = lcd.wallet(mk);
  await mintToken('classic', wallet, "1010000000");
  // Mint 1k WLUNC
  /**
   * We need to send a bit more than 1K lunc to wrap 1K WLUNC.
   * Because there is 0.2% tax fee (burn) for lunc transaction.
   * So if you send 1K lunc, then you will get 998 WLUNC.
  */
  const balance = await getTokenBalance('classic', wallet.key.accAddress);
  console.log('balance: ', balance);
};
Bet
const doBet = async () => {
  const mk = new MnemonicKey({
    mnemonic: MNEMONIC,
  });
  const wallet = lcd.wallet(mk);
  const flipQueryClient = getReadonlyFlipClient("classic");
  //approve
  await increaseAllowance(
    'classic',
    wallet,
    "1000000000",
    flipQueryClient.contractAddress
  );

  const signature = await createSignature(
    {
      address: wallet.key.accAddress,
      amount: '1000000000', // 1k wlunc
      flip: FlipResult.HEAD,
    },
    wallet
  );

  await bet(
    {
      address: wallet.key.accAddress,
      amount: '1000000000', // 1k wlunc
      flip: FlipResult.HEAD,
      signature: signature,
    }
  ).then(res => {
    console.log('bet result: ', res.data);
  });
};

About

https://www.burnflip.com/

License:MIT License


Languages

Language:TypeScript 96.4%Language:JavaScript 3.6%