Navy Penguin Mariachi

    @swapynetwork/swapy-identity-api

    0.0.16 • Public • Published

    Swapy Identity API

    Swapy Identity API aims to ease the interaction with Swapy financial identities. The current implementation was designed to be used on browsers and it provides methods to:

    • Create personal and multi sig identities;
    • Manage identity's data on IPFS and Ethereum;
    • Forward transactions through a personal identity;
    • Create, sign and execute transactions on multi sig identities;
    • Decentralized attestation of identitiy's credentials on IPFS with QRCode for third-parties;

    Check out our smart contracts and Wiki for more details around Swapy Identity Protocol.

    Install

    The API is available on NPM. So, install it

    npm install @swapynetwork/swapy-identity-api
    

    Usage Guide

    Init the API with a first account, Ethereum http provider and network parameters as well.

    import { Api } from '@swapynetwork/swapy-identity-api'
    const api = new Api('<0xPrivateKey>','<ethereumHttpProvider')
    

    Doc

    • Api
      • new Api(privateKey,httpProvider,_networkName)
      • .createPersonalIdentity(profileDataNodes, opt) : Promise.<Object, Error>
      • .getProfileData(identity, fetchData) : Promise.<Object, Error>
      • .insertProfileData(profileNodes, identity, multiSig, opt) : Promise.<Object, Error>
      • .updateProfileData(nodeLabel, data, identity, multiSig, opt) : Promise.<Object, Error>
      • .getTokenBalance(identity) : Integer
      • .sellIdentityData(identity, saleNodes, price) : String
      • .buyIdentityData(identity, seller, saleNodes, price, opt) : Object

    .createPersonalIdentity(profileDataNodes, opt)

    Instantiates a new personal identity

    Input Type Description Default value
    profileDataNodes Object[] Initial profile data []
    profileDataNodes.parentLabel String Parent node label -
    profileDataNodes.label String Node label -
    profileDataNodes.data String Leaf content -
    profileDataNodes.childrens Object[] Node childrens -
    opt Object Transaction options {from: null, gas: null, gasPrice: null}
    opt.from String Wallet address First account set
    opt.gas Integer GAS limit 4500000
    opt.gasPrice BigNumber GAS price 20 gwei
    Output Description
    Promise<Object, Error> A promise that resolves with the transaction object or rejects with an error

    .getProfileData(identity, fetchData)

    Returns the profile data of an identity

    Input Type Description Default value
    identity String Identity's contract address -
    fetchData Boolean Returns the data value false
    Output Description
    Promise<Object, Error> A promise that resolves with the profile object or rejects with an error

    .insertProfileData(profileNodes, identity, multiSig, opt)

    Inserts nodes on the profile tree

    Input Type Description Default value
    profileNodes Object[] Insertions []
    profileNodes.parentLabel String Parent node label -
    profileNodes.label String Node label -
    profileNodes.data String Leaf content -
    profileNodes.childrens Object[] Node childrens -
    identity String Identity's contract address -
    multiSig Boolean multi sig identity false
    opt Object Transaction options {from: null, gas: null, gasPrice: null}
    opt.from String Wallet address First account set
    opt.gas Integer GAS limit 4500000
    opt.gasPrice BigNumber GAS price 20 gwei
    Output Description
    Promise<Object, Error> A promise that resolves with the transaction object or rejects with an error

    .updateProfileData(profileNodes, identity, multiSig, opt)

    Inserts nodes on the profile tree

    Input Type Description Default value
    nodeLabel String Node label -
    data String New content -
    identity String Identity's contract address -
    multiSig Boolean multi sig identity false
    opt Object Transaction options {from: null, gas: null, gasPrice: null}
    opt.from String Wallet address First account set
    opt.gas Integer GAS limit 4500000
    opt.gasPrice BigNumber GAS price 20 gwei
    Output Description
    Promise<Object, Error> A promise that resolves with the transaction object or rejects with an error

    .getTokenBalance(identity)

    Returns Identity's Swapy Token balance

    Input Type Description Default value
    identity String Identity's contract address -
    Output Description
    Integer Swapy Token balance

    .getTokenBalance(identity)

    Returns Identity's Swapy Token balance

    Input Type Description Default value
    identity String Identity's contract address -
    Output Description
    Integer Swapy Token balance

    .sellIdentityData(identity, saleNodes, price)

    Generates a qrCode image that contains the sale arguments

    Input Type Description Default value
    identity String Identity's contract address -
    saleNodes Object[] Profile Nodes to be sold -
    saleNodes.label String Node label -
    saleNodes.price Integer Individual node price -
    price Integer General sale price -
    Output Description
    String QRCode image url

    .buyIdentityData(identity, seller, saleNodes, price, opt)

    Transfer tokens to seller's identity and retrieve the data bought

    Input Type Description Default value
    identity String Buyer's identity contract address -
    seller String Seller's identity contract address -
    saleNodes Object[] Profile Nodes to be sold -
    saleNodes.label String Node label -
    price Integer Sale price -
    opt Object Transaction options {from: null, gas: null, gasPrice: null}
    opt.from String Wallet address First account set
    opt.gas Integer GAS limit 4500000
    opt.gasPrice BigNumber GAS price 20 gwei
    Output Description
    Object Data Bought

    Keywords

    none

    Install

    npm i @swapynetwork/swapy-identity-api

    DownloadsWeekly Downloads

    16

    Version

    0.0.16

    License

    Apache-2.0

    Unpacked Size

    16.5 MB

    Total Files

    38

    Last publish

    Collaborators

    • adrielsantos
    • icaroharry
    • luisfidelis
    • tuliobraga