{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":555822087,"defaultBranch":"main","name":"exchange-orderbook","ownerLogin":"mental32","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2022-10-22T12:13:20.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/27660514?v=4","public":true,"private":false,"isOrgOwned":false},"refInfo":{"name":"","listCacheKey":"v0:1666440805.365358","currentOid":""},"activityList":{"items":[{"before":"9cabe4f151291f18f24ac6920a33e2ef88a49542","after":"4bcddf0cdf46e24b616260e5f56511683a62f46b","ref":"refs/heads/main","pushedAt":"2024-06-05T20:33:06.000Z","pushType":"push","commitsCount":6,"pusher":{"login":"mental32","name":"mental","path":"/mental32","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/27660514?s=80&v=4"},"commit":{"message":"Update config.rs with public functions and constants\n\n- Added public functions for redis_port, database_url, config_file_path, bitcoin_rpc_url, default_bitcoin_grpc_endpoint\n- Updated constants CONFIG_FILE_PATH, BITCOIN_RPC_URL to be public\n- Added new public constants BITCOIN_GRPC_BIND_ADDR, BITCOIN_GRPC_BIND_ADDR_DEFAULT","shortMessageHtmlLink":"Update config.rs with public functions and constants"}},{"before":"2276bb015b04b844780b0f6314a59a15393d4d08","after":"9cabe4f151291f18f24ac6920a33e2ef88a49542","ref":"refs/heads/main","pushedAt":"2024-05-02T19:41:03.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"mental32","name":"mental","path":"/mental32","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/27660514?s=80&v=4"},"commit":{"message":"Update README.md clarify things","shortMessageHtmlLink":"Update README.md clarify things"}},{"before":"e290823a666c9b883ec90b5c663e2463a5aeb0d7","after":"2276bb015b04b844780b0f6314a59a15393d4d08","ref":"refs/heads/main","pushedAt":"2023-11-21T02:58:38.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"mental32","name":"mental","path":"/mental32","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/27660514?s=80&v=4"},"commit":{"message":"Update README.md with new instructions for interacting with the exchange using docker-compose.","shortMessageHtmlLink":"Update README.md with new instructions for interacting with the excha…"}},{"before":"87dbf8077ce4cbcb82abd107cb08f0e1636beda4","after":"e290823a666c9b883ec90b5c663e2463a5aeb0d7","ref":"refs/heads/main","pushedAt":"2023-11-21T02:53:03.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"mental32","name":"mental","path":"/mental32","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/27660514?s=80&v=4"},"commit":{"message":"chore: commit font files using git-lfs","shortMessageHtmlLink":"chore: commit font files using git-lfs"}},{"before":"e8fed5bcba352bdc2d997fcb9f2d6d806bd18ec6","after":"87dbf8077ce4cbcb82abd107cb08f0e1636beda4","ref":"refs/heads/main","pushedAt":"2023-11-21T02:48:52.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"mental32","name":"mental","path":"/mental32","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/27660514?s=80&v=4"},"commit":{"message":"feat: add sign-in and sign-up, use tailwind to not look ugly.","shortMessageHtmlLink":"feat: add sign-in and sign-up, use tailwind to not look ugly."}},{"before":"19e85d7441463f79e80d2646d0d05249a82b039c","after":"e8fed5bcba352bdc2d997fcb9f2d6d806bd18ec6","ref":"refs/heads/main","pushedAt":"2023-11-21T00:13:14.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"mental32","name":"mental","path":"/mental32","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/27660514?s=80&v=4"},"commit":{"message":"feat: use svelte to start the web frontend\n\n- Added a new Navbar component to the project.\n- The Navbar component contains a logo, sign-in button, and sign-up button.\n- Updated the +page.svelte file to import and use the newly added Navbar component.\n\nThe Content-Security-Policy header in the nginx.conf file has been updated to include the 'style-src' directive with the values 'self' and 'unsafe-inline'. This change allows inline styles to be used on the website.\n\n- Set restart policy to on-failure for exchange-frontend service\n- Add watch action to rebuild frontend in develop mode","shortMessageHtmlLink":"feat: use svelte to start the web frontend"}},{"before":"ad9dc2afbe979e1990d92bc4e93cab73d0da215f","after":"19e85d7441463f79e80d2646d0d05249a82b039c","ref":"refs/heads/main","pushedAt":"2023-11-21T00:08:54.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"mental32","name":"mental","path":"/mental32","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/27660514?s=80&v=4"},"commit":{"message":"refactor: update development configurations in docker-compose\n\n- Set restart policy to on-failure for exchange-frontend service\n- Add watch action to rebuild frontend in develop mode","shortMessageHtmlLink":"refactor: update development configurations in docker-compose"}},{"before":"8f6bc95256462bb51026e0b9fe03ddca665c370d","after":"ad9dc2afbe979e1990d92bc4e93cab73d0da215f","ref":"refs/heads/main","pushedAt":"2023-11-21T00:07:37.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"mental32","name":"mental","path":"/mental32","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/27660514?s=80&v=4"},"commit":{"message":"refactor(frontend): add Navbar component\n\n- Refactored the app.html file to improve readability and maintainability.\n- Added a new Navbar component to the project.\n- The Navbar component contains a logo, sign-in button, and sign-up button.\n- Updated the +page.svelte file to import and use the newly added Navbar component.","shortMessageHtmlLink":"refactor(frontend): add Navbar component"}},{"before":"83f2bb1de46b677ed0037db55ae62ece77b01596","after":"8f6bc95256462bb51026e0b9fe03ddca665c370d","ref":"refs/heads/main","pushedAt":"2023-11-20T23:12:38.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"mental32","name":"mental","path":"/mental32","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/27660514?s=80&v=4"},"commit":{"message":"feat: use svelte for a web frontend","shortMessageHtmlLink":"feat: use svelte for a web frontend"}},{"before":"6129c49dce841aef93be2e216959e843d377e29f","after":"83f2bb1de46b677ed0037db55ae62ece77b01596","ref":"refs/heads/main","pushedAt":"2023-11-20T13:27:49.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"mental32","name":"mental","path":"/mental32","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/27660514?s=80&v=4"},"commit":{"message":"feat: add http logic to TUI for login\n\n- Added `reqwest` crate for making HTTP requests\n- Created `error` function to display error messages in a window\n- Modified `LoginWindow` to handle login events and make POST requests to the server\n- Updated `handle_events` method in `MainWindow` and `LoginWindow` to take a mutable reference to the app\n- Modified `App` struct to include an instance of the `reqwest::blocking::Client`\n- Added logic in the main loop to draw all windows and handle events","shortMessageHtmlLink":"feat: add http logic to TUI for login"}},{"before":"02abc1aa2e6137d288ba97bafaf3a6c223cb886c","after":"6129c49dce841aef93be2e216959e843d377e29f","ref":"refs/heads/main","pushedAt":"2023-11-18T05:32:44.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"mental32","name":"mental","path":"/mental32","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/27660514?s=80&v=4"},"commit":{"message":"refactor: use deny(missing_docs) and include more basic doc-comments","shortMessageHtmlLink":"refactor: use deny(missing_docs) and include more basic doc-comments"}},{"before":"4cd8e4c788e9e57d335b8effd86c073b0f122a1e","after":"02abc1aa2e6137d288ba97bafaf3a6c223cb886c","ref":"refs/heads/main","pushedAt":"2023-11-18T03:37:15.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"mental32","name":"mental","path":"/mental32","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/27660514?s=80&v=4"},"commit":{"message":"feat: Add support for new address generation in Bitcoin Core RPC\n\n- Added `GetNewAddress` RPC method to the `BitcoinCoreRpc` service\n- Implemented `get_new_address` function in `BitcoinCoreRpcImpl`\n- Updated proto file with new message types and service definition","shortMessageHtmlLink":"feat: Add support for new address generation in Bitcoin Core RPC"}},{"before":"a18686bf0fb0fde6b137e9ede122abef5db9101e","after":"4cd8e4c788e9e57d335b8effd86c073b0f122a1e","ref":"refs/heads/main","pushedAt":"2023-11-01T13:03:04.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"mental32","name":"mental","path":"/mental32","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/27660514?s=80&v=4"},"commit":{"message":"Update Docker and Rust workflows to include specific paths for triggering CI builds.\n\n- Add 'src/**' and 'etc/**' paths to the trigger conditions in both Docker and Rust workflows.\n- This change ensures that CI builds are triggered only when changes occur in the specified directories.","shortMessageHtmlLink":"Update Docker and Rust workflows to include specific paths for trigge…"}},{"before":"be590602abc5ed98ff73fdf2c73182bfa3b92175","after":"a18686bf0fb0fde6b137e9ede122abef5db9101e","ref":"refs/heads/main","pushedAt":"2023-11-01T12:59:09.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"mental32","name":"mental","path":"/mental32","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/27660514?s=80&v=4"},"commit":{"message":"Add license file\n\nThis commit adds a new file, LICENSE.md, which contains the copyright information and licensing terms for the software. The license prohibits redistribution, use, or modification of the software without prior written permission from the copyright holder. It also includes a disclaimer stating that the software is provided \"as is\" and any warranties are disclaimed.","shortMessageHtmlLink":"Add license file"}},{"before":"039d4348582b7a5954b03d57dcaa22b4c85a1a96","after":"be590602abc5ed98ff73fdf2c73182bfa3b92175","ref":"refs/heads/main","pushedAt":"2023-11-01T12:50:29.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"mental32","name":"mental","path":"/mental32","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/27660514?s=80&v=4"},"commit":{"message":"feat: Add progress checklist and update code for various functionalities\n\nThis commit adds a progress checklist outlining the tasks to be completed. It also includes updates to the code for ETH funding, BTC funding (including creating an address using bitcoincore grpc proxy), settlements, database schema (including tables for deposit addresses and user accounts), trading engine (orderbook with price-level groupings, order-uuid generation, market type orders, limit type orders), exchange-api (session-token auth check, JSON content-type request body extractor), and admin/operator endpoints.\n\nEmail: mentalfoss@gmail.com","shortMessageHtmlLink":"feat: Add progress checklist and update code for various functionalities"}},{"before":"b44831ad043239fdfc1d6ab4ef7aa9a4a65a9d20","after":"039d4348582b7a5954b03d57dcaa22b4c85a1a96","ref":"refs/heads/main","pushedAt":"2023-11-01T03:27:42.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"mental32","name":"mental","path":"/mental32","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/27660514?s=80&v=4"},"commit":{"message":"Add public time route to web\n\n- Added `public_time.rs` file to the `web` module.\n- Implemented `public_time` function that returns the current UTC time in RFC3339 format.","shortMessageHtmlLink":"Add public time route to web"}},{"before":"2f9a348e5e70447729ee3faf4f1436a6ab26e8f0","after":"b44831ad043239fdfc1d6ab4ef7aa9a4a65a9d20","ref":"refs/heads/main","pushedAt":"2023-10-31T23:39:25.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"mental32","name":"mental","path":"/mental32","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/27660514?s=80&v=4"},"commit":{"message":"feat: Add exchange-tui binary with login functionality\n\nThis commit adds a new file `exchange-tui.rs` which contains the implementation of a text-based user interface for an exchange application. The UI includes a login window where users can enter their credentials, such as username and password. The login window supports navigation between input fields using tab and shift+tab keys. Users can also navigate through input fields using arrow keys.\n\nThe commit introduces several helper functions and structs to handle user input, focus management, and rendering of windows. It also includes an implementation of the `Window` trait that defines the behavior of different windows in the application.\n\nThe commit does not implement all features yet, but it provides a foundation for further development.","shortMessageHtmlLink":"feat: Add exchange-tui binary with login functionality"}},{"before":"5db38d3d58d8f4322782f77e9e3efac42a088f2a","after":"2f9a348e5e70447729ee3faf4f1436a6ab26e8f0","ref":"refs/heads/main","pushedAt":"2023-10-28T21:09:57.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"mental32","name":"mental","path":"/mental32","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/27660514?s=80&v=4"},"commit":{"message":"feat: Update PlaceOrder function signature and error handling\n\n- Updated the return type of the `do_place_order` function to return a `PlaceOrderResult` instead of an `OrderUuid`.\n- Updated the type alias `PlaceOrderTx` to send a result of `PlaceOrderResult` instead of `OrderUuid`.\n- Added a new struct `PlaceOrderResult` to hold information about the original order and its result.\n- Added a new enum `PlaceOrderError` to handle errors related to placing an order.\n- Modified the code in various places to use the updated types and handle errors appropriately.","shortMessageHtmlLink":"feat: Update PlaceOrder function signature and error handling"}},{"before":"abf1751176bf7e58bdd7d1a8d09b729c44097dab","after":"5db38d3d58d8f4322782f77e9e3efac42a088f2a","ref":"refs/heads/main","pushedAt":"2023-10-28T19:19:54.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"mental32","name":"mental","path":"/mental32","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/27660514?s=80&v=4"},"commit":{"message":"Update .dockerignore and Dockerfile, install Protoc in GitHub workflow\n\n- Updated .dockerignore to include the /etc/ directory\n- Added a step in the GitHub workflow to install Protoc using apt-get\n- Modified Dockerfile to install protobuf-compiler using apt-get","shortMessageHtmlLink":"Update .dockerignore and Dockerfile, install Protoc in GitHub workflow"}},{"before":"1f85e4b7ae931eac09932d45bb6a03c6518e1b5a","after":"abf1751176bf7e58bdd7d1a8d09b729c44097dab","ref":"refs/heads/main","pushedAt":"2023-10-28T19:15:19.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"mental32","name":"mental","path":"/mental32","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/27660514?s=80&v=4"},"commit":{"message":"feat: Add cancel_order function to AppCx\n\nThis commit adds a new function `cancel_order` to the `AppCx` struct in `app_cx.rs`. The function allows users to cancel an order by sending a command to the trading engine. If the trading engine is in the \"Suspended\" state, an error of type `CancelOrderError::TradingEngineUnresponsive` is returned. Otherwise, the function sends a cancel order command to the trading engine and returns a response channel.\n\nThe commit also includes changes in `trade_cancel_order.rs`, where the `trade_cancel_order` handler now calls the `cancel_order` function from `AppCx`. It takes user UUID and order UUID as input parameters and returns an appropriate response based on whether the cancellation was successful or not.\n\nThese changes enable users to cancel their orders through the API.","shortMessageHtmlLink":"feat: Add cancel_order function to AppCx"}},{"before":"54b349bf70a220046faee37cfb06cc7df1bc9474","after":"1f85e4b7ae931eac09932d45bb6a03c6518e1b5a","ref":"refs/heads/main","pushedAt":"2023-10-28T17:19:27.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"mental32","name":"mental","path":"/mental32","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/27660514?s=80&v=4"},"commit":{"message":"feat: Add reserve functionality for fiat\n\nThis commit adds the reserve functionality for fiat and crypto in the `AppCx` struct. It introduces the `ReserveFiat` struct to track the previous and new balance of reserved fiat funds. The `ReserveError` enum is also added to handle different types of reserve errors, such as insufficient funds or database errors.\n\nThe `place_order` method now reserves fiat funds when placing a buy order and reserves crypto assets when placing a sell order. The `fiat_balance` method retrieves the current balance of fiat funds for a user, while the `reserve_fiat` method reserves a specified quantity of fiat funds from a user's account.\n\nAdditionally, some changes are made to the database schema in the migration files. Triggers and functions related to accounting are dropped before dropping tables in the down.sql file, and an account for the exchange's cash account is inserted in the up.sql file.\n\nNote: The implementation for reserving crypto assets is still pending (`reserve_crypto` method).","shortMessageHtmlLink":"feat: Add reserve functionality for fiat"}},{"before":"d6f4b95f1a942ced92d53c5d4300086d8455ceeb","after":"54b349bf70a220046faee37cfb06cc7df1bc9474","ref":"refs/heads/main","pushedAt":"2023-10-28T17:18:49.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"mental32","name":"mental","path":"/mental32","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/27660514?s=80&v=4"},"commit":{"message":"Use BitcoinRpcClient and update AppCx struct\n\n- Added `BitcoinRpcClient` struct to handle communication with the bitcoin core rpc.\n- Updated `AppCx` struct to use `BitcoinRpcClient` instead of `BitcoinCoreRpc`.\n- Removed unused imports and code from the files.","shortMessageHtmlLink":"Use BitcoinRpcClient and update AppCx struct"}},{"before":"a51c71055e266a1d1221cb5bc27f1a5195bd71f9","after":"d6f4b95f1a942ced92d53c5d4300086d8455ceeb","ref":"refs/heads/main","pushedAt":"2023-10-26T23:50:40.000Z","pushType":"push","commitsCount":4,"pusher":{"login":"mental32","name":"mental","path":"/mental32","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/27660514?s=80&v=4"},"commit":{"message":"Remove the unused volume for PostgreSQL data","shortMessageHtmlLink":"Remove the unused volume for PostgreSQL data"}},{"before":"154e8b737f076f2bb936fe4f6edd1f133f9f1e08","after":"a51c71055e266a1d1221cb5bc27f1a5195bd71f9","ref":"refs/heads/main","pushedAt":"2023-10-25T02:21:38.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"mental32","name":"mental","path":"/mental32","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/27660514?s=80&v=4"},"commit":{"message":"update prepared .sqlx files","shortMessageHtmlLink":"update prepared .sqlx files"}},{"before":"62db621a50bc496544a5506a1dfe5aca86a3008a","after":"154e8b737f076f2bb936fe4f6edd1f133f9f1e08","ref":"refs/heads/main","pushedAt":"2023-10-25T02:16:27.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"mental32","name":"mental","path":"/mental32","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/27660514?s=80&v=4"},"commit":{"message":"feat: rework trading engine structure more\n\nThis commit adds the `unused_must_use` lint to the `lib.rs` file in the exchange module. This lint will deny unused results of functions that return a type annotated with `#[must_use]`.\n\nThe changes also include:\n- Importing the `TradeCmd` struct into the `lib.rs` file.\n- Moving the `SpawnTradingEngine` struct and its associated methods to a separate module called `spawn_trading_engine`.\n- Removing the code related to database schema from the `schema.rs` file.\n\nThese changes aim to improve code quality and organization.","shortMessageHtmlLink":"feat: rework trading engine structure more"}},{"before":"a3ebd5774307391cd23155962bc845b61b4c7d4a","after":"62db621a50bc496544a5506a1dfe5aca86a3008a","ref":"refs/heads/main","pushedAt":"2023-10-23T00:49:17.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"mental32","name":"mental","path":"/mental32","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/27660514?s=80&v=4"},"commit":{"message":"feat: Add volume mapping for exchange configuration file\n\nThis commit adds a new volume mapping in the docker-compose.yml file to map the local `etc/exchange/conf.toml` file to `/etc/exchange/conf.toml` inside the container. This allows for easy configuration of the exchange by modifying the `conf.toml` file locally.\n\nThe `Config` struct in `exchange/src/config.rs` has been updated to include a new field `config_file_path`, which is an optional `PathBuf`. The value of this field is set using the `CONFIG_FILE_PATH` environment variable, and it represents the path to the configuration file inside the container.\n\nThe `start_fullstack` function in `exchange/src/lib.rs` now logs the config as a debug message when starting in fullstack mode. Additionally, when shutting down gracefully, a shutdown command is sent to the trading engine and its status is logged accordingly.","shortMessageHtmlLink":"feat: Add volume mapping for exchange configuration file"}},{"before":"d05e4216554936602dc6f577ff09823ede00a3c3","after":"a3ebd5774307391cd23155962bc845b61b4c7d4a","ref":"refs/heads/main","pushedAt":"2023-10-22T23:18:41.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"mental32","name":"mental","path":"/mental32","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/27660514?s=80&v=4"},"commit":{"message":"trading: rewrite TE loop and support event sourcing","shortMessageHtmlLink":"trading: rewrite TE loop and support event sourcing"}},{"before":"a014baf6114554ba20794467b851e36f3166fcfd","after":"d05e4216554936602dc6f577ff09823ede00a3c3","ref":"refs/heads/main","pushedAt":"2023-10-22T23:17:36.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"mental32","name":"mental","path":"/mental32","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/27660514?s=80&v=4"},"commit":{"message":"trading: rewrite TE loop and support event sourcing","shortMessageHtmlLink":"trading: rewrite TE loop and support event sourcing"}},{"before":"b88c14e8d6ba189de97b00a0015c30852b932d50","after":"a014baf6114554ba20794467b851e36f3166fcfd","ref":"refs/heads/main","pushedAt":"2023-10-22T22:17:12.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"mental32","name":"mental","path":"/mental32","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/27660514?s=80&v=4"},"commit":{"message":"Update Rust workflow\n\nCan build sqlx offline from checked in .sqlx files","shortMessageHtmlLink":"Update Rust workflow"}},{"before":"d2d0399d70215c810d87a193b03fdd87819c721e","after":"b88c14e8d6ba189de97b00a0015c30852b932d50","ref":"refs/heads/main","pushedAt":"2023-10-22T21:58:26.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"mental32","name":"mental","path":"/mental32","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/27660514?s=80&v=4"},"commit":{"message":"Update rust.yml workflow","shortMessageHtmlLink":"Update rust.yml workflow"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEXYk0EAA","startCursor":null,"endCursor":null}},"title":"Activity · mental32/exchange-orderbook"}