Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

New Vault: ETH native support and arbitrary connectors for managing different token standards #129

Merged
merged 39 commits into from
Mar 20, 2018
Merged
Changes from 1 commit
Commits
Show all changes
39 commits
Select commit Hold shift + click to select a range
67071c6
Start work on new vault
izqui Mar 13, 2018
17650ce
Scaffold connectors
izqui Mar 14, 2018
eac5bf4
Add ETHConnector
izqui Mar 14, 2018
d9d0314
ERC20, ERC777, ERC721 connectors
izqui Mar 14, 2018
ba342f9
Add ETH connector fallback function for easy eth deposits
izqui Mar 14, 2018
734d61b
Start implementing automated interface detection
izqui Mar 14, 2018
e09a5a1
Implement token standard detection
izqui Mar 14, 2018
d433367
Publish 1.1.3
izqui Mar 14, 2018
b074337
Merge
izqui Mar 14, 2018
7c56659
Merge branch 'master' into good-vault
izqui Mar 14, 2018
acc1157
Improve style
izqui Mar 14, 2018
d01b101
Get new vault to almost compile
izqui Mar 14, 2018
d5cc2f7
It compiles, note for the future, avoid passing around structs
izqui Mar 14, 2018
270a636
Protect transfer and register standard behind roles
izqui Mar 15, 2018
d43d49a
Scaffold tests
izqui Mar 15, 2018
22844bd
Fix eth fallback
izqui Mar 15, 2018
ea70fd8
Test
izqui Mar 15, 2018
0bca179
finance: Adapt to new Vault
Mar 15, 2018
5b83a0c
Make tests pass
izqui Mar 16, 2018
41d164d
Merge branch 'good-vault-finance-2' of github.com:aragon/aragon-apps …
izqui Mar 16, 2018
7b45dba
vault: deploy connectors on constructor to simplify templates
izqui Mar 16, 2018
e2b17de
Adapt templates to new vault and remove all ethertoken references
izqui Mar 16, 2018
191d312
finance: Adapt to new Vault (#135)
bingen Mar 16, 2018
dd666f6
Merge master
izqui Mar 16, 2018
aba830f
Merge branch 'master' of github.com:aragon/aragon-apps into new-vault…
izqui Mar 16, 2018
835ae33
Merge branch 'good-vault' of github.com:aragon/aragon-apps into good-…
izqui Mar 16, 2018
abf72d7
Update to aOs v3.1.1
izqui Mar 16, 2018
13fc00d
Fix devtemplate
izqui Mar 16, 2018
6117167
Fix lint errors
Mar 16, 2018
b787a5d
vault: fix coverage and tests
Mar 17, 2018
4cf0a69
finance: fix tests
Mar 17, 2018
db70f08
tmp
Mar 16, 2018
ef13ad5
Remove abis file
izqui Mar 17, 2018
e450209
vault: Fix lint warnings
Mar 17, 2018
869ad3a
vault: Remove redundant variables
Mar 17, 2018
c503098
vault: Remove constructor, refactor initialize
Mar 17, 2018
dfb3ad7
templates: Remove EtherToken from tests
Mar 16, 2018
d8dac5a
[wip] vault: Try to increase coverage
Mar 18, 2018
42c954d
Merge branch 'beta_test_remove_ethertoken' of github.com:aragon/arago…
izqui Mar 18, 2018
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Merge
  • Loading branch information
izqui committed Mar 14, 2018

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
commit b074337d7ccd0c27c685ca66a0b68a3d42654383
5 changes: 1 addition & 4 deletions apps/vault/contracts/Vault.sol
Original file line number Diff line number Diff line change
@@ -12,14 +12,11 @@ import "./detectors/ERC165Detector.sol";

contract Vault is AragonApp, DelegateProxy, ERC165Detector {
mapping (address => address) connectors;
mapping (bytes32 => address) standardConnectors;

bytes32 constant public REQUEST_ALLOWANCES_ROLE = keccak256("REQUEST_ALLOWANCES_ROLE");
bytes32 constant public TRANSFER_ROLE = keccak256("TRANSFER_ROLE");

address constant ETH = 0x0;
bytes32 constant erc777Identifier = keccak256('erc777');
bytes32 constant erc20Identifier = keccak256('erc20');
address constant ETH = address(0);

uint8[2] constant supportedInterfaceDetection = [165, uint8(-1)];

10 changes: 10 additions & 0 deletions apps/vault/contracts/detectors/ERC165Detector.sol
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
pragma solidity 0.4.18;

import "./standards/ERC165.sol";


contract ERC165Detector {
function conformsToERC165(address addr, bytes4 interface) public view returns (bool) {
return ERC165(addr).supportsInterface(interface);
}
}
1 change: 1 addition & 0 deletions apps/vault/contracts/detectors/ERC780Detector.sol
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
// TODO: wait for replies to https://github.com/ethereum/EIPs/issues/777#issuecomment-373022672
12 changes: 12 additions & 0 deletions apps/vault/contracts/detectors/standards/ERC165.sol
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
pragma solidity ^0.4.18;


interface ERC165 {
/// @notice Query if a contract implements an interface
/// @param interfaceID The interface identifier, as specified in ERC-165
/// @dev Interface identification is specified in ERC-165. This function
/// uses less than 30,000 gas.
/// @return `true` if the contract implements `interfaceID` and
/// `interfaceID` is not 0xffffffff, `false` otherwise
function supportsInterface(bytes4 interfaceID) external view returns (bool);
}
9 changes: 9 additions & 0 deletions apps/vault/contracts/detectors/standards/ERC780.sol
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
pragma solidity ^0.4.18;


interface ERC780 {
function setClaim(address subject, bytes32 key, bytes32 value) public;
function setSelfClaim(bytes32 key, bytes32 value) public;
function getClaim(address issuer, address subject, bytes32 key) public constant returns (bytes32);
function removeClaim(address issuer, address subject, bytes32 key) public;
}
Loading