This library aims to be a readable and modular library for registries and TCR's. Ideally developers can use these contracts to deploy their TCR or use these contracts as an extension onto their personalized registry contract.
Install node modules:
$ npm install Compile contracts:
$ npm run compile Run tests:
$ npm run test You can create a TCR instance using ZeppelinOS by linking to this EVM package. This will use the logic contracts already deployed to mainnet, kovan, ropsten, or rinkeby, reducing your gas deployment costs.
As an example, to create an instance of a registry using ZeppelinOS, run the following commands:
$ npm install -g zos $ zos init YourProject $ zos link registry-builder $ zos push --network rinkeby > Connecting to dependency registry-builder 0.1.0 $ zos create registry-builder/OwnedItemRegistry --network rinkeby --from $SENDER> Instance created at ADDRESSIt is strongly suggested to use a non-default address (this is, not the first address in your node) as $SENDER.
Check out this example project for creating a more interesting full TCR instead of a basic owned item registry.
IRegistry.sol
interface IRegistry{function add(bytes32 data) public; function remove(bytes32 data) public; function exists(bytes32 data) public view returns (bool item)} IChallengeFactory.sol
interface IChallengeFactory{function create(address registry, address challenger, address applicant) returns (address challenge)} IChallenge.sol
interface IChallenge{// returns the address of the challenger function challenger() view returns (address); // returns true if the challenge has ended function close() public; // returns whether challenge has been officially closed function isClosed() public view returns (bool); // returns true if the challenge has passed // reverts if challenge has not been closed function passed() public view returns (bool); // @notice returns the amount of tokens the challenge must // obtain to carry out functionality function fundsRequired() public view returns (uint); // @dev returns amount to be rewarded to challenge winner function winnerReward() public view returns (uint)} - Notes on current state of this repository: https://docs.google.com/document/d/1vjaWW7izisc2QNlZEpti4BPh8yJTOGo3Wu9GNgaRI1A/
- Feel free to create an Issue with review, questions, or concerns.