kcc-safe-react-gateway-sdk
v0.0.1
Published
[![npm](https://img.shields.io/npm/v/@gnosis.pm/safe-react-gateway-sdk?label=%40gnosis.pm%2Fsafe-react-gateway-sdk)](https://www.npmjs.com/package/@gnosis.pm/safe-react-gateway-sdk)
Downloads
2
Readme
Safe Gateway TypeScript SDK
A TypeScript SDK for the Safe Client Gateway
Usage policy
NB: Safe Client Gateway isn't meant for public use. Please do not use this SDK if you're building, e.g., a Safe App.
Using the SDK
Install:
yarn add @gnosis.pm/safe-react-gateway-sdk
Import:
import { getChainsConfig, type ChainListResponse } from '@gnosis.pm/safe-react-gateway-sdk'
Use:
const chains = await getChainsConfig()
The SDK needs no initialization unless you want to override the base URL, which defaults to https://safe-client.gnosis.io. You can set an alternative base URL like so:
import { setBaseUrl } from '@gnosis.pm/safe-react-gateway-sdk'
// Switch the SDK to dev mode
setBaseUrl('https://safe-client.staging.gnosisdev.com')
The full SDK reference can be found here.
Adding an endpoint
Endpoint types are defined in src/types/gateway.ts
.
Each endpoint consists of:
- a function defined in
src/index.ts
(e.g.getBalances
) - a path definition (e.g.
'/chains/{chainId}/safes/{address}/balances/{currency}/'
) - operation definition (e.g.
safes_balances_list
) - response definition
To add a new endpoint, follow the pattern set by the existing endpoints.
Eslint & prettier
This command will run before every commit:
yarn eslint:fix
Tests
To run the unit and e2e tests locally:
yarn test
N.B.: the e2e tests make actual API calls on staging.
Gateway API docs
The TypeScript types in this SDK are based on Rust types from the Gateway API.