Giter Club home page Giter Club logo

lib's Introduction

Verto logo (light version)

Verto Library

Utilities for the Verto Exchange Network

Test CI Lint CI

About

This repository contains all of the utilities to integrate Verto into your applications.

Important Notice: Verto is in its Alpha stage. If you have a suggestion, idea, or find a bug, please report it! The Verto team will not be held accountable for any funds lost.

Getting Started

Installation

NPM:

npm install @verto/lib

or

yarn add @verto/lib

OpenBits:

openbits install @verto/[email protected]

Arweave:

npm install https://arweave.net/sQCMItLeUCMSqkLGz12tbc7NDaNxhdQTrN1pi30ybXs

or

yarn add https://arweave.net/sQCMItLeUCMSqkLGz12tbc7NDaNxhdQTrN1pi30ybXs

Initialization

import Verto from "@verto/lib";
import Arweave from "arweave";

const arweave = Arweave.init();
const client = new Verto(arweave);

You can alternatively initialize without a preconfigured Arweave Client.

import Verto from "@verto/lib";

const client = new Verto();

If you are using the trade functions, you will need to intialise with a valid Arweave keyfile:

import Verto from "@verto/lib";
import keyfile from "./arweave.json";

const client = new Verto(keyfile);

Usage

getAssets(address)

Returns a list of profit sharing token balances, which are supported by the Verto Exchange Network, for a given wallet address.

getConfig(tradingPostAddress)

Returns the configuration, from the latest genesis transaction, for a specific trading post.

getExchanges(address)

Returns a list of the latest five exchanges sent through the Verto Exchange Network, for a given wallet address.

paginateExchanges(address, cursor?)

Returns a list of exchanges (and the last cursor) sent through the Verto Exchange Network, for a given wallet address and optional cursor.

getOrderBook(tradingPostAddress)

Returns the order book of a trading post.

getPostStake(tradingPostAddress)

Returns the stake of a specific trading post.

getReputation(tradingPostAddress)

Returns the reputation of a specific trading post.

getTokens()

Returns a list of tokens supported by the Verto Exchange Network.

getTPTokens(tradingPostAddress)

Returns a list of tokens supported by a specific trading post.

getTradingPosts()

Returns a list of trading post wallet addresses on the Verto Exchange Network.

getTransactions(address)

Returns a list of the latest five transactions for a given wallet address.

recommendPost()

Returns a recommended trading post address to trade with. Note: Uses a weighted random on reputations.

price(contractID)

Returns a JSON object of prices and dates corresponding to each of those prices. Note: You must pass in a valid PST contract ID.

latestPrice(contractID)

Related to price(), returns the price for the current day. Note: You must pass in a valid PST contract ID.

volume(contractID)

Returns a JSON object of volumes and dates corresponding to each of those volumes. Note: You must pass in a valid PST contract ID.

latestVolume(contractID)

Related to volume(), returns the volume for the current day. Note: You must pass in a valid PST contract ID.

createOrder(orderType, amount, pstContractID, tradingPost, rate?)

Returns a list of transactions & AR/PST prices for initiating the trades.

It also validates to ensure the wallet associated with the keyfile, has enough AR/PST amounts to make the trade.

  • orderType
    • "buy" or "sell"
    • Type: string
  • amount
    • The amount of currency you are inputting. Note: If you are selling, the amount must be an integer.
    • Type: number
  • pstContractID
    • The PST you are looking to buy, or the PST you are selling.
    • Type: string
  • tradingPost
    • The wallet address of the trading post you are using.
    • Type: string
  • rate?
    • The rate (in units of AR/PST) that you wish to sell at. Note: This field is only necessary if you are selling.
    • Type: number

sendOrder(txs)

Accepts an array of Arweave transactions and subsequently signs & sends each using the configured keyfile.

Special Thanks

License

The code contained within this repository is licensed under the MIT license. See ./LICENSE for more information.

lib's People

Contributors

littledivy avatar martonlederer avatar rosmcmahon avatar t8 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

Forkers

rosmcmahon

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.