@abridged/contracts

Abridged contracts

Usage no npm install needed!

<script type="module">
  import abridgedContracts from 'https://cdn.skypack.dev/@abridged/contracts';
</script>

README

Abridged contracts

NPM version GitHub actions MIT licensed

Installation

$ npm i @abridged/contracts -S

Usage

Javascript

import {
  ContractNames,
  getContractAddress,
  getContractAbiDefinition,
  getContractByteCodeHash,
} from '@abridged/contracts';

console.log(
  'AccountRegistry mainnet address:',
  getContractAddress(ContractNames.AccountRegistry),
);
console.log(
  'AccountRegistry kovan address:',
  getContractAddress(ContractNames.AccountRegistry, '42'),
);
console.log(
  'AccountFriendRecoveryExtension goerli address:',
  getContractAddress(ContractNames.AccountFriendRecoveryExtension, 5),
);
console.log(
  'ERC20Token abi definition:',
  getContractAbiDefinition(ContractNames.ERC20Token),
);
console.log(
  'Account byte code hash:',
  getContractByteCodeHash(ContractNames.Account),
);

Available contracts:

Name abi byteCodeHash addresses
Account
AccountExternalDeposit
AccountRegistry
AccountFriendRecoveryExtension
ERC20Token

Solidity

pragma solidity ^0.5.12;

import {AccountRegistry} from "@abridged/contracts/contracts/account/AccountRegistry.sol";

// ...

Development

Test

$ npm run test

Compile

$ npm run compile

Migrate

Config via env vars:

Name Default value
PROVIDER_MNEMONIC (empty)
PROVIDER_PRIVATE_KEY (empty)
PROVIDER_ENDPOINT http://localhost:8545
INFURA_PROJECT_ID (empty)

Scripts:

$ npm run migrate:main
$ npm run migrate:ropsten
$ npm run migrate:rinkeby
$ npm run migrate:goerli
$ npm run migrate:kovan
$ npm run migrate:local

Build dist

$ npm run dist

Initialize

Config via env vars:

Name Default value
PROVIDER_MNEMONIC (empty)
PROVIDER_PRIVATE_KEY (empty)
PROVIDER_ENDPOINT http://localhost:8545
INFURA_PROJECT_ID (empty)
PAYMENT_GUARDIAN_ADDRESS (empty)

Scripts:

$ npm run initialize:main
$ npm run initialize:ropsten
$ npm run initialize:rinkeby
$ npm run initialize:goerli
$ npm run initialize:kovan
$ npm run initialize:local

License

MIT