ETH Price: $2,699.38 (-9.13%)
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To

There are no matching entries

Please try again later

View more zero value Internal Transactions in Advanced View mode

Advanced mode:
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
NovaUpgradeProposal

Compiler Version
v0.6.12+commit.27d51765

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion
File 1 of 1 : NovaUpgradeProposal.sol
// SPDX-License-Identifier: MIT

pragma solidity ^0.6.12;
pragma experimental ABIEncoderV2;

interface IUpgradeableProxy {
    function upgradeTo(address newImplementation) external;
}

interface IAMB {
    function requireToPassMessage(
        address _contract,
        bytes calldata _data,
        uint256 _gas
    ) external returns (bytes32);
}

contract NovaUpgradeProposal {
    event MessagePassed(bytes32 msgId);

    address public immutable novaProxy;
    address public immutable newNovaImpl;
    IAMB public immutable bridge;
    uint256 public immutable gasLimit;

    constructor(
        address _novaProxy,
        address _newNovaImpl,
        address _bridge,
        uint256 _gasLimit
    ) public {
        novaProxy = _novaProxy;
        newNovaImpl = _newNovaImpl;
        bridge = IAMB(_bridge);
        gasLimit = _gasLimit;
    }

    function executeProposal() external {
        bytes4 methodSelector = IUpgradeableProxy(address(0)).upgradeTo.selector;
        bytes memory data = abi.encodeWithSelector(methodSelector, newNovaImpl);
        bytes32 msgId = bridge.requireToPassMessage(novaProxy, data, gasLimit);
        emit MessagePassed(msgId);
    }
}

