Package Exports
- @evrynetlabs/warp-js
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@evrynetlabs/warp-js) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
warp-js
Warp JS SDK to implement a client for Warp protocol
Contents
- Installation
- Developing
- Versioning
- Tests
- Style Guide
- Function examples
- Get available assets
- Get user's Evrynet account balance
- Get user’s Evrynet account nonce
- Get user’s Stellar account balance
- Get user's Stellar account trustlines
- Get user's Stellar account sequence number
- Generate stellar lock transaction
- Generate stellar unlock transaction
- Generate evrynet lock transaction
- Generate evrynet unlock transaction
- Transfer asset from stellar to evrynet
- Transfer asset from evrynet to stellar
- Licensing
Installation
$ npm install @evrynetlabs/warp-jsDeveloping
Build With
Prerequisites
- Knowledge of Warp Contract here
- Knowledge of EER-2 (Evrynet Enhancement Request) here
- User needs to
setApprovalForAll(address _operator, bool _approved)and let a custodian contract as an operator. - For custom credit contract, user needs to
SetMinter(uint256 indexed _typeID, address _minter);and let let a custodian contract as a minter.
- User needs to
Building
For local development
$ yarn run build:localor
$ yarn run build:developmentFor production use
$ yarn run build:productionVersioning
We use a SemVer for versioning. Please see the release.
Tests
For unit testing
$ yarn run testFor unit testing with coverage
$ yarn run test-coverageJest as well as Enzyme has been used for testing libraries.
Style guide
Eslint has been used for linting as well as prettier
- For Lint check, run:
$ yarn run lint- For prettier format, run:
$ yarn run formatApi Reference
Please see this link
Function examples
You can find example at warp-js example
Get available assets
- Request
evry.getWhitelistAssets()- Response
assets: [
{
code: "XLM",
issuer: "",
decimal: 7,
typeID: "1"
}
]Get user's Evrynet account balance
- Request
evry.getBalance({
address: "0x1234",
asset: {
code: "EVRY",
issuer: "issuer",
decimal: 18,
typeID: "2"
}
})- Response
balance: 10Get user's Evrynet account nonce
- Request
evry.getNonce({ address: "0x1234" })- Response
nonce: "1234"Get user's Stellar account balance
- Request
stellar.getBalance({
address: "stellar public key",
asset: {
code: "vTHB",
issuer: "issuer",
decimal: 2,
typeID: "3"
}
})- Response
balance: "10"Get user's Stellar account trustlines
- Request
stellar.getTrustlines({ address: "stellar public key" })- Response
assets:[
{
code: "EVRY",
issuer: "issuer"
}
]Get user's Stellar account sequence number
- Request
stellar.getSequenceNumber({ address: "stellar public key" })- Response
sequenceNumber: "1234"Generate stellar lock transaction
- Request
stellar.newLockTx({
secret: "stellar private key",
amount: "1234",
asset: {
code: "XLM",
issuer: ""
}
})- Response
xdr: ""Generate stellar unlock transaction
- Request
stellar.newUnlockTx({
secret: "stellar private key",
amount: "1234",
asset: {
code: "XLM",
issuer: ""
}
})- Response
xdr: ""Generate evrynet lock transaction
- Request
evry.newLockTx({
secret: "evrynet private key",
amount: "1234",
asset: {
code: "XLM",
issuer: "",
decimal: 7,
typeID: "1"
}
})- Response
rawTx: "0xabcd"Generate evrynet unlock transaction
- Request
evry.newUnlockTx({
secret: "evrynet private key",
amount: "1234",
asset: {
code: "XLM",
issuer: "",
decimal: 7,
typeID: "1"
}
})- Response
rawTx: "0xabcd"Transfer asset from stellar to evrynet
- Request
warp.toEvrynet({ rawTx: "0xabcd", xdr: "", })- Response
{ stellarTxHash: "0x1234", evrynetTxHash: "0x1234" }Transfer asset from evrynet to stellar
- Request
warp.toStellar({ rawTx: "0xabcd", xdr: "", })- Response
{ stellarTxHash: "0x1234", evrynetTxHash: "0x1234" }Licensing
Warp JS is licensed under the OSL Open Software License v3.0, also included in our repository in the LICENSE file.