Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Bugfix | Yigit Sever | 2021-04-19 | 1 | -4/+26 |
| | | | | | It was possible (and hilarious) to mint a new block with just one transaction, by repeating it 5 times, lol | ||||
* | Transaction hashing should be easier | Yigit Sever | 2021-04-18 | 1 | -4/+7 |
| | |||||
* | Verbose JWT error message in transactions | Yigit Sever | 2021-04-18 | 1 | -2/+3 |
| | |||||
* | Bugfix and useful error messages | Yigit Sever | 2021-04-18 | 1 | -8/+20 |
| | |||||
* | New user and verbose JWT errors | Yigit Sever | 2021-04-18 | 1 | -1/+1 |
| | |||||
* | Temporarily reduce block limit | Yigit Sever | 2021-04-18 | 1 | -1/+1 |
| | |||||
* | Fix transaction blocking bug | Yigit Sever | 2021-04-18 | 1 | -1/+1 |
| | | | | | | We used to insert transactions by their source field. Then we started using by (actually unique). This bug caused only one bank transaction to exist at any time | ||||
* | Rename functions and move checks | Yigit Sever | 2021-04-17 | 1 | -31/+21 |
| | | | | Proposals are authenticated, no need to parrot | ||||
* | Implement block/tx bounds | Yigit Sever | 2021-04-17 | 1 | -9/+39 |
| | |||||
* | Add existing user get support | Yigit Sever | 2021-04-16 | 1 | -9/+20 |
| | |||||
* | Passing auth test | Yigit Sever | 2021-04-16 | 1 | -5/+4 |
| | |||||
* | Almost passsing auth | Yigit Sever | 2021-04-16 | 1 | -5/+9 |
| | |||||
* | work on post auth transaction 201 test | alpaylan | 2021-04-16 | 1 | -4/+1 |
| | |||||
* | Merge remote-tracking branch 'origin/main' | Yigit Sever | 2021-04-16 | 1 | -2/+4 |
|\ | |||||
| * | work on post auth transaction 201 test | alpaylan | 2021-04-16 | 1 | -2/+4 |
| | | |||||
* | | Writing auth test | Yigit Sever | 2021-04-16 | 1 | -0/+1 |
|/ | |||||
* | handle double transaction. | alpaylan | 2021-04-16 | 1 | -0/+12 |
| | |||||
* | Fix deadlock | Yigit Sever | 2021-04-16 | 1 | -5/+6 |
| | |||||
* | Check correct bits | Yigit Sever | 2021-04-16 | 1 | -2/+2 |
| | |||||
* | Load users from disk at start | Yigit Sever | 2021-04-16 | 1 | -13/+23 |
| | |||||
* | Cleaned up user authentication | Yigit Sever | 2021-04-15 | 1 | -14/+122 |
| | | | | Removed TODOs, unrolled unwraps | ||||
* | Listen to clippy | Yigit Sever | 2021-04-15 | 1 | -19/+6 |
| | |||||
* | Remove lorems and inpsumses | Yigit Sever | 2021-04-15 | 1 | -1/+1 |
| | |||||
* | shed unused function | Yigit Sever | 2021-04-15 | 1 | -11/+0 |
| | |||||
* | [WIP] Add template support | Yigit Sever | 2021-04-15 | 1 | -1/+18 |
| | |||||
* | Implement the bank account | Yigit Sever | 2021-04-14 | 1 | -4/+16 |
| | |||||
* | Transactions return as dict | Yigit Sever | 2021-04-14 | 1 | -3/+4 |
| | |||||
* | Implement coinbase reward | Yigit Sever | 2021-04-14 | 1 | -8/+16 |
| | |||||
* | Accepted block transactions play out now | Yigit Sever | 2021-04-14 | 1 | -33/+72 |
| | |||||
* | [WIP] Rough authentication process done | Yigit Sever | 2021-04-14 | 1 | -0/+11 |
| | |||||
* | [WIP] Fix silly bug | Yigit Sever | 2021-04-14 | 1 | -2/+2 |
| | |||||
* | [WIP] Let user know their fingerprint | Yigit Sever | 2021-04-14 | 1 | -3/+6 |
| | |||||
* | [WIP] Address users by their fingerprint | Yigit Sever | 2021-04-14 | 1 | -3/+5 |
| | |||||
* | [WIP] Remove unnecessary imports | Yigit Sever | 2021-04-14 | 1 | -1/+1 |
| | |||||
* | [WIP] Rough authentication process done | Yigit Sever | 2021-04-14 | 1 | -22/+60 |
| | |||||
* | Add auth documentation | Yigit Sever | 2021-04-14 | 1 | -2/+33 |
| | |||||
* | [WIP] Initial implementation of user auth | Yigit Sever | 2021-04-14 | 1 | -2/+32 |
| | | | | | | There is a dance involved and everything Write down specs for RSA and AES, padding scheme, ugh. | ||||
* | embed user passwds to the code structs. | alpaylan | 2021-04-14 | 1 | -1/+1 |
| | |||||
* | Simplify the block validation process | Yigit Sever | 2021-04-14 | 1 | -19/+16 |
| | | | | 2 TODOs down! | ||||
* | remove unused part. | alpaylan | 2021-04-14 | 1 | -12/+1 |
| | |||||
* | add balance check to transactions. | alpaylan | 2021-04-14 | 1 | -0/+35 |
| | |||||
* | Add empty block test | Yigit Sever | 2021-04-14 | 1 | -0/+2 |
| | |||||
* | Add verbose error messages | Yigit Sever | 2021-04-13 | 1 | -59/+138 |
| | | | | | | | | | Not happy with the solution one bit but using error.rs at https://blog.logrocket.com/create-an-async-crud-web-service-in-rust-with-warp/ was not working Basically we just handcraft every single response on the spot, there is some repetition and it's ugly but need to move on | ||||
* | Refactor authorized propose functions | Yigit Sever | 2021-04-13 | 1 | -125/+190 |
| | | | | | | | | | | | | | | They were getting spaghetti so; new function: handlers::authorize_proposer(), handles the jwt stuff, NOT async and _may_ cause trouble down the road but then again the stuff it does used to be (repeated) in the functions so how bad can it be If else chains were getting unwieldy; https://refactoring.com/catalog/replaceNestedConditionalWithGuardClauses.html so now everything is returning early, might make verbose error handling easier | ||||
* | Require authorization for Block POST | Yigit Sever | 2021-04-13 | 1 | -50/+92 |
| | | | | | Not tested because it's impossible to follow without verbose error messages, failing 1 test | ||||
* | Housekeeping | Yigit Sever | 2021-04-13 | 1 | -66/+62 |
| | | | | | | Moved tests out of routes.rs into their own file Learned how to use lib.rs, now we have cargo doc support as well | ||||
* | implement user authentication using jwt | alpaylan | 2021-04-12 | 1 | -4/+56 |
| | |||||
* | six rightmost zeros for mining | alpaylan | 2021-04-12 | 1 | -2/+2 |
| | |||||
* | Implement proof-of-work | Yigit Sever | 2021-04-12 | 1 | -16/+38 |
| | | | | | | | | Using blacke2s: https://docs.rs/blake2/0.9.1/blake2/ Using this guy's hash checker https://gist.github.com/gkbrk/2e4835e3a17b3fb6e1e7 blacke2s with 5 bits 0 can mine a block between 20 seconds to 359 during my tests, hope it'll be fun | ||||
* | Implement User handling and authentication | Yigit Sever | 2021-04-12 | 1 | -13/+70 |
| | | | | | | | | | | | | | | | | | | | | | | | | New struct: User, corresponds to a student Blocks and users are persistent (written to a text file) PostgreSQL would've been overkill, we have 30 students AuthRequest is the representation for incoming register requests and User is the inner representation Students who are enrolled to the class are hardcoded, only they can register new accounts There are two new tests, one checks if a priviliged (=enrolled) user can create an account and the other checks if a unpriviliged one cannot There are quick verbose error messages that I'm not married to, might move on to something better honestly There's nothing stopping a malicious user to pre-register everyone with mock public keys and effectively lock everyone out, what's a good secret we can use? |