Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/onchain-id/complydefi-sdk
https://github.com/onchain-id/complydefi-sdk
Last synced: 19 days ago
JSON representation
- Host: GitHub
- URL: https://github.com/onchain-id/complydefi-sdk
- Owner: onchain-id
- License: other
- Created: 2022-03-02T13:06:02.000Z (almost 3 years ago)
- Default Branch: main
- Last Pushed: 2022-03-02T15:36:40.000Z (almost 3 years ago)
- Last Synced: 2023-09-19T14:29:15.088Z (over 1 year ago)
- Language: TypeScript
- Size: 449 KB
- Stars: 2
- Watchers: 0
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README
# COMPLYDEFI SDK
> This package facilitates the interaction with ComplyDefi stored in the BlockChain.
## Specifications
### Features
- Validate wallet address compliance
- Get required claims---
### BlockChain Provider
To interact with the BlockChain, you will need to instantiate a Provider.
The SDK is using [Ethers](https://github.com/ethers-io/ethers.js) to connect with Ethereum network.
Thus, any provider supported by Ethers can be used with the SDK.
This means any standard web3 provider should by supported.Connect to a default provider:
```javascript
// You can use any standard network name
// - "homestead"
// - "rinkeby"
// - "ropsten"
// - "kovan"
const ethers = require('ethers');const provider = ethers.getDefaultProvider('ropsten');
const complyDefi = await Complydefi.at('0x...', {provider});
```Connect to JSON RPC:
```javascript
// When using the JSON-RPC API, the network will be automatically detected
// Default: http://localhost:8545
let httpProvider = new ethers.providers.JsonRpcProvider();
```Connect to any Web3 Provider:
```javascript
// When using a Web3 provider, the network will be automatically detected// e.g. HTTP provider
let currentProvider = new web3.providers.HttpProvider('http://localhost:8545');let web3Provider = new ethers.providers.Web3Provider(currentProvider);
```Connect to metamask:
```javascript
// The network will be automatically detected; if the network is
// changed in MetaMask, it causes a page refresh.let provider = new ethers.providers.Web3Provider(web3.currentProvider);
```### Examples
#### Get required claims
```javascript
const { ComplyDefiSDK } = require('@onchain-id/complydefi-sdk');const provider = new ethers.providers.JsonRpcProvider();
(async () => {
const complyDefi = new ComplyDefiSDK.ComplyDefi('0xadD92F8Ef0729E969c5a98Ea5740c9b644B362e3', { provider });const claims = await complyDefi.getRequiredClaims();
console.log(claims); // ['claim1', 'claim2']
})();
```#### Check compliance of wallet address
```javascript
const { ComplyDefiSDK } = require('@onchain-id/complydefi-sdk');const provider = new ethers.providers.JsonRpcProvider();
(async () => {
const complyDefi = new ComplyDefiSDK.ComplyDefi('0xadD92F8Ef0729E969c5a98Ea5740c9b644B362e3', { provider });const isComply = await complyDefi.isComply('0xasfgdsgd...dsasd');
console.log(isComply); // true or false
})();
```## Development
- Install dependencies: `npm i`.
- Lint code with `npm run lint lint`.
- Run unit tests: `npm run test:unit`. You can run unit tests each time you modify a file with `npm run test:unit:watch`.
- Build project with `npm run build`. This will build package into the `dist/` folder from the TypeScript sources.
- Run end to end tests against a builded package: `npm run test:e2e`.