Skip to content

Wemark's Ethereum smart contracts, including tests and deployment.

Notifications You must be signed in to change notification settings

WemarkSource/smart-contracts

Repository files navigation

Wemark smart contracts

Smart contracts in this repository

  • WemarkToken contract is in contracts/WemarkToken.sol

Setup

$ npm install
$ npm install -g truffle

Testing

$ ./scripts/test.sh

Test coverage

$ ./scripts/coverage.sh

Flatten contracts (for using in Remix or verifying on Etherscan)

$ ./scripts/flatten_contracts.sh

Output dir: contracts/flattened

WemarkToken structure

WemarkToken is implemented in WemarkToken.sol, complying with ERC20 standard. The token behavior is inherited from a few major token implementations, developed by TokenMarket and OpenZeppelin.

BurnableToken (lib/token/BurnableToken.sol)

A pretty common functionality that lets any token holder burn tokens. Burning decreases the total token supply.

ReleasableToken (lib/token/ReleasableToken.sol)

Allows the token owner to control who can transfer tokens. We're using it to allow a smooth roll-out of Wemark Token to contributors. Once the token has been released, we have no option to lock transfers later on.

UpgradeableToken (lib/token/UpgradeableToken.sol)

Allows us to migrate token functionality to a new contract, at any point in time. This is vital in the case that we would like to fix a critical bug or upgrade the functionality of the token.

VestedToken (lib/token/VestedToken.sol)

Allows any token holder to grant tokens to any party under a custom vesting plan. This is used for distributing tokens to our private sale contributors, as well as for tokens allocated to the founders, team, advisors and partners.

About

Wemark's Ethereum smart contracts, including tests and deployment.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages