ETH Price: $2,539.34 (-0.20%)

Transaction Decoder

Block:
20771639 at Sep-17-2024 04:52:11 PM +UTC
Transaction Fee:
0.009791380992815024 ETH $24.86
Gas Used:
295,924 Gas / 33.087485276 Gwei

Emitted Events:

151 PolygonEcosystemToken.Transfer( from=StakeManagerProxy, to=[Sender] 0xa9f26546a1bb3283d6edb7f49d89cce85c4d6671, value=126213952235378657107 )
152 StakingInfo.DelegatorClaimedRewards( validatorId=118, user=[Sender] 0xa9f26546a1bb3283d6edb7f49d89cce85c4d6671, rewards=126213952235378657107 )
153 ValidatorShareProxy.0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef( 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef, 0x000000000000000000000000a9f26546a1bb3283d6edb7f49d89cce85c4d6671, 0x0000000000000000000000000000000000000000000000000000000000000000, 0000000000000000000000000000000000000000000000538e7c1e39ca3e2e51 )
154 EventsHubProxy.0x502f5a6697a92e602c626b931a4a771fef4360eb9cece7bf906f10c5cec96aaa( 0x502f5a6697a92e602c626b931a4a771fef4360eb9cece7bf906f10c5cec96aaa, 0x0000000000000000000000000000000000000000000000000000000000000076, 0x000000000000000000000000a9f26546a1bb3283d6edb7f49d89cce85c4d6671, 0x0000000000000000000000000000000000000000000000538e7c1e39ca3e2e51, 0000000000000000000000000000000000000000000000538e7c1e39ca3e2e51, 0000000000000000000000000000000000000000000000000000000000000001 )
155 StakingInfo.StakeUpdate( validatorId=118, nonce=1602, newAmount=1628176456551365699443673 )

Account State Difference:

  Address   Before After State Difference Code
0x3EDBF7E0...409364269
0x455e53CB...44aFFC3F6
(Titan Builder)
7.394012878898381503 Eth7.394752688898381503 Eth0.00073981
0x5e3Ef299...e8c13D908
(Polygon (Matic): PoS Staking Contract)
0xa59C847B...A71A7512B
(Polygon (Matic): Staking Info)
0xa9F26546...85c4d6671
0.247997340108055854 Eth
Nonce: 272
0.23820595911524083 Eth
Nonce: 273
0.009791380992815024

Execution Trace

