{"push_id":973534577,"size":663,"distinct_size":2,"ref":"refs/heads/master","head":"46b70108d119dd2ffc45d57ce205524ebff5d93f","before":"73c52dfec2d95da17d7c569d0042f6e98c638007","commits":[{"sha":"9f90a4c93a52fa7ecaec598cd5206958a4a53030","author":{"email":"9c7f9f48ab857a940aef9370d4ff459ffbc7f9ab@gmail.com","name":"Mikhail Kalinin"},"message":"Fix transaction processing after sync is done","distinct":false,"url":"https://api.github.com/repos/ethereum/ethereumj/commits/9f90a4c93a52fa7ecaec598cd5206958a4a53030"},{"sha":"cefdb830c9f9890b942501fe60270cf8485aa6f7","author":{"email":"238a1843d81dd7fbe80b5c1b99515c4ba8c94d0d@ethergit.com","name":"Roman Mandeleil"},"message":"Merge pull request #288 from mkalinin/transactions-fix\n\nFix transaction processing after sync is done","distinct":false,"url":"https://api.github.com/repos/ethereum/ethereumj/commits/cefdb830c9f9890b942501fe60270cf8485aa6f7"},{"sha":"cda10eb98178d1b8058422f3f30e1cdddec911e2","author":{"email":"accc6040016c4a52892181a288c3f1dd08a1503f@gmail.com","name":"eugene-shevchenko"},"message":"Contract storage key/value null stub","distinct":false,"url":"https://api.github.com/repos/ethereum/ethereumj/commits/cda10eb98178d1b8058422f3f30e1cdddec911e2"},{"sha":"092be7222712885dedd7879274e2c6aee2d8ae86","author":{"email":"accc6040016c4a52892181a288c3f1dd08a1503f@gmail.com","name":"eugene-shevchenko"},"message":"Merge branch 'develop' of https://github.com/ethereum/ethereumj into develop","distinct":false,"url":"https://api.github.com/repos/ethereum/ethereumj/commits/092be7222712885dedd7879274e2c6aee2d8ae86"},{"sha":"221e3abca71aff5481f673c492375d4cabc21d39","author":{"email":"9c7f9f48ab857a940aef9370d4ff459ffbc7f9ab@gmail.com","name":"Mikhail Kalinin"},"message":"Implement decorator for pending transactions","distinct":false,"url":"https://api.github.com/repos/ethereum/ethereumj/commits/221e3abca71aff5481f673c492375d4cabc21d39"},{"sha":"d7f2ea310cb1a422bddc2c560b59c2899bb6ab26","author":{"email":"9c7f9f48ab857a940aef9370d4ff459ffbc7f9ab@gmail.com","name":"Mikhail Kalinin"},"message":"Add a clean up for outdated pending txs","distinct":false,"url":"https://api.github.com/repos/ethereum/ethereumj/commits/d7f2ea310cb1a422bddc2c560b59c2899bb6ab26"},{"sha":"f2744ad753bef99dcb42e3799a8927c2adc7db98","author":{"email":"9c7f9f48ab857a940aef9370d4ff459ffbc7f9ab@gmail.com","name":"Mikhail Kalinin"},"message":"Improve PendingTransaction handling a bit","distinct":false,"url":"https://api.github.com/repos/ethereum/ethereumj/commits/f2744ad753bef99dcb42e3799a8927c2adc7db98"},{"sha":"219ad8481c66cac79e3a02a71f5eb4184cc829f0","author":{"email":"238a1843d81dd7fbe80b5c1b99515c4ba8c94d0d@ethergit.com","name":"Roman Mandeleil"},"message":"Merge pull request #289 from mkalinin/pending-tx-improvement\n\nPending tx improvement","distinct":false,"url":"https://api.github.com/repos/ethereum/ethereumj/commits/219ad8481c66cac79e3a02a71f5eb4184cc829f0"},{"sha":"1db60293750cb174b3648209e015522774b66a29","author":{"email":"9c7f9f48ab857a940aef9370d4ff459ffbc7f9ab@gmail.com","name":"Mikhail Kalinin"},"message":"Move pending tx threshold to config","distinct":false,"url":"https://api.github.com/repos/ethereum/ethereumj/commits/1db60293750cb174b3648209e015522774b66a29"},{"sha":"9e925ff61a5a73ecafa772aa7965e8947647ae88","author":{"email":"9c7f9f48ab857a940aef9370d4ff459ffbc7f9ab@gmail.com","name":"Mikhail Kalinin"},"message":"Simplify BlockchainImpl code","distinct":false,"url":"https://api.github.com/repos/ethereum/ethereumj/commits/9e925ff61a5a73ecafa772aa7965e8947647ae88"},{"sha":"5217be449ef33b2ac19b87dba4aee49bb56437d3","author":{"email":"238a1843d81dd7fbe80b5c1b99515c4ba8c94d0d@ethergit.com","name":"Roman Mandeleil"},"message":"Merge pull request #290 from mkalinin/pending-tx-improvement\n\nPending tx improvement","distinct":false,"url":"https://api.github.com/repos/ethereum/ethereumj/commits/5217be449ef33b2ac19b87dba4aee49bb56437d3"},{"sha":"214589427165aba518a33522dea3276113005a2d","author":{"email":"9c7f9f48ab857a940aef9370d4ff459ffbc7f9ab@gmail.com","name":"Mikhail Kalinin"},"message":"Implement pool of peers\n\nWe used to have peer management inside SyncManager\nObviously it's not a good design\nTherefore special class was created to manage peers","distinct":false,"url":"https://api.github.com/repos/ethereum/ethereumj/commits/214589427165aba518a33522dea3276113005a2d"},{"sha":"edaeca7b9c157b04a34aef13c8c8de2ed448a584","author":{"email":"9c7f9f48ab857a940aef9370d4ff459ffbc7f9ab@gmail.com","name":"Mikhail Kalinin"},"message":"Simplify SyncManager flow\n\nGets rid of redundant states, keeps IDLE, BLOCK_RETRIEVING, HASH_RETRIEVING\nSimplifies gap recovery logic making sync more robust\nMoves node look up logic to NodeManager\nDoes several cosmetic fixes","distinct":false,"url":"https://api.github.com/repos/ethereum/ethereumj/commits/edaeca7b9c157b04a34aef13c8c8de2ed448a584"},{"sha":"1c8e6dfb16399735ee9ef8e3c81fa1162270033e","author":{"email":"9c7f9f48ab857a940aef9370d4ff459ffbc7f9ab@gmail.com","name":"Mikhail Kalinin"},"message":"Fix SyncManager log output formatting","distinct":false,"url":"https://api.github.com/repos/ethereum/ethereumj/commits/1c8e6dfb16399735ee9ef8e3c81fa1162270033e"},{"sha":"e60ad5a14efe80c416f3094a5ed7dac8b2f60ce8","author":{"email":"9c7f9f48ab857a940aef9370d4ff459ffbc7f9ab@gmail.com","name":"Mikhail Kalinin"},"message":"Make call to BlockQueue#init() only after Blockchain is loaded","distinct":false,"url":"https://api.github.com/repos/ethereum/ethereumj/commits/e60ad5a14efe80c416f3094a5ed7dac8b2f60ce8"},{"sha":"a2ebe033dd3379486342d142eac0d5b69426a9b2","author":{"email":"9c7f9f48ab857a940aef9370d4ff459ffbc7f9ab@gmail.com","name":"Mikhail Kalinin"},"message":"Remove redundant calls to listener#onSyncDone()","distinct":false,"url":"https://api.github.com/repos/ethereum/ethereumj/commits/a2ebe033dd3379486342d142eac0d5b69426a9b2"},{"sha":"da5d5cfba49b9d8696cdb92b35d73617f2664bcf","author":{"email":"9c7f9f48ab857a940aef9370d4ff459ffbc7f9ab@gmail.com","name":"Mikhail Kalinin"},"message":"Remove BlockQueue from BlockchainImpl","distinct":false,"url":"https://api.github.com/repos/ethereum/ethereumj/commits/da5d5cfba49b9d8696cdb92b35d73617f2664bcf"},{"sha":"eb8b64cef547ed21eef143174a0d50175c7ea5b8","author":{"email":"9c7f9f48ab857a940aef9370d4ff459ffbc7f9ab@gmail.com","name":"Mikhail Kalinin"},"message":"Improve gap recovery algorithms","distinct":false,"url":"https://api.github.com/repos/ethereum/ethereumj/commits/eb8b64cef547ed21eef143174a0d50175c7ea5b8"},{"sha":"599ad6431d92b7f31abc139a607a8cfd7a0a1283","author":{"email":"9c7f9f48ab857a940aef9370d4ff459ffbc7f9ab@gmail.com","name":"Mikhail Kalinin"},"message":"Redesign org.ethereum.net.eth package","distinct":false,"url":"https://api.github.com/repos/ethereum/ethereumj/commits/599ad6431d92b7f31abc139a607a8cfd7a0a1283"},{"sha":"28a9cbba6e6bf2fc66eb14540c5824d7a9de2bce","author":{"email":"9c7f9f48ab857a940aef9370d4ff459ffbc7f9ab@gmail.com","name":"Mikhail Kalinin"},"message":"Move logic realted to sync states out from SyncManager","distinct":false,"url":"https://api.github.com/repos/ethereum/ethereumj/commits/28a9cbba6e6bf2fc66eb14540c5824d7a9de2bce"}]}