{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":409145904,"defaultBranch":"master","name":"gmx-contracts","ownerLogin":"gmx-io","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2021-09-22T09:43:16.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/83447167?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1726002071.0","currentOid":""},"activityList":{"items":[{"before":"263974ecb910857e655b593d93ec4ab6cc40d7b5","after":"75b4b2ea6261dbe999297c9f40a8c77433c92b7a","ref":"refs/heads/buyback-and-distribute","pushedAt":"2024-09-26T02:11:56.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"SentinelDev1","name":"S1_Dev","path":"/SentinelDev1","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/122179833?s=80&v=4"},"commit":{"message":"Updated BuybackMigrator.sol, Vester.sol, RewardRouterV2.sol and RewardRouterV2.js\n\n-Removed the 2 extendedGmxTracker.setDepositToken() calls from BuybackMigrator.sol as those will be assigned when running the extendedGmxTracker.initalization() function separately and changed the _toggleRewardRouter() function from internal to private\n\n-Updated Vester.sol transferStakeValues() function to subtract cumulativeRewardDeductions[_sender] from cumulativeRewards(_sender) when calculating the cumulativeReward local variable and to add cumulativeReward to cumulativeRewardDeductions[_sender] when recalculating cumulativeRewardDeductions[_sender]\n\n-Updated RewardRouterV2.sol _validateReceiver() function to validate averageStakedAmounts() and cumulativeRewards() for the extendedGmxTracker and refactored the acceptTransfer() function to use a new _acceptTransferRestake() function for restaking staked bnGmx and glp from the sender to the receiver to keep the contract size under the limit\n\n-Updated RewardRouterV2.js to account for the changes made to the Vester.sol and BuybackMigrator.sol contracts","shortMessageHtmlLink":"Updated BuybackMigrator.sol, Vester.sol, RewardRouterV2.sol and Rewar…"}},{"before":"5b770146ad82f315f5a5ac6cca2f4a0db3cf6b02","after":"66abe3c63259594cb123a4c072b7dfe486495f09","ref":"refs/heads/updates","pushedAt":"2024-09-25T03:44:37.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"xdev10","name":"X","path":"/xdev10","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/108941455?s=80&v=4"},"commit":{"message":"update scripts","shortMessageHtmlLink":"update scripts"}},{"before":"9b2cffacfbb00c41b49ff107b3fa24643e01fff9","after":"5b770146ad82f315f5a5ac6cca2f4a0db3cf6b02","ref":"refs/heads/updates","pushedAt":"2024-09-25T03:33:49.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"xdev10","name":"X","path":"/xdev10","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/108941455?s=80&v=4"},"commit":{"message":"add logs","shortMessageHtmlLink":"add logs"}},{"before":"a80a227d6898416739ce5c5b17092cbfff3f5669","after":"9b2cffacfbb00c41b49ff107b3fa24643e01fff9","ref":"refs/heads/updates","pushedAt":"2024-09-25T02:54:12.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"xdev10","name":"X","path":"/xdev10","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/108941455?s=80&v=4"},"commit":{"message":"update scripts","shortMessageHtmlLink":"update scripts"}},{"before":"4ef44311a2b7aae41cb721c19140021f5af76d4a","after":"a80a227d6898416739ce5c5b17092cbfff3f5669","ref":"refs/heads/updates","pushedAt":"2024-09-25T02:25:21.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"xdev10","name":"X","path":"/xdev10","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/108941455?s=80&v=4"},"commit":{"message":"update configs","shortMessageHtmlLink":"update configs"}},{"before":"c36f2e0cce709756be5d9003c1ccde919806eef5","after":"263974ecb910857e655b593d93ec4ab6cc40d7b5","ref":"refs/heads/buyback-and-distribute","pushedAt":"2024-09-25T01:43:21.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"SentinelDev1","name":"S1_Dev","path":"/SentinelDev1","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/122179833?s=80&v=4"},"commit":{"message":"Updated RewardRouterV2.sol, BuybackMigrator.sol and RewardRouterV2.js\n\n-Updated RewardRouterV2.sol to correct the logical operator in the require() statement within the _validateNotVesting() function from '||' to '&&'\n\n-Updated BuybackMigrator.sol to include extendedGmxTracker in the disableOldRewardRouter() function 'targets' local variable\n\n-Updated BuybackMigrator.sol with an if/else statement in which various setHandler() and setDepositToken() calls are now positioned, including a few that were just added\n\n-Updated RewardRouterV2.js with the contents of the \"BuybackMigrator.enableNewRewardRouter, BuybackMigrator.disableOldRewardRouter, batchRestakeForAccounts\" test","shortMessageHtmlLink":"Updated RewardRouterV2.sol, BuybackMigrator.sol and RewardRouterV2.js"}},{"before":"a82565a147debb3be1d05a8e25cf4e22fa0f1953","after":"c36f2e0cce709756be5d9003c1ccde919806eef5","ref":"refs/heads/buyback-and-distribute","pushedAt":"2024-09-20T19:29:38.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"SentinelDev1","name":"S1_Dev","path":"/SentinelDev1","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/122179833?s=80&v=4"},"commit":{"message":"Updates to BuybackMigrator.sol and RewardRouterV2.js\n\n-Minor update to BuybackMigrator.sol changing how it resets the rewardRouterTarget and isEnabled storage variables in the afterGovGranted() function\n\n-Added \"BuybackMigrator.enableNewRewardRouter, BuybackMigrator.disableOldRewardRouter and batchRestakeForAccounts\" test without contents - test contents is planned out offline and in the process of being added\n\n-Removed bonusGmxTracker.address and bnGmx.address from feeGmxTracker.initialize() function in the beforeEach for the RewardRouterV2.js tests","shortMessageHtmlLink":"Updates to BuybackMigrator.sol and RewardRouterV2.js"}},{"before":"5679be41576976444f9f654ba83a9d9ea59b3bf7","after":"a82565a147debb3be1d05a8e25cf4e22fa0f1953","ref":"refs/heads/buyback-and-distribute","pushedAt":"2024-09-20T00:47:26.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"SentinelDev1","name":"S1_Dev","path":"/SentinelDev1","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/122179833?s=80&v=4"},"commit":{"message":"Deleted RewardRouterUtils.sol and updated RewardRouterV2.sol, Timelock.js and RewardRouterV2.js\n\n-Deleted the recently added RewardRouterUtils.sol library as it is not needed for now\n\n-Added the _validateReceiver() function back to RewardRouterV2.sol now that it fits in the contract and added IExternalHandler import while removing the RewardRouterUtils import\n\n-Updated RewardRouterV2.sol to include a struct InitializeParams that is used as the input param for the initialize function in order to allow 'pragma experimental ABIEncoderV2;' to be declared in the contract without errors\n\n-Updated the multicall() and makeExternalCalls() functions to use dynamic bytes array inputs now that 'pragma experimental ABIEncoderV2;' can be declared\n\n-Removed the stakeGmxForAccount(), compoundForAccount() and restakeForAccount() functions from RewardRouterV2.sol to get below the contract size limit since these functions aren't necessary\n\n-Renamed the batchStakeGmxForAccount() function to batchStakeGmxForAccounts() in RewardRouterV2\n\n-Removed rewardRouterUtils references from Timelock.js and updated so the initialize input params are passed in an array\n\n-Removed rewardRouterUtils references from RewardRouterV2.js, updated so the initialize input params are passed in an array and updated to use batchStakeGmxForAccounts() instead of the removed stakeGmxForAccount() function","shortMessageHtmlLink":"Deleted RewardRouterUtils.sol and updated RewardRouterV2.sol, Timeloc…"}},{"before":"4d7ae8348ad9546a0b1159a93e58a4d710c74925","after":"5679be41576976444f9f654ba83a9d9ea59b3bf7","ref":"refs/heads/buyback-and-distribute","pushedAt":"2024-09-19T19:48:01.000Z","pushType":"push","commitsCount":9,"pusher":{"login":"SentinelDev1","name":"S1_Dev","path":"/SentinelDev1","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/122179833?s=80&v=4"},"commit":{"message":"Merge branch 'updates' into buyback-and-distribute","shortMessageHtmlLink":"Merge branch 'updates' into buyback-and-distribute"}},{"before":"32535b3d608a78995dcc2f088164761376847a42","after":"4ef44311a2b7aae41cb721c19140021f5af76d4a","ref":"refs/heads/updates","pushedAt":"2024-09-19T19:40:44.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"SentinelDev1","name":"S1_Dev","path":"/SentinelDev1","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/122179833?s=80&v=4"},"commit":{"message":"Update env.example.json\n\nAdded the deployment key parameters with the keys equal to bytes32(0) as placeholders.","shortMessageHtmlLink":"Update env.example.json"}},{"before":"5c35944808fdbc01e82ed664d20888d7b025d74b","after":"4d7ae8348ad9546a0b1159a93e58a4d710c74925","ref":"refs/heads/buyback-and-distribute","pushedAt":"2024-09-19T19:27:13.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"SentinelDev1","name":"S1_Dev","path":"/SentinelDev1","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/122179833?s=80&v=4"},"commit":{"message":"Created MockExternalHandler.sol and updated RewardRouterV2.sol, VesterCap.sol, Timelock.js, and RewardRouterV2.js\n\n-Created MockExternalHandler.sol for use in testing\n\n-Updated RewardRouterV2.sol with further refactoring and corrected claiming, restaking, staking, unstaking and account transfer flows\n\n-Added extendedGmxTracker storage variable to VesterCap.sol and updated contract logic to align with RewardRouterV2 changes\n\n-updated Timelock.js test script to account for the 2 added input params in the RewardRouterV2.initialize() function and added RewardRouterUtils.sol library so it can deploy the RewardRouterV2 contract\n\n-Updated RewardRouterV2.js test script's existing tests for the changes made to the RewardRouterV2.sol contract","shortMessageHtmlLink":"Created MockExternalHandler.sol and updated RewardRouterV2.sol, Veste…"}},{"before":"2343e02d895955c579702d3901bc2e333c1a5c0e","after":"5c35944808fdbc01e82ed664d20888d7b025d74b","ref":"refs/heads/buyback-and-distribute","pushedAt":"2024-09-18T15:06:19.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"SentinelDev1","name":"S1_Dev","path":"/SentinelDev1","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/122179833?s=80&v=4"},"commit":{"message":"Updates to BuybackMigrator and IHandlerTarget\n\n-Updated BuybackMigrator.sol to correct the enable/disable reward router flow by moving the _toggleRewardRouter() function back into afterGovGranted() and adding storage variables 'address rewardRouterTarget' and 'bool isEnabled' now used to set params in _toggleRewardRouter() instead of input params which were removed\n\n-Added setDepositToken() function to the BuybackMigrator._toggleRewardRouter() function and the IHandlerTarget.sol interface in order to update the isDepositToken mapping in feeGmxTracker and extendedGmxTracker","shortMessageHtmlLink":"Updates to BuybackMigrator and IHandlerTarget"}},{"before":"4be19b990edd3789c73a42987b61e96dde87d6c2","after":"2343e02d895955c579702d3901bc2e333c1a5c0e","ref":"refs/heads/buyback-and-distribute","pushedAt":"2024-09-18T01:33:36.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"SentinelDev1","name":"S1_Dev","path":"/SentinelDev1","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/122179833?s=80&v=4"},"commit":{"message":"Deleted IExchangeRouter and updates to RewardRouterV2 and RewardRouterUtils\n\n-Further refactoring and refinements made to RewardRouterV2.sol, focusing on using private functions as much as possible where code is repeated and making the existing private functions as efficient as possible in terms of contract size.\n\n-Updated multicall() function and added makeExternalCalls() wrapper function to RewardRouterV2.sol\n\n-Removed multicall() functoin and added makeExternalCalls() function in RewardRouterUtils which is called by the makeExternalCalls() wrapper function in RewardRouterV2.sol due to issues adding 'pragma experimental ABIEncoderV2' to RewardRouterV2\n\n-Added the externalHandler storage variable to RewardRouterV2.sol which is used in the makeExternalCalls() function and assigned in the initialize() function\n\n-Added restakeForAccount function back now that refactoring decreased the contract size substantially\n\n-Other minor formatting, orgainization and naming updates to both RewardRouterV2.sol and RewardRouterUtils.sol","shortMessageHtmlLink":"Deleted IExchangeRouter and updates to RewardRouterV2 and RewardRoute…"}},{"before":"b06e8658a427a77ba0453655b1b69eaf9583c5b7","after":"32535b3d608a78995dcc2f088164761376847a42","ref":"refs/heads/updates","pushedAt":"2024-09-18T00:27:29.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"xdev10","name":"X","path":"/xdev10","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/108941455?s=80&v=4"},"commit":{"message":"update scripts","shortMessageHtmlLink":"update scripts"}},{"before":"a67463d8f5165153fe3a2d151aeb7d83a3677157","after":"4be19b990edd3789c73a42987b61e96dde87d6c2","ref":"refs/heads/buyback-and-distribute","pushedAt":"2024-09-17T04:56:05.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"SentinelDev1","name":"S1_Dev","path":"/SentinelDev1","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/122179833?s=80&v=4"},"commit":{"message":"Removed restakeForAccount() and other minor fixes related to previous refactoring","shortMessageHtmlLink":"Removed restakeForAccount() and other minor fixes related to previous…"}},{"before":"f75601048f088dcee3a13e37dbcda1928b4dc78b","after":"a67463d8f5165153fe3a2d151aeb7d83a3677157","ref":"refs/heads/buyback-and-distribute","pushedAt":"2024-09-17T04:24:07.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"SentinelDev1","name":"S1_Dev","path":"/SentinelDev1","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/122179833?s=80&v=4"},"commit":{"message":"Changed handleRewardsV2() back to external from public","shortMessageHtmlLink":"Changed handleRewardsV2() back to external from public"}},{"before":"6e675f1b3348fd02e6e596613d5c6619e5b22429","after":"f75601048f088dcee3a13e37dbcda1928b4dc78b","ref":"refs/heads/buyback-and-distribute","pushedAt":"2024-09-17T03:09:49.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"SentinelDev1","name":"S1_Dev","path":"/SentinelDev1","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/122179833?s=80&v=4"},"commit":{"message":"Minor update to RewardRouterV2\n\n-Update RewardRouterV2.sol to reverse change to existing require() message in the unstakeAndRedeemGlpETH() function and shorten new require() message in the handleRewardsV2() function.\n\n-The purpose of this change was to avoid changes to existing function require() messages while keeping the contract under the size limit by decreasing the length of the new function's require() message.","shortMessageHtmlLink":"Minor update to RewardRouterV2"}},{"before":"fa954a3e33788dde74c424cda438f986144303ad","after":"6e675f1b3348fd02e6e596613d5c6619e5b22429","ref":"refs/heads/buyback-and-distribute","pushedAt":"2024-09-17T02:48:54.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"SentinelDev1","name":"S1_Dev","path":"/SentinelDev1","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/122179833?s=80&v=4"},"commit":{"message":"Updates to RewardRouterV2 and IExchangeRouter and created MockOldRewardRouterV2, RewardRouterUtils and IExternalHandler\n\n-Updated RewardRouterV2.sol with significant refactoring in order to decrease the contract size which was well over the limit\n\n-Created RewardRouterUtils to offload the validateReceiver() function to further reduce RewardRouterV2.sol contract size and added multicall function because pragma experimental ABIEncoderV2 is required for dynamic bytes array and including this in RewardRouterV2 caused stack too deep errors\n\n-Updated IExchangeRouter.sol to include the multicall() function instead of makeExternalCalls()\n\n-Added IExternalHandler.sol with the makeExternalCalls() function in case it is explicitly needed in an interface\n\n-Added MockOldRewardRouterV2.sol based on RewardRouterV2.sol prior to the changes in this branch for testing purposes","shortMessageHtmlLink":"Updates to RewardRouterV2 and IExchangeRouter and created MockOldRewa…"}},{"before":"7b5afddb08346973ea79b587f78f8678422d0f7b","after":"fa954a3e33788dde74c424cda438f986144303ad","ref":"refs/heads/buyback-and-distribute","pushedAt":"2024-09-14T02:13:29.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"SentinelDev1","name":"S1_Dev","path":"/SentinelDev1","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/122179833?s=80&v=4"},"commit":{"message":"Updated RewardRouterV2, BuybackMigrator and IExchangeRouter\n\n-Added pragma experimental ABIEncoderV2 to IExchangeRouter.sol and RewardRouterV2.sol otherwise contracts won't compile using solidity 0.6.12\n\n-Corrected for syntax errors not caught until now due to issues compiling locally in BuybackMigrator.sol and RewardRouterV2.sol\n\n-Added disableOldRewardRouter() function to BuybackMigrator.sol and moved the _toggleRewardRouter() function out of afterGovGrant() and into disableOldRewardRouter() and enableNewRewardRouter() functions\n\n-Added initial versions of the handleRewardsV2() and claimGmxAndConvertToEth() multicall functions, both of which still require further updates\n\n-Added IExchangeRouter.sol import, exchangeRouter address storage variable and variable assignment in the initialize() function to RewardRouterV2.sol","shortMessageHtmlLink":"Updated RewardRouterV2, BuybackMigrator and IExchangeRouter"}},{"before":"2501dcbb05f8ddaf96ccf7131cf35515c85e7abb","after":"b06e8658a427a77ba0453655b1b69eaf9583c5b7","ref":"refs/heads/updates","pushedAt":"2024-09-13T03:27:40.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"xdev10","name":"X","path":"/xdev10","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/108941455?s=80&v=4"},"commit":{"message":"update example env file","shortMessageHtmlLink":"update example env file"}},{"before":"43f16dc1adcb7e76ac1c8df2f520f89c9cd1fba5","after":"2501dcbb05f8ddaf96ccf7131cf35515c85e7abb","ref":"refs/heads/updates","pushedAt":"2024-09-13T03:24:45.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"xdev10","name":"X","path":"/xdev10","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/108941455?s=80&v=4"},"commit":{"message":"add env.example.json","shortMessageHtmlLink":"add env.example.json"}},{"before":"2246992dbd000dcf4dfba00314e87624881bd6be","after":"7b5afddb08346973ea79b587f78f8678422d0f7b","ref":"refs/heads/buyback-and-distribute","pushedAt":"2024-09-13T02:20:29.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"SentinelDev1","name":"S1_Dev","path":"/SentinelDev1","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/122179833?s=80&v=4"},"commit":{"message":"Created BuybackMigrator.sol and updated RewardRouterV2.sol\n\n-Created /contracts/migrators/BuybackMigrator.sol similar to BaseMigrator.sol but with the _makeExternalCall() and migrate() functions removed, extendedGmxTracker, oldRewardRouter and newRewardRouter addresses added and an enableNewRewardRouter() function added\n\n-Added a setGovtToken() function to RewardRouterV2.sol\n\n-Updated the RewardRouterV2.sol handleRewards() function so that if _shouldClaimGmx = true then GMX rewards are claimed from extendedGmxTracker\n\n-Updated the RewardRouterV2.sol _restakeForAccount() function so that if a user has tokens reserved for vesting in the GMX vesting vault, those tokens are transferred to the user before restaking and then transferred back to the GMX vesting vault after restaking is complete","shortMessageHtmlLink":"Created BuybackMigrator.sol and updated RewardRouterV2.sol"}},{"before":"ce931cbbd6b691b1834a1a3d9f830460780f0607","after":"2246992dbd000dcf4dfba00314e87624881bd6be","ref":"refs/heads/buyback-and-distribute","pushedAt":"2024-09-12T01:12:50.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"SentinelDev1","name":"S1_Dev","path":"/SentinelDev1","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/122179833?s=80&v=4"},"commit":{"message":"Created IExchangeRouter and updated RewardRouterV2\n\n-Created contracts/staking/interfaces/IExchangeRouter.sol that includes the makeExternalCalls() function from ExchangeRouter.sol\n\n-Added _restakeForAccount() restakeForAccount() and batchRestakeForAccounts() functions to RewardRouterV2.sol\n\n-Added _compoundGmxRewards() function for claiming/staking GMX rewards and added execution of the new function within the _compound() function in RewardRouterV2.sol","shortMessageHtmlLink":"Created IExchangeRouter and updated RewardRouterV2"}},{"before":"2bf5bdbf005f43af3c2b0b4eaafccb2dd85d3ba7","after":"ce931cbbd6b691b1834a1a3d9f830460780f0607","ref":"refs/heads/buyback-and-distribute","pushedAt":"2024-09-11T17:10:00.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"SentinelDev1","name":"S1_Dev","path":"/SentinelDev1","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/122179833?s=80&v=4"},"commit":{"message":"Deleted RewardRouterV3 and updated RewardRouterV2\n\nCopied the changes in the last commit from contracts/staking/RewardRouterV3.sol to contracts/staking/RewardRouterV2.sol and deleted RewardRouterV3.sol, as we will just make the updates in RewardRouterV2 per discussions with X","shortMessageHtmlLink":"Deleted RewardRouterV3 and updated RewardRouterV2"}},{"before":"3e8186c339a9f328db2b400e8efb4c72feb4ecc0","after":"43f16dc1adcb7e76ac1c8df2f520f89c9cd1fba5","ref":"refs/heads/updates","pushedAt":"2024-09-11T03:05:15.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"xdev10","name":"X","path":"/xdev10","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/108941455?s=80&v=4"},"commit":{"message":"update scripts","shortMessageHtmlLink":"update scripts"}},{"before":"80fd43c635848498fa32158600a95b35be805dc9","after":"3e8186c339a9f328db2b400e8efb4c72feb4ecc0","ref":"refs/heads/updates","pushedAt":"2024-09-11T03:04:58.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"xdev10","name":"X","path":"/xdev10","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/108941455?s=80&v=4"},"commit":{"message":"update scripts","shortMessageHtmlLink":"update scripts"}},{"before":"32798a8bb3b008b950a8c0bc2b0e7b3af4b57682","after":"80fd43c635848498fa32158600a95b35be805dc9","ref":"refs/heads/updates","pushedAt":"2024-09-11T03:04:36.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"xdev10","name":"X","path":"/xdev10","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/108941455?s=80&v=4"},"commit":{"message":"update scripts","shortMessageHtmlLink":"update scripts"}},{"before":"2431f4c5e92283883f98f6ae5395a9748bec5866","after":"32798a8bb3b008b950a8c0bc2b0e7b3af4b57682","ref":"refs/heads/updates","pushedAt":"2024-09-11T03:04:08.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"xdev10","name":"X","path":"/xdev10","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/108941455?s=80&v=4"},"commit":{"message":"update scripts","shortMessageHtmlLink":"update scripts"}},{"before":"627a35bccec9fddf8a6ecb73131b450f1d82739e","after":"2bf5bdbf005f43af3c2b0b4eaafccb2dd85d3ba7","ref":"refs/heads/buyback-and-distribute","pushedAt":"2024-09-11T00:27:41.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"SentinelDev1","name":"S1_Dev","path":"/SentinelDev1","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/122179833?s=80&v=4"},"commit":{"message":"Initial updates to RewardRouterV3.sol\n\n-Added extendedGmxTracker storage variable and the corresponding input param used for assigning the address in the initialize() function\n\n-Updated _stakeGmx flows to have bonusGmxTracker stake into extendedGmxTracker instead of feeGmxTracker and have feeGmxTracker now stake extendedGmxTracker\n\n-Updated _unstakeGmx flows to have feeGmxTracker unstake extendedGmxTracker instead of bonusGmxTracker and have extendedGmxTracker now unstake bonusGmxTracker\n\n-Added require checks for extendedGmxTracker.averageStakedAmounts() and extendedGmxTracker.cumulativeRewards() to the _validateReceiver() function\n\n-Added IRewardTracker(extendedGmxTracker).claimForAccount() to the claim() and claimFees() functions\n\n-Updated the _stakeBnGmx() function to reference extendedGmxTracker instead of feeGmxTracker\n\n-Updated the acceptTransfer() function to reference extendedGmxTracker instead of feeGmxTracker for the stakedBnGmx balance calculation, unstake bnGmx from the sending account and stake bnGmx to the receiving account","shortMessageHtmlLink":"Initial updates to RewardRouterV3.sol"}},{"before":"2431f4c5e92283883f98f6ae5395a9748bec5866","after":"627a35bccec9fddf8a6ecb73131b450f1d82739e","ref":"refs/heads/buyback-and-distribute","pushedAt":"2024-09-10T23:48:04.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"SentinelDev1","name":"S1_Dev","path":"/SentinelDev1","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/122179833?s=80&v=4"},"commit":{"message":"Created RewardRouterV3.sol\n\nCreated contracts/staking/RewardRouterV3.sol by making a copy of contracts/staking/RewardRouterV2.sol in case we want to preserve the old version as was done when creating RewardRouterV2.sol","shortMessageHtmlLink":"Created RewardRouterV3.sol"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"startCursor":"Y3Vyc29yOnYyOpK7MjAyNC0wOS0yNlQwMjoxMTo1Ni4wMDAwMDBazwAAAATA9oNp","endCursor":"Y3Vyc29yOnYyOpK7MjAyNC0wOS0xMFQyMzo0ODowNC4wMDAwMDBazwAAAASynYQN"}},"title":"Activity · gmx-io/gmx-contracts"}