@windingtree/win-commons
TypeScript icon, indicating that this package has built-in type declarations

3.0.0 • Public • Published

@windingtree/win-commons

A library of common components for the Win.so project

Getting started

yarn add @windingtree/win-commons

Shared config

import { config } from '@windingtree/win-commons';

// config.defaultZone
// config.allowedNetworks
// config.getNetworkInfo // helper, returns a network by its chainId
// config.getNetworksByMode // helper, returns networks by the mode (dev, stage, prod)

Multisig helpers

import { multisig } from '@windingtree/win-commons';

// Checking the address is it contract
if (multisig.isContract('<payer_address>')) {
  // run code if account is contract
}

// Trying to get owners of the wallet
const owners = await multisig.getOwners(
  '<payer_address>',
  provider // JsonRpcProvider
);

Authentication signature helpers

import { auth } from '@windingtree/win-commons';

//  Getting of auth types
auth.types;
// {
//   Voucher: [
//     { name: 'wallet', type: 'address' },
//     { name: 'secret', type: 'string' }
//   ]
// }

// Building of typed signature domain
const domain = buildSignatureDomain(1); // 1 - chain Id
// {
//   name: 'AuthVoucher',
//   version: '1',
//   chainId: 1
// }

// Building of typed signature value
const value = buildSignatureValue('<payer_address>', '<backend_secret>');

// Creation of a typed signature
const signature = await createAuthSignature(
  provider, //  Web3Provider
  '<backend_secret>'
);

// Validation of type signature
validateAuthSignature(
  provider, // JsonRpcProvider
  '<backend_secret>',
  '<payer_address>',
  '<signature_string>'
);

Linting & Testing

yarn lint
yarn test

Readme

Keywords

none

Package Sidebar

Install

npm i @windingtree/win-commons

Weekly Downloads

0

Version

3.0.0

License

GPLV3

Unpacked Size

114 kB

Total Files

21

Last publish

Collaborators

  • kostysh
  • kvakes
  • tomashq