Necessary Package Manager

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

    Install

    npm i hermes-wrap

    DownloadsWeekly Downloads

    1,743

    Version

    1.6.0-beta.53

    License

    OSL-3.0

    Unpacked Size

    15 MB

    Total Files

    7

    Last publish

    Collaborators

    • fdango