Settings
{
  "optimizer": {
    "enabled": true,
    "runs": 200
  },
  "outputSelection": {
    "*": {
      "*": [
        "evm.bytecode",
        "evm.deployedBytecode",
        "devdoc",
        "userdoc",
        "metadata",
        "abi"
      ]
    }
  },
  "libraries": {}
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"_novaProxy","type":"address"},{"internalType":"address","name":"_newNovaImpl","type":"address"},{"internalType":"address","name":"_bridge","type":"address"},{"internalType":"uint256","name":"_gasLimit","type":"uint256"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"msgId","type":"bytes32"}],"name":"MessagePassed","type":"event"},{"inputs":[],"name":"bridge","outputs":[{"internalType":"contract IAMB","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"executeProposal","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"gasLimit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"newNovaImpl","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"novaProxy","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"}]

61010060405234801561001157600080fd5b506040516104b83803806104b883398101604081905261003091610076565b6001600160601b0319606094851b811660805292841b831660a052921b1660c05260e0526100c3565b80516001600160a01b038116811461007057600080fd5b92915050565b6000806000806080858703121561008b578384fd5b6100958686610059565b93506100a48660208701610059565b92506100b38660408701610059565b6060959095015193969295505050565b60805160601c60a05160601c60c05160601c60e0516103a5610113600039806101ab52806102ad52508061015a528061028952508060e4528061026552508060ab528061018752506103a56000f3fe608060405234801561001057600080fd5b50600436106100575760003560e01c806308d36c021461005c578063373058b81461007a578063da0705a314610084578063e78cea921461008c578063f68016b714610094575b600080fd5b6100646100a9565b60405161007191906102e7565b60405180910390f35b6100826100cd565b005b610064610263565b610064610287565b61009c6102ab565b6040516100719190610366565b7f000000000000000000000000000000000000000000000000000000000000000081565b604051631b2ce7f360e11b90606090829061010c907f0000000000000000000000000000000000000000000000000000000000000000906024016102e7565b60408051601f198184030181529181526020820180516001600160e01b03166001600160e01b031990941693909317909252905163dc8601b360e01b81529091506000906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063dc8601b3906101d3907f00000000000000000000000000000000000000000000000000000000000000009086907f0000000000000000000000000000000000000000000000000000000000000000906004016102fb565b602060405180830381600087803b1580156101ed57600080fd5b505af1158015610201573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061022591906102cf565b90507f98cb8854422c5bc69e0bf1faa3245359ce95ad725d4d6b13bea7f542be4a23c9816040516102569190610366565b60405180910390a1505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b7f000000000000000000000000000000000000000000000000000000000000000081565b7f000000000000000000000000000000000000000000000000000000000000000081565b6000602082840312156102e0578081fd5b5051919050565b6001600160a01b0391909116815260200190565b600060018060a01b038516825260206060818401528451806060850152825b818110156103365786810183015185820160800152820161031a565b818111156103475783608083870101525b5060408401949094525050601f91909101601f19160160800192915050565b9081526020019056fea2646970667358221220d6796dc4f933b1f2f0c355764b4e66ff579d8222b95f8c5a169162f440e3680564736f6c634300060c0033000000000000000000000000d692fd2d0b2fbd2e52cfa5b5b9424bc981c306960000000000000000000000000cdd3705af7979fbe80a64288ebf8a9fe1151ce10000000000000000000000004c36d2919e407f0cc2ee3c993ccf8ac26d9ce64e0000000000000000000000000000000000000000000000000000000000030d40

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106100575760003560e01c806308d36c021461005c578063373058b81461007a578063da0705a314610084578063e78cea921461008c578063f68016b714610094575b600080fd5b6100646100a9565b60405161007191906102e7565b60405180910390f35b6100826100cd565b005b610064610263565b610064610287565b61009c6102ab565b6040516100719190610366565b7f000000000000000000000000d692fd2d0b2fbd2e52cfa5b5b9424bc981c3069681565b604051631b2ce7f360e11b90606090829061010c907f0000000000000000000000000cdd3705af7979fbe80a64288ebf8a9fe1151ce1906024016102e7565b60408051601f198184030181529181526020820180516001600160e01b03166001600160e01b031990941693909317909252905163dc8601b360e01b81529091506000906001600160a01b037f0000000000000000000000004c36d2919e407f0cc2ee3c993ccf8ac26d9ce64e169063dc8601b3906101d3907f000000000000000000000000d692fd2d0b2fbd2e52cfa5b5b9424bc981c306969086907f0000000000000000000000000000000000000000000000000000000000030d40906004016102fb565b602060405180830381600087803b1580156101ed57600080fd5b505af1158015610201573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061022591906102cf565b90507f98cb8854422c5bc69e0bf1faa3245359ce95ad725d4d6b13bea7f542be4a23c9816040516102569190610366565b60405180910390a1505050565b7f0000000000000000000000000cdd3705af7979fbe80a64288ebf8a9fe1151ce181565b7f0000000000000000000000004c36d2919e407f0cc2ee3c993ccf8ac26d9ce64e81565b7f0000000000000000000000000000000000000000000000000000000000030d4081565b6000602082840312156102e0578081fd5b5051919050565b6001600160a01b0391909116815260200190565b600060018060a01b038516825260206060818401528451806060850152825b818110156103365786810183015185820160800152820161031a565b818111156103475783608083870101525b5060408401949094525050601f91909101601f19160160800192915050565b9081526020019056fea2646970667358221220d6796dc4f933b1f2f0c355764b4e66ff579d8222b95f8c5a169162f440e3680564736f6c634300060c0033

Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)

000000000000000000000000d692fd2d0b2fbd2e52cfa5b5b9424bc981c306960000000000000000000000000cdd3705af7979fbe80a64288ebf8a9fe1151ce10000000000000000000000004c36d2919e407f0cc2ee3c993ccf8ac26d9ce64e0000000000000000000000000000000000000000000000000000000000030d40

-----Decoded View---------------
Arg [0] : _novaProxy (address): 0xD692Fd2D0b2Fbd2e52CFa5B5b9424bC981C30696
Arg [1] : _newNovaImpl (address): 0x0CDD3705aF7979fBe80A64288Ebf8A9Fe1151cE1
Arg [2] : _bridge (address): 0x4C36d2919e407f0Cc2Ee3c993ccF8ac26d9CE64e
Arg [3] : _gasLimit (uint256): 200000

-----Encoded View---------------
4 Constructor Arguments found :
Arg [0] : 000000000000000000000000d692fd2d0b2fbd2e52cfa5b5b9424bc981c30696
Arg [1] : 0000000000000000000000000cdd3705af7979fbe80a64288ebf8a9fe1151ce1
Arg [2] : 0000000000000000000000004c36d2919e407f0cc2ee3c993ccf8ac26d9ce64e
Arg [3] : 0000000000000000000000000000000000000000000000000000000000030d40


Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading

A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.