Overview
ETH Balance
ETH Value
$0.00Latest 25 from a total of 148,671 transactions
| Transaction Hash |
|
Block
|
From
|
To
|
|||||
|---|---|---|---|---|---|---|---|---|---|
| Claim | 80188753 | 427 days ago | IN | 0 ETH | 0.00000044 | ||||
| Claim | 80188706 | 427 days ago | IN | 0 ETH | 0.00000044 | ||||
| Replay | 79842921 | 437 days ago | IN | 0 ETH | 0.00000078 | ||||
| Replay | 79820930 | 437 days ago | IN | 0 ETH | 0.000001 | ||||
| Replay | 79792344 | 438 days ago | IN | 0 ETH | 0.00000078 | ||||
| Replay | 79770338 | 438 days ago | IN | 0 ETH | 0.00000097 | ||||
| Replay | 79748369 | 439 days ago | IN | 0 ETH | 0.00000079 | ||||
| Replay | 79736619 | 439 days ago | IN | 0 ETH | 0.00000084 | ||||
| Replay | 79717538 | 440 days ago | IN | 0 ETH | 0.00000078 | ||||
| Replay | 79704786 | 440 days ago | IN | 0 ETH | 0.00000086 | ||||
| Replay | 79686064 | 441 days ago | IN | 0 ETH | 0.00000085 | ||||
| Replay | 79671559 | 441 days ago | IN | 0 ETH | 0.00000102 | ||||
| Replay | 79652669 | 442 days ago | IN | 0 ETH | 0.00000085 | ||||
| Replay | 79639385 | 442 days ago | IN | 0 ETH | 0.00000111 | ||||
| Replay | 79621773 | 443 days ago | IN | 0 ETH | 0.0000011 | ||||
| Replay | 79607699 | 443 days ago | IN | 0 ETH | 0.00000182 | ||||
| Replay | 79591089 | 444 days ago | IN | 0 ETH | 0.00000098 | ||||
| Replay | 79580617 | 444 days ago | IN | 0 ETH | 0.00000111 | ||||
| Replay | 79561022 | 445 days ago | IN | 0 ETH | 0.00000099 | ||||
| Replay | 79548814 | 445 days ago | IN | 0 ETH | 0.00000122 | ||||
| Replay | 79540940 | 446 days ago | IN | 0 ETH | 0.0000009 | ||||
| Replay | 79536379 | 446 days ago | IN | 0 ETH | 0.00000089 | ||||
| Claim | 79532063 | 447 days ago | IN | 0 ETH | 0.00000048 | ||||
| Replay | 79532037 | 447 days ago | IN | 0 ETH | 0.0000008 | ||||
| Replay | 79527964 | 447 days ago | IN | 0 ETH | 0.0000008 |
Cross-Chain Transactions
Contract Source Code (Solidity Standard Json-Input format)
// SPDX-License-Identifier: BUSL-1.1
pragma solidity ^0.8.17;
import "./interfaces/IDual.sol";
import "./libraries/math.sol";
import "./access/MPCManageable.sol";
contract DualFactory is MPCManageable, IDualFactory {
uint256 public constant DECIMALS = 18;
mapping(bytes32 => bool) public duals;
constructor(address _MPC) MPCManageable(_MPC) {}
function create(Tariff memory tariff, Input memory input) public onlyMPC {
_create(tariff, _dual(tariff, input));
}
function claim(Dual memory dual) public onlyMPC {
bytes32 id = _id(dual);
require(duals[id], "Dual: Not found");
require(dual.closedPrice > 0, "Dual: Bad closed price");
require(block.timestamp >= dual.finishAt, "Dual: Not finished yet");
_output(dual);
duals[id] = false;
emit DualClaimed(
id,
dual.user,
dual.chainId,
dual.parentId,
dual.outputToken,
dual.outputAmount,
dual.closedPrice,
dual.finishAt
);
}
function replay(Dual memory dual, Tariff calldata tariff, ReplayInput memory input) public onlyMPC {
bytes32 id = _id(dual);
require(duals[id], "Dual: Not found");
require(dual.closedPrice > 0, "Dual: Bad closed price");
require(input.startedAt >= dual.finishAt, "Dual: Bad start date");
require(block.timestamp >= dual.finishAt, "Dual: Not finished yet");
_output(dual);
duals[id] = false;
emit DualReplayed(
id,
dual.user,
dual.chainId,
dual.parentId,
dual.outputToken,
dual.outputAmount,
dual.closedPrice,
dual.finishAt
);
Input memory _input = Input(
dual.user,
id,
dual.outputToken,
dual.outputAmount,
input.initialPrice,
input.startedAt
);
_create(tariff, _dual(tariff, _input));
}
function _create(Tariff memory tariff, Dual memory dual) internal {
_validate(tariff, dual);
bytes32 id = _id(dual);
require(!duals[id], "Dual: Already created");
duals[id] = true;
emit DualCreated(
id,
dual.user,
dual.chainId,
dual.parentId,
dual.baseToken,
dual.quoteToken,
dual.inputToken,
dual.inputAmount,
dual.yield,
dual.initialPrice,
dual.finishAt
);
}
function _validate(Tariff memory tariff, Dual memory dual) internal view {
require(dual.user != address(0), "Dual: Bad user");
require(tariff.chainId != 0, "Dual: Bad chainId");
require(
dual.inputToken == tariff.baseToken || dual.inputToken == tariff.quoteToken,
"Dual: Input must be one from pair"
);
require(dual.inputAmount > 0, "Dual: Bad amount");
require(tariff.yield > 0, "Dual: Bad tariff yield");
require(dual.initialPrice > 0, "Dual: Bad initialPrice");
require(tariff.stakingPeriod > 0, "Dual: Bad tariff stakingPeriod");
require(dual.parentId != 0x0, "Dual: Bad parentId");
require(dual.finishAt > block.timestamp, "Dual: Bad finish date");
}
function _dual(Tariff memory tariff, Input memory input) internal pure returns (Dual memory dual) {
dual.user = input.user;
dual.chainId = tariff.chainId;
dual.baseToken = tariff.baseToken;
dual.quoteToken = tariff.quoteToken;
dual.inputToken = input.token;
dual.inputAmount = input.amount;
dual.yield = tariff.yield;
dual.initialPrice = input.initialPrice;
dual.parentId = input.parentId;
dual.finishAt = input.startedAt + tariff.stakingPeriod * 1 hours;
}
function _id(Dual memory dual) internal pure returns (bytes32) {
return
keccak256(
abi.encode(
dual.user,
dual.chainId,
dual.parentId,
dual.baseToken,
dual.quoteToken,
dual.inputToken,
dual.inputAmount,
dual.yield,
dual.initialPrice,
dual.finishAt
)
);
}
function _output(Dual memory dual) internal pure {
if (dual.closedPrice >= dual.initialPrice) {
dual.outputToken = dual.quoteToken;
if (dual.inputToken == dual.quoteToken) {
dual.outputAmount = dual.inputAmount + RMath.percent(dual.inputAmount, dual.yield);
} else {
dual.outputAmount = (dual.inputAmount * dual.initialPrice) / 10 ** DECIMALS;
dual.outputAmount = dual.outputAmount + RMath.percent(dual.outputAmount, dual.yield);
}
} else {
dual.outputToken = dual.baseToken;
if (dual.inputToken == dual.baseToken) {
dual.outputAmount = dual.inputAmount + RMath.percent(dual.inputAmount, dual.yield);
} else {
dual.outputAmount = (dual.inputAmount * (10 ** DECIMALS)) / dual.initialPrice;
dual.outputAmount = dual.outputAmount + RMath.percent(dual.outputAmount, dual.yield);
}
}
}
}// SPDX-License-Identifier: BUSL-1.1
pragma solidity ^0.8.17;
abstract contract MPCManageable {
event MPCUpdated(address indexed oldMPC, address indexed newMPC, uint256 effectiveTime);
uint256 public constant DELAY = 2 days;
address internal _oldMPC;
address internal _newMPC;
uint256 internal _newMPCEffectiveTime;
constructor(address _MPC) {
_updateMPC(_MPC, 0);
}
modifier onlyMPC() {
_checkMPC();
_;
}
function mpc() public view returns (address) {
if (block.timestamp >= _newMPCEffectiveTime) {
return _newMPC;
}
return _oldMPC;
}
function updateMPC(address newMPC) public onlyMPC {
_updateMPC(newMPC, DELAY);
}
function _updateMPC(address newMPC, uint256 delay) private {
require(newMPC != address(0), "MPCManageable: Nullable MPC");
_oldMPC = mpc();
_newMPC = newMPC;
_newMPCEffectiveTime = block.timestamp + delay;
emit MPCUpdated(_oldMPC, _newMPC, _newMPCEffectiveTime);
}
function _checkMPC() internal view {
require(msg.sender == mpc(), "MPCManageable: Non MPC");
}
}// SPDX-License-Identifier: BUSL-1.1
pragma solidity ^0.8.17;
struct Dual {
address user;
uint256 chainId;
bytes32 parentId;
address baseToken;
address quoteToken;
address inputToken;
uint256 inputAmount;
address outputToken;
uint256 outputAmount;
uint256 yield;
uint256 initialPrice;
uint256 closedPrice;
uint256 finishAt;
}
struct Tariff {
uint256 chainId;
address baseToken;
address quoteToken;
uint256 stakingPeriod;
uint256 yield;
}
interface IDualFactory {
event DualCreated(
bytes32 indexed id,
address indexed user,
uint256 indexed chainId,
bytes32 parentId,
address baseToken,
address quoteToken,
address inputToken,
uint256 inputAmount,
uint256 yield,
uint256 initialPrice,
uint256 finishAt
);
event DualClaimed(
bytes32 indexed id,
address indexed user,
uint256 indexed chainId,
bytes32 parentId,
address outputToken,
uint256 outputAmount,
uint256 closedPrice,
uint256 finishAt
);
event DualReplayed(
bytes32 indexed id,
address indexed user,
uint256 indexed chainId,
bytes32 parentId,
address outputToken,
uint256 outputAmount,
uint256 closedPrice,
uint256 finishAt
);
struct Input {
address user;
bytes32 parentId;
address token;
uint256 amount;
uint256 initialPrice;
uint256 startedAt;
}
struct ReplayInput {
uint256 initialPrice;
uint256 startedAt;
}
function duals(bytes32) external view returns (bool);
function create(Tariff memory tariff, Input memory input) external;
function claim(Dual memory dual) external;
function replay(Dual memory dual, Tariff memory tariff, ReplayInput memory input) external;
}// SPDX-License-Identifier: BUSL-1.1
pragma solidity ^0.8.17;
library RMath {
uint32 internal constant PERCENT_DECIMALS = 10 ** 8;
function percent(uint256 amount, uint256 _percent) internal pure returns (uint256) {
return (amount * _percent) / PERCENT_DECIMALS;
}
}{
"optimizer": {
"enabled": true,
"runs": 1000
},
"outputSelection": {
"*": {
"*": [
"evm.bytecode",
"evm.deployedBytecode",
"devdoc",
"userdoc",
"metadata",
"abi"
]
}
},
"libraries": {}
}Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"inputs":[{"internalType":"address","name":"_MPC","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"id","type":"bytes32"},{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":true,"internalType":"uint256","name":"chainId","type":"uint256"},{"indexed":false,"internalType":"bytes32","name":"parentId","type":"bytes32"},{"indexed":false,"internalType":"address","name":"outputToken","type":"address"},{"indexed":false,"internalType":"uint256","name":"outputAmount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"closedPrice","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"finishAt","type":"uint256"}],"name":"DualClaimed","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"id","type":"bytes32"},{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":true,"internalType":"uint256","name":"chainId","type":"uint256"},{"indexed":false,"internalType":"bytes32","name":"parentId","type":"bytes32"},{"indexed":false,"internalType":"address","name":"baseToken","type":"address"},{"indexed":false,"internalType":"address","name":"quoteToken","type":"address"},{"indexed":false,"internalType":"address","name":"inputToken","type":"address"},{"indexed":false,"internalType":"uint256","name":"inputAmount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"yield","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"initialPrice","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"finishAt","type":"uint256"}],"name":"DualCreated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"id","type":"bytes32"},{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":true,"internalType":"uint256","name":"chainId","type":"uint256"},{"indexed":false,"internalType":"bytes32","name":"parentId","type":"bytes32"},{"indexed":false,"internalType":"address","name":"outputToken","type":"address"},{"indexed":false,"internalType":"uint256","name":"outputAmount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"closedPrice","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"finishAt","type":"uint256"}],"name":"DualReplayed","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"oldMPC","type":"address"},{"indexed":true,"internalType":"address","name":"newMPC","type":"address"},{"indexed":false,"internalType":"uint256","name":"effectiveTime","type":"uint256"}],"name":"MPCUpdated","type":"event"},{"inputs":[],"name":"DECIMALS","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"DELAY","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"components":[{"internalType":"address","name":"user","type":"address"},{"internalType":"uint256","name":"chainId","type":"uint256"},{"internalType":"bytes32","name":"parentId","type":"bytes32"},{"internalType":"address","name":"baseToken","type":"address"},{"internalType":"address","name":"quoteToken","type":"address"},{"internalType":"address","name":"inputToken","type":"address"},{"internalType":"uint256","name":"inputAmount","type":"uint256"},{"internalType":"address","name":"outputToken","type":"address"},{"internalType":"uint256","name":"outputAmount","type":"uint256"},{"internalType":"uint256","name":"yield","type":"uint256"},{"internalType":"uint256","name":"initialPrice","type":"uint256"},{"internalType":"uint256","name":"closedPrice","type":"uint256"},{"internalType":"uint256","name":"finishAt","type":"uint256"}],"internalType":"struct Dual","name":"dual","type":"tuple"}],"name":"claim","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"components":[{"internalType":"uint256","name":"chainId","type":"uint256"},{"internalType":"address","name":"baseToken","type":"address"},{"internalType":"address","name":"quoteToken","type":"address"},{"internalType":"uint256","name":"stakingPeriod","type":"uint256"},{"internalType":"uint256","name":"yield","type":"uint256"}],"internalType":"struct Tariff","name":"tariff","type":"tuple"},{"components":[{"internalType":"address","name":"user","type":"address"},{"internalType":"bytes32","name":"parentId","type":"bytes32"},{"internalType":"address","name":"token","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint256","name":"initialPrice","type":"uint256"},{"internalType":"uint256","name":"startedAt","type":"uint256"}],"internalType":"struct IDualFactory.Input","name":"input","type":"tuple"}],"name":"create","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"name":"duals","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"mpc","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"components":[{"internalType":"address","name":"user","type":"address"},{"internalType":"uint256","name":"chainId","type":"uint256"},{"internalType":"bytes32","name":"parentId","type":"bytes32"},{"internalType":"address","name":"baseToken","type":"address"},{"internalType":"address","name":"quoteToken","type":"address"},{"internalType":"address","name":"inputToken","type":"address"},{"internalType":"uint256","name":"inputAmount","type":"uint256"},{"internalType":"address","name":"outputToken","type":"address"},{"internalType":"uint256","name":"outputAmount","type":"uint256"},{"internalType":"uint256","name":"yield","type":"uint256"},{"internalType":"uint256","name":"initialPrice","type":"uint256"},{"internalType":"uint256","name":"closedPrice","type":"uint256"},{"internalType":"uint256","name":"finishAt","type":"uint256"}],"internalType":"struct Dual","name":"dual","type":"tuple"},{"components":[{"internalType":"uint256","name":"chainId","type":"uint256"},{"internalType":"address","name":"baseToken","type":"address"},{"internalType":"address","name":"quoteToken","type":"address"},{"internalType":"uint256","name":"stakingPeriod","type":"uint256"},{"internalType":"uint256","name":"yield","type":"uint256"}],"internalType":"struct Tariff","name":"tariff","type":"tuple"},{"components":[{"internalType":"uint256","name":"initialPrice","type":"uint256"},{"internalType":"uint256","name":"startedAt","type":"uint256"}],"internalType":"struct IDualFactory.ReplayInput","name":"input","type":"tuple"}],"name":"replay","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newMPC","type":"address"}],"name":"updateMPC","outputs":[],"stateMutability":"nonpayable","type":"function"}]Contract Creation Code
60806040523480156200001157600080fd5b50604051620015c7380380620015c7833981016040819052620000349162000167565b80620000428160006200004a565b5050620001c1565b6001600160a01b038216620000a55760405162461bcd60e51b815260206004820152601b60248201527f4d50434d616e61676561626c653a204e756c6c61626c65204d50430000000000604482015260640160405180910390fd5b620000af6200013b565b600080546001600160a01b03199081166001600160a01b039384161790915560018054909116918416919091179055620000ea814262000199565b60028190556001546000546040519283526001600160a01b03918216929116907fd4f738392c346d39b1aa1a5aec7636e00ee014a495f29ce6fb1770051c4d8aff9060200160405180910390a35050565b600060025442106200015757506001546001600160a01b031690565b506000546001600160a01b031690565b6000602082840312156200017a57600080fd5b81516001600160a01b03811681146200019257600080fd5b9392505050565b80820180821115620001bb57634e487b7160e01b600052601160045260246000fd5b92915050565b6113f680620001d16000396000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c806369b411701161005b57806369b41170146100e3578063c65a48e2146100ed578063e061054714610120578063f75c26641461013357600080fd5b8063105aeb961461008d5780631070d1bd146100a2578063221ad9a5146100b55780632e0f2625146100c8575b600080fd5b6100a061009b366004610f16565b610153565b005b6100a06100b0366004611063565b61016b565b6100a06100c336600461118e565b61040a565b6100d0601281565b6040519081526020015b60405180910390f35b6100d06202a30081565b6101106100fb36600461121c565b60036020526000908152604090205460ff1681565b60405190151581526020016100da565b6100a061012e366004611235565b610424565b61013b6105e8565b6040516001600160a01b0390911681526020016100da565b61015b610613565b610168816202a30061067d565b50565b610173610613565b600061017e8461077d565b60008181526003602052604090205490915060ff166101e45760405162461bcd60e51b815260206004820152600f60248201527f4475616c3a204e6f7420666f756e64000000000000000000000000000000000060448201526064015b60405180910390fd5b6000846101600151116102395760405162461bcd60e51b815260206004820152601660248201527f4475616c3a2042616420636c6f7365642070726963650000000000000000000060448201526064016101db565b836101800151826020015110156102925760405162461bcd60e51b815260206004820152601460248201527f4475616c3a20426164207374617274206461746500000000000000000000000060448201526064016101db565b8361018001514210156102e75760405162461bcd60e51b815260206004820152601660248201527f4475616c3a204e6f742066696e6973686564207965740000000000000000000060448201526064016101db565b6102f084610839565b600081815260036020908152604091829020805460ff191690558581015186518784015160e08901516101008a01516101608b01516101808c015188519485526001600160a01b039384169785019790975296830152606082019590955260808101939093529092169083907fc73081bca7b54f25041d59f77929ae1aaf69f937dbae5655ad3757b1b5d675c69060a00160405180910390a46040805160c08101825285516001600160a01b039081168252602080830185905260e0880151909116928201929092526101008601516060820152835160808201529083015160a08201526104036103e636869003860186611252565b6103fe6103f836889003880188611252565b84610944565b610a26565b5050505050565b610412610613565b610420826103fe8484610944565b5050565b61042c610613565b60006104378261077d565b60008181526003602052604090205490915060ff166104985760405162461bcd60e51b815260206004820152600f60248201527f4475616c3a204e6f7420666f756e64000000000000000000000000000000000060448201526064016101db565b6000826101600151116104ed5760405162461bcd60e51b815260206004820152601660248201527f4475616c3a2042616420636c6f7365642070726963650000000000000000000060448201526064016101db565b8161018001514210156105425760405162461bcd60e51b815260206004820152601660248201527f4475616c3a204e6f742066696e6973686564207965740000000000000000000060448201526064016101db565b61054b82610839565b600081815260036020908152604091829020805460ff191690558381015184518584015160e08701516101008801516101608901516101808a015188519485526001600160a01b039384169785019790975296830152606082019590955260808101939093529092169083907f82455d326398688c853a9a20fd4bd09a62e970a0c6129a12ca24c371247acab59060a00160405180910390a45050565b6000600254421061060357506001546001600160a01b031690565b506000546001600160a01b031690565b61061b6105e8565b6001600160a01b0316336001600160a01b03161461067b5760405162461bcd60e51b815260206004820152601660248201527f4d50434d616e61676561626c653a204e6f6e204d50430000000000000000000060448201526064016101db565b565b6001600160a01b0382166106d35760405162461bcd60e51b815260206004820152601b60248201527f4d50434d616e61676561626c653a204e756c6c61626c65204d5043000000000060448201526064016101db565b6106db6105e8565b600080547fffffffffffffffffffffffff00000000000000000000000000000000000000009081166001600160a01b03938416179091556001805490911691841691909117905561072c8142611284565b60028190556001546000546040519283526001600160a01b03918216929116907fd4f738392c346d39b1aa1a5aec7636e00ee014a495f29ce6fb1770051c4d8aff9060200160405180910390a35050565b80516020808301516040808501516060860151608087015160a088015160c08901516101208a01516101408b01516101808c0151975160009b61081c9b909a9991016001600160a01b039a8b1681526020810199909952604089019790975294881660608801529287166080870152951660a085015260c084019490945260e08301939093526101008201929092526101208101919091526101400190565b604051602081830303815290604052805190602001209050919050565b806101400151816101600151106108ec5760808101516001600160a01b0390811660e0830181905260a083015190911603610899576108818160c00151826101200151610b82565b8160c001516108909190611284565b61010082015250565b6108a56012600a61137b565b8161014001518260c001516108ba9190611387565b6108c4919061139e565b61010082018190526101208201516108dc9190610b82565b8161010001516108909190611284565b60608101516001600160a01b0390811660e0830181905260a083015190911603610923576108818160c00151826101200151610b82565b6101408101516109356012600a61137b565b8260c001516108ba9190611387565b604080516101a081018252600080825260208083018281528385018381526060808601858152608080880187815260a0890188815260c08a0189815260e08b018a90526101008b018a90526101208b018a81526101408c018b81526101608d018c90526101808d019b909b528d516001600160a01b039081168d528f519099528e8a015189169095528d8c01518816909252998b015190951690985288820151909352888701519092529486015190925284015190925290830151610a0b90610e10611387565b8260a00151610a1a9190611284565b61018082015292915050565b610a308282610ba6565b6000610a3b8261077d565b60008181526003602052604090205490915060ff1615610a9d5760405162461bcd60e51b815260206004820152601560248201527f4475616c3a20416c72656164792063726561746564000000000000000000000060448201526064016101db565b600081815260036020908152604091829020805460ff191660011790558301518351848301516060860151608087015160a088015160c08901516101208a01516101408b01516101808c0151995198996001600160a01b03909816988b987f14d7e2e4edd0cf4d1eff920cc862deee4c183e6f09ab6b6f0db3e7da7192447598610b75989097909690959094909390929091909788526001600160a01b0396871660208901529486166040880152929094166060860152608085015260a084019290925260c083019190915260e08201526101000190565b60405180910390a4505050565b60006305f5e100610b938385611387565b610b9d919061139e565b90505b92915050565b80516001600160a01b0316610bfd5760405162461bcd60e51b815260206004820152600e60248201527f4475616c3a20426164207573657200000000000000000000000000000000000060448201526064016101db565b8151600003610c4e5760405162461bcd60e51b815260206004820152601160248201527f4475616c3a2042616420636861696e496400000000000000000000000000000060448201526064016101db565b81602001516001600160a01b03168160a001516001600160a01b03161480610c8f575081604001516001600160a01b03168160a001516001600160a01b0316145b610d015760405162461bcd60e51b815260206004820152602160248201527f4475616c3a20496e707574206d757374206265206f6e652066726f6d2070616960448201527f720000000000000000000000000000000000000000000000000000000000000060648201526084016101db565b60008160c0015111610d555760405162461bcd60e51b815260206004820152601060248201527f4475616c3a2042616420616d6f756e740000000000000000000000000000000060448201526064016101db565b6000826080015111610da95760405162461bcd60e51b815260206004820152601660248201527f4475616c3a2042616420746172696666207969656c640000000000000000000060448201526064016101db565b600081610140015111610dfe5760405162461bcd60e51b815260206004820152601660248201527f4475616c3a2042616420696e697469616c50726963650000000000000000000060448201526064016101db565b6000826060015111610e525760405162461bcd60e51b815260206004820152601e60248201527f4475616c3a2042616420746172696666207374616b696e67506572696f64000060448201526064016101db565b6040810151600003610ea65760405162461bcd60e51b815260206004820152601260248201527f4475616c3a2042616420706172656e744964000000000000000000000000000060448201526064016101db565b42816101800151116104205760405162461bcd60e51b815260206004820152601560248201527f4475616c3a204261642066696e6973682064617465000000000000000000000060448201526064016101db565b80356001600160a01b0381168114610f1157600080fd5b919050565b600060208284031215610f2857600080fd5b610b9d82610efa565b6040516101a0810167ffffffffffffffff81118282101715610f6357634e487b7160e01b600052604160045260246000fd5b60405290565b60405160c0810167ffffffffffffffff81118282101715610f6357634e487b7160e01b600052604160045260246000fd5b60006101a08284031215610fad57600080fd5b610fb5610f31565b9050610fc082610efa565b81526020820135602082015260408201356040820152610fe260608301610efa565b6060820152610ff360808301610efa565b608082015261100460a08301610efa565b60a082015260c082013560c082015261101f60e08301610efa565b60e082015261010082810135908201526101208083013590820152610140808301359082015261016080830135908201526101809182013591810191909152919050565b600080600083850361028081121561107a57600080fd5b6110848686610f9a565b935060a061019f198201121561109957600080fd5b6101a085019250604061023f19820112156110b357600080fd5b506040516040810181811067ffffffffffffffff821117156110e557634e487b7160e01b600052604160045260246000fd5b6040526102408501358152610260909401356020850152509093909250565b600060a0828403121561111657600080fd5b60405160a0810181811067ffffffffffffffff8211171561114757634e487b7160e01b600052604160045260246000fd5b6040528235815290508061115d60208401610efa565b602082015261116e60408401610efa565b604082015260608301356060820152608083013560808201525092915050565b6000808284036101608112156111a357600080fd5b6111ad8585611104565b925060c0609f19820112156111c157600080fd5b506111ca610f69565b6111d660a08501610efa565b815260c084013560208201526111ee60e08501610efa565b6040820152610100840135606082015261012084013560808201526101409093013560a08401525092909150565b60006020828403121561122e57600080fd5b5035919050565b60006101a0828403121561124857600080fd5b610b9d8383610f9a565b600060a0828403121561126457600080fd5b610b9d8383611104565b634e487b7160e01b600052601160045260246000fd5b80820180821115610ba057610ba061126e565b600181815b808511156112d25781600019048211156112b8576112b861126e565b808516156112c557918102915b93841c939080029061129c565b509250929050565b6000826112e957506001610ba0565b816112f657506000610ba0565b816001811461130c576002811461131657611332565b6001915050610ba0565b60ff8411156113275761132761126e565b50506001821b610ba0565b5060208310610133831016604e8410600b8410161715611355575081810a610ba0565b61135f8383611297565b80600019048211156113735761137361126e565b029392505050565b6000610b9d83836112da565b8082028115828204841417610ba057610ba061126e565b6000826113bb57634e487b7160e01b600052601260045260246000fd5b50049056fea264697066735822122001273a2b33a6d80b2f2727cc5312ff91ced9071b4d1496088cbc086dd7bb07d064736f6c634300081100330000000000000000000000000c76281a72dbb71ae4762cda699cd3d6ba53afba
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106100885760003560e01c806369b411701161005b57806369b41170146100e3578063c65a48e2146100ed578063e061054714610120578063f75c26641461013357600080fd5b8063105aeb961461008d5780631070d1bd146100a2578063221ad9a5146100b55780632e0f2625146100c8575b600080fd5b6100a061009b366004610f16565b610153565b005b6100a06100b0366004611063565b61016b565b6100a06100c336600461118e565b61040a565b6100d0601281565b6040519081526020015b60405180910390f35b6100d06202a30081565b6101106100fb36600461121c565b60036020526000908152604090205460ff1681565b60405190151581526020016100da565b6100a061012e366004611235565b610424565b61013b6105e8565b6040516001600160a01b0390911681526020016100da565b61015b610613565b610168816202a30061067d565b50565b610173610613565b600061017e8461077d565b60008181526003602052604090205490915060ff166101e45760405162461bcd60e51b815260206004820152600f60248201527f4475616c3a204e6f7420666f756e64000000000000000000000000000000000060448201526064015b60405180910390fd5b6000846101600151116102395760405162461bcd60e51b815260206004820152601660248201527f4475616c3a2042616420636c6f7365642070726963650000000000000000000060448201526064016101db565b836101800151826020015110156102925760405162461bcd60e51b815260206004820152601460248201527f4475616c3a20426164207374617274206461746500000000000000000000000060448201526064016101db565b8361018001514210156102e75760405162461bcd60e51b815260206004820152601660248201527f4475616c3a204e6f742066696e6973686564207965740000000000000000000060448201526064016101db565b6102f084610839565b600081815260036020908152604091829020805460ff191690558581015186518784015160e08901516101008a01516101608b01516101808c015188519485526001600160a01b039384169785019790975296830152606082019590955260808101939093529092169083907fc73081bca7b54f25041d59f77929ae1aaf69f937dbae5655ad3757b1b5d675c69060a00160405180910390a46040805160c08101825285516001600160a01b039081168252602080830185905260e0880151909116928201929092526101008601516060820152835160808201529083015160a08201526104036103e636869003860186611252565b6103fe6103f836889003880188611252565b84610944565b610a26565b5050505050565b610412610613565b610420826103fe8484610944565b5050565b61042c610613565b60006104378261077d565b60008181526003602052604090205490915060ff166104985760405162461bcd60e51b815260206004820152600f60248201527f4475616c3a204e6f7420666f756e64000000000000000000000000000000000060448201526064016101db565b6000826101600151116104ed5760405162461bcd60e51b815260206004820152601660248201527f4475616c3a2042616420636c6f7365642070726963650000000000000000000060448201526064016101db565b8161018001514210156105425760405162461bcd60e51b815260206004820152601660248201527f4475616c3a204e6f742066696e6973686564207965740000000000000000000060448201526064016101db565b61054b82610839565b600081815260036020908152604091829020805460ff191690558381015184518584015160e08701516101008801516101608901516101808a015188519485526001600160a01b039384169785019790975296830152606082019590955260808101939093529092169083907f82455d326398688c853a9a20fd4bd09a62e970a0c6129a12ca24c371247acab59060a00160405180910390a45050565b6000600254421061060357506001546001600160a01b031690565b506000546001600160a01b031690565b61061b6105e8565b6001600160a01b0316336001600160a01b03161461067b5760405162461bcd60e51b815260206004820152601660248201527f4d50434d616e61676561626c653a204e6f6e204d50430000000000000000000060448201526064016101db565b565b6001600160a01b0382166106d35760405162461bcd60e51b815260206004820152601b60248201527f4d50434d616e61676561626c653a204e756c6c61626c65204d5043000000000060448201526064016101db565b6106db6105e8565b600080547fffffffffffffffffffffffff00000000000000000000000000000000000000009081166001600160a01b03938416179091556001805490911691841691909117905561072c8142611284565b60028190556001546000546040519283526001600160a01b03918216929116907fd4f738392c346d39b1aa1a5aec7636e00ee014a495f29ce6fb1770051c4d8aff9060200160405180910390a35050565b80516020808301516040808501516060860151608087015160a088015160c08901516101208a01516101408b01516101808c0151975160009b61081c9b909a9991016001600160a01b039a8b1681526020810199909952604089019790975294881660608801529287166080870152951660a085015260c084019490945260e08301939093526101008201929092526101208101919091526101400190565b604051602081830303815290604052805190602001209050919050565b806101400151816101600151106108ec5760808101516001600160a01b0390811660e0830181905260a083015190911603610899576108818160c00151826101200151610b82565b8160c001516108909190611284565b61010082015250565b6108a56012600a61137b565b8161014001518260c001516108ba9190611387565b6108c4919061139e565b61010082018190526101208201516108dc9190610b82565b8161010001516108909190611284565b60608101516001600160a01b0390811660e0830181905260a083015190911603610923576108818160c00151826101200151610b82565b6101408101516109356012600a61137b565b8260c001516108ba9190611387565b604080516101a081018252600080825260208083018281528385018381526060808601858152608080880187815260a0890188815260c08a0189815260e08b018a90526101008b018a90526101208b018a81526101408c018b81526101608d018c90526101808d019b909b528d516001600160a01b039081168d528f519099528e8a015189169095528d8c01518816909252998b015190951690985288820151909352888701519092529486015190925284015190925290830151610a0b90610e10611387565b8260a00151610a1a9190611284565b61018082015292915050565b610a308282610ba6565b6000610a3b8261077d565b60008181526003602052604090205490915060ff1615610a9d5760405162461bcd60e51b815260206004820152601560248201527f4475616c3a20416c72656164792063726561746564000000000000000000000060448201526064016101db565b600081815260036020908152604091829020805460ff191660011790558301518351848301516060860151608087015160a088015160c08901516101208a01516101408b01516101808c0151995198996001600160a01b03909816988b987f14d7e2e4edd0cf4d1eff920cc862deee4c183e6f09ab6b6f0db3e7da7192447598610b75989097909690959094909390929091909788526001600160a01b0396871660208901529486166040880152929094166060860152608085015260a084019290925260c083019190915260e08201526101000190565b60405180910390a4505050565b60006305f5e100610b938385611387565b610b9d919061139e565b90505b92915050565b80516001600160a01b0316610bfd5760405162461bcd60e51b815260206004820152600e60248201527f4475616c3a20426164207573657200000000000000000000000000000000000060448201526064016101db565b8151600003610c4e5760405162461bcd60e51b815260206004820152601160248201527f4475616c3a2042616420636861696e496400000000000000000000000000000060448201526064016101db565b81602001516001600160a01b03168160a001516001600160a01b03161480610c8f575081604001516001600160a01b03168160a001516001600160a01b0316145b610d015760405162461bcd60e51b815260206004820152602160248201527f4475616c3a20496e707574206d757374206265206f6e652066726f6d2070616960448201527f720000000000000000000000000000000000000000000000000000000000000060648201526084016101db565b60008160c0015111610d555760405162461bcd60e51b815260206004820152601060248201527f4475616c3a2042616420616d6f756e740000000000000000000000000000000060448201526064016101db565b6000826080015111610da95760405162461bcd60e51b815260206004820152601660248201527f4475616c3a2042616420746172696666207969656c640000000000000000000060448201526064016101db565b600081610140015111610dfe5760405162461bcd60e51b815260206004820152601660248201527f4475616c3a2042616420696e697469616c50726963650000000000000000000060448201526064016101db565b6000826060015111610e525760405162461bcd60e51b815260206004820152601e60248201527f4475616c3a2042616420746172696666207374616b696e67506572696f64000060448201526064016101db565b6040810151600003610ea65760405162461bcd60e51b815260206004820152601260248201527f4475616c3a2042616420706172656e744964000000000000000000000000000060448201526064016101db565b42816101800151116104205760405162461bcd60e51b815260206004820152601560248201527f4475616c3a204261642066696e6973682064617465000000000000000000000060448201526064016101db565b80356001600160a01b0381168114610f1157600080fd5b919050565b600060208284031215610f2857600080fd5b610b9d82610efa565b6040516101a0810167ffffffffffffffff81118282101715610f6357634e487b7160e01b600052604160045260246000fd5b60405290565b60405160c0810167ffffffffffffffff81118282101715610f6357634e487b7160e01b600052604160045260246000fd5b60006101a08284031215610fad57600080fd5b610fb5610f31565b9050610fc082610efa565b81526020820135602082015260408201356040820152610fe260608301610efa565b6060820152610ff360808301610efa565b608082015261100460a08301610efa565b60a082015260c082013560c082015261101f60e08301610efa565b60e082015261010082810135908201526101208083013590820152610140808301359082015261016080830135908201526101809182013591810191909152919050565b600080600083850361028081121561107a57600080fd5b6110848686610f9a565b935060a061019f198201121561109957600080fd5b6101a085019250604061023f19820112156110b357600080fd5b506040516040810181811067ffffffffffffffff821117156110e557634e487b7160e01b600052604160045260246000fd5b6040526102408501358152610260909401356020850152509093909250565b600060a0828403121561111657600080fd5b60405160a0810181811067ffffffffffffffff8211171561114757634e487b7160e01b600052604160045260246000fd5b6040528235815290508061115d60208401610efa565b602082015261116e60408401610efa565b604082015260608301356060820152608083013560808201525092915050565b6000808284036101608112156111a357600080fd5b6111ad8585611104565b925060c0609f19820112156111c157600080fd5b506111ca610f69565b6111d660a08501610efa565b815260c084013560208201526111ee60e08501610efa565b6040820152610100840135606082015261012084013560808201526101409093013560a08401525092909150565b60006020828403121561122e57600080fd5b5035919050565b60006101a0828403121561124857600080fd5b610b9d8383610f9a565b600060a0828403121561126457600080fd5b610b9d8383611104565b634e487b7160e01b600052601160045260246000fd5b80820180821115610ba057610ba061126e565b600181815b808511156112d25781600019048211156112b8576112b861126e565b808516156112c557918102915b93841c939080029061129c565b509250929050565b6000826112e957506001610ba0565b816112f657506000610ba0565b816001811461130c576002811461131657611332565b6001915050610ba0565b60ff8411156113275761132761126e565b50506001821b610ba0565b5060208310610133831016604e8410600b8410161715611355575081810a610ba0565b61135f8383611297565b80600019048211156113735761137361126e565b029392505050565b6000610b9d83836112da565b8082028115828204841417610ba057610ba061126e565b6000826113bb57634e487b7160e01b600052601260045260246000fd5b50049056fea264697066735822122001273a2b33a6d80b2f2727cc5312ff91ced9071b4d1496088cbc086dd7bb07d064736f6c63430008110033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
0000000000000000000000000c76281a72dbb71ae4762cda699cd3d6ba53afba
-----Decoded View---------------
Arg [0] : _MPC (address): 0x0c76281A72dbb71AE4762CdA699Cd3D6Ba53aFBa
-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 0000000000000000000000000c76281a72dbb71ae4762cda699cd3d6ba53afba
Net Worth in USD
Net Worth in ETH
Token Allocations
Multichain Portfolio | 35 Chains
| Chain | Token | Portfolio % | Price | Amount | Value |
|---|---|---|---|---|---|
| BASE | 63.57% | $0.019895 | 640 | $12.73 | |
| ETH | 5.44% | $0.079537 | 13.7106 | $1.09 | |
| ETH | 5.00% | <$0.000001 | 32,028,985.1927 | $1 | |
| ETH | 3.44% | $0.998555 | 0.6907 | $0.6897 | |
| ETH | 3.20% | $80,335 | 0.00000799 | $0.6418 | |
| ETH | 2.27% | $131.38 | 0.00346226 | $0.4548 | |
| ETH | 2.12% | $1 | 0.4234 | $0.4238 | |
| ETH | 1.76% | $0.000219 | 1,613.3462 | $0.353 | |
| ETH | 1.58% | $0.999695 | 0.3162 | $0.3161 | |
| ETH | 1.54% | <$0.000001 | 16,053,221.2726 | $0.3077 | |
| ETH | 1.03% | $0.012028 | 17.1348 | $0.206 | |
| ETH | 0.81% | $0.000883 | 183.5921 | $0.1621 | |
| ETH | 0.70% | $1.86 | 0.0758 | $0.1409 | |
| ETH | 0.55% | $2,522.77 | 0.0000433 | $0.1092 | |
| ETH | <0.01% | $2,535.47 | 0.000000130365 | $0.000331 | |
| AVAX | 2.49% | $0.999691 | 0.4987 | $0.4985 | |
| AVAX | 1.23% | $2,515.65 | 0.00009766 | $0.2456 | |
| AVAX | 0.80% | $80,802.59 | 0.00000198 | $0.1599 | |
| AVAX | <0.01% | $10.1 | 0.000000289956 | $0.000003 | |
| POL | 1.93% | $0.001216 | 317.6864 | $0.3862 | |
| POL | 0.55% | $11.03 | 0.01 | $0.1103 |
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.