RIF Scheduler SDK
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.
@rsksmart/rif-scheduler-sdk
is built on top of ethers
.
npm i @rsksmart/rif-scheduler-sdk ethers
Use 0x0372F6F8C7b2353b546F842Da0C44749664d1203
for RSK Testnet
You can run your own instance following this guide
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.
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?
If you want to contribute, here are the steps you need to run this project locally.
Install dependencies:
npm i
npm run build
Build to generate types:
npm run build
npm test
Coverage report with:
npm run test:coverage
npm run lint
Auto-fix:
npm run lint:fix
npm run build
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
.