hermes-wrap
v1.6.0-beta.53
Published
hermes protocol javascript sdk for client side
Downloads
48
Readme
hermes-js
hermes-wrap JS SDK to implement a client for Hermes protocol
Installation
$ npm install hermes-wrap
Developing
Build With
Prerequisites
- Knowledge of Hermes 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:local
or
$ yarn run build:development
For production use
$ yarn run build:production
Versioning
We use a SemVer for versioning. Please see the release.
Tests
For unit testing
$ yarn run test
For unit testing with coverage
$ yarn run test-coverage
Jest 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 format
Api Reference
Please see this link
Function examples
You can find example at hermes-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: 10
Get 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
hermes.toEvrynet({ rawTx: "0xabcd", xdr: "", })
- Response
{ stellarTxHash: "0x1234", evrynetTxHash: "0x1234" }
Transfer asset from evrynet to stellar
- Request
hermes.toStellar({ rawTx: "0xabcd", xdr: "", })
- Response
{ stellarTxHash: "0x1234", evrynetTxHash: "0x1234" }