Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
119 commits
Select commit Hold shift + click to select a range
3a5f5ee
removed unfinished contracts
dmvt Jan 20, 2021
0b1d471
fixes tests
dmvt Jan 20, 2021
bd64d87
correct version number
dmvt Jan 20, 2021
38839d0
fixes failing tests with package upgrades
dmvt Jan 22, 2021
d3a201c
updates sdk version
dmvt Jan 22, 2021
7d58885
adds permissions, removes balanceOfAt
dmvt Jan 26, 2021
5bcc247
adds logging
0xSSDD Jan 26, 2021
285d10e
WIP
0xSSDD Jan 26, 2021
2556dd8
adds balanceOfVoting
dmvt Jan 27, 2021
0cf5b48
consolidate test functionality into helpers
dmvt Jan 29, 2021
a610a6a
uses forked version of solidity coverage to enable optimizer
alleycatdev Jan 31, 2021
7ee821d
fixes linting
alleycatdev Jan 31, 2021
2fde9dd
fixes coverage
alleycatdev Feb 1, 2021
3c884c7
creates a init test to await fixtures
alleycatdev Feb 1, 2021
c1656b4
adds 94% EGT tests
alleycatdev Feb 1, 2021
5a8f332
removes unused functions and adds more tests
alleycatdev Feb 1, 2021
7c7ed4d
fix in tests
alleycatdev Feb 1, 2021
d6dae55
a couple last EGT tests for access tests
alleycatdev Feb 2, 2021
2f3cd66
fixes during testing on core and DAO model
alleycatdev Feb 2, 2021
2e8f4da
removes balance multiplier and balance models
alleycatdev Feb 7, 2021
6fb224e
changes internal variables in contracts to public for getter access a…
alleycatdev Feb 7, 2021
7c8b6ec
proxies all deployed call contracts
alleycatdev Feb 7, 2021
3f7b4ce
gets tests passing with proxy deployments
alleycatdev Feb 7, 2021
dfedae2
adds a few events
alleycatdev Feb 7, 2021
4469a69
updates token holder model test
alleycatdev Feb 8, 2021
a02682d
release candadate 1
alleycatdev Feb 8, 2021
4db5163
rc2
alleycatdev Feb 8, 2021
babbc1e
mythx fixes
alleycatdev Feb 9, 2021
48c684e
change based on slither suggestion https://github.com/crytic/slither/…
alleycatdev Feb 9, 2021
b6f874b
code cleanup suggested by slither
alleycatdev Feb 9, 2021
0f0f33d
adds testnet deployment config
dmvt Feb 9, 2021
6562085
fix testnet seed error
dmvt Feb 10, 2021
2cf2c57
removes counter from token and tokenHolder
dmvt Feb 10, 2021
9cbc9fd
speed up core tests
dmvt Feb 10, 2021
08e9223
adds test proving that a user cannot exit with more shares than they …
dmvt Feb 10, 2021
a25fda9
numberOfSummoners should come from the array passed to ElasticDAO con…
dmvt Feb 10, 2021
08ce2b3
enforce the fee on factory deployment
dmvt Feb 10, 2021
13f8de9
maxVotingLambda passed with DAO creation
dmvt Feb 10, 2021
d1f7d1e
remove checked in coverage file
dmvt Feb 10, 2021
5ecd931
ignore coverage
dmvt Feb 10, 2021
e4ddb03
test numberOfTokeHolders
dmvt Feb 10, 2021
b902177
audit ready
dmvt Feb 10, 2021
54b501a
refactors to ignore ds_store files
0xSSDD Feb 10, 2021
8f8cc55
removes existing .DS_Store file
0xSSDD Feb 10, 2021
48043dc
fixes issue in transferFrom of EGT
alleycatdev Feb 11, 2021
8758996
returns true from transferFrom
alleycatdev Feb 11, 2021
c8e132c
last little tweak to transferFrom
alleycatdev Feb 11, 2021
8aac0fc
removes deployment of reentryProtection
0xSSDD Feb 11, 2021
03879bd
Merge branch 'release/0.9.0' of github.com:elasticdao/contracts into …
0xSSDD Feb 11, 2021
7dd7401
updates deployDaoAndToken to use create2
alleycatdev Feb 13, 2021
c65cc36
uncomments proxy
alleycatdev Feb 13, 2021
09cd1ca
fixes salt collision issue w/ new create2
alleycatdev Feb 13, 2021
ad06b55
switches to a proxy with receive
alleycatdev Feb 13, 2021
d7e429b
updates Elastic Governance Token to be upgradeable via proxy and depl…
alleycatdev Feb 14, 2021
db2b671
fixes proxy issues
alleycatdev Feb 18, 2021
0772019
updates hardhat-deploy
alleycatdev Feb 18, 2021
407d5da
locks versions, adds openzeppelin
dmvt Feb 19, 2021
41464d7
cleans up and documents SafeMath, efficiency improvements
dmvt Feb 19, 2021
4c423fd
replaces custom clone and own create 2 with OpenZeppelin audited version
dmvt Feb 19, 2021
3253ebd
replace IRC20.sol with openzeppelin version
dmvt Feb 19, 2021
0742f59
adds docs for ElasticDAOFactory and ElasticDAO contracts
0xSSDD Feb 19, 2021
a58f0c5
refactors Factory docs
0xSSDD Feb 19, 2021
887405c
update for loops to save on gas
alleycatdev Feb 19, 2021
3a3ada4
lock
alleycatdev Feb 19, 2021
219ade1
documentation for ElasticMath
dmvt Feb 19, 2021
3469683
configurator service documentation
dmvt Feb 19, 2021
a274f56
further refactoring of docs of Factory and ElasticDAO
0xSSDD Feb 19, 2021
33c4dc0
clears up spelling and contract description
0xSSDD Feb 19, 2021
d5e7810
use ElasticDAO proxy instead of implementation, deploy implementation…
dmvt Feb 19, 2021
3c72401
refactors models documentation
Feb 19, 2021
d3ea8b0
refactors models to folow pattern
Feb 19, 2021
56a28ff
refactors elasticGovernanceToken documentation
0xSSDD Feb 19, 2021
277452d
refactors docs, adds events to models
0xSSDD Feb 22, 2021
a3b5a48
refactors event on TokenHolder
0xSSDD Feb 22, 2021
c657b84
swaps out hardhat proxy for PProxy, reuses implementations
dmvt Feb 22, 2021
fa1c533
update SDK so tests pass without local version running
dmvt Feb 22, 2021
5844814
fix readme and remove file from slither
alleycatdev Feb 24, 2021
fa1e5e3
typo / doc cleanup
dmvt Feb 26, 2021
da6a7e1
add yarn seed command to simplify things
dmvt Feb 26, 2021
83500ab
fixes collect fees (#42)
alleycatdev Mar 4, 2021
46b5b2c
fixes serialization on token can be envoked by anyone (#43)
alleycatdev Mar 5, 2021
a6310ce
Audit fix/bad behaving penalties#25 (#44)
alleycatdev Mar 5, 2021
25944f3
Audit fix/logic check#27 (#47)
dmvt Mar 5, 2021
4a65740
uses SafeMath for ElasticDAO capitalDelta calculation (#48)
0xSSDD Mar 5, 2021
7df80f6
updates div to not pass message for gas savings (#46)
alleycatdev Mar 8, 2021
3f79462
replaces double invocation of _getEcosystem with variable version (#49)
alleycatdev Mar 8, 2021
bd5eac6
removes import of safemath when we import elasticmath (#50)
alleycatdev Mar 8, 2021
cda5501
replaces deployedDAOCount with a function call of the same name to DA…
alleycatdev Mar 8, 2021
9b801c1
calculates t from Lambda and emits it in the Transfer event (#52)
alleycatdev Mar 8, 2021
caa95b5
adds gaurd to updateNumberOfTokenHolders (#53)
alleycatdev Mar 8, 2021
ea4a0fd
removes minter from onlyDAO (#54)
alleycatdev Mar 8, 2021
b0047fd
removes daoAddress from ElasticDAO.sol events (#55)
alleycatdev Mar 8, 2021
d6f3018
remove unnecessary guard (#56)
alleycatdev Mar 8, 2021
c1e91d3
removes ecosystem from DAO exists and passes daoAddress instead of ec…
alleycatdev Mar 8, 2021
b92232d
Audit fix/sybil attack enhancements#24 (#59)
alleycatdev Mar 8, 2021
44fdb34
fixes require newAllowance issue (#60)
0xvoider42 Mar 8, 2021
a4ab180
Audit fix/safemath pow in elasticmath revamp#29 (#58)
0xSSDD Mar 8, 2021
d394a49
fixes updateFeeAddress comment (#68)
alleycatdev Mar 9, 2021
6d59749
updates max voting lambda comment (#70)
alleycatdev Mar 9, 2021
874d362
updates join comment to match new functionality of purchasing maxToke…
alleycatdev Mar 9, 2021
54c910f
fixes issue with unused imports of SafeMath in the models (#75)
0xvoider42 Mar 9, 2021
d60db24
replaces second use of _getEcosystem with already instantiated one. (…
alleycatdev Mar 9, 2021
983a7e5
fixes incorrect triggering of Approval event (#77)
0xvoider42 Mar 9, 2021
6ec2a60
adds guard so that someone can't bork a deployment by submitting a su…
alleycatdev Mar 9, 2021
db132dd
replaces reentry protection with oz implementation (#79)
alleycatdev Mar 9, 2021
f0a76b9
consistency fix
dmvt Mar 10, 2021
ae4c37a
remove unnecessary check (#81)
dmvt Mar 10, 2021
d73c12c
adds mint to the IElasticToken interface (#83)
dmvt Mar 11, 2021
3ecca30
removed extra param from setting changed events (#85)
dmvt Mar 11, 2021
7c0ccc1
linter fixes
dmvt Mar 11, 2021
5e135e8
t is 0 when lambda is 0
dmvt Mar 11, 2021
35c57ce
adds amm compatability and calls sync() on all liquidity pools after …
alleycatdev Mar 14, 2021
178874c
adds kovan config
dmvt Mar 16, 2021
dac6d49
don't fail to run without a kovan private key
dmvt Mar 16, 2021
0c4ed6c
adds ropsten deploy config
dmvt Mar 16, 2021
5f5ef1c
fixes bug in the proxy owner setup
dmvt Mar 16, 2021
5778635
adds mainnet
dmvt Mar 17, 2021
fe7728d
add the var
dmvt Mar 17, 2021
073b601
fixes infinite minting bug
dmvt Apr 5, 2021
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
Binary file removed .DS_Store
Binary file not shown.
1 change: 1 addition & 0 deletions .eslintrc.js
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ module.exports = {
'mocha/no-mocha-arrows': 0,
'no-console': 0,
'no-underscore-dangle': 0,
'no-use-before-define': 0,
'object-curly-newline': 0,
},
};
37 changes: 21 additions & 16 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,16 +1,21 @@
./node_modules
node_modules
.env
yarn-error.log
artifacts/**/*.json

#Buidler files
cache
deployments
bin

#coverage
coverage
.coverage_cache
.coverage_contracts
.coverage_artifacts
./node_modules
node_modules
.env
yarn-error.log
artifacts/**/*.json

#Buidler files
cache
deployments
bin

#coverage
coverage
coverage.json
.coverage_cache
.coverage_contracts
.coverage_artifacts

miner*.json
.DS_Store
.DS_Store?
8 changes: 6 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,2 +1,6 @@
# contracts
Elastic DAO Contracts
# Elastic DAO Contracts
Contracts for the Elastic DAO platform.

This project uses [Hardhat](https://hardhat.org)


1 change: 0 additions & 1 deletion coverage.json

This file was deleted.

14 changes: 0 additions & 14 deletions deploy/balance.js

This file was deleted.

16 changes: 0 additions & 16 deletions deploy/balanceMultipliers.js

This file was deleted.

14 changes: 0 additions & 14 deletions deploy/configurator.js

This file was deleted.

14 changes: 14 additions & 0 deletions deploy/elasticDAO.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
module.exports = async ({ getNamedAccounts, deployments }) => {
const { deploy, log } = deployments;
const { agent } = await getNamedAccounts();

const elasticDAO = await deploy('ElasticDAO', {
from: agent,
args: [],
});

if (elasticDAO.newlyDeployed) {
log(`##### ElasticDAO: ElasticDAO has been deployed: ${elasticDAO.address}`);
}
};
module.exports.tags = ['ElasticDAO'];
15 changes: 13 additions & 2 deletions deploy/elasticDAOFactory.js
Original file line number Diff line number Diff line change
@@ -1,17 +1,28 @@
const { ethers } = require('ethers');
const hre = require('hardhat').ethers;

module.exports = async ({ getNamedAccounts, deployments }) => {
const { deploy, log } = deployments;
const { agent } = await getNamedAccounts();

const Ecosystem = await deployments.get('Ecosystem');
const ElasticDAO = await deployments.get('ElasticDAO');

const elasticDAOFactory = await deploy('ElasticDAOFactory', {
from: agent,
args: [Ecosystem.address],
args: [],
});

const factory = new ethers.Contract(
elasticDAOFactory.address,
elasticDAOFactory.abi,
hre.provider.getSigner(agent),
);
await factory.initialize(Ecosystem.address, ElasticDAO.address);

if (elasticDAOFactory.newlyDeployed) {
log(`##### ElasticDAO: ElasticDAOFactory has been deployed: ${elasticDAOFactory.address}`);
}
};
module.exports.tags = ['ElasticDAOFactory'];
module.exports.dependencies = ['Ecosystem'];
module.exports.dependencies = ['Ecosystem', 'ElasticDAO', 'ElasticGovernanceToken'];
16 changes: 16 additions & 0 deletions deploy/elasticGovernanceToken.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
module.exports = async ({ getNamedAccounts, deployments }) => {
const { deploy, log } = deployments;
const { agent } = await getNamedAccounts();

const elasticGovernanceToken = await deploy('ElasticGovernanceToken', {
from: agent,
args: [],
});

if (elasticGovernanceToken.newlyDeployed) {
log(
`##### ElasticDAO: ElasticGovernanceToken has been deployed: ${elasticGovernanceToken.address}`,
);
}
};
module.exports.tags = ['ElasticGovernanceToken'];
14 changes: 0 additions & 14 deletions deploy/elasticModule.js

This file was deleted.

47 changes: 0 additions & 47 deletions deploy/informationalVote.js

This file was deleted.

22 changes: 3 additions & 19 deletions deploy/initialDeployment.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,36 +5,26 @@ module.exports = async ({ getNamedAccounts, deployments }) => {
const { log } = deployments;
const { agent } = await getNamedAccounts();

const Balance = await deployments.get('Balance');
const BalanceMultipliers = await deployments.get('BalanceMultipliers');
const Configurator = await deployments.get('Configurator');
const Dao = await deployments.get('DAO');
const Ecosystem = await deployments.get('Ecosystem');
const ecosystemStorage = new ethers.Contract(
Ecosystem.address,
Ecosystem.abi,
hre.provider.getSigner(agent),
);
const ElasticModule = await deployments.get('ElasticModule');
const Registrator = await deployments.get('Registrator');
const ElasticGovernanceToken = await deployments.get('ElasticGovernanceToken');
const Token = await deployments.get('Token');
const TokenHolder = await deployments.get('TokenHolder');

const ecosystemStructArray = [
ethers.constants.AddressZero,
// Models
Balance.address,
BalanceMultipliers.address,
Dao.address,
Ecosystem.address,
ElasticModule.address,
TokenHolder.address,
Token.address,
// Services
Configurator.address,
Registrator.address,
// Tokens
ethers.constants.AddressZero,
ElasticGovernanceToken.address,
];

await ecosystemStorage.functions.serialize(ecosystemStructArray);
Expand All @@ -43,16 +33,10 @@ module.exports = async ({ getNamedAccounts, deployments }) => {
};
module.exports.tags = ['initialDeployment'];
module.exports.dependencies = [
'Balance',
'BalanceMultipliers',
'Configurator',
'DAO',
'Ecosystem',
'ElasticDAOFactory',
'ElasticModule',
'InformationalVote',
'TransactionalVote',
'Registrator',
'ElasticGovernanceToken',
'Token',
'TokenHolder',
];
14 changes: 0 additions & 14 deletions deploy/registrator.js

This file was deleted.

47 changes: 0 additions & 47 deletions deploy/transactionalVote.js

This file was deleted.

Loading