{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":698265466,"defaultBranch":"main","name":"twocrypto-ng","ownerLogin":"curvefi","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2023-09-29T14:24:09.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/59866658?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1718198145.0","currentOid":""},"activityList":{"items":[{"before":"d4c4e2fb98ae355c72fc54785cf995004d60aae1","after":"57e6f0c42c46a394eb634d2b357b2330250ace8b","ref":"refs/heads/rebalancing-donations","pushedAt":"2024-07-10T09:01:23.000Z","pushType":"push","commitsCount":10,"pusher":{"login":"AlbertoCentonze","name":"Alberto","path":"/AlbertoCentonze","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11707683?s=80&v=4"},"commit":{"message":"test: script to analyze pool behavior","shortMessageHtmlLink":"test: script to analyze pool behavior"}},{"before":"c9a8404a2d99d68b6280bf4db914accda32d9edb","after":"d4c4e2fb98ae355c72fc54785cf995004d60aae1","ref":"refs/heads/rebalancing-donations","pushedAt":"2024-06-21T13:53:03.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"AlbertoCentonze","name":"Alberto","path":"/AlbertoCentonze","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11707683?s=80&v=4"},"commit":{"message":"feat: exchange fees now used for rebalance\n\nThis commit makes half of the fees that are taken from a user deposit through `exchange` to be allocated for rebalancing.","shortMessageHtmlLink":"feat: exchange fees now used for rebalance"}},{"before":"a2d824a83a40895860891076c7651ccb1ae8813f","after":"c9a8404a2d99d68b6280bf4db914accda32d9edb","ref":"refs/heads/rebalancing-donations","pushedAt":"2024-06-21T13:45:26.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"AlbertoCentonze","name":"Alberto","path":"/AlbertoCentonze","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11707683?s=80&v=4"},"commit":{"message":"feat: add_liquidity fees now used for rebalance\n\nThis commit makes half of the fees that are taken from a user deposit through `add_liquidity` to be allocated for rebalancing.","shortMessageHtmlLink":"feat: add_liquidity fees now used for rebalance"}},{"before":"317ea87098dcf9c85e9c755be5699623a85e205a","after":"a2d824a83a40895860891076c7651ccb1ae8813f","ref":"refs/heads/rebalancing-donations","pushedAt":"2024-06-21T13:39:28.000Z","pushType":"push","commitsCount":8,"pusher":{"login":"AlbertoCentonze","name":"Alberto","path":"/AlbertoCentonze","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11707683?s=80&v=4"},"commit":{"message":"chore: removed TODO\n\nDecided not to change these names as this is a very small detail.","shortMessageHtmlLink":"chore: removed TODO"}},{"before":"5d72bdba85e50852483b1c1b45f319f2d3674667","after":"317ea87098dcf9c85e9c755be5699623a85e205a","ref":"refs/heads/rebalancing-donations","pushedAt":"2024-06-19T14:31:50.000Z","pushType":"push","commitsCount":5,"pusher":{"login":"AlbertoCentonze","name":"Alberto","path":"/AlbertoCentonze","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11707683?s=80&v=4"},"commit":{"message":"refactor: rebalance logic to helper function\n\nThis commit moves the logic that was previously applied whenever `can_rebalance` was set to `True` to a separate helper function to improve code readability and maintainability.\n\nAlso `rebalance_reserves` was renamed to `D_rebalance` to reduce cognitive complexity.","shortMessageHtmlLink":"refactor: rebalance logic to helper function"}},{"before":"969ad6dde34432eb3680dafe61ca734c2f5cedd0","after":"5d72bdba85e50852483b1c1b45f319f2d3674667","ref":"refs/heads/rebalancing-donations","pushedAt":"2024-06-18T16:13:33.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"AlbertoCentonze","name":"Alberto","path":"/AlbertoCentonze","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11707683?s=80&v=4"},"commit":{"message":"feat: rebalancing fees (one_coin)\n\nThis commit builds on top of 969ad6dde34432eb3680dafe61ca734c2f5cedd0 and starts separating the fee logic from the new siloed donation buffer `D_rebalance`.\n\nChanges mainly involve `remove_liquidity_one_coin` where now half of the fees are used to increase `D_rebalance`.\n\nTo keep the code clean changes that involve `D` and `D_rebalance` are only done in `tweak_price` which now supports an optional arguments containing the amount of fee that should increase the buffer for rebalancing `D_rebalance`.\n\nTherefore the changes in `tweak_price` focus on taking into account the new fees that can be used for rebalancing while the new rebalancing logic stays more or less unchanged.\n\nAlso added significant improvements to the comments in `tweak_price`.","shortMessageHtmlLink":"feat: rebalancing fees (one_coin)"}},{"before":"d1d80adf2795a15994ba31c804283d90f8041370","after":"969ad6dde34432eb3680dafe61ca734c2f5cedd0","ref":"refs/heads/rebalancing-donations","pushedAt":"2024-06-17T14:27:33.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"AlbertoCentonze","name":"Alberto","path":"/AlbertoCentonze","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11707683?s=80&v=4"},"commit":{"message":"feat: rebalancing donations (only manual donation)\n\nThis commit lays the foundations to reintroduce donation support for TwoCrypto pools.\n\nWe first introduce a new contract-level invariant: D_total = D + D_rebalance.\n\nWhere:\n* D_total is the total amount of liquidity in the pool.\n* D represents the depositors' liquidity (what can be withdrawn).\n* D_rebalance is a siloed reserve of liquidity used to cover rebalancing losses or absorb rebalancing gains.\n\nTo reintroduce donations safely, during rebalancing (triggered by `tweak_price`), the pool taps into a separate reserve (`D_rebalance`) from depositors' liquidity to cover losses.\n\n`tweak_price` no longer relies on `xcp_profit` (referred to as `profit` here) to decide whether it should attempt to rebalance. Instead, it uses the ratio between `D_rebalance` and `D_total`. The threshold for attempting a rebalance has been arbitrarily set to 0.1% for now but will be parameterized by `allowed_extra_profit`, which will be repurposed since it is no longer used for the old condition.\n\nFurthermore, a new function `donate` has been added to the pool to manually donate funds for rebalancing. The function works similarly to `add_liquidity` except it doesn't mint any LP tokens and doesn't inflate `virtual_price`.\n\nIn the future, fees collected by normal operations in the pool (`exchange`, `add_liquidity`, etc.) will increase `D_rebalance`, allowing the removal of `xcp_profit` related code.","shortMessageHtmlLink":"feat: rebalancing donations (only manual donation)"}},{"before":"f3f5337d7509bd6f7d62e8e9af839c47fc888fe6","after":"d1d80adf2795a15994ba31c804283d90f8041370","ref":"refs/heads/rebalancing-donations","pushedAt":"2024-06-13T14:58:02.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"AlbertoCentonze","name":"Alberto","path":"/AlbertoCentonze","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11707683?s=80&v=4"},"commit":{"message":"chore: renaming variables for readability\n\nRenamed the following variables:\n\n* `xcp_profit` -> `profit`\nBecause although profit is computed from xcp it creates confusion in contexts where both `xcp` and `xcp_profit` where present.\n\n* `xcp_profit_a` -> `profit_checkpoint`\nFor similar reasons to `xcp_profit` + `_a` suffix not having a clear meaning.\n\n* `p_new` -> `new_price_scale`\nBecause `p` can be many things in a pool, better to be specific.\n\nCreated getter for public variables that got their name changed since ABI shouldn't change.","shortMessageHtmlLink":"chore: renaming variables for readability"}},{"before":"b5a9a649233b83fde13b8f2a201dc24eb380a7d6","after":"f3f5337d7509bd6f7d62e8e9af839c47fc888fe6","ref":"refs/heads/rebalancing-donations","pushedAt":"2024-06-12T22:52:15.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"AlbertoCentonze","name":"Alberto","path":"/AlbertoCentonze","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11707683?s=80&v=4"},"commit":{"message":"ci: broken ci correction","shortMessageHtmlLink":"ci: broken ci correction"}},{"before":null,"after":"b5a9a649233b83fde13b8f2a201dc24eb380a7d6","ref":"refs/heads/rebalancing-donations","pushedAt":"2024-06-12T13:15:45.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"AlbertoCentonze","name":"Alberto","path":"/AlbertoCentonze","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11707683?s=80&v=4"},"commit":{"message":"chore: marking broken test as xfail for later","shortMessageHtmlLink":"chore: marking broken test as xfail for later"}},{"before":"934f4a127ef1bd6f86463e6737e82005d376962f","after":"a53dce5c7add43e3b600f105ba1202ea6c06b5b9","ref":"refs/heads/main","pushedAt":"2024-06-11T15:22:57.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"amfet42","name":"Oleg Zakharchenko","path":"/amfet42","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/40476427?s=80&v=4"},"commit":{"message":"chore: add release file - ZKSync","shortMessageHtmlLink":"chore: add release file - ZKSync"}},{"before":"1ffb4e3d92d21b8eb1921c4a6be3aa88df15b31d","after":null,"ref":"refs/heads/feat/deploy_zksync","pushedAt":"2024-06-11T14:53:37.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"bout3fiddy","name":"fiddyresearch","path":"/bout3fiddy","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11488427?s=80&v=4"}},{"before":"96c2d02c4e2e3c9b4f716c8954293977c87af732","after":"934f4a127ef1bd6f86463e6737e82005d376962f","ref":"refs/heads/main","pushedAt":"2024-06-11T14:53:33.000Z","pushType":"pr_merge","commitsCount":4,"pusher":{"login":"bout3fiddy","name":"fiddyresearch","path":"/bout3fiddy","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11488427?s=80&v=4"},"commit":{"message":"Merge pull request #16 from curvefi/feat/deploy_zksync\n\nFeat/deploy zksync","shortMessageHtmlLink":"Merge pull request #16 from curvefi/feat/deploy_zksync"}},{"before":"7e983374d9a4709306a9e7a5f3f5ee419a068ea9","after":"1ffb4e3d92d21b8eb1921c4a6be3aa88df15b31d","ref":"refs/heads/feat/deploy_zksync","pushedAt":"2024-06-11T14:53:12.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"bout3fiddy","name":"fiddyresearch","path":"/bout3fiddy","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11488427?s=80&v=4"},"commit":{"message":"deployed!","shortMessageHtmlLink":"deployed!"}},{"before":null,"after":"7e983374d9a4709306a9e7a5f3f5ee419a068ea9","ref":"refs/heads/feat/deploy_zksync","pushedAt":"2024-06-11T11:46:18.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"bout3fiddy","name":"fiddyresearch","path":"/bout3fiddy","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11488427?s=80&v=4"},"commit":{"message":"add deployment script","shortMessageHtmlLink":"add deployment script"}},{"before":"422b9ddd72bd14dd0eda51e14aec938a5cfa8092","after":null,"ref":"refs/heads/update_twocryptong_implementation","pushedAt":"2024-06-06T08:20:52.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"bout3fiddy","name":"fiddyresearch","path":"/bout3fiddy","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11488427?s=80&v=4"}},{"before":"3b0226abc7aa57805ca16723298fc8024308dbe3","after":"96c2d02c4e2e3c9b4f716c8954293977c87af732","ref":"refs/heads/main","pushedAt":"2024-06-06T08:20:48.000Z","pushType":"pr_merge","commitsCount":5,"pusher":{"login":"bout3fiddy","name":"fiddyresearch","path":"/bout3fiddy","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11488427?s=80&v=4"},"commit":{"message":"Merge pull request #15 from curvefi/update_twocryptong_implementation\n\nUpdate twocryptong implementation","shortMessageHtmlLink":"Merge pull request #15 from curvefi/update_twocryptong_implementation"}},{"before":"99b51926eb596100a9b8dbaeee7769c1707efd1c","after":"422b9ddd72bd14dd0eda51e14aec938a5cfa8092","ref":"refs/heads/update_twocryptong_implementation","pushedAt":"2024-06-06T08:20:30.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"bout3fiddy","name":"fiddyresearch","path":"/bout3fiddy","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11488427?s=80&v=4"},"commit":{"message":"deployed","shortMessageHtmlLink":"deployed"}},{"before":"a64f89ca3c5fb3f8fdb9ff6bfdef0965f05caf16","after":"99b51926eb596100a9b8dbaeee7769c1707efd1c","ref":"refs/heads/update_twocryptong_implementation","pushedAt":"2024-06-04T14:54:20.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"bout3fiddy","name":"fiddyresearch","path":"/bout3fiddy","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11488427?s=80&v=4"},"commit":{"message":"updated arbitrum amm and math implementation","shortMessageHtmlLink":"updated arbitrum amm and math implementation"}},{"before":"d21b270d4ae29ad10237f7e8c1ce279e88af7085","after":"a64f89ca3c5fb3f8fdb9ff6bfdef0965f05caf16","ref":"refs/heads/update_twocryptong_implementation","pushedAt":"2024-06-04T11:41:59.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"bout3fiddy","name":"fiddyresearch","path":"/bout3fiddy","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11488427?s=80&v=4"},"commit":{"message":"add deployment script","shortMessageHtmlLink":"add deployment script"}},{"before":null,"after":"d21b270d4ae29ad10237f7e8c1ce279e88af7085","ref":"refs/heads/update_twocryptong_implementation","pushedAt":"2024-06-04T11:16:15.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"bout3fiddy","name":"fiddyresearch","path":"/bout3fiddy","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11488427?s=80&v=4"},"commit":{"message":"up version","shortMessageHtmlLink":"up version"}},{"before":"9856e82f0314654a5740b46ab50181ac137e788b","after":null,"ref":"refs/heads/larger-gamma","pushedAt":"2024-06-04T10:19:10.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"bout3fiddy","name":"fiddyresearch","path":"/bout3fiddy","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11488427?s=80&v=4"}},{"before":"5cd61f13ab50f184ad504e4f2c0f135ce0c4ebd7","after":"3b0226abc7aa57805ca16723298fc8024308dbe3","ref":"refs/heads/main","pushedAt":"2024-06-04T10:19:03.000Z","pushType":"pr_merge","commitsCount":136,"pusher":{"login":"bout3fiddy","name":"fiddyresearch","path":"/bout3fiddy","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11488427?s=80&v=4"},"commit":{"message":"Merge pull request #12 from curvefi/larger-gamma\n\nfeat: larger gamma","shortMessageHtmlLink":"Merge pull request #12 from curvefi/larger-gamma"}},{"before":"b8a510b0b77ff58bdcca074cda6e782e98f1b6a7","after":"9856e82f0314654a5740b46ab50181ac137e788b","ref":"refs/heads/larger-gamma","pushedAt":"2024-06-03T12:02:40.000Z","pushType":"push","commitsCount":4,"pusher":{"login":"AlbertoCentonze","name":"Alberto","path":"/AlbertoCentonze","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11707683?s=80&v=4"},"commit":{"message":"test: making withdrawal more restricted","shortMessageHtmlLink":"test: making withdrawal more restricted"}},{"before":"e5088de127d35fc9f3c49ba55f502167b9009008","after":null,"ref":"refs/heads/zksync","pushedAt":"2024-06-03T09:47:07.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"DanielSchiavini","name":"Daniel Schiavini","path":"/DanielSchiavini","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2369243?s=80&v=4"}},{"before":"5bbb9b8dc5c01a888b5948a04f002f05e56f7a30","after":"b8a510b0b77ff58bdcca074cda6e782e98f1b6a7","ref":"refs/heads/larger-gamma","pushedAt":"2024-06-02T16:09:43.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"AlbertoCentonze","name":"Alberto","path":"/AlbertoCentonze","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11707683?s=80&v=4"},"commit":{"message":"test: restricted price strategy\n\nPrices now don't go too low with the decimals because testing for shitcoins is not the goal here.","shortMessageHtmlLink":"test: restricted price strategy"}},{"before":"e475996463d0a38136d1b94b2d5e92f4e92a9e63","after":"5bbb9b8dc5c01a888b5948a04f002f05e56f7a30","ref":"refs/heads/larger-gamma","pushedAt":"2024-06-02T14:31:16.000Z","pushType":"push","commitsCount":11,"pusher":{"login":"AlbertoCentonze","name":"Alberto","path":"/AlbertoCentonze","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11707683?s=80&v=4"},"commit":{"message":"test: reworking imbalanced strategies (wip)\n\nGoal is to remove as many assertions as possible as they hurt testing.","shortMessageHtmlLink":"test: reworking imbalanced strategies (wip)"}},{"before":"9827286f1d08622926ecf2dc9d72182dec48eaea","after":"5cd61f13ab50f184ad504e4f2c0f135ce0c4ebd7","ref":"refs/heads/main","pushedAt":"2024-05-31T14:42:05.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"amfet42","name":"Oleg Zakharchenko","path":"/amfet42","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/40476427?s=80&v=4"},"commit":{"message":"chore: add release file - Mantle","shortMessageHtmlLink":"chore: add release file - Mantle"}},{"before":"6bfb07120864ab8161a80db72a6b02a8924896e9","after":"e475996463d0a38136d1b94b2d5e92f4e92a9e63","ref":"refs/heads/larger-gamma","pushedAt":"2024-05-30T12:47:24.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"AlbertoCentonze","name":"Alberto","path":"/AlbertoCentonze","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11707683?s=80&v=4"},"commit":{"message":"Revert \"perf: removed unnecessary array from getter\"\n\nThis reverts commit 6bfb07120864ab8161a80db72a6b02a8924896e9.","shortMessageHtmlLink":"Revert \"perf: removed unnecessary array from getter\""}},{"before":"5d02dbfbdd64b5f5e00b7b0621e14727ab154b21","after":"6bfb07120864ab8161a80db72a6b02a8924896e9","ref":"refs/heads/larger-gamma","pushedAt":"2024-05-30T12:33:41.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"AlbertoCentonze","name":"Alberto","path":"/AlbertoCentonze","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11707683?s=80&v=4"},"commit":{"message":"perf: removed unnecessary array from getter","shortMessageHtmlLink":"perf: removed unnecessary array from getter"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEe4cb_wA","startCursor":null,"endCursor":null}},"title":"Activity ยท curvefi/twocrypto-ng"}