@gooddollar/goodcontracts
Version:
GoodDollar Contracts
853 lines • 501 kB
JSON
{
"contractName": "INativeToken",
"abi": [
{
"constant": false,
"inputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"name": "addMinter",
"outputs": [],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": false,
"inputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"name": "addPauser",
"outputs": [],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": false,
"inputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"name": "setFeeRecipient",
"outputs": [],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": false,
"inputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"name": "transferOwnership",
"outputs": [],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": false,
"inputs": [
{
"internalType": "address",
"name": "",
"type": "address"
},
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"name": "mint",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": false,
"inputs": [],
"name": "renounceMinter",
"outputs": [],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
}
],
"metadata": "{\"compiler\":{\"version\":\"0.5.16+commit.9c3226ce\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"addMinter\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"addPauser\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"mint\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"renounceMinter\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"setFeeRecipient\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"methods\":{}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/Users/hadar/workspace/GoodDollar/GoodBootstrap/packages/contracts/contracts/dao/DaoCreator3.sol\":\"INativeToken\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"/Users/hadar/workspace/GoodDollar/GoodBootstrap/packages/contracts/contracts/dao/DaoCreator.sol\":{\"keccak256\":\"0xc9ceb1548a3f00bff343349112195c4b21cad5a790a124e4a986d08a807bed95\",\"urls\":[\"bzz-raw://9cbd1b6e27bd6d081f13d0166e408a31c7522a5d69fd028011d81f18fea982a3\",\"dweb:/ipfs/QmeozcZ2dGcux5GgSdahZkGtK7ft6z3NAP4pzu2UnESNb6\"]},\"/Users/hadar/workspace/GoodDollar/GoodBootstrap/packages/contracts/contracts/dao/DaoCreator3.sol\":{\"keccak256\":\"0xbe3d66c98b1cf66786b052c8d2aee5140436dfb9ab829ae57d01aa4d956e173d\",\"urls\":[\"bzz-raw://80fc1cc9e225864ef63fb05129c38bad7c08f76dadae9f195645ce3d165667b3\",\"dweb:/ipfs/QmSCqQSsjGQeBWYtMC9W5oj7T1JCLWYC4Qa48ivJ664JxJ\"]},\"/Users/hadar/workspace/GoodDollar/GoodBootstrap/packages/contracts/contracts/dao/schemes/FeeFormula.sol\":{\"keccak256\":\"0x2ac93f891a65aa60b93e2b27552850dfa459b88f5a19edc29bb5bab0cc4f3eaa\",\"urls\":[\"bzz-raw://bddb94bc0230d959d2362887a253a47b91f0de6804cba8e4569a7cac47c39b5a\",\"dweb:/ipfs/QmTdkPQHRdzxJ7D7pi9cowLgYY9wVja416dhBwCsdtPEv5\"]},\"/Users/hadar/workspace/GoodDollar/GoodBootstrap/packages/contracts/contracts/dao/schemes/FormulaHolder.sol\":{\"keccak256\":\"0xb3c0d3bc21e71497784e1be11698ff501ee11545c3106bec2cae2e8af1bacd9b\",\"urls\":[\"bzz-raw://783b4e28b67231de0fbbe48e58f43f69db3f98fd7f75668edce145a55a9b5b17\",\"dweb:/ipfs/QmdeyRfeix3PGfaXqtRQpH1sjmjFpdtuGaPwnvRn7nHAWd\"]},\"/Users/hadar/workspace/GoodDollar/GoodBootstrap/packages/contracts/contracts/dao/schemes/SchemeGuard.sol\":{\"keccak256\":\"0x32e1b2a172e2c22a6aa757bfcb0722cc67f64c5c2e48df3dec2737903516d565\",\"urls\":[\"bzz-raw://bee57a8eba08348e93a0c18f3ab534e67865c0fa27afe27f5cf234bd5f248915\",\"dweb:/ipfs/Qmd8aveHWcUkYWMyJrJRZPyVXj8MAMBfpBFo6g4Z2VJeo3\"]},\"/Users/hadar/workspace/GoodDollar/GoodBootstrap/packages/contracts/contracts/identity/Identity.sol\":{\"keccak256\":\"0x282184478f1d618d3523b28a84a7f7003dfdc99cad120e5e358d2cce1f5fb491\",\"urls\":[\"bzz-raw://67e17ecb57b24c4fb801abc2c52c3148af3b967e28da4fb7e074d18efb7a57c1\",\"dweb:/ipfs/QmfZ8jXhdTHtxr3gfByRj4HnXnGynX7SLZWWGR8k768aGB\"]},\"/Users/hadar/workspace/GoodDollar/GoodBootstrap/packages/contracts/contracts/identity/IdentityAdminRole.sol\":{\"keccak256\":\"0x8e82c45eefe0da77d017144dfad12602c68124297035937901cdd08ce48c57ff\",\"urls\":[\"bzz-raw://e20e606342b3b35f41a081294cf3f716fe7e27e81d3090daa37c5208f4ef4bc3\",\"dweb:/ipfs/QmVEhHpiwVsksnPyHkfNa5LpTBLxoP9kj5NRZUBv456ewK\"]},\"/Users/hadar/workspace/GoodDollar/GoodBootstrap/packages/contracts/contracts/identity/IdentityGuard.sol\":{\"keccak256\":\"0xcc395c0e8f812201b5ed1f45e7272120ee5ffe73bfe13e325dfd872aef235b22\",\"urls\":[\"bzz-raw://58f93e4b9f48ec31ac151208e4f9e6b356cc23dfc9585d846bc09bf35d6ff7be\",\"dweb:/ipfs/QmdxJHUCaFx8N66kkDhYdA4k6d2V91yBRG6sombuPxBq7X\"]},\"/Users/hadar/workspace/GoodDollar/GoodBootstrap/packages/contracts/contracts/token/ERC677/ERC677.sol\":{\"keccak256\":\"0x8360b9e356df8584d95990bb7e772342b30d9e22b160f7c875fbca5c0b87453c\",\"urls\":[\"bzz-raw://97cc6e5586cedcd49462cc465a2a8fc5063d7ec6cb9533f4e0099969a75bd4b2\",\"dweb:/ipfs/QmXw6y4iXfqyJHDRrHdd5ofQ6E4cuHDw4LiYupReJ1rCBc\"]},\"/Users/hadar/workspace/GoodDollar/GoodBootstrap/packages/contracts/contracts/token/ERC677/ERC677Receiver.sol\":{\"keccak256\":\"0xc5683b28527097379ed090b28bb46e17a50a2c57ddcb3c7e028fcd04ddc64aef\",\"urls\":[\"bzz-raw://639f6b6cf65382faea738e6326d6aeb289b8b030cf02f40c54bc45ec098eda6d\",\"dweb:/ipfs/QmQi7dFcKiwUxSbzhus4CxFTdNJvUsfiqY6i3bD4RdMQrn\"]},\"/Users/hadar/workspace/GoodDollar/GoodBootstrap/packages/contracts/contracts/token/ERC677BridgeToken.sol\":{\"keccak256\":\"0x014fa09dca773b1406855e628687be50c1eb129894f45a8b5c9fc709d826968d\",\"urls\":[\"bzz-raw://23c6491c0c26471315010687d785a3724ae33198be6ed39828d1a4f7e6873cb4\",\"dweb:/ipfs/QmW62FXHtLdNGzB8Nq9XwmwHp6Jn8jgbAVyrU2j7c7w6By\"]},\"/Users/hadar/workspace/GoodDollar/GoodBootstrap/packages/contracts/contracts/token/ERC677Token.sol\":{\"keccak256\":\"0x553a103b911d77cecb2ce3f355b2370c4a23eb070593d7c8eb46f33e3a5ff141\",\"urls\":[\"bzz-raw://e37438ce280964498b77f63bbe4d1f25c55ff4c178925447a70decceda06e46c\",\"dweb:/ipfs/QmbqCLhWjZqpFBnUVb3H7LkEbAaVmhf76Ln14oWnGimYGM\"]},\"/Users/hadar/workspace/GoodDollar/GoodBootstrap/packages/contracts/contracts/token/GoodDollar.sol\":{\"keccak256\":\"0x7b91359f6912641c7dbfeced9a5c47454acce7c2cab9205d00b8049d228d7b78\",\"urls\":[\"bzz-raw://3a09bc6936d0179e2e5be2687446532d63135bc537f7ab246c6a1101d4849c1f\",\"dweb:/ipfs/QmNshqF7Xu7UX8BryKYRbnRQdTfytPappxkHq5xMxF5vpE\"]},\"@daostack/arc/contracts/controller/Avatar.sol\":{\"keccak256\":\"0x4e4fb9d3bc21f42fbfc6a01e9f8aa483a59e9f447b0d604f55b587a81ec09ef4\",\"urls\":[\"bzz-raw://9d3c1c7575cf6075ea1d89921f09b9b8e322b208dacaf0446cd4f64506c999f0\",\"dweb:/ipfs/QmVGDDHAR2ByuQpbgV7BBKXGEAcbaWvejpEZYzHgaagBFK\"]},\"@daostack/arc/contracts/controller/Controller.sol\":{\"keccak256\":\"0xb46102ed94ae64c1c4cdb758e0f35b652f3bea6f7a32fa1fe988cbbeb489872a\",\"urls\":[\"bzz-raw://84e4f0fd93a10602ad6d331160ff5429107b74da9e684d96d32ee25aad6ab748\",\"dweb:/ipfs/QmPNu7s7x7reUY9tupW7bxNz5TY6Adu9tjRkj9x6X6ys55\"]},\"@daostack/arc/contracts/controller/ControllerInterface.sol\":{\"keccak256\":\"0x933e92612c90f292c7b59908958b003f1a13d90b97bed0572b566353c20974dc\",\"urls\":[\"bzz-raw://ce1fcf85b744fcce2dbd4205e3943e9b4ec36a5f0330d4bbf61e65f1a3e0e470\",\"dweb:/ipfs/QmUWiLkBDdekhpy93nTzBtxDHL6yNh6sTUM9G8VbsHcBzy\"]},\"@daostack/arc/contracts/controller/DAOToken.sol\":{\"keccak256\":\"0x9b213e4e3ceeffcfc1c962a43b70b8d763d8091a2dd713fc1989b97bb68786e6\",\"urls\":[\"bzz-raw://51d1d6e85fd90f45395a16b7a3c703c4636e836041f2a13f806e4222ef2e59c1\",\"dweb:/ipfs/QmQjeCeFf7TJzsYjT5scyZUDDixBA8Yy8YppgBuxcKPDnP\"]},\"@daostack/arc/contracts/globalConstraints/GlobalConstraintInterface.sol\":{\"keccak256\":\"0xc006c4591ec10b845a56e13f6791db2c428610953034686d52b2a934b6c8f36f\",\"urls\":[\"bzz-raw://19495cd88280e54d7ddcd043ffeff75e6d3777a0c42debcd61cae448e9497ea0\",\"dweb:/ipfs/QmYxWz7CgFmmddrcVXJKfob5Ktwykc2imNVUwLSR5WR8bJ\"]},\"@daostack/arc/contracts/libs/SafeERC20.sol\":{\"keccak256\":\"0xf6727d432f67046145b078f40c1cc4f6be7b0d12a6678ecaf457edf7550d244c\",\"urls\":[\"bzz-raw://5dba7734c4fed446c084a707761cbc66ba22b8b93ef53c8d4a22a76b6e271690\",\"dweb:/ipfs/QmP2VpPKUqLh4ZZs6LaxHVpCN1zCmiorygL9bMub4mbYCw\"]},\"@daostack/arc/contracts/universalSchemes/SchemeRegistrar.sol\":{\"keccak256\":\"0x13934eeba4d723347fceb4feaee0ed5a48d5d27f1b68800f0c0cc0ee91ead7c3\",\"urls\":[\"bzz-raw://911cd363dcfd942b2836969cd7a8c0a719518fafc6f5f129cc70018e17f24614\",\"dweb:/ipfs/QmWPVS5P14XAQvnG6Ccd6MSadFfbNGdqZaH9GsCLnnj3Wo\"]},\"@daostack/arc/contracts/universalSchemes/UniversalScheme.sol\":{\"keccak256\":\"0xcfdb7d336d21b3b16a31125d3bd8c88f7c4c944510f4488162247badb6411017\",\"urls\":[\"bzz-raw://d17df7fe23080da4da159c57a23793fed90dbc8129ab8d752365e6b5f07a9e2a\",\"dweb:/ipfs/QmUUNrcMqrxT3k1V4z9p9HJUnxPdNNgf5CB8NUHc5uMwBd\"]},\"@daostack/arc/contracts/universalSchemes/UniversalSchemeInterface.sol\":{\"keccak256\":\"0x956b0dbe20b6aeea74565a9204f72fba1580874d27cd63955f93e9491cabb6b1\",\"urls\":[\"bzz-raw://1bd1812db855997c2c5f3df4a0a5ae568977ac05c2066999a08ce251dce05c07\",\"dweb:/ipfs/QmRbvtTZHUnSypBqaiAUZxUbK8sGzgVpyK3f6zCz9utVDz\"]},\"@daostack/arc/contracts/universalSchemes/UpgradeScheme.sol\":{\"keccak256\":\"0xf1b96fe311f836e717959900926f7e3d7b55bf92d46e459bb8e021a9912156e8\",\"urls\":[\"bzz-raw://4f459d59cc17dfc1893b3ed14015dd85e2c4d80671680d6764c0c4648fab8fae\",\"dweb:/ipfs/QmYLWswcuARwxf8aBmnZSLUyjtCe39n2zjzFUc9UY4R9GX\"]},\"@daostack/arc/contracts/votingMachines/VotingMachineCallbacks.sol\":{\"keccak256\":\"0x4052c6f57add891f5f6514a7837f54955ac1f3ad4654fa45d864e4aad19864ba\",\"urls\":[\"bzz-raw://3c41bfc9e42463f3a9c0a4a6fc75382661e1f8e04e20886ff623e7a671aa28ed\",\"dweb:/ipfs/QmXZhcp17q64esWMwWAjJ2CkjHbG9btWRMhRs78LBrVLjD\"]},\"@daostack/infra/contracts/Reputation.sol\":{\"keccak256\":\"0x3d226dac0fe7d758f0287fb28bc25fcec1f69d19888ae3a550fa49856d61c482\",\"urls\":[\"bzz-raw://8856852c8fe0ba1c9aab326f0a9a6e7f31a238de2778fa5188e6fc399f7eb352\",\"dweb:/ipfs/QmVH4ppR9Dk7v8yxaSgeArdMv9gBBVoQxEf4E3UsqQ4rY2\"]},\"@daostack/infra/contracts/libs/RealMath.sol\":{\"keccak256\":\"0x3ee79c4b483da327916ac36f9d5cc6a1f2f0363db3ad06793ec67f46e1f653db\",\"urls\":[\"bzz-raw://19b423aa16b93e414c50ca513caabc0f1cb835f31deec82d85d9bb31c0f8d5fb\",\"dweb:/ipfs/QmS8gjtT3jxxoNAosJf6QSStFAE2KZLhNA1Qq9MXwT2CnN\"]},\"@daostack/infra/contracts/votingMachines/AbsoluteVote.sol\":{\"keccak256\":\"0x5e6a9d2d70bd86115d82abc3b294672cddc7f49f0dbad93af28c5e0133a3586e\",\"urls\":[\"bzz-raw://3ddc8aa9998a57cd5f9b85a016a1fe2086abb6e7adde209ded6a16cfc5480d97\",\"dweb:/ipfs/QmaxttQizPNWZDNeX3TBWa4jmHavm6We8MLZpmcPy21rGS\"]},\"@daostack/infra/contracts/votingMachines/GenesisProtocol.sol\":{\"keccak256\":\"0x0321da6019e0e1a7fc4e1ca484d7d5d376805abb17f9eb9c46a6731e9dfe58dc\",\"urls\":[\"bzz-raw://a245bc547655b1157fa33198e66fdc8470bcf20a6c56c12b2a02eec28f998849\",\"dweb:/ipfs/QmUsbHxWU5A8SJuDdKDMChu855X9KEqJjaZpTaVQG4W8Wq\"]},\"@daostack/infra/contracts/votingMachines/GenesisProtocolLogic.sol\":{\"keccak256\":\"0x2bf5fba64fbda5605b9250ea8ca6d8e28dab41fb0e2b43c9145b91e1d0425eef\",\"urls\":[\"bzz-raw://3b34c1f70c2b98d4f3add9264700f60cb3deed47610e010f3d4ac112ab107930\",\"dweb:/ipfs/QmY46SXZnKJeUmbsSfwkW1zNh1YP4FHUjAbVJUJXqhKNwV\"]},\"@daostack/infra/contracts/votingMachines/IntVoteInterface.sol\":{\"keccak256\":\"0x877991da94b1fe9c2accf69367b32fff474c4e4f7897e9cf5a61fa5d1378908f\",\"urls\":[\"bzz-raw://4ea2c35248b82ea74884313752870789de61b0bcbc14425e97192b1ef1450e5a\",\"dweb:/ipfs/QmZ9RxpmG6SsMLJm1hT9ZmVy3CVPNZyRihQxZFDk8u3w1G\"]},\"@daostack/infra/contracts/votingMachines/ProposalExecuteInterface.sol\":{\"keccak256\":\"0xb80a153793e1723b35e70ba1c3800975fbc1fae63c989cfb8134a4e58085e181\",\"urls\":[\"bzz-raw://7ea97373ca977623d4c480c1d03e0853b1b34d59df4928ef72548987b2943899\",\"dweb:/ipfs/QmZ1MmDX4ExZ1iEo9gFp3SHfpNjWoLHS9nVhFkTRokgoLS\"]},\"@daostack/infra/contracts/votingMachines/VotingMachineCallbacksInterface.sol\":{\"keccak256\":\"0xec215d305f0aa5a5193b6f0302a1aa6bb84e85460167f80b261faf9d30564563\",\"urls\":[\"bzz-raw://8edb25b20c86a28b5c7c7c3a918f219106a1d3047933984dd76e33e30911857d\",\"dweb:/ipfs/Qme1iBcLjPPrC6jMF56cSE9pmEdCQ23aT43wQbnqKjXEYe\"]},\"openzeppelin-solidity/contracts/access/Roles.sol\":{\"keccak256\":\"0x659ba0f9a3392cd50a8a5fafaf5dfd8c6a0878f6a4613bceff4e90dceddcd865\",\"urls\":[\"bzz-raw://4ca6617349a9b36fd82e9442a8e445ce9021a174e4399d1457ddc894ee3f5df3\",\"dweb:/ipfs/QmcmyB4cNazZ1sw963Afaijt67M9bDgwmGXCgQajGTD4tm\"]},\"openzeppelin-solidity/contracts/access/roles/MinterRole.sol\":{\"keccak256\":\"0x3199053db04cdae6c9b4380921a4a4ee720b568d6a9660883b29d25fbec31bc0\",\"urls\":[\"bzz-raw://1b0ff368e21d6007c06e4cfb286fe59d7d7d3ec06283300c9be2153ba11fa93a\",\"dweb:/ipfs/QmRPq2wZM4RAcbj31dP34GCr1CSy2qy3JqfXEkdVie4HLT\"]},\"openzeppelin-solidity/contracts/access/roles/PauserRole.sol\":{\"keccak256\":\"0x6506133e295a7199df2ac5dfc52853d9d767f68450b6d0193e9d8056b164ce86\",\"urls\":[\"bzz-raw://9c03592a9e6b1377e401b74eccf175a250232b5a341347d3fc5cb50e9bc86ba2\",\"dweb:/ipfs/QmYAr1yXT89hNUMJ37aiBpD9HtYfBDqmueVCzphRuuU7oZ\"]},\"openzeppelin-solidity/contracts/cryptography/ECDSA.sol\":{\"keccak256\":\"0xb48974d92a87053dc1d6c5389f3d1b2ad522dec23afcb508eaa935d98dfdc0b6\",\"urls\":[\"bzz-raw://4ca542b4b005c3fa1b4e145f86cefc50cd5eb11e7df0d3b6daca5328a075f090\",\"dweb:/ipfs/QmQFNcoXCZvEPt2WWueAYvaMns16VdN6VvdPdEbUav876u\"]},\"openzeppelin-solidity/contracts/lifecycle/Pausable.sol\":{\"keccak256\":\"0x3b0ed31deeba7e3c6cfbbe8092a6b427084ee390800a06acdea5c17c8185d606\",\"urls\":[\"bzz-raw://bbdbf9d3754fcdcc85aec0432fabcec914317b1c2081b43753442ed53853a34a\",\"dweb:/ipfs/QmVHWQBn5xQkQEHhyGNEeS5gjjALZEk5ZfcjFt7kL6MoLy\"]},\"openzeppelin-solidity/contracts/math/Math.sol\":{\"keccak256\":\"0x37605dd0606b349cfb1b679892e1bb0ef4ddc16dedb06e229cc4402610a7a848\",\"urls\":[\"bzz-raw://c44b0c7fe0523f3f9a10d2924d7d7137b1349b1e71cd4be57550e185a098ca55\",\"dweb:/ipfs/QmbBLBCBPpqna3QZTiomSwyBdtt5Ua9DqkFgYicMd7Coya\"]},\"openzeppelin-solidity/contracts/math/SafeMath.sol\":{\"keccak256\":\"0x965012d27b4262d7a41f5028cbb30c51ebd9ecd4be8fb30380aaa7a3c64fbc8b\",\"urls\":[\"bzz-raw://1eb493553b27efd46c231a836a83ce50d215639feb97b4aac9f301d0fd034ff5\",\"dweb:/ipfs/QmbMdvSXcqGKxeeYvzF3VrWpoHQyVzMXBhzhAokF2Gdymv\"]},\"openzeppelin-solidity/contracts/ownership/Ownable.sol\":{\"keccak256\":\"0x980de387a1a020a498f53d00f89fecebb12c949a17e8f160093c0303ede2b786\",\"urls\":[\"bzz-raw://f07a2c393caa85f62f0aaa461e3edd50aa59371d4209778ba0558d7f8b4b856c\",\"dweb:/ipfs/QmeN3ZiYGSjCnQFeYaJNgoXjF9eDue1g3e9pqManRkeBtV\"]},\"openzeppelin-solidity/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xba431353cb4fe70777ac026231eb5468e41aa1e81240a2b8136917acc5fff4dc\",\"urls\":[\"bzz-raw://f40c91ca270bdc9b156f339081a0fc2bbcf73cf5f62b8c73ba555df753ff6619\",\"dweb:/ipfs/QmT8y2VVjGaFdGphpcXrgvdPi2EgF9LuCDgJiJ89LvpFRV\"]},\"openzeppelin-solidity/contracts/token/ERC20/ERC20Burnable.sol\":{\"keccak256\":\"0xa3e68fd7f987c8fbdaf4867d428a69a15f3cf2f69709a5b0a0fbef750b0e6fbc\",\"urls\":[\"bzz-raw://50b1ff986d3b2793850a66c8429d9886fdfb134b1509b3e98714e3e2a71e24f5\",\"dweb:/ipfs/QmSQBYPeY9tbR3ciGRNQqvcWKnNiuxtVMq2MsPWpLwuGGm\"]},\"openzeppelin-solidity/contracts/token/ERC20/ERC20Pausable.sol\":{\"keccak256\":\"0x37b840977505e5f6d74bc8fa3d0217facc7913d0ecf064da3e3b26494acd37de\",\"urls\":[\"bzz-raw://7456513521bae915089dfd5879b685e47f3f180ad9ffe24cc3b19275b1da28ed\",\"dweb:/ipfs/QmbM1avKkyyTHEeTs3CqheyZwgAMNzVi3iDudqBdUJ2WPM\"]},\"openzeppelin-solidity/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x079c4e23ee448f529e43bfa3c4e8fb4be52cd0318ee923a276835bedf45b93d8\",\"urls\":[\"bzz-raw://ee762ff5b7746e41d27dcbcea00c7a3034b58adb1b45ddadddb5b721aff450df\",\"dweb:/ipfs/QmdxqtgEFZjHCoiYyz6pUAQ5iBm7As25jcyEbZoTaAgyDa\"]},\"openzeppelin-solidity/contracts/utils/Address.sol\":{\"keccak256\":\"0x5c731061b804fa256fc8c05150eafe5d20b6bb94541a8f187912bf84f7033f34\",\"urls\":[\"bzz-raw://a3c2d9f046beebab7fb41b1b124a6a124a36f510f7c67365861402ac831bdc71\",\"dweb:/ipfs/QmUtASRgitregbKH83anopLtF9vFQe3BKeAjhUa6F7t9YV\"]}},\"version\":1}",
"bytecode": "0x",
"deployedBytecode": "0x",
"sourceMap": "",
"deployedSourceMap": "",
"source": "pragma solidity >0.5.4;\n\nimport \"@daostack/arc/contracts/controller/Controller.sol\";\nimport \"@daostack/infra/contracts/Reputation.sol\";\n\nimport \"../token/GoodDollar.sol\";\nimport \"../identity/IdentityGuard.sol\";\nimport \"../dao/schemes/FeeFormula.sol\";\nimport \"./DaoCreator.sol\";\n\ninterface INativeToken {\n\tfunction addMinter(address) external;\n\n\tfunction addPauser(address) external;\n\n\tfunction setFeeRecipient(address) external;\n\n\tfunction transferOwnership(address) external;\n\n\tfunction mint(address, uint256) external returns (bool);\n\n\tfunction renounceMinter() external;\n}\n\n/**\n * @title Genesis Scheme that creates organizations. Taken and modified from @daostack.\n */\ncontract DaoCreatorGoodDollarWithTokens {\n\tAvatar public avatar;\n\taddress public lock;\n\n\tevent NewOrg(address _avatar);\n\tevent InitialSchemesSet(address _avatar);\n\n\tconstructor() public {}\n\n\t/**\n\t * @dev Create a new organization\n\t * @param _nativeToken The token associated with the organization, need to have ownership + minting assigned to this contract\n\t * @param _founders An array with the addresses of the founders of the organization\n\t * @param _avatarTokenAmount Amount of tokens that the avatar receive in the new organization\n\t * @param _foundersReputationAmount An array of amount of reputation that the\n\t * founders receive in the new organization\n\t * @return The address of the avatar of the controller\n\t */\n\tfunction forgeOrg(\n\t\tINativeToken _nativeToken,\n\t\tReputation _reputation,\n\t\taddress[] calldata _founders,\n\t\tuint256 _avatarTokenAmount,\n\t\tuint256[] calldata _foundersReputationAmount\n\t) external returns (address) {\n\t\t//The call for the private function is needed to bypass a deep stack issues\n\t\treturn\n\t\t\t_forgeOrg(\n\t\t\t\t_nativeToken,\n\t\t\t\t_reputation,\n\t\t\t\t_founders,\n\t\t\t\t_avatarTokenAmount,\n\t\t\t\t_foundersReputationAmount\n\t\t\t);\n\t}\n\n\t/**\n\t * @dev Set initial schemes for the organization.\n\t * @param _avatar organization avatar (returns from forgeOrg)\n\t * @param _schemes the schemes to register for the organization\n\t * @param _params the schemes parameters\n\t * @param _permissions the schemes permissions.\n\t * @param _metaData dao meta data hash\n\t */\n\tfunction setSchemes(\n\t\tAvatar _avatar,\n\t\taddress[] calldata _schemes,\n\t\tbytes32[] calldata _params,\n\t\tbytes4[] calldata _permissions,\n\t\tstring calldata _metaData\n\t) external {\n\t\t// this action can only be executed by the account that holds the lock\n\t\t// for this controller\n\t\trequire(lock == msg.sender, \"Message sender is not lock\");\n\t\t// register initial schemes:\n\t\tControllerInterface controller = ControllerInterface(_avatar.owner());\n\t\tfor (uint256 i = 0; i < _schemes.length; i++) {\n\t\t\tcontroller.registerScheme(\n\t\t\t\t_schemes[i],\n\t\t\t\t_params[i],\n\t\t\t\t_permissions[i],\n\t\t\t\taddress(_avatar)\n\t\t\t);\n\t\t}\n\t\tcontroller.metaData(_metaData, _avatar);\n\t\t// Unregister self:\n\t\tcontroller.unregisterScheme(address(this), address(_avatar));\n\t\t// Remove lock:\n\t\tlock = address(0);\n\t\temit InitialSchemesSet(address(_avatar));\n\t\tselfdestruct(address(0));\n\t}\n\n\t/**\n\t * @dev Create a new organization\n\t * @param _founders An array with the addresses of the founders of the organization\n\t * @param _avatarTokenAmount Amount of tokens that the avatar receive on startup\n\t * @param _foundersReputationAmount An array of amount of reputation that the\n\t * founders receive in the new organization\n\t * @return The address of the avatar of the controller\n\t */\n\tfunction _forgeOrg(\n\t\tINativeToken nativeToken,\n\t\tReputation _nativeReputation,\n\t\taddress[] memory _founders,\n\t\tuint256 _avatarTokenAmount,\n\t\tuint256[] memory _foundersReputationAmount\n\t) private returns (address) {\n\t\t// Create Token, Reputation and Avatar:\n\t\trequire(lock == address(0), \"Lock already exists\");\n\t\trequire(\n\t\t\t_founders.length == _foundersReputationAmount.length,\n\t\t\t\"Founder reputation missing\"\n\t\t);\n\t\t// require(_founders.length > 0, \"Must have at least one founder\");\n\n\t\tavatar = addFounders(\n\t\t\tnativeToken,\n\t\t\t_nativeReputation,\n\t\t\tmsg.sender,\n\t\t\t_founders,\n\t\t\t_avatarTokenAmount,\n\t\t\t_foundersReputationAmount\n\t\t);\n\n\t\tlock = msg.sender;\n\n\t\temit NewOrg(address(avatar));\n\t\treturn (address(avatar));\n\t}\n\n\t/**\n\t * @param _founders An array with the addresses of the founders of the organization\n\t * @param _avatarTokenAmount Amount of tokens that the avatar receive on new organization\n\t * @param _foundersReputationAmount An array of amount of reputation that the\n\t * founders receive in the new organization\n\t */\n\tfunction addFounders(\n\t\tINativeToken nativeToken,\n\t\tReputation nativeReputation,\n\t\taddress _sender,\n\t\taddress[] memory _founders,\n\t\tuint256 _avatarTokenAmount,\n\t\tuint256[] memory _foundersReputationAmount\n\t) public returns (Avatar) {\n\t\tavatar = new Avatar(\n\t\t\t\"GoodDollar\",\n\t\t\tDAOToken(address(nativeToken)),\n\t\t\tnativeReputation\n\t\t);\n\n\t\t//mint token to avatar\n\n\t\tnativeToken.addMinter(address(this));\n\n\t\tif (_avatarTokenAmount > 0) {\n\t\t\tnativeToken.mint(address(this), _avatarTokenAmount);\n\t\t}\n\n\t\t// Mint reputation for founders:\n\t\tfor (uint256 i = 0; i < _founders.length; i++) {\n\t\t\trequire(\n\t\t\t\t_founders[i] != address(0),\n\t\t\t\t\"Founder cannot be zero address\"\n\t\t\t);\n\t\t\tif (_foundersReputationAmount[i] > 0) {\n\t\t\t\tnativeReputation.mint(\n\t\t\t\t\t_founders[i],\n\t\t\t\t\t_foundersReputationAmount[i]\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t\t// Create Controller:\n\t\tControllerInterface controller = ControllerInterface(\n\t\t\tnew Controller(avatar)\n\t\t);\n\n\t\t// Set fee recipient and Transfer ownership:\n\t\tnativeToken.setFeeRecipient(address(avatar));\n\n\t\tavatar.transferOwnership(address(controller));\n\t\t// nativeReputation.transferOwnership(address(controller)); //GReputation doesnt have ownership\n\n\t\t// Add minters\n\t\tnativeToken.addMinter(_sender);\n\t\tnativeToken.addMinter(address(avatar));\n\t\tnativeToken.addMinter(address(controller));\n\t\tnativeToken.addPauser(address(avatar));\n\n\t\tnativeToken.renounceMinter();\n\t\tnativeToken.transferOwnership(address(avatar));\n\n\t\treturn (avatar);\n\t}\n}\n",
"sourcePath": "/Users/hadar/workspace/GoodDollar/GoodBootstrap/packages/contracts/contracts/dao/DaoCreator3.sol",
"ast": {
"absolutePath": "/Users/hadar/workspace/GoodDollar/GoodBootstrap/packages/contracts/contracts/dao/DaoCreator3.sol",
"exportedSymbols": {
"DaoCreatorGoodDollarWithTokens": [
1794
],
"INativeToken": [
1420
]
},
"id": 1795,
"nodeType": "SourceUnit",
"nodes": [
{
"id": 1381,
"literals": [
"solidity",
">",
"0.5",
".4"
],
"nodeType": "PragmaDirective",
"src": "0:23:4"
},
{
"absolutePath": "@daostack/arc/contracts/controller/Controller.sol",
"file": "@daostack/arc/contracts/controller/Controller.sol",
"id": 1382,
"nodeType": "ImportDirective",
"scope": 1795,
"sourceUnit": 9998,
"src": "25:59:4",
"symbolAliases": [],
"unitAlias": ""
},
{
"absolutePath": "@daostack/infra/contracts/Reputation.sol",
"file": "@daostack/infra/contracts/Reputation.sol",
"id": 1383,
"nodeType": "ImportDirective",
"scope": 1795,
"sourceUnit": 12260,
"src": "85:50:4",
"symbolAliases": [],
"unitAlias": ""
},
{
"absolutePath": "/Users/hadar/workspace/GoodDollar/GoodBootstrap/packages/contracts/contracts/token/GoodDollar.sol",
"file": "../token/GoodDollar.sol",
"id": 1384,
"nodeType": "ImportDirective",
"scope": 1795,
"sourceUnit": 7634,
"src": "137:33:4",
"symbolAliases": [],
"unitAlias": ""
},
{
"absolutePath": "/Users/hadar/workspace/GoodDollar/GoodBootstrap/packages/contracts/contracts/identity/IdentityGuard.sol",
"file": "../identity/IdentityGuard.sol",
"id": 1385,
"nodeType": "ImportDirective",
"scope": 1795,
"sourceUnit": 5735,
"src": "171:39:4",
"symbolAliases": [],
"unitAlias": ""
},
{
"absolutePath": "/Users/hadar/workspace/GoodDollar/GoodBootstrap/packages/contracts/contracts/dao/schemes/FeeFormula.sol",
"file": "../dao/schemes/FeeFormula.sol",
"id": 1386,
"nodeType": "ImportDirective",
"scope": 1795,
"sourceUnit": 2634,
"src": "211:39:4",
"symbolAliases": [],
"unitAlias": ""
},
{
"absolutePath": "/Users/hadar/workspace/GoodDollar/GoodBootstrap/packages/contracts/contracts/dao/DaoCreator.sol",
"file": "./DaoCreator.sol",
"id": 1387,
"nodeType": "ImportDirective",
"scope": 1795,
"sourceUnit": 908,
"src": "251:26:4",
"symbolAliases": [],
"unitAlias": ""
},
{
"baseContracts": [],
"contractDependencies": [],
"contractKind": "interface",
"documentation": null,
"fullyImplemented": false,
"id": 1420,
"linearizedBaseContracts": [
1420
],
"name": "INativeToken",
"nodeType": "ContractDefinition",
"nodes": [
{
"body": null,
"documentation": null,
"id": 1392,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "addMinter",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 1390,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 1389,
"name": "",
"nodeType": "VariableDeclaration",
"scope": 1392,
"src": "324:7:4",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 1388,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "324:7:4",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "323:9:4"
},
"returnParameters": {
"id": 1391,
"nodeType": "ParameterList",
"parameters": [],
"src": "341:0:4"
},
"scope": 1420,
"src": "305:37:4",
"stateMutability": "nonpayable",
"superFunction": null,
"visibility": "external"
},
{
"body": null,
"documentation": null,
"id": 1397,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "addPauser",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 1395,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 1394,
"name": "",
"nodeType": "VariableDeclaration",
"scope": 1397,
"src": "364:7:4",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 1393,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "364:7:4",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "363:9:4"
},
"returnParameters": {
"id": 1396,
"nodeType": "ParameterList",
"parameters": [],
"src": "381:0:4"
},
"scope": 1420,
"src": "345:37:4",
"stateMutability": "nonpayable",
"superFunction": null,
"visibility": "external"
},
{
"body": null,
"documentation": null,
"id": 1402,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "setFeeRecipient",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 1400,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 1399,
"name": "",
"nodeType": "VariableDeclaration",
"scope": 1402,
"src": "410:7:4",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 1398,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "410:7:4",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "409:9:4"
},
"returnParameters": {
"id": 1401,
"nodeType": "ParameterList",
"parameters": [],
"src": "427:0:4"
},
"scope": 1420,
"src": "385:43:4",
"stateMutability": "nonpayable",
"superFunction": null,
"visibility": "external"
},
{
"body": null,
"documentation": null,
"id": 1407,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "transferOwnership",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 1405,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 1404,
"name": "",
"nodeType": "VariableDeclaration",
"scope": 1407,
"src": "458:7:4",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 1403,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "458:7:4",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "457:9:4"
},
"returnParameters": {
"id": 1406,
"nodeType": "ParameterList",
"parameters": [],
"src": "475:0:4"
},
"scope": 1420,
"src": "431:45:4",
"stateMutability": "nonpayable",
"superFunction": null,
"visibility": "external"
},
{
"body": null,
"documentation": null,
"id": 1416,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "mint",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 1412,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 1409,
"name": "",
"nodeType": "VariableDeclaration",
"scope": 1416,
"src": "493:7:4",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 1408,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "493:7:4",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 1411,
"name": "",
"nodeType": "VariableDeclaration",
"scope": 1416,
"src": "502:7:4",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 1410,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "502:7:4",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "492:18:4"
},
"returnParameters": {
"id": 1415,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 1414,
"name": "",
"nodeType": "VariableDeclaration",
"scope": 1416,
"src": "529:4:4",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
},
"typeName": {
"id": 1413,
"name": "bool",
"nodeType": "ElementaryTypeName",
"src": "529:4:4",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "528:6:4"
},
"scope": 1420,
"src": "479:56:4",
"stateMutability": "nonpayable",
"superFunction": null,
"visibility": "external"
},
{
"body": null,
"documentation": null,
"id": 1419,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "renounceMinter",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 1417,
"nodeType": "ParameterList",
"parameters": [],
"src": "561:2:4"
},
"returnParameters": {
"id": 1418,
"nodeType": "ParameterList",
"parameters": [],
"src": "572:0:4"
},
"scope": 1420,
"src": "538:35:4",
"stateMutability": "nonpayable",
"superFunction": null,
"visibility": "external"
}
],
"scope": 1795,
"src": "279:296:4"
},
{
"baseContracts": [],
"contractDependencies": [
8541,
9997
],
"contractKind": "contract",
"documentation": "@title Genesis Scheme that creates organizations. Taken and modified from @daostack.",
"fullyImplemented": true,
"id": 1794,
"linearizedBaseContracts": [
1794
],
"name": "DaoCreatorGoodDollarWithTokens",
"nodeType": "ContractDefinition",
"nodes": [
{
"constant": false,
"id": 1422,
"name": "avatar",
"nodeType": "VariableDeclaration",
"scope": 1794,
"src": "716:20:4",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_contract$_Avatar_$8541",
"typeString": "contract Avatar"
},
"typeName": {
"contractScope": null,
"id": 1421,
"name": "Avatar",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 8541,
"src": "716:6:4",
"typeDescriptions": {
"typeIdentifier": "t_contract$_Avatar_$8541",
"typeString": "contract Avatar"
}
},
"value": null,
"visibility": "public"
},
{
"constant": false,
"id": 1424,
"name": "lock",
"nodeType": "VariableDeclaration",
"scope": 1794,
"src": "739:19:4",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 1423,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "739:7:4",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"value": null,
"visibility": "public"
},
{
"anonymous": false,
"documentation": null,
"id": 1428,
"name": "NewOrg",
"nodeType": "EventDefinition",
"parameters": {
"id": 1427,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 1426,
"indexed": false,
"name": "_avatar",
"nodeType": "VariableDeclaration",
"scope": 1428,
"src": "775:15:4",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 1425,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "775:7:4",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "774:17:4"
},
"src": "762:30:4"
},
{
"anonymous": false,
"documentation": null,
"id": 1432,
"name": "InitialSchemesSet",
"nodeType": "EventDefinition",
"parameters": {
"id": 1431,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 1430,
"indexed": false,
"name": "_avatar",
"nodeType": "VariableDeclaration",
"scope": 1432,
"src": "818:15:4",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 1429,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "818:7:4",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "817:17:4"
},
"src": "794:41:4"
},
{
"body": {
"id": 1435,
"nodeType": "Block",
"src": "859:2:4",
"statements": []
},
"documentation": null,
"id": 1436,
"implemented": true,
"kind": "constructor",
"modifiers": [],
"name": "",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 1433,
"nodeType": "ParameterList",
"parameters": [],
"src": "849:2:4"
},
"returnParameters": {
"id": 1434,
"nodeType": "ParameterList",
"parameters": [],
"src": "859:0:4"
},
"scope": 1794,
"src": "838:23:4",
"stateMutability": "nonpayable",
"superFunction": null,
"visibility": "public"
},
{
"body": {
"id": 1461,
"nodeType": "Block",
"src": "1611:215:4",
"statements": [
{
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"id": 1454,
"name": "_nativeToken",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 1438,
"src": "1718:12:4",
"typeDescriptions": {
"typeIdentifier": "t_contract$_INativeToken_$1420",
"typeString": "contract INativeToken"
}
},
{
"argumentTypes": null,
"id": 1455,
"name": "_reputation",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 1440,
"src": "1736:11:4",
"typeDescriptions": {
"typeIdentifier": "t_contract$_Reputation_$12259",
"typeString": "contract Reputation"
}
},
{
"argumentTypes": null,
"id": 1456,
"name": "_founders",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 1443,
"src": "1753:9:4",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr",
"typeString": "address[] calldata"
}
},
{
"argumentTypes": null,
"id": 1457,
"name": "_avatarTokenAmount",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 1445,
"src": "1768:18:4",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
{
"argumentTypes": null,
"id": 1458,
"name": "_foundersReputationAmount",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 1448,
"src": "1792:25:4",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr",
"typeString": "uint256[] calldata"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_contract$_INativeToken_$1420",
"typeString": "contract INativeToken"
},
{
"typeIdentifier": "t_contract$_Reputation_$12259",
"typeString": "contract Reputation"
},
{
"typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr",
"typeString": "address[] calldata"
},
{
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
{
"typeIdentifier