hermes-wrap

1.6.0-beta.53 • Public • Published

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.

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" }

Dependencies (14)

Dev Dependencies (23)

Package Sidebar

Install

npm i hermes-wrap

Weekly Downloads

2

Version

1.6.0-beta.53

License

OSL-3.0

Unpacked Size

15 MB

Total Files

7

Last publish

Collaborators

  • fdango