/archanova-contracts

Archanova solidity contracts

Primary LanguageJavaScript

Archanova Solidity

NPM version CircleCI

Archanova solidity contracts

Installation

$ npm i @archanova/contracts -S

Usage

import { 
  ContractNames, 
  getContractAddress, 
  getContractAbi, 
  getContractByteCodeHash, 
} from '@archanova/contracts'; 

console.log(
  'AccountProvider mainnet address:', 
  getContractAddress(ContractNames.AccountProvider, '1'),
);
console.log(
  'AccountProvider kovan address:', 
  getContractAddress(ContractNames.AccountProvider, '42'),
);
console.log(
  'Account abi:', 
  getContractAbi(ContractNames.Account),
);
console.log(
  'Account byteCodeHash:',
  getContractByteCodeHash(ContractNames.Account),
);

Contracts:

Name abi byteCodeHash addresses
Account
AccountProvider
AccountProxy
AccountFriendRecovery
ENSRegistry
ENSResolver
ExampleToken
ERC20Token
Guardian
VirtualPaymentManager

Development

Setup

$ git clone https://github.com/netgum/archanova-contracts.git
$ cd ./archanova-contracts
$ npm i

Migration

Configure env variables:

Name Default Value
PROVIDER_MNEMONIC -
PROVIDER_ENDPOINT http://localhost:8545
ENS_ADDRESS -
ENS_TOP_LABELS archanova,smartsafe,pillar
VIRTUAL_PAYMENT_LOCK_PERIOD 30 * 24 * 60 * 60

Start Migration:

$ npm run migrate:main
$ npm run migrate:ropsten
$ npm run migrate:rinkeby
$ npm run migrate:kovan
$ npm run migrate:sokol
$ npm run migrate:xdai

Building ./dist

$ npm run build

Running Tests

$ npm test

License

The MIT License