diff --git a/protocol/contracts/interfaces/templegold/IDaiGoldAuction.sol b/protocol/contracts/interfaces/templegold/IDaiGoldAuction.sol index bc32f0064..1e57ae5c0 100644 --- a/protocol/contracts/interfaces/templegold/IDaiGoldAuction.sol +++ b/protocol/contracts/interfaces/templegold/IDaiGoldAuction.sol @@ -37,9 +37,6 @@ interface IDaiGoldAuction is IAuctionBase { /// @notice Keep track of next epoch auction Temple Gold amount function nextAuctionGoldAmount() external view returns (uint256); - - /// @notice Cool down in seconds for rewards distribution - function rewardDistributionCoolDown() external view returns (uint160); /// @notice Timestamp for last reward notification function lastRewardNotificationTimestamp() external view returns (uint96); diff --git a/protocol/contracts/templegold/DaiGoldAuction.sol b/protocol/contracts/templegold/DaiGoldAuction.sol index 7a65cb9ed..4186489a7 100644 --- a/protocol/contracts/templegold/DaiGoldAuction.sol +++ b/protocol/contracts/templegold/DaiGoldAuction.sol @@ -35,7 +35,6 @@ contract DaiGoldAuction is IDaiGoldAuction, AuctionBase, TempleElevatedAccess { /// @notice Keep track of next epoch auction Temple Gold amount uint256 public override nextAuctionGoldAmount; - uint160 public override rewardDistributionCoolDown; uint96 public override lastRewardNotificationTimestamp; /// @notice Auctions run for minimum 1 week diff --git a/protocol/contracts/templegold/SpiceAuction.sol b/protocol/contracts/templegold/SpiceAuction.sol index 666bccefb..64923a900 100644 --- a/protocol/contracts/templegold/SpiceAuction.sol +++ b/protocol/contracts/templegold/SpiceAuction.sol @@ -28,7 +28,7 @@ contract SpiceAuction is ISpiceAuction, AuctionBase { string public override name; /// @notice Last time auction was started. For zero auctions, it is the contract deploy timestamp - uint256 private _deoloyTimestamp; + uint256 private immutable _deoloyTimestamp; /// @notice Keep track of the different configurations for each auction mapping(uint256 auctionId => SpiceAuctionConfig config) public auctionConfigs; diff --git a/protocol/contracts/templegold/TempleGold.sol b/protocol/contracts/templegold/TempleGold.sol index dd9f91e36..672e4bb09 100644 --- a/protocol/contracts/templegold/TempleGold.sol +++ b/protocol/contracts/templegold/TempleGold.sol @@ -207,12 +207,17 @@ import { TempleMath } from "contracts/common/TempleMath.sol"; return totalSupply(); } - function _beforeTokenTransfer(address from, address to /*uint256 amount*/) internal view { + /** + * @dev Transfers a `value` amount of tokens from `from` to `to`, or alternatively mints (or burns) if `from` + * (or `to`) is the zero address. All customizations to transfers, mints, and burns should be done by overriding + * this function. + * + * Emits a {Transfer} event. + */ + function _update(address from, address to, uint256 value) internal override { /// @notice can only transfer to or from whitelisted addreess - /// this also disables burn - if (from != address(0) || to != address(0)) { - if (!authorized[from] && !authorized[to]) { revert ITempleGold.NonTransferrable(from, to); } - } + if (!authorized[from] && !authorized[to]) { revert ITempleGold.NonTransferrable(from, to); } + super._update(from, to, value); } function _distribute(DistributionParams storage params, uint256 mintAmount) private { diff --git a/protocol/contracts/templegold/TempleGoldProxy.sol b/protocol/contracts/templegold/TempleGoldProxy.sol index 94195a08c..3db9fe201 100644 --- a/protocol/contracts/templegold/TempleGoldProxy.sol +++ b/protocol/contracts/templegold/TempleGoldProxy.sol @@ -12,7 +12,7 @@ import { IOAppPreCrimeSimulator } from "@layerzerolabs/lz-evm-oapp-v2/contracts/ contract TempleGoldProxy is ITempleGoldProxy, TempleElevatedAccess { /// @notice Temple Gold - ITempleGold public override templeGold; + ITempleGold public immutable override templeGold; constructor(address _rescuer, address _executor, address _templeGold) TempleElevatedAccess(_rescuer, _executor) { templeGold = ITempleGold(_templeGold); diff --git a/protocol/slither.db.json b/protocol/slither.db.json index c3dc2031e..e41d46871 100644 --- a/protocol/slither.db.json +++ b/protocol/slither.db.json @@ -1,4 +1,78646 @@ [ + { + "elements": [ + { + "type": "function", + "name": "_getMintAmount", + "source_mapping": { + "start": 10498, + "length": 551, + "filename_relative": "contracts/templegold/TempleGold.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGold.sol", + "filename_short": "contracts/templegold/TempleGold.sol", + "is_dependency": false, + "lines": [ + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "TempleGold", + "source_mapping": { + "start": 1659, + "length": 13467, + "filename_relative": "contracts/templegold/TempleGold.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGold.sol", + "filename_short": "contracts/templegold/TempleGold.sol", + "is_dependency": false, + "lines": [ + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341 + ], + "starting_column": 2, + "ending_column": 0 + } + }, + "signature": "_getMintAmount(ITempleGold.VestingFactor)" + } + }, + { + "type": "node", + "name": "lastMintTimestamp == 0", + "source_mapping": { + "start": 10655, + "length": 22, + "filename_relative": "contracts/templegold/TempleGold.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGold.sol", + "filename_short": "contracts/templegold/TempleGold.sol", + "is_dependency": false, + "lines": [ + 247 + ], + "starting_column": 13, + "ending_column": 35 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "_getMintAmount", + "source_mapping": { + "start": 10498, + "length": 551, + "filename_relative": "contracts/templegold/TempleGold.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGold.sol", + "filename_short": "contracts/templegold/TempleGold.sol", + "is_dependency": false, + "lines": [ + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "TempleGold", + "source_mapping": { + "start": 1659, + "length": 13467, + "filename_relative": "contracts/templegold/TempleGold.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGold.sol", + "filename_short": "contracts/templegold/TempleGold.sol", + "is_dependency": false, + "lines": [ + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341 + ], + "starting_column": 2, + "ending_column": 0 + } + }, + "signature": "_getMintAmount(ITempleGold.VestingFactor)" + } + } + } + } + ], + "description": "TempleGold._getMintAmount(ITempleGold.VestingFactor) (contracts/templegold/TempleGold.sol#245-252) uses a dangerous strict equality:\n\t- lastMintTimestamp == 0 (contracts/templegold/TempleGold.sol#247)\n", + "markdown": "[TempleGold._getMintAmount(ITempleGold.VestingFactor)](contracts/templegold/TempleGold.sol#L245-L252) uses a dangerous strict equality:\n\t- [lastMintTimestamp == 0](contracts/templegold/TempleGold.sol#L247)\n", + "first_markdown_element": "contracts/templegold/TempleGold.sol#L245-L252", + "id": "aa041756fca1c7c930ed52f5bb019e3f7e9c6c9ab6710767646f61681bc61509", + "check": "incorrect-equality", + "impact": "Medium", + "confidence": "High" + }, + { + "elements": [ + { + "type": "function", + "name": "bid", + "source_mapping": { + "start": 5328, + "length": 511, + "filename_relative": "contracts/templegold/DaiGoldAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/DaiGoldAuction.sol", + "filename_short": "contracts/templegold/DaiGoldAuction.sol", + "is_dependency": false, + "lines": [ + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "DaiGoldAuction", + "source_mapping": { + "start": 1163, + "length": 8086, + "filename_relative": "contracts/templegold/DaiGoldAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/DaiGoldAuction.sol", + "filename_short": "contracts/templegold/DaiGoldAuction.sol", + "is_dependency": false, + "lines": [ + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239 + ], + "starting_column": 1, + "ending_column": 0 + } + }, + "signature": "bid(uint256)" + } + }, + { + "type": "node", + "name": "_distributeGold()", + "source_mapping": { + "start": 5483, + "length": 17, + "filename_relative": "contracts/templegold/DaiGoldAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/DaiGoldAuction.sol", + "filename_short": "contracts/templegold/DaiGoldAuction.sol", + "is_dependency": false, + "lines": [ + 127 + ], + "starting_column": 9, + "ending_column": 26 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "bid", + "source_mapping": { + "start": 5328, + "length": 511, + "filename_relative": "contracts/templegold/DaiGoldAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/DaiGoldAuction.sol", + "filename_short": "contracts/templegold/DaiGoldAuction.sol", + "is_dependency": false, + "lines": [ + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "DaiGoldAuction", + "source_mapping": { + "start": 1163, + "length": 8086, + "filename_relative": "contracts/templegold/DaiGoldAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/DaiGoldAuction.sol", + "filename_short": "contracts/templegold/DaiGoldAuction.sol", + "is_dependency": false, + "lines": [ + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239 + ], + "starting_column": 1, + "ending_column": 0 + } + }, + "signature": "bid(uint256)" + } + } + }, + "additional_fields": { + "underlying_type": "external_calls" + } + }, + { + "type": "node", + "name": "templeGold.mint()", + "source_mapping": { + "start": 9119, + "length": 17, + "filename_relative": "contracts/templegold/DaiGoldAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/DaiGoldAuction.sol", + "filename_short": "contracts/templegold/DaiGoldAuction.sol", + "is_dependency": false, + "lines": [ + 231 + ], + "starting_column": 9, + "ending_column": 26 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "_distributeGold", + "source_mapping": { + "start": 9014, + "length": 129, + "filename_relative": "contracts/templegold/DaiGoldAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/DaiGoldAuction.sol", + "filename_short": "contracts/templegold/DaiGoldAuction.sol", + "is_dependency": false, + "lines": [ + 229, + 230, + 231, + 232 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "DaiGoldAuction", + "source_mapping": { + "start": 1163, + "length": 8086, + "filename_relative": "contracts/templegold/DaiGoldAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/DaiGoldAuction.sol", + "filename_short": "contracts/templegold/DaiGoldAuction.sol", + "is_dependency": false, + "lines": [ + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239 + ], + "starting_column": 1, + "ending_column": 0 + } + }, + "signature": "_distributeGold()" + } + } + }, + "additional_fields": { + "underlying_type": "external_calls_sending_eth" + } + }, + { + "type": "node", + "name": "bidToken.safeTransferFrom(msg.sender,address(this),amount)", + "source_mapping": { + "start": 5511, + "length": 60, + "filename_relative": "contracts/templegold/DaiGoldAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/DaiGoldAuction.sol", + "filename_short": "contracts/templegold/DaiGoldAuction.sol", + "is_dependency": false, + "lines": [ + 129 + ], + "starting_column": 9, + "ending_column": 69 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "bid", + "source_mapping": { + "start": 5328, + "length": 511, + "filename_relative": "contracts/templegold/DaiGoldAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/DaiGoldAuction.sol", + "filename_short": "contracts/templegold/DaiGoldAuction.sol", + "is_dependency": false, + "lines": [ + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "DaiGoldAuction", + "source_mapping": { + "start": 1163, + "length": 8086, + "filename_relative": "contracts/templegold/DaiGoldAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/DaiGoldAuction.sol", + "filename_short": "contracts/templegold/DaiGoldAuction.sol", + "is_dependency": false, + "lines": [ + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239 + ], + "starting_column": 1, + "ending_column": 0 + } + }, + "signature": "bid(uint256)" + } + } + }, + "additional_fields": { + "underlying_type": "external_calls" + } + }, + { + "type": "node", + "name": "info.totalBidTokenAmount += amount", + "source_mapping": { + "start": 5742, + "length": 34, + "filename_relative": "contracts/templegold/DaiGoldAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/DaiGoldAuction.sol", + "filename_short": "contracts/templegold/DaiGoldAuction.sol", + "is_dependency": false, + "lines": [ + 135 + ], + "starting_column": 9, + "ending_column": 43 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "bid", + "source_mapping": { + "start": 5328, + "length": 511, + "filename_relative": "contracts/templegold/DaiGoldAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/DaiGoldAuction.sol", + "filename_short": "contracts/templegold/DaiGoldAuction.sol", + "is_dependency": false, + "lines": [ + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "DaiGoldAuction", + "source_mapping": { + "start": 1163, + "length": 8086, + "filename_relative": "contracts/templegold/DaiGoldAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/DaiGoldAuction.sol", + "filename_short": "contracts/templegold/DaiGoldAuction.sol", + "is_dependency": false, + "lines": [ + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239 + ], + "starting_column": 1, + "ending_column": 0 + } + }, + "signature": "bid(uint256)" + } + } + }, + "additional_fields": { + "underlying_type": "variables_written", + "variable_name": "epochs" + } + } + ], + "description": "Reentrancy in DaiGoldAuction.bid(uint256) (contracts/templegold/DaiGoldAuction.sol#125-137):\n\tExternal calls:\n\t- _distributeGold() (contracts/templegold/DaiGoldAuction.sol#127)\n\t\t- templeGold.mint() (contracts/templegold/DaiGoldAuction.sol#231)\n\t- bidToken.safeTransferFrom(msg.sender,address(this),amount) (contracts/templegold/DaiGoldAuction.sol#129)\n\tState variables written after the call(s):\n\t- info.totalBidTokenAmount += amount (contracts/templegold/DaiGoldAuction.sol#135)\n\tAuctionBase.epochs (contracts/templegold/AuctionBase.sol#11) can be used in cross function reentrancies:\n\t- AuctionBase._canDeposit() (contracts/templegold/AuctionBase.sol#15-18)\n\t- AuctionBase._isCurrentEpochEnded() (contracts/templegold/AuctionBase.sol#20-23)\n\t- DaiGoldAuction.bid(uint256) (contracts/templegold/DaiGoldAuction.sol#125-137)\n\t- DaiGoldAuction.claim(uint256) (contracts/templegold/DaiGoldAuction.sol#144-158)\n\t- DaiGoldAuction.epochGoldSupply(uint256) (contracts/templegold/DaiGoldAuction.sol#178-180)\n\t- AuctionBase.getEpochInfo(uint256) (contracts/templegold/AuctionBase.sol#25-27)\n\t- DaiGoldAuction.startAuction() (contracts/templegold/DaiGoldAuction.sol#98-119)\n", + "markdown": "Reentrancy in [DaiGoldAuction.bid(uint256)](contracts/templegold/DaiGoldAuction.sol#L125-L137):\n\tExternal calls:\n\t- [_distributeGold()](contracts/templegold/DaiGoldAuction.sol#L127)\n\t\t- [templeGold.mint()](contracts/templegold/DaiGoldAuction.sol#L231)\n\t- [bidToken.safeTransferFrom(msg.sender,address(this),amount)](contracts/templegold/DaiGoldAuction.sol#L129)\n\tState variables written after the call(s):\n\t- [info.totalBidTokenAmount += amount](contracts/templegold/DaiGoldAuction.sol#L135)\n\t[AuctionBase.epochs](contracts/templegold/AuctionBase.sol#L11) can be used in cross function reentrancies:\n\t- [AuctionBase._canDeposit()](contracts/templegold/AuctionBase.sol#L15-L18)\n\t- [AuctionBase._isCurrentEpochEnded()](contracts/templegold/AuctionBase.sol#L20-L23)\n\t- [DaiGoldAuction.bid(uint256)](contracts/templegold/DaiGoldAuction.sol#L125-L137)\n\t- [DaiGoldAuction.claim(uint256)](contracts/templegold/DaiGoldAuction.sol#L144-L158)\n\t- [DaiGoldAuction.epochGoldSupply(uint256)](contracts/templegold/DaiGoldAuction.sol#L178-L180)\n\t- [AuctionBase.getEpochInfo(uint256)](contracts/templegold/AuctionBase.sol#L25-L27)\n\t- [DaiGoldAuction.startAuction()](contracts/templegold/DaiGoldAuction.sol#L98-L119)\n", + "first_markdown_element": "contracts/templegold/DaiGoldAuction.sol#L125-L137", + "id": "c6d85c1d04e59bdf22018006ddafc843300742c0b59312a9e85c991d67ab5306", + "check": "reentrancy-no-eth", + "impact": "Medium", + "confidence": "Medium" + }, + { + "elements": [ + { + "type": "function", + "name": "claim", + "source_mapping": { + "start": 6013, + "length": 860, + "filename_relative": "contracts/templegold/DaiGoldAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/DaiGoldAuction.sol", + "filename_short": "contracts/templegold/DaiGoldAuction.sol", + "is_dependency": false, + "lines": [ + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "DaiGoldAuction", + "source_mapping": { + "start": 1163, + "length": 8086, + "filename_relative": "contracts/templegold/DaiGoldAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/DaiGoldAuction.sol", + "filename_short": "contracts/templegold/DaiGoldAuction.sol", + "is_dependency": false, + "lines": [ + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239 + ], + "starting_column": 1, + "ending_column": 0 + } + }, + "signature": "claim(uint256)" + } + }, + { + "type": "node", + "name": "_distributeGold()", + "source_mapping": { + "start": 6210, + "length": 17, + "filename_relative": "contracts/templegold/DaiGoldAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/DaiGoldAuction.sol", + "filename_short": "contracts/templegold/DaiGoldAuction.sol", + "is_dependency": false, + "lines": [ + 147 + ], + "starting_column": 9, + "ending_column": 26 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "claim", + "source_mapping": { + "start": 6013, + "length": 860, + "filename_relative": "contracts/templegold/DaiGoldAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/DaiGoldAuction.sol", + "filename_short": "contracts/templegold/DaiGoldAuction.sol", + "is_dependency": false, + "lines": [ + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "DaiGoldAuction", + "source_mapping": { + "start": 1163, + "length": 8086, + "filename_relative": "contracts/templegold/DaiGoldAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/DaiGoldAuction.sol", + "filename_short": "contracts/templegold/DaiGoldAuction.sol", + "is_dependency": false, + "lines": [ + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239 + ], + "starting_column": 1, + "ending_column": 0 + } + }, + "signature": "claim(uint256)" + } + } + }, + "additional_fields": { + "underlying_type": "external_calls" + } + }, + { + "type": "node", + "name": "templeGold.mint()", + "source_mapping": { + "start": 9119, + "length": 17, + "filename_relative": "contracts/templegold/DaiGoldAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/DaiGoldAuction.sol", + "filename_short": "contracts/templegold/DaiGoldAuction.sol", + "is_dependency": false, + "lines": [ + 231 + ], + "starting_column": 9, + "ending_column": 26 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "_distributeGold", + "source_mapping": { + "start": 9014, + "length": 129, + "filename_relative": "contracts/templegold/DaiGoldAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/DaiGoldAuction.sol", + "filename_short": "contracts/templegold/DaiGoldAuction.sol", + "is_dependency": false, + "lines": [ + 229, + 230, + 231, + 232 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "DaiGoldAuction", + "source_mapping": { + "start": 1163, + "length": 8086, + "filename_relative": "contracts/templegold/DaiGoldAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/DaiGoldAuction.sol", + "filename_short": "contracts/templegold/DaiGoldAuction.sol", + "is_dependency": false, + "lines": [ + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239 + ], + "starting_column": 1, + "ending_column": 0 + } + }, + "signature": "_distributeGold()" + } + } + }, + "additional_fields": { + "underlying_type": "external_calls_sending_eth" + } + }, + { + "type": "node", + "name": "bidToken.safeTransfer(treasury,bidTokenAmount)", + "source_mapping": { + "start": 6509, + "length": 47, + "filename_relative": "contracts/templegold/DaiGoldAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/DaiGoldAuction.sol", + "filename_short": "contracts/templegold/DaiGoldAuction.sol", + "is_dependency": false, + "lines": [ + 152 + ], + "starting_column": 9, + "ending_column": 56 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "claim", + "source_mapping": { + "start": 6013, + "length": 860, + "filename_relative": "contracts/templegold/DaiGoldAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/DaiGoldAuction.sol", + "filename_short": "contracts/templegold/DaiGoldAuction.sol", + "is_dependency": false, + "lines": [ + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "DaiGoldAuction", + "source_mapping": { + "start": 1163, + "length": 8086, + "filename_relative": "contracts/templegold/DaiGoldAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/DaiGoldAuction.sol", + "filename_short": "contracts/templegold/DaiGoldAuction.sol", + "is_dependency": false, + "lines": [ + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239 + ], + "starting_column": 1, + "ending_column": 0 + } + }, + "signature": "claim(uint256)" + } + } + }, + "additional_fields": { + "underlying_type": "external_calls" + } + }, + { + "type": "node", + "name": "delete depositors[msg.sender][epochId]", + "source_mapping": { + "start": 6567, + "length": 38, + "filename_relative": "contracts/templegold/DaiGoldAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/DaiGoldAuction.sol", + "filename_short": "contracts/templegold/DaiGoldAuction.sol", + "is_dependency": false, + "lines": [ + 154 + ], + "starting_column": 9, + "ending_column": 47 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "claim", + "source_mapping": { + "start": 6013, + "length": 860, + "filename_relative": "contracts/templegold/DaiGoldAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/DaiGoldAuction.sol", + "filename_short": "contracts/templegold/DaiGoldAuction.sol", + "is_dependency": false, + "lines": [ + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "DaiGoldAuction", + "source_mapping": { + "start": 1163, + "length": 8086, + "filename_relative": "contracts/templegold/DaiGoldAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/DaiGoldAuction.sol", + "filename_short": "contracts/templegold/DaiGoldAuction.sol", + "is_dependency": false, + "lines": [ + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239 + ], + "starting_column": 1, + "ending_column": 0 + } + }, + "signature": "claim(uint256)" + } + } + }, + "additional_fields": { + "underlying_type": "variables_written", + "variable_name": "depositors" + } + } + ], + "description": "Reentrancy in DaiGoldAuction.claim(uint256) (contracts/templegold/DaiGoldAuction.sol#144-158):\n\tExternal calls:\n\t- _distributeGold() (contracts/templegold/DaiGoldAuction.sol#147)\n\t\t- templeGold.mint() (contracts/templegold/DaiGoldAuction.sol#231)\n\t- bidToken.safeTransfer(treasury,bidTokenAmount) (contracts/templegold/DaiGoldAuction.sol#152)\n\tState variables written after the call(s):\n\t- delete depositors[msg.sender][epochId] (contracts/templegold/DaiGoldAuction.sol#154)\n\tAuctionBase.depositors (contracts/templegold/AuctionBase.sol#13) can be used in cross function reentrancies:\n\t- DaiGoldAuction.bid(uint256) (contracts/templegold/DaiGoldAuction.sol#125-137)\n\t- DaiGoldAuction.claim(uint256) (contracts/templegold/DaiGoldAuction.sol#144-158)\n\t- AuctionBase.depositors (contracts/templegold/AuctionBase.sol#13)\n", + "markdown": "Reentrancy in [DaiGoldAuction.claim(uint256)](contracts/templegold/DaiGoldAuction.sol#L144-L158):\n\tExternal calls:\n\t- [_distributeGold()](contracts/templegold/DaiGoldAuction.sol#L147)\n\t\t- [templeGold.mint()](contracts/templegold/DaiGoldAuction.sol#L231)\n\t- [bidToken.safeTransfer(treasury,bidTokenAmount)](contracts/templegold/DaiGoldAuction.sol#L152)\n\tState variables written after the call(s):\n\t- [delete depositors[msg.sender][epochId]](contracts/templegold/DaiGoldAuction.sol#L154)\n\t[AuctionBase.depositors](contracts/templegold/AuctionBase.sol#L13) can be used in cross function reentrancies:\n\t- [DaiGoldAuction.bid(uint256)](contracts/templegold/DaiGoldAuction.sol#L125-L137)\n\t- [DaiGoldAuction.claim(uint256)](contracts/templegold/DaiGoldAuction.sol#L144-L158)\n\t- [AuctionBase.depositors](contracts/templegold/AuctionBase.sol#L13)\n", + "first_markdown_element": "contracts/templegold/DaiGoldAuction.sol#L144-L158", + "id": "f3f4ac93928c00ce118814188d18aa1801e1277af171e9e41aaaf180d67e442b", + "check": "reentrancy-no-eth", + "impact": "Medium", + "confidence": "Medium" + }, + { + "elements": [ + { + "type": "variable", + "name": "_treasury", + "source_mapping": { + "start": 2268, + "length": 17, + "filename_relative": "contracts/templegold/DaiGoldAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/DaiGoldAuction.sol", + "filename_short": "contracts/templegold/DaiGoldAuction.sol", + "is_dependency": false, + "lines": [ + 51 + ], + "starting_column": 9, + "ending_column": 26 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "constructor", + "source_mapping": { + "start": 2191, + "length": 318, + "filename_relative": "contracts/templegold/DaiGoldAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/DaiGoldAuction.sol", + "filename_short": "contracts/templegold/DaiGoldAuction.sol", + "is_dependency": false, + "lines": [ + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "DaiGoldAuction", + "source_mapping": { + "start": 1163, + "length": 8086, + "filename_relative": "contracts/templegold/DaiGoldAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/DaiGoldAuction.sol", + "filename_short": "contracts/templegold/DaiGoldAuction.sol", + "is_dependency": false, + "lines": [ + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239 + ], + "starting_column": 1, + "ending_column": 0 + } + }, + "signature": "constructor(address,address,address,address,address)" + } + } + } + }, + { + "type": "node", + "name": "treasury = _treasury", + "source_mapping": { + "start": 2482, + "length": 20, + "filename_relative": "contracts/templegold/DaiGoldAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/DaiGoldAuction.sol", + "filename_short": "contracts/templegold/DaiGoldAuction.sol", + "is_dependency": false, + "lines": [ + 57 + ], + "starting_column": 9, + "ending_column": 29 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "constructor", + "source_mapping": { + "start": 2191, + "length": 318, + "filename_relative": "contracts/templegold/DaiGoldAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/DaiGoldAuction.sol", + "filename_short": "contracts/templegold/DaiGoldAuction.sol", + "is_dependency": false, + "lines": [ + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "DaiGoldAuction", + "source_mapping": { + "start": 1163, + "length": 8086, + "filename_relative": "contracts/templegold/DaiGoldAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/DaiGoldAuction.sol", + "filename_short": "contracts/templegold/DaiGoldAuction.sol", + "is_dependency": false, + "lines": [ + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239 + ], + "starting_column": 1, + "ending_column": 0 + } + }, + "signature": "constructor(address,address,address,address,address)" + } + } + } + } + ], + "description": "DaiGoldAuction.constructor(address,address,address,address,address)._treasury (contracts/templegold/DaiGoldAuction.sol#51) lacks a zero-check on :\n\t\t- treasury = _treasury (contracts/templegold/DaiGoldAuction.sol#57)\n", + "markdown": "[DaiGoldAuction.constructor(address,address,address,address,address)._treasury](contracts/templegold/DaiGoldAuction.sol#L51) lacks a zero-check on :\n\t\t- [treasury = _treasury](contracts/templegold/DaiGoldAuction.sol#L57)\n", + "first_markdown_element": "contracts/templegold/DaiGoldAuction.sol#L51", + "id": "50f686f23e50b866cd260cfa523f6692a91884e861a726ab1abc1f2142ea8093", + "check": "missing-zero-check", + "impact": "Low", + "confidence": "Medium" + }, + { + "elements": [ + { + "type": "variable", + "name": "_starter", + "source_mapping": { + "start": 3309, + "length": 16, + "filename_relative": "contracts/templegold/DaiGoldAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/DaiGoldAuction.sol", + "filename_short": "contracts/templegold/DaiGoldAuction.sol", + "is_dependency": false, + "lines": [ + 79 + ], + "starting_column": 32, + "ending_column": 48 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "setAuctionStarter", + "source_mapping": { + "start": 3282, + "length": 241, + "filename_relative": "contracts/templegold/DaiGoldAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/DaiGoldAuction.sol", + "filename_short": "contracts/templegold/DaiGoldAuction.sol", + "is_dependency": false, + "lines": [ + 79, + 80, + 81, + 82, + 83 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "DaiGoldAuction", + "source_mapping": { + "start": 1163, + "length": 8086, + "filename_relative": "contracts/templegold/DaiGoldAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/DaiGoldAuction.sol", + "filename_short": "contracts/templegold/DaiGoldAuction.sol", + "is_dependency": false, + "lines": [ + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239 + ], + "starting_column": 1, + "ending_column": 0 + } + }, + "signature": "setAuctionStarter(address)" + } + } + } + }, + { + "type": "node", + "name": "auctionStarter = _starter", + "source_mapping": { + "start": 3448, + "length": 25, + "filename_relative": "contracts/templegold/DaiGoldAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/DaiGoldAuction.sol", + "filename_short": "contracts/templegold/DaiGoldAuction.sol", + "is_dependency": false, + "lines": [ + 81 + ], + "starting_column": 9, + "ending_column": 34 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "setAuctionStarter", + "source_mapping": { + "start": 3282, + "length": 241, + "filename_relative": "contracts/templegold/DaiGoldAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/DaiGoldAuction.sol", + "filename_short": "contracts/templegold/DaiGoldAuction.sol", + "is_dependency": false, + "lines": [ + 79, + 80, + 81, + 82, + 83 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "DaiGoldAuction", + "source_mapping": { + "start": 1163, + "length": 8086, + "filename_relative": "contracts/templegold/DaiGoldAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/DaiGoldAuction.sol", + "filename_short": "contracts/templegold/DaiGoldAuction.sol", + "is_dependency": false, + "lines": [ + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239 + ], + "starting_column": 1, + "ending_column": 0 + } + }, + "signature": "setAuctionStarter(address)" + } + } + } + } + ], + "description": "DaiGoldAuction.setAuctionStarter(address)._starter (contracts/templegold/DaiGoldAuction.sol#79) lacks a zero-check on :\n\t\t- auctionStarter = _starter (contracts/templegold/DaiGoldAuction.sol#81)\n", + "markdown": "[DaiGoldAuction.setAuctionStarter(address)._starter](contracts/templegold/DaiGoldAuction.sol#L79) lacks a zero-check on :\n\t\t- [auctionStarter = _starter](contracts/templegold/DaiGoldAuction.sol#L81)\n", + "first_markdown_element": "contracts/templegold/DaiGoldAuction.sol#L79", + "id": "b0c15096f4f2491b6839f9223a91cfe6dd90633f0db4bd68c9b82bf8ad5ee881", + "check": "missing-zero-check", + "impact": "Low", + "confidence": "Medium" + }, + { + "elements": [ + { + "type": "function", + "name": "bid", + "source_mapping": { + "start": 5328, + "length": 511, + "filename_relative": "contracts/templegold/DaiGoldAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/DaiGoldAuction.sol", + "filename_short": "contracts/templegold/DaiGoldAuction.sol", + "is_dependency": false, + "lines": [ + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "DaiGoldAuction", + "source_mapping": { + "start": 1163, + "length": 8086, + "filename_relative": "contracts/templegold/DaiGoldAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/DaiGoldAuction.sol", + "filename_short": "contracts/templegold/DaiGoldAuction.sol", + "is_dependency": false, + "lines": [ + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239 + ], + "starting_column": 1, + "ending_column": 0 + } + }, + "signature": "bid(uint256)" + } + }, + { + "type": "node", + "name": "_distributeGold()", + "source_mapping": { + "start": 5483, + "length": 17, + "filename_relative": "contracts/templegold/DaiGoldAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/DaiGoldAuction.sol", + "filename_short": "contracts/templegold/DaiGoldAuction.sol", + "is_dependency": false, + "lines": [ + 127 + ], + "starting_column": 9, + "ending_column": 26 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "bid", + "source_mapping": { + "start": 5328, + "length": 511, + "filename_relative": "contracts/templegold/DaiGoldAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/DaiGoldAuction.sol", + "filename_short": "contracts/templegold/DaiGoldAuction.sol", + "is_dependency": false, + "lines": [ + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "DaiGoldAuction", + "source_mapping": { + "start": 1163, + "length": 8086, + "filename_relative": "contracts/templegold/DaiGoldAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/DaiGoldAuction.sol", + "filename_short": "contracts/templegold/DaiGoldAuction.sol", + "is_dependency": false, + "lines": [ + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239 + ], + "starting_column": 1, + "ending_column": 0 + } + }, + "signature": "bid(uint256)" + } + } + }, + "additional_fields": { + "underlying_type": "external_calls" + } + }, + { + "type": "node", + "name": "templeGold.mint()", + "source_mapping": { + "start": 9119, + "length": 17, + "filename_relative": "contracts/templegold/DaiGoldAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/DaiGoldAuction.sol", + "filename_short": "contracts/templegold/DaiGoldAuction.sol", + "is_dependency": false, + "lines": [ + 231 + ], + "starting_column": 9, + "ending_column": 26 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "_distributeGold", + "source_mapping": { + "start": 9014, + "length": 129, + "filename_relative": "contracts/templegold/DaiGoldAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/DaiGoldAuction.sol", + "filename_short": "contracts/templegold/DaiGoldAuction.sol", + "is_dependency": false, + "lines": [ + 229, + 230, + 231, + 232 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "DaiGoldAuction", + "source_mapping": { + "start": 1163, + "length": 8086, + "filename_relative": "contracts/templegold/DaiGoldAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/DaiGoldAuction.sol", + "filename_short": "contracts/templegold/DaiGoldAuction.sol", + "is_dependency": false, + "lines": [ + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239 + ], + "starting_column": 1, + "ending_column": 0 + } + }, + "signature": "_distributeGold()" + } + } + }, + "additional_fields": { + "underlying_type": "external_calls_sending_eth" + } + }, + { + "type": "node", + "name": "bidToken.safeTransferFrom(msg.sender,address(this),amount)", + "source_mapping": { + "start": 5511, + "length": 60, + "filename_relative": "contracts/templegold/DaiGoldAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/DaiGoldAuction.sol", + "filename_short": "contracts/templegold/DaiGoldAuction.sol", + "is_dependency": false, + "lines": [ + 129 + ], + "starting_column": 9, + "ending_column": 69 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "bid", + "source_mapping": { + "start": 5328, + "length": 511, + "filename_relative": "contracts/templegold/DaiGoldAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/DaiGoldAuction.sol", + "filename_short": "contracts/templegold/DaiGoldAuction.sol", + "is_dependency": false, + "lines": [ + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "DaiGoldAuction", + "source_mapping": { + "start": 1163, + "length": 8086, + "filename_relative": "contracts/templegold/DaiGoldAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/DaiGoldAuction.sol", + "filename_short": "contracts/templegold/DaiGoldAuction.sol", + "is_dependency": false, + "lines": [ + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239 + ], + "starting_column": 1, + "ending_column": 0 + } + }, + "signature": "bid(uint256)" + } + } + }, + "additional_fields": { + "underlying_type": "external_calls" + } + }, + { + "type": "node", + "name": "_distributeGold()", + "source_mapping": { + "start": 5483, + "length": 17, + "filename_relative": "contracts/templegold/DaiGoldAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/DaiGoldAuction.sol", + "filename_short": "contracts/templegold/DaiGoldAuction.sol", + "is_dependency": false, + "lines": [ + 127 + ], + "starting_column": 9, + "ending_column": 26 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "bid", + "source_mapping": { + "start": 5328, + "length": 511, + "filename_relative": "contracts/templegold/DaiGoldAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/DaiGoldAuction.sol", + "filename_short": "contracts/templegold/DaiGoldAuction.sol", + "is_dependency": false, + "lines": [ + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "DaiGoldAuction", + "source_mapping": { + "start": 1163, + "length": 8086, + "filename_relative": "contracts/templegold/DaiGoldAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/DaiGoldAuction.sol", + "filename_short": "contracts/templegold/DaiGoldAuction.sol", + "is_dependency": false, + "lines": [ + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239 + ], + "starting_column": 1, + "ending_column": 0 + } + }, + "signature": "bid(uint256)" + } + } + }, + "additional_fields": { + "underlying_type": "external_calls_sending_eth" + } + }, + { + "type": "node", + "name": "templeGold.mint()", + "source_mapping": { + "start": 9119, + "length": 17, + "filename_relative": "contracts/templegold/DaiGoldAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/DaiGoldAuction.sol", + "filename_short": "contracts/templegold/DaiGoldAuction.sol", + "is_dependency": false, + "lines": [ + 231 + ], + "starting_column": 9, + "ending_column": 26 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "_distributeGold", + "source_mapping": { + "start": 9014, + "length": 129, + "filename_relative": "contracts/templegold/DaiGoldAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/DaiGoldAuction.sol", + "filename_short": "contracts/templegold/DaiGoldAuction.sol", + "is_dependency": false, + "lines": [ + 229, + 230, + 231, + 232 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "DaiGoldAuction", + "source_mapping": { + "start": 1163, + "length": 8086, + "filename_relative": "contracts/templegold/DaiGoldAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/DaiGoldAuction.sol", + "filename_short": "contracts/templegold/DaiGoldAuction.sol", + "is_dependency": false, + "lines": [ + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239 + ], + "starting_column": 1, + "ending_column": 0 + } + }, + "signature": "_distributeGold()" + } + } + }, + "additional_fields": { + "underlying_type": "external_calls_sending_eth" + } + }, + { + "type": "node", + "name": "bidToken.safeTransferFrom(msg.sender,address(this),amount)", + "source_mapping": { + "start": 5511, + "length": 60, + "filename_relative": "contracts/templegold/DaiGoldAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/DaiGoldAuction.sol", + "filename_short": "contracts/templegold/DaiGoldAuction.sol", + "is_dependency": false, + "lines": [ + 129 + ], + "starting_column": 9, + "ending_column": 69 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "bid", + "source_mapping": { + "start": 5328, + "length": 511, + "filename_relative": "contracts/templegold/DaiGoldAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/DaiGoldAuction.sol", + "filename_short": "contracts/templegold/DaiGoldAuction.sol", + "is_dependency": false, + "lines": [ + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "DaiGoldAuction", + "source_mapping": { + "start": 1163, + "length": 8086, + "filename_relative": "contracts/templegold/DaiGoldAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/DaiGoldAuction.sol", + "filename_short": "contracts/templegold/DaiGoldAuction.sol", + "is_dependency": false, + "lines": [ + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239 + ], + "starting_column": 1, + "ending_column": 0 + } + }, + "signature": "bid(uint256)" + } + } + }, + "additional_fields": { + "underlying_type": "external_calls_sending_eth" + } + }, + { + "type": "node", + "name": "depositors[msg.sender][epochIdCache] += amount", + "source_mapping": { + "start": 5630, + "length": 46, + "filename_relative": "contracts/templegold/DaiGoldAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/DaiGoldAuction.sol", + "filename_short": "contracts/templegold/DaiGoldAuction.sol", + "is_dependency": false, + "lines": [ + 132 + ], + "starting_column": 9, + "ending_column": 55 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "bid", + "source_mapping": { + "start": 5328, + "length": 511, + "filename_relative": "contracts/templegold/DaiGoldAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/DaiGoldAuction.sol", + "filename_short": "contracts/templegold/DaiGoldAuction.sol", + "is_dependency": false, + "lines": [ + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "DaiGoldAuction", + "source_mapping": { + "start": 1163, + "length": 8086, + "filename_relative": "contracts/templegold/DaiGoldAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/DaiGoldAuction.sol", + "filename_short": "contracts/templegold/DaiGoldAuction.sol", + "is_dependency": false, + "lines": [ + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239 + ], + "starting_column": 1, + "ending_column": 0 + } + }, + "signature": "bid(uint256)" + } + } + }, + "additional_fields": { + "underlying_type": "variables_written", + "variable_name": "depositors" + } + } + ], + "description": "Reentrancy in DaiGoldAuction.bid(uint256) (contracts/templegold/DaiGoldAuction.sol#125-137):\n\tExternal calls:\n\t- _distributeGold() (contracts/templegold/DaiGoldAuction.sol#127)\n\t\t- templeGold.mint() (contracts/templegold/DaiGoldAuction.sol#231)\n\t- bidToken.safeTransferFrom(msg.sender,address(this),amount) (contracts/templegold/DaiGoldAuction.sol#129)\n\tState variables written after the call(s):\n\t- depositors[msg.sender][epochIdCache] += amount (contracts/templegold/DaiGoldAuction.sol#132)\n", + "markdown": "Reentrancy in [DaiGoldAuction.bid(uint256)](contracts/templegold/DaiGoldAuction.sol#L125-L137):\n\tExternal calls:\n\t- [_distributeGold()](contracts/templegold/DaiGoldAuction.sol#L127)\n\t\t- [templeGold.mint()](contracts/templegold/DaiGoldAuction.sol#L231)\n\t- [bidToken.safeTransferFrom(msg.sender,address(this),amount)](contracts/templegold/DaiGoldAuction.sol#L129)\n\tState variables written after the call(s):\n\t- [depositors[msg.sender][epochIdCache] += amount](contracts/templegold/DaiGoldAuction.sol#L132)\n", + "first_markdown_element": "contracts/templegold/DaiGoldAuction.sol#L125-L137", + "id": "8a1f60221d9b43acbfaa0cef80802f13eaf55685f099b6f79eb2876448cd3f9a", + "check": "reentrancy-benign", + "impact": "Low", + "confidence": "Medium" + }, + { + "elements": [ + { + "type": "function", + "name": "bid", + "source_mapping": { + "start": 5328, + "length": 511, + "filename_relative": "contracts/templegold/DaiGoldAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/DaiGoldAuction.sol", + "filename_short": "contracts/templegold/DaiGoldAuction.sol", + "is_dependency": false, + "lines": [ + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "DaiGoldAuction", + "source_mapping": { + "start": 1163, + "length": 8086, + "filename_relative": "contracts/templegold/DaiGoldAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/DaiGoldAuction.sol", + "filename_short": "contracts/templegold/DaiGoldAuction.sol", + "is_dependency": false, + "lines": [ + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239 + ], + "starting_column": 1, + "ending_column": 0 + } + }, + "signature": "bid(uint256)" + } + }, + { + "type": "node", + "name": "_distributeGold()", + "source_mapping": { + "start": 5483, + "length": 17, + "filename_relative": "contracts/templegold/DaiGoldAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/DaiGoldAuction.sol", + "filename_short": "contracts/templegold/DaiGoldAuction.sol", + "is_dependency": false, + "lines": [ + 127 + ], + "starting_column": 9, + "ending_column": 26 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "bid", + "source_mapping": { + "start": 5328, + "length": 511, + "filename_relative": "contracts/templegold/DaiGoldAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/DaiGoldAuction.sol", + "filename_short": "contracts/templegold/DaiGoldAuction.sol", + "is_dependency": false, + "lines": [ + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "DaiGoldAuction", + "source_mapping": { + "start": 1163, + "length": 8086, + "filename_relative": "contracts/templegold/DaiGoldAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/DaiGoldAuction.sol", + "filename_short": "contracts/templegold/DaiGoldAuction.sol", + "is_dependency": false, + "lines": [ + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239 + ], + "starting_column": 1, + "ending_column": 0 + } + }, + "signature": "bid(uint256)" + } + } + }, + "additional_fields": { + "underlying_type": "external_calls" + } + }, + { + "type": "node", + "name": "templeGold.mint()", + "source_mapping": { + "start": 9119, + "length": 17, + "filename_relative": "contracts/templegold/DaiGoldAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/DaiGoldAuction.sol", + "filename_short": "contracts/templegold/DaiGoldAuction.sol", + "is_dependency": false, + "lines": [ + 231 + ], + "starting_column": 9, + "ending_column": 26 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "_distributeGold", + "source_mapping": { + "start": 9014, + "length": 129, + "filename_relative": "contracts/templegold/DaiGoldAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/DaiGoldAuction.sol", + "filename_short": "contracts/templegold/DaiGoldAuction.sol", + "is_dependency": false, + "lines": [ + 229, + 230, + 231, + 232 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "DaiGoldAuction", + "source_mapping": { + "start": 1163, + "length": 8086, + "filename_relative": "contracts/templegold/DaiGoldAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/DaiGoldAuction.sol", + "filename_short": "contracts/templegold/DaiGoldAuction.sol", + "is_dependency": false, + "lines": [ + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239 + ], + "starting_column": 1, + "ending_column": 0 + } + }, + "signature": "_distributeGold()" + } + } + }, + "additional_fields": { + "underlying_type": "external_calls_sending_eth" + } + }, + { + "type": "node", + "name": "bidToken.safeTransferFrom(msg.sender,address(this),amount)", + "source_mapping": { + "start": 5511, + "length": 60, + "filename_relative": "contracts/templegold/DaiGoldAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/DaiGoldAuction.sol", + "filename_short": "contracts/templegold/DaiGoldAuction.sol", + "is_dependency": false, + "lines": [ + 129 + ], + "starting_column": 9, + "ending_column": 69 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "bid", + "source_mapping": { + "start": 5328, + "length": 511, + "filename_relative": "contracts/templegold/DaiGoldAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/DaiGoldAuction.sol", + "filename_short": "contracts/templegold/DaiGoldAuction.sol", + "is_dependency": false, + "lines": [ + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "DaiGoldAuction", + "source_mapping": { + "start": 1163, + "length": 8086, + "filename_relative": "contracts/templegold/DaiGoldAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/DaiGoldAuction.sol", + "filename_short": "contracts/templegold/DaiGoldAuction.sol", + "is_dependency": false, + "lines": [ + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239 + ], + "starting_column": 1, + "ending_column": 0 + } + }, + "signature": "bid(uint256)" + } + } + }, + "additional_fields": { + "underlying_type": "external_calls" + } + }, + { + "type": "node", + "name": "Deposit(msg.sender,epochIdCache,amount)", + "source_mapping": { + "start": 5786, + "length": 46, + "filename_relative": "contracts/templegold/DaiGoldAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/DaiGoldAuction.sol", + "filename_short": "contracts/templegold/DaiGoldAuction.sol", + "is_dependency": false, + "lines": [ + 136 + ], + "starting_column": 9, + "ending_column": 55 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "bid", + "source_mapping": { + "start": 5328, + "length": 511, + "filename_relative": "contracts/templegold/DaiGoldAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/DaiGoldAuction.sol", + "filename_short": "contracts/templegold/DaiGoldAuction.sol", + "is_dependency": false, + "lines": [ + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "DaiGoldAuction", + "source_mapping": { + "start": 1163, + "length": 8086, + "filename_relative": "contracts/templegold/DaiGoldAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/DaiGoldAuction.sol", + "filename_short": "contracts/templegold/DaiGoldAuction.sol", + "is_dependency": false, + "lines": [ + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239 + ], + "starting_column": 1, + "ending_column": 0 + } + }, + "signature": "bid(uint256)" + } + } + }, + "additional_fields": { + "underlying_type": "event" + } + } + ], + "description": "Reentrancy in DaiGoldAuction.bid(uint256) (contracts/templegold/DaiGoldAuction.sol#125-137):\n\tExternal calls:\n\t- _distributeGold() (contracts/templegold/DaiGoldAuction.sol#127)\n\t\t- templeGold.mint() (contracts/templegold/DaiGoldAuction.sol#231)\n\t- bidToken.safeTransferFrom(msg.sender,address(this),amount) (contracts/templegold/DaiGoldAuction.sol#129)\n\tEvent emitted after the call(s):\n\t- Deposit(msg.sender,epochIdCache,amount) (contracts/templegold/DaiGoldAuction.sol#136)\n", + "markdown": "Reentrancy in [DaiGoldAuction.bid(uint256)](contracts/templegold/DaiGoldAuction.sol#L125-L137):\n\tExternal calls:\n\t- [_distributeGold()](contracts/templegold/DaiGoldAuction.sol#L127)\n\t\t- [templeGold.mint()](contracts/templegold/DaiGoldAuction.sol#L231)\n\t- [bidToken.safeTransferFrom(msg.sender,address(this),amount)](contracts/templegold/DaiGoldAuction.sol#L129)\n\tEvent emitted after the call(s):\n\t- [Deposit(msg.sender,epochIdCache,amount)](contracts/templegold/DaiGoldAuction.sol#L136)\n", + "first_markdown_element": "contracts/templegold/DaiGoldAuction.sol#L125-L137", + "id": "e886cb77cb4a360484e1434cf5be46a331f020abbee46b7362b9caab22ad31ba", + "check": "reentrancy-events", + "impact": "Low", + "confidence": "Medium" + }, + { + "elements": [ + { + "type": "function", + "name": "claim", + "source_mapping": { + "start": 6013, + "length": 860, + "filename_relative": "contracts/templegold/DaiGoldAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/DaiGoldAuction.sol", + "filename_short": "contracts/templegold/DaiGoldAuction.sol", + "is_dependency": false, + "lines": [ + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "DaiGoldAuction", + "source_mapping": { + "start": 1163, + "length": 8086, + "filename_relative": "contracts/templegold/DaiGoldAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/DaiGoldAuction.sol", + "filename_short": "contracts/templegold/DaiGoldAuction.sol", + "is_dependency": false, + "lines": [ + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239 + ], + "starting_column": 1, + "ending_column": 0 + } + }, + "signature": "claim(uint256)" + } + }, + { + "type": "node", + "name": "_distributeGold()", + "source_mapping": { + "start": 6210, + "length": 17, + "filename_relative": "contracts/templegold/DaiGoldAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/DaiGoldAuction.sol", + "filename_short": "contracts/templegold/DaiGoldAuction.sol", + "is_dependency": false, + "lines": [ + 147 + ], + "starting_column": 9, + "ending_column": 26 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "claim", + "source_mapping": { + "start": 6013, + "length": 860, + "filename_relative": "contracts/templegold/DaiGoldAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/DaiGoldAuction.sol", + "filename_short": "contracts/templegold/DaiGoldAuction.sol", + "is_dependency": false, + "lines": [ + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "DaiGoldAuction", + "source_mapping": { + "start": 1163, + "length": 8086, + "filename_relative": "contracts/templegold/DaiGoldAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/DaiGoldAuction.sol", + "filename_short": "contracts/templegold/DaiGoldAuction.sol", + "is_dependency": false, + "lines": [ + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239 + ], + "starting_column": 1, + "ending_column": 0 + } + }, + "signature": "claim(uint256)" + } + } + }, + "additional_fields": { + "underlying_type": "external_calls" + } + }, + { + "type": "node", + "name": "templeGold.mint()", + "source_mapping": { + "start": 9119, + "length": 17, + "filename_relative": "contracts/templegold/DaiGoldAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/DaiGoldAuction.sol", + "filename_short": "contracts/templegold/DaiGoldAuction.sol", + "is_dependency": false, + "lines": [ + 231 + ], + "starting_column": 9, + "ending_column": 26 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "_distributeGold", + "source_mapping": { + "start": 9014, + "length": 129, + "filename_relative": "contracts/templegold/DaiGoldAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/DaiGoldAuction.sol", + "filename_short": "contracts/templegold/DaiGoldAuction.sol", + "is_dependency": false, + "lines": [ + 229, + 230, + 231, + 232 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "DaiGoldAuction", + "source_mapping": { + "start": 1163, + "length": 8086, + "filename_relative": "contracts/templegold/DaiGoldAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/DaiGoldAuction.sol", + "filename_short": "contracts/templegold/DaiGoldAuction.sol", + "is_dependency": false, + "lines": [ + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239 + ], + "starting_column": 1, + "ending_column": 0 + } + }, + "signature": "_distributeGold()" + } + } + }, + "additional_fields": { + "underlying_type": "external_calls_sending_eth" + } + }, + { + "type": "node", + "name": "bidToken.safeTransfer(treasury,bidTokenAmount)", + "source_mapping": { + "start": 6509, + "length": 47, + "filename_relative": "contracts/templegold/DaiGoldAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/DaiGoldAuction.sol", + "filename_short": "contracts/templegold/DaiGoldAuction.sol", + "is_dependency": false, + "lines": [ + 152 + ], + "starting_column": 9, + "ending_column": 56 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "claim", + "source_mapping": { + "start": 6013, + "length": 860, + "filename_relative": "contracts/templegold/DaiGoldAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/DaiGoldAuction.sol", + "filename_short": "contracts/templegold/DaiGoldAuction.sol", + "is_dependency": false, + "lines": [ + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "DaiGoldAuction", + "source_mapping": { + "start": 1163, + "length": 8086, + "filename_relative": "contracts/templegold/DaiGoldAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/DaiGoldAuction.sol", + "filename_short": "contracts/templegold/DaiGoldAuction.sol", + "is_dependency": false, + "lines": [ + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239 + ], + "starting_column": 1, + "ending_column": 0 + } + }, + "signature": "claim(uint256)" + } + } + }, + "additional_fields": { + "underlying_type": "external_calls" + } + }, + { + "type": "node", + "name": "templeGold.safeTransfer(msg.sender,claimAmount)", + "source_mapping": { + "start": 6748, + "length": 48, + "filename_relative": "contracts/templegold/DaiGoldAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/DaiGoldAuction.sol", + "filename_short": "contracts/templegold/DaiGoldAuction.sol", + "is_dependency": false, + "lines": [ + 156 + ], + "starting_column": 9, + "ending_column": 57 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "claim", + "source_mapping": { + "start": 6013, + "length": 860, + "filename_relative": "contracts/templegold/DaiGoldAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/DaiGoldAuction.sol", + "filename_short": "contracts/templegold/DaiGoldAuction.sol", + "is_dependency": false, + "lines": [ + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "DaiGoldAuction", + "source_mapping": { + "start": 1163, + "length": 8086, + "filename_relative": "contracts/templegold/DaiGoldAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/DaiGoldAuction.sol", + "filename_short": "contracts/templegold/DaiGoldAuction.sol", + "is_dependency": false, + "lines": [ + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239 + ], + "starting_column": 1, + "ending_column": 0 + } + }, + "signature": "claim(uint256)" + } + } + }, + "additional_fields": { + "underlying_type": "external_calls" + } + }, + { + "type": "node", + "name": "Claim(msg.sender,epochId,bidTokenAmount,claimAmount)", + "source_mapping": { + "start": 6806, + "length": 60, + "filename_relative": "contracts/templegold/DaiGoldAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/DaiGoldAuction.sol", + "filename_short": "contracts/templegold/DaiGoldAuction.sol", + "is_dependency": false, + "lines": [ + 157 + ], + "starting_column": 9, + "ending_column": 69 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "claim", + "source_mapping": { + "start": 6013, + "length": 860, + "filename_relative": "contracts/templegold/DaiGoldAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/DaiGoldAuction.sol", + "filename_short": "contracts/templegold/DaiGoldAuction.sol", + "is_dependency": false, + "lines": [ + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "DaiGoldAuction", + "source_mapping": { + "start": 1163, + "length": 8086, + "filename_relative": "contracts/templegold/DaiGoldAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/DaiGoldAuction.sol", + "filename_short": "contracts/templegold/DaiGoldAuction.sol", + "is_dependency": false, + "lines": [ + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239 + ], + "starting_column": 1, + "ending_column": 0 + } + }, + "signature": "claim(uint256)" + } + } + }, + "additional_fields": { + "underlying_type": "event" + } + } + ], + "description": "Reentrancy in DaiGoldAuction.claim(uint256) (contracts/templegold/DaiGoldAuction.sol#144-158):\n\tExternal calls:\n\t- _distributeGold() (contracts/templegold/DaiGoldAuction.sol#147)\n\t\t- templeGold.mint() (contracts/templegold/DaiGoldAuction.sol#231)\n\t- bidToken.safeTransfer(treasury,bidTokenAmount) (contracts/templegold/DaiGoldAuction.sol#152)\n\t- templeGold.safeTransfer(msg.sender,claimAmount) (contracts/templegold/DaiGoldAuction.sol#156)\n\tEvent emitted after the call(s):\n\t- Claim(msg.sender,epochId,bidTokenAmount,claimAmount) (contracts/templegold/DaiGoldAuction.sol#157)\n", + "markdown": "Reentrancy in [DaiGoldAuction.claim(uint256)](contracts/templegold/DaiGoldAuction.sol#L144-L158):\n\tExternal calls:\n\t- [_distributeGold()](contracts/templegold/DaiGoldAuction.sol#L147)\n\t\t- [templeGold.mint()](contracts/templegold/DaiGoldAuction.sol#L231)\n\t- [bidToken.safeTransfer(treasury,bidTokenAmount)](contracts/templegold/DaiGoldAuction.sol#L152)\n\t- [templeGold.safeTransfer(msg.sender,claimAmount)](contracts/templegold/DaiGoldAuction.sol#L156)\n\tEvent emitted after the call(s):\n\t- [Claim(msg.sender,epochId,bidTokenAmount,claimAmount)](contracts/templegold/DaiGoldAuction.sol#L157)\n", + "first_markdown_element": "contracts/templegold/DaiGoldAuction.sol#L144-L158", + "id": "0000dd412c56945eb8dda9c2f5a2bd3be48ab96d37b4706272fa7f6e1f0ff3e7", + "check": "reentrancy-events", + "impact": "Low", + "confidence": "Medium" + }, + { + "elements": [ + { + "type": "function", + "name": "startAuction", + "source_mapping": { + "start": 3989, + "length": 1194, + "filename_relative": "contracts/templegold/DaiGoldAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/DaiGoldAuction.sol", + "filename_short": "contracts/templegold/DaiGoldAuction.sol", + "is_dependency": false, + "lines": [ + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "DaiGoldAuction", + "source_mapping": { + "start": 1163, + "length": 8086, + "filename_relative": "contracts/templegold/DaiGoldAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/DaiGoldAuction.sol", + "filename_short": "contracts/templegold/DaiGoldAuction.sol", + "is_dependency": false, + "lines": [ + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239 + ], + "starting_column": 1, + "ending_column": 0 + } + }, + "signature": "startAuction()" + } + }, + { + "type": "node", + "name": "prevAuctionInfo.endTime + config.auctionsTimeDiff > block.timestamp", + "source_mapping": { + "start": 4429, + "length": 67, + "filename_relative": "contracts/templegold/DaiGoldAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/DaiGoldAuction.sol", + "filename_short": "contracts/templegold/DaiGoldAuction.sol", + "is_dependency": false, + "lines": [ + 105 + ], + "starting_column": 13, + "ending_column": 80 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "startAuction", + "source_mapping": { + "start": 3989, + "length": 1194, + "filename_relative": "contracts/templegold/DaiGoldAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/DaiGoldAuction.sol", + "filename_short": "contracts/templegold/DaiGoldAuction.sol", + "is_dependency": false, + "lines": [ + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "DaiGoldAuction", + "source_mapping": { + "start": 1163, + "length": 8086, + "filename_relative": "contracts/templegold/DaiGoldAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/DaiGoldAuction.sol", + "filename_short": "contracts/templegold/DaiGoldAuction.sol", + "is_dependency": false, + "lines": [ + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239 + ], + "starting_column": 1, + "ending_column": 0 + } + }, + "signature": "startAuction()" + } + } + } + } + ], + "description": "DaiGoldAuction.startAuction() (contracts/templegold/DaiGoldAuction.sol#98-119) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- prevAuctionInfo.endTime + config.auctionsTimeDiff > block.timestamp (contracts/templegold/DaiGoldAuction.sol#105)\n", + "markdown": "[DaiGoldAuction.startAuction()](contracts/templegold/DaiGoldAuction.sol#L98-L119) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- [prevAuctionInfo.endTime + config.auctionsTimeDiff > block.timestamp](contracts/templegold/DaiGoldAuction.sol#L105)\n", + "first_markdown_element": "contracts/templegold/DaiGoldAuction.sol#L98-L119", + "id": "c6ec3e0e13ccc77721bf8d8cc2136a03f05785f99249e5c5e2aa7e4086939d79", + "check": "timestamp", + "impact": "Low", + "confidence": "Medium" + }, + { + "elements": [ + { + "type": "function", + "name": "_getMintAmount", + "source_mapping": { + "start": 10498, + "length": 551, + "filename_relative": "contracts/templegold/TempleGold.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGold.sol", + "filename_short": "contracts/templegold/TempleGold.sol", + "is_dependency": false, + "lines": [ + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "TempleGold", + "source_mapping": { + "start": 1659, + "length": 13467, + "filename_relative": "contracts/templegold/TempleGold.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGold.sol", + "filename_short": "contracts/templegold/TempleGold.sol", + "is_dependency": false, + "lines": [ + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341 + ], + "starting_column": 2, + "ending_column": 0 + } + }, + "signature": "_getMintAmount(ITempleGold.VestingFactor)" + } + }, + { + "type": "node", + "name": "lastMintTimestamp == 0", + "source_mapping": { + "start": 10655, + "length": 22, + "filename_relative": "contracts/templegold/TempleGold.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGold.sol", + "filename_short": "contracts/templegold/TempleGold.sol", + "is_dependency": false, + "lines": [ + 247 + ], + "starting_column": 13, + "ending_column": 35 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "_getMintAmount", + "source_mapping": { + "start": 10498, + "length": 551, + "filename_relative": "contracts/templegold/TempleGold.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGold.sol", + "filename_short": "contracts/templegold/TempleGold.sol", + "is_dependency": false, + "lines": [ + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "TempleGold", + "source_mapping": { + "start": 1659, + "length": 13467, + "filename_relative": "contracts/templegold/TempleGold.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGold.sol", + "filename_short": "contracts/templegold/TempleGold.sol", + "is_dependency": false, + "lines": [ + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341 + ], + "starting_column": 2, + "ending_column": 0 + } + }, + "signature": "_getMintAmount(ITempleGold.VestingFactor)" + } + } + } + } + ], + "description": "TempleGold._getMintAmount(ITempleGold.VestingFactor) (contracts/templegold/TempleGold.sol#245-252) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- lastMintTimestamp == 0 (contracts/templegold/TempleGold.sol#247)\n", + "markdown": "[TempleGold._getMintAmount(ITempleGold.VestingFactor)](contracts/templegold/TempleGold.sol#L245-L252) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- [lastMintTimestamp == 0](contracts/templegold/TempleGold.sol#L247)\n", + "first_markdown_element": "contracts/templegold/TempleGold.sol#L245-L252", + "id": "71d8972c9c6185d654d0f3f4cf7fab4e9443a362e8b31d2ab982647e98b12881", + "check": "timestamp", + "impact": "Low", + "confidence": "Medium" + }, + { + "elements": [ + { + "type": "function", + "name": "_voteWeight", + "source_mapping": { + "start": 15331, + "length": 797, + "filename_relative": "contracts/templegold/TempleGoldStaking.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGoldStaking.sol", + "filename_short": "contracts/templegold/TempleGoldStaking.sol", + "is_dependency": false, + "lines": [ + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "TempleGoldStaking", + "source_mapping": { + "start": 1239, + "length": 16951, + "filename_relative": "contracts/templegold/TempleGoldStaking.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGoldStaking.sol", + "filename_short": "contracts/templegold/TempleGoldStaking.sol", + "is_dependency": false, + "lines": [ + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480 + ], + "starting_column": 1, + "ending_column": 0 + } + }, + "signature": "_voteWeight(address)" + } + }, + { + "type": "node", + "name": "t += block.timestamp / WEEK_LENGTH * WEEK_LENGTH - updated", + "source_mapping": { + "start": 15996, + "length": 58, + "filename_relative": "contracts/templegold/TempleGoldStaking.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGoldStaking.sol", + "filename_short": "contracts/templegold/TempleGoldStaking.sol", + "is_dependency": false, + "lines": [ + 422 + ], + "starting_column": 13, + "ending_column": 71 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "_voteWeight", + "source_mapping": { + "start": 15331, + "length": 797, + "filename_relative": "contracts/templegold/TempleGoldStaking.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGoldStaking.sol", + "filename_short": "contracts/templegold/TempleGoldStaking.sol", + "is_dependency": false, + "lines": [ + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "TempleGoldStaking", + "source_mapping": { + "start": 1239, + "length": 16951, + "filename_relative": "contracts/templegold/TempleGoldStaking.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGoldStaking.sol", + "filename_short": "contracts/templegold/TempleGoldStaking.sol", + "is_dependency": false, + "lines": [ + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480 + ], + "starting_column": 1, + "ending_column": 0 + } + }, + "signature": "_voteWeight(address)" + } + } + } + } + ], + "description": "TempleGoldStaking._voteWeight(address) (contracts/templegold/TempleGoldStaking.sol#410-425) performs a multiplication on the result of a division:\n\t- t += block.timestamp / WEEK_LENGTH * WEEK_LENGTH - updated (contracts/templegold/TempleGoldStaking.sol#422)\n", + "markdown": "[TempleGoldStaking._voteWeight(address)](contracts/templegold/TempleGoldStaking.sol#L410-L425) performs a multiplication on the result of a division:\n\t- [t += block.timestamp / WEEK_LENGTH * WEEK_LENGTH - updated](contracts/templegold/TempleGoldStaking.sol#L422)\n", + "first_markdown_element": "contracts/templegold/TempleGoldStaking.sol#L410-L425", + "id": "f37d32c56f7031f2d5515f5ca30356d3604d9a709ab5eccf9debadccaf8e1db3", + "check": "divide-before-multiply", + "impact": "Medium", + "confidence": "Medium" + }, + { + "elements": [ + { + "type": "function", + "name": "startAuction", + "source_mapping": { + "start": 3991, + "length": 2328, + "filename_relative": "contracts/templegold/SpiceAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/SpiceAuction.sol", + "filename_short": "contracts/templegold/SpiceAuction.sol", + "is_dependency": false, + "lines": [ + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "SpiceAuction", + "source_mapping": { + "start": 652, + "length": 8750, + "filename_relative": "contracts/templegold/SpiceAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/SpiceAuction.sol", + "filename_short": "contracts/templegold/SpiceAuction.sol", + "is_dependency": false, + "lines": [ + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196 + ], + "starting_column": 1, + "ending_column": 0 + } + }, + "signature": "startAuction()" + } + }, + { + "type": "node", + "name": "epochAuctionTokenAmount == 0 || epochAuctionTokenAmount < config.minimumDistributedAuctionToken", + "source_mapping": { + "start": 5418, + "length": 95, + "filename_relative": "contracts/templegold/SpiceAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/SpiceAuction.sol", + "filename_short": "contracts/templegold/SpiceAuction.sol", + "is_dependency": false, + "lines": [ + 105 + ], + "starting_column": 17, + "ending_column": 112 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "startAuction", + "source_mapping": { + "start": 3991, + "length": 2328, + "filename_relative": "contracts/templegold/SpiceAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/SpiceAuction.sol", + "filename_short": "contracts/templegold/SpiceAuction.sol", + "is_dependency": false, + "lines": [ + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "SpiceAuction", + "source_mapping": { + "start": 652, + "length": 8750, + "filename_relative": "contracts/templegold/SpiceAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/SpiceAuction.sol", + "filename_short": "contracts/templegold/SpiceAuction.sol", + "is_dependency": false, + "lines": [ + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196 + ], + "starting_column": 1, + "ending_column": 0 + } + }, + "signature": "startAuction()" + } + } + } + } + ], + "description": "SpiceAuction.startAuction() (contracts/templegold/SpiceAuction.sol#84-122) uses a dangerous strict equality:\n\t- epochAuctionTokenAmount == 0 || epochAuctionTokenAmount < config.minimumDistributedAuctionToken (contracts/templegold/SpiceAuction.sol#105)\n", + "markdown": "[SpiceAuction.startAuction()](contracts/templegold/SpiceAuction.sol#L84-L122) uses a dangerous strict equality:\n\t- [epochAuctionTokenAmount == 0 || epochAuctionTokenAmount < config.minimumDistributedAuctionToken](contracts/templegold/SpiceAuction.sol#L105)\n", + "first_markdown_element": "contracts/templegold/SpiceAuction.sol#L84-L122", + "id": "0b2f59e32e1a650b71766f0115b1b5f812ef701a6963ad8863b6fd494311959c", + "check": "incorrect-equality", + "impact": "Medium", + "confidence": "High" + }, + { + "elements": [ + { + "type": "function", + "name": "_getMintAmount", + "source_mapping": { + "start": 10266, + "length": 551, + "filename_relative": "contracts/templegold/TempleGold.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGold.sol", + "filename_short": "contracts/templegold/TempleGold.sol", + "is_dependency": false, + "lines": [ + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "TempleGold", + "source_mapping": { + "start": 1659, + "length": 13235, + "filename_relative": "contracts/templegold/TempleGold.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGold.sol", + "filename_short": "contracts/templegold/TempleGold.sol", + "is_dependency": false, + "lines": [ + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336 + ], + "starting_column": 2, + "ending_column": 0 + } + }, + "signature": "_getMintAmount(ITempleGold.VestingFactor)" + } + }, + { + "type": "node", + "name": "lastMintTimestamp == 0", + "source_mapping": { + "start": 10423, + "length": 22, + "filename_relative": "contracts/templegold/TempleGold.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGold.sol", + "filename_short": "contracts/templegold/TempleGold.sol", + "is_dependency": false, + "lines": [ + 242 + ], + "starting_column": 13, + "ending_column": 35 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "_getMintAmount", + "source_mapping": { + "start": 10266, + "length": 551, + "filename_relative": "contracts/templegold/TempleGold.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGold.sol", + "filename_short": "contracts/templegold/TempleGold.sol", + "is_dependency": false, + "lines": [ + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "TempleGold", + "source_mapping": { + "start": 1659, + "length": 13235, + "filename_relative": "contracts/templegold/TempleGold.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGold.sol", + "filename_short": "contracts/templegold/TempleGold.sol", + "is_dependency": false, + "lines": [ + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336 + ], + "starting_column": 2, + "ending_column": 0 + } + }, + "signature": "_getMintAmount(ITempleGold.VestingFactor)" + } + } + } + } + ], + "description": "TempleGold._getMintAmount(ITempleGold.VestingFactor) (contracts/templegold/TempleGold.sol#240-247) uses a dangerous strict equality:\n\t- lastMintTimestamp == 0 (contracts/templegold/TempleGold.sol#242)\n", + "markdown": "[TempleGold._getMintAmount(ITempleGold.VestingFactor)](contracts/templegold/TempleGold.sol#L240-L247) uses a dangerous strict equality:\n\t- [lastMintTimestamp == 0](contracts/templegold/TempleGold.sol#L242)\n", + "first_markdown_element": "contracts/templegold/TempleGold.sol#L240-L247", + "id": "817ae10ad82ee28083c632ddffce76bd1ab745f507ab0fa1119cf90718ccee0e", + "check": "incorrect-equality", + "impact": "Medium", + "confidence": "High" + }, + { + "elements": [ + { + "type": "function", + "name": "_rewardPerToken", + "source_mapping": { + "start": 12954, + "length": 413, + "filename_relative": "contracts/templegold/TempleGoldStaking.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGoldStaking.sol", + "filename_short": "contracts/templegold/TempleGoldStaking.sol", + "is_dependency": false, + "lines": [ + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "TempleGoldStaking", + "source_mapping": { + "start": 1239, + "length": 16951, + "filename_relative": "contracts/templegold/TempleGoldStaking.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGoldStaking.sol", + "filename_short": "contracts/templegold/TempleGoldStaking.sol", + "is_dependency": false, + "lines": [ + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480 + ], + "starting_column": 1, + "ending_column": 0 + } + }, + "signature": "_rewardPerToken()" + } + }, + { + "type": "node", + "name": "totalSupply == 0", + "source_mapping": { + "start": 13027, + "length": 16, + "filename_relative": "contracts/templegold/TempleGoldStaking.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGoldStaking.sol", + "filename_short": "contracts/templegold/TempleGoldStaking.sol", + "is_dependency": false, + "lines": [ + 342 + ], + "starting_column": 13, + "ending_column": 29 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "_rewardPerToken", + "source_mapping": { + "start": 12954, + "length": 413, + "filename_relative": "contracts/templegold/TempleGoldStaking.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGoldStaking.sol", + "filename_short": "contracts/templegold/TempleGoldStaking.sol", + "is_dependency": false, + "lines": [ + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "TempleGoldStaking", + "source_mapping": { + "start": 1239, + "length": 16951, + "filename_relative": "contracts/templegold/TempleGoldStaking.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGoldStaking.sol", + "filename_short": "contracts/templegold/TempleGoldStaking.sol", + "is_dependency": false, + "lines": [ + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480 + ], + "starting_column": 1, + "ending_column": 0 + } + }, + "signature": "_rewardPerToken()" + } + } + } + } + ], + "description": "TempleGoldStaking._rewardPerToken() (contracts/templegold/TempleGoldStaking.sol#341-352) uses a dangerous strict equality:\n\t- totalSupply == 0 (contracts/templegold/TempleGoldStaking.sol#342)\n", + "markdown": "[TempleGoldStaking._rewardPerToken()](contracts/templegold/TempleGoldStaking.sol#L341-L352) uses a dangerous strict equality:\n\t- [totalSupply == 0](contracts/templegold/TempleGoldStaking.sol#L342)\n", + "first_markdown_element": "contracts/templegold/TempleGoldStaking.sol#L341-L352", + "id": "e99f7dcd951e220cecc2f5573cdd7f05f40208872145950c74961085096dd994", + "check": "incorrect-equality", + "impact": "Medium", + "confidence": "High" + }, + { + "elements": [ + { + "type": "function", + "name": "_withdrawFor", + "source_mapping": { + "start": 13373, + "length": 912, + "filename_relative": "contracts/templegold/TempleGoldStaking.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGoldStaking.sol", + "filename_short": "contracts/templegold/TempleGoldStaking.sol", + "is_dependency": false, + "lines": [ + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "TempleGoldStaking", + "source_mapping": { + "start": 1239, + "length": 16951, + "filename_relative": "contracts/templegold/TempleGoldStaking.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGoldStaking.sol", + "filename_short": "contracts/templegold/TempleGoldStaking.sol", + "is_dependency": false, + "lines": [ + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480 + ], + "starting_column": 1, + "ending_column": 0 + } + }, + "signature": "_withdrawFor(address,address,uint256,bool,address)" + } + }, + { + "type": "node", + "name": "amount == 0", + "source_mapping": { + "start": 13581, + "length": 11, + "filename_relative": "contracts/templegold/TempleGoldStaking.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGoldStaking.sol", + "filename_short": "contracts/templegold/TempleGoldStaking.sol", + "is_dependency": false, + "lines": [ + 361 + ], + "starting_column": 13, + "ending_column": 24 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "_withdrawFor", + "source_mapping": { + "start": 13373, + "length": 912, + "filename_relative": "contracts/templegold/TempleGoldStaking.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGoldStaking.sol", + "filename_short": "contracts/templegold/TempleGoldStaking.sol", + "is_dependency": false, + "lines": [ + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "TempleGoldStaking", + "source_mapping": { + "start": 1239, + "length": 16951, + "filename_relative": "contracts/templegold/TempleGoldStaking.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGoldStaking.sol", + "filename_short": "contracts/templegold/TempleGoldStaking.sol", + "is_dependency": false, + "lines": [ + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480 + ], + "starting_column": 1, + "ending_column": 0 + } + }, + "signature": "_withdrawFor(address,address,uint256,bool,address)" + } + } + } + } + ], + "description": "TempleGoldStaking._withdrawFor(address,address,uint256,bool,address) (contracts/templegold/TempleGoldStaking.sol#354-379) uses a dangerous strict equality:\n\t- amount == 0 (contracts/templegold/TempleGoldStaking.sol#361)\n", + "markdown": "[TempleGoldStaking._withdrawFor(address,address,uint256,bool,address)](contracts/templegold/TempleGoldStaking.sol#L354-L379) uses a dangerous strict equality:\n\t- [amount == 0](contracts/templegold/TempleGoldStaking.sol#L361)\n", + "first_markdown_element": "contracts/templegold/TempleGoldStaking.sol#L354-L379", + "id": "53940cd1789fc07f373a3682af73e60d48fe680aec1a76b98789adacda523a7f", + "check": "incorrect-equality", + "impact": "Medium", + "confidence": "High" + }, + { + "elements": [ + { + "type": "function", + "name": "stakeFor", + "source_mapping": { + "start": 7827, + "length": 479, + "filename_relative": "contracts/templegold/TempleGoldStaking.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGoldStaking.sol", + "filename_short": "contracts/templegold/TempleGoldStaking.sol", + "is_dependency": false, + "lines": [ + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "TempleGoldStaking", + "source_mapping": { + "start": 1239, + "length": 16951, + "filename_relative": "contracts/templegold/TempleGoldStaking.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGoldStaking.sol", + "filename_short": "contracts/templegold/TempleGoldStaking.sol", + "is_dependency": false, + "lines": [ + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480 + ], + "starting_column": 1, + "ending_column": 0 + } + }, + "signature": "stakeFor(address,uint256)" + } + }, + { + "type": "node", + "name": "_amount == 0", + "source_mapping": { + "start": 7920, + "length": 12, + "filename_relative": "contracts/templegold/TempleGoldStaking.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGoldStaking.sol", + "filename_short": "contracts/templegold/TempleGoldStaking.sol", + "is_dependency": false, + "lines": [ + 186 + ], + "starting_column": 13, + "ending_column": 25 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "stakeFor", + "source_mapping": { + "start": 7827, + "length": 479, + "filename_relative": "contracts/templegold/TempleGoldStaking.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGoldStaking.sol", + "filename_short": "contracts/templegold/TempleGoldStaking.sol", + "is_dependency": false, + "lines": [ + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "TempleGoldStaking", + "source_mapping": { + "start": 1239, + "length": 16951, + "filename_relative": "contracts/templegold/TempleGoldStaking.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGoldStaking.sol", + "filename_short": "contracts/templegold/TempleGoldStaking.sol", + "is_dependency": false, + "lines": [ + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480 + ], + "starting_column": 1, + "ending_column": 0 + } + }, + "signature": "stakeFor(address,uint256)" + } + } + } + } + ], + "description": "TempleGoldStaking.stakeFor(address,uint256) (contracts/templegold/TempleGoldStaking.sol#185-194) uses a dangerous strict equality:\n\t- _amount == 0 (contracts/templegold/TempleGoldStaking.sol#186)\n", + "markdown": "[TempleGoldStaking.stakeFor(address,uint256)](contracts/templegold/TempleGoldStaking.sol#L185-L194) uses a dangerous strict equality:\n\t- [_amount == 0](contracts/templegold/TempleGoldStaking.sol#L186)\n", + "first_markdown_element": "contracts/templegold/TempleGoldStaking.sol#L185-L194", + "id": "746ebd39c332d2a9e12ff82856f481f2a70eaab49758ad86ca2fc55e8a9da5ab", + "check": "incorrect-equality", + "impact": "Medium", + "confidence": "High" + }, + { + "elements": [ + { + "type": "function", + "name": "bid", + "source_mapping": { + "start": 5384, + "length": 511, + "filename_relative": "contracts/templegold/DaiGoldAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/DaiGoldAuction.sol", + "filename_short": "contracts/templegold/DaiGoldAuction.sol", + "is_dependency": false, + "lines": [ + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "DaiGoldAuction", + "source_mapping": { + "start": 1163, + "length": 8142, + "filename_relative": "contracts/templegold/DaiGoldAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/DaiGoldAuction.sol", + "filename_short": "contracts/templegold/DaiGoldAuction.sol", + "is_dependency": false, + "lines": [ + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240 + ], + "starting_column": 1, + "ending_column": 0 + } + }, + "signature": "bid(uint256)" + } + }, + { + "type": "node", + "name": "_distributeGold()", + "source_mapping": { + "start": 5539, + "length": 17, + "filename_relative": "contracts/templegold/DaiGoldAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/DaiGoldAuction.sol", + "filename_short": "contracts/templegold/DaiGoldAuction.sol", + "is_dependency": false, + "lines": [ + 128 + ], + "starting_column": 9, + "ending_column": 26 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "bid", + "source_mapping": { + "start": 5384, + "length": 511, + "filename_relative": "contracts/templegold/DaiGoldAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/DaiGoldAuction.sol", + "filename_short": "contracts/templegold/DaiGoldAuction.sol", + "is_dependency": false, + "lines": [ + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "DaiGoldAuction", + "source_mapping": { + "start": 1163, + "length": 8142, + "filename_relative": "contracts/templegold/DaiGoldAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/DaiGoldAuction.sol", + "filename_short": "contracts/templegold/DaiGoldAuction.sol", + "is_dependency": false, + "lines": [ + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240 + ], + "starting_column": 1, + "ending_column": 0 + } + }, + "signature": "bid(uint256)" + } + } + }, + "additional_fields": { + "underlying_type": "external_calls" + } + }, + { + "type": "node", + "name": "templeGold.mint()", + "source_mapping": { + "start": 9175, + "length": 17, + "filename_relative": "contracts/templegold/DaiGoldAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/DaiGoldAuction.sol", + "filename_short": "contracts/templegold/DaiGoldAuction.sol", + "is_dependency": false, + "lines": [ + 232 + ], + "starting_column": 9, + "ending_column": 26 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "_distributeGold", + "source_mapping": { + "start": 9070, + "length": 129, + "filename_relative": "contracts/templegold/DaiGoldAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/DaiGoldAuction.sol", + "filename_short": "contracts/templegold/DaiGoldAuction.sol", + "is_dependency": false, + "lines": [ + 230, + 231, + 232, + 233 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "DaiGoldAuction", + "source_mapping": { + "start": 1163, + "length": 8142, + "filename_relative": "contracts/templegold/DaiGoldAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/DaiGoldAuction.sol", + "filename_short": "contracts/templegold/DaiGoldAuction.sol", + "is_dependency": false, + "lines": [ + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240 + ], + "starting_column": 1, + "ending_column": 0 + } + }, + "signature": "_distributeGold()" + } + } + }, + "additional_fields": { + "underlying_type": "external_calls_sending_eth" + } + }, + { + "type": "node", + "name": "bidToken.safeTransferFrom(msg.sender,address(this),amount)", + "source_mapping": { + "start": 5567, + "length": 60, + "filename_relative": "contracts/templegold/DaiGoldAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/DaiGoldAuction.sol", + "filename_short": "contracts/templegold/DaiGoldAuction.sol", + "is_dependency": false, + "lines": [ + 130 + ], + "starting_column": 9, + "ending_column": 69 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "bid", + "source_mapping": { + "start": 5384, + "length": 511, + "filename_relative": "contracts/templegold/DaiGoldAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/DaiGoldAuction.sol", + "filename_short": "contracts/templegold/DaiGoldAuction.sol", + "is_dependency": false, + "lines": [ + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "DaiGoldAuction", + "source_mapping": { + "start": 1163, + "length": 8142, + "filename_relative": "contracts/templegold/DaiGoldAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/DaiGoldAuction.sol", + "filename_short": "contracts/templegold/DaiGoldAuction.sol", + "is_dependency": false, + "lines": [ + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240 + ], + "starting_column": 1, + "ending_column": 0 + } + }, + "signature": "bid(uint256)" + } + } + }, + "additional_fields": { + "underlying_type": "external_calls" + } + }, + { + "type": "node", + "name": "info.totalBidTokenAmount += amount", + "source_mapping": { + "start": 5798, + "length": 34, + "filename_relative": "contracts/templegold/DaiGoldAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/DaiGoldAuction.sol", + "filename_short": "contracts/templegold/DaiGoldAuction.sol", + "is_dependency": false, + "lines": [ + 136 + ], + "starting_column": 9, + "ending_column": 43 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "bid", + "source_mapping": { + "start": 5384, + "length": 511, + "filename_relative": "contracts/templegold/DaiGoldAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/DaiGoldAuction.sol", + "filename_short": "contracts/templegold/DaiGoldAuction.sol", + "is_dependency": false, + "lines": [ + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "DaiGoldAuction", + "source_mapping": { + "start": 1163, + "length": 8142, + "filename_relative": "contracts/templegold/DaiGoldAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/DaiGoldAuction.sol", + "filename_short": "contracts/templegold/DaiGoldAuction.sol", + "is_dependency": false, + "lines": [ + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240 + ], + "starting_column": 1, + "ending_column": 0 + } + }, + "signature": "bid(uint256)" + } + } + }, + "additional_fields": { + "underlying_type": "variables_written", + "variable_name": "epochs" + } + } + ], + "description": "Reentrancy in DaiGoldAuction.bid(uint256) (contracts/templegold/DaiGoldAuction.sol#126-138):\n\tExternal calls:\n\t- _distributeGold() (contracts/templegold/DaiGoldAuction.sol#128)\n\t\t- templeGold.mint() (contracts/templegold/DaiGoldAuction.sol#232)\n\t- bidToken.safeTransferFrom(msg.sender,address(this),amount) (contracts/templegold/DaiGoldAuction.sol#130)\n\tState variables written after the call(s):\n\t- info.totalBidTokenAmount += amount (contracts/templegold/DaiGoldAuction.sol#136)\n\tAuctionBase.epochs (contracts/templegold/AuctionBase.sol#11) can be used in cross function reentrancies:\n\t- AuctionBase._canDeposit() (contracts/templegold/AuctionBase.sol#15-18)\n\t- AuctionBase._isCurrentEpochEnded() (contracts/templegold/AuctionBase.sol#20-23)\n\t- DaiGoldAuction.bid(uint256) (contracts/templegold/DaiGoldAuction.sol#126-138)\n\t- DaiGoldAuction.claim(uint256) (contracts/templegold/DaiGoldAuction.sol#145-159)\n\t- DaiGoldAuction.epochGoldSupply(uint256) (contracts/templegold/DaiGoldAuction.sol#179-181)\n\t- AuctionBase.getEpochInfo(uint256) (contracts/templegold/AuctionBase.sol#25-27)\n\t- DaiGoldAuction.startAuction() (contracts/templegold/DaiGoldAuction.sol#99-120)\n", + "markdown": "Reentrancy in [DaiGoldAuction.bid(uint256)](contracts/templegold/DaiGoldAuction.sol#L126-L138):\n\tExternal calls:\n\t- [_distributeGold()](contracts/templegold/DaiGoldAuction.sol#L128)\n\t\t- [templeGold.mint()](contracts/templegold/DaiGoldAuction.sol#L232)\n\t- [bidToken.safeTransferFrom(msg.sender,address(this),amount)](contracts/templegold/DaiGoldAuction.sol#L130)\n\tState variables written after the call(s):\n\t- [info.totalBidTokenAmount += amount](contracts/templegold/DaiGoldAuction.sol#L136)\n\t[AuctionBase.epochs](contracts/templegold/AuctionBase.sol#L11) can be used in cross function reentrancies:\n\t- [AuctionBase._canDeposit()](contracts/templegold/AuctionBase.sol#L15-L18)\n\t- [AuctionBase._isCurrentEpochEnded()](contracts/templegold/AuctionBase.sol#L20-L23)\n\t- [DaiGoldAuction.bid(uint256)](contracts/templegold/DaiGoldAuction.sol#L126-L138)\n\t- [DaiGoldAuction.claim(uint256)](contracts/templegold/DaiGoldAuction.sol#L145-L159)\n\t- [DaiGoldAuction.epochGoldSupply(uint256)](contracts/templegold/DaiGoldAuction.sol#L179-L181)\n\t- [AuctionBase.getEpochInfo(uint256)](contracts/templegold/AuctionBase.sol#L25-L27)\n\t- [DaiGoldAuction.startAuction()](contracts/templegold/DaiGoldAuction.sol#L99-L120)\n", + "first_markdown_element": "contracts/templegold/DaiGoldAuction.sol#L126-L138", + "id": "9cb1544c580d59374d44d5b2589a89e229536821de85392b48c2dc3a7fb4d2e1", + "check": "reentrancy-no-eth", + "impact": "Medium", + "confidence": "Medium" + }, + { + "elements": [ + { + "type": "function", + "name": "bid", + "source_mapping": { + "start": 6325, + "length": 607, + "filename_relative": "contracts/templegold/SpiceAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/SpiceAuction.sol", + "filename_short": "contracts/templegold/SpiceAuction.sol", + "is_dependency": false, + "lines": [ + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "SpiceAuction", + "source_mapping": { + "start": 652, + "length": 8750, + "filename_relative": "contracts/templegold/SpiceAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/SpiceAuction.sol", + "filename_short": "contracts/templegold/SpiceAuction.sol", + "is_dependency": false, + "lines": [ + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196 + ], + "starting_column": 1, + "ending_column": 0 + } + }, + "signature": "bid(uint256)" + } + }, + { + "type": "node", + "name": "IERC20(bidToken).safeTransferFrom(msg.sender,address(this),amount)", + "source_mapping": { + "start": 6660, + "length": 68, + "filename_relative": "contracts/templegold/SpiceAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/SpiceAuction.sol", + "filename_short": "contracts/templegold/SpiceAuction.sol", + "is_dependency": false, + "lines": [ + 132 + ], + "starting_column": 9, + "ending_column": 77 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "bid", + "source_mapping": { + "start": 6325, + "length": 607, + "filename_relative": "contracts/templegold/SpiceAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/SpiceAuction.sol", + "filename_short": "contracts/templegold/SpiceAuction.sol", + "is_dependency": false, + "lines": [ + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "SpiceAuction", + "source_mapping": { + "start": 652, + "length": 8750, + "filename_relative": "contracts/templegold/SpiceAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/SpiceAuction.sol", + "filename_short": "contracts/templegold/SpiceAuction.sol", + "is_dependency": false, + "lines": [ + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196 + ], + "starting_column": 1, + "ending_column": 0 + } + }, + "signature": "bid(uint256)" + } + } + }, + "additional_fields": { + "underlying_type": "external_calls" + } + }, + { + "type": "node", + "name": "info.totalBidTokenAmount += amount", + "source_mapping": { + "start": 6840, + "length": 34, + "filename_relative": "contracts/templegold/SpiceAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/SpiceAuction.sol", + "filename_short": "contracts/templegold/SpiceAuction.sol", + "is_dependency": false, + "lines": [ + 136 + ], + "starting_column": 9, + "ending_column": 43 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "bid", + "source_mapping": { + "start": 6325, + "length": 607, + "filename_relative": "contracts/templegold/SpiceAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/SpiceAuction.sol", + "filename_short": "contracts/templegold/SpiceAuction.sol", + "is_dependency": false, + "lines": [ + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "SpiceAuction", + "source_mapping": { + "start": 652, + "length": 8750, + "filename_relative": "contracts/templegold/SpiceAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/SpiceAuction.sol", + "filename_short": "contracts/templegold/SpiceAuction.sol", + "is_dependency": false, + "lines": [ + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196 + ], + "starting_column": 1, + "ending_column": 0 + } + }, + "signature": "bid(uint256)" + } + } + }, + "additional_fields": { + "underlying_type": "variables_written", + "variable_name": "epochs" + } + } + ], + "description": "Reentrancy in SpiceAuction.bid(uint256) (contracts/templegold/SpiceAuction.sol#124-138):\n\tExternal calls:\n\t- IERC20(bidToken).safeTransferFrom(msg.sender,address(this),amount) (contracts/templegold/SpiceAuction.sol#132)\n\tState variables written after the call(s):\n\t- info.totalBidTokenAmount += amount (contracts/templegold/SpiceAuction.sol#136)\n\tAuctionBase.epochs (contracts/templegold/AuctionBase.sol#11) can be used in cross function reentrancies:\n\t- AuctionBase._canDeposit() (contracts/templegold/AuctionBase.sol#15-18)\n\t- SpiceAuction.bid(uint256) (contracts/templegold/SpiceAuction.sol#124-138)\n\t- SpiceAuction.claim(uint256) (contracts/templegold/SpiceAuction.sol#141-158)\n\t- AuctionBase.getEpochInfo(uint256) (contracts/templegold/AuctionBase.sol#25-27)\n\t- SpiceAuction.removeAuctionConfig() (contracts/templegold/SpiceAuction.sol#73-82)\n\t- SpiceAuction.setAuctionConfig(ISpiceAuction.SpiceAuctionConfig) (contracts/templegold/SpiceAuction.sol#55-70)\n\t- SpiceAuction.startAuction() (contracts/templegold/SpiceAuction.sol#84-122)\n", + "markdown": "Reentrancy in [SpiceAuction.bid(uint256)](contracts/templegold/SpiceAuction.sol#L124-L138):\n\tExternal calls:\n\t- [IERC20(bidToken).safeTransferFrom(msg.sender,address(this),amount)](contracts/templegold/SpiceAuction.sol#L132)\n\tState variables written after the call(s):\n\t- [info.totalBidTokenAmount += amount](contracts/templegold/SpiceAuction.sol#L136)\n\t[AuctionBase.epochs](contracts/templegold/AuctionBase.sol#L11) can be used in cross function reentrancies:\n\t- [AuctionBase._canDeposit()](contracts/templegold/AuctionBase.sol#L15-L18)\n\t- [SpiceAuction.bid(uint256)](contracts/templegold/SpiceAuction.sol#L124-L138)\n\t- [SpiceAuction.claim(uint256)](contracts/templegold/SpiceAuction.sol#L141-L158)\n\t- [AuctionBase.getEpochInfo(uint256)](contracts/templegold/AuctionBase.sol#L25-L27)\n\t- [SpiceAuction.removeAuctionConfig()](contracts/templegold/SpiceAuction.sol#L73-L82)\n\t- [SpiceAuction.setAuctionConfig(ISpiceAuction.SpiceAuctionConfig)](contracts/templegold/SpiceAuction.sol#L55-L70)\n\t- [SpiceAuction.startAuction()](contracts/templegold/SpiceAuction.sol#L84-L122)\n", + "first_markdown_element": "contracts/templegold/SpiceAuction.sol#L124-L138", + "id": "02abc65b9e9de6e94d19d9e60652c7103e647d432d2507c486be38ba03160d6d", + "check": "reentrancy-no-eth", + "impact": "Medium", + "confidence": "Medium" + }, + { + "elements": [ + { + "type": "function", + "name": "claim", + "source_mapping": { + "start": 6069, + "length": 860, + "filename_relative": "contracts/templegold/DaiGoldAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/DaiGoldAuction.sol", + "filename_short": "contracts/templegold/DaiGoldAuction.sol", + "is_dependency": false, + "lines": [ + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "DaiGoldAuction", + "source_mapping": { + "start": 1163, + "length": 8142, + "filename_relative": "contracts/templegold/DaiGoldAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/DaiGoldAuction.sol", + "filename_short": "contracts/templegold/DaiGoldAuction.sol", + "is_dependency": false, + "lines": [ + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240 + ], + "starting_column": 1, + "ending_column": 0 + } + }, + "signature": "claim(uint256)" + } + }, + { + "type": "node", + "name": "_distributeGold()", + "source_mapping": { + "start": 6266, + "length": 17, + "filename_relative": "contracts/templegold/DaiGoldAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/DaiGoldAuction.sol", + "filename_short": "contracts/templegold/DaiGoldAuction.sol", + "is_dependency": false, + "lines": [ + 148 + ], + "starting_column": 9, + "ending_column": 26 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "claim", + "source_mapping": { + "start": 6069, + "length": 860, + "filename_relative": "contracts/templegold/DaiGoldAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/DaiGoldAuction.sol", + "filename_short": "contracts/templegold/DaiGoldAuction.sol", + "is_dependency": false, + "lines": [ + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "DaiGoldAuction", + "source_mapping": { + "start": 1163, + "length": 8142, + "filename_relative": "contracts/templegold/DaiGoldAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/DaiGoldAuction.sol", + "filename_short": "contracts/templegold/DaiGoldAuction.sol", + "is_dependency": false, + "lines": [ + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240 + ], + "starting_column": 1, + "ending_column": 0 + } + }, + "signature": "claim(uint256)" + } + } + }, + "additional_fields": { + "underlying_type": "external_calls" + } + }, + { + "type": "node", + "name": "templeGold.mint()", + "source_mapping": { + "start": 9175, + "length": 17, + "filename_relative": "contracts/templegold/DaiGoldAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/DaiGoldAuction.sol", + "filename_short": "contracts/templegold/DaiGoldAuction.sol", + "is_dependency": false, + "lines": [ + 232 + ], + "starting_column": 9, + "ending_column": 26 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "_distributeGold", + "source_mapping": { + "start": 9070, + "length": 129, + "filename_relative": "contracts/templegold/DaiGoldAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/DaiGoldAuction.sol", + "filename_short": "contracts/templegold/DaiGoldAuction.sol", + "is_dependency": false, + "lines": [ + 230, + 231, + 232, + 233 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "DaiGoldAuction", + "source_mapping": { + "start": 1163, + "length": 8142, + "filename_relative": "contracts/templegold/DaiGoldAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/DaiGoldAuction.sol", + "filename_short": "contracts/templegold/DaiGoldAuction.sol", + "is_dependency": false, + "lines": [ + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240 + ], + "starting_column": 1, + "ending_column": 0 + } + }, + "signature": "_distributeGold()" + } + } + }, + "additional_fields": { + "underlying_type": "external_calls_sending_eth" + } + }, + { + "type": "node", + "name": "bidToken.safeTransfer(treasury,bidTokenAmount)", + "source_mapping": { + "start": 6565, + "length": 47, + "filename_relative": "contracts/templegold/DaiGoldAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/DaiGoldAuction.sol", + "filename_short": "contracts/templegold/DaiGoldAuction.sol", + "is_dependency": false, + "lines": [ + 153 + ], + "starting_column": 9, + "ending_column": 56 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "claim", + "source_mapping": { + "start": 6069, + "length": 860, + "filename_relative": "contracts/templegold/DaiGoldAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/DaiGoldAuction.sol", + "filename_short": "contracts/templegold/DaiGoldAuction.sol", + "is_dependency": false, + "lines": [ + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "DaiGoldAuction", + "source_mapping": { + "start": 1163, + "length": 8142, + "filename_relative": "contracts/templegold/DaiGoldAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/DaiGoldAuction.sol", + "filename_short": "contracts/templegold/DaiGoldAuction.sol", + "is_dependency": false, + "lines": [ + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240 + ], + "starting_column": 1, + "ending_column": 0 + } + }, + "signature": "claim(uint256)" + } + } + }, + "additional_fields": { + "underlying_type": "external_calls" + } + }, + { + "type": "node", + "name": "delete depositors[msg.sender][epochId]", + "source_mapping": { + "start": 6623, + "length": 38, + "filename_relative": "contracts/templegold/DaiGoldAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/DaiGoldAuction.sol", + "filename_short": "contracts/templegold/DaiGoldAuction.sol", + "is_dependency": false, + "lines": [ + 155 + ], + "starting_column": 9, + "ending_column": 47 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "claim", + "source_mapping": { + "start": 6069, + "length": 860, + "filename_relative": "contracts/templegold/DaiGoldAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/DaiGoldAuction.sol", + "filename_short": "contracts/templegold/DaiGoldAuction.sol", + "is_dependency": false, + "lines": [ + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "DaiGoldAuction", + "source_mapping": { + "start": 1163, + "length": 8142, + "filename_relative": "contracts/templegold/DaiGoldAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/DaiGoldAuction.sol", + "filename_short": "contracts/templegold/DaiGoldAuction.sol", + "is_dependency": false, + "lines": [ + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240 + ], + "starting_column": 1, + "ending_column": 0 + } + }, + "signature": "claim(uint256)" + } + } + }, + "additional_fields": { + "underlying_type": "variables_written", + "variable_name": "depositors" + } + } + ], + "description": "Reentrancy in DaiGoldAuction.claim(uint256) (contracts/templegold/DaiGoldAuction.sol#145-159):\n\tExternal calls:\n\t- _distributeGold() (contracts/templegold/DaiGoldAuction.sol#148)\n\t\t- templeGold.mint() (contracts/templegold/DaiGoldAuction.sol#232)\n\t- bidToken.safeTransfer(treasury,bidTokenAmount) (contracts/templegold/DaiGoldAuction.sol#153)\n\tState variables written after the call(s):\n\t- delete depositors[msg.sender][epochId] (contracts/templegold/DaiGoldAuction.sol#155)\n\tAuctionBase.depositors (contracts/templegold/AuctionBase.sol#13) can be used in cross function reentrancies:\n\t- DaiGoldAuction.bid(uint256) (contracts/templegold/DaiGoldAuction.sol#126-138)\n\t- DaiGoldAuction.claim(uint256) (contracts/templegold/DaiGoldAuction.sol#145-159)\n\t- AuctionBase.depositors (contracts/templegold/AuctionBase.sol#13)\n", + "markdown": "Reentrancy in [DaiGoldAuction.claim(uint256)](contracts/templegold/DaiGoldAuction.sol#L145-L159):\n\tExternal calls:\n\t- [_distributeGold()](contracts/templegold/DaiGoldAuction.sol#L148)\n\t\t- [templeGold.mint()](contracts/templegold/DaiGoldAuction.sol#L232)\n\t- [bidToken.safeTransfer(treasury,bidTokenAmount)](contracts/templegold/DaiGoldAuction.sol#L153)\n\tState variables written after the call(s):\n\t- [delete depositors[msg.sender][epochId]](contracts/templegold/DaiGoldAuction.sol#L155)\n\t[AuctionBase.depositors](contracts/templegold/AuctionBase.sol#L13) can be used in cross function reentrancies:\n\t- [DaiGoldAuction.bid(uint256)](contracts/templegold/DaiGoldAuction.sol#L126-L138)\n\t- [DaiGoldAuction.claim(uint256)](contracts/templegold/DaiGoldAuction.sol#L145-L159)\n\t- [AuctionBase.depositors](contracts/templegold/AuctionBase.sol#L13)\n", + "first_markdown_element": "contracts/templegold/DaiGoldAuction.sol#L145-L159", + "id": "157c1f503a29fabba371920000c83281a539fe2e4a3a4a485be4e48aca415752", + "check": "reentrancy-no-eth", + "impact": "Medium", + "confidence": "Medium" + }, + { + "elements": [ + { + "type": "variable", + "name": "epochAuctionTokenAmount", + "source_mapping": { + "start": 4908, + "length": 31, + "filename_relative": "contracts/templegold/SpiceAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/SpiceAuction.sol", + "filename_short": "contracts/templegold/SpiceAuction.sol", + "is_dependency": false, + "lines": [ + 99 + ], + "starting_column": 9, + "ending_column": 40 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "startAuction", + "source_mapping": { + "start": 3991, + "length": 2328, + "filename_relative": "contracts/templegold/SpiceAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/SpiceAuction.sol", + "filename_short": "contracts/templegold/SpiceAuction.sol", + "is_dependency": false, + "lines": [ + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "SpiceAuction", + "source_mapping": { + "start": 652, + "length": 8750, + "filename_relative": "contracts/templegold/SpiceAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/SpiceAuction.sol", + "filename_short": "contracts/templegold/SpiceAuction.sol", + "is_dependency": false, + "lines": [ + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196 + ], + "starting_column": 1, + "ending_column": 0 + } + }, + "signature": "startAuction()" + } + } + } + } + ], + "description": "SpiceAuction.startAuction().epochAuctionTokenAmount (contracts/templegold/SpiceAuction.sol#99) is a local variable never initialized\n", + "markdown": "[SpiceAuction.startAuction().epochAuctionTokenAmount](contracts/templegold/SpiceAuction.sol#L99) is a local variable never initialized\n", + "first_markdown_element": "contracts/templegold/SpiceAuction.sol#L99", + "id": "cdb3db54fdf5a84a5f52cb8831bdb919de54f2161c66b077cd61483d6e9c52c9", + "check": "uninitialized-local", + "impact": "Medium", + "confidence": "Medium" + }, + { + "elements": [ + { + "type": "variable", + "name": "_treasury", + "source_mapping": { + "start": 2324, + "length": 17, + "filename_relative": "contracts/templegold/DaiGoldAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/DaiGoldAuction.sol", + "filename_short": "contracts/templegold/DaiGoldAuction.sol", + "is_dependency": false, + "lines": [ + 52 + ], + "starting_column": 9, + "ending_column": 26 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "constructor", + "source_mapping": { + "start": 2247, + "length": 318, + "filename_relative": "contracts/templegold/DaiGoldAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/DaiGoldAuction.sol", + "filename_short": "contracts/templegold/DaiGoldAuction.sol", + "is_dependency": false, + "lines": [ + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "DaiGoldAuction", + "source_mapping": { + "start": 1163, + "length": 8142, + "filename_relative": "contracts/templegold/DaiGoldAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/DaiGoldAuction.sol", + "filename_short": "contracts/templegold/DaiGoldAuction.sol", + "is_dependency": false, + "lines": [ + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240 + ], + "starting_column": 1, + "ending_column": 0 + } + }, + "signature": "constructor(address,address,address,address,address)" + } + } + } + }, + { + "type": "node", + "name": "treasury = _treasury", + "source_mapping": { + "start": 2538, + "length": 20, + "filename_relative": "contracts/templegold/DaiGoldAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/DaiGoldAuction.sol", + "filename_short": "contracts/templegold/DaiGoldAuction.sol", + "is_dependency": false, + "lines": [ + 58 + ], + "starting_column": 9, + "ending_column": 29 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "constructor", + "source_mapping": { + "start": 2247, + "length": 318, + "filename_relative": "contracts/templegold/DaiGoldAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/DaiGoldAuction.sol", + "filename_short": "contracts/templegold/DaiGoldAuction.sol", + "is_dependency": false, + "lines": [ + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "DaiGoldAuction", + "source_mapping": { + "start": 1163, + "length": 8142, + "filename_relative": "contracts/templegold/DaiGoldAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/DaiGoldAuction.sol", + "filename_short": "contracts/templegold/DaiGoldAuction.sol", + "is_dependency": false, + "lines": [ + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240 + ], + "starting_column": 1, + "ending_column": 0 + } + }, + "signature": "constructor(address,address,address,address,address)" + } + } + } + } + ], + "description": "DaiGoldAuction.constructor(address,address,address,address,address)._treasury (contracts/templegold/DaiGoldAuction.sol#52) lacks a zero-check on :\n\t\t- treasury = _treasury (contracts/templegold/DaiGoldAuction.sol#58)\n", + "markdown": "[DaiGoldAuction.constructor(address,address,address,address,address)._treasury](contracts/templegold/DaiGoldAuction.sol#L52) lacks a zero-check on :\n\t\t- [treasury = _treasury](contracts/templegold/DaiGoldAuction.sol#L58)\n", + "first_markdown_element": "contracts/templegold/DaiGoldAuction.sol#L52", + "id": "f37c40dfe212fdc012ade4b5df034be5aabe28d30a38f0282da3f084e29fce24", + "check": "missing-zero-check", + "impact": "Low", + "confidence": "Medium" + }, + { + "elements": [ + { + "type": "variable", + "name": "_starter", + "source_mapping": { + "start": 3365, + "length": 16, + "filename_relative": "contracts/templegold/DaiGoldAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/DaiGoldAuction.sol", + "filename_short": "contracts/templegold/DaiGoldAuction.sol", + "is_dependency": false, + "lines": [ + 80 + ], + "starting_column": 32, + "ending_column": 48 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "setAuctionStarter", + "source_mapping": { + "start": 3338, + "length": 241, + "filename_relative": "contracts/templegold/DaiGoldAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/DaiGoldAuction.sol", + "filename_short": "contracts/templegold/DaiGoldAuction.sol", + "is_dependency": false, + "lines": [ + 80, + 81, + 82, + 83, + 84 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "DaiGoldAuction", + "source_mapping": { + "start": 1163, + "length": 8142, + "filename_relative": "contracts/templegold/DaiGoldAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/DaiGoldAuction.sol", + "filename_short": "contracts/templegold/DaiGoldAuction.sol", + "is_dependency": false, + "lines": [ + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240 + ], + "starting_column": 1, + "ending_column": 0 + } + }, + "signature": "setAuctionStarter(address)" + } + } + } + }, + { + "type": "node", + "name": "auctionStarter = _starter", + "source_mapping": { + "start": 3504, + "length": 25, + "filename_relative": "contracts/templegold/DaiGoldAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/DaiGoldAuction.sol", + "filename_short": "contracts/templegold/DaiGoldAuction.sol", + "is_dependency": false, + "lines": [ + 82 + ], + "starting_column": 9, + "ending_column": 34 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "setAuctionStarter", + "source_mapping": { + "start": 3338, + "length": 241, + "filename_relative": "contracts/templegold/DaiGoldAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/DaiGoldAuction.sol", + "filename_short": "contracts/templegold/DaiGoldAuction.sol", + "is_dependency": false, + "lines": [ + 80, + 81, + 82, + 83, + 84 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "DaiGoldAuction", + "source_mapping": { + "start": 1163, + "length": 8142, + "filename_relative": "contracts/templegold/DaiGoldAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/DaiGoldAuction.sol", + "filename_short": "contracts/templegold/DaiGoldAuction.sol", + "is_dependency": false, + "lines": [ + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240 + ], + "starting_column": 1, + "ending_column": 0 + } + }, + "signature": "setAuctionStarter(address)" + } + } + } + } + ], + "description": "DaiGoldAuction.setAuctionStarter(address)._starter (contracts/templegold/DaiGoldAuction.sol#80) lacks a zero-check on :\n\t\t- auctionStarter = _starter (contracts/templegold/DaiGoldAuction.sol#82)\n", + "markdown": "[DaiGoldAuction.setAuctionStarter(address)._starter](contracts/templegold/DaiGoldAuction.sol#L80) lacks a zero-check on :\n\t\t- [auctionStarter = _starter](contracts/templegold/DaiGoldAuction.sol#L82)\n", + "first_markdown_element": "contracts/templegold/DaiGoldAuction.sol#L80", + "id": "02e6d7498528b09a2ba5abf511df69eade0e85d5bee4909bad54b2e07875a4e3", + "check": "missing-zero-check", + "impact": "Low", + "confidence": "Medium" + }, + { + "elements": [ + { + "type": "variable", + "name": "_daoExecutor", + "source_mapping": { + "start": 2062, + "length": 20, + "filename_relative": "contracts/templegold/SpiceAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/SpiceAuction.sol", + "filename_short": "contracts/templegold/SpiceAuction.sol", + "is_dependency": false, + "lines": [ + 43 + ], + "starting_column": 9, + "ending_column": 29 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "constructor", + "source_mapping": { + "start": 1991, + "length": 348, + "filename_relative": "contracts/templegold/SpiceAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/SpiceAuction.sol", + "filename_short": "contracts/templegold/SpiceAuction.sol", + "is_dependency": false, + "lines": [ + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "SpiceAuction", + "source_mapping": { + "start": 652, + "length": 8750, + "filename_relative": "contracts/templegold/SpiceAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/SpiceAuction.sol", + "filename_short": "contracts/templegold/SpiceAuction.sol", + "is_dependency": false, + "lines": [ + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196 + ], + "starting_column": 1, + "ending_column": 0 + } + }, + "signature": "constructor(address,address,address,string)" + } + } + } + }, + { + "type": "node", + "name": "daoExecutor = _daoExecutor", + "source_mapping": { + "start": 2240, + "length": 26, + "filename_relative": "contracts/templegold/SpiceAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/SpiceAuction.sol", + "filename_short": "contracts/templegold/SpiceAuction.sol", + "is_dependency": false, + "lines": [ + 48 + ], + "starting_column": 9, + "ending_column": 35 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "constructor", + "source_mapping": { + "start": 1991, + "length": 348, + "filename_relative": "contracts/templegold/SpiceAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/SpiceAuction.sol", + "filename_short": "contracts/templegold/SpiceAuction.sol", + "is_dependency": false, + "lines": [ + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "SpiceAuction", + "source_mapping": { + "start": 652, + "length": 8750, + "filename_relative": "contracts/templegold/SpiceAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/SpiceAuction.sol", + "filename_short": "contracts/templegold/SpiceAuction.sol", + "is_dependency": false, + "lines": [ + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196 + ], + "starting_column": 1, + "ending_column": 0 + } + }, + "signature": "constructor(address,address,address,string)" + } + } + } + } + ], + "description": "SpiceAuction.constructor(address,address,address,string)._daoExecutor (contracts/templegold/SpiceAuction.sol#43) lacks a zero-check on :\n\t\t- daoExecutor = _daoExecutor (contracts/templegold/SpiceAuction.sol#48)\n", + "markdown": "[SpiceAuction.constructor(address,address,address,string)._daoExecutor](contracts/templegold/SpiceAuction.sol#L43) lacks a zero-check on :\n\t\t- [daoExecutor = _daoExecutor](contracts/templegold/SpiceAuction.sol#L48)\n", + "first_markdown_element": "contracts/templegold/SpiceAuction.sol#L43", + "id": "f92d12adc1a2c523b628e9081bf775a697442df4bd9511dc4849253dd95f287b", + "check": "missing-zero-check", + "impact": "Low", + "confidence": "Medium" + }, + { + "elements": [ + { + "type": "variable", + "name": "_daoExecutor", + "source_mapping": { + "start": 833, + "length": 20, + "filename_relative": "contracts/templegold/SpiceAuctionFactory.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/SpiceAuctionFactory.sol", + "filename_short": "contracts/templegold/SpiceAuctionFactory.sol", + "is_dependency": false, + "lines": [ + 20 + ], + "starting_column": 9, + "ending_column": 29 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "constructor", + "source_mapping": { + "start": 759, + "length": 186, + "filename_relative": "contracts/templegold/SpiceAuctionFactory.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/SpiceAuctionFactory.sol", + "filename_short": "contracts/templegold/SpiceAuctionFactory.sol", + "is_dependency": false, + "lines": [ + 17, + 18, + 19, + 20, + 21, + 22, + 23 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "SpiceAuctionFactory", + "source_mapping": { + "start": 456, + "length": 1816, + "filename_relative": "contracts/templegold/SpiceAuctionFactory.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/SpiceAuctionFactory.sol", + "filename_short": "contracts/templegold/SpiceAuctionFactory.sol", + "is_dependency": false, + "lines": [ + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58 + ], + "starting_column": 1, + "ending_column": 0 + } + }, + "signature": "constructor(address,address,address)" + } + } + } + }, + { + "type": "node", + "name": "daoExecutor = _daoExecutor", + "source_mapping": { + "start": 912, + "length": 26, + "filename_relative": "contracts/templegold/SpiceAuctionFactory.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/SpiceAuctionFactory.sol", + "filename_short": "contracts/templegold/SpiceAuctionFactory.sol", + "is_dependency": false, + "lines": [ + 22 + ], + "starting_column": 9, + "ending_column": 35 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "constructor", + "source_mapping": { + "start": 759, + "length": 186, + "filename_relative": "contracts/templegold/SpiceAuctionFactory.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/SpiceAuctionFactory.sol", + "filename_short": "contracts/templegold/SpiceAuctionFactory.sol", + "is_dependency": false, + "lines": [ + 17, + 18, + 19, + 20, + 21, + 22, + 23 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "SpiceAuctionFactory", + "source_mapping": { + "start": 456, + "length": 1816, + "filename_relative": "contracts/templegold/SpiceAuctionFactory.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/SpiceAuctionFactory.sol", + "filename_short": "contracts/templegold/SpiceAuctionFactory.sol", + "is_dependency": false, + "lines": [ + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58 + ], + "starting_column": 1, + "ending_column": 0 + } + }, + "signature": "constructor(address,address,address)" + } + } + } + } + ], + "description": "SpiceAuctionFactory.constructor(address,address,address)._daoExecutor (contracts/templegold/SpiceAuctionFactory.sol#20) lacks a zero-check on :\n\t\t- daoExecutor = _daoExecutor (contracts/templegold/SpiceAuctionFactory.sol#22)\n", + "markdown": "[SpiceAuctionFactory.constructor(address,address,address)._daoExecutor](contracts/templegold/SpiceAuctionFactory.sol#L20) lacks a zero-check on :\n\t\t- [daoExecutor = _daoExecutor](contracts/templegold/SpiceAuctionFactory.sol#L22)\n", + "first_markdown_element": "contracts/templegold/SpiceAuctionFactory.sol#L20", + "id": "ebb59760e6ba9c40a8cead40e6910e0e4b90f24e60915389a30a0d492f89ad64", + "check": "missing-zero-check", + "impact": "Low", + "confidence": "Medium" + }, + { + "elements": [ + { + "type": "variable", + "name": "_staking", + "source_mapping": { + "start": 1460, + "length": 16, + "filename_relative": "contracts/templegold/StakedTempleVoteToken.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/StakedTempleVoteToken.sol", + "filename_short": "contracts/templegold/StakedTempleVoteToken.sol", + "is_dependency": false, + "lines": [ + 29 + ], + "starting_column": 9, + "ending_column": 25 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "constructor", + "source_mapping": { + "start": 1372, + "length": 319, + "filename_relative": "contracts/templegold/StakedTempleVoteToken.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/StakedTempleVoteToken.sol", + "filename_short": "contracts/templegold/StakedTempleVoteToken.sol", + "is_dependency": false, + "lines": [ + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "StakedTempleVoteToken", + "source_mapping": { + "start": 998, + "length": 6427, + "filename_relative": "contracts/templegold/StakedTempleVoteToken.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/StakedTempleVoteToken.sol", + "filename_short": "contracts/templegold/StakedTempleVoteToken.sol", + "is_dependency": false, + "lines": [ + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210 + ], + "starting_column": 1, + "ending_column": 0 + } + }, + "signature": "constructor(address,address,address,string,string)" + } + } + } + }, + { + "type": "node", + "name": "staking = _staking", + "source_mapping": { + "start": 1631, + "length": 18, + "filename_relative": "contracts/templegold/StakedTempleVoteToken.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/StakedTempleVoteToken.sol", + "filename_short": "contracts/templegold/StakedTempleVoteToken.sol", + "is_dependency": false, + "lines": [ + 33 + ], + "starting_column": 9, + "ending_column": 27 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "constructor", + "source_mapping": { + "start": 1372, + "length": 319, + "filename_relative": "contracts/templegold/StakedTempleVoteToken.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/StakedTempleVoteToken.sol", + "filename_short": "contracts/templegold/StakedTempleVoteToken.sol", + "is_dependency": false, + "lines": [ + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "StakedTempleVoteToken", + "source_mapping": { + "start": 998, + "length": 6427, + "filename_relative": "contracts/templegold/StakedTempleVoteToken.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/StakedTempleVoteToken.sol", + "filename_short": "contracts/templegold/StakedTempleVoteToken.sol", + "is_dependency": false, + "lines": [ + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210 + ], + "starting_column": 1, + "ending_column": 0 + } + }, + "signature": "constructor(address,address,address,string,string)" + } + } + } + } + ], + "description": "StakedTempleVoteToken.constructor(address,address,address,string,string)._staking (contracts/templegold/StakedTempleVoteToken.sol#29) lacks a zero-check on :\n\t\t- staking = _staking (contracts/templegold/StakedTempleVoteToken.sol#33)\n", + "markdown": "[StakedTempleVoteToken.constructor(address,address,address,string,string)._staking](contracts/templegold/StakedTempleVoteToken.sol#L29) lacks a zero-check on :\n\t\t- [staking = _staking](contracts/templegold/StakedTempleVoteToken.sol#L33)\n", + "first_markdown_element": "contracts/templegold/StakedTempleVoteToken.sol#L29", + "id": "9cf0d387219d43264dd496227230fd1321ed49f70ae0aff911cc137bdc0d3647", + "check": "missing-zero-check", + "impact": "Low", + "confidence": "Medium" + }, + { + "elements": [ + { + "type": "variable", + "name": "_starter", + "source_mapping": { + "start": 4258, + "length": 16, + "filename_relative": "contracts/templegold/TempleGoldStaking.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGoldStaking.sol", + "filename_short": "contracts/templegold/TempleGoldStaking.sol", + "is_dependency": false, + "lines": [ + 99 + ], + "starting_column": 37, + "ending_column": 53 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "setDistributionStarter", + "source_mapping": { + "start": 4226, + "length": 220, + "filename_relative": "contracts/templegold/TempleGoldStaking.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGoldStaking.sol", + "filename_short": "contracts/templegold/TempleGoldStaking.sol", + "is_dependency": false, + "lines": [ + 99, + 100, + 101, + 102, + 103 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "TempleGoldStaking", + "source_mapping": { + "start": 1239, + "length": 16951, + "filename_relative": "contracts/templegold/TempleGoldStaking.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGoldStaking.sol", + "filename_short": "contracts/templegold/TempleGoldStaking.sol", + "is_dependency": false, + "lines": [ + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480 + ], + "starting_column": 1, + "ending_column": 0 + } + }, + "signature": "setDistributionStarter(address)" + } + } + } + }, + { + "type": "node", + "name": "distributionStarter = _starter", + "source_mapping": { + "start": 4362, + "length": 30, + "filename_relative": "contracts/templegold/TempleGoldStaking.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGoldStaking.sol", + "filename_short": "contracts/templegold/TempleGoldStaking.sol", + "is_dependency": false, + "lines": [ + 101 + ], + "starting_column": 9, + "ending_column": 39 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "setDistributionStarter", + "source_mapping": { + "start": 4226, + "length": 220, + "filename_relative": "contracts/templegold/TempleGoldStaking.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGoldStaking.sol", + "filename_short": "contracts/templegold/TempleGoldStaking.sol", + "is_dependency": false, + "lines": [ + 99, + 100, + 101, + 102, + 103 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "TempleGoldStaking", + "source_mapping": { + "start": 1239, + "length": 16951, + "filename_relative": "contracts/templegold/TempleGoldStaking.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGoldStaking.sol", + "filename_short": "contracts/templegold/TempleGoldStaking.sol", + "is_dependency": false, + "lines": [ + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480 + ], + "starting_column": 1, + "ending_column": 0 + } + }, + "signature": "setDistributionStarter(address)" + } + } + } + } + ], + "description": "TempleGoldStaking.setDistributionStarter(address)._starter (contracts/templegold/TempleGoldStaking.sol#99) lacks a zero-check on :\n\t\t- distributionStarter = _starter (contracts/templegold/TempleGoldStaking.sol#101)\n", + "markdown": "[TempleGoldStaking.setDistributionStarter(address)._starter](contracts/templegold/TempleGoldStaking.sol#L99) lacks a zero-check on :\n\t\t- [distributionStarter = _starter](contracts/templegold/TempleGoldStaking.sol#L101)\n", + "first_markdown_element": "contracts/templegold/TempleGoldStaking.sol#L99", + "id": "eb9c577effb2550ff13958a01a96e92ef515a825dd436c2401804b2499ca1172", + "check": "missing-zero-check", + "impact": "Low", + "confidence": "Medium" + }, + { + "elements": [ + { + "type": "variable", + "name": "_migrator", + "source_mapping": { + "start": 4550, + "length": 17, + "filename_relative": "contracts/templegold/TempleGoldStaking.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGoldStaking.sol", + "filename_short": "contracts/templegold/TempleGoldStaking.sol", + "is_dependency": false, + "lines": [ + 109 + ], + "starting_column": 26, + "ending_column": 43 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "setMigrator", + "source_mapping": { + "start": 4529, + "length": 151, + "filename_relative": "contracts/templegold/TempleGoldStaking.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGoldStaking.sol", + "filename_short": "contracts/templegold/TempleGoldStaking.sol", + "is_dependency": false, + "lines": [ + 109, + 110, + 111, + 112 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "TempleGoldStaking", + "source_mapping": { + "start": 1239, + "length": 16951, + "filename_relative": "contracts/templegold/TempleGoldStaking.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGoldStaking.sol", + "filename_short": "contracts/templegold/TempleGoldStaking.sol", + "is_dependency": false, + "lines": [ + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480 + ], + "starting_column": 1, + "ending_column": 0 + } + }, + "signature": "setMigrator(address)" + } + } + } + }, + { + "type": "node", + "name": "migrator = _migrator", + "source_mapping": { + "start": 4616, + "length": 20, + "filename_relative": "contracts/templegold/TempleGoldStaking.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGoldStaking.sol", + "filename_short": "contracts/templegold/TempleGoldStaking.sol", + "is_dependency": false, + "lines": [ + 110 + ], + "starting_column": 9, + "ending_column": 29 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "setMigrator", + "source_mapping": { + "start": 4529, + "length": 151, + "filename_relative": "contracts/templegold/TempleGoldStaking.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGoldStaking.sol", + "filename_short": "contracts/templegold/TempleGoldStaking.sol", + "is_dependency": false, + "lines": [ + 109, + 110, + 111, + 112 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "TempleGoldStaking", + "source_mapping": { + "start": 1239, + "length": 16951, + "filename_relative": "contracts/templegold/TempleGoldStaking.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGoldStaking.sol", + "filename_short": "contracts/templegold/TempleGoldStaking.sol", + "is_dependency": false, + "lines": [ + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480 + ], + "starting_column": 1, + "ending_column": 0 + } + }, + "signature": "setMigrator(address)" + } + } + } + } + ], + "description": "TempleGoldStaking.setMigrator(address)._migrator (contracts/templegold/TempleGoldStaking.sol#109) lacks a zero-check on :\n\t\t- migrator = _migrator (contracts/templegold/TempleGoldStaking.sol#110)\n", + "markdown": "[TempleGoldStaking.setMigrator(address)._migrator](contracts/templegold/TempleGoldStaking.sol#L109) lacks a zero-check on :\n\t\t- [migrator = _migrator](contracts/templegold/TempleGoldStaking.sol#L110)\n", + "first_markdown_element": "contracts/templegold/TempleGoldStaking.sol#L109", + "id": "24b804432876e6a89a065985ba3e0e2c50b0603ce7de688b43166db643f286ea", + "check": "missing-zero-check", + "impact": "Low", + "confidence": "Medium" + }, + { + "elements": [ + { + "type": "function", + "name": "_withdrawFor", + "source_mapping": { + "start": 13373, + "length": 912, + "filename_relative": "contracts/templegold/TempleGoldStaking.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGoldStaking.sol", + "filename_short": "contracts/templegold/TempleGoldStaking.sol", + "is_dependency": false, + "lines": [ + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "TempleGoldStaking", + "source_mapping": { + "start": 1239, + "length": 16951, + "filename_relative": "contracts/templegold/TempleGoldStaking.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGoldStaking.sol", + "filename_short": "contracts/templegold/TempleGoldStaking.sol", + "is_dependency": false, + "lines": [ + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480 + ], + "starting_column": 1, + "ending_column": 0 + } + }, + "signature": "_withdrawFor(address,address,uint256,bool,address)" + } + }, + { + "type": "node", + "name": "_burnVoteToken(staker,amount)", + "source_mapping": { + "start": 13900, + "length": 30, + "filename_relative": "contracts/templegold/TempleGoldStaking.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGoldStaking.sol", + "filename_short": "contracts/templegold/TempleGoldStaking.sol", + "is_dependency": false, + "lines": [ + 368 + ], + "starting_column": 9, + "ending_column": 39 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "_withdrawFor", + "source_mapping": { + "start": 13373, + "length": 912, + "filename_relative": "contracts/templegold/TempleGoldStaking.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGoldStaking.sol", + "filename_short": "contracts/templegold/TempleGoldStaking.sol", + "is_dependency": false, + "lines": [ + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "TempleGoldStaking", + "source_mapping": { + "start": 1239, + "length": 16951, + "filename_relative": "contracts/templegold/TempleGoldStaking.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGoldStaking.sol", + "filename_short": "contracts/templegold/TempleGoldStaking.sol", + "is_dependency": false, + "lines": [ + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480 + ], + "starting_column": 1, + "ending_column": 0 + } + }, + "signature": "_withdrawFor(address,address,uint256,bool,address)" + } + } + }, + "additional_fields": { + "underlying_type": "external_calls" + } + }, + { + "type": "node", + "name": "voteToken.burnFrom(_account,_amount)", + "source_mapping": { + "start": 12904, + "length": 37, + "filename_relative": "contracts/templegold/TempleGoldStaking.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGoldStaking.sol", + "filename_short": "contracts/templegold/TempleGoldStaking.sol", + "is_dependency": false, + "lines": [ + 338 + ], + "starting_column": 9, + "ending_column": 46 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "_burnVoteToken", + "source_mapping": { + "start": 12827, + "length": 121, + "filename_relative": "contracts/templegold/TempleGoldStaking.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGoldStaking.sol", + "filename_short": "contracts/templegold/TempleGoldStaking.sol", + "is_dependency": false, + "lines": [ + 337, + 338, + 339 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "TempleGoldStaking", + "source_mapping": { + "start": 1239, + "length": 16951, + "filename_relative": "contracts/templegold/TempleGoldStaking.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGoldStaking.sol", + "filename_short": "contracts/templegold/TempleGoldStaking.sol", + "is_dependency": false, + "lines": [ + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480 + ], + "starting_column": 1, + "ending_column": 0 + } + }, + "signature": "_burnVoteToken(address,uint256)" + } + } + }, + "additional_fields": { + "underlying_type": "external_calls_sending_eth" + } + }, + { + "type": "node", + "name": "_burnVoteToken(staker,amount)", + "source_mapping": { + "start": 13900, + "length": 30, + "filename_relative": "contracts/templegold/TempleGoldStaking.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGoldStaking.sol", + "filename_short": "contracts/templegold/TempleGoldStaking.sol", + "is_dependency": false, + "lines": [ + 368 + ], + "starting_column": 9, + "ending_column": 39 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "_withdrawFor", + "source_mapping": { + "start": 13373, + "length": 912, + "filename_relative": "contracts/templegold/TempleGoldStaking.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGoldStaking.sol", + "filename_short": "contracts/templegold/TempleGoldStaking.sol", + "is_dependency": false, + "lines": [ + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "TempleGoldStaking", + "source_mapping": { + "start": 1239, + "length": 16951, + "filename_relative": "contracts/templegold/TempleGoldStaking.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGoldStaking.sol", + "filename_short": "contracts/templegold/TempleGoldStaking.sol", + "is_dependency": false, + "lines": [ + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480 + ], + "starting_column": 1, + "ending_column": 0 + } + }, + "signature": "_withdrawFor(address,address,uint256,bool,address)" + } + } + }, + "additional_fields": { + "underlying_type": "external_calls_sending_eth" + } + }, + { + "type": "node", + "name": "voteToken.burnFrom(_account,_amount)", + "source_mapping": { + "start": 12904, + "length": 37, + "filename_relative": "contracts/templegold/TempleGoldStaking.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGoldStaking.sol", + "filename_short": "contracts/templegold/TempleGoldStaking.sol", + "is_dependency": false, + "lines": [ + 338 + ], + "starting_column": 9, + "ending_column": 46 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "_burnVoteToken", + "source_mapping": { + "start": 12827, + "length": 121, + "filename_relative": "contracts/templegold/TempleGoldStaking.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGoldStaking.sol", + "filename_short": "contracts/templegold/TempleGoldStaking.sol", + "is_dependency": false, + "lines": [ + 337, + 338, + 339 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "TempleGoldStaking", + "source_mapping": { + "start": 1239, + "length": 16951, + "filename_relative": "contracts/templegold/TempleGoldStaking.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGoldStaking.sol", + "filename_short": "contracts/templegold/TempleGoldStaking.sol", + "is_dependency": false, + "lines": [ + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480 + ], + "starting_column": 1, + "ending_column": 0 + } + }, + "signature": "_burnVoteToken(address,uint256)" + } + } + }, + "additional_fields": { + "underlying_type": "external_calls_sending_eth" + } + }, + { + "type": "node", + "name": "_updateAccountWeight(staker,_prevBalance,_balances[staker],false)", + "source_mapping": { + "start": 13941, + "length": 68, + "filename_relative": "contracts/templegold/TempleGoldStaking.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGoldStaking.sol", + "filename_short": "contracts/templegold/TempleGoldStaking.sol", + "is_dependency": false, + "lines": [ + 370 + ], + "starting_column": 9, + "ending_column": 77 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "_withdrawFor", + "source_mapping": { + "start": 13373, + "length": 912, + "filename_relative": "contracts/templegold/TempleGoldStaking.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGoldStaking.sol", + "filename_short": "contracts/templegold/TempleGoldStaking.sol", + "is_dependency": false, + "lines": [ + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "TempleGoldStaking", + "source_mapping": { + "start": 1239, + "length": 16951, + "filename_relative": "contracts/templegold/TempleGoldStaking.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGoldStaking.sol", + "filename_short": "contracts/templegold/TempleGoldStaking.sol", + "is_dependency": false, + "lines": [ + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480 + ], + "starting_column": 1, + "ending_column": 0 + } + }, + "signature": "_withdrawFor(address,address,uint256,bool,address)" + } + } + }, + "additional_fields": { + "underlying_type": "variables_written", + "variable_name": "_prevWeights" + } + }, + { + "type": "node", + "name": "_prevWeights[_account] = weight", + "source_mapping": { + "start": 16568, + "length": 31, + "filename_relative": "contracts/templegold/TempleGoldStaking.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGoldStaking.sol", + "filename_short": "contracts/templegold/TempleGoldStaking.sol", + "is_dependency": false, + "lines": [ + 435 + ], + "starting_column": 13, + "ending_column": 44 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "_updateAccountWeight", + "source_mapping": { + "start": 16134, + "length": 1111, + "filename_relative": "contracts/templegold/TempleGoldStaking.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGoldStaking.sol", + "filename_short": "contracts/templegold/TempleGoldStaking.sol", + "is_dependency": false, + "lines": [ + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "TempleGoldStaking", + "source_mapping": { + "start": 1239, + "length": 16951, + "filename_relative": "contracts/templegold/TempleGoldStaking.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGoldStaking.sol", + "filename_short": "contracts/templegold/TempleGoldStaking.sol", + "is_dependency": false, + "lines": [ + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480 + ], + "starting_column": 1, + "ending_column": 0 + } + }, + "signature": "_updateAccountWeight(address,uint256,uint256,bool)" + } + } + }, + "additional_fields": { + "underlying_type": "variables_written", + "variable_name": "_prevWeights" + } + }, + { + "type": "node", + "name": "_updateAccountWeight(staker,_prevBalance,_balances[staker],false)", + "source_mapping": { + "start": 13941, + "length": 68, + "filename_relative": "contracts/templegold/TempleGoldStaking.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGoldStaking.sol", + "filename_short": "contracts/templegold/TempleGoldStaking.sol", + "is_dependency": false, + "lines": [ + 370 + ], + "starting_column": 9, + "ending_column": 77 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "_withdrawFor", + "source_mapping": { + "start": 13373, + "length": 912, + "filename_relative": "contracts/templegold/TempleGoldStaking.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGoldStaking.sol", + "filename_short": "contracts/templegold/TempleGoldStaking.sol", + "is_dependency": false, + "lines": [ + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "TempleGoldStaking", + "source_mapping": { + "start": 1239, + "length": 16951, + "filename_relative": "contracts/templegold/TempleGoldStaking.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGoldStaking.sol", + "filename_short": "contracts/templegold/TempleGoldStaking.sol", + "is_dependency": false, + "lines": [ + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480 + ], + "starting_column": 1, + "ending_column": 0 + } + }, + "signature": "_withdrawFor(address,address,uint256,bool,address)" + } + } + }, + "additional_fields": { + "underlying_type": "variables_written", + "variable_name": "_weights" + } + }, + { + "type": "node", + "name": "weight.weekNumber = uint64(currentWeek)", + "source_mapping": { + "start": 17108, + "length": 39, + "filename_relative": "contracts/templegold/TempleGoldStaking.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGoldStaking.sol", + "filename_short": "contracts/templegold/TempleGoldStaking.sol", + "is_dependency": false, + "lines": [ + 450 + ], + "starting_column": 9, + "ending_column": 48 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "_updateAccountWeight", + "source_mapping": { + "start": 16134, + "length": 1111, + "filename_relative": "contracts/templegold/TempleGoldStaking.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGoldStaking.sol", + "filename_short": "contracts/templegold/TempleGoldStaking.sol", + "is_dependency": false, + "lines": [ + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "TempleGoldStaking", + "source_mapping": { + "start": 1239, + "length": 16951, + "filename_relative": "contracts/templegold/TempleGoldStaking.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGoldStaking.sol", + "filename_short": "contracts/templegold/TempleGoldStaking.sol", + "is_dependency": false, + "lines": [ + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480 + ], + "starting_column": 1, + "ending_column": 0 + } + }, + "signature": "_updateAccountWeight(address,uint256,uint256,bool)" + } + } + }, + "additional_fields": { + "underlying_type": "variables_written", + "variable_name": "_weights" + } + }, + { + "type": "node", + "name": "weight.stakeTime = uint64(t)", + "source_mapping": { + "start": 17157, + "length": 28, + "filename_relative": "contracts/templegold/TempleGoldStaking.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGoldStaking.sol", + "filename_short": "contracts/templegold/TempleGoldStaking.sol", + "is_dependency": false, + "lines": [ + 451 + ], + "starting_column": 9, + "ending_column": 37 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "_updateAccountWeight", + "source_mapping": { + "start": 16134, + "length": 1111, + "filename_relative": "contracts/templegold/TempleGoldStaking.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGoldStaking.sol", + "filename_short": "contracts/templegold/TempleGoldStaking.sol", + "is_dependency": false, + "lines": [ + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "TempleGoldStaking", + "source_mapping": { + "start": 1239, + "length": 16951, + "filename_relative": "contracts/templegold/TempleGoldStaking.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGoldStaking.sol", + "filename_short": "contracts/templegold/TempleGoldStaking.sol", + "is_dependency": false, + "lines": [ + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480 + ], + "starting_column": 1, + "ending_column": 0 + } + }, + "signature": "_updateAccountWeight(address,uint256,uint256,bool)" + } + } + }, + "additional_fields": { + "underlying_type": "variables_written", + "variable_name": "_weights" + } + }, + { + "type": "node", + "name": "weight.updateTime = uint64(block.timestamp)", + "source_mapping": { + "start": 17195, + "length": 43, + "filename_relative": "contracts/templegold/TempleGoldStaking.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGoldStaking.sol", + "filename_short": "contracts/templegold/TempleGoldStaking.sol", + "is_dependency": false, + "lines": [ + 452 + ], + "starting_column": 9, + "ending_column": 52 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "_updateAccountWeight", + "source_mapping": { + "start": 16134, + "length": 1111, + "filename_relative": "contracts/templegold/TempleGoldStaking.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGoldStaking.sol", + "filename_short": "contracts/templegold/TempleGoldStaking.sol", + "is_dependency": false, + "lines": [ + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "TempleGoldStaking", + "source_mapping": { + "start": 1239, + "length": 16951, + "filename_relative": "contracts/templegold/TempleGoldStaking.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGoldStaking.sol", + "filename_short": "contracts/templegold/TempleGoldStaking.sol", + "is_dependency": false, + "lines": [ + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480 + ], + "starting_column": 1, + "ending_column": 0 + } + }, + "signature": "_updateAccountWeight(address,uint256,uint256,bool)" + } + } + }, + "additional_fields": { + "underlying_type": "variables_written", + "variable_name": "_weights" + } + } + ], + "description": "Reentrancy in TempleGoldStaking._withdrawFor(address,address,uint256,bool,address) (contracts/templegold/TempleGoldStaking.sol#354-379):\n\tExternal calls:\n\t- _burnVoteToken(staker,amount) (contracts/templegold/TempleGoldStaking.sol#368)\n\t\t- voteToken.burnFrom(_account,_amount) (contracts/templegold/TempleGoldStaking.sol#338)\n\tState variables written after the call(s):\n\t- _updateAccountWeight(staker,_prevBalance,_balances[staker],false) (contracts/templegold/TempleGoldStaking.sol#370)\n\t\t- _prevWeights[_account] = weight (contracts/templegold/TempleGoldStaking.sol#435)\n\t- _updateAccountWeight(staker,_prevBalance,_balances[staker],false) (contracts/templegold/TempleGoldStaking.sol#370)\n\t\t- weight.weekNumber = uint64(currentWeek) (contracts/templegold/TempleGoldStaking.sol#450)\n\t\t- weight.stakeTime = uint64(t) (contracts/templegold/TempleGoldStaking.sol#451)\n\t\t- weight.updateTime = uint64(block.timestamp) (contracts/templegold/TempleGoldStaking.sol#452)\n", + "markdown": "Reentrancy in [TempleGoldStaking._withdrawFor(address,address,uint256,bool,address)](contracts/templegold/TempleGoldStaking.sol#L354-L379):\n\tExternal calls:\n\t- [_burnVoteToken(staker,amount)](contracts/templegold/TempleGoldStaking.sol#L368)\n\t\t- [voteToken.burnFrom(_account,_amount)](contracts/templegold/TempleGoldStaking.sol#L338)\n\tState variables written after the call(s):\n\t- [_updateAccountWeight(staker,_prevBalance,_balances[staker],false)](contracts/templegold/TempleGoldStaking.sol#L370)\n\t\t- [_prevWeights[_account] = weight](contracts/templegold/TempleGoldStaking.sol#L435)\n\t- [_updateAccountWeight(staker,_prevBalance,_balances[staker],false)](contracts/templegold/TempleGoldStaking.sol#L370)\n\t\t- [weight.weekNumber = uint64(currentWeek)](contracts/templegold/TempleGoldStaking.sol#L450)\n\t\t- [weight.stakeTime = uint64(t)](contracts/templegold/TempleGoldStaking.sol#L451)\n\t\t- [weight.updateTime = uint64(block.timestamp)](contracts/templegold/TempleGoldStaking.sol#L452)\n", + "first_markdown_element": "contracts/templegold/TempleGoldStaking.sol#L354-L379", + "id": "1f606385ade674ea2306b1ae1762f40d38884d6c21b016d2c039f2e839792e84", + "check": "reentrancy-benign", + "impact": "Low", + "confidence": "Medium" + }, + { + "elements": [ + { + "type": "function", + "name": "bid", + "source_mapping": { + "start": 5384, + "length": 511, + "filename_relative": "contracts/templegold/DaiGoldAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/DaiGoldAuction.sol", + "filename_short": "contracts/templegold/DaiGoldAuction.sol", + "is_dependency": false, + "lines": [ + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "DaiGoldAuction", + "source_mapping": { + "start": 1163, + "length": 8142, + "filename_relative": "contracts/templegold/DaiGoldAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/DaiGoldAuction.sol", + "filename_short": "contracts/templegold/DaiGoldAuction.sol", + "is_dependency": false, + "lines": [ + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240 + ], + "starting_column": 1, + "ending_column": 0 + } + }, + "signature": "bid(uint256)" + } + }, + { + "type": "node", + "name": "_distributeGold()", + "source_mapping": { + "start": 5539, + "length": 17, + "filename_relative": "contracts/templegold/DaiGoldAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/DaiGoldAuction.sol", + "filename_short": "contracts/templegold/DaiGoldAuction.sol", + "is_dependency": false, + "lines": [ + 128 + ], + "starting_column": 9, + "ending_column": 26 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "bid", + "source_mapping": { + "start": 5384, + "length": 511, + "filename_relative": "contracts/templegold/DaiGoldAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/DaiGoldAuction.sol", + "filename_short": "contracts/templegold/DaiGoldAuction.sol", + "is_dependency": false, + "lines": [ + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "DaiGoldAuction", + "source_mapping": { + "start": 1163, + "length": 8142, + "filename_relative": "contracts/templegold/DaiGoldAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/DaiGoldAuction.sol", + "filename_short": "contracts/templegold/DaiGoldAuction.sol", + "is_dependency": false, + "lines": [ + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240 + ], + "starting_column": 1, + "ending_column": 0 + } + }, + "signature": "bid(uint256)" + } + } + }, + "additional_fields": { + "underlying_type": "external_calls" + } + }, + { + "type": "node", + "name": "templeGold.mint()", + "source_mapping": { + "start": 9175, + "length": 17, + "filename_relative": "contracts/templegold/DaiGoldAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/DaiGoldAuction.sol", + "filename_short": "contracts/templegold/DaiGoldAuction.sol", + "is_dependency": false, + "lines": [ + 232 + ], + "starting_column": 9, + "ending_column": 26 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "_distributeGold", + "source_mapping": { + "start": 9070, + "length": 129, + "filename_relative": "contracts/templegold/DaiGoldAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/DaiGoldAuction.sol", + "filename_short": "contracts/templegold/DaiGoldAuction.sol", + "is_dependency": false, + "lines": [ + 230, + 231, + 232, + 233 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "DaiGoldAuction", + "source_mapping": { + "start": 1163, + "length": 8142, + "filename_relative": "contracts/templegold/DaiGoldAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/DaiGoldAuction.sol", + "filename_short": "contracts/templegold/DaiGoldAuction.sol", + "is_dependency": false, + "lines": [ + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240 + ], + "starting_column": 1, + "ending_column": 0 + } + }, + "signature": "_distributeGold()" + } + } + }, + "additional_fields": { + "underlying_type": "external_calls_sending_eth" + } + }, + { + "type": "node", + "name": "bidToken.safeTransferFrom(msg.sender,address(this),amount)", + "source_mapping": { + "start": 5567, + "length": 60, + "filename_relative": "contracts/templegold/DaiGoldAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/DaiGoldAuction.sol", + "filename_short": "contracts/templegold/DaiGoldAuction.sol", + "is_dependency": false, + "lines": [ + 130 + ], + "starting_column": 9, + "ending_column": 69 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "bid", + "source_mapping": { + "start": 5384, + "length": 511, + "filename_relative": "contracts/templegold/DaiGoldAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/DaiGoldAuction.sol", + "filename_short": "contracts/templegold/DaiGoldAuction.sol", + "is_dependency": false, + "lines": [ + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "DaiGoldAuction", + "source_mapping": { + "start": 1163, + "length": 8142, + "filename_relative": "contracts/templegold/DaiGoldAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/DaiGoldAuction.sol", + "filename_short": "contracts/templegold/DaiGoldAuction.sol", + "is_dependency": false, + "lines": [ + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240 + ], + "starting_column": 1, + "ending_column": 0 + } + }, + "signature": "bid(uint256)" + } + } + }, + "additional_fields": { + "underlying_type": "external_calls" + } + }, + { + "type": "node", + "name": "_distributeGold()", + "source_mapping": { + "start": 5539, + "length": 17, + "filename_relative": "contracts/templegold/DaiGoldAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/DaiGoldAuction.sol", + "filename_short": "contracts/templegold/DaiGoldAuction.sol", + "is_dependency": false, + "lines": [ + 128 + ], + "starting_column": 9, + "ending_column": 26 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "bid", + "source_mapping": { + "start": 5384, + "length": 511, + "filename_relative": "contracts/templegold/DaiGoldAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/DaiGoldAuction.sol", + "filename_short": "contracts/templegold/DaiGoldAuction.sol", + "is_dependency": false, + "lines": [ + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "DaiGoldAuction", + "source_mapping": { + "start": 1163, + "length": 8142, + "filename_relative": "contracts/templegold/DaiGoldAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/DaiGoldAuction.sol", + "filename_short": "contracts/templegold/DaiGoldAuction.sol", + "is_dependency": false, + "lines": [ + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240 + ], + "starting_column": 1, + "ending_column": 0 + } + }, + "signature": "bid(uint256)" + } + } + }, + "additional_fields": { + "underlying_type": "external_calls_sending_eth" + } + }, + { + "type": "node", + "name": "templeGold.mint()", + "source_mapping": { + "start": 9175, + "length": 17, + "filename_relative": "contracts/templegold/DaiGoldAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/DaiGoldAuction.sol", + "filename_short": "contracts/templegold/DaiGoldAuction.sol", + "is_dependency": false, + "lines": [ + 232 + ], + "starting_column": 9, + "ending_column": 26 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "_distributeGold", + "source_mapping": { + "start": 9070, + "length": 129, + "filename_relative": "contracts/templegold/DaiGoldAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/DaiGoldAuction.sol", + "filename_short": "contracts/templegold/DaiGoldAuction.sol", + "is_dependency": false, + "lines": [ + 230, + 231, + 232, + 233 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "DaiGoldAuction", + "source_mapping": { + "start": 1163, + "length": 8142, + "filename_relative": "contracts/templegold/DaiGoldAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/DaiGoldAuction.sol", + "filename_short": "contracts/templegold/DaiGoldAuction.sol", + "is_dependency": false, + "lines": [ + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240 + ], + "starting_column": 1, + "ending_column": 0 + } + }, + "signature": "_distributeGold()" + } + } + }, + "additional_fields": { + "underlying_type": "external_calls_sending_eth" + } + }, + { + "type": "node", + "name": "bidToken.safeTransferFrom(msg.sender,address(this),amount)", + "source_mapping": { + "start": 5567, + "length": 60, + "filename_relative": "contracts/templegold/DaiGoldAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/DaiGoldAuction.sol", + "filename_short": "contracts/templegold/DaiGoldAuction.sol", + "is_dependency": false, + "lines": [ + 130 + ], + "starting_column": 9, + "ending_column": 69 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "bid", + "source_mapping": { + "start": 5384, + "length": 511, + "filename_relative": "contracts/templegold/DaiGoldAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/DaiGoldAuction.sol", + "filename_short": "contracts/templegold/DaiGoldAuction.sol", + "is_dependency": false, + "lines": [ + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "DaiGoldAuction", + "source_mapping": { + "start": 1163, + "length": 8142, + "filename_relative": "contracts/templegold/DaiGoldAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/DaiGoldAuction.sol", + "filename_short": "contracts/templegold/DaiGoldAuction.sol", + "is_dependency": false, + "lines": [ + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240 + ], + "starting_column": 1, + "ending_column": 0 + } + }, + "signature": "bid(uint256)" + } + } + }, + "additional_fields": { + "underlying_type": "external_calls_sending_eth" + } + }, + { + "type": "node", + "name": "depositors[msg.sender][epochIdCache] += amount", + "source_mapping": { + "start": 5686, + "length": 46, + "filename_relative": "contracts/templegold/DaiGoldAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/DaiGoldAuction.sol", + "filename_short": "contracts/templegold/DaiGoldAuction.sol", + "is_dependency": false, + "lines": [ + 133 + ], + "starting_column": 9, + "ending_column": 55 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "bid", + "source_mapping": { + "start": 5384, + "length": 511, + "filename_relative": "contracts/templegold/DaiGoldAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/DaiGoldAuction.sol", + "filename_short": "contracts/templegold/DaiGoldAuction.sol", + "is_dependency": false, + "lines": [ + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "DaiGoldAuction", + "source_mapping": { + "start": 1163, + "length": 8142, + "filename_relative": "contracts/templegold/DaiGoldAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/DaiGoldAuction.sol", + "filename_short": "contracts/templegold/DaiGoldAuction.sol", + "is_dependency": false, + "lines": [ + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240 + ], + "starting_column": 1, + "ending_column": 0 + } + }, + "signature": "bid(uint256)" + } + } + }, + "additional_fields": { + "underlying_type": "variables_written", + "variable_name": "depositors" + } + } + ], + "description": "Reentrancy in DaiGoldAuction.bid(uint256) (contracts/templegold/DaiGoldAuction.sol#126-138):\n\tExternal calls:\n\t- _distributeGold() (contracts/templegold/DaiGoldAuction.sol#128)\n\t\t- templeGold.mint() (contracts/templegold/DaiGoldAuction.sol#232)\n\t- bidToken.safeTransferFrom(msg.sender,address(this),amount) (contracts/templegold/DaiGoldAuction.sol#130)\n\tState variables written after the call(s):\n\t- depositors[msg.sender][epochIdCache] += amount (contracts/templegold/DaiGoldAuction.sol#133)\n", + "markdown": "Reentrancy in [DaiGoldAuction.bid(uint256)](contracts/templegold/DaiGoldAuction.sol#L126-L138):\n\tExternal calls:\n\t- [_distributeGold()](contracts/templegold/DaiGoldAuction.sol#L128)\n\t\t- [templeGold.mint()](contracts/templegold/DaiGoldAuction.sol#L232)\n\t- [bidToken.safeTransferFrom(msg.sender,address(this),amount)](contracts/templegold/DaiGoldAuction.sol#L130)\n\tState variables written after the call(s):\n\t- [depositors[msg.sender][epochIdCache] += amount](contracts/templegold/DaiGoldAuction.sol#L133)\n", + "first_markdown_element": "contracts/templegold/DaiGoldAuction.sol#L126-L138", + "id": "b17bbf60ccc1bb2f88498e0c5e4a6bb6c57721e992afe497ce9b96b0db439c3f", + "check": "reentrancy-benign", + "impact": "Low", + "confidence": "Medium" + }, + { + "elements": [ + { + "type": "function", + "name": "bid", + "source_mapping": { + "start": 6325, + "length": 607, + "filename_relative": "contracts/templegold/SpiceAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/SpiceAuction.sol", + "filename_short": "contracts/templegold/SpiceAuction.sol", + "is_dependency": false, + "lines": [ + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "SpiceAuction", + "source_mapping": { + "start": 652, + "length": 8750, + "filename_relative": "contracts/templegold/SpiceAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/SpiceAuction.sol", + "filename_short": "contracts/templegold/SpiceAuction.sol", + "is_dependency": false, + "lines": [ + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196 + ], + "starting_column": 1, + "ending_column": 0 + } + }, + "signature": "bid(uint256)" + } + }, + { + "type": "node", + "name": "IERC20(bidToken).safeTransferFrom(msg.sender,address(this),amount)", + "source_mapping": { + "start": 6660, + "length": 68, + "filename_relative": "contracts/templegold/SpiceAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/SpiceAuction.sol", + "filename_short": "contracts/templegold/SpiceAuction.sol", + "is_dependency": false, + "lines": [ + 132 + ], + "starting_column": 9, + "ending_column": 77 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "bid", + "source_mapping": { + "start": 6325, + "length": 607, + "filename_relative": "contracts/templegold/SpiceAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/SpiceAuction.sol", + "filename_short": "contracts/templegold/SpiceAuction.sol", + "is_dependency": false, + "lines": [ + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "SpiceAuction", + "source_mapping": { + "start": 652, + "length": 8750, + "filename_relative": "contracts/templegold/SpiceAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/SpiceAuction.sol", + "filename_short": "contracts/templegold/SpiceAuction.sol", + "is_dependency": false, + "lines": [ + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196 + ], + "starting_column": 1, + "ending_column": 0 + } + }, + "signature": "bid(uint256)" + } + } + }, + "additional_fields": { + "underlying_type": "external_calls" + } + }, + { + "type": "node", + "name": "IERC20(bidToken).safeTransferFrom(msg.sender,address(this),amount)", + "source_mapping": { + "start": 6660, + "length": 68, + "filename_relative": "contracts/templegold/SpiceAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/SpiceAuction.sol", + "filename_short": "contracts/templegold/SpiceAuction.sol", + "is_dependency": false, + "lines": [ + 132 + ], + "starting_column": 9, + "ending_column": 77 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "bid", + "source_mapping": { + "start": 6325, + "length": 607, + "filename_relative": "contracts/templegold/SpiceAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/SpiceAuction.sol", + "filename_short": "contracts/templegold/SpiceAuction.sol", + "is_dependency": false, + "lines": [ + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "SpiceAuction", + "source_mapping": { + "start": 652, + "length": 8750, + "filename_relative": "contracts/templegold/SpiceAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/SpiceAuction.sol", + "filename_short": "contracts/templegold/SpiceAuction.sol", + "is_dependency": false, + "lines": [ + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196 + ], + "starting_column": 1, + "ending_column": 0 + } + }, + "signature": "bid(uint256)" + } + } + }, + "additional_fields": { + "underlying_type": "external_calls_sending_eth" + } + }, + { + "type": "node", + "name": "depositors[msg.sender][epochId] += amount", + "source_mapping": { + "start": 6738, + "length": 41, + "filename_relative": "contracts/templegold/SpiceAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/SpiceAuction.sol", + "filename_short": "contracts/templegold/SpiceAuction.sol", + "is_dependency": false, + "lines": [ + 133 + ], + "starting_column": 9, + "ending_column": 50 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "bid", + "source_mapping": { + "start": 6325, + "length": 607, + "filename_relative": "contracts/templegold/SpiceAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/SpiceAuction.sol", + "filename_short": "contracts/templegold/SpiceAuction.sol", + "is_dependency": false, + "lines": [ + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "SpiceAuction", + "source_mapping": { + "start": 652, + "length": 8750, + "filename_relative": "contracts/templegold/SpiceAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/SpiceAuction.sol", + "filename_short": "contracts/templegold/SpiceAuction.sol", + "is_dependency": false, + "lines": [ + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196 + ], + "starting_column": 1, + "ending_column": 0 + } + }, + "signature": "bid(uint256)" + } + } + }, + "additional_fields": { + "underlying_type": "variables_written", + "variable_name": "depositors" + } + } + ], + "description": "Reentrancy in SpiceAuction.bid(uint256) (contracts/templegold/SpiceAuction.sol#124-138):\n\tExternal calls:\n\t- IERC20(bidToken).safeTransferFrom(msg.sender,address(this),amount) (contracts/templegold/SpiceAuction.sol#132)\n\tState variables written after the call(s):\n\t- depositors[msg.sender][epochId] += amount (contracts/templegold/SpiceAuction.sol#133)\n", + "markdown": "Reentrancy in [SpiceAuction.bid(uint256)](contracts/templegold/SpiceAuction.sol#L124-L138):\n\tExternal calls:\n\t- [IERC20(bidToken).safeTransferFrom(msg.sender,address(this),amount)](contracts/templegold/SpiceAuction.sol#L132)\n\tState variables written after the call(s):\n\t- [depositors[msg.sender][epochId] += amount](contracts/templegold/SpiceAuction.sol#L133)\n", + "first_markdown_element": "contracts/templegold/SpiceAuction.sol#L124-L138", + "id": "148b2854f1ce6e97b445f639b3bf71db9946797b504663ed3c2164ca9ba03552", + "check": "reentrancy-benign", + "impact": "Low", + "confidence": "Medium" + }, + { + "elements": [ + { + "type": "function", + "name": "claim", + "source_mapping": { + "start": 6966, + "length": 1029, + "filename_relative": "contracts/templegold/SpiceAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/SpiceAuction.sol", + "filename_short": "contracts/templegold/SpiceAuction.sol", + "is_dependency": false, + "lines": [ + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "SpiceAuction", + "source_mapping": { + "start": 652, + "length": 8750, + "filename_relative": "contracts/templegold/SpiceAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/SpiceAuction.sol", + "filename_short": "contracts/templegold/SpiceAuction.sol", + "is_dependency": false, + "lines": [ + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196 + ], + "starting_column": 1, + "ending_column": 0 + } + }, + "signature": "claim(uint256)" + } + }, + { + "type": "node", + "name": "IERC20(bidToken).safeTransfer(config.recipient,bidTokenAmount)", + "source_mapping": { + "start": 7508, + "length": 63, + "filename_relative": "contracts/templegold/SpiceAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/SpiceAuction.sol", + "filename_short": "contracts/templegold/SpiceAuction.sol", + "is_dependency": false, + "lines": [ + 149 + ], + "starting_column": 9, + "ending_column": 72 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "claim", + "source_mapping": { + "start": 6966, + "length": 1029, + "filename_relative": "contracts/templegold/SpiceAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/SpiceAuction.sol", + "filename_short": "contracts/templegold/SpiceAuction.sol", + "is_dependency": false, + "lines": [ + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "SpiceAuction", + "source_mapping": { + "start": 652, + "length": 8750, + "filename_relative": "contracts/templegold/SpiceAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/SpiceAuction.sol", + "filename_short": "contracts/templegold/SpiceAuction.sol", + "is_dependency": false, + "lines": [ + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196 + ], + "starting_column": 1, + "ending_column": 0 + } + }, + "signature": "claim(uint256)" + } + } + }, + "additional_fields": { + "underlying_type": "external_calls" + } + }, + { + "type": "node", + "name": "IERC20(auctionToken).safeTransfer(msg.sender,claimAmount)", + "source_mapping": { + "start": 7752, + "length": 58, + "filename_relative": "contracts/templegold/SpiceAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/SpiceAuction.sol", + "filename_short": "contracts/templegold/SpiceAuction.sol", + "is_dependency": false, + "lines": [ + 153 + ], + "starting_column": 9, + "ending_column": 67 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "claim", + "source_mapping": { + "start": 6966, + "length": 1029, + "filename_relative": "contracts/templegold/SpiceAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/SpiceAuction.sol", + "filename_short": "contracts/templegold/SpiceAuction.sol", + "is_dependency": false, + "lines": [ + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "SpiceAuction", + "source_mapping": { + "start": 652, + "length": 8750, + "filename_relative": "contracts/templegold/SpiceAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/SpiceAuction.sol", + "filename_short": "contracts/templegold/SpiceAuction.sol", + "is_dependency": false, + "lines": [ + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196 + ], + "starting_column": 1, + "ending_column": 0 + } + }, + "signature": "claim(uint256)" + } + } + }, + "additional_fields": { + "underlying_type": "external_calls" + } + }, + { + "type": "node", + "name": "IERC20(bidToken).safeTransfer(config.recipient,bidTokenAmount)", + "source_mapping": { + "start": 7508, + "length": 63, + "filename_relative": "contracts/templegold/SpiceAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/SpiceAuction.sol", + "filename_short": "contracts/templegold/SpiceAuction.sol", + "is_dependency": false, + "lines": [ + 149 + ], + "starting_column": 9, + "ending_column": 72 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "claim", + "source_mapping": { + "start": 6966, + "length": 1029, + "filename_relative": "contracts/templegold/SpiceAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/SpiceAuction.sol", + "filename_short": "contracts/templegold/SpiceAuction.sol", + "is_dependency": false, + "lines": [ + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "SpiceAuction", + "source_mapping": { + "start": 652, + "length": 8750, + "filename_relative": "contracts/templegold/SpiceAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/SpiceAuction.sol", + "filename_short": "contracts/templegold/SpiceAuction.sol", + "is_dependency": false, + "lines": [ + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196 + ], + "starting_column": 1, + "ending_column": 0 + } + }, + "signature": "claim(uint256)" + } + } + }, + "additional_fields": { + "underlying_type": "external_calls_sending_eth" + } + }, + { + "type": "node", + "name": "IERC20(auctionToken).safeTransfer(msg.sender,claimAmount)", + "source_mapping": { + "start": 7752, + "length": 58, + "filename_relative": "contracts/templegold/SpiceAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/SpiceAuction.sol", + "filename_short": "contracts/templegold/SpiceAuction.sol", + "is_dependency": false, + "lines": [ + 153 + ], + "starting_column": 9, + "ending_column": 67 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "claim", + "source_mapping": { + "start": 6966, + "length": 1029, + "filename_relative": "contracts/templegold/SpiceAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/SpiceAuction.sol", + "filename_short": "contracts/templegold/SpiceAuction.sol", + "is_dependency": false, + "lines": [ + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "SpiceAuction", + "source_mapping": { + "start": 652, + "length": 8750, + "filename_relative": "contracts/templegold/SpiceAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/SpiceAuction.sol", + "filename_short": "contracts/templegold/SpiceAuction.sol", + "is_dependency": false, + "lines": [ + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196 + ], + "starting_column": 1, + "ending_column": 0 + } + }, + "signature": "claim(uint256)" + } + } + }, + "additional_fields": { + "underlying_type": "external_calls_sending_eth" + } + }, + { + "type": "node", + "name": "_claimedAuctionTokens[auctionToken] += claimAmount", + "source_mapping": { + "start": 7938, + "length": 50, + "filename_relative": "contracts/templegold/SpiceAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/SpiceAuction.sol", + "filename_short": "contracts/templegold/SpiceAuction.sol", + "is_dependency": false, + "lines": [ + 157 + ], + "starting_column": 9, + "ending_column": 59 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "claim", + "source_mapping": { + "start": 6966, + "length": 1029, + "filename_relative": "contracts/templegold/SpiceAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/SpiceAuction.sol", + "filename_short": "contracts/templegold/SpiceAuction.sol", + "is_dependency": false, + "lines": [ + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "SpiceAuction", + "source_mapping": { + "start": 652, + "length": 8750, + "filename_relative": "contracts/templegold/SpiceAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/SpiceAuction.sol", + "filename_short": "contracts/templegold/SpiceAuction.sol", + "is_dependency": false, + "lines": [ + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196 + ], + "starting_column": 1, + "ending_column": 0 + } + }, + "signature": "claim(uint256)" + } + } + }, + "additional_fields": { + "underlying_type": "variables_written", + "variable_name": "_claimedAuctionTokens" + } + } + ], + "description": "Reentrancy in SpiceAuction.claim(uint256) (contracts/templegold/SpiceAuction.sol#141-158):\n\tExternal calls:\n\t- IERC20(bidToken).safeTransfer(config.recipient,bidTokenAmount) (contracts/templegold/SpiceAuction.sol#149)\n\t- IERC20(auctionToken).safeTransfer(msg.sender,claimAmount) (contracts/templegold/SpiceAuction.sol#153)\n\tState variables written after the call(s):\n\t- _claimedAuctionTokens[auctionToken] += claimAmount (contracts/templegold/SpiceAuction.sol#157)\n", + "markdown": "Reentrancy in [SpiceAuction.claim(uint256)](contracts/templegold/SpiceAuction.sol#L141-L158):\n\tExternal calls:\n\t- [IERC20(bidToken).safeTransfer(config.recipient,bidTokenAmount)](contracts/templegold/SpiceAuction.sol#L149)\n\t- [IERC20(auctionToken).safeTransfer(msg.sender,claimAmount)](contracts/templegold/SpiceAuction.sol#L153)\n\tState variables written after the call(s):\n\t- [_claimedAuctionTokens[auctionToken] += claimAmount](contracts/templegold/SpiceAuction.sol#L157)\n", + "first_markdown_element": "contracts/templegold/SpiceAuction.sol#L141-L158", + "id": "793afacaebd363c1aecfd00bf74864d64187631dcc800f1b9d94b7abe0cbf5cb", + "check": "reentrancy-benign", + "impact": "Low", + "confidence": "Medium" + }, + { + "elements": [ + { + "type": "function", + "name": "distributeRewards", + "source_mapping": { + "start": 6639, + "length": 625, + "filename_relative": "contracts/templegold/TempleGoldStaking.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGoldStaking.sol", + "filename_short": "contracts/templegold/TempleGoldStaking.sol", + "is_dependency": false, + "lines": [ + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "TempleGoldStaking", + "source_mapping": { + "start": 1239, + "length": 16951, + "filename_relative": "contracts/templegold/TempleGoldStaking.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGoldStaking.sol", + "filename_short": "contracts/templegold/TempleGoldStaking.sol", + "is_dependency": false, + "lines": [ + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480 + ], + "starting_column": 1, + "ending_column": 0 + } + }, + "signature": "distributeRewards()" + } + }, + { + "type": "node", + "name": "_distributeGold()", + "source_mapping": { + "start": 6915, + "length": 17, + "filename_relative": "contracts/templegold/TempleGoldStaking.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGoldStaking.sol", + "filename_short": "contracts/templegold/TempleGoldStaking.sol", + "is_dependency": false, + "lines": [ + 156 + ], + "starting_column": 48, + "ending_column": 65 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "distributeRewards", + "source_mapping": { + "start": 6639, + "length": 625, + "filename_relative": "contracts/templegold/TempleGoldStaking.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGoldStaking.sol", + "filename_short": "contracts/templegold/TempleGoldStaking.sol", + "is_dependency": false, + "lines": [ + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "TempleGoldStaking", + "source_mapping": { + "start": 1239, + "length": 16951, + "filename_relative": "contracts/templegold/TempleGoldStaking.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGoldStaking.sol", + "filename_short": "contracts/templegold/TempleGoldStaking.sol", + "is_dependency": false, + "lines": [ + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480 + ], + "starting_column": 1, + "ending_column": 0 + } + }, + "signature": "distributeRewards()" + } + } + }, + "additional_fields": { + "underlying_type": "external_calls" + } + }, + { + "type": "node", + "name": "ITempleGold(address(rewardToken)).mint()", + "source_mapping": { + "start": 15268, + "length": 40, + "filename_relative": "contracts/templegold/TempleGoldStaking.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGoldStaking.sol", + "filename_short": "contracts/templegold/TempleGoldStaking.sol", + "is_dependency": false, + "lines": [ + 406 + ], + "starting_column": 13, + "ending_column": 53 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "_distributeGold", + "source_mapping": { + "start": 15109, + "length": 216, + "filename_relative": "contracts/templegold/TempleGoldStaking.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGoldStaking.sol", + "filename_short": "contracts/templegold/TempleGoldStaking.sol", + "is_dependency": false, + "lines": [ + 403, + 404, + 405, + 406, + 407, + 408 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "TempleGoldStaking", + "source_mapping": { + "start": 1239, + "length": 16951, + "filename_relative": "contracts/templegold/TempleGoldStaking.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGoldStaking.sol", + "filename_short": "contracts/templegold/TempleGoldStaking.sol", + "is_dependency": false, + "lines": [ + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480 + ], + "starting_column": 1, + "ending_column": 0 + } + }, + "signature": "_distributeGold()" + } + } + }, + "additional_fields": { + "underlying_type": "external_calls_sending_eth" + } + }, + { + "type": "node", + "name": "_distributeGold()", + "source_mapping": { + "start": 6915, + "length": 17, + "filename_relative": "contracts/templegold/TempleGoldStaking.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGoldStaking.sol", + "filename_short": "contracts/templegold/TempleGoldStaking.sol", + "is_dependency": false, + "lines": [ + 156 + ], + "starting_column": 48, + "ending_column": 65 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "distributeRewards", + "source_mapping": { + "start": 6639, + "length": 625, + "filename_relative": "contracts/templegold/TempleGoldStaking.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGoldStaking.sol", + "filename_short": "contracts/templegold/TempleGoldStaking.sol", + "is_dependency": false, + "lines": [ + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "TempleGoldStaking", + "source_mapping": { + "start": 1239, + "length": 16951, + "filename_relative": "contracts/templegold/TempleGoldStaking.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGoldStaking.sol", + "filename_short": "contracts/templegold/TempleGoldStaking.sol", + "is_dependency": false, + "lines": [ + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480 + ], + "starting_column": 1, + "ending_column": 0 + } + }, + "signature": "distributeRewards()" + } + } + }, + "additional_fields": { + "underlying_type": "external_calls_sending_eth" + } + }, + { + "type": "node", + "name": "ITempleGold(address(rewardToken)).mint()", + "source_mapping": { + "start": 15268, + "length": 40, + "filename_relative": "contracts/templegold/TempleGoldStaking.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGoldStaking.sol", + "filename_short": "contracts/templegold/TempleGoldStaking.sol", + "is_dependency": false, + "lines": [ + 406 + ], + "starting_column": 13, + "ending_column": 53 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "_distributeGold", + "source_mapping": { + "start": 15109, + "length": 216, + "filename_relative": "contracts/templegold/TempleGoldStaking.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGoldStaking.sol", + "filename_short": "contracts/templegold/TempleGoldStaking.sol", + "is_dependency": false, + "lines": [ + 403, + 404, + 405, + 406, + 407, + 408 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "TempleGoldStaking", + "source_mapping": { + "start": 1239, + "length": 16951, + "filename_relative": "contracts/templegold/TempleGoldStaking.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGoldStaking.sol", + "filename_short": "contracts/templegold/TempleGoldStaking.sol", + "is_dependency": false, + "lines": [ + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480 + ], + "starting_column": 1, + "ending_column": 0 + } + }, + "signature": "_distributeGold()" + } + } + }, + "additional_fields": { + "underlying_type": "external_calls_sending_eth" + } + }, + { + "type": "node", + "name": "nextRewardAmount = 0", + "source_mapping": { + "start": 7200, + "length": 20, + "filename_relative": "contracts/templegold/TempleGoldStaking.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGoldStaking.sol", + "filename_short": "contracts/templegold/TempleGoldStaking.sol", + "is_dependency": false, + "lines": [ + 160 + ], + "starting_column": 9, + "ending_column": 29 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "distributeRewards", + "source_mapping": { + "start": 6639, + "length": 625, + "filename_relative": "contracts/templegold/TempleGoldStaking.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGoldStaking.sol", + "filename_short": "contracts/templegold/TempleGoldStaking.sol", + "is_dependency": false, + "lines": [ + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "TempleGoldStaking", + "source_mapping": { + "start": 1239, + "length": 16951, + "filename_relative": "contracts/templegold/TempleGoldStaking.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGoldStaking.sol", + "filename_short": "contracts/templegold/TempleGoldStaking.sol", + "is_dependency": false, + "lines": [ + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480 + ], + "starting_column": 1, + "ending_column": 0 + } + }, + "signature": "distributeRewards()" + } + } + }, + "additional_fields": { + "underlying_type": "variables_written", + "variable_name": "nextRewardAmount" + } + }, + { + "type": "node", + "name": "_notifyReward(rewardAmount)", + "source_mapping": { + "start": 7230, + "length": 27, + "filename_relative": "contracts/templegold/TempleGoldStaking.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGoldStaking.sol", + "filename_short": "contracts/templegold/TempleGoldStaking.sol", + "is_dependency": false, + "lines": [ + 161 + ], + "starting_column": 9, + "ending_column": 36 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "distributeRewards", + "source_mapping": { + "start": 6639, + "length": 625, + "filename_relative": "contracts/templegold/TempleGoldStaking.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGoldStaking.sol", + "filename_short": "contracts/templegold/TempleGoldStaking.sol", + "is_dependency": false, + "lines": [ + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "TempleGoldStaking", + "source_mapping": { + "start": 1239, + "length": 16951, + "filename_relative": "contracts/templegold/TempleGoldStaking.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGoldStaking.sol", + "filename_short": "contracts/templegold/TempleGoldStaking.sol", + "is_dependency": false, + "lines": [ + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480 + ], + "starting_column": 1, + "ending_column": 0 + } + }, + "signature": "distributeRewards()" + } + } + }, + "additional_fields": { + "underlying_type": "variables_written", + "variable_name": "rewardData" + } + }, + { + "type": "node", + "name": "rdata.rewardRate = uint216(amount / REWARD_DURATION)", + "source_mapping": { + "start": 14449, + "length": 52, + "filename_relative": "contracts/templegold/TempleGoldStaking.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGoldStaking.sol", + "filename_short": "contracts/templegold/TempleGoldStaking.sol", + "is_dependency": false, + "lines": [ + 385 + ], + "starting_column": 13, + "ending_column": 65 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "_notifyReward", + "source_mapping": { + "start": 14291, + "length": 592, + "filename_relative": "contracts/templegold/TempleGoldStaking.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGoldStaking.sol", + "filename_short": "contracts/templegold/TempleGoldStaking.sol", + "is_dependency": false, + "lines": [ + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "TempleGoldStaking", + "source_mapping": { + "start": 1239, + "length": 16951, + "filename_relative": "contracts/templegold/TempleGoldStaking.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGoldStaking.sol", + "filename_short": "contracts/templegold/TempleGoldStaking.sol", + "is_dependency": false, + "lines": [ + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480 + ], + "starting_column": 1, + "ending_column": 0 + } + }, + "signature": "_notifyReward(uint256)" + } + } + }, + "additional_fields": { + "underlying_type": "variables_written", + "variable_name": "rewardData" + } + }, + { + "type": "node", + "name": "rdata.rewardRate = uint216((amount + leftover) / REWARD_DURATION)", + "source_mapping": { + "start": 14672, + "length": 65, + "filename_relative": "contracts/templegold/TempleGoldStaking.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGoldStaking.sol", + "filename_short": "contracts/templegold/TempleGoldStaking.sol", + "is_dependency": false, + "lines": [ + 389 + ], + "starting_column": 13, + "ending_column": 78 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "_notifyReward", + "source_mapping": { + "start": 14291, + "length": 592, + "filename_relative": "contracts/templegold/TempleGoldStaking.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGoldStaking.sol", + "filename_short": "contracts/templegold/TempleGoldStaking.sol", + "is_dependency": false, + "lines": [ + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "TempleGoldStaking", + "source_mapping": { + "start": 1239, + "length": 16951, + "filename_relative": "contracts/templegold/TempleGoldStaking.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGoldStaking.sol", + "filename_short": "contracts/templegold/TempleGoldStaking.sol", + "is_dependency": false, + "lines": [ + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480 + ], + "starting_column": 1, + "ending_column": 0 + } + }, + "signature": "_notifyReward(uint256)" + } + } + }, + "additional_fields": { + "underlying_type": "variables_written", + "variable_name": "rewardData" + } + } + ], + "description": "Reentrancy in TempleGoldStaking.distributeRewards() (contracts/templegold/TempleGoldStaking.sol#153-162):\n\tExternal calls:\n\t- _distributeGold() (contracts/templegold/TempleGoldStaking.sol#156)\n\t\t- ITempleGold(address(rewardToken)).mint() (contracts/templegold/TempleGoldStaking.sol#406)\n\tState variables written after the call(s):\n\t- nextRewardAmount = 0 (contracts/templegold/TempleGoldStaking.sol#160)\n\t- _notifyReward(rewardAmount) (contracts/templegold/TempleGoldStaking.sol#161)\n\t\t- rdata.rewardRate = uint216(amount / REWARD_DURATION) (contracts/templegold/TempleGoldStaking.sol#385)\n\t\t- rdata.rewardRate = uint216((amount + leftover) / REWARD_DURATION) (contracts/templegold/TempleGoldStaking.sol#389)\n", + "markdown": "Reentrancy in [TempleGoldStaking.distributeRewards()](contracts/templegold/TempleGoldStaking.sol#L153-L162):\n\tExternal calls:\n\t- [_distributeGold()](contracts/templegold/TempleGoldStaking.sol#L156)\n\t\t- [ITempleGold(address(rewardToken)).mint()](contracts/templegold/TempleGoldStaking.sol#L406)\n\tState variables written after the call(s):\n\t- [nextRewardAmount = 0](contracts/templegold/TempleGoldStaking.sol#L160)\n\t- [_notifyReward(rewardAmount)](contracts/templegold/TempleGoldStaking.sol#L161)\n\t\t- [rdata.rewardRate = uint216(amount / REWARD_DURATION)](contracts/templegold/TempleGoldStaking.sol#L385)\n\t\t- [rdata.rewardRate = uint216((amount + leftover) / REWARD_DURATION)](contracts/templegold/TempleGoldStaking.sol#L389)\n", + "first_markdown_element": "contracts/templegold/TempleGoldStaking.sol#L153-L162", + "id": "6c6ded60183ec248953f27f3281bf24528a5d39fb425ab8bfd2b0c4236500a0d", + "check": "reentrancy-benign", + "impact": "Low", + "confidence": "Medium" + }, + { + "elements": [ + { + "type": "function", + "name": "stakeFor", + "source_mapping": { + "start": 7827, + "length": 479, + "filename_relative": "contracts/templegold/TempleGoldStaking.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGoldStaking.sol", + "filename_short": "contracts/templegold/TempleGoldStaking.sol", + "is_dependency": false, + "lines": [ + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "TempleGoldStaking", + "source_mapping": { + "start": 1239, + "length": 16951, + "filename_relative": "contracts/templegold/TempleGoldStaking.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGoldStaking.sol", + "filename_short": "contracts/templegold/TempleGoldStaking.sol", + "is_dependency": false, + "lines": [ + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480 + ], + "starting_column": 1, + "ending_column": 0 + } + }, + "signature": "stakeFor(address,uint256)" + } + }, + { + "type": "node", + "name": "stakingToken.safeTransferFrom(msg.sender,address(this),_amount)", + "source_mapping": { + "start": 8038, + "length": 65, + "filename_relative": "contracts/templegold/TempleGoldStaking.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGoldStaking.sol", + "filename_short": "contracts/templegold/TempleGoldStaking.sol", + "is_dependency": false, + "lines": [ + 189 + ], + "starting_column": 9, + "ending_column": 74 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "stakeFor", + "source_mapping": { + "start": 7827, + "length": 479, + "filename_relative": "contracts/templegold/TempleGoldStaking.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGoldStaking.sol", + "filename_short": "contracts/templegold/TempleGoldStaking.sol", + "is_dependency": false, + "lines": [ + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "TempleGoldStaking", + "source_mapping": { + "start": 1239, + "length": 16951, + "filename_relative": "contracts/templegold/TempleGoldStaking.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGoldStaking.sol", + "filename_short": "contracts/templegold/TempleGoldStaking.sol", + "is_dependency": false, + "lines": [ + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480 + ], + "starting_column": 1, + "ending_column": 0 + } + }, + "signature": "stakeFor(address,uint256)" + } + } + }, + "additional_fields": { + "underlying_type": "external_calls" + } + }, + { + "type": "node", + "name": "stakingToken.safeTransferFrom(msg.sender,address(this),_amount)", + "source_mapping": { + "start": 8038, + "length": 65, + "filename_relative": "contracts/templegold/TempleGoldStaking.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGoldStaking.sol", + "filename_short": "contracts/templegold/TempleGoldStaking.sol", + "is_dependency": false, + "lines": [ + 189 + ], + "starting_column": 9, + "ending_column": 74 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "stakeFor", + "source_mapping": { + "start": 7827, + "length": 479, + "filename_relative": "contracts/templegold/TempleGoldStaking.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGoldStaking.sol", + "filename_short": "contracts/templegold/TempleGoldStaking.sol", + "is_dependency": false, + "lines": [ + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "TempleGoldStaking", + "source_mapping": { + "start": 1239, + "length": 16951, + "filename_relative": "contracts/templegold/TempleGoldStaking.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGoldStaking.sol", + "filename_short": "contracts/templegold/TempleGoldStaking.sol", + "is_dependency": false, + "lines": [ + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480 + ], + "starting_column": 1, + "ending_column": 0 + } + }, + "signature": "stakeFor(address,uint256)" + } + } + }, + "additional_fields": { + "underlying_type": "external_calls_sending_eth" + } + }, + { + "type": "node", + "name": "_applyStake(_for,_amount)", + "source_mapping": { + "start": 8161, + "length": 26, + "filename_relative": "contracts/templegold/TempleGoldStaking.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGoldStaking.sol", + "filename_short": "contracts/templegold/TempleGoldStaking.sol", + "is_dependency": false, + "lines": [ + 191 + ], + "starting_column": 9, + "ending_column": 35 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "stakeFor", + "source_mapping": { + "start": 7827, + "length": 479, + "filename_relative": "contracts/templegold/TempleGoldStaking.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGoldStaking.sol", + "filename_short": "contracts/templegold/TempleGoldStaking.sol", + "is_dependency": false, + "lines": [ + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "TempleGoldStaking", + "source_mapping": { + "start": 1239, + "length": 16951, + "filename_relative": "contracts/templegold/TempleGoldStaking.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGoldStaking.sol", + "filename_short": "contracts/templegold/TempleGoldStaking.sol", + "is_dependency": false, + "lines": [ + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480 + ], + "starting_column": 1, + "ending_column": 0 + } + }, + "signature": "stakeFor(address,uint256)" + } + } + }, + "additional_fields": { + "underlying_type": "variables_written", + "variable_name": "_balances" + } + }, + { + "type": "node", + "name": "_balances[_for] += _amount", + "source_mapping": { + "start": 12637, + "length": 26, + "filename_relative": "contracts/templegold/TempleGoldStaking.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGoldStaking.sol", + "filename_short": "contracts/templegold/TempleGoldStaking.sol", + "is_dependency": false, + "lines": [ + 329 + ], + "starting_column": 9, + "ending_column": 35 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "_applyStake", + "source_mapping": { + "start": 12515, + "length": 191, + "filename_relative": "contracts/templegold/TempleGoldStaking.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGoldStaking.sol", + "filename_short": "contracts/templegold/TempleGoldStaking.sol", + "is_dependency": false, + "lines": [ + 327, + 328, + 329, + 330, + 331 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "TempleGoldStaking", + "source_mapping": { + "start": 1239, + "length": 16951, + "filename_relative": "contracts/templegold/TempleGoldStaking.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGoldStaking.sol", + "filename_short": "contracts/templegold/TempleGoldStaking.sol", + "is_dependency": false, + "lines": [ + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480 + ], + "starting_column": 1, + "ending_column": 0 + } + }, + "signature": "_applyStake(address,uint256)" + } + } + }, + "additional_fields": { + "underlying_type": "variables_written", + "variable_name": "_balances" + } + }, + { + "type": "node", + "name": "_applyStake(_for,_amount)", + "source_mapping": { + "start": 8161, + "length": 26, + "filename_relative": "contracts/templegold/TempleGoldStaking.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGoldStaking.sol", + "filename_short": "contracts/templegold/TempleGoldStaking.sol", + "is_dependency": false, + "lines": [ + 191 + ], + "starting_column": 9, + "ending_column": 35 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "stakeFor", + "source_mapping": { + "start": 7827, + "length": 479, + "filename_relative": "contracts/templegold/TempleGoldStaking.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGoldStaking.sol", + "filename_short": "contracts/templegold/TempleGoldStaking.sol", + "is_dependency": false, + "lines": [ + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "TempleGoldStaking", + "source_mapping": { + "start": 1239, + "length": 16951, + "filename_relative": "contracts/templegold/TempleGoldStaking.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGoldStaking.sol", + "filename_short": "contracts/templegold/TempleGoldStaking.sol", + "is_dependency": false, + "lines": [ + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480 + ], + "starting_column": 1, + "ending_column": 0 + } + }, + "signature": "stakeFor(address,uint256)" + } + } + }, + "additional_fields": { + "underlying_type": "variables_written", + "variable_name": "claimableRewards" + } + }, + { + "type": "node", + "name": "claimableRewards[_account] = _earned(_account,_balances[_account])", + "source_mapping": { + "start": 17848, + "length": 67, + "filename_relative": "contracts/templegold/TempleGoldStaking.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGoldStaking.sol", + "filename_short": "contracts/templegold/TempleGoldStaking.sol", + "is_dependency": false, + "lines": [ + 468 + ], + "starting_column": 17, + "ending_column": 84 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "updateReward", + "source_mapping": { + "start": 17534, + "length": 516, + "filename_relative": "contracts/templegold/TempleGoldStaking.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGoldStaking.sol", + "filename_short": "contracts/templegold/TempleGoldStaking.sol", + "is_dependency": false, + "lines": [ + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "TempleGoldStaking", + "source_mapping": { + "start": 1239, + "length": 16951, + "filename_relative": "contracts/templegold/TempleGoldStaking.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGoldStaking.sol", + "filename_short": "contracts/templegold/TempleGoldStaking.sol", + "is_dependency": false, + "lines": [ + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480 + ], + "starting_column": 1, + "ending_column": 0 + } + }, + "signature": "updateReward(address)" + } + } + }, + "additional_fields": { + "underlying_type": "variables_written", + "variable_name": "claimableRewards" + } + }, + { + "type": "node", + "name": "_applyStake(_for,_amount)", + "source_mapping": { + "start": 8161, + "length": 26, + "filename_relative": "contracts/templegold/TempleGoldStaking.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGoldStaking.sol", + "filename_short": "contracts/templegold/TempleGoldStaking.sol", + "is_dependency": false, + "lines": [ + 191 + ], + "starting_column": 9, + "ending_column": 35 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "stakeFor", + "source_mapping": { + "start": 7827, + "length": 479, + "filename_relative": "contracts/templegold/TempleGoldStaking.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGoldStaking.sol", + "filename_short": "contracts/templegold/TempleGoldStaking.sol", + "is_dependency": false, + "lines": [ + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "TempleGoldStaking", + "source_mapping": { + "start": 1239, + "length": 16951, + "filename_relative": "contracts/templegold/TempleGoldStaking.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGoldStaking.sol", + "filename_short": "contracts/templegold/TempleGoldStaking.sol", + "is_dependency": false, + "lines": [ + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480 + ], + "starting_column": 1, + "ending_column": 0 + } + }, + "signature": "stakeFor(address,uint256)" + } + } + }, + "additional_fields": { + "underlying_type": "variables_written", + "variable_name": "rewardData" + } + }, + { + "type": "node", + "name": "rewardData.rewardPerTokenStored = uint216(_rewardPerToken())", + "source_mapping": { + "start": 17628, + "length": 60, + "filename_relative": "contracts/templegold/TempleGoldStaking.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGoldStaking.sol", + "filename_short": "contracts/templegold/TempleGoldStaking.sol", + "is_dependency": false, + "lines": [ + 465 + ], + "starting_column": 13, + "ending_column": 73 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "updateReward", + "source_mapping": { + "start": 17534, + "length": 516, + "filename_relative": "contracts/templegold/TempleGoldStaking.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGoldStaking.sol", + "filename_short": "contracts/templegold/TempleGoldStaking.sol", + "is_dependency": false, + "lines": [ + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "TempleGoldStaking", + "source_mapping": { + "start": 1239, + "length": 16951, + "filename_relative": "contracts/templegold/TempleGoldStaking.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGoldStaking.sol", + "filename_short": "contracts/templegold/TempleGoldStaking.sol", + "is_dependency": false, + "lines": [ + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480 + ], + "starting_column": 1, + "ending_column": 0 + } + }, + "signature": "updateReward(address)" + } + } + }, + "additional_fields": { + "underlying_type": "variables_written", + "variable_name": "rewardData" + } + }, + { + "type": "node", + "name": "rewardData.lastUpdateTime = uint40(_lastTimeRewardApplicable(rewardData.periodFinish))", + "source_mapping": { + "start": 17702, + "length": 86, + "filename_relative": "contracts/templegold/TempleGoldStaking.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGoldStaking.sol", + "filename_short": "contracts/templegold/TempleGoldStaking.sol", + "is_dependency": false, + "lines": [ + 466 + ], + "starting_column": 13, + "ending_column": 99 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "updateReward", + "source_mapping": { + "start": 17534, + "length": 516, + "filename_relative": "contracts/templegold/TempleGoldStaking.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGoldStaking.sol", + "filename_short": "contracts/templegold/TempleGoldStaking.sol", + "is_dependency": false, + "lines": [ + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "TempleGoldStaking", + "source_mapping": { + "start": 1239, + "length": 16951, + "filename_relative": "contracts/templegold/TempleGoldStaking.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGoldStaking.sol", + "filename_short": "contracts/templegold/TempleGoldStaking.sol", + "is_dependency": false, + "lines": [ + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480 + ], + "starting_column": 1, + "ending_column": 0 + } + }, + "signature": "updateReward(address)" + } + } + }, + "additional_fields": { + "underlying_type": "variables_written", + "variable_name": "rewardData" + } + }, + { + "type": "node", + "name": "_applyStake(_for,_amount)", + "source_mapping": { + "start": 8161, + "length": 26, + "filename_relative": "contracts/templegold/TempleGoldStaking.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGoldStaking.sol", + "filename_short": "contracts/templegold/TempleGoldStaking.sol", + "is_dependency": false, + "lines": [ + 191 + ], + "starting_column": 9, + "ending_column": 35 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "stakeFor", + "source_mapping": { + "start": 7827, + "length": 479, + "filename_relative": "contracts/templegold/TempleGoldStaking.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGoldStaking.sol", + "filename_short": "contracts/templegold/TempleGoldStaking.sol", + "is_dependency": false, + "lines": [ + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "TempleGoldStaking", + "source_mapping": { + "start": 1239, + "length": 16951, + "filename_relative": "contracts/templegold/TempleGoldStaking.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGoldStaking.sol", + "filename_short": "contracts/templegold/TempleGoldStaking.sol", + "is_dependency": false, + "lines": [ + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480 + ], + "starting_column": 1, + "ending_column": 0 + } + }, + "signature": "stakeFor(address,uint256)" + } + } + }, + "additional_fields": { + "underlying_type": "variables_written", + "variable_name": "totalSupply" + } + }, + { + "type": "node", + "name": "totalSupply += _amount", + "source_mapping": { + "start": 12605, + "length": 22, + "filename_relative": "contracts/templegold/TempleGoldStaking.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGoldStaking.sol", + "filename_short": "contracts/templegold/TempleGoldStaking.sol", + "is_dependency": false, + "lines": [ + 328 + ], + "starting_column": 9, + "ending_column": 31 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "_applyStake", + "source_mapping": { + "start": 12515, + "length": 191, + "filename_relative": "contracts/templegold/TempleGoldStaking.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGoldStaking.sol", + "filename_short": "contracts/templegold/TempleGoldStaking.sol", + "is_dependency": false, + "lines": [ + 327, + 328, + 329, + 330, + 331 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "TempleGoldStaking", + "source_mapping": { + "start": 1239, + "length": 16951, + "filename_relative": "contracts/templegold/TempleGoldStaking.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGoldStaking.sol", + "filename_short": "contracts/templegold/TempleGoldStaking.sol", + "is_dependency": false, + "lines": [ + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480 + ], + "starting_column": 1, + "ending_column": 0 + } + }, + "signature": "_applyStake(address,uint256)" + } + } + }, + "additional_fields": { + "underlying_type": "variables_written", + "variable_name": "totalSupply" + } + }, + { + "type": "node", + "name": "_applyStake(_for,_amount)", + "source_mapping": { + "start": 8161, + "length": 26, + "filename_relative": "contracts/templegold/TempleGoldStaking.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGoldStaking.sol", + "filename_short": "contracts/templegold/TempleGoldStaking.sol", + "is_dependency": false, + "lines": [ + 191 + ], + "starting_column": 9, + "ending_column": 35 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "stakeFor", + "source_mapping": { + "start": 7827, + "length": 479, + "filename_relative": "contracts/templegold/TempleGoldStaking.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGoldStaking.sol", + "filename_short": "contracts/templegold/TempleGoldStaking.sol", + "is_dependency": false, + "lines": [ + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "TempleGoldStaking", + "source_mapping": { + "start": 1239, + "length": 16951, + "filename_relative": "contracts/templegold/TempleGoldStaking.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGoldStaking.sol", + "filename_short": "contracts/templegold/TempleGoldStaking.sol", + "is_dependency": false, + "lines": [ + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480 + ], + "starting_column": 1, + "ending_column": 0 + } + }, + "signature": "stakeFor(address,uint256)" + } + } + }, + "additional_fields": { + "underlying_type": "variables_written", + "variable_name": "userRewardPerTokenPaid" + } + }, + { + "type": "node", + "name": "userRewardPerTokenPaid[_account] = uint256(rewardData.rewardPerTokenStored)", + "source_mapping": { + "start": 17933, + "length": 75, + "filename_relative": "contracts/templegold/TempleGoldStaking.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGoldStaking.sol", + "filename_short": "contracts/templegold/TempleGoldStaking.sol", + "is_dependency": false, + "lines": [ + 469 + ], + "starting_column": 17, + "ending_column": 92 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "updateReward", + "source_mapping": { + "start": 17534, + "length": 516, + "filename_relative": "contracts/templegold/TempleGoldStaking.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGoldStaking.sol", + "filename_short": "contracts/templegold/TempleGoldStaking.sol", + "is_dependency": false, + "lines": [ + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "TempleGoldStaking", + "source_mapping": { + "start": 1239, + "length": 16951, + "filename_relative": "contracts/templegold/TempleGoldStaking.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGoldStaking.sol", + "filename_short": "contracts/templegold/TempleGoldStaking.sol", + "is_dependency": false, + "lines": [ + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480 + ], + "starting_column": 1, + "ending_column": 0 + } + }, + "signature": "updateReward(address)" + } + } + }, + "additional_fields": { + "underlying_type": "variables_written", + "variable_name": "userRewardPerTokenPaid" + } + } + ], + "description": "Reentrancy in TempleGoldStaking.stakeFor(address,uint256) (contracts/templegold/TempleGoldStaking.sol#185-194):\n\tExternal calls:\n\t- stakingToken.safeTransferFrom(msg.sender,address(this),_amount) (contracts/templegold/TempleGoldStaking.sol#189)\n\tState variables written after the call(s):\n\t- _applyStake(_for,_amount) (contracts/templegold/TempleGoldStaking.sol#191)\n\t\t- _balances[_for] += _amount (contracts/templegold/TempleGoldStaking.sol#329)\n\t- _applyStake(_for,_amount) (contracts/templegold/TempleGoldStaking.sol#191)\n\t\t- claimableRewards[_account] = _earned(_account,_balances[_account]) (contracts/templegold/TempleGoldStaking.sol#468)\n\t- _applyStake(_for,_amount) (contracts/templegold/TempleGoldStaking.sol#191)\n\t\t- rewardData.rewardPerTokenStored = uint216(_rewardPerToken()) (contracts/templegold/TempleGoldStaking.sol#465)\n\t\t- rewardData.lastUpdateTime = uint40(_lastTimeRewardApplicable(rewardData.periodFinish)) (contracts/templegold/TempleGoldStaking.sol#466)\n\t- _applyStake(_for,_amount) (contracts/templegold/TempleGoldStaking.sol#191)\n\t\t- totalSupply += _amount (contracts/templegold/TempleGoldStaking.sol#328)\n\t- _applyStake(_for,_amount) (contracts/templegold/TempleGoldStaking.sol#191)\n\t\t- userRewardPerTokenPaid[_account] = uint256(rewardData.rewardPerTokenStored) (contracts/templegold/TempleGoldStaking.sol#469)\n", + "markdown": "Reentrancy in [TempleGoldStaking.stakeFor(address,uint256)](contracts/templegold/TempleGoldStaking.sol#L185-L194):\n\tExternal calls:\n\t- [stakingToken.safeTransferFrom(msg.sender,address(this),_amount)](contracts/templegold/TempleGoldStaking.sol#L189)\n\tState variables written after the call(s):\n\t- [_applyStake(_for,_amount)](contracts/templegold/TempleGoldStaking.sol#L191)\n\t\t- [_balances[_for] += _amount](contracts/templegold/TempleGoldStaking.sol#L329)\n\t- [_applyStake(_for,_amount)](contracts/templegold/TempleGoldStaking.sol#L191)\n\t\t- [claimableRewards[_account] = _earned(_account,_balances[_account])](contracts/templegold/TempleGoldStaking.sol#L468)\n\t- [_applyStake(_for,_amount)](contracts/templegold/TempleGoldStaking.sol#L191)\n\t\t- [rewardData.rewardPerTokenStored = uint216(_rewardPerToken())](contracts/templegold/TempleGoldStaking.sol#L465)\n\t\t- [rewardData.lastUpdateTime = uint40(_lastTimeRewardApplicable(rewardData.periodFinish))](contracts/templegold/TempleGoldStaking.sol#L466)\n\t- [_applyStake(_for,_amount)](contracts/templegold/TempleGoldStaking.sol#L191)\n\t\t- [totalSupply += _amount](contracts/templegold/TempleGoldStaking.sol#L328)\n\t- [_applyStake(_for,_amount)](contracts/templegold/TempleGoldStaking.sol#L191)\n\t\t- [userRewardPerTokenPaid[_account] = uint256(rewardData.rewardPerTokenStored)](contracts/templegold/TempleGoldStaking.sol#L469)\n", + "first_markdown_element": "contracts/templegold/TempleGoldStaking.sol#L185-L194", + "id": "6dad0bcc0cfb1fd49a17566dcaeb4fe6c4bc447a4d3dd1e0cefc7eb539891238", + "check": "reentrancy-benign", + "impact": "Low", + "confidence": "Medium" + }, + { + "elements": [ + { + "type": "function", + "name": "stakeFor", + "source_mapping": { + "start": 7827, + "length": 479, + "filename_relative": "contracts/templegold/TempleGoldStaking.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGoldStaking.sol", + "filename_short": "contracts/templegold/TempleGoldStaking.sol", + "is_dependency": false, + "lines": [ + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "TempleGoldStaking", + "source_mapping": { + "start": 1239, + "length": 16951, + "filename_relative": "contracts/templegold/TempleGoldStaking.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGoldStaking.sol", + "filename_short": "contracts/templegold/TempleGoldStaking.sol", + "is_dependency": false, + "lines": [ + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480 + ], + "starting_column": 1, + "ending_column": 0 + } + }, + "signature": "stakeFor(address,uint256)" + } + }, + { + "type": "node", + "name": "stakingToken.safeTransferFrom(msg.sender,address(this),_amount)", + "source_mapping": { + "start": 8038, + "length": 65, + "filename_relative": "contracts/templegold/TempleGoldStaking.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGoldStaking.sol", + "filename_short": "contracts/templegold/TempleGoldStaking.sol", + "is_dependency": false, + "lines": [ + 189 + ], + "starting_column": 9, + "ending_column": 74 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "stakeFor", + "source_mapping": { + "start": 7827, + "length": 479, + "filename_relative": "contracts/templegold/TempleGoldStaking.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGoldStaking.sol", + "filename_short": "contracts/templegold/TempleGoldStaking.sol", + "is_dependency": false, + "lines": [ + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "TempleGoldStaking", + "source_mapping": { + "start": 1239, + "length": 16951, + "filename_relative": "contracts/templegold/TempleGoldStaking.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGoldStaking.sol", + "filename_short": "contracts/templegold/TempleGoldStaking.sol", + "is_dependency": false, + "lines": [ + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480 + ], + "starting_column": 1, + "ending_column": 0 + } + }, + "signature": "stakeFor(address,uint256)" + } + } + }, + "additional_fields": { + "underlying_type": "external_calls" + } + }, + { + "type": "node", + "name": "_mintVoteToken(_for,_amount)", + "source_mapping": { + "start": 8197, + "length": 29, + "filename_relative": "contracts/templegold/TempleGoldStaking.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGoldStaking.sol", + "filename_short": "contracts/templegold/TempleGoldStaking.sol", + "is_dependency": false, + "lines": [ + 192 + ], + "starting_column": 9, + "ending_column": 38 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "stakeFor", + "source_mapping": { + "start": 7827, + "length": 479, + "filename_relative": "contracts/templegold/TempleGoldStaking.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGoldStaking.sol", + "filename_short": "contracts/templegold/TempleGoldStaking.sol", + "is_dependency": false, + "lines": [ + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "TempleGoldStaking", + "source_mapping": { + "start": 1239, + "length": 16951, + "filename_relative": "contracts/templegold/TempleGoldStaking.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGoldStaking.sol", + "filename_short": "contracts/templegold/TempleGoldStaking.sol", + "is_dependency": false, + "lines": [ + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480 + ], + "starting_column": 1, + "ending_column": 0 + } + }, + "signature": "stakeFor(address,uint256)" + } + } + }, + "additional_fields": { + "underlying_type": "external_calls" + } + }, + { + "type": "node", + "name": "voteToken.mint(_for,_amount)", + "source_mapping": { + "start": 12785, + "length": 29, + "filename_relative": "contracts/templegold/TempleGoldStaking.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGoldStaking.sol", + "filename_short": "contracts/templegold/TempleGoldStaking.sol", + "is_dependency": false, + "lines": [ + 334 + ], + "starting_column": 9, + "ending_column": 38 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "_mintVoteToken", + "source_mapping": { + "start": 12712, + "length": 109, + "filename_relative": "contracts/templegold/TempleGoldStaking.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGoldStaking.sol", + "filename_short": "contracts/templegold/TempleGoldStaking.sol", + "is_dependency": false, + "lines": [ + 333, + 334, + 335 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "TempleGoldStaking", + "source_mapping": { + "start": 1239, + "length": 16951, + "filename_relative": "contracts/templegold/TempleGoldStaking.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGoldStaking.sol", + "filename_short": "contracts/templegold/TempleGoldStaking.sol", + "is_dependency": false, + "lines": [ + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480 + ], + "starting_column": 1, + "ending_column": 0 + } + }, + "signature": "_mintVoteToken(address,uint256)" + } + } + }, + "additional_fields": { + "underlying_type": "external_calls_sending_eth" + } + }, + { + "type": "node", + "name": "stakingToken.safeTransferFrom(msg.sender,address(this),_amount)", + "source_mapping": { + "start": 8038, + "length": 65, + "filename_relative": "contracts/templegold/TempleGoldStaking.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGoldStaking.sol", + "filename_short": "contracts/templegold/TempleGoldStaking.sol", + "is_dependency": false, + "lines": [ + 189 + ], + "starting_column": 9, + "ending_column": 74 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "stakeFor", + "source_mapping": { + "start": 7827, + "length": 479, + "filename_relative": "contracts/templegold/TempleGoldStaking.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGoldStaking.sol", + "filename_short": "contracts/templegold/TempleGoldStaking.sol", + "is_dependency": false, + "lines": [ + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "TempleGoldStaking", + "source_mapping": { + "start": 1239, + "length": 16951, + "filename_relative": "contracts/templegold/TempleGoldStaking.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGoldStaking.sol", + "filename_short": "contracts/templegold/TempleGoldStaking.sol", + "is_dependency": false, + "lines": [ + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480 + ], + "starting_column": 1, + "ending_column": 0 + } + }, + "signature": "stakeFor(address,uint256)" + } + } + }, + "additional_fields": { + "underlying_type": "external_calls_sending_eth" + } + }, + { + "type": "node", + "name": "_mintVoteToken(_for,_amount)", + "source_mapping": { + "start": 8197, + "length": 29, + "filename_relative": "contracts/templegold/TempleGoldStaking.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGoldStaking.sol", + "filename_short": "contracts/templegold/TempleGoldStaking.sol", + "is_dependency": false, + "lines": [ + 192 + ], + "starting_column": 9, + "ending_column": 38 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "stakeFor", + "source_mapping": { + "start": 7827, + "length": 479, + "filename_relative": "contracts/templegold/TempleGoldStaking.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGoldStaking.sol", + "filename_short": "contracts/templegold/TempleGoldStaking.sol", + "is_dependency": false, + "lines": [ + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "TempleGoldStaking", + "source_mapping": { + "start": 1239, + "length": 16951, + "filename_relative": "contracts/templegold/TempleGoldStaking.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGoldStaking.sol", + "filename_short": "contracts/templegold/TempleGoldStaking.sol", + "is_dependency": false, + "lines": [ + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480 + ], + "starting_column": 1, + "ending_column": 0 + } + }, + "signature": "stakeFor(address,uint256)" + } + } + }, + "additional_fields": { + "underlying_type": "external_calls_sending_eth" + } + }, + { + "type": "node", + "name": "voteToken.mint(_for,_amount)", + "source_mapping": { + "start": 12785, + "length": 29, + "filename_relative": "contracts/templegold/TempleGoldStaking.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGoldStaking.sol", + "filename_short": "contracts/templegold/TempleGoldStaking.sol", + "is_dependency": false, + "lines": [ + 334 + ], + "starting_column": 9, + "ending_column": 38 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "_mintVoteToken", + "source_mapping": { + "start": 12712, + "length": 109, + "filename_relative": "contracts/templegold/TempleGoldStaking.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGoldStaking.sol", + "filename_short": "contracts/templegold/TempleGoldStaking.sol", + "is_dependency": false, + "lines": [ + 333, + 334, + 335 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "TempleGoldStaking", + "source_mapping": { + "start": 1239, + "length": 16951, + "filename_relative": "contracts/templegold/TempleGoldStaking.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGoldStaking.sol", + "filename_short": "contracts/templegold/TempleGoldStaking.sol", + "is_dependency": false, + "lines": [ + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480 + ], + "starting_column": 1, + "ending_column": 0 + } + }, + "signature": "_mintVoteToken(address,uint256)" + } + } + }, + "additional_fields": { + "underlying_type": "external_calls_sending_eth" + } + }, + { + "type": "node", + "name": "_updateAccountWeight(_for,_prevBalance,_balances[_for],true)", + "source_mapping": { + "start": 8236, + "length": 63, + "filename_relative": "contracts/templegold/TempleGoldStaking.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGoldStaking.sol", + "filename_short": "contracts/templegold/TempleGoldStaking.sol", + "is_dependency": false, + "lines": [ + 193 + ], + "starting_column": 9, + "ending_column": 72 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "stakeFor", + "source_mapping": { + "start": 7827, + "length": 479, + "filename_relative": "contracts/templegold/TempleGoldStaking.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGoldStaking.sol", + "filename_short": "contracts/templegold/TempleGoldStaking.sol", + "is_dependency": false, + "lines": [ + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "TempleGoldStaking", + "source_mapping": { + "start": 1239, + "length": 16951, + "filename_relative": "contracts/templegold/TempleGoldStaking.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGoldStaking.sol", + "filename_short": "contracts/templegold/TempleGoldStaking.sol", + "is_dependency": false, + "lines": [ + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480 + ], + "starting_column": 1, + "ending_column": 0 + } + }, + "signature": "stakeFor(address,uint256)" + } + } + }, + "additional_fields": { + "underlying_type": "variables_written", + "variable_name": "_prevWeights" + } + }, + { + "type": "node", + "name": "_prevWeights[_account] = weight", + "source_mapping": { + "start": 16568, + "length": 31, + "filename_relative": "contracts/templegold/TempleGoldStaking.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGoldStaking.sol", + "filename_short": "contracts/templegold/TempleGoldStaking.sol", + "is_dependency": false, + "lines": [ + 435 + ], + "starting_column": 13, + "ending_column": 44 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "_updateAccountWeight", + "source_mapping": { + "start": 16134, + "length": 1111, + "filename_relative": "contracts/templegold/TempleGoldStaking.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGoldStaking.sol", + "filename_short": "contracts/templegold/TempleGoldStaking.sol", + "is_dependency": false, + "lines": [ + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "TempleGoldStaking", + "source_mapping": { + "start": 1239, + "length": 16951, + "filename_relative": "contracts/templegold/TempleGoldStaking.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGoldStaking.sol", + "filename_short": "contracts/templegold/TempleGoldStaking.sol", + "is_dependency": false, + "lines": [ + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480 + ], + "starting_column": 1, + "ending_column": 0 + } + }, + "signature": "_updateAccountWeight(address,uint256,uint256,bool)" + } + } + }, + "additional_fields": { + "underlying_type": "variables_written", + "variable_name": "_prevWeights" + } + }, + { + "type": "node", + "name": "_updateAccountWeight(_for,_prevBalance,_balances[_for],true)", + "source_mapping": { + "start": 8236, + "length": 63, + "filename_relative": "contracts/templegold/TempleGoldStaking.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGoldStaking.sol", + "filename_short": "contracts/templegold/TempleGoldStaking.sol", + "is_dependency": false, + "lines": [ + 193 + ], + "starting_column": 9, + "ending_column": 72 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "stakeFor", + "source_mapping": { + "start": 7827, + "length": 479, + "filename_relative": "contracts/templegold/TempleGoldStaking.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGoldStaking.sol", + "filename_short": "contracts/templegold/TempleGoldStaking.sol", + "is_dependency": false, + "lines": [ + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "TempleGoldStaking", + "source_mapping": { + "start": 1239, + "length": 16951, + "filename_relative": "contracts/templegold/TempleGoldStaking.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGoldStaking.sol", + "filename_short": "contracts/templegold/TempleGoldStaking.sol", + "is_dependency": false, + "lines": [ + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480 + ], + "starting_column": 1, + "ending_column": 0 + } + }, + "signature": "stakeFor(address,uint256)" + } + } + }, + "additional_fields": { + "underlying_type": "variables_written", + "variable_name": "_weights" + } + }, + { + "type": "node", + "name": "weight.weekNumber = uint64(currentWeek)", + "source_mapping": { + "start": 17108, + "length": 39, + "filename_relative": "contracts/templegold/TempleGoldStaking.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGoldStaking.sol", + "filename_short": "contracts/templegold/TempleGoldStaking.sol", + "is_dependency": false, + "lines": [ + 450 + ], + "starting_column": 9, + "ending_column": 48 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "_updateAccountWeight", + "source_mapping": { + "start": 16134, + "length": 1111, + "filename_relative": "contracts/templegold/TempleGoldStaking.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGoldStaking.sol", + "filename_short": "contracts/templegold/TempleGoldStaking.sol", + "is_dependency": false, + "lines": [ + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "TempleGoldStaking", + "source_mapping": { + "start": 1239, + "length": 16951, + "filename_relative": "contracts/templegold/TempleGoldStaking.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGoldStaking.sol", + "filename_short": "contracts/templegold/TempleGoldStaking.sol", + "is_dependency": false, + "lines": [ + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480 + ], + "starting_column": 1, + "ending_column": 0 + } + }, + "signature": "_updateAccountWeight(address,uint256,uint256,bool)" + } + } + }, + "additional_fields": { + "underlying_type": "variables_written", + "variable_name": "_weights" + } + }, + { + "type": "node", + "name": "weight.stakeTime = uint64(t)", + "source_mapping": { + "start": 17157, + "length": 28, + "filename_relative": "contracts/templegold/TempleGoldStaking.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGoldStaking.sol", + "filename_short": "contracts/templegold/TempleGoldStaking.sol", + "is_dependency": false, + "lines": [ + 451 + ], + "starting_column": 9, + "ending_column": 37 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "_updateAccountWeight", + "source_mapping": { + "start": 16134, + "length": 1111, + "filename_relative": "contracts/templegold/TempleGoldStaking.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGoldStaking.sol", + "filename_short": "contracts/templegold/TempleGoldStaking.sol", + "is_dependency": false, + "lines": [ + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "TempleGoldStaking", + "source_mapping": { + "start": 1239, + "length": 16951, + "filename_relative": "contracts/templegold/TempleGoldStaking.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGoldStaking.sol", + "filename_short": "contracts/templegold/TempleGoldStaking.sol", + "is_dependency": false, + "lines": [ + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480 + ], + "starting_column": 1, + "ending_column": 0 + } + }, + "signature": "_updateAccountWeight(address,uint256,uint256,bool)" + } + } + }, + "additional_fields": { + "underlying_type": "variables_written", + "variable_name": "_weights" + } + }, + { + "type": "node", + "name": "weight.updateTime = uint64(block.timestamp)", + "source_mapping": { + "start": 17195, + "length": 43, + "filename_relative": "contracts/templegold/TempleGoldStaking.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGoldStaking.sol", + "filename_short": "contracts/templegold/TempleGoldStaking.sol", + "is_dependency": false, + "lines": [ + 452 + ], + "starting_column": 9, + "ending_column": 52 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "_updateAccountWeight", + "source_mapping": { + "start": 16134, + "length": 1111, + "filename_relative": "contracts/templegold/TempleGoldStaking.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGoldStaking.sol", + "filename_short": "contracts/templegold/TempleGoldStaking.sol", + "is_dependency": false, + "lines": [ + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "TempleGoldStaking", + "source_mapping": { + "start": 1239, + "length": 16951, + "filename_relative": "contracts/templegold/TempleGoldStaking.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGoldStaking.sol", + "filename_short": "contracts/templegold/TempleGoldStaking.sol", + "is_dependency": false, + "lines": [ + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480 + ], + "starting_column": 1, + "ending_column": 0 + } + }, + "signature": "_updateAccountWeight(address,uint256,uint256,bool)" + } + } + }, + "additional_fields": { + "underlying_type": "variables_written", + "variable_name": "_weights" + } + } + ], + "description": "Reentrancy in TempleGoldStaking.stakeFor(address,uint256) (contracts/templegold/TempleGoldStaking.sol#185-194):\n\tExternal calls:\n\t- stakingToken.safeTransferFrom(msg.sender,address(this),_amount) (contracts/templegold/TempleGoldStaking.sol#189)\n\t- _mintVoteToken(_for,_amount) (contracts/templegold/TempleGoldStaking.sol#192)\n\t\t- voteToken.mint(_for,_amount) (contracts/templegold/TempleGoldStaking.sol#334)\n\tState variables written after the call(s):\n\t- _updateAccountWeight(_for,_prevBalance,_balances[_for],true) (contracts/templegold/TempleGoldStaking.sol#193)\n\t\t- _prevWeights[_account] = weight (contracts/templegold/TempleGoldStaking.sol#435)\n\t- _updateAccountWeight(_for,_prevBalance,_balances[_for],true) (contracts/templegold/TempleGoldStaking.sol#193)\n\t\t- weight.weekNumber = uint64(currentWeek) (contracts/templegold/TempleGoldStaking.sol#450)\n\t\t- weight.stakeTime = uint64(t) (contracts/templegold/TempleGoldStaking.sol#451)\n\t\t- weight.updateTime = uint64(block.timestamp) (contracts/templegold/TempleGoldStaking.sol#452)\n", + "markdown": "Reentrancy in [TempleGoldStaking.stakeFor(address,uint256)](contracts/templegold/TempleGoldStaking.sol#L185-L194):\n\tExternal calls:\n\t- [stakingToken.safeTransferFrom(msg.sender,address(this),_amount)](contracts/templegold/TempleGoldStaking.sol#L189)\n\t- [_mintVoteToken(_for,_amount)](contracts/templegold/TempleGoldStaking.sol#L192)\n\t\t- [voteToken.mint(_for,_amount)](contracts/templegold/TempleGoldStaking.sol#L334)\n\tState variables written after the call(s):\n\t- [_updateAccountWeight(_for,_prevBalance,_balances[_for],true)](contracts/templegold/TempleGoldStaking.sol#L193)\n\t\t- [_prevWeights[_account] = weight](contracts/templegold/TempleGoldStaking.sol#L435)\n\t- [_updateAccountWeight(_for,_prevBalance,_balances[_for],true)](contracts/templegold/TempleGoldStaking.sol#L193)\n\t\t- [weight.weekNumber = uint64(currentWeek)](contracts/templegold/TempleGoldStaking.sol#L450)\n\t\t- [weight.stakeTime = uint64(t)](contracts/templegold/TempleGoldStaking.sol#L451)\n\t\t- [weight.updateTime = uint64(block.timestamp)](contracts/templegold/TempleGoldStaking.sol#L452)\n", + "first_markdown_element": "contracts/templegold/TempleGoldStaking.sol#L185-L194", + "id": "fb61590a05eb18005ec76aff11b477a9834e8500b1fb24432c21e2a164b7d2fa", + "check": "reentrancy-benign", + "impact": "Low", + "confidence": "Medium" + }, + { + "elements": [ + { + "type": "function", + "name": "_getReward", + "source_mapping": { + "start": 11910, + "length": 335, + "filename_relative": "contracts/templegold/TempleGoldStaking.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGoldStaking.sol", + "filename_short": "contracts/templegold/TempleGoldStaking.sol", + "is_dependency": false, + "lines": [ + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "TempleGoldStaking", + "source_mapping": { + "start": 1239, + "length": 16951, + "filename_relative": "contracts/templegold/TempleGoldStaking.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGoldStaking.sol", + "filename_short": "contracts/templegold/TempleGoldStaking.sol", + "is_dependency": false, + "lines": [ + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480 + ], + "starting_column": 1, + "ending_column": 0 + } + }, + "signature": "_getReward(address,address)" + } + }, + { + "type": "node", + "name": "rewardToken.safeTransfer(rewardsToAddress,amount)", + "source_mapping": { + "start": 12114, + "length": 50, + "filename_relative": "contracts/templegold/TempleGoldStaking.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGoldStaking.sol", + "filename_short": "contracts/templegold/TempleGoldStaking.sol", + "is_dependency": false, + "lines": [ + 312 + ], + "starting_column": 13, + "ending_column": 63 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "_getReward", + "source_mapping": { + "start": 11910, + "length": 335, + "filename_relative": "contracts/templegold/TempleGoldStaking.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGoldStaking.sol", + "filename_short": "contracts/templegold/TempleGoldStaking.sol", + "is_dependency": false, + "lines": [ + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "TempleGoldStaking", + "source_mapping": { + "start": 1239, + "length": 16951, + "filename_relative": "contracts/templegold/TempleGoldStaking.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGoldStaking.sol", + "filename_short": "contracts/templegold/TempleGoldStaking.sol", + "is_dependency": false, + "lines": [ + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480 + ], + "starting_column": 1, + "ending_column": 0 + } + }, + "signature": "_getReward(address,address)" + } + } + }, + "additional_fields": { + "underlying_type": "external_calls" + } + }, + { + "type": "node", + "name": "RewardPaid(staker,rewardsToAddress,amount)", + "source_mapping": { + "start": 12179, + "length": 49, + "filename_relative": "contracts/templegold/TempleGoldStaking.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGoldStaking.sol", + "filename_short": "contracts/templegold/TempleGoldStaking.sol", + "is_dependency": false, + "lines": [ + 314 + ], + "starting_column": 13, + "ending_column": 62 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "_getReward", + "source_mapping": { + "start": 11910, + "length": 335, + "filename_relative": "contracts/templegold/TempleGoldStaking.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGoldStaking.sol", + "filename_short": "contracts/templegold/TempleGoldStaking.sol", + "is_dependency": false, + "lines": [ + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "TempleGoldStaking", + "source_mapping": { + "start": 1239, + "length": 16951, + "filename_relative": "contracts/templegold/TempleGoldStaking.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGoldStaking.sol", + "filename_short": "contracts/templegold/TempleGoldStaking.sol", + "is_dependency": false, + "lines": [ + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480 + ], + "starting_column": 1, + "ending_column": 0 + } + }, + "signature": "_getReward(address,address)" + } + } + }, + "additional_fields": { + "underlying_type": "event" + } + } + ], + "description": "Reentrancy in TempleGoldStaking._getReward(address,address) (contracts/templegold/TempleGoldStaking.sol#308-316):\n\tExternal calls:\n\t- rewardToken.safeTransfer(rewardsToAddress,amount) (contracts/templegold/TempleGoldStaking.sol#312)\n\tEvent emitted after the call(s):\n\t- RewardPaid(staker,rewardsToAddress,amount) (contracts/templegold/TempleGoldStaking.sol#314)\n", + "markdown": "Reentrancy in [TempleGoldStaking._getReward(address,address)](contracts/templegold/TempleGoldStaking.sol#L308-L316):\n\tExternal calls:\n\t- [rewardToken.safeTransfer(rewardsToAddress,amount)](contracts/templegold/TempleGoldStaking.sol#L312)\n\tEvent emitted after the call(s):\n\t- [RewardPaid(staker,rewardsToAddress,amount)](contracts/templegold/TempleGoldStaking.sol#L314)\n", + "first_markdown_element": "contracts/templegold/TempleGoldStaking.sol#L308-L316", + "id": "d78c128b7a005dc1ce678232df69ee745255ecdff08ce9702cd973e1760acb86", + "check": "reentrancy-events", + "impact": "Low", + "confidence": "Medium" + }, + { + "elements": [ + { + "type": "function", + "name": "_withdrawFor", + "source_mapping": { + "start": 13373, + "length": 912, + "filename_relative": "contracts/templegold/TempleGoldStaking.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGoldStaking.sol", + "filename_short": "contracts/templegold/TempleGoldStaking.sol", + "is_dependency": false, + "lines": [ + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "TempleGoldStaking", + "source_mapping": { + "start": 1239, + "length": 16951, + "filename_relative": "contracts/templegold/TempleGoldStaking.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGoldStaking.sol", + "filename_short": "contracts/templegold/TempleGoldStaking.sol", + "is_dependency": false, + "lines": [ + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480 + ], + "starting_column": 1, + "ending_column": 0 + } + }, + "signature": "_withdrawFor(address,address,uint256,bool,address)" + } + }, + { + "type": "node", + "name": "_burnVoteToken(staker,amount)", + "source_mapping": { + "start": 13900, + "length": 30, + "filename_relative": "contracts/templegold/TempleGoldStaking.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGoldStaking.sol", + "filename_short": "contracts/templegold/TempleGoldStaking.sol", + "is_dependency": false, + "lines": [ + 368 + ], + "starting_column": 9, + "ending_column": 39 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "_withdrawFor", + "source_mapping": { + "start": 13373, + "length": 912, + "filename_relative": "contracts/templegold/TempleGoldStaking.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGoldStaking.sol", + "filename_short": "contracts/templegold/TempleGoldStaking.sol", + "is_dependency": false, + "lines": [ + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "TempleGoldStaking", + "source_mapping": { + "start": 1239, + "length": 16951, + "filename_relative": "contracts/templegold/TempleGoldStaking.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGoldStaking.sol", + "filename_short": "contracts/templegold/TempleGoldStaking.sol", + "is_dependency": false, + "lines": [ + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480 + ], + "starting_column": 1, + "ending_column": 0 + } + }, + "signature": "_withdrawFor(address,address,uint256,bool,address)" + } + } + }, + "additional_fields": { + "underlying_type": "external_calls" + } + }, + { + "type": "node", + "name": "voteToken.burnFrom(_account,_amount)", + "source_mapping": { + "start": 12904, + "length": 37, + "filename_relative": "contracts/templegold/TempleGoldStaking.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGoldStaking.sol", + "filename_short": "contracts/templegold/TempleGoldStaking.sol", + "is_dependency": false, + "lines": [ + 338 + ], + "starting_column": 9, + "ending_column": 46 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "_burnVoteToken", + "source_mapping": { + "start": 12827, + "length": 121, + "filename_relative": "contracts/templegold/TempleGoldStaking.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGoldStaking.sol", + "filename_short": "contracts/templegold/TempleGoldStaking.sol", + "is_dependency": false, + "lines": [ + 337, + 338, + 339 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "TempleGoldStaking", + "source_mapping": { + "start": 1239, + "length": 16951, + "filename_relative": "contracts/templegold/TempleGoldStaking.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGoldStaking.sol", + "filename_short": "contracts/templegold/TempleGoldStaking.sol", + "is_dependency": false, + "lines": [ + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480 + ], + "starting_column": 1, + "ending_column": 0 + } + }, + "signature": "_burnVoteToken(address,uint256)" + } + } + }, + "additional_fields": { + "underlying_type": "external_calls_sending_eth" + } + }, + { + "type": "node", + "name": "stakingToken.safeTransfer(toAddress,amount)", + "source_mapping": { + "start": 14020, + "length": 44, + "filename_relative": "contracts/templegold/TempleGoldStaking.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGoldStaking.sol", + "filename_short": "contracts/templegold/TempleGoldStaking.sol", + "is_dependency": false, + "lines": [ + 372 + ], + "starting_column": 9, + "ending_column": 53 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "_withdrawFor", + "source_mapping": { + "start": 13373, + "length": 912, + "filename_relative": "contracts/templegold/TempleGoldStaking.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGoldStaking.sol", + "filename_short": "contracts/templegold/TempleGoldStaking.sol", + "is_dependency": false, + "lines": [ + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "TempleGoldStaking", + "source_mapping": { + "start": 1239, + "length": 16951, + "filename_relative": "contracts/templegold/TempleGoldStaking.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGoldStaking.sol", + "filename_short": "contracts/templegold/TempleGoldStaking.sol", + "is_dependency": false, + "lines": [ + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480 + ], + "starting_column": 1, + "ending_column": 0 + } + }, + "signature": "_withdrawFor(address,address,uint256,bool,address)" + } + } + }, + "additional_fields": { + "underlying_type": "external_calls" + } + }, + { + "type": "node", + "name": "Withdrawn(staker,toAddress,amount)", + "source_mapping": { + "start": 14074, + "length": 41, + "filename_relative": "contracts/templegold/TempleGoldStaking.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGoldStaking.sol", + "filename_short": "contracts/templegold/TempleGoldStaking.sol", + "is_dependency": false, + "lines": [ + 373 + ], + "starting_column": 9, + "ending_column": 50 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "_withdrawFor", + "source_mapping": { + "start": 13373, + "length": 912, + "filename_relative": "contracts/templegold/TempleGoldStaking.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGoldStaking.sol", + "filename_short": "contracts/templegold/TempleGoldStaking.sol", + "is_dependency": false, + "lines": [ + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "TempleGoldStaking", + "source_mapping": { + "start": 1239, + "length": 16951, + "filename_relative": "contracts/templegold/TempleGoldStaking.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGoldStaking.sol", + "filename_short": "contracts/templegold/TempleGoldStaking.sol", + "is_dependency": false, + "lines": [ + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480 + ], + "starting_column": 1, + "ending_column": 0 + } + }, + "signature": "_withdrawFor(address,address,uint256,bool,address)" + } + } + }, + "additional_fields": { + "underlying_type": "event" + } + } + ], + "description": "Reentrancy in TempleGoldStaking._withdrawFor(address,address,uint256,bool,address) (contracts/templegold/TempleGoldStaking.sol#354-379):\n\tExternal calls:\n\t- _burnVoteToken(staker,amount) (contracts/templegold/TempleGoldStaking.sol#368)\n\t\t- voteToken.burnFrom(_account,_amount) (contracts/templegold/TempleGoldStaking.sol#338)\n\t- stakingToken.safeTransfer(toAddress,amount) (contracts/templegold/TempleGoldStaking.sol#372)\n\tEvent emitted after the call(s):\n\t- Withdrawn(staker,toAddress,amount) (contracts/templegold/TempleGoldStaking.sol#373)\n", + "markdown": "Reentrancy in [TempleGoldStaking._withdrawFor(address,address,uint256,bool,address)](contracts/templegold/TempleGoldStaking.sol#L354-L379):\n\tExternal calls:\n\t- [_burnVoteToken(staker,amount)](contracts/templegold/TempleGoldStaking.sol#L368)\n\t\t- [voteToken.burnFrom(_account,_amount)](contracts/templegold/TempleGoldStaking.sol#L338)\n\t- [stakingToken.safeTransfer(toAddress,amount)](contracts/templegold/TempleGoldStaking.sol#L372)\n\tEvent emitted after the call(s):\n\t- [Withdrawn(staker,toAddress,amount)](contracts/templegold/TempleGoldStaking.sol#L373)\n", + "first_markdown_element": "contracts/templegold/TempleGoldStaking.sol#L354-L379", + "id": "6563eccfe7599be4739d9288ab2405f6d3d2c0d339d900cd321d615f94e819af", + "check": "reentrancy-events", + "impact": "Low", + "confidence": "Medium" + }, + { + "elements": [ + { + "type": "function", + "name": "bid", + "source_mapping": { + "start": 5384, + "length": 511, + "filename_relative": "contracts/templegold/DaiGoldAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/DaiGoldAuction.sol", + "filename_short": "contracts/templegold/DaiGoldAuction.sol", + "is_dependency": false, + "lines": [ + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "DaiGoldAuction", + "source_mapping": { + "start": 1163, + "length": 8142, + "filename_relative": "contracts/templegold/DaiGoldAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/DaiGoldAuction.sol", + "filename_short": "contracts/templegold/DaiGoldAuction.sol", + "is_dependency": false, + "lines": [ + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240 + ], + "starting_column": 1, + "ending_column": 0 + } + }, + "signature": "bid(uint256)" + } + }, + { + "type": "node", + "name": "_distributeGold()", + "source_mapping": { + "start": 5539, + "length": 17, + "filename_relative": "contracts/templegold/DaiGoldAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/DaiGoldAuction.sol", + "filename_short": "contracts/templegold/DaiGoldAuction.sol", + "is_dependency": false, + "lines": [ + 128 + ], + "starting_column": 9, + "ending_column": 26 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "bid", + "source_mapping": { + "start": 5384, + "length": 511, + "filename_relative": "contracts/templegold/DaiGoldAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/DaiGoldAuction.sol", + "filename_short": "contracts/templegold/DaiGoldAuction.sol", + "is_dependency": false, + "lines": [ + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "DaiGoldAuction", + "source_mapping": { + "start": 1163, + "length": 8142, + "filename_relative": "contracts/templegold/DaiGoldAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/DaiGoldAuction.sol", + "filename_short": "contracts/templegold/DaiGoldAuction.sol", + "is_dependency": false, + "lines": [ + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240 + ], + "starting_column": 1, + "ending_column": 0 + } + }, + "signature": "bid(uint256)" + } + } + }, + "additional_fields": { + "underlying_type": "external_calls" + } + }, + { + "type": "node", + "name": "templeGold.mint()", + "source_mapping": { + "start": 9175, + "length": 17, + "filename_relative": "contracts/templegold/DaiGoldAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/DaiGoldAuction.sol", + "filename_short": "contracts/templegold/DaiGoldAuction.sol", + "is_dependency": false, + "lines": [ + 232 + ], + "starting_column": 9, + "ending_column": 26 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "_distributeGold", + "source_mapping": { + "start": 9070, + "length": 129, + "filename_relative": "contracts/templegold/DaiGoldAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/DaiGoldAuction.sol", + "filename_short": "contracts/templegold/DaiGoldAuction.sol", + "is_dependency": false, + "lines": [ + 230, + 231, + 232, + 233 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "DaiGoldAuction", + "source_mapping": { + "start": 1163, + "length": 8142, + "filename_relative": "contracts/templegold/DaiGoldAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/DaiGoldAuction.sol", + "filename_short": "contracts/templegold/DaiGoldAuction.sol", + "is_dependency": false, + "lines": [ + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240 + ], + "starting_column": 1, + "ending_column": 0 + } + }, + "signature": "_distributeGold()" + } + } + }, + "additional_fields": { + "underlying_type": "external_calls_sending_eth" + } + }, + { + "type": "node", + "name": "bidToken.safeTransferFrom(msg.sender,address(this),amount)", + "source_mapping": { + "start": 5567, + "length": 60, + "filename_relative": "contracts/templegold/DaiGoldAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/DaiGoldAuction.sol", + "filename_short": "contracts/templegold/DaiGoldAuction.sol", + "is_dependency": false, + "lines": [ + 130 + ], + "starting_column": 9, + "ending_column": 69 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "bid", + "source_mapping": { + "start": 5384, + "length": 511, + "filename_relative": "contracts/templegold/DaiGoldAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/DaiGoldAuction.sol", + "filename_short": "contracts/templegold/DaiGoldAuction.sol", + "is_dependency": false, + "lines": [ + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "DaiGoldAuction", + "source_mapping": { + "start": 1163, + "length": 8142, + "filename_relative": "contracts/templegold/DaiGoldAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/DaiGoldAuction.sol", + "filename_short": "contracts/templegold/DaiGoldAuction.sol", + "is_dependency": false, + "lines": [ + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240 + ], + "starting_column": 1, + "ending_column": 0 + } + }, + "signature": "bid(uint256)" + } + } + }, + "additional_fields": { + "underlying_type": "external_calls" + } + }, + { + "type": "node", + "name": "Deposit(msg.sender,epochIdCache,amount)", + "source_mapping": { + "start": 5842, + "length": 46, + "filename_relative": "contracts/templegold/DaiGoldAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/DaiGoldAuction.sol", + "filename_short": "contracts/templegold/DaiGoldAuction.sol", + "is_dependency": false, + "lines": [ + 137 + ], + "starting_column": 9, + "ending_column": 55 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "bid", + "source_mapping": { + "start": 5384, + "length": 511, + "filename_relative": "contracts/templegold/DaiGoldAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/DaiGoldAuction.sol", + "filename_short": "contracts/templegold/DaiGoldAuction.sol", + "is_dependency": false, + "lines": [ + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "DaiGoldAuction", + "source_mapping": { + "start": 1163, + "length": 8142, + "filename_relative": "contracts/templegold/DaiGoldAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/DaiGoldAuction.sol", + "filename_short": "contracts/templegold/DaiGoldAuction.sol", + "is_dependency": false, + "lines": [ + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240 + ], + "starting_column": 1, + "ending_column": 0 + } + }, + "signature": "bid(uint256)" + } + } + }, + "additional_fields": { + "underlying_type": "event" + } + } + ], + "description": "Reentrancy in DaiGoldAuction.bid(uint256) (contracts/templegold/DaiGoldAuction.sol#126-138):\n\tExternal calls:\n\t- _distributeGold() (contracts/templegold/DaiGoldAuction.sol#128)\n\t\t- templeGold.mint() (contracts/templegold/DaiGoldAuction.sol#232)\n\t- bidToken.safeTransferFrom(msg.sender,address(this),amount) (contracts/templegold/DaiGoldAuction.sol#130)\n\tEvent emitted after the call(s):\n\t- Deposit(msg.sender,epochIdCache,amount) (contracts/templegold/DaiGoldAuction.sol#137)\n", + "markdown": "Reentrancy in [DaiGoldAuction.bid(uint256)](contracts/templegold/DaiGoldAuction.sol#L126-L138):\n\tExternal calls:\n\t- [_distributeGold()](contracts/templegold/DaiGoldAuction.sol#L128)\n\t\t- [templeGold.mint()](contracts/templegold/DaiGoldAuction.sol#L232)\n\t- [bidToken.safeTransferFrom(msg.sender,address(this),amount)](contracts/templegold/DaiGoldAuction.sol#L130)\n\tEvent emitted after the call(s):\n\t- [Deposit(msg.sender,epochIdCache,amount)](contracts/templegold/DaiGoldAuction.sol#L137)\n", + "first_markdown_element": "contracts/templegold/DaiGoldAuction.sol#L126-L138", + "id": "0ccd14b3590ef0c091b04abfda5adfc26950c3fcae62252a508470d5ebb0bb74", + "check": "reentrancy-events", + "impact": "Low", + "confidence": "Medium" + }, + { + "elements": [ + { + "type": "function", + "name": "bid", + "source_mapping": { + "start": 6325, + "length": 607, + "filename_relative": "contracts/templegold/SpiceAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/SpiceAuction.sol", + "filename_short": "contracts/templegold/SpiceAuction.sol", + "is_dependency": false, + "lines": [ + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "SpiceAuction", + "source_mapping": { + "start": 652, + "length": 8750, + "filename_relative": "contracts/templegold/SpiceAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/SpiceAuction.sol", + "filename_short": "contracts/templegold/SpiceAuction.sol", + "is_dependency": false, + "lines": [ + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196 + ], + "starting_column": 1, + "ending_column": 0 + } + }, + "signature": "bid(uint256)" + } + }, + { + "type": "node", + "name": "IERC20(bidToken).safeTransferFrom(msg.sender,address(this),amount)", + "source_mapping": { + "start": 6660, + "length": 68, + "filename_relative": "contracts/templegold/SpiceAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/SpiceAuction.sol", + "filename_short": "contracts/templegold/SpiceAuction.sol", + "is_dependency": false, + "lines": [ + 132 + ], + "starting_column": 9, + "ending_column": 77 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "bid", + "source_mapping": { + "start": 6325, + "length": 607, + "filename_relative": "contracts/templegold/SpiceAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/SpiceAuction.sol", + "filename_short": "contracts/templegold/SpiceAuction.sol", + "is_dependency": false, + "lines": [ + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "SpiceAuction", + "source_mapping": { + "start": 652, + "length": 8750, + "filename_relative": "contracts/templegold/SpiceAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/SpiceAuction.sol", + "filename_short": "contracts/templegold/SpiceAuction.sol", + "is_dependency": false, + "lines": [ + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196 + ], + "starting_column": 1, + "ending_column": 0 + } + }, + "signature": "bid(uint256)" + } + } + }, + "additional_fields": { + "underlying_type": "external_calls" + } + }, + { + "type": "node", + "name": "Deposit(msg.sender,epochId,amount)", + "source_mapping": { + "start": 6884, + "length": 41, + "filename_relative": "contracts/templegold/SpiceAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/SpiceAuction.sol", + "filename_short": "contracts/templegold/SpiceAuction.sol", + "is_dependency": false, + "lines": [ + 137 + ], + "starting_column": 9, + "ending_column": 50 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "bid", + "source_mapping": { + "start": 6325, + "length": 607, + "filename_relative": "contracts/templegold/SpiceAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/SpiceAuction.sol", + "filename_short": "contracts/templegold/SpiceAuction.sol", + "is_dependency": false, + "lines": [ + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "SpiceAuction", + "source_mapping": { + "start": 652, + "length": 8750, + "filename_relative": "contracts/templegold/SpiceAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/SpiceAuction.sol", + "filename_short": "contracts/templegold/SpiceAuction.sol", + "is_dependency": false, + "lines": [ + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196 + ], + "starting_column": 1, + "ending_column": 0 + } + }, + "signature": "bid(uint256)" + } + } + }, + "additional_fields": { + "underlying_type": "event" + } + } + ], + "description": "Reentrancy in SpiceAuction.bid(uint256) (contracts/templegold/SpiceAuction.sol#124-138):\n\tExternal calls:\n\t- IERC20(bidToken).safeTransferFrom(msg.sender,address(this),amount) (contracts/templegold/SpiceAuction.sol#132)\n\tEvent emitted after the call(s):\n\t- Deposit(msg.sender,epochId,amount) (contracts/templegold/SpiceAuction.sol#137)\n", + "markdown": "Reentrancy in [SpiceAuction.bid(uint256)](contracts/templegold/SpiceAuction.sol#L124-L138):\n\tExternal calls:\n\t- [IERC20(bidToken).safeTransferFrom(msg.sender,address(this),amount)](contracts/templegold/SpiceAuction.sol#L132)\n\tEvent emitted after the call(s):\n\t- [Deposit(msg.sender,epochId,amount)](contracts/templegold/SpiceAuction.sol#L137)\n", + "first_markdown_element": "contracts/templegold/SpiceAuction.sol#L124-L138", + "id": "d3e3ac2de6ebc5e5cefe821bea79353c7c4be5ffc4e2feefb9410557107950cc", + "check": "reentrancy-events", + "impact": "Low", + "confidence": "Medium" + }, + { + "elements": [ + { + "type": "function", + "name": "claim", + "source_mapping": { + "start": 6069, + "length": 860, + "filename_relative": "contracts/templegold/DaiGoldAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/DaiGoldAuction.sol", + "filename_short": "contracts/templegold/DaiGoldAuction.sol", + "is_dependency": false, + "lines": [ + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "DaiGoldAuction", + "source_mapping": { + "start": 1163, + "length": 8142, + "filename_relative": "contracts/templegold/DaiGoldAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/DaiGoldAuction.sol", + "filename_short": "contracts/templegold/DaiGoldAuction.sol", + "is_dependency": false, + "lines": [ + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240 + ], + "starting_column": 1, + "ending_column": 0 + } + }, + "signature": "claim(uint256)" + } + }, + { + "type": "node", + "name": "_distributeGold()", + "source_mapping": { + "start": 6266, + "length": 17, + "filename_relative": "contracts/templegold/DaiGoldAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/DaiGoldAuction.sol", + "filename_short": "contracts/templegold/DaiGoldAuction.sol", + "is_dependency": false, + "lines": [ + 148 + ], + "starting_column": 9, + "ending_column": 26 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "claim", + "source_mapping": { + "start": 6069, + "length": 860, + "filename_relative": "contracts/templegold/DaiGoldAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/DaiGoldAuction.sol", + "filename_short": "contracts/templegold/DaiGoldAuction.sol", + "is_dependency": false, + "lines": [ + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "DaiGoldAuction", + "source_mapping": { + "start": 1163, + "length": 8142, + "filename_relative": "contracts/templegold/DaiGoldAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/DaiGoldAuction.sol", + "filename_short": "contracts/templegold/DaiGoldAuction.sol", + "is_dependency": false, + "lines": [ + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240 + ], + "starting_column": 1, + "ending_column": 0 + } + }, + "signature": "claim(uint256)" + } + } + }, + "additional_fields": { + "underlying_type": "external_calls" + } + }, + { + "type": "node", + "name": "templeGold.mint()", + "source_mapping": { + "start": 9175, + "length": 17, + "filename_relative": "contracts/templegold/DaiGoldAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/DaiGoldAuction.sol", + "filename_short": "contracts/templegold/DaiGoldAuction.sol", + "is_dependency": false, + "lines": [ + 232 + ], + "starting_column": 9, + "ending_column": 26 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "_distributeGold", + "source_mapping": { + "start": 9070, + "length": 129, + "filename_relative": "contracts/templegold/DaiGoldAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/DaiGoldAuction.sol", + "filename_short": "contracts/templegold/DaiGoldAuction.sol", + "is_dependency": false, + "lines": [ + 230, + 231, + 232, + 233 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "DaiGoldAuction", + "source_mapping": { + "start": 1163, + "length": 8142, + "filename_relative": "contracts/templegold/DaiGoldAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/DaiGoldAuction.sol", + "filename_short": "contracts/templegold/DaiGoldAuction.sol", + "is_dependency": false, + "lines": [ + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240 + ], + "starting_column": 1, + "ending_column": 0 + } + }, + "signature": "_distributeGold()" + } + } + }, + "additional_fields": { + "underlying_type": "external_calls_sending_eth" + } + }, + { + "type": "node", + "name": "bidToken.safeTransfer(treasury,bidTokenAmount)", + "source_mapping": { + "start": 6565, + "length": 47, + "filename_relative": "contracts/templegold/DaiGoldAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/DaiGoldAuction.sol", + "filename_short": "contracts/templegold/DaiGoldAuction.sol", + "is_dependency": false, + "lines": [ + 153 + ], + "starting_column": 9, + "ending_column": 56 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "claim", + "source_mapping": { + "start": 6069, + "length": 860, + "filename_relative": "contracts/templegold/DaiGoldAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/DaiGoldAuction.sol", + "filename_short": "contracts/templegold/DaiGoldAuction.sol", + "is_dependency": false, + "lines": [ + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "DaiGoldAuction", + "source_mapping": { + "start": 1163, + "length": 8142, + "filename_relative": "contracts/templegold/DaiGoldAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/DaiGoldAuction.sol", + "filename_short": "contracts/templegold/DaiGoldAuction.sol", + "is_dependency": false, + "lines": [ + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240 + ], + "starting_column": 1, + "ending_column": 0 + } + }, + "signature": "claim(uint256)" + } + } + }, + "additional_fields": { + "underlying_type": "external_calls" + } + }, + { + "type": "node", + "name": "templeGold.safeTransfer(msg.sender,claimAmount)", + "source_mapping": { + "start": 6804, + "length": 48, + "filename_relative": "contracts/templegold/DaiGoldAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/DaiGoldAuction.sol", + "filename_short": "contracts/templegold/DaiGoldAuction.sol", + "is_dependency": false, + "lines": [ + 157 + ], + "starting_column": 9, + "ending_column": 57 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "claim", + "source_mapping": { + "start": 6069, + "length": 860, + "filename_relative": "contracts/templegold/DaiGoldAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/DaiGoldAuction.sol", + "filename_short": "contracts/templegold/DaiGoldAuction.sol", + "is_dependency": false, + "lines": [ + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "DaiGoldAuction", + "source_mapping": { + "start": 1163, + "length": 8142, + "filename_relative": "contracts/templegold/DaiGoldAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/DaiGoldAuction.sol", + "filename_short": "contracts/templegold/DaiGoldAuction.sol", + "is_dependency": false, + "lines": [ + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240 + ], + "starting_column": 1, + "ending_column": 0 + } + }, + "signature": "claim(uint256)" + } + } + }, + "additional_fields": { + "underlying_type": "external_calls" + } + }, + { + "type": "node", + "name": "Claim(msg.sender,epochId,bidTokenAmount,claimAmount)", + "source_mapping": { + "start": 6862, + "length": 60, + "filename_relative": "contracts/templegold/DaiGoldAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/DaiGoldAuction.sol", + "filename_short": "contracts/templegold/DaiGoldAuction.sol", + "is_dependency": false, + "lines": [ + 158 + ], + "starting_column": 9, + "ending_column": 69 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "claim", + "source_mapping": { + "start": 6069, + "length": 860, + "filename_relative": "contracts/templegold/DaiGoldAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/DaiGoldAuction.sol", + "filename_short": "contracts/templegold/DaiGoldAuction.sol", + "is_dependency": false, + "lines": [ + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "DaiGoldAuction", + "source_mapping": { + "start": 1163, + "length": 8142, + "filename_relative": "contracts/templegold/DaiGoldAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/DaiGoldAuction.sol", + "filename_short": "contracts/templegold/DaiGoldAuction.sol", + "is_dependency": false, + "lines": [ + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240 + ], + "starting_column": 1, + "ending_column": 0 + } + }, + "signature": "claim(uint256)" + } + } + }, + "additional_fields": { + "underlying_type": "event" + } + } + ], + "description": "Reentrancy in DaiGoldAuction.claim(uint256) (contracts/templegold/DaiGoldAuction.sol#145-159):\n\tExternal calls:\n\t- _distributeGold() (contracts/templegold/DaiGoldAuction.sol#148)\n\t\t- templeGold.mint() (contracts/templegold/DaiGoldAuction.sol#232)\n\t- bidToken.safeTransfer(treasury,bidTokenAmount) (contracts/templegold/DaiGoldAuction.sol#153)\n\t- templeGold.safeTransfer(msg.sender,claimAmount) (contracts/templegold/DaiGoldAuction.sol#157)\n\tEvent emitted after the call(s):\n\t- Claim(msg.sender,epochId,bidTokenAmount,claimAmount) (contracts/templegold/DaiGoldAuction.sol#158)\n", + "markdown": "Reentrancy in [DaiGoldAuction.claim(uint256)](contracts/templegold/DaiGoldAuction.sol#L145-L159):\n\tExternal calls:\n\t- [_distributeGold()](contracts/templegold/DaiGoldAuction.sol#L148)\n\t\t- [templeGold.mint()](contracts/templegold/DaiGoldAuction.sol#L232)\n\t- [bidToken.safeTransfer(treasury,bidTokenAmount)](contracts/templegold/DaiGoldAuction.sol#L153)\n\t- [templeGold.safeTransfer(msg.sender,claimAmount)](contracts/templegold/DaiGoldAuction.sol#L157)\n\tEvent emitted after the call(s):\n\t- [Claim(msg.sender,epochId,bidTokenAmount,claimAmount)](contracts/templegold/DaiGoldAuction.sol#L158)\n", + "first_markdown_element": "contracts/templegold/DaiGoldAuction.sol#L145-L159", + "id": "2fd5f338807c355f7e7ec4fb50c70a03f541d70c6c58656a51208adff5a05d47", + "check": "reentrancy-events", + "impact": "Low", + "confidence": "Medium" + }, + { + "elements": [ + { + "type": "function", + "name": "claim", + "source_mapping": { + "start": 6966, + "length": 1029, + "filename_relative": "contracts/templegold/SpiceAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/SpiceAuction.sol", + "filename_short": "contracts/templegold/SpiceAuction.sol", + "is_dependency": false, + "lines": [ + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "SpiceAuction", + "source_mapping": { + "start": 652, + "length": 8750, + "filename_relative": "contracts/templegold/SpiceAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/SpiceAuction.sol", + "filename_short": "contracts/templegold/SpiceAuction.sol", + "is_dependency": false, + "lines": [ + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196 + ], + "starting_column": 1, + "ending_column": 0 + } + }, + "signature": "claim(uint256)" + } + }, + { + "type": "node", + "name": "IERC20(bidToken).safeTransfer(config.recipient,bidTokenAmount)", + "source_mapping": { + "start": 7508, + "length": 63, + "filename_relative": "contracts/templegold/SpiceAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/SpiceAuction.sol", + "filename_short": "contracts/templegold/SpiceAuction.sol", + "is_dependency": false, + "lines": [ + 149 + ], + "starting_column": 9, + "ending_column": 72 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "claim", + "source_mapping": { + "start": 6966, + "length": 1029, + "filename_relative": "contracts/templegold/SpiceAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/SpiceAuction.sol", + "filename_short": "contracts/templegold/SpiceAuction.sol", + "is_dependency": false, + "lines": [ + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "SpiceAuction", + "source_mapping": { + "start": 652, + "length": 8750, + "filename_relative": "contracts/templegold/SpiceAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/SpiceAuction.sol", + "filename_short": "contracts/templegold/SpiceAuction.sol", + "is_dependency": false, + "lines": [ + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196 + ], + "starting_column": 1, + "ending_column": 0 + } + }, + "signature": "claim(uint256)" + } + } + }, + "additional_fields": { + "underlying_type": "external_calls" + } + }, + { + "type": "node", + "name": "IERC20(auctionToken).safeTransfer(msg.sender,claimAmount)", + "source_mapping": { + "start": 7752, + "length": 58, + "filename_relative": "contracts/templegold/SpiceAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/SpiceAuction.sol", + "filename_short": "contracts/templegold/SpiceAuction.sol", + "is_dependency": false, + "lines": [ + 153 + ], + "starting_column": 9, + "ending_column": 67 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "claim", + "source_mapping": { + "start": 6966, + "length": 1029, + "filename_relative": "contracts/templegold/SpiceAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/SpiceAuction.sol", + "filename_short": "contracts/templegold/SpiceAuction.sol", + "is_dependency": false, + "lines": [ + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "SpiceAuction", + "source_mapping": { + "start": 652, + "length": 8750, + "filename_relative": "contracts/templegold/SpiceAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/SpiceAuction.sol", + "filename_short": "contracts/templegold/SpiceAuction.sol", + "is_dependency": false, + "lines": [ + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196 + ], + "starting_column": 1, + "ending_column": 0 + } + }, + "signature": "claim(uint256)" + } + } + }, + "additional_fields": { + "underlying_type": "external_calls" + } + }, + { + "type": "node", + "name": "Claim(msg.sender,epochId,bidTokenAmount,claimAmount)", + "source_mapping": { + "start": 7820, + "length": 60, + "filename_relative": "contracts/templegold/SpiceAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/SpiceAuction.sol", + "filename_short": "contracts/templegold/SpiceAuction.sol", + "is_dependency": false, + "lines": [ + 154 + ], + "starting_column": 9, + "ending_column": 69 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "claim", + "source_mapping": { + "start": 6966, + "length": 1029, + "filename_relative": "contracts/templegold/SpiceAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/SpiceAuction.sol", + "filename_short": "contracts/templegold/SpiceAuction.sol", + "is_dependency": false, + "lines": [ + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "SpiceAuction", + "source_mapping": { + "start": 652, + "length": 8750, + "filename_relative": "contracts/templegold/SpiceAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/SpiceAuction.sol", + "filename_short": "contracts/templegold/SpiceAuction.sol", + "is_dependency": false, + "lines": [ + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196 + ], + "starting_column": 1, + "ending_column": 0 + } + }, + "signature": "claim(uint256)" + } + } + }, + "additional_fields": { + "underlying_type": "event" + } + } + ], + "description": "Reentrancy in SpiceAuction.claim(uint256) (contracts/templegold/SpiceAuction.sol#141-158):\n\tExternal calls:\n\t- IERC20(bidToken).safeTransfer(config.recipient,bidTokenAmount) (contracts/templegold/SpiceAuction.sol#149)\n\t- IERC20(auctionToken).safeTransfer(msg.sender,claimAmount) (contracts/templegold/SpiceAuction.sol#153)\n\tEvent emitted after the call(s):\n\t- Claim(msg.sender,epochId,bidTokenAmount,claimAmount) (contracts/templegold/SpiceAuction.sol#154)\n", + "markdown": "Reentrancy in [SpiceAuction.claim(uint256)](contracts/templegold/SpiceAuction.sol#L141-L158):\n\tExternal calls:\n\t- [IERC20(bidToken).safeTransfer(config.recipient,bidTokenAmount)](contracts/templegold/SpiceAuction.sol#L149)\n\t- [IERC20(auctionToken).safeTransfer(msg.sender,claimAmount)](contracts/templegold/SpiceAuction.sol#L153)\n\tEvent emitted after the call(s):\n\t- [Claim(msg.sender,epochId,bidTokenAmount,claimAmount)](contracts/templegold/SpiceAuction.sol#L154)\n", + "first_markdown_element": "contracts/templegold/SpiceAuction.sol#L141-L158", + "id": "1b28b58da898a9b967c42a3c2d453708bd7590e38c63f7543edbc6997025acce", + "check": "reentrancy-events", + "impact": "Low", + "confidence": "Medium" + }, + { + "elements": [ + { + "type": "function", + "name": "recoverToken", + "source_mapping": { + "start": 10315, + "length": 368, + "filename_relative": "contracts/templegold/TempleGoldStaking.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGoldStaking.sol", + "filename_short": "contracts/templegold/TempleGoldStaking.sol", + "is_dependency": false, + "lines": [ + 263, + 264, + 265, + 266, + 267, + 268 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "TempleGoldStaking", + "source_mapping": { + "start": 1239, + "length": 16951, + "filename_relative": "contracts/templegold/TempleGoldStaking.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGoldStaking.sol", + "filename_short": "contracts/templegold/TempleGoldStaking.sol", + "is_dependency": false, + "lines": [ + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480 + ], + "starting_column": 1, + "ending_column": 0 + } + }, + "signature": "recoverToken(address,address,uint256)" + } + }, + { + "type": "node", + "name": "IERC20(_token).safeTransfer(_to,_amount)", + "source_mapping": { + "start": 10562, + "length": 41, + "filename_relative": "contracts/templegold/TempleGoldStaking.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGoldStaking.sol", + "filename_short": "contracts/templegold/TempleGoldStaking.sol", + "is_dependency": false, + "lines": [ + 266 + ], + "starting_column": 9, + "ending_column": 50 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "recoverToken", + "source_mapping": { + "start": 10315, + "length": 368, + "filename_relative": "contracts/templegold/TempleGoldStaking.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGoldStaking.sol", + "filename_short": "contracts/templegold/TempleGoldStaking.sol", + "is_dependency": false, + "lines": [ + 263, + 264, + 265, + 266, + 267, + 268 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "TempleGoldStaking", + "source_mapping": { + "start": 1239, + "length": 16951, + "filename_relative": "contracts/templegold/TempleGoldStaking.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGoldStaking.sol", + "filename_short": "contracts/templegold/TempleGoldStaking.sol", + "is_dependency": false, + "lines": [ + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480 + ], + "starting_column": 1, + "ending_column": 0 + } + }, + "signature": "recoverToken(address,address,uint256)" + } + } + }, + "additional_fields": { + "underlying_type": "external_calls" + } + }, + { + "type": "node", + "name": "CommonEventsAndErrors.TokenRecovered(_to,_token,_amount)", + "source_mapping": { + "start": 10613, + "length": 63, + "filename_relative": "contracts/templegold/TempleGoldStaking.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGoldStaking.sol", + "filename_short": "contracts/templegold/TempleGoldStaking.sol", + "is_dependency": false, + "lines": [ + 267 + ], + "starting_column": 9, + "ending_column": 72 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "recoverToken", + "source_mapping": { + "start": 10315, + "length": 368, + "filename_relative": "contracts/templegold/TempleGoldStaking.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGoldStaking.sol", + "filename_short": "contracts/templegold/TempleGoldStaking.sol", + "is_dependency": false, + "lines": [ + 263, + 264, + 265, + 266, + 267, + 268 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "TempleGoldStaking", + "source_mapping": { + "start": 1239, + "length": 16951, + "filename_relative": "contracts/templegold/TempleGoldStaking.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGoldStaking.sol", + "filename_short": "contracts/templegold/TempleGoldStaking.sol", + "is_dependency": false, + "lines": [ + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480 + ], + "starting_column": 1, + "ending_column": 0 + } + }, + "signature": "recoverToken(address,address,uint256)" + } + } + }, + "additional_fields": { + "underlying_type": "event" + } + } + ], + "description": "Reentrancy in TempleGoldStaking.recoverToken(address,address,uint256) (contracts/templegold/TempleGoldStaking.sol#263-268):\n\tExternal calls:\n\t- IERC20(_token).safeTransfer(_to,_amount) (contracts/templegold/TempleGoldStaking.sol#266)\n\tEvent emitted after the call(s):\n\t- CommonEventsAndErrors.TokenRecovered(_to,_token,_amount) (contracts/templegold/TempleGoldStaking.sol#267)\n", + "markdown": "Reentrancy in [TempleGoldStaking.recoverToken(address,address,uint256)](contracts/templegold/TempleGoldStaking.sol#L263-L268):\n\tExternal calls:\n\t- [IERC20(_token).safeTransfer(_to,_amount)](contracts/templegold/TempleGoldStaking.sol#L266)\n\tEvent emitted after the call(s):\n\t- [CommonEventsAndErrors.TokenRecovered(_to,_token,_amount)](contracts/templegold/TempleGoldStaking.sol#L267)\n", + "first_markdown_element": "contracts/templegold/TempleGoldStaking.sol#L263-L268", + "id": "ed52d52d1dcdfd6c7b9f0f9a5cd1f86e7e343b1d707b277fb9a2e469ba0e3e8c", + "check": "reentrancy-events", + "impact": "Low", + "confidence": "Medium" + }, + { + "elements": [ + { + "type": "function", + "name": "stakeFor", + "source_mapping": { + "start": 7827, + "length": 479, + "filename_relative": "contracts/templegold/TempleGoldStaking.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGoldStaking.sol", + "filename_short": "contracts/templegold/TempleGoldStaking.sol", + "is_dependency": false, + "lines": [ + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "TempleGoldStaking", + "source_mapping": { + "start": 1239, + "length": 16951, + "filename_relative": "contracts/templegold/TempleGoldStaking.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGoldStaking.sol", + "filename_short": "contracts/templegold/TempleGoldStaking.sol", + "is_dependency": false, + "lines": [ + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480 + ], + "starting_column": 1, + "ending_column": 0 + } + }, + "signature": "stakeFor(address,uint256)" + } + }, + { + "type": "node", + "name": "stakingToken.safeTransferFrom(msg.sender,address(this),_amount)", + "source_mapping": { + "start": 8038, + "length": 65, + "filename_relative": "contracts/templegold/TempleGoldStaking.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGoldStaking.sol", + "filename_short": "contracts/templegold/TempleGoldStaking.sol", + "is_dependency": false, + "lines": [ + 189 + ], + "starting_column": 9, + "ending_column": 74 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "stakeFor", + "source_mapping": { + "start": 7827, + "length": 479, + "filename_relative": "contracts/templegold/TempleGoldStaking.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGoldStaking.sol", + "filename_short": "contracts/templegold/TempleGoldStaking.sol", + "is_dependency": false, + "lines": [ + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "TempleGoldStaking", + "source_mapping": { + "start": 1239, + "length": 16951, + "filename_relative": "contracts/templegold/TempleGoldStaking.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGoldStaking.sol", + "filename_short": "contracts/templegold/TempleGoldStaking.sol", + "is_dependency": false, + "lines": [ + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480 + ], + "starting_column": 1, + "ending_column": 0 + } + }, + "signature": "stakeFor(address,uint256)" + } + } + }, + "additional_fields": { + "underlying_type": "external_calls" + } + }, + { + "type": "node", + "name": "Staked(_for,_amount)", + "source_mapping": { + "start": 12673, + "length": 26, + "filename_relative": "contracts/templegold/TempleGoldStaking.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGoldStaking.sol", + "filename_short": "contracts/templegold/TempleGoldStaking.sol", + "is_dependency": false, + "lines": [ + 330 + ], + "starting_column": 9, + "ending_column": 35 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "_applyStake", + "source_mapping": { + "start": 12515, + "length": 191, + "filename_relative": "contracts/templegold/TempleGoldStaking.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGoldStaking.sol", + "filename_short": "contracts/templegold/TempleGoldStaking.sol", + "is_dependency": false, + "lines": [ + 327, + 328, + 329, + 330, + 331 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "TempleGoldStaking", + "source_mapping": { + "start": 1239, + "length": 16951, + "filename_relative": "contracts/templegold/TempleGoldStaking.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGoldStaking.sol", + "filename_short": "contracts/templegold/TempleGoldStaking.sol", + "is_dependency": false, + "lines": [ + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480 + ], + "starting_column": 1, + "ending_column": 0 + } + }, + "signature": "_applyStake(address,uint256)" + } + } + }, + "additional_fields": { + "underlying_type": "event" + } + }, + { + "type": "node", + "name": "_applyStake(_for,_amount)", + "source_mapping": { + "start": 8161, + "length": 26, + "filename_relative": "contracts/templegold/TempleGoldStaking.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGoldStaking.sol", + "filename_short": "contracts/templegold/TempleGoldStaking.sol", + "is_dependency": false, + "lines": [ + 191 + ], + "starting_column": 9, + "ending_column": 35 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "stakeFor", + "source_mapping": { + "start": 7827, + "length": 479, + "filename_relative": "contracts/templegold/TempleGoldStaking.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGoldStaking.sol", + "filename_short": "contracts/templegold/TempleGoldStaking.sol", + "is_dependency": false, + "lines": [ + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "TempleGoldStaking", + "source_mapping": { + "start": 1239, + "length": 16951, + "filename_relative": "contracts/templegold/TempleGoldStaking.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGoldStaking.sol", + "filename_short": "contracts/templegold/TempleGoldStaking.sol", + "is_dependency": false, + "lines": [ + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480 + ], + "starting_column": 1, + "ending_column": 0 + } + }, + "signature": "stakeFor(address,uint256)" + } + } + }, + "additional_fields": { + "underlying_type": "event" + } + } + ], + "description": "Reentrancy in TempleGoldStaking.stakeFor(address,uint256) (contracts/templegold/TempleGoldStaking.sol#185-194):\n\tExternal calls:\n\t- stakingToken.safeTransferFrom(msg.sender,address(this),_amount) (contracts/templegold/TempleGoldStaking.sol#189)\n\tEvent emitted after the call(s):\n\t- Staked(_for,_amount) (contracts/templegold/TempleGoldStaking.sol#330)\n\t\t- _applyStake(_for,_amount) (contracts/templegold/TempleGoldStaking.sol#191)\n", + "markdown": "Reentrancy in [TempleGoldStaking.stakeFor(address,uint256)](contracts/templegold/TempleGoldStaking.sol#L185-L194):\n\tExternal calls:\n\t- [stakingToken.safeTransferFrom(msg.sender,address(this),_amount)](contracts/templegold/TempleGoldStaking.sol#L189)\n\tEvent emitted after the call(s):\n\t- [Staked(_for,_amount)](contracts/templegold/TempleGoldStaking.sol#L330)\n\t\t- [_applyStake(_for,_amount)](contracts/templegold/TempleGoldStaking.sol#L191)\n", + "first_markdown_element": "contracts/templegold/TempleGoldStaking.sol#L185-L194", + "id": "c270db277dbe8baa6996ca196a0035a42d83698154b341bd15f2a999cddc118d", + "check": "reentrancy-events", + "impact": "Low", + "confidence": "Medium" + }, + { + "elements": [ + { + "type": "function", + "name": "teleport", + "source_mapping": { + "start": 1380, + "length": 702, + "filename_relative": "contracts/templegold/TempleTeleporter.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleTeleporter.sol", + "filename_short": "contracts/templegold/TempleTeleporter.sol", + "is_dependency": false, + "lines": [ + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "TempleTeleporter", + "source_mapping": { + "start": 735, + "length": 2107, + "filename_relative": "contracts/templegold/TempleTeleporter.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleTeleporter.sol", + "filename_short": "contracts/templegold/TempleTeleporter.sol", + "is_dependency": false, + "lines": [ + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67 + ], + "starting_column": 1, + "ending_column": 0 + } + }, + "signature": "teleport(uint32,address,uint256,bytes)" + } + }, + { + "type": "node", + "name": "temple.burnFrom(msg.sender,amount)", + "source_mapping": { + "start": 1873, + "length": 35, + "filename_relative": "contracts/templegold/TempleTeleporter.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleTeleporter.sol", + "filename_short": "contracts/templegold/TempleTeleporter.sol", + "is_dependency": false, + "lines": [ + 46 + ], + "starting_column": 9, + "ending_column": 44 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "teleport", + "source_mapping": { + "start": 1380, + "length": 702, + "filename_relative": "contracts/templegold/TempleTeleporter.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleTeleporter.sol", + "filename_short": "contracts/templegold/TempleTeleporter.sol", + "is_dependency": false, + "lines": [ + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "TempleTeleporter", + "source_mapping": { + "start": 735, + "length": 2107, + "filename_relative": "contracts/templegold/TempleTeleporter.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleTeleporter.sol", + "filename_short": "contracts/templegold/TempleTeleporter.sol", + "is_dependency": false, + "lines": [ + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67 + ], + "starting_column": 1, + "ending_column": 0 + } + }, + "signature": "teleport(uint32,address,uint256,bytes)" + } + } + }, + "additional_fields": { + "underlying_type": "external_calls" + } + }, + { + "type": "node", + "name": "TempleTeleported(dstEid,msg.sender,to,amount)", + "source_mapping": { + "start": 1918, + "length": 53, + "filename_relative": "contracts/templegold/TempleTeleporter.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleTeleporter.sol", + "filename_short": "contracts/templegold/TempleTeleporter.sol", + "is_dependency": false, + "lines": [ + 47 + ], + "starting_column": 9, + "ending_column": 62 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "teleport", + "source_mapping": { + "start": 1380, + "length": 702, + "filename_relative": "contracts/templegold/TempleTeleporter.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleTeleporter.sol", + "filename_short": "contracts/templegold/TempleTeleporter.sol", + "is_dependency": false, + "lines": [ + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "TempleTeleporter", + "source_mapping": { + "start": 735, + "length": 2107, + "filename_relative": "contracts/templegold/TempleTeleporter.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleTeleporter.sol", + "filename_short": "contracts/templegold/TempleTeleporter.sol", + "is_dependency": false, + "lines": [ + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67 + ], + "starting_column": 1, + "ending_column": 0 + } + }, + "signature": "teleport(uint32,address,uint256,bytes)" + } + } + }, + "additional_fields": { + "underlying_type": "event" + } + } + ], + "description": "Reentrancy in TempleTeleporter.teleport(uint32,address,uint256,bytes) (contracts/templegold/TempleTeleporter.sol#35-50):\n\tExternal calls:\n\t- temple.burnFrom(msg.sender,amount) (contracts/templegold/TempleTeleporter.sol#46)\n\tEvent emitted after the call(s):\n\t- TempleTeleported(dstEid,msg.sender,to,amount) (contracts/templegold/TempleTeleporter.sol#47)\n", + "markdown": "Reentrancy in [TempleTeleporter.teleport(uint32,address,uint256,bytes)](contracts/templegold/TempleTeleporter.sol#L35-L50):\n\tExternal calls:\n\t- [temple.burnFrom(msg.sender,amount)](contracts/templegold/TempleTeleporter.sol#L46)\n\tEvent emitted after the call(s):\n\t- [TempleTeleported(dstEid,msg.sender,to,amount)](contracts/templegold/TempleTeleporter.sol#L47)\n", + "first_markdown_element": "contracts/templegold/TempleTeleporter.sol#L35-L50", + "id": "147c6a4154164630ca8fdbab548fa047157f39dee17915c6a14ccdeab7c22919", + "check": "reentrancy-events", + "impact": "Low", + "confidence": "Medium" + }, + { + "elements": [ + { + "type": "function", + "name": "_canDeposit", + "source_mapping": { + "start": 586, + "length": 201, + "filename_relative": "contracts/templegold/AuctionBase.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/AuctionBase.sol", + "filename_short": "contracts/templegold/AuctionBase.sol", + "is_dependency": false, + "lines": [ + 15, + 16, + 17, + 18 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "AuctionBase", + "source_mapping": { + "start": 192, + "length": 910, + "filename_relative": "contracts/templegold/AuctionBase.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/AuctionBase.sol", + "filename_short": "contracts/templegold/AuctionBase.sol", + "is_dependency": false, + "lines": [ + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29 + ], + "starting_column": 1, + "ending_column": 0 + } + }, + "signature": "_canDeposit()" + } + }, + { + "type": "node", + "name": "info.startTime <= block.timestamp && block.timestamp < info.endTime", + "source_mapping": { + "start": 706, + "length": 74, + "filename_relative": "contracts/templegold/AuctionBase.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/AuctionBase.sol", + "filename_short": "contracts/templegold/AuctionBase.sol", + "is_dependency": false, + "lines": [ + 17 + ], + "starting_column": 9, + "ending_column": 83 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "_canDeposit", + "source_mapping": { + "start": 586, + "length": 201, + "filename_relative": "contracts/templegold/AuctionBase.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/AuctionBase.sol", + "filename_short": "contracts/templegold/AuctionBase.sol", + "is_dependency": false, + "lines": [ + 15, + 16, + 17, + 18 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "AuctionBase", + "source_mapping": { + "start": 192, + "length": 910, + "filename_relative": "contracts/templegold/AuctionBase.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/AuctionBase.sol", + "filename_short": "contracts/templegold/AuctionBase.sol", + "is_dependency": false, + "lines": [ + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29 + ], + "starting_column": 1, + "ending_column": 0 + } + }, + "signature": "_canDeposit()" + } + } + } + } + ], + "description": "AuctionBase._canDeposit() (contracts/templegold/AuctionBase.sol#15-18) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- info.startTime <= block.timestamp && block.timestamp < info.endTime (contracts/templegold/AuctionBase.sol#17)\n", + "markdown": "[AuctionBase._canDeposit()](contracts/templegold/AuctionBase.sol#L15-L18) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- [info.startTime <= block.timestamp && block.timestamp < info.endTime](contracts/templegold/AuctionBase.sol#L17)\n", + "first_markdown_element": "contracts/templegold/AuctionBase.sol#L15-L18", + "id": "2879a91932909f4a795ccc53fc2cf1967567894527b712d2e35d43e4f80eed1e", + "check": "timestamp", + "impact": "Low", + "confidence": "Medium" + }, + { + "elements": [ + { + "type": "function", + "name": "_isCurrentEpochEnded", + "source_mapping": { + "start": 793, + "length": 173, + "filename_relative": "contracts/templegold/AuctionBase.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/AuctionBase.sol", + "filename_short": "contracts/templegold/AuctionBase.sol", + "is_dependency": false, + "lines": [ + 20, + 21, + 22, + 23 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "AuctionBase", + "source_mapping": { + "start": 192, + "length": 910, + "filename_relative": "contracts/templegold/AuctionBase.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/AuctionBase.sol", + "filename_short": "contracts/templegold/AuctionBase.sol", + "is_dependency": false, + "lines": [ + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29 + ], + "starting_column": 1, + "ending_column": 0 + } + }, + "signature": "_isCurrentEpochEnded()" + } + }, + { + "type": "node", + "name": "info.endTime <= block.timestamp", + "source_mapping": { + "start": 921, + "length": 38, + "filename_relative": "contracts/templegold/AuctionBase.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/AuctionBase.sol", + "filename_short": "contracts/templegold/AuctionBase.sol", + "is_dependency": false, + "lines": [ + 22 + ], + "starting_column": 9, + "ending_column": 47 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "_isCurrentEpochEnded", + "source_mapping": { + "start": 793, + "length": 173, + "filename_relative": "contracts/templegold/AuctionBase.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/AuctionBase.sol", + "filename_short": "contracts/templegold/AuctionBase.sol", + "is_dependency": false, + "lines": [ + 20, + 21, + 22, + 23 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "AuctionBase", + "source_mapping": { + "start": 192, + "length": 910, + "filename_relative": "contracts/templegold/AuctionBase.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/AuctionBase.sol", + "filename_short": "contracts/templegold/AuctionBase.sol", + "is_dependency": false, + "lines": [ + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29 + ], + "starting_column": 1, + "ending_column": 0 + } + }, + "signature": "_isCurrentEpochEnded()" + } + } + } + } + ], + "description": "AuctionBase._isCurrentEpochEnded() (contracts/templegold/AuctionBase.sol#20-23) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- info.endTime <= block.timestamp (contracts/templegold/AuctionBase.sol#22)\n", + "markdown": "[AuctionBase._isCurrentEpochEnded()](contracts/templegold/AuctionBase.sol#L20-L23) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- [info.endTime <= block.timestamp](contracts/templegold/AuctionBase.sol#L22)\n", + "first_markdown_element": "contracts/templegold/AuctionBase.sol#L20-L23", + "id": "250146866fae4eec2a2bc0a73e39d6229c5024f67885c638ffc1cc9656e3f1df", + "check": "timestamp", + "impact": "Low", + "confidence": "Medium" + }, + { + "elements": [ + { + "type": "function", + "name": "startAuction", + "source_mapping": { + "start": 4045, + "length": 1194, + "filename_relative": "contracts/templegold/DaiGoldAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/DaiGoldAuction.sol", + "filename_short": "contracts/templegold/DaiGoldAuction.sol", + "is_dependency": false, + "lines": [ + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "DaiGoldAuction", + "source_mapping": { + "start": 1163, + "length": 8142, + "filename_relative": "contracts/templegold/DaiGoldAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/DaiGoldAuction.sol", + "filename_short": "contracts/templegold/DaiGoldAuction.sol", + "is_dependency": false, + "lines": [ + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240 + ], + "starting_column": 1, + "ending_column": 0 + } + }, + "signature": "startAuction()" + } + }, + { + "type": "node", + "name": "prevAuctionInfo.endTime + config.auctionsTimeDiff > block.timestamp", + "source_mapping": { + "start": 4485, + "length": 67, + "filename_relative": "contracts/templegold/DaiGoldAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/DaiGoldAuction.sol", + "filename_short": "contracts/templegold/DaiGoldAuction.sol", + "is_dependency": false, + "lines": [ + 106 + ], + "starting_column": 13, + "ending_column": 80 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "startAuction", + "source_mapping": { + "start": 4045, + "length": 1194, + "filename_relative": "contracts/templegold/DaiGoldAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/DaiGoldAuction.sol", + "filename_short": "contracts/templegold/DaiGoldAuction.sol", + "is_dependency": false, + "lines": [ + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "DaiGoldAuction", + "source_mapping": { + "start": 1163, + "length": 8142, + "filename_relative": "contracts/templegold/DaiGoldAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/DaiGoldAuction.sol", + "filename_short": "contracts/templegold/DaiGoldAuction.sol", + "is_dependency": false, + "lines": [ + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240 + ], + "starting_column": 1, + "ending_column": 0 + } + }, + "signature": "startAuction()" + } + } + } + } + ], + "description": "DaiGoldAuction.startAuction() (contracts/templegold/DaiGoldAuction.sol#99-120) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- prevAuctionInfo.endTime + config.auctionsTimeDiff > block.timestamp (contracts/templegold/DaiGoldAuction.sol#106)\n", + "markdown": "[DaiGoldAuction.startAuction()](contracts/templegold/DaiGoldAuction.sol#L99-L120) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- [prevAuctionInfo.endTime + config.auctionsTimeDiff > block.timestamp](contracts/templegold/DaiGoldAuction.sol#L106)\n", + "first_markdown_element": "contracts/templegold/DaiGoldAuction.sol#L99-L120", + "id": "20d936c91242412a459564c642e8c22c2135444d9b2bc9189028901d48151b61", + "check": "timestamp", + "impact": "Low", + "confidence": "Medium" + }, + { + "elements": [ + { + "type": "function", + "name": "setAuctionConfig", + "source_mapping": { + "start": 2508, + "length": 958, + "filename_relative": "contracts/templegold/SpiceAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/SpiceAuction.sol", + "filename_short": "contracts/templegold/SpiceAuction.sol", + "is_dependency": false, + "lines": [ + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "SpiceAuction", + "source_mapping": { + "start": 652, + "length": 8750, + "filename_relative": "contracts/templegold/SpiceAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/SpiceAuction.sol", + "filename_short": "contracts/templegold/SpiceAuction.sol", + "is_dependency": false, + "lines": [ + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196 + ], + "starting_column": 1, + "ending_column": 0 + } + }, + "signature": "setAuctionConfig(ISpiceAuction.SpiceAuctionConfig)" + } + }, + { + "type": "node", + "name": "info.startTime <= block.timestamp", + "source_mapping": { + "start": 2882, + "length": 33, + "filename_relative": "contracts/templegold/SpiceAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/SpiceAuction.sol", + "filename_short": "contracts/templegold/SpiceAuction.sol", + "is_dependency": false, + "lines": [ + 61 + ], + "starting_column": 13, + "ending_column": 46 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "setAuctionConfig", + "source_mapping": { + "start": 2508, + "length": 958, + "filename_relative": "contracts/templegold/SpiceAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/SpiceAuction.sol", + "filename_short": "contracts/templegold/SpiceAuction.sol", + "is_dependency": false, + "lines": [ + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "SpiceAuction", + "source_mapping": { + "start": 652, + "length": 8750, + "filename_relative": "contracts/templegold/SpiceAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/SpiceAuction.sol", + "filename_short": "contracts/templegold/SpiceAuction.sol", + "is_dependency": false, + "lines": [ + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196 + ], + "starting_column": 1, + "ending_column": 0 + } + }, + "signature": "setAuctionConfig(ISpiceAuction.SpiceAuctionConfig)" + } + } + } + } + ], + "description": "SpiceAuction.setAuctionConfig(ISpiceAuction.SpiceAuctionConfig) (contracts/templegold/SpiceAuction.sol#55-70) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- info.startTime <= block.timestamp (contracts/templegold/SpiceAuction.sol#61)\n", + "markdown": "[SpiceAuction.setAuctionConfig(ISpiceAuction.SpiceAuctionConfig)](contracts/templegold/SpiceAuction.sol#L55-L70) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- [info.startTime <= block.timestamp](contracts/templegold/SpiceAuction.sol#L61)\n", + "first_markdown_element": "contracts/templegold/SpiceAuction.sol#L55-L70", + "id": "de4f0f07b77a54e8a3ebef6f08c9cdc52ee36bbce02e858f9fc870b2e50214c4", + "check": "timestamp", + "impact": "Low", + "confidence": "Medium" + }, + { + "elements": [ + { + "type": "function", + "name": "removeAuctionConfig", + "source_mapping": { + "start": 3521, + "length": 464, + "filename_relative": "contracts/templegold/SpiceAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/SpiceAuction.sol", + "filename_short": "contracts/templegold/SpiceAuction.sol", + "is_dependency": false, + "lines": [ + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "SpiceAuction", + "source_mapping": { + "start": 652, + "length": 8750, + "filename_relative": "contracts/templegold/SpiceAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/SpiceAuction.sol", + "filename_short": "contracts/templegold/SpiceAuction.sol", + "is_dependency": false, + "lines": [ + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196 + ], + "starting_column": 1, + "ending_column": 0 + } + }, + "signature": "removeAuctionConfig()" + } + }, + { + "type": "node", + "name": "info.startTime <= block.timestamp", + "source_mapping": { + "start": 3785, + "length": 33, + "filename_relative": "contracts/templegold/SpiceAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/SpiceAuction.sol", + "filename_short": "contracts/templegold/SpiceAuction.sol", + "is_dependency": false, + "lines": [ + 78 + ], + "starting_column": 13, + "ending_column": 46 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "removeAuctionConfig", + "source_mapping": { + "start": 3521, + "length": 464, + "filename_relative": "contracts/templegold/SpiceAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/SpiceAuction.sol", + "filename_short": "contracts/templegold/SpiceAuction.sol", + "is_dependency": false, + "lines": [ + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "SpiceAuction", + "source_mapping": { + "start": 652, + "length": 8750, + "filename_relative": "contracts/templegold/SpiceAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/SpiceAuction.sol", + "filename_short": "contracts/templegold/SpiceAuction.sol", + "is_dependency": false, + "lines": [ + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196 + ], + "starting_column": 1, + "ending_column": 0 + } + }, + "signature": "removeAuctionConfig()" + } + } + } + } + ], + "description": "SpiceAuction.removeAuctionConfig() (contracts/templegold/SpiceAuction.sol#73-82) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- info.startTime <= block.timestamp (contracts/templegold/SpiceAuction.sol#78)\n", + "markdown": "[SpiceAuction.removeAuctionConfig()](contracts/templegold/SpiceAuction.sol#L73-L82) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- [info.startTime <= block.timestamp](contracts/templegold/SpiceAuction.sol#L78)\n", + "first_markdown_element": "contracts/templegold/SpiceAuction.sol#L73-L82", + "id": "884316ca1e714a8bcb49781a836ace8684c744a3fbcc929b7b358550c4954188", + "check": "timestamp", + "impact": "Low", + "confidence": "Medium" + }, + { + "elements": [ + { + "type": "function", + "name": "startAuction", + "source_mapping": { + "start": 3991, + "length": 2328, + "filename_relative": "contracts/templegold/SpiceAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/SpiceAuction.sol", + "filename_short": "contracts/templegold/SpiceAuction.sol", + "is_dependency": false, + "lines": [ + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "SpiceAuction", + "source_mapping": { + "start": 652, + "length": 8750, + "filename_relative": "contracts/templegold/SpiceAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/SpiceAuction.sol", + "filename_short": "contracts/templegold/SpiceAuction.sol", + "is_dependency": false, + "lines": [ + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196 + ], + "starting_column": 1, + "ending_column": 0 + } + }, + "signature": "startAuction()" + } + }, + { + "type": "node", + "name": "lastEpochInfo.endTime + config.waitPeriod > block.timestamp", + "source_mapping": { + "start": 4561, + "length": 59, + "filename_relative": "contracts/templegold/SpiceAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/SpiceAuction.sol", + "filename_short": "contracts/templegold/SpiceAuction.sol", + "is_dependency": false, + "lines": [ + 93 + ], + "starting_column": 17, + "ending_column": 76 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "startAuction", + "source_mapping": { + "start": 3991, + "length": 2328, + "filename_relative": "contracts/templegold/SpiceAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/SpiceAuction.sol", + "filename_short": "contracts/templegold/SpiceAuction.sol", + "is_dependency": false, + "lines": [ + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "SpiceAuction", + "source_mapping": { + "start": 652, + "length": 8750, + "filename_relative": "contracts/templegold/SpiceAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/SpiceAuction.sol", + "filename_short": "contracts/templegold/SpiceAuction.sol", + "is_dependency": false, + "lines": [ + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196 + ], + "starting_column": 1, + "ending_column": 0 + } + }, + "signature": "startAuction()" + } + } + } + }, + { + "type": "node", + "name": "_deoloyTimestamp + config.waitPeriod > block.timestamp", + "source_mapping": { + "start": 4722, + "length": 54, + "filename_relative": "contracts/templegold/SpiceAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/SpiceAuction.sol", + "filename_short": "contracts/templegold/SpiceAuction.sol", + "is_dependency": false, + "lines": [ + 96 + ], + "starting_column": 17, + "ending_column": 71 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "startAuction", + "source_mapping": { + "start": 3991, + "length": 2328, + "filename_relative": "contracts/templegold/SpiceAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/SpiceAuction.sol", + "filename_short": "contracts/templegold/SpiceAuction.sol", + "is_dependency": false, + "lines": [ + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "SpiceAuction", + "source_mapping": { + "start": 652, + "length": 8750, + "filename_relative": "contracts/templegold/SpiceAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/SpiceAuction.sol", + "filename_short": "contracts/templegold/SpiceAuction.sol", + "is_dependency": false, + "lines": [ + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196 + ], + "starting_column": 1, + "ending_column": 0 + } + }, + "signature": "startAuction()" + } + } + } + } + ], + "description": "SpiceAuction.startAuction() (contracts/templegold/SpiceAuction.sol#84-122) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- lastEpochInfo.endTime + config.waitPeriod > block.timestamp (contracts/templegold/SpiceAuction.sol#93)\n\t- _deoloyTimestamp + config.waitPeriod > block.timestamp (contracts/templegold/SpiceAuction.sol#96)\n", + "markdown": "[SpiceAuction.startAuction()](contracts/templegold/SpiceAuction.sol#L84-L122) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- [lastEpochInfo.endTime + config.waitPeriod > block.timestamp](contracts/templegold/SpiceAuction.sol#L93)\n\t- [_deoloyTimestamp + config.waitPeriod > block.timestamp](contracts/templegold/SpiceAuction.sol#L96)\n", + "first_markdown_element": "contracts/templegold/SpiceAuction.sol#L84-L122", + "id": "ad65698a7ea6dd1273e1c7713a24744a95de9310733be5406b49f11f541f17b6", + "check": "timestamp", + "impact": "Low", + "confidence": "Medium" + }, + { + "elements": [ + { + "type": "function", + "name": "_getMintAmount", + "source_mapping": { + "start": 10266, + "length": 551, + "filename_relative": "contracts/templegold/TempleGold.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGold.sol", + "filename_short": "contracts/templegold/TempleGold.sol", + "is_dependency": false, + "lines": [ + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "TempleGold", + "source_mapping": { + "start": 1659, + "length": 13235, + "filename_relative": "contracts/templegold/TempleGold.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGold.sol", + "filename_short": "contracts/templegold/TempleGold.sol", + "is_dependency": false, + "lines": [ + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336 + ], + "starting_column": 2, + "ending_column": 0 + } + }, + "signature": "_getMintAmount(ITempleGold.VestingFactor)" + } + }, + { + "type": "node", + "name": "lastMintTimestamp == 0", + "source_mapping": { + "start": 10423, + "length": 22, + "filename_relative": "contracts/templegold/TempleGold.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGold.sol", + "filename_short": "contracts/templegold/TempleGold.sol", + "is_dependency": false, + "lines": [ + 242 + ], + "starting_column": 13, + "ending_column": 35 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "_getMintAmount", + "source_mapping": { + "start": 10266, + "length": 551, + "filename_relative": "contracts/templegold/TempleGold.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGold.sol", + "filename_short": "contracts/templegold/TempleGold.sol", + "is_dependency": false, + "lines": [ + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "TempleGold", + "source_mapping": { + "start": 1659, + "length": 13235, + "filename_relative": "contracts/templegold/TempleGold.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGold.sol", + "filename_short": "contracts/templegold/TempleGold.sol", + "is_dependency": false, + "lines": [ + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336 + ], + "starting_column": 2, + "ending_column": 0 + } + }, + "signature": "_getMintAmount(ITempleGold.VestingFactor)" + } + } + } + } + ], + "description": "TempleGold._getMintAmount(ITempleGold.VestingFactor) (contracts/templegold/TempleGold.sol#240-247) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- lastMintTimestamp == 0 (contracts/templegold/TempleGold.sol#242)\n", + "markdown": "[TempleGold._getMintAmount(ITempleGold.VestingFactor)](contracts/templegold/TempleGold.sol#L240-L247) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- [lastMintTimestamp == 0](contracts/templegold/TempleGold.sol#L242)\n", + "first_markdown_element": "contracts/templegold/TempleGold.sol#L240-L247", + "id": "37661e298d1cfbff602e385b7b7c1e6d2d187930e66db1c996b496864b347236", + "check": "timestamp", + "impact": "Low", + "confidence": "Medium" + }, + { + "elements": [ + { + "type": "function", + "name": "distributeRewards", + "source_mapping": { + "start": 6639, + "length": 625, + "filename_relative": "contracts/templegold/TempleGoldStaking.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGoldStaking.sol", + "filename_short": "contracts/templegold/TempleGoldStaking.sol", + "is_dependency": false, + "lines": [ + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "TempleGoldStaking", + "source_mapping": { + "start": 1239, + "length": 16951, + "filename_relative": "contracts/templegold/TempleGoldStaking.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGoldStaking.sol", + "filename_short": "contracts/templegold/TempleGoldStaking.sol", + "is_dependency": false, + "lines": [ + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480 + ], + "starting_column": 1, + "ending_column": 0 + } + }, + "signature": "distributeRewards()" + } + }, + { + "type": "node", + "name": "lastRewardNotificationTimestamp + rewardDistributionCoolDown < block.timestamp", + "source_mapping": { + "start": 7081, + "length": 78, + "filename_relative": "contracts/templegold/TempleGoldStaking.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGoldStaking.sol", + "filename_short": "contracts/templegold/TempleGoldStaking.sol", + "is_dependency": false, + "lines": [ + 159 + ], + "starting_column": 13, + "ending_column": 91 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "distributeRewards", + "source_mapping": { + "start": 6639, + "length": 625, + "filename_relative": "contracts/templegold/TempleGoldStaking.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGoldStaking.sol", + "filename_short": "contracts/templegold/TempleGoldStaking.sol", + "is_dependency": false, + "lines": [ + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "TempleGoldStaking", + "source_mapping": { + "start": 1239, + "length": 16951, + "filename_relative": "contracts/templegold/TempleGoldStaking.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGoldStaking.sol", + "filename_short": "contracts/templegold/TempleGoldStaking.sol", + "is_dependency": false, + "lines": [ + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480 + ], + "starting_column": 1, + "ending_column": 0 + } + }, + "signature": "distributeRewards()" + } + } + } + } + ], + "description": "TempleGoldStaking.distributeRewards() (contracts/templegold/TempleGoldStaking.sol#153-162) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- lastRewardNotificationTimestamp + rewardDistributionCoolDown < block.timestamp (contracts/templegold/TempleGoldStaking.sol#159)\n", + "markdown": "[TempleGoldStaking.distributeRewards()](contracts/templegold/TempleGoldStaking.sol#L153-L162) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- [lastRewardNotificationTimestamp + rewardDistributionCoolDown < block.timestamp](contracts/templegold/TempleGoldStaking.sol#L159)\n", + "first_markdown_element": "contracts/templegold/TempleGoldStaking.sol#L153-L162", + "id": "91ea6bef155d8db379998ed30a187f07bd2fdbb39ad69485615cbd36d2b06e4b", + "check": "timestamp", + "impact": "Low", + "confidence": "Medium" + }, + { + "elements": [ + { + "type": "function", + "name": "_notifyReward", + "source_mapping": { + "start": 14291, + "length": 592, + "filename_relative": "contracts/templegold/TempleGoldStaking.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGoldStaking.sol", + "filename_short": "contracts/templegold/TempleGoldStaking.sol", + "is_dependency": false, + "lines": [ + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "TempleGoldStaking", + "source_mapping": { + "start": 1239, + "length": 16951, + "filename_relative": "contracts/templegold/TempleGoldStaking.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGoldStaking.sol", + "filename_short": "contracts/templegold/TempleGoldStaking.sol", + "is_dependency": false, + "lines": [ + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480 + ], + "starting_column": 1, + "ending_column": 0 + } + }, + "signature": "_notifyReward(uint256)" + } + }, + { + "type": "node", + "name": "block.timestamp >= rdata.periodFinish", + "source_mapping": { + "start": 14396, + "length": 37, + "filename_relative": "contracts/templegold/TempleGoldStaking.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGoldStaking.sol", + "filename_short": "contracts/templegold/TempleGoldStaking.sol", + "is_dependency": false, + "lines": [ + 384 + ], + "starting_column": 13, + "ending_column": 50 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "_notifyReward", + "source_mapping": { + "start": 14291, + "length": 592, + "filename_relative": "contracts/templegold/TempleGoldStaking.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGoldStaking.sol", + "filename_short": "contracts/templegold/TempleGoldStaking.sol", + "is_dependency": false, + "lines": [ + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "TempleGoldStaking", + "source_mapping": { + "start": 1239, + "length": 16951, + "filename_relative": "contracts/templegold/TempleGoldStaking.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGoldStaking.sol", + "filename_short": "contracts/templegold/TempleGoldStaking.sol", + "is_dependency": false, + "lines": [ + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480 + ], + "starting_column": 1, + "ending_column": 0 + } + }, + "signature": "_notifyReward(uint256)" + } + } + } + } + ], + "description": "TempleGoldStaking._notifyReward(uint256) (contracts/templegold/TempleGoldStaking.sol#381-394) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- block.timestamp >= rdata.periodFinish (contracts/templegold/TempleGoldStaking.sol#384)\n", + "markdown": "[TempleGoldStaking._notifyReward(uint256)](contracts/templegold/TempleGoldStaking.sol#L381-L394) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- [block.timestamp >= rdata.periodFinish](contracts/templegold/TempleGoldStaking.sol#L384)\n", + "first_markdown_element": "contracts/templegold/TempleGoldStaking.sol#L381-L394", + "id": "65b3f9bc081d0039e3b74501f2f6cd4e04b719bd90042ef3fcf00b8e4ce4814d", + "check": "timestamp", + "impact": "Low", + "confidence": "Medium" + }, + { + "elements": [ + { + "type": "function", + "name": "_lastTimeRewardApplicable", + "source_mapping": { + "start": 14889, + "length": 214, + "filename_relative": "contracts/templegold/TempleGoldStaking.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGoldStaking.sol", + "filename_short": "contracts/templegold/TempleGoldStaking.sol", + "is_dependency": false, + "lines": [ + 396, + 397, + 398, + 399, + 400, + 401 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "TempleGoldStaking", + "source_mapping": { + "start": 1239, + "length": 16951, + "filename_relative": "contracts/templegold/TempleGoldStaking.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGoldStaking.sol", + "filename_short": "contracts/templegold/TempleGoldStaking.sol", + "is_dependency": false, + "lines": [ + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480 + ], + "starting_column": 1, + "ending_column": 0 + } + }, + "signature": "_lastTimeRewardApplicable(uint256)" + } + }, + { + "type": "node", + "name": "_finishTime < block.timestamp", + "source_mapping": { + "start": 14991, + "length": 29, + "filename_relative": "contracts/templegold/TempleGoldStaking.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGoldStaking.sol", + "filename_short": "contracts/templegold/TempleGoldStaking.sol", + "is_dependency": false, + "lines": [ + 397 + ], + "starting_column": 13, + "ending_column": 42 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "_lastTimeRewardApplicable", + "source_mapping": { + "start": 14889, + "length": 214, + "filename_relative": "contracts/templegold/TempleGoldStaking.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGoldStaking.sol", + "filename_short": "contracts/templegold/TempleGoldStaking.sol", + "is_dependency": false, + "lines": [ + 396, + 397, + 398, + 399, + 400, + 401 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "TempleGoldStaking", + "source_mapping": { + "start": 1239, + "length": 16951, + "filename_relative": "contracts/templegold/TempleGoldStaking.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGoldStaking.sol", + "filename_short": "contracts/templegold/TempleGoldStaking.sol", + "is_dependency": false, + "lines": [ + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480 + ], + "starting_column": 1, + "ending_column": 0 + } + }, + "signature": "_lastTimeRewardApplicable(uint256)" + } + } + } + } + ], + "description": "TempleGoldStaking._lastTimeRewardApplicable(uint256) (contracts/templegold/TempleGoldStaking.sol#396-401) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- _finishTime < block.timestamp (contracts/templegold/TempleGoldStaking.sol#397)\n", + "markdown": "[TempleGoldStaking._lastTimeRewardApplicable(uint256)](contracts/templegold/TempleGoldStaking.sol#L396-L401) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- [_finishTime < block.timestamp](contracts/templegold/TempleGoldStaking.sol#L397)\n", + "first_markdown_element": "contracts/templegold/TempleGoldStaking.sol#L396-L401", + "id": "a9d97e7ac38747c575662dbee1dcd6b931b4d49c326b65b678cf9588fd1bfba9", + "check": "timestamp", + "impact": "Low", + "confidence": "Medium" + }, + { + "elements": [ + { + "type": "function", + "name": "_voteWeight", + "source_mapping": { + "start": 15331, + "length": 797, + "filename_relative": "contracts/templegold/TempleGoldStaking.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGoldStaking.sol", + "filename_short": "contracts/templegold/TempleGoldStaking.sol", + "is_dependency": false, + "lines": [ + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "TempleGoldStaking", + "source_mapping": { + "start": 1239, + "length": 16951, + "filename_relative": "contracts/templegold/TempleGoldStaking.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGoldStaking.sol", + "filename_short": "contracts/templegold/TempleGoldStaking.sol", + "is_dependency": false, + "lines": [ + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480 + ], + "starting_column": 1, + "ending_column": 0 + } + }, + "signature": "_voteWeight(address)" + } + }, + { + "type": "node", + "name": "week > currentWeek", + "source_mapping": { + "start": 15800, + "length": 18, + "filename_relative": "contracts/templegold/TempleGoldStaking.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGoldStaking.sol", + "filename_short": "contracts/templegold/TempleGoldStaking.sol", + "is_dependency": false, + "lines": [ + 416 + ], + "starting_column": 13, + "ending_column": 31 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "_voteWeight", + "source_mapping": { + "start": 15331, + "length": 797, + "filename_relative": "contracts/templegold/TempleGoldStaking.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGoldStaking.sol", + "filename_short": "contracts/templegold/TempleGoldStaking.sol", + "is_dependency": false, + "lines": [ + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "TempleGoldStaking", + "source_mapping": { + "start": 1239, + "length": 16951, + "filename_relative": "contracts/templegold/TempleGoldStaking.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGoldStaking.sol", + "filename_short": "contracts/templegold/TempleGoldStaking.sol", + "is_dependency": false, + "lines": [ + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480 + ], + "starting_column": 1, + "ending_column": 0 + } + }, + "signature": "_voteWeight(address)" + } + } + } + }, + { + "type": "node", + "name": "week > 0", + "source_mapping": { + "start": 15972, + "length": 8, + "filename_relative": "contracts/templegold/TempleGoldStaking.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGoldStaking.sol", + "filename_short": "contracts/templegold/TempleGoldStaking.sol", + "is_dependency": false, + "lines": [ + 421 + ], + "starting_column": 13, + "ending_column": 21 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "_voteWeight", + "source_mapping": { + "start": 15331, + "length": 797, + "filename_relative": "contracts/templegold/TempleGoldStaking.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGoldStaking.sol", + "filename_short": "contracts/templegold/TempleGoldStaking.sol", + "is_dependency": false, + "lines": [ + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "TempleGoldStaking", + "source_mapping": { + "start": 1239, + "length": 16951, + "filename_relative": "contracts/templegold/TempleGoldStaking.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGoldStaking.sol", + "filename_short": "contracts/templegold/TempleGoldStaking.sol", + "is_dependency": false, + "lines": [ + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480 + ], + "starting_column": 1, + "ending_column": 0 + } + }, + "signature": "_voteWeight(address)" + } + } + } + } + ], + "description": "TempleGoldStaking._voteWeight(address) (contracts/templegold/TempleGoldStaking.sol#410-425) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- week > currentWeek (contracts/templegold/TempleGoldStaking.sol#416)\n\t- week > 0 (contracts/templegold/TempleGoldStaking.sol#421)\n", + "markdown": "[TempleGoldStaking._voteWeight(address)](contracts/templegold/TempleGoldStaking.sol#L410-L425) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- [week > currentWeek](contracts/templegold/TempleGoldStaking.sol#L416)\n\t- [week > 0](contracts/templegold/TempleGoldStaking.sol#L421)\n", + "first_markdown_element": "contracts/templegold/TempleGoldStaking.sol#L410-L425", + "id": "a7d2920e88b691d4cce921d1c2c49afde21d9586b3c2be72d4437f82695ea4a9", + "check": "timestamp", + "impact": "Low", + "confidence": "Medium" + }, + { + "elements": [ + { + "type": "function", + "name": "_updateAccountWeight", + "source_mapping": { + "start": 16134, + "length": 1111, + "filename_relative": "contracts/templegold/TempleGoldStaking.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGoldStaking.sol", + "filename_short": "contracts/templegold/TempleGoldStaking.sol", + "is_dependency": false, + "lines": [ + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "TempleGoldStaking", + "source_mapping": { + "start": 1239, + "length": 16951, + "filename_relative": "contracts/templegold/TempleGoldStaking.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGoldStaking.sol", + "filename_short": "contracts/templegold/TempleGoldStaking.sol", + "is_dependency": false, + "lines": [ + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480 + ], + "starting_column": 1, + "ending_column": 0 + } + }, + "signature": "_updateAccountWeight(address,uint256,uint256,bool)" + } + }, + { + "type": "node", + "name": "week > 0 && currentWeek > week", + "source_mapping": { + "start": 16522, + "length": 30, + "filename_relative": "contracts/templegold/TempleGoldStaking.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGoldStaking.sol", + "filename_short": "contracts/templegold/TempleGoldStaking.sol", + "is_dependency": false, + "lines": [ + 434 + ], + "starting_column": 13, + "ending_column": 43 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "_updateAccountWeight", + "source_mapping": { + "start": 16134, + "length": 1111, + "filename_relative": "contracts/templegold/TempleGoldStaking.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGoldStaking.sol", + "filename_short": "contracts/templegold/TempleGoldStaking.sol", + "is_dependency": false, + "lines": [ + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "TempleGoldStaking", + "source_mapping": { + "start": 1239, + "length": 16951, + "filename_relative": "contracts/templegold/TempleGoldStaking.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGoldStaking.sol", + "filename_short": "contracts/templegold/TempleGoldStaking.sol", + "is_dependency": false, + "lines": [ + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480 + ], + "starting_column": 1, + "ending_column": 0 + } + }, + "signature": "_updateAccountWeight(address,uint256,uint256,bool)" + } + } + } + } + ], + "description": "TempleGoldStaking._updateAccountWeight(address,uint256,uint256,bool) (contracts/templegold/TempleGoldStaking.sol#427-453) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- week > 0 && currentWeek > week (contracts/templegold/TempleGoldStaking.sol#434)\n", + "markdown": "[TempleGoldStaking._updateAccountWeight(address,uint256,uint256,bool)](contracts/templegold/TempleGoldStaking.sol#L427-L453) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- [week > 0 && currentWeek > week](contracts/templegold/TempleGoldStaking.sol#L434)\n", + "first_markdown_element": "contracts/templegold/TempleGoldStaking.sol#L427-L453", + "id": "78e19d4e121099d752c9c04286149975759d1d025ae813fdf721e7ebbfa6db8c", + "check": "timestamp", + "impact": "Low", + "confidence": "Medium" + }, + { + "elements": [ + { + "type": "function", + "name": "_beforeTokenTransfer", + "source_mapping": { + "start": 8879, + "length": 371, + "filename_relative": "contracts/templegold/TempleGold.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGold.sol", + "filename_short": "contracts/templegold/TempleGold.sol", + "is_dependency": false, + "lines": [ + 210, + 211, + 212, + 213, + 214, + 215, + 216 + ], + "starting_column": 5, + "ending_column": 6 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "TempleGold", + "source_mapping": { + "start": 1659, + "length": 13235, + "filename_relative": "contracts/templegold/TempleGold.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGold.sol", + "filename_short": "contracts/templegold/TempleGold.sol", + "is_dependency": false, + "lines": [ + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336 + ], + "starting_column": 2, + "ending_column": 0 + } + }, + "signature": "_beforeTokenTransfer(address,address)" + } + } + ], + "description": "TempleGold._beforeTokenTransfer(address,address) (contracts/templegold/TempleGold.sol#210-216) is never used and should be removed\n", + "markdown": "[TempleGold._beforeTokenTransfer(address,address)](contracts/templegold/TempleGold.sol#L210-L216) is never used and should be removed\n", + "first_markdown_element": "contracts/templegold/TempleGold.sol#L210-L216", + "id": "56651a1debc00d687bf4045303ff22352762b1edaac804b4ad43ea2584b8f6a7", + "check": "dead-code", + "impact": "Informational", + "confidence": "Medium" + }, + { + "elements": [ + { + "type": "contract", + "name": "TempleGoldProxy", + "source_mapping": { + "start": 743, + "length": 4879, + "filename_relative": "contracts/templegold/TempleGoldProxy.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGoldProxy.sol", + "filename_short": "contracts/templegold/TempleGoldProxy.sol", + "is_dependency": false, + "lines": [ + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128 + ], + "starting_column": 1, + "ending_column": 0 + } + }, + { + "type": "contract", + "name": "IOFTCore", + "source_mapping": { + "start": 324, + "length": 426, + "filename_relative": "contracts/interfaces/templegold/ITempleGoldProxy.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/interfaces/templegold/ITempleGoldProxy.sol", + "filename_short": "contracts/interfaces/templegold/ITempleGoldProxy.sol", + "is_dependency": false, + "lines": [ + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18 + ], + "starting_column": 1, + "ending_column": 2 + } + } + ], + "description": "TempleGoldProxy (contracts/templegold/TempleGoldProxy.sol#13-128) should inherit from IOFTCore (contracts/interfaces/templegold/ITempleGoldProxy.sol#9-18)\n", + "markdown": "[TempleGoldProxy](contracts/templegold/TempleGoldProxy.sol#L13-L128) should inherit from [IOFTCore](contracts/interfaces/templegold/ITempleGoldProxy.sol#L9-L18)\n", + "first_markdown_element": "contracts/templegold/TempleGoldProxy.sol#L13-L128", + "id": "f816432e7facb850f992765564f1153a3245c03ad7e186fbfa7857a5f9a1da34", + "check": "missing-inheritance", + "impact": "Informational", + "confidence": "High" + }, + { + "elements": [ + { + "type": "variable", + "name": "rewardDistributionCoolDown", + "source_mapping": { + "start": 1886, + "length": 50, + "filename_relative": "contracts/templegold/DaiGoldAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/DaiGoldAuction.sol", + "filename_short": "contracts/templegold/DaiGoldAuction.sol", + "is_dependency": false, + "lines": [ + 38 + ], + "starting_column": 5, + "ending_column": 55 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "DaiGoldAuction", + "source_mapping": { + "start": 1163, + "length": 8142, + "filename_relative": "contracts/templegold/DaiGoldAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/DaiGoldAuction.sol", + "filename_short": "contracts/templegold/DaiGoldAuction.sol", + "is_dependency": false, + "lines": [ + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240 + ], + "starting_column": 1, + "ending_column": 0 + } + } + } + } + ], + "description": "DaiGoldAuction.rewardDistributionCoolDown (contracts/templegold/DaiGoldAuction.sol#38) should be constant \n", + "markdown": "[DaiGoldAuction.rewardDistributionCoolDown](contracts/templegold/DaiGoldAuction.sol#L38) should be constant \n", + "first_markdown_element": "contracts/templegold/DaiGoldAuction.sol#L38", + "id": "fda8ebb3e5895de3df1f016a0fc9fe921963fd0eabc08bef270539cb5a38b0ee", + "check": "constable-states", + "impact": "Optimization", + "confidence": "High" + }, + { + "elements": [ + { + "type": "variable", + "name": "_deoloyTimestamp", + "source_mapping": { + "start": 1441, + "length": 32, + "filename_relative": "contracts/templegold/SpiceAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/SpiceAuction.sol", + "filename_short": "contracts/templegold/SpiceAuction.sol", + "is_dependency": false, + "lines": [ + 31 + ], + "starting_column": 5, + "ending_column": 37 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "SpiceAuction", + "source_mapping": { + "start": 652, + "length": 8750, + "filename_relative": "contracts/templegold/SpiceAuction.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/SpiceAuction.sol", + "filename_short": "contracts/templegold/SpiceAuction.sol", + "is_dependency": false, + "lines": [ + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196 + ], + "starting_column": 1, + "ending_column": 0 + } + } + } + } + ], + "description": "SpiceAuction._deoloyTimestamp (contracts/templegold/SpiceAuction.sol#31) should be immutable \n", + "markdown": "[SpiceAuction._deoloyTimestamp](contracts/templegold/SpiceAuction.sol#L31) should be immutable \n", + "first_markdown_element": "contracts/templegold/SpiceAuction.sol#L31", + "id": "3a49fd8b7dacae3385d74cf4d62ab633528feb8d1e1be05b59248ccd7d02cd48", + "check": "immutable-states", + "impact": "Optimization", + "confidence": "High" + }, + { + "elements": [ + { + "type": "variable", + "name": "templeGold", + "source_mapping": { + "start": 844, + "length": 38, + "filename_relative": "contracts/templegold/TempleGoldProxy.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGoldProxy.sol", + "filename_short": "contracts/templegold/TempleGoldProxy.sol", + "is_dependency": false, + "lines": [ + 15 + ], + "starting_column": 5, + "ending_column": 43 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "TempleGoldProxy", + "source_mapping": { + "start": 743, + "length": 4879, + "filename_relative": "contracts/templegold/TempleGoldProxy.sol", + "filename_absolute": "/Users/pb/code/templedao/mar_2024/temple/protocol/contracts/templegold/TempleGoldProxy.sol", + "filename_short": "contracts/templegold/TempleGoldProxy.sol", + "is_dependency": false, + "lines": [ + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128 + ], + "starting_column": 1, + "ending_column": 0 + } + } + } + } + ], + "description": "TempleGoldProxy.templeGold (contracts/templegold/TempleGoldProxy.sol#15) should be immutable \n", + "markdown": "[TempleGoldProxy.templeGold](contracts/templegold/TempleGoldProxy.sol#L15) should be immutable \n", + "first_markdown_element": "contracts/templegold/TempleGoldProxy.sol#L15", + "id": "6e92a51aec726c16cd494c0395ad948ecc1591b0f87cb3dfbc28def17447b825", + "check": "immutable-states", + "impact": "Optimization", + "confidence": "High" + }, { "elements": [ {