# @initia/gclient.js

> ## How to install

Latest version **0.0.2** (published 2023-05-26) · 0 weekly downloads

## Install

```sh
npm install @initia/gclient.js
pnpm add @initia/gclient.js
yarn add @initia/gclient.js
bun add @initia/gclient.js
```

## Health

**Score 20/100 (F)** — status: abandoned.

Positive: has types; no vulnerabilities.

Warnings: low downloads; no esm support; large bundle; pre 1.0.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 0.0.2 |
| Published | 2023-05-26 |
| First published | 2023-05-25 |
| Weekly downloads | 0 |
| TypeScript types | bundled |
| Module format | CommonJS |
| Node | >=14 |
| Dependencies | 5 |
| Unpacked size | 29.1 MB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| Maintainers | yun_yeo, harveyhan94, joon9823, simcheolhwan |

## Links

- npm: https://www.npmjs.com/package/@initia/gclient.js
- Repository: https://github.com/initia-labs/game.js.git#main
- Homepage: https://github.com/initia-labs/game.js/tree/main#readme
- Issues: https://github.com/initia-labs/game.js/issues
- npm.io page: https://npm.io/package/@initia/gclient.js

## Dependencies (5)

- [@web3auth/base](https://npm.io/package/@web3auth/base.md) ^5.2.0
- [@initia/initia.js](https://npm.io/package/@initia/initia.js.md) ^0.0.49
- [@web3auth/no-modal](https://npm.io/package/@web3auth/no-modal.md) ^5.2.0
- [@initia/initia.proto](https://npm.io/package/@initia/initia.proto.md) ^0.1.4
- [@web3auth/openlogin-adapter](https://npm.io/package/@web3auth/openlogin-adapter.md) ^5.2.0

## Recent versions

- 0.0.2 (latest) — 2023-05-26
- 0.0.1 — 2023-05-25

## README

# Initia Game SDK for client

## How to install

```bash
$ npm install @initia/gclient.js
```

## How to use

```ts
import { Wallet, LoginProvider } from '@initia/gclient.js';

async function main() {
  // Create new wallet
  const lcdUrl = 'https://stone-rest.initia.tech';
  const wallet = new Wallet(lcdUrl);
  
  // Connect via social OR via mnemonic
  // connectSocial
  const clientId = 'YOUR_WEB3AUTH_CLIENT_ID';
  await wallet.connectSocial(LoginProvider.GOOGLE, clientId);
  // connectMnemonic
  const mnemonic = 'YOUR_MNEMONIC';
  await wallet.connectMnemonic(mnemonic);

  // Request uinit from faucet
  const faucetUrl = 'https://stone-faucet.initia.tech/claim';
  await wallet.faucet.request(faucetUrl, 'uinit');

  // Send 1 uinit to address
  await wallet.coin.send(
    'init190mzczlkl7rgy7kwkp5pkaas04q4r0rkec5uvf',
    '0x1::native_uinit::Coin',
    1000000
  );

  // Simulate swap of 1 uinit to uusdc
  const { returnAmount, priceImpact } = await wallet.dex.swapSimulate(
    '0x1::native_uinit::Coin',
    '0x1::native_uusdc::Coin',
    '0xfa5f07319724580ef16dcef6ce4d3b0bd0348e48::coins::LP<0x1::native_uusdc::Coin, 0x1::native_uinit::Coin>',
    1000000
  );
  console.log(`uusdc return amount: ${returnAmount}`);
  console.log(`price impact: ${priceImpact}`);

  // Swap 1 uinit to uusdc
  await wallet.dex.swap(
    '0x1::native_uinit::Coin',
    '0x1::native_uusdc::Coin',
    '0xfa5f07319724580ef16dcef6ce4d3b0bd0348e48::coins::LP<0x1::native_uusdc::Coin, 0x1::native_uinit::Coin>',
    1000000
  );

  // Provide liquidity of 1 uinit and equivalent uusdc
  await wallet.dex.provide(
    '0x1::native_uusdc::Coin',
    '0x1::native_uinit::Coin',
    '0xfa5f07319724580ef16dcef6ce4d3b0bd0348e48::coins::LP<0x1::native_uusdc::Coin, 0x1::native_uinit::Coin>',
    10000000,
    1000000
  );

  // Withdraw liquidity
  await wallet.dex.withdraw(
    '0x1::native_uusdc::Coin',
    '0x1::native_uinit::Coin',
    '0xfa5f07319724580ef16dcef6ce4d3b0bd0348e48::coins::LP<0x1::native_uusdc::Coin, 0x1::native_uinit::Coin>',
    1000000
  );

  // Register nft
  await wallet.nft.register('0x589b1e861579c3f07092859db5f8963e1dac50f1::metadata::Metadata');

  // Transfer nft
  await wallet.nft.transfer(
    'init190mzczlkl7rgy7kwkp5pkaas04q4r0rkec5uvf',
    'jhdd:1684743919',
    '0x589b1e861579c3f07092859db5f8963e1dac50f1::metadata::Metadata'
  );

  // Authorize
  await wallet.authz.authorize(
    'init190mzczlkl7rgy7kwkp5pkaas04q4r0rkec5uvf',
    '0x1',
    'nft',
    ['*']
  );
}

main().catch(console.error);
```

---
_Source: https://npm.io/package/@initia/gclient.js · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