ValidatorShareProxy.e570b78b( )
  • Registry.STATICCALL( )
  • ValidatorShare.sellVoucher_newPOL( claimAmount=1541346872601945714257, maximumSharesToBurn=1541346872601945714257 )
    • StakeManagerProxy.7f4b4323( )
      • StakeManager.delegatedAmount( validatorId=118 ) => ( 1627167803423967645157930 )
      • StakeManagerProxy.7ed4b27c( )
      • StakeManagerProxy.c7f067cb( )
        • StakeManager.transferFundsPOL( validatorId=118, amount=126213952235378657107, delegator=0xa9F26546a1bB3283d6EDb7F49D89CCE85c4d6671 ) => ( True )
          • PolygonEcosystemToken.transfer( to=0xa9F26546a1bB3283d6EDb7F49D89CCE85c4d6671, amount=126213952235378657107 ) => ( True )
          • StakingInfo.logDelegatorClaimRewards( validatorId=118, user=0xa9F26546a1bB3283d6EDb7F49D89CCE85c4d6671, rewards=126213952235378657107 )
            • Registry.STATICCALL( )
            • StakeManagerProxy.35aa2e44( )
              • StakeManager.validators( 118 ) => ( amount=2550000000000000000000, reward=8249564692935288619060, activationEpoch=11448, deactivationEpoch=0, jailTime=0, signer=0x5fFD4EFfD8E476C72FddC75BcD31f421001F9Ce6, contractAddress=0x3EDBF7E027D280BCd8126a87f382941409364269, status=1, commissionRate=3, lastCommissionUpdate=40943, delegatorsReward=1, delegatedAmount=1627167803423967645157930, initialRewardPerStake=2881820537197464458205563 )
              • StakeManagerProxy.9ff11500( )
              • StakeManagerProxy.STATICCALL( )
                • StakeManager.DELEGATECALL( )
                • EventsHubProxy.5536b682( )
                  • EventsHub.logShareBurnedWithId( validatorId=118, user=0xa9F26546a1bB3283d6EDb7F49D89CCE85c4d6671, amount=1541346872601945714257, tokens=1541346872601945714257, nonce=1 )
                    • Registry.STATICCALL( )
                    • StakeManagerProxy.35aa2e44( )
                      • StakeManager.validators( 118 ) => ( amount=2550000000000000000000, reward=8249564692935288619060, activationEpoch=11448, deactivationEpoch=0, jailTime=0, signer=0x5fFD4EFfD8E476C72FddC75BcD31f421001F9Ce6, contractAddress=0x3EDBF7E027D280BCd8126a87f382941409364269, status=1, commissionRate=3, lastCommissionUpdate=40943, delegatorsReward=1, delegatedAmount=1625626456551365699443673, initialRewardPerStake=2881820537197464458205563 )
                      • StakingInfo.logStakeUpdate( validatorId=118 )
                        • Registry.STATICCALL( )
                        • StakeManagerProxy.35aa2e44( )
                          • StakeManager.validators( 118 ) => ( amount=2550000000000000000000, reward=8249564692935288619060, activationEpoch=11448, deactivationEpoch=0, jailTime=0, signer=0x5fFD4EFfD8E476C72FddC75BcD31f421001F9Ce6, contractAddress=0x3EDBF7E027D280BCd8126a87f382941409364269, status=1, commissionRate=3, lastCommissionUpdate=40943, delegatorsReward=1, delegatedAmount=1625626456551365699443673, initialRewardPerStake=2881820537197464458205563 )
                          • Registry.STATICCALL( )
                          • StakeManagerProxy.35aa2e44( )
                            • StakeManager.validators( 118 ) => ( amount=2550000000000000000000, reward=8249564692935288619060, activationEpoch=11448, deactivationEpoch=0, jailTime=0, signer=0x5fFD4EFfD8E476C72FddC75BcD31f421001F9Ce6, contractAddress=0x3EDBF7E027D280BCd8126a87f382941409364269, status=1, commissionRate=3, lastCommissionUpdate=40943, delegatorsReward=1, delegatedAmount=1625626456551365699443673, initialRewardPerStake=2881820537197464458205563 )
                            • ValidatorShareProxy.STATICCALL( )
                              • Registry.STATICCALL( )
                              • ValidatorShare.DELEGATECALL( )
                                File 1 of 9: ValidatorShareProxy
                                1
                                2
                                3
                                4
                                5
                                6
                                7
                                8
                                9
                                10
                                11
                                12
                                13
                                14
                                15
                                16
                                // File: openzeppelin-solidity/contracts/ownership/Ownable.sol
                                pragma solidity ^0.5.2;
                                /**
                                * @title Ownable
                                * @dev The Ownable contract has an owner address, and provides basic authorization control
                                * functions, this simplifies the implementation of "user permissions".
                                */
                                contract Ownable {
                                address private _owner;
                                event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
                                /**
                                * @dev The Ownable constructor sets the original `owner` of the contract to the sender
                                XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

                                File 2 of 9: StakeManagerProxy
                                1
                                2
                                3
                                4
                                5
                                6
                                7
                                8
                                9
                                10
                                11
                                12
                                13
                                14
                                15
                                16
                                // File: openzeppelin-solidity/contracts/ownership/Ownable.sol
                                pragma solidity ^0.5.2;
                                /**
                                * @title Ownable
                                * @dev The Ownable contract has an owner address, and provides basic authorization control
                                * functions, this simplifies the implementation of "user permissions".
                                */
                                contract Ownable {
                                address private _owner;
                                event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
                                /**
                                * @dev The Ownable constructor sets the original `owner` of the contract to the sender
                                XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

                                File 3 of 9: PolygonEcosystemToken
                                1
                                2
                                3
                                4
                                5
                                6
                                7
                                8
                                9
                                10
                                11
                                12
                                13
                                14
                                15
                                // SPDX-License-Identifier: MIT
                                pragma solidity 0.8.21;
                                import {ERC20, ERC20Permit, IERC20} from "openzeppelin-contracts/contracts/token/ERC20/extensions/ERC20Permit.sol";
                                import {AccessControlEnumerable} from "openzeppelin-contracts/contracts/access/AccessControlEnumerable.sol";
                                import {IPolygonEcosystemToken} from "./interfaces/IPolygonEcosystemToken.sol";
                                /// @title Polygon ERC20 token
                                /// @author Polygon Labs (@DhairyaSethi, @gretzke, @qedk, @simonDos)
                                /// @notice This is the Polygon ERC20 token contract on Ethereum L1
                                /// @dev The contract allows for a 1-to-1 representation between $POL and $MATIC and allows for additional emission based on hub and treasury
                                    requirements
                                /// @custom:security-contact security@polygon.technology
                                contract PolygonEcosystemToken is ERC20Permit, AccessControlEnumerable, IPolygonEcosystemToken {
                                bytes32 public constant EMISSION_ROLE = keccak256("EMISSION_ROLE");
                                bytes32 public constant CAP_MANAGER_ROLE = keccak256("CAP_MANAGER_ROLE");
                                bytes32 public constant PERMIT2_REVOKER_ROLE = keccak256("PERMIT2_REVOKER_ROLE");
                                address public constant PERMIT2 = 0x000000000022D473030F116dDEE9F6B43aC78BA3;
                                XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

                                File 4 of 9: StakingInfo
                                1
                                2
                                3
                                4
                                5
                                6
                                7
                                8
                                9
                                10
                                11
                                12
                                13
                                14
                                15
                                16
                                // File: contracts/common/governance/IGovernance.sol
                                pragma solidity ^0.5.2;
                                interface IGovernance {
                                function update(address target, bytes calldata data) external;
                                }
                                // File: contracts/common/governance/Governable.sol
                                pragma solidity ^0.5.2;
                                contract Governable {
                                IGovernance public governance;
                                XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

                                File 5 of 9: EventsHubProxy
                                1
                                2
                                3
                                4
                                5
                                6
                                7
                                8
                                9
                                10
                                11
                                12
                                13
                                14
                                15
                                16
                                // File: contracts/common/misc/ERCProxy.sol
                                /*
                                * SPDX-License-Identitifer: MIT
                                */
                                pragma solidity ^0.5.2;
                                // See https://github.com/ethereum/EIPs/blob/master/EIPS/eip-897.md
                                interface ERCProxy {
                                function proxyType() external pure returns (uint256 proxyTypeId);
                                function implementation() external view returns (address codeAddr);
                                }
                                // File: contracts/common/misc/DelegateProxyForwarder.sol
                                XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

                                File 6 of 9: Registry
                                1
                                2
                                3
                                4
                                5
                                6
                                7
                                8
                                9
                                10
                                11
                                12
                                13
                                14
                                15
                                16
                                /**
                                Matic network contracts
                                */
                                pragma solidity ^0.5.2;
                                interface IGovernance {
                                function update(address target, bytes calldata data) external;
                                }
                                contract Governable {
                                IGovernance public governance;
                                constructor(address _governance) public {
                                governance = IGovernance(_governance);
                                XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

                                File 7 of 9: ValidatorShare
                                1
                                2
                                3
                                4
                                5
                                6
                                7
                                8
                                9
                                10
                                11
                                12
                                13
                                14
                                15
                                16
                                pragma solidity 0.5.17;
                                import {Registry} from "../../common/Registry.sol";
                                import {ERC20NonTradable} from "../../common/tokens/ERC20NonTradable.sol";
                                import {ERC20} from "openzeppelin-solidity/contracts/token/ERC20/ERC20.sol";
                                import {StakingInfo} from "./../StakingInfo.sol";
                                import {EventsHub} from "./../EventsHub.sol";
                                import {OwnableLockable} from "../../common/mixin/OwnableLockable.sol";
                                import {IStakeManager} from "../stakeManager/IStakeManager.sol";
                                import {IValidatorShare} from "./IValidatorShare.sol";
                                import {Initializable} from "../../common/mixin/Initializable.sol";
                                import {IERC20Permit} from "./../../common/misc/IERC20Permit.sol";
                                contract ValidatorShare is IValidatorShare, ERC20NonTradable, OwnableLockable, Initializable {
                                struct DelegatorUnbond {
                                uint256 shares;
                                uint256 withdrawEpoch;
                                }
                                XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

                                File 8 of 9: StakeManager
                                1
                                2
                                3
                                4
                                5
                                6
                                7
                                8
                                9
                                10
                                11
                                12
                                13
                                14
                                15
                                16
                                pragma solidity 0.5.17;
                                import {IERC20} from "openzeppelin-solidity/contracts/token/ERC20/IERC20.sol";
                                import {Math} from "openzeppelin-solidity/contracts/math/Math.sol";
                                import {SafeMath} from "openzeppelin-solidity/contracts/math/SafeMath.sol";
                                import {RLPReader} from "solidity-rlp/contracts/RLPReader.sol";
                                import {BytesLib} from "../../common/lib/BytesLib.sol";
                                import {ECVerify} from "../../common/lib/ECVerify.sol";
                                import {Merkle} from "../../common/lib/Merkle.sol";
                                import {GovernanceLockable} from "../../common/mixin/GovernanceLockable.sol";
                                import {DelegateProxyForwarder} from "../../common/misc/DelegateProxyForwarder.sol";
                                import {Registry} from "../../common/Registry.sol";
                                import {IStakeManager} from "./IStakeManager.sol";
                                import {IValidatorShare} from "../validatorShare/IValidatorShare.sol";
                                import {ValidatorShare} from "../validatorShare/ValidatorShare.sol";
                                import {StakingInfo} from "../StakingInfo.sol";
                                import {StakingNFT} from "./StakingNFT.sol";
                                XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

                                File 9 of 9: EventsHub
                                1
                                2
                                3
                                4
                                5
                                6
                                7
                                8
                                9
                                10
                                11
                                12
                                13
                                14
                                15
                                16
                                // File: contracts/common/governance/IGovernance.sol
                                pragma solidity ^0.5.2;
                                interface IGovernance {
                                function update(address target, bytes calldata data) external;
                                }
                                // File: contracts/common/governance/Governable.sol
                                pragma solidity ^0.5.2;
                                contract Governable {
                                IGovernance public governance;
                                XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX