@windingtree/win-commons
v3.0.0
Published
A library of common components for the Win.so project
Downloads
25
Readme
@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