woodser 7b447022e6 test arbitration protocol refactor
test all (online) trade combinations with disputes
test added dispute states
print trade context and index on failure
improve caching to reduce calls to getBalances()
local test network uses daemon at 48081 by default
various cleanup
2022-11-07 08:26:57 -05:00
2022-06-06 09:12:00 -04:00
2022-09-21 10:42:28 -04:00
2022-09-27 10:44:12 +02:00
2022-05-10 09:55:41 -04:00
2022-11-07 08:26:57 -05:00
2022-05-02 15:21:48 -04:00
2022-05-02 15:21:48 -04:00
2022-05-05 22:25:08 -04:00
2021-09-10 06:43:06 -04:00
2022-09-24 08:49:00 -04:00
2022-09-24 08:49:00 -04:00
2022-05-12 17:32:05 -04:00

Haveno TypeScript Library

TypeScript library for using Haveno.

Install

  1. Start a Haveno daemon (see installing.md).
  2. Install haveno-ts in your project: npm install haveno-ts

Sample code

import { HavenoClient } from "haveno-ts";

// create client connected to Haveno daemon
const alice = new HavenoClient("http://localhost:8080", "apitest");

// use Haveno daemon
const balances = await alice.getBalances();
const paymentAccounts = await alice.getPaymentAccounts();
const myOffers = await alice.getMyOffers("ETH");
const offers = await alice.getOffers("ETH", "BUY");
const trade = await alice.takeOffer(offers[0].getId(), paymentAccounts[0].getId());

// disconnect client
await alice.disconnect();

TypeDocs

See typedocs.

Run tests

Running the API tests is the best way to develop and test Haveno end-to-end.

HavenoClient.ts provides the client interface to Haveno's backend daemon.

  1. Run a local Haveno test network and then shut down the arbitrator, user1, and user2 or run them as daemons, e.g. make user1-daemon-local. You may omit the arbitrator registration steps since it's done automatically in the tests.
  2. Clone this project to the same parent directory as the haveno project: git clone https://github.com/haveno-dex/haveno-ts
  3. In a new terminal, start envoy with the config in haveno-ts/config/envoy.test.yaml (change absolute path for your system): docker run --rm --add-host host.docker.internal:host-gateway -it -v ~/git/haveno-ts/config/envoy.test.yaml:/envoy.test.yaml -p 8079:8079 -p 8080:8080 -p 8081:8081 -p 8082:8082 -p 8083:8083 -p 8084:8084 -p 8085:8085 -p 8086:8086 envoyproxy/envoy-dev:8a2143613d43d17d1eb35a24b4a4a4c432215606 -c /envoy.test.yaml
  4. In a new terminal, start the funding wallet. This wallet will be funded automatically in order to fund the tests.
    For example: cd ~/git/haveno && make funding-wallet-local.
  5. Install protobuf compiler v3.19.1 or later for your system:
    mac: brew install protobuf
    linux: apt install protobuf-compiler NOTE: You may need to upgrade to v3.19.1 manually if your package manager installs an older version.
  6. Download protoc-gen-grpc-web plugin and make executable as shown here.
  7. cd haveno-ts
  8. npm install
  9. npm run test -- --baseCurrencyNetwork=XMR_LOCAL to run all tests or npm run test -- --baseCurrencyNetwork=XMR_LOCAL -t "my test" to run tests by name.
Description
TypeScript library for using Haveno
Readme Apache-2.0 54 MiB
Languages
TypeScript 99.1%
Dockerfile 0.4%
JavaScript 0.3%
Shell 0.2%