Polygon Sponsored slots available. Book your slot here!
More Info
Private Name Tags
ContractCreator
Latest 25 from a total of 28 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Gas Payment YCB | 61347642 | 90 days ago | IN | 0 POL | 0.00228147 | ||||
Gas Pending Paym... | 61019093 | 99 days ago | IN | 0 POL | 0.00233091 | ||||
Gas Payment YCB | 61019024 | 99 days ago | IN | 0 POL | 0.00228768 | ||||
Gas Pending Paym... | 61018496 | 99 days ago | IN | 0 POL | 0.00233091 | ||||
Gas Pending Paym... | 60189327 | 119 days ago | IN | 0 POL | 0.00356101 | ||||
Gas Payment YCB | 59353342 | 140 days ago | IN | 0 POL | 0.00228111 | ||||
Gas Pending Paym... | 59353327 | 140 days ago | IN | 0 POL | 0.00233055 | ||||
Gas Payment YCB | 59353230 | 140 days ago | IN | 0 POL | 0.00228732 | ||||
Gas Pending Paym... | 59353214 | 140 days ago | IN | 0 POL | 0.00233055 | ||||
Gas Payment YCB | 59352502 | 140 days ago | IN | 0 POL | 0.00228732 | ||||
Gas Pending Paym... | 59352452 | 140 days ago | IN | 0 POL | 0.00233055 | ||||
Gas Payment YCB | 59349941 | 140 days ago | IN | 0 POL | 0.00228732 | ||||
Gas Pending Paym... | 59349592 | 140 days ago | IN | 0 POL | 0.00233055 | ||||
Gas Payment YCB | 59348939 | 140 days ago | IN | 0 POL | 0.00228111 | ||||
Gas Pending Paym... | 59345633 | 141 days ago | IN | 0 POL | 0.00233055 | ||||
Gas Payment YCB | 59345381 | 141 days ago | IN | 0 POL | 0.00228111 | ||||
Gas Pending Paym... | 59345034 | 141 days ago | IN | 0 POL | 0.00233055 | ||||
Gas Payment YCB | 59311599 | 141 days ago | IN | 0 POL | 0.00228111 | ||||
Gas Pending Paym... | 59311397 | 141 days ago | IN | 0 POL | 0.00233055 | ||||
Gas Payment YCB | 59311242 | 141 days ago | IN | 0 POL | 0.00228111 | ||||
Gas Pending Paym... | 59310160 | 141 days ago | IN | 0 POL | 0.00233091 | ||||
Gas Payment YCB | 59297985 | 142 days ago | IN | 0 POL | 0.00228252 | ||||
Gas Pending Paym... | 59297911 | 142 days ago | IN | 0 POL | 0.002332 | ||||
Gas Payment YCB | 59297737 | 142 days ago | IN | 0 POL | 0.00228302 | ||||
Gas Pending Paym... | 59297713 | 142 days ago | IN | 0 POL | 0.00233183 |
Loading...
Loading
Contract Source Code Verified (Exact Match)
Contract Name:
YCBGasManager
Compiler Version
v0.8.24+commit.e11b9ed9
Optimization Enabled:
Yes with 1000 runs
Other Settings:
paris EvmVersion
Contract Source Code (Solidity Standard Json-Input format)
// SPDX-License-Identifier: MIT pragma solidity 0.8.24; import "@openzeppelin/contracts/token/ERC20/IERC20.sol"; import "@openzeppelin/contracts/utils/ReentrancyGuard.sol"; import "@chainlink/contracts/src/v0.8/shared/interfaces/AggregatorV3Interface.sol"; contract YCBGasManager is ReentrancyGuard { AggregatorV3Interface internal priceFeed; mapping(address => uint256) public userStakes; mapping(address => uint256) public pendingPayments; uint256 public ycbPrice = 3 ether; address public owner; uint256 public minimumStake; IERC20 public customToken; event Staked(address indexed user, uint256 amount); event Unstaked(address indexed user, uint256 amount); event GasPayment(address indexed user, uint256 gasValue); uint256 constant TOKEN_DECIMALS = 10**18; constructor( address _customToken, address _priceFeed, uint256 _minimumStake ) { owner = msg.sender; customToken = IERC20(_customToken); priceFeed = AggregatorV3Interface(_priceFeed); minimumStake = _minimumStake; } function updateMinimumStake(uint256 _minimumStake) public onlyOwner { minimumStake = _minimumStake; } function updateYCBPrice(uint256 _ycbPrice) public onlyOwner { ycbPrice = _ycbPrice; } function stake(uint256 amount) public nonReentrant { require(amount > 0, "Invalid stake amount"); require(amount >= minimumStake, "Minimum stake is 0.1 ether"); userStakes[msg.sender] += amount; customToken.transferFrom(msg.sender, address(this), amount); emit Staked(msg.sender, amount); } function unstake(uint256 amount) public nonReentrant { require(amount > 0, "Invalid unstake amount"); require(userStakes[msg.sender] >= amount, "Insufficient staked amount"); userStakes[msg.sender] -= amount; customToken.transfer(msg.sender, amount); emit Unstaked(msg.sender, amount); } function gasPendingPaymentYCB(address user, uint256 gasValue) external onlyOwner nonReentrant { require(user != address(0), "Invalid user address"); require(gasValue > 0, "Invalid gas value"); require( pendingPayments[user] == 0, "User still have outstanding payment" ); uint256 ycbGasValue = getPriceFeedFromETHToYCB(gasValue); require( userStakes[user] >= ycbGasValue, "Insufficient balance for gas payment" ); userStakes[user] -= ycbGasValue; pendingPayments[user] = ycbGasValue; } function gasPaymentYCB(address user, uint256 gasValue) external onlyOwner nonReentrant returns (uint256) { require(user != address(0), "Invalid user address"); require(gasValue > 0, "Invalid gas value"); uint256 ycbGasValueBeforeFee = getPriceFeedFromETHToYCB(gasValue); uint256 ycbGasValue = ycbGasValueBeforeFee + (ycbGasValueBeforeFee / 20); if (pendingPayments[user] > ycbGasValue) { // refund exceeding gas userStakes[user] += pendingPayments[user] - ycbGasValue; } else { // pay unpaid gas uint256 _unpaidGas = ycbGasValue - pendingPayments[user]; require( userStakes[user] >= _unpaidGas, "balance not enough to pay gas" ); userStakes[user] -= _unpaidGas; } customToken.transfer(owner, ycbGasValue); pendingPayments[user] = 0; emit GasPayment(user, ycbGasValue); return ycbGasValue; } function refundPendingPayment(address user) public onlyOwner { pendingPayments[user] = 0; } function getPriceFeedFromETHToYCB(uint256 ethValue) public view returns (uint256) { (, int256 price, , , ) = priceFeed.latestRoundData(); uint256 NATIVE_TO_ETH = uint256(price); uint256 ETH_TO_NATIVE = TOKEN_DECIMALS / NATIVE_TO_ETH; uint256 nativeValuePrice = (ethValue * ETH_TO_NATIVE); uint256 ycbValuePrice = (nativeValuePrice * TOKEN_DECIMALS) / ycbPrice; return ycbValuePrice; } modifier onlyOwner() { require(msg.sender == owner, "Only the owner can perform this action"); _; } }
// SPDX-License-Identifier: MIT pragma solidity ^0.8.0; interface AggregatorV3Interface { function decimals() external view returns (uint8); function description() external view returns (string memory); function version() external view returns (uint256); function getRoundData( uint80 _roundId ) external view returns (uint80 roundId, int256 answer, uint256 startedAt, uint256 updatedAt, uint80 answeredInRound); function latestRoundData() external view returns (uint80 roundId, int256 answer, uint256 startedAt, uint256 updatedAt, uint80 answeredInRound); }
// SPDX-License-Identifier: MIT // OpenZeppelin Contracts (last updated v5.0.0) (token/ERC20/IERC20.sol) pragma solidity ^0.8.20; /** * @dev Interface of the ERC20 standard as defined in the EIP. */ interface IERC20 { /** * @dev Emitted when `value` tokens are moved from one account (`from`) to * another (`to`). * * Note that `value` may be zero. */ event Transfer(address indexed from, address indexed to, uint256 value); /** * @dev Emitted when the allowance of a `spender` for an `owner` is set by * a call to {approve}. `value` is the new allowance. */ event Approval(address indexed owner, address indexed spender, uint256 value); /** * @dev Returns the value of tokens in existence. */ function totalSupply() external view returns (uint256); /** * @dev Returns the value of tokens owned by `account`. */ function balanceOf(address account) external view returns (uint256); /** * @dev Moves a `value` amount of tokens from the caller's account to `to`. * * Returns a boolean value indicating whether the operation succeeded. * * Emits a {Transfer} event. */ function transfer(address to, uint256 value) external returns (bool); /** * @dev Returns the remaining number of tokens that `spender` will be * allowed to spend on behalf of `owner` through {transferFrom}. This is * zero by default. * * This value changes when {approve} or {transferFrom} are called. */ function allowance(address owner, address spender) external view returns (uint256); /** * @dev Sets a `value` amount of tokens as the allowance of `spender` over the * caller's tokens. * * Returns a boolean value indicating whether the operation succeeded. * * IMPORTANT: Beware that changing an allowance with this method brings the risk * that someone may use both the old and the new allowance by unfortunate * transaction ordering. One possible solution to mitigate this race * condition is to first reduce the spender's allowance to 0 and set the * desired value afterwards: * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 * * Emits an {Approval} event. */ function approve(address spender, uint256 value) external returns (bool); /** * @dev Moves a `value` amount of tokens from `from` to `to` using the * allowance mechanism. `value` is then deducted from the caller's * allowance. * * Returns a boolean value indicating whether the operation succeeded. * * Emits a {Transfer} event. */ function transferFrom(address from, address to, uint256 value) external returns (bool); }
// SPDX-License-Identifier: MIT // OpenZeppelin Contracts (last updated v5.0.0) (utils/ReentrancyGuard.sol) pragma solidity ^0.8.20; /** * @dev Contract module that helps prevent reentrant calls to a function. * * Inheriting from `ReentrancyGuard` will make the {nonReentrant} modifier * available, which can be applied to functions to make sure there are no nested * (reentrant) calls to them. * * Note that because there is a single `nonReentrant` guard, functions marked as * `nonReentrant` may not call one another. This can be worked around by making * those functions `private`, and then adding `external` `nonReentrant` entry * points to them. * * TIP: If you would like to learn more about reentrancy and alternative ways * to protect against it, check out our blog post * https://blog.openzeppelin.com/reentrancy-after-istanbul/[Reentrancy After Istanbul]. */ abstract contract ReentrancyGuard { // Booleans are more expensive than uint256 or any type that takes up a full // word because each write operation emits an extra SLOAD to first read the // slot's contents, replace the bits taken up by the boolean, and then write // back. This is the compiler's defense against contract upgrades and // pointer aliasing, and it cannot be disabled. // The values being non-zero value makes deployment a bit more expensive, // but in exchange the refund on every call to nonReentrant will be lower in // amount. Since refunds are capped to a percentage of the total // transaction's gas, it is best to keep them low in cases like this one, to // increase the likelihood of the full refund coming into effect. uint256 private constant NOT_ENTERED = 1; uint256 private constant ENTERED = 2; uint256 private _status; /** * @dev Unauthorized reentrant call. */ error ReentrancyGuardReentrantCall(); constructor() { _status = NOT_ENTERED; } /** * @dev Prevents a contract from calling itself, directly or indirectly. * Calling a `nonReentrant` function from another `nonReentrant` * function is not supported. It is possible to prevent this from happening * by making the `nonReentrant` function external, and making it call a * `private` function that does the actual work. */ modifier nonReentrant() { _nonReentrantBefore(); _; _nonReentrantAfter(); } function _nonReentrantBefore() private { // On the first call to nonReentrant, _status will be NOT_ENTERED if (_status == ENTERED) { revert ReentrancyGuardReentrantCall(); } // Any calls to nonReentrant after this point will fail _status = ENTERED; } function _nonReentrantAfter() private { // By storing the original value once again, a refund is triggered (see // https://eips.ethereum.org/EIPS/eip-2200) _status = NOT_ENTERED; } /** * @dev Returns true if the reentrancy guard is currently set to "entered", which indicates there is a * `nonReentrant` function in the call stack. */ function _reentrancyGuardEntered() internal view returns (bool) { return _status == ENTERED; } }
{ "optimizer": { "enabled": true, "runs": 1000 }, "evmVersion": "paris", "outputSelection": { "*": { "*": [ "evm.bytecode", "evm.deployedBytecode", "devdoc", "userdoc", "metadata", "abi" ] } }, "libraries": {} }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"address","name":"_customToken","type":"address"},{"internalType":"address","name":"_priceFeed","type":"address"},{"internalType":"uint256","name":"_minimumStake","type":"uint256"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"ReentrancyGuardReentrantCall","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"gasValue","type":"uint256"}],"name":"GasPayment","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Staked","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Unstaked","type":"event"},{"inputs":[],"name":"customToken","outputs":[{"internalType":"contract IERC20","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"},{"internalType":"uint256","name":"gasValue","type":"uint256"}],"name":"gasPaymentYCB","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"},{"internalType":"uint256","name":"gasValue","type":"uint256"}],"name":"gasPendingPaymentYCB","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"ethValue","type":"uint256"}],"name":"getPriceFeedFromETHToYCB","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"minimumStake","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"pendingPayments","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"refundPendingPayment","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"stake","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"unstake","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_minimumStake","type":"uint256"}],"name":"updateMinimumStake","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_ycbPrice","type":"uint256"}],"name":"updateYCBPrice","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"userStakes","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"ycbPrice","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"}]
Contract Creation Code
60806040526729a2241af62c000060045534801561001c57600080fd5b5060405161105c38038061105c83398101604081905261003b9161009d565b6001600081905560058054336001600160a01b0319918216179091556007805482166001600160a01b0396871617905581541692909316919091179091556006556100d9565b80516001600160a01b038116811461009857600080fd5b919050565b6000806000606084860312156100b257600080fd5b6100bb84610081565b92506100c960208501610081565b9150604084015190509250925092565b610f74806100e86000396000f3fe608060405234801561001057600080fd5b50600436106100ea5760003560e01c80638da7ad231161008c578063a694fc3a11610066578063a694fc3a146101f4578063c7d434e314610207578063ec5ffac214610210578063f15bf3aa1461021957600080fd5b80638da7ad23146101ae5780638e571078146101ce578063a11784dc146101e157600080fd5b80637f38e526116100c85780637f38e5261461013d578063899e31061461015d5780638c298fb5146101885780638da5cb5b1461019b57600080fd5b806324ea81a8146100ef5780632e17de78146101155780634c41e8801461012a575b600080fd5b6101026100fd366004610dd8565b61022c565b6040519081526020015b60405180910390f35b610128610123366004610e02565b610588565b005b610128610138366004610e02565b61071c565b61010261014b366004610e1b565b60036020526000908152604090205481565b600754610170906001600160a01b031681565b6040516001600160a01b03909116815260200161010c565b610128610196366004610dd8565b61078a565b600554610170906001600160a01b031681565b6101026101bc366004610e1b565b60026020526000908152604090205481565b6101286101dc366004610e1b565b610a1c565b6101026101ef366004610e02565b610a9f565b610128610202366004610e02565b610b76565b61010260045481565b61010260065481565b610128610227366004610e02565b610d0b565b6005546000906001600160a01b0316331461029d5760405162461bcd60e51b815260206004820152602660248201527f4f6e6c7920746865206f776e65722063616e20706572666f726d20746869732060448201526530b1ba34b7b760d11b60648201526084015b60405180910390fd5b6102a5610d79565b6001600160a01b0383166102fb5760405162461bcd60e51b815260206004820152601460248201527f496e76616c6964207573657220616464726573730000000000000000000000006044820152606401610294565b6000821161034b5760405162461bcd60e51b815260206004820152601160248201527f496e76616c6964206761732076616c75650000000000000000000000000000006044820152606401610294565b600061035683610a9f565b90506000610365601483610e53565b61036f9083610e75565b6001600160a01b0386166000908152600360205260409020549091508110156103e9576001600160a01b0385166000908152600360205260409020546103b6908290610e88565b6001600160a01b038616600090815260026020526040812080549091906103de908490610e75565b909155506104a69050565b6001600160a01b03851660009081526003602052604081205461040c9083610e88565b6001600160a01b0387166000908152600260205260409020549091508111156104775760405162461bcd60e51b815260206004820152601d60248201527f62616c616e6365206e6f7420656e6f75676820746f20706179206761730000006044820152606401610294565b6001600160a01b0386166000908152600260205260408120805483929061049f908490610e88565b9091555050505b60075460055460405163a9059cbb60e01b81526001600160a01b0391821660048201526024810184905291169063a9059cbb906044016020604051808303816000875af11580156104fb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061051f9190610e9b565b506001600160a01b03851660008181526003602052604080822091909155517f65eb9e4e31cbc02dd2f7edd35f1e684132f20496511b7228c15163afc04dc1e49061056d9084815260200190565b60405180910390a29150506105826001600055565b92915050565b610590610d79565b600081116105e05760405162461bcd60e51b815260206004820152601660248201527f496e76616c696420756e7374616b6520616d6f756e74000000000000000000006044820152606401610294565b3360009081526002602052604090205481111561063f5760405162461bcd60e51b815260206004820152601a60248201527f496e73756666696369656e74207374616b656420616d6f756e740000000000006044820152606401610294565b336000908152600260205260408120805483929061065e908490610e88565b909155505060075460405163a9059cbb60e01b8152336004820152602481018390526001600160a01b039091169063a9059cbb906044016020604051808303816000875af11580156106b4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106d89190610e9b565b5060405181815233907f0f5bb82176feb1b5e747e28471aa92156a04d9f3ab9f45f28e2d704232b93f75906020015b60405180910390a26107196001600055565b50565b6005546001600160a01b031633146107855760405162461bcd60e51b815260206004820152602660248201527f4f6e6c7920746865206f776e65722063616e20706572666f726d20746869732060448201526530b1ba34b7b760d11b6064820152608401610294565b600655565b6005546001600160a01b031633146107f35760405162461bcd60e51b815260206004820152602660248201527f4f6e6c7920746865206f776e65722063616e20706572666f726d20746869732060448201526530b1ba34b7b760d11b6064820152608401610294565b6107fb610d79565b6001600160a01b0382166108515760405162461bcd60e51b815260206004820152601460248201527f496e76616c6964207573657220616464726573730000000000000000000000006044820152606401610294565b600081116108a15760405162461bcd60e51b815260206004820152601160248201527f496e76616c6964206761732076616c75650000000000000000000000000000006044820152606401610294565b6001600160a01b0382166000908152600360205260409020541561092d5760405162461bcd60e51b815260206004820152602360248201527f55736572207374696c6c2068617665206f75747374616e64696e67207061796d60448201527f656e7400000000000000000000000000000000000000000000000000000000006064820152608401610294565b600061093882610a9f565b6001600160a01b0384166000908152600260205260409020549091508111156109c85760405162461bcd60e51b8152602060048201526024808201527f496e73756666696369656e742062616c616e636520666f72206761732070617960448201527f6d656e74000000000000000000000000000000000000000000000000000000006064820152608401610294565b6001600160a01b038316600090815260026020526040812080548392906109f0908490610e88565b90915550506001600160a01b038316600090815260036020526040902055610a186001600055565b5050565b6005546001600160a01b03163314610a855760405162461bcd60e51b815260206004820152602660248201527f4f6e6c7920746865206f776e65722063616e20706572666f726d20746869732060448201526530b1ba34b7b760d11b6064820152608401610294565b6001600160a01b0316600090815260036020526040812055565b600080600160009054906101000a90046001600160a01b03166001600160a01b031663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa158015610af5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b199190610ed7565b5091935083925060009150610b38905082670de0b6b3a7640000610e53565b90506000610b468287610f27565b90506000600454670de0b6b3a764000083610b619190610f27565b610b6b9190610e53565b979650505050505050565b610b7e610d79565b60008111610bce5760405162461bcd60e51b815260206004820152601460248201527f496e76616c6964207374616b6520616d6f756e740000000000000000000000006044820152606401610294565b600654811015610c205760405162461bcd60e51b815260206004820152601a60248201527f4d696e696d756d207374616b6520697320302e312065746865720000000000006044820152606401610294565b3360009081526002602052604081208054839290610c3f908490610e75565b90915550506007546040517f23b872dd000000000000000000000000000000000000000000000000000000008152336004820152306024820152604481018390526001600160a01b03909116906323b872dd906064016020604051808303816000875af1158015610cb4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cd89190610e9b565b5060405181815233907f9e71bc8eea02a63969f509818f2dafb9254532904319f9dbda79b67bd34a5f3d90602001610707565b6005546001600160a01b03163314610d745760405162461bcd60e51b815260206004820152602660248201527f4f6e6c7920746865206f776e65722063616e20706572666f726d20746869732060448201526530b1ba34b7b760d11b6064820152608401610294565b600455565b600260005403610db5576040517f3ee5aeb500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6002600055565b80356001600160a01b0381168114610dd357600080fd5b919050565b60008060408385031215610deb57600080fd5b610df483610dbc565b946020939093013593505050565b600060208284031215610e1457600080fd5b5035919050565b600060208284031215610e2d57600080fd5b610e3682610dbc565b9392505050565b634e487b7160e01b600052601160045260246000fd5b600082610e7057634e487b7160e01b600052601260045260246000fd5b500490565b8082018082111561058257610582610e3d565b8181038181111561058257610582610e3d565b600060208284031215610ead57600080fd5b81518015158114610e3657600080fd5b805169ffffffffffffffffffff81168114610dd357600080fd5b600080600080600060a08688031215610eef57600080fd5b610ef886610ebd565b9450602086015193506040860151925060608601519150610f1b60808701610ebd565b90509295509295909350565b808202811582820484141761058257610582610e3d56fea2646970667358221220ba79f4057c352987c56d91e7bbaa73dfd4347fa90c59b02873f2b40c6c920b1564736f6c6343000818003300000000000000000000000088f4532991b92875022ce498236229cf94f97582000000000000000000000000327e23a4855b6f663a28c5161541d69af8973302000000000000000000000000000000000000000000000000016345785d8a0000
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106100ea5760003560e01c80638da7ad231161008c578063a694fc3a11610066578063a694fc3a146101f4578063c7d434e314610207578063ec5ffac214610210578063f15bf3aa1461021957600080fd5b80638da7ad23146101ae5780638e571078146101ce578063a11784dc146101e157600080fd5b80637f38e526116100c85780637f38e5261461013d578063899e31061461015d5780638c298fb5146101885780638da5cb5b1461019b57600080fd5b806324ea81a8146100ef5780632e17de78146101155780634c41e8801461012a575b600080fd5b6101026100fd366004610dd8565b61022c565b6040519081526020015b60405180910390f35b610128610123366004610e02565b610588565b005b610128610138366004610e02565b61071c565b61010261014b366004610e1b565b60036020526000908152604090205481565b600754610170906001600160a01b031681565b6040516001600160a01b03909116815260200161010c565b610128610196366004610dd8565b61078a565b600554610170906001600160a01b031681565b6101026101bc366004610e1b565b60026020526000908152604090205481565b6101286101dc366004610e1b565b610a1c565b6101026101ef366004610e02565b610a9f565b610128610202366004610e02565b610b76565b61010260045481565b61010260065481565b610128610227366004610e02565b610d0b565b6005546000906001600160a01b0316331461029d5760405162461bcd60e51b815260206004820152602660248201527f4f6e6c7920746865206f776e65722063616e20706572666f726d20746869732060448201526530b1ba34b7b760d11b60648201526084015b60405180910390fd5b6102a5610d79565b6001600160a01b0383166102fb5760405162461bcd60e51b815260206004820152601460248201527f496e76616c6964207573657220616464726573730000000000000000000000006044820152606401610294565b6000821161034b5760405162461bcd60e51b815260206004820152601160248201527f496e76616c6964206761732076616c75650000000000000000000000000000006044820152606401610294565b600061035683610a9f565b90506000610365601483610e53565b61036f9083610e75565b6001600160a01b0386166000908152600360205260409020549091508110156103e9576001600160a01b0385166000908152600360205260409020546103b6908290610e88565b6001600160a01b038616600090815260026020526040812080549091906103de908490610e75565b909155506104a69050565b6001600160a01b03851660009081526003602052604081205461040c9083610e88565b6001600160a01b0387166000908152600260205260409020549091508111156104775760405162461bcd60e51b815260206004820152601d60248201527f62616c616e6365206e6f7420656e6f75676820746f20706179206761730000006044820152606401610294565b6001600160a01b0386166000908152600260205260408120805483929061049f908490610e88565b9091555050505b60075460055460405163a9059cbb60e01b81526001600160a01b0391821660048201526024810184905291169063a9059cbb906044016020604051808303816000875af11580156104fb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061051f9190610e9b565b506001600160a01b03851660008181526003602052604080822091909155517f65eb9e4e31cbc02dd2f7edd35f1e684132f20496511b7228c15163afc04dc1e49061056d9084815260200190565b60405180910390a29150506105826001600055565b92915050565b610590610d79565b600081116105e05760405162461bcd60e51b815260206004820152601660248201527f496e76616c696420756e7374616b6520616d6f756e74000000000000000000006044820152606401610294565b3360009081526002602052604090205481111561063f5760405162461bcd60e51b815260206004820152601a60248201527f496e73756666696369656e74207374616b656420616d6f756e740000000000006044820152606401610294565b336000908152600260205260408120805483929061065e908490610e88565b909155505060075460405163a9059cbb60e01b8152336004820152602481018390526001600160a01b039091169063a9059cbb906044016020604051808303816000875af11580156106b4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106d89190610e9b565b5060405181815233907f0f5bb82176feb1b5e747e28471aa92156a04d9f3ab9f45f28e2d704232b93f75906020015b60405180910390a26107196001600055565b50565b6005546001600160a01b031633146107855760405162461bcd60e51b815260206004820152602660248201527f4f6e6c7920746865206f776e65722063616e20706572666f726d20746869732060448201526530b1ba34b7b760d11b6064820152608401610294565b600655565b6005546001600160a01b031633146107f35760405162461bcd60e51b815260206004820152602660248201527f4f6e6c7920746865206f776e65722063616e20706572666f726d20746869732060448201526530b1ba34b7b760d11b6064820152608401610294565b6107fb610d79565b6001600160a01b0382166108515760405162461bcd60e51b815260206004820152601460248201527f496e76616c6964207573657220616464726573730000000000000000000000006044820152606401610294565b600081116108a15760405162461bcd60e51b815260206004820152601160248201527f496e76616c6964206761732076616c75650000000000000000000000000000006044820152606401610294565b6001600160a01b0382166000908152600360205260409020541561092d5760405162461bcd60e51b815260206004820152602360248201527f55736572207374696c6c2068617665206f75747374616e64696e67207061796d60448201527f656e7400000000000000000000000000000000000000000000000000000000006064820152608401610294565b600061093882610a9f565b6001600160a01b0384166000908152600260205260409020549091508111156109c85760405162461bcd60e51b8152602060048201526024808201527f496e73756666696369656e742062616c616e636520666f72206761732070617960448201527f6d656e74000000000000000000000000000000000000000000000000000000006064820152608401610294565b6001600160a01b038316600090815260026020526040812080548392906109f0908490610e88565b90915550506001600160a01b038316600090815260036020526040902055610a186001600055565b5050565b6005546001600160a01b03163314610a855760405162461bcd60e51b815260206004820152602660248201527f4f6e6c7920746865206f776e65722063616e20706572666f726d20746869732060448201526530b1ba34b7b760d11b6064820152608401610294565b6001600160a01b0316600090815260036020526040812055565b600080600160009054906101000a90046001600160a01b03166001600160a01b031663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa158015610af5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b199190610ed7565b5091935083925060009150610b38905082670de0b6b3a7640000610e53565b90506000610b468287610f27565b90506000600454670de0b6b3a764000083610b619190610f27565b610b6b9190610e53565b979650505050505050565b610b7e610d79565b60008111610bce5760405162461bcd60e51b815260206004820152601460248201527f496e76616c6964207374616b6520616d6f756e740000000000000000000000006044820152606401610294565b600654811015610c205760405162461bcd60e51b815260206004820152601a60248201527f4d696e696d756d207374616b6520697320302e312065746865720000000000006044820152606401610294565b3360009081526002602052604081208054839290610c3f908490610e75565b90915550506007546040517f23b872dd000000000000000000000000000000000000000000000000000000008152336004820152306024820152604481018390526001600160a01b03909116906323b872dd906064016020604051808303816000875af1158015610cb4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cd89190610e9b565b5060405181815233907f9e71bc8eea02a63969f509818f2dafb9254532904319f9dbda79b67bd34a5f3d90602001610707565b6005546001600160a01b03163314610d745760405162461bcd60e51b815260206004820152602660248201527f4f6e6c7920746865206f776e65722063616e20706572666f726d20746869732060448201526530b1ba34b7b760d11b6064820152608401610294565b600455565b600260005403610db5576040517f3ee5aeb500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6002600055565b80356001600160a01b0381168114610dd357600080fd5b919050565b60008060408385031215610deb57600080fd5b610df483610dbc565b946020939093013593505050565b600060208284031215610e1457600080fd5b5035919050565b600060208284031215610e2d57600080fd5b610e3682610dbc565b9392505050565b634e487b7160e01b600052601160045260246000fd5b600082610e7057634e487b7160e01b600052601260045260246000fd5b500490565b8082018082111561058257610582610e3d565b8181038181111561058257610582610e3d565b600060208284031215610ead57600080fd5b81518015158114610e3657600080fd5b805169ffffffffffffffffffff81168114610dd357600080fd5b600080600080600060a08688031215610eef57600080fd5b610ef886610ebd565b9450602086015193506040860151925060608601519150610f1b60808701610ebd565b90509295509295909350565b808202811582820484141761058257610582610e3d56fea2646970667358221220ba79f4057c352987c56d91e7bbaa73dfd4347fa90c59b02873f2b40c6c920b1564736f6c63430008180033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
00000000000000000000000088f4532991b92875022ce498236229cf94f97582000000000000000000000000327e23a4855b6f663a28c5161541d69af8973302000000000000000000000000000000000000000000000000016345785d8a0000
-----Decoded View---------------
Arg [0] : _customToken (address): 0x88F4532991b92875022ce498236229CF94f97582
Arg [1] : _priceFeed (address): 0x327e23A4855b6F663a28c5161541d69Af8973302
Arg [2] : _minimumStake (uint256): 100000000000000000
-----Encoded View---------------
3 Constructor Arguments found :
Arg [0] : 00000000000000000000000088f4532991b92875022ce498236229cf94f97582
Arg [1] : 000000000000000000000000327e23a4855b6f663a28c5161541d69af8973302
Arg [2] : 000000000000000000000000000000000000000000000000016345785d8a0000
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 30 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
[ Download: CSV Export ]
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.