npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

safient-claims-test

v0.1.0

Published

JavaScript SDK to manage and interact with the safe claims on Safient protocol.

Downloads

3

Readme

Safient Claims

JavaScript SDK to manage and interact with the safe claims on Safient protocol.

Installation

  git clone https://github.com/safient/safient-claims-js.git
  cd safient-claims-js
  npm install

Running Tests

Compile the TS code

  npx tsc

Run the chain on a separate terminal

  npm run chain

Run the tests

  npm run test

Getting started

  npm install safient-claims

Usage

// If not injected web3 provider, create a jsonRpcProvider
const { JsonRpcProvider } = require('@ethersproject/providers');
const provider = new JsonRpcProvider('http://localhost:8545');

// Get chainId from provider
(async () => {
  const providerNetwork = await provider.getNetwork();
  const chainId = providerNetwork.chainId;
})();

Initialization

import { SafientClaims } from 'safient-claims';

const sc = new SafientClaims(provider, chainId);

Arbitrator

sc.arbitrator.getArbitrationFee

SafientMain

sc.safientMain.createSafe
sc.safientMain.createClaim
sc.safientMain.submitEvidence
sc.safientMain.depositSafeFunds
sc.safientMain.recoverSafeFunds
sc.safientMain.setTotalClaimsAllowed
sc.safientMain.getTotalNumberOfSafes
sc.safientMain.getTotalNumberOfClaims
sc.safientMain.getAllSafes
sc.safientMain.getAllClaims
sc.safientMain.getSafeBySafeId
sc.safientMain.getClaimByClaimId
sc.safientMain.getClaimsOnSafeBySafeId
sc.safientMain.getClaimStatus
sc.safientMain.getTotalClaimsAllowed
sc.safientMain.getSafientMainContractBalance

API details

Arbitrator

Get Arbitration Fee

const getArbitrationFee = async () => {
  try {
    const fee = await sc.arbitrator.getArbitrationFee();
    console.log(fee);
  } catch (e) {
    console.log(e.message);
  }
};

| Returns | Type | Description | | :---------------- | :------- | :------------------------- | | Arbitration fee | number | Arbitration fee in ETH |

SafientMain

Create Safe

const createSafe = async (inheritorAddress, metaevidenceURI, value) => {
  try {
    const tx = await sc.safientMain.createSafe(inheritorAddress, metaevidenceURI, value);
    console.log(tx);
  } catch (e) {
    console.log(e.message);
  }
};

| Parameter | Type | Description | | :----------------- | :------- | :--------------------------------------------------------------------------------- | | inheritorAddress | string | Required. Address of the beneficiary who can claim to inherit this safe | | metaevidenceURI | string | Required. IPFS URI pointing to the metaevidence related to arbitration details | | value | string | Required. Safe maintanence fee in Gwei, minimum arbitration fee required |

| Returns | Type | Description | | :--------------------- | :------- | :--------------------------------------- | | Transaction Response | object | Includes all properties of a transaction |

Create Claim

const createClaim = async (safeId, evidenceURI) => {
  try {
    const tx = await sc.safientMain.createClaim(safeId, evidenceURI);
    console.log(tx);
  } catch (e) {
    console.log(e.message);
  }
};

| Parameter | Type | Description | | :------------ | :------- | :----------------------------------------------------------------------------- | | safeId | number | Required. Id of the safe | | evidenceURI | string | Required. IPFS URI pointing to the evidence submitted by the claim creator | | signer | string | Optional & for test only. Specific signer account for test purpose |

| Returns | Type | Description | | :--------------------- | :------- | :--------------------------------------- | | Transaction Response | object | Includes all properties of a transaction |

Submit Evidence

const submitEvidence = async (disputeId, evidenceURI) => {
  try {
    const tx = await sc.safientMain.submitEvidence(disputeId, evidenceURI);
    console.log(tx);
  } catch (e) {
    console.log(e.message);
  }
};

| Parameter | Type | Description | | :------------ | :------- | :----------------------------------------------------------------------------- | | disputeId | number | Required. Id of the dispute representing the claim | | evidenceURI | string | Required. IPFS URI pointing to the evidence submitted by the claim creator | | signer | string | Optional & for test only. Specific signer account for test purpose |

| Returns | Type | Description | | :--------------------- | :------- | :--------------------------------------- | | Transaction Response | object | Includes all properties of a transaction |

Deposit Safe Funds

const depositSafeFunds = async (safeId, value) => {
  try {
    const tx = await sc.safientMain.depositSafeFunds(safeId, value);
    console.log(tx);
  } catch (e) {
    console.log(e.message);
  }
};

| Parameter | Type | Description | | :-------- | :------- | :------------------------------ | | safeId | number | Required. Id of the safe | | value | string | Required. Funds in Gwei |

| Returns | Type | Description | | :--------------------- | :------- | :--------------------------------------- | | Transaction Response | object | Includes all properties of a transaction |

Recover Safe Funds

Only safe's current owner can execute this

const recoverSafeFunds = async (safeId) => {
  try {
    const tx = await sc.safientMain.recoverSafeFunds(safeId);
    console.log(tx);
  } catch (e) {
    console.log(e.message);
  }
};

| Parameter | Type | Description | | :-------- | :------- | :--------------------------------------------------------------------- | | safeId | number | Required. Id of the safe | | signer | string | Optional & for test only. Specific signer account for test purpose |

| Returns | Type | Description | | :--------------------- | :------- | :--------------------------------------- | | Transaction Response | object | Includes all properties of a transaction |

Set Total Claims Allowed

Only SafientMain contract deployer can execute this

const setTotalClaimsAllowed = async (claimsAllowed) => {
  try {
    const tx = await sc.safientMain.setTotalClaimsAllowed(claimsAllowed);
    console.log(tx);
  } catch (e) {
    console.log(e.message);
  }
};

| Parameter | Type | Description | | :-------------- | :------- | :--------------------------------------------------------------------- | | claimsAllowed | number | Required. Number of total claims allowed | | signer | string | Optional & for test only. Specific signer account for test purpose |

| Returns | Type | Description | | :--------------------- | :------- | :--------------------------------------- | | Transaction Response | object | Includes all properties of a transaction |

Get Total Number Of Safes

const getTotalNumberOfSafes = async () => {
  try {
    const numOfSafes = await sc.safientMain.getTotalNumberOfSafes();
    console.log(numOfSafes);
  } catch (e) {
    console.log(e.message);
  }
};

| Returns | Type | Description | | :------------------- | :------- | :------------------------------------------- | | Total no. of safes | number | Total number of safes created on SafientMain |

Get Total Number Of Claims

const getTotalNumberOfClaims = async () => {
  try {
    const numOfClaims = await sc.safientMain.getTotalNumberOfClaims();
    console.log(numOfClaims);
  } catch (e) {
    console.log(e.message);
  }
};

| Returns | Type | Description | | :-------------------- | :------- | :-------------------------------------------- | | Total no. of claims | number | Total number of claims created on SafientMain |

Get All Safes

const getAllSafes = async () => {
  try {
    const safes = await sc.safientMain.getAllSafes();
    console.log(safes);
  } catch (e) {
    console.log(e.message);
  }
};

| Returns | Type | Description | | :--------------- | :------- | :-------------------------------------------- | | Array of safes | Safe[] | Array of all the safes created on SafientMain |

Type Safe

| Property | Type | Description | | :----------------- | :---------- | :---------------------------------------------------- | | safeId | BigNumber | Id of the safe | | safeCreatedBy | string | Address of the safe creator | | safeCurrentOwner | string | Address of the current safe owner | | safeInheritor | string | Address of the safe inheritor (beneficiary) | | metaEvidenceId | Bigumber | Id used to uniquely identify a piece of meta-evidence | | claimsCount | Bigumber | Number of claims made on this safe | | safeFunds | Bigumber | Total safe funds in Gwei |

