{"push_id":2871953575,"size":9,"distinct_size":1,"ref":"refs/heads/sa-api-contract-getsourcecode","head":"db1dccf263fbfc0b81df9225e60950adb417ba2c","before":"f83f536f4b9cbcc9f227cea215bec1dd7365a535","commits":[{"sha":"9b3ed7450786d2279ebca5715b965192bbe21aa5","author":{"name":"Luke Imhoff","email":"1f2c07888a0a7a86f8db89eefffadb593545a2f0@dockyard.com"},"message":"Allow all genserver options to be passed to BufferedTasks\n\nPreviously, only name could be passed, but now, by separating callback\ninit options from genserver options, we can pass any options that\nGenServer supports, including :debug options, which is helpful for\ntracing performance issues.","distinct":false,"url":"https://api.github.com/repos/poanetwork/blockscout/commits/9b3ed7450786d2279ebca5715b965192bbe21aa5"},{"sha":"09051ceb8ae50a0c8d6228e60c1ba50b7ad1ded0","author":{"name":"Luke Imhoff","email":"1f2c07888a0a7a86f8db89eefffadb593545a2f0@dockyard.com"},"message":"Separate usage of Task.Supervisor\n\nHave a separate subtree for each fetcher with a supervisor supervising\nthe fetcher and a Task.Supervisor that is only used by the fetcher, so\nthat looking at the Task.Supervisor in that subtree will show which\nfetcher is causing any memory, message, or blocking problems.","distinct":false,"url":"https://api.github.com/repos/poanetwork/blockscout/commits/09051ceb8ae50a0c8d6228e60c1ba50b7ad1ded0"},{"sha":"279c6987b1be630b594c47f6c897bb041bfe2d78","author":{"name":"Luke Imhoff","email":"1f2c07888a0a7a86f8db89eefffadb593545a2f0@dockyard.com"},"message":"Sort Indexer project keys","distinct":false,"url":"https://api.github.com/repos/poanetwork/blockscout/commits/279c6987b1be630b594c47f6c897bb041bfe2d78"},{"sha":"6aaa300de0c46021e545a04c59ebb57dae50f709","author":{"name":"Luke Imhoff","email":"1f2c07888a0a7a86f8db89eefffadb593545a2f0@dockyard.com"},"message":"Setup excoveralls for indexer in isolation\n\n`mix coveralls.html` only works from the root project for indexer and\nnot the `app/indexer`, which made it difficult to generate the\nindexer-only report.","distinct":false,"url":"https://api.github.com/repos/poanetwork/blockscout/commits/6aaa300de0c46021e545a04c59ebb57dae50f709"},{"sha":"5b7872f030a861e0c35ad3046554aea81f385d56","author":{"name":"Luke Imhoff","email":"1f2c07888a0a7a86f8db89eefffadb593545a2f0@dockyard.com"},"message":"Don't use closure for BufferedTask Task.Supervisor.async_nolink call\n\nFixes #676\n\nFor some reason, which I haven't tracked down yet, a closure inside of\n`BufferedTask.spawn_next_batch/1` continually grows in size.  When this\nclosure is passed to `Task.Supervisor.async_nolink`, the\n`Task.Supervisor`, for #676, this was `Indexer.TaskSupervisor` and is\nnow `Indexer.InternalTransaction.TaskSupervisor`, it also grows in\nmemory size.  I think this is related to the way that functions and\nclosures are serialized when sent between processes, but I haven't\nfigured out how to verify that.\n\nThe change also cleared the MsgQ for `Indexer.TransactionFetcher`,\nprobably because its not blocked by the call to\n`Indexer.InternalTransaction.Fetcher`, which was blocked due to\nsomething to do with the memory usage of the closures.\n\nThe `Indexer.InternalTransaction.TaskSupervisor` consistently shows\nmultiple tasks under it in `:observer`, which it did not previously\neither.","distinct":false,"url":"https://api.github.com/repos/poanetwork/blockscout/commits/5b7872f030a861e0c35ad3046554aea81f385d56"},{"sha":"1a8bb6cbeda58e8d5b8d18162bcff7a9f1035b24","author":{"name":"Luke Imhoff","email":"1f2c07888a0a7a86f8db89eefffadb593545a2f0@dockyard.com"},"message":"Restructure Indexer.BlockFetcher to match other Fetchers\n\nMove the \"Fetcher\" part below the \"time\" part of \"Realtime\" or\n\"Catchup\", so that the \"Fetcher\" and \"Supervisor\" are siblings like in\nthe fetchers that don't have a \"time\" part.","distinct":false,"url":"https://api.github.com/repos/poanetwork/blockscout/commits/1a8bb6cbeda58e8d5b8d18162bcff7a9f1035b24"},{"sha":"c10b6c218ba8f172e022101346effdcd0df5099f","author":{"name":"Luke Imhoff","email":"1f2c07888a0a7a86f8db89eefffadb593545a2f0@dockyard.com"},"message":"Disable another test that times out on Infura","distinct":false,"url":"https://api.github.com/repos/poanetwork/blockscout/commits/c10b6c218ba8f172e022101346effdcd0df5099f"},{"sha":"75a6bc93be4a36d2c365ea88bb83f98c2860df58","author":{"name":"Luke Imhoff","email":"ac7f12f72469f6761c928e70d3a5cb173896d551@gmail.com"},"message":"Merge pull request #707 from poanetwork/676\n\nDon't use closure for BufferedTask Task.Supervisor.async_nolink call","distinct":false,"url":"https://api.github.com/repos/poanetwork/blockscout/commits/75a6bc93be4a36d2c365ea88bb83f98c2860df58"},{"sha":"db1dccf263fbfc0b81df9225e60950adb417ba2c","author":{"name":"Sebastian Abondano","email":"8c226f5918aadb758474e28b5d486c9b79afaef8@gmail.com"},"message":"Add contract#getsourcecode API endpoint\n\nWhy:\n\n* For API users to be able to get the source code for a given address.\n\n  Example usage:\n    ```\n      /api?module=contract&action=getsourcecode&address={addressHash}\n    ```\n* Issue link: https://github.com/poanetwork/blockscout/issues/138\n\nThis change addresses the need by:\n\n* Adding `getsourcecode/2` action to `API.RPC.ContractController`. This\naction processes requests to the new contract#getsourcecode endpoint.\n* Editing `API.RPC.ContractView` to render contract data as required.\n* Adding the new contract#getsourcecode API endpoint to the API docs\npage. Docs data lives in `BlockScoutWeb.Etherscan`.","distinct":true,"url":"https://api.github.com/repos/poanetwork/blockscout/commits/db1dccf263fbfc0b81df9225e60950adb417ba2c"}]}
{"actor":{"display_login":"sabondano"}}