ETH Price: $2,535.42 (-0.60%)

Transaction Decoder

Block:
21785294 at Feb-06-2025 05:12:59 AM +UTC
Transaction Fee:
0.00083551812269602 ETH $2.12
Gas Used:
235,978 Gas / 3.54066109 Gwei

Emitted Events:

53 ValidatorShareProxy.0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef( 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef, 0x000000000000000000000000ce3a648e728466780f35abd9d47f9b5276a99f7d, 0x0000000000000000000000000000000000000000000000000000000000000000, 00000000000000000000000000000000000000000000021e19e0c9bab2400000 )
54 EventsHubProxy.0x502f5a6697a92e602c626b931a4a771fef4360eb9cece7bf906f10c5cec96aaa( 0x502f5a6697a92e602c626b931a4a771fef4360eb9cece7bf906f10c5cec96aaa, 0x0000000000000000000000000000000000000000000000000000000000000076, 0x000000000000000000000000ce3a648e728466780f35abd9d47f9b5276a99f7d, 0x00000000000000000000000000000000000000000000021e19e0c9bab2400000, 00000000000000000000000000000000000000000000021e19e0c9bab2400000, 0000000000000000000000000000000000000000000000000000000000000001 )
55 StakingInfo.StakeUpdate( validatorId=118, nonce=1684, newAmount=1369821853409029168025361 )

Account State Difference:

  Address   Before After State Difference Code
2.971590663080825079 Eth2.972180608080825079 Eth0.000589945
0x3EDBF7E0...409364269
0x5e3Ef299...e8c13D908
(Polygon (Matic): PoS Staking Contract)
0xa59C847B...A71A7512B
(Polygon (Matic): Staking Info)
0xCe3a648E...276a99F7D
0.043958601763086333 Eth
Nonce: 224
0.043123083640390313 Eth
Nonce: 225
0.00083551812269602

Execution Trace

ValidatorShareProxy.e570b78b( )
  • Registry.STATICCALL( )
  • ValidatorShare.sellVoucher_newPOL( claimAmount=10000000000000000000000, maximumSharesToBurn=10000000000000000000000 )
    • StakeManagerProxy.7f4b4323( )
      • StakeManager.delegatedAmount( validatorId=118 ) => ( 1377271853409029168025361 )
      • StakeManagerProxy.7ed4b27c( )
      • StakeManagerProxy.9ff11500( )
      • StakeManagerProxy.STATICCALL( )
        • StakeManager.DELEGATECALL( )
        • EventsHubProxy.5536b682( )
          • EventsHub.logShareBurnedWithId( validatorId=118, user=0xCe3a648E728466780F35AbD9D47F9B5276a99F7D, amount=10000000000000000000000, tokens=10000000000000000000000, nonce=1 )
            • Registry.STATICCALL( )
            • StakeManagerProxy.35aa2e44( )
              • StakeManager.validators( 118 ) => ( amount=2550000000000000000000, reward=1354367376995040781636, activationEpoch=11448, deactivationEpoch=0, jailTime=0, signer=0x5fFD4EFfD8E476C72FddC75BcD31f421001F9Ce6, contractAddress=0x3EDBF7E027D280BCd8126a87f382941409364269, status=1, commissionRate=3, lastCommissionUpdate=40943, delegatorsReward=1, delegatedAmount=1367271853409029168025361, initialRewardPerStake=3050243473729749522634592 )
              • StakingInfo.logStakeUpdate( validatorId=118 )
                • Registry.STATICCALL( )
                • StakeManagerProxy.35aa2e44( )
                  • StakeManager.validators( 118 ) => ( amount=2550000000000000000000, reward=1354367376995040781636, activationEpoch=11448, deactivationEpoch=0, jailTime=0, signer=0x5fFD4EFfD8E476C72FddC75BcD31f421001F9Ce6, contractAddress=0x3EDBF7E027D280BCd8126a87f382941409364269, status=1, commissionRate=3, lastCommissionUpdate=40943, delegatorsReward=1, delegatedAmount=1367271853409029168025361, initialRewardPerStake=3050243473729749522634592 )
                  • Registry.STATICCALL( )
                  • StakeManagerProxy.35aa2e44( )
                    • StakeManager.validators( 118 ) => ( amount=2550000000000000000000, reward=1354367376995040781636, activationEpoch=11448, deactivationEpoch=0, jailTime=0, signer=0x5fFD4EFfD8E476C72FddC75BcD31f421001F9Ce6, contractAddress=0x3EDBF7E027D280BCd8126a87f382941409364269, status=1, commissionRate=3, lastCommissionUpdate=40943, delegatorsReward=1, delegatedAmount=1367271853409029168025361, initialRewardPerStake=3050243473729749522634592 )
                    • ValidatorShareProxy.STATICCALL( )
                      • Registry.STATICCALL( )
                      • ValidatorShare.DELEGATECALL( )
                        File 1 of 8: 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 8: 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 3 of 8: 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 4 of 8: 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 5 of 8: 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 6 of 8: 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 7 of 8: 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 {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";
                        import {ValidatorShareFactory} from "../validatorShare/ValidatorShareFactory.sol";
                        import {StakeManagerStorage} from "./StakeManagerStorage.sol";
                        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

                        File 8 of 8: 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