@rsksmart/rif-scheduler-sdk
v2.0.2
Published
RIF Scheduler SDK
Downloads
20
Readme
With the RIF Scheduler SDK you can schedule transactions in the RSK network.
Features:
- Query and purchase plans
- Schedule transactions
- Schedule recurrent transactions
- Cancel a scheduling
- Query transactions scheduled and statuses
This is the official SDK for @rsksmart/rif-scheduler-contracts
smart contract. Use it to interact with the RIFScheduler
smart contract in a more simple way.
Getting Started
@rsksmart/rif-scheduler-sdk
is built on top of ethers
.
Installation
npm i @rsksmart/rif-scheduler-sdk ethers
Use 0x0372F6F8C7b2353b546F842Da0C44749664d1203
for RSK Testnet
You can run your own instance following this guide
Initialization
First, you will need an ethers
provider
or signer
instance.
In order to create an instance of RifScheduler
you will need an ethers provider or signer.
Using a provider
will only allow read-only operations, such as getPlan
. Using a signer
will allow all operations, such as purchasePlan
, schedule
, etc.
For example, to connect the SDK to Metamask
import { RIFScheduler } from "@rsksmart/rif-scheduler-sdk";
import { providers } from "ethers";
const provider = new providers.Web3Provider(web3.currentProvider);
// Creates instance with provider, you can execute read-only operations
const rifScheduler = new RifScheduler({
contractAddress: serviceProviderContractAddress,
providerOrSigner: provider
});
const signer = provider.getSigner();
// Creates instance with signer, you can execute any kind of operation
const rifScheduler = new RifScheduler({
contractAddress: serviceProviderContractAddress,
providerOrSigner: signer
});
What you can do with this sdk?
How to contribute
If you want to contribute, here are the steps you need to run this project locally.
Run for development
Install dependencies:
npm i
npm run build
Build to generate types:
npm run build
Run unit tests
npm test
Coverage report with:
npm run test:coverage
Run linter
npm run lint
Auto-fix:
npm run lint:fix
Build for production
npm run build
Branching model
main
has latest release. Merge intomain
will deploy to npm. Do merge commits.develop
has latest approved PR. PRs need to passci
andscan
. Do squash & merge.- Use branches pointing to
develop
to add new PRs. - Do external PRs against latest commit in
develop
.