Get All Claims

const getAllClaims = async () => {
  try {
    const claims = await sc.safientMain.getAllClaims();
    console.log(claims);
  } catch (e) {
    console.log(e.message);
  }
};

| Returns | Type | Description | | :---------------- | :-------- | :--------------------------------------------- | | Array of claims | Claim[] | Array of all the claims created on SafientMain |

Type Claim

| Property | Type | Description | | :---------------- | :---------- | :----------------------------------------------------------------------------- | | safeId | BigNumber | Id of the safe | | disputeId | BigNumber | Id of the dispute representing the claim | | claimedBy | string | Address of the claim creator | | metaEvidenceId | BigNumber | Id used to uniquely identify a piece of meta-evidence | | evidenceGroupId | Bigumber | Id used to identify a group of evidence related to a dispute | | status | number | Claim status represented by 0, 1, 2 or 3 | | result | string | Claim result represented by Passed, Failed or Refused To Arbitrate |

Get Safe By Safe Id

const getSafeBySafeId = async (safeId) => {
  try {
    const safe = await sc.safientMain.getSafeBySafeId(safeId);
    console.log(safe);
  } catch (e) {
    console.log(e.message);
  }
};

| Parameter | Type | Description | | :-------- | :------- | :--------------------------- | | safeId | number | Required. Id of the safe |

| Returns | Type | Description | | :------ | :----- | :------------------------ | | Safe | Safe | Safe containing safe data |

Get Claim By Claim Id

const getClaimByClaimId = async (claimId) => {
  try {
    const claim = await sc.safientMain.getClaimByClaimId(claimId);
    console.log(claim);
  } catch (e) {
    console.log(e.message);
  }
};

| Parameter | Type | Description | | :-------- | :------- | :---------------------------- | | claimId | number | Required. Id of the claim |

| Returns | Type | Description | | :------ | :------ | :-------------------------- | | Claim | Claim | Claim containing claim data |

Get All Claims On A Safe By Safe Id

const getClaimsOnSafeBySafeId = async (safeId) => {
  try {
    const claims = await sc.safientMain.getClaimsOnSafeBySafeId(safeId);
    console.log(claims);
  } catch (e) {
    console.log(e.message);
  }
};

| Parameter | Type | Description | | :-------- | :------- | :--------------------------- | | safeId | number | Required. Id of the safe |

| Returns | Type | Description | | :---------------- | :-------- | :-------------------------------- | | Array of claims | Claim[] | Array of all the claims on a safe |

Get Claim Status

const getClaimStatus = async (claimId) => {
  try {
    const claimStatus = await sc.safientMain.getClaimStatus(safeId);
    console.log(claimStatus);
  } catch (e) {
    console.log(e.message);
  }
};

| Parameter | Type | Description | | :-------- | :------- | :---------------------------- | | claimId | number | Required. Id of the claim |

| Returns | Type | Description | | :------------- | :------- | :----------------------------------------------------------------------------------------- | | claim status | string | Claim status represented by Active, Passed, Failed or Refused To Arbitrate |

Get Total No. Of Claims Allowed On A Safe

const getTotalClaimsAllowed = async () => {
  try {
    const claimsAllowed = await sc.safientMain.getTotalClaimsAllowed();
    console.log(claimsAllowed);
  } catch (e) {
    console.log(e.message);
  }
};

| Returns | Type | Description | | :---------------------------- | :------- | :------------------------------------ | | Total no. of claims allowed | number | Total no. of claims allowed on a safe |

Get SafientMain Contract Total Balance

const getSafientMainContractBalance = async () => {
  try {
    const balance = await sc.safientMain.getSafientMainContractBalance();
    console.log(balance);
  } catch (e) {
    console.log(e.message);
  }
};

| Returns | Type | Description | | :----------------------------- | :------- | :------------------------------------ | | SafientMain contract balance | number | Total balance of SafientMain contract |