Source Code
Overview
ETH Balance
0 ETH
Eth Value
$0.00Latest 25 from a total of 228 transactions
| Transaction Hash |
Method
|
Block
|
From
|
|
To
|
||||
|---|---|---|---|---|---|---|---|---|---|
| Create Lock | 14339605 | 1486 days ago | IN | 0 ETH | 0.01731781 | ||||
| Create Lock | 14210458 | 1506 days ago | IN | 0 ETH | 0.01221367 | ||||
| Create Lock | 14203215 | 1507 days ago | IN | 0 ETH | 0.01311875 | ||||
| Create Lock | 14177666 | 1511 days ago | IN | 0 ETH | 0.01368058 | ||||
| Create Lock | 14172074 | 1512 days ago | IN | 0 ETH | 0.02932025 | ||||
| Create Lock | 14147664 | 1515 days ago | IN | 0 ETH | 0.03924999 | ||||
| Create Lock | 14139731 | 1517 days ago | IN | 0 ETH | 0.00252849 | ||||
| Create Lock | 14139731 | 1517 days ago | IN | 0 ETH | 0.02829811 | ||||
| Create Lock | 14107509 | 1521 days ago | IN | 0 ETH | 0.03540115 | ||||
| Withdraw | 14104273 | 1522 days ago | IN | 0 ETH | 0.02304631 | ||||
| Withdraw | 14088335 | 1524 days ago | IN | 0 ETH | 0.02590129 | ||||
| Create Lock | 14082966 | 1525 days ago | IN | 0 ETH | 0.04518613 | ||||
| Increase Amount | 14079307 | 1526 days ago | IN | 0 ETH | 0.04136094 | ||||
| Create Lock | 14078364 | 1526 days ago | IN | 0 ETH | 0.03206168 | ||||
| Create Lock | 14074579 | 1527 days ago | IN | 0 ETH | 0.02878092 | ||||
| Create Lock | 14073957 | 1527 days ago | IN | 0 ETH | 0.02649498 | ||||
| Withdraw | 14063687 | 1528 days ago | IN | 0 ETH | 0.05365528 | ||||
| Increase Amount | 14059836 | 1529 days ago | IN | 0 ETH | 0.02672111 | ||||
| Create Lock | 14041480 | 1532 days ago | IN | 0 ETH | 0.0258215 | ||||
| Create Lock | 14040664 | 1532 days ago | IN | 0 ETH | 0.04473888 | ||||
| Create Lock | 14039645 | 1532 days ago | IN | 0 ETH | 0.04520959 | ||||
| Create Lock | 14035842 | 1533 days ago | IN | 0 ETH | 0.03349532 | ||||
| Create Lock | 14034795 | 1533 days ago | IN | 0 ETH | 0.03262909 | ||||
| Create Lock | 14026176 | 1534 days ago | IN | 0 ETH | 0.04353161 | ||||
| Create Lock | 14016323 | 1536 days ago | IN | 0 ETH | 0.03531841 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions
Loading...
Loading
Contract Name:
VewsSQUIDHelper
Compiler Version
v0.8.3+commit.8d00100c
Contract Source Code (Solidity Standard Json-Input format)
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;
import "IERC20.sol";
import "ReentrancyGuard.sol";
import "SafeCast.sol";
import "IWsSQUID.sol";
import "IVotingEscrow.sol";
contract VewsSQUIDHelper is ReentrancyGuard {
IERC20 public immutable sSQUID;
IWsSQUID public immutable wsSQUID;
IVotingEscrow public immutable vewsSQUID;
constructor(
IERC20 _sSQUID,
IWsSQUID _wsSQUID,
IVotingEscrow _vewsSQUID
) {
sSQUID = _sSQUID;
wsSQUID = _wsSQUID;
vewsSQUID = _vewsSQUID;
}
function createLock(uint256 sSQUIDAmount, uint256 unlockTime) external nonReentrant {
vewsSQUID.create_lock_for(msg.sender, wrap(sSQUIDAmount), unlockTime);
}
function increaseAmount(uint256 sSQUIDAmount) external nonReentrant {
vewsSQUID.deposit_for(msg.sender, wrap(sSQUIDAmount));
}
function withdraw() external nonReentrant {
(int128 lockedAmount, ) = vewsSQUID.locked(msg.sender);
vewsSQUID.withdraw_for(msg.sender);
uint256 wsSQUIDAmount = SafeCast.toUint256(int256(lockedAmount));
uint256 sSQUIDAmount = wsSQUID.unwrapTosSQUID(wsSQUIDAmount);
sSQUID.transfer(msg.sender, sSQUIDAmount);
}
function wrap(uint256 amount) internal returns (uint256) {
sSQUID.transferFrom(msg.sender, address(this), amount);
sSQUID.approve(address(wsSQUID), amount);
uint256 wrappedAmount = wsSQUID.wrapFromsSQUID(amount);
wsSQUID.approve(address(vewsSQUID), wrappedAmount);
return wrappedAmount;
}
}// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;
/**
* @dev Interface of the ERC20 standard as defined in the EIP.
*/
interface IERC20 {
/**
* @dev Returns the amount of tokens in existence.
*/
function totalSupply() external view returns (uint256);
/**
* @dev Returns the amount of tokens owned by `account`.
*/
function balanceOf(address account) external view returns (uint256);
/**
* @dev Moves `amount` tokens from the caller's account to `recipient`.
*
* Returns a boolean value indicating whether the operation succeeded.
*
* Emits a {Transfer} event.
*/
function transfer(address recipient, uint256 amount) 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 `amount` 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 amount) external returns (bool);
/**
* @dev Moves `amount` tokens from `sender` to `recipient` using the
* allowance mechanism. `amount` is then deducted from the caller's
* allowance.
*
* Returns a boolean value indicating whether the operation succeeded.
*
* Emits a {Transfer} event.
*/
function transferFrom(
address sender,
address recipient,
uint256 amount
) external returns (bool);
/**
* @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);
}// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;
/**
* @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;
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 make it call a
* `private` function that does the actual work.
*/
modifier nonReentrant() {
// On the first call to nonReentrant, _notEntered will be true
require(_status != _ENTERED, "ReentrancyGuard: reentrant call");
// Any calls to nonReentrant after this point will fail
_status = _ENTERED;
_;
// By storing the original value once again, a refund is triggered (see
// https://eips.ethereum.org/EIPS/eip-2200)
_status = _NOT_ENTERED;
}
}// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;
/**
* @dev Wrappers over Solidity's uintXX/intXX casting operators with added overflow
* checks.
*
* Downcasting from uint256/int256 in Solidity does not revert on overflow. This can
* easily result in undesired exploitation or bugs, since developers usually
* assume that overflows raise errors. `SafeCast` restores this intuition by
* reverting the transaction when such an operation overflows.
*
* Using this library instead of the unchecked operations eliminates an entire
* class of bugs, so it's recommended to use it always.
*
* Can be combined with {SafeMath} and {SignedSafeMath} to extend it to smaller types, by performing
* all math on `uint256` and `int256` and then downcasting.
*/
library SafeCast {
/**
* @dev Returns the downcasted uint224 from uint256, reverting on
* overflow (when the input is greater than largest uint224).
*
* Counterpart to Solidity's `uint224` operator.
*
* Requirements:
*
* - input must fit into 224 bits
*/
function toUint224(uint256 value) internal pure returns (uint224) {
require(value <= type(uint224).max, "SafeCast: value doesn't fit in 224 bits");
return uint224(value);
}
/**
* @dev Returns the downcasted uint128 from uint256, reverting on
* overflow (when the input is greater than largest uint128).
*
* Counterpart to Solidity's `uint128` operator.
*
* Requirements:
*
* - input must fit into 128 bits
*/
function toUint128(uint256 value) internal pure returns (uint128) {
require(value <= type(uint128).max, "SafeCast: value doesn't fit in 128 bits");
return uint128(value);
}
/**
* @dev Returns the downcasted uint96 from uint256, reverting on
* overflow (when the input is greater than largest uint96).
*
* Counterpart to Solidity's `uint96` operator.
*
* Requirements:
*
* - input must fit into 96 bits
*/
function toUint96(uint256 value) internal pure returns (uint96) {
require(value <= type(uint96).max, "SafeCast: value doesn't fit in 96 bits");
return uint96(value);
}
/**
* @dev Returns the downcasted uint64 from uint256, reverting on
* overflow (when the input is greater than largest uint64).
*
* Counterpart to Solidity's `uint64` operator.
*
* Requirements:
*
* - input must fit into 64 bits
*/
function toUint64(uint256 value) internal pure returns (uint64) {
require(value <= type(uint64).max, "SafeCast: value doesn't fit in 64 bits");
return uint64(value);
}
/**
* @dev Returns the downcasted uint32 from uint256, reverting on
* overflow (when the input is greater than largest uint32).
*
* Counterpart to Solidity's `uint32` operator.
*
* Requirements:
*
* - input must fit into 32 bits
*/
function toUint32(uint256 value) internal pure returns (uint32) {
require(value <= type(uint32).max, "SafeCast: value doesn't fit in 32 bits");
return uint32(value);
}
/**
* @dev Returns the downcasted uint16 from uint256, reverting on
* overflow (when the input is greater than largest uint16).
*
* Counterpart to Solidity's `uint16` operator.
*
* Requirements:
*
* - input must fit into 16 bits
*/
function toUint16(uint256 value) internal pure returns (uint16) {
require(value <= type(uint16).max, "SafeCast: value doesn't fit in 16 bits");
return uint16(value);
}
/**
* @dev Returns the downcasted uint8 from uint256, reverting on
* overflow (when the input is greater than largest uint8).
*
* Counterpart to Solidity's `uint8` operator.
*
* Requirements:
*
* - input must fit into 8 bits.
*/
function toUint8(uint256 value) internal pure returns (uint8) {
require(value <= type(uint8).max, "SafeCast: value doesn't fit in 8 bits");
return uint8(value);
}
/**
* @dev Converts a signed int256 into an unsigned uint256.
*
* Requirements:
*
* - input must be greater than or equal to 0.
*/
function toUint256(int256 value) internal pure returns (uint256) {
require(value >= 0, "SafeCast: value must be positive");
return uint256(value);
}
/**
* @dev Returns the downcasted int128 from int256, reverting on
* overflow (when the input is less than smallest int128 or
* greater than largest int128).
*
* Counterpart to Solidity's `int128` operator.
*
* Requirements:
*
* - input must fit into 128 bits
*
* _Available since v3.1._
*/
function toInt128(int256 value) internal pure returns (int128) {
require(value >= type(int128).min && value <= type(int128).max, "SafeCast: value doesn't fit in 128 bits");
return int128(value);
}
/**
* @dev Returns the downcasted int64 from int256, reverting on
* overflow (when the input is less than smallest int64 or
* greater than largest int64).
*
* Counterpart to Solidity's `int64` operator.
*
* Requirements:
*
* - input must fit into 64 bits
*
* _Available since v3.1._
*/
function toInt64(int256 value) internal pure returns (int64) {
require(value >= type(int64).min && value <= type(int64).max, "SafeCast: value doesn't fit in 64 bits");
return int64(value);
}
/**
* @dev Returns the downcasted int32 from int256, reverting on
* overflow (when the input is less than smallest int32 or
* greater than largest int32).
*
* Counterpart to Solidity's `int32` operator.
*
* Requirements:
*
* - input must fit into 32 bits
*
* _Available since v3.1._
*/
function toInt32(int256 value) internal pure returns (int32) {
require(value >= type(int32).min && value <= type(int32).max, "SafeCast: value doesn't fit in 32 bits");
return int32(value);
}
/**
* @dev Returns the downcasted int16 from int256, reverting on
* overflow (when the input is less than smallest int16 or
* greater than largest int16).
*
* Counterpart to Solidity's `int16` operator.
*
* Requirements:
*
* - input must fit into 16 bits
*
* _Available since v3.1._
*/
function toInt16(int256 value) internal pure returns (int16) {
require(value >= type(int16).min && value <= type(int16).max, "SafeCast: value doesn't fit in 16 bits");
return int16(value);
}
/**
* @dev Returns the downcasted int8 from int256, reverting on
* overflow (when the input is less than smallest int8 or
* greater than largest int8).
*
* Counterpart to Solidity's `int8` operator.
*
* Requirements:
*
* - input must fit into 8 bits.
*
* _Available since v3.1._
*/
function toInt8(int256 value) internal pure returns (int8) {
require(value >= type(int8).min && value <= type(int8).max, "SafeCast: value doesn't fit in 8 bits");
return int8(value);
}
/**
* @dev Converts an unsigned uint256 into a signed int256.
*
* Requirements:
*
* - input must be less than or equal to maxInt256.
*/
function toInt256(uint256 value) internal pure returns (int256) {
// Note: Unsafe cast below is okay because `type(int256).max` is guaranteed to be positive
require(value <= uint256(type(int256).max), "SafeCast: value doesn't fit in an int256");
return int256(value);
}
}// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;
interface IWsSQUID {
function approve(address spender, uint256 amount) external returns (bool);
function balanceOf(address account) external view returns (uint256);
function wrapFromsSQUID( uint _amount ) external returns ( uint );
function unwrapTosSQUID( uint _amount ) external returns ( uint );
}// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;
interface IVotingEscrow {
function locked(address _addr) external view returns (int128, uint256);
function create_lock_for(address _addr, uint256 _value, uint256 _unlock_time) external;
function deposit_for(address _addr, uint256 _value) external;
function withdraw_for(address _addr) external;
}{
"evmVersion": "istanbul",
"optimizer": {
"enabled": true,
"runs": 200
},
"outputSelection": {
"*": {
"*": [
"evm.bytecode",
"evm.deployedBytecode",
"devdoc",
"userdoc",
"metadata",
"abi"
]
}
}
}Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"inputs":[{"internalType":"contract IERC20","name":"_sSQUID","type":"address"},{"internalType":"contract IWsSQUID","name":"_wsSQUID","type":"address"},{"internalType":"contract IVotingEscrow","name":"_vewsSQUID","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"uint256","name":"sSQUIDAmount","type":"uint256"},{"internalType":"uint256","name":"unlockTime","type":"uint256"}],"name":"createLock","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"sSQUIDAmount","type":"uint256"}],"name":"increaseAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"sSQUID","outputs":[{"internalType":"contract IERC20","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"vewsSQUID","outputs":[{"internalType":"contract IVotingEscrow","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"withdraw","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"wsSQUID","outputs":[{"internalType":"contract IWsSQUID","name":"","type":"address"}],"stateMutability":"view","type":"function"}]Contract Creation Code
60e060405234801561001057600080fd5b50604051610aee380380610aee83398101604081905261002f9161005b565b60016000556001600160601b0319606093841b811660805291831b821660a05290911b1660c0526100bf565b60008060006060848603121561006f578283fd5b835161007a816100a7565b602085015190935061008b816100a7565b604085015190925061009c816100a7565b809150509250925092565b6001600160a01b03811681146100bc57600080fd5b50565b60805160601c60a05160601c60c05160601c6109a56101496000396000818160810152818161016301528181610237015281816102d1015281816104c301526107810152600081816101060152818161036701528181610621015281816106e601526107b301526000818160cc0152818161040201528181610585015261065001526109a56000f3fe608060405234801561001057600080fd5b50600436106100625760003560e01c806315456eba1461006757806321a334271461007c5780633ccfd60b146100bf5780636c1241bf146100c7578063b52c05fe146100ee578063eaedb6d114610101575b600080fd5b61007a6100753660046108e7565b610128565b005b6100a37f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200160405180910390f35b61007a6101f8565b6100a37f000000000000000000000000000000000000000000000000000000000000000081565b61007a6100fc366004610917565b610491565b6100a37f000000000000000000000000000000000000000000000000000000000000000081565b600260005414156101545760405162461bcd60e51b815260040161014b90610938565b60405180910390fd5b60026000556001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016633a46273e3361019284610560565b6040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401600060405180830381600087803b1580156101d857600080fd5b505af11580156101ec573d6000803e3d6000fd5b50506001600055505050565b6002600054141561021b5760405162461bcd60e51b815260040161014b90610938565b6002600090815560405163cbf9fe5f60e01b81523360048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063cbf9fe5f90602401604080518083038186803b15801561028057600080fd5b505afa158015610294573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102b891906108b5565b5060405163130ed9ed60e21b81523360048201529091507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690634c3b67b490602401600060405180830381600087803b15801561031d57600080fd5b505af1158015610331573d6000803e3d6000fd5b50505050600061034382600f0b610838565b6040516326b857cf60e01b8152600481018290529091506000906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906326b857cf90602401602060405180830381600087803b1580156103ab57600080fd5b505af11580156103bf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103e391906108ff565b60405163a9059cbb60e01b8152336004820152602481018290529091507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063a9059cbb90604401602060405180830381600087803b15801561044e57600080fd5b505af1158015610462573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610486919061088e565b505060016000555050565b600260005414156104b45760405162461bcd60e51b815260040161014b90610938565b60026000556001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016633e173b29336104f285610560565b6040516001600160e01b031960e085901b1681526001600160a01b039092166004830152602482015260448101849052606401600060405180830381600087803b15801561053f57600080fd5b505af1158015610553573d6000803e3d6000fd5b5050600160005550505050565b6040516323b872dd60e01b8152336004820152306024820152604481018290526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906323b872dd90606401602060405180830381600087803b1580156105d157600080fd5b505af11580156105e5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610609919061088e565b5060405163095ea7b360e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000081166004830152602482018490527f0000000000000000000000000000000000000000000000000000000000000000169063095ea7b390604401602060405180830381600087803b15801561069457600080fd5b505af11580156106a8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106cc919061088e565b5060405163a159311d60e01b8152600481018390526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063a159311d90602401602060405180830381600087803b15801561073257600080fd5b505af1158015610746573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061076a91906108ff565b60405163095ea7b360e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000081166004830152602482018390529192507f00000000000000000000000000000000000000000000000000000000000000009091169063095ea7b390604401602060405180830381600087803b1580156107f957600080fd5b505af115801561080d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610831919061088e565b5092915050565b60008082121561088a5760405162461bcd60e51b815260206004820181905260248201527f53616665436173743a2076616c7565206d75737420626520706f736974697665604482015260640161014b565b5090565b60006020828403121561089f578081fd5b815180151581146108ae578182fd5b9392505050565b600080604083850312156108c7578081fd5b825180600f0b81146108d7578182fd5b6020939093015192949293505050565b6000602082840312156108f8578081fd5b5035919050565b600060208284031215610910578081fd5b5051919050565b60008060408385031215610929578182fd5b50508035926020909101359150565b6020808252601f908201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0060408201526060019056fea2646970667358221220de9359b229be39688cdb57c18ccefb1c77c0b20f074a5bb7765ccefeee43e84864736f6c634300080300330000000000000000000000009d49bfc921f36448234b0efa67b5f91b3c6915150000000000000000000000003b1388eb39c72d2145f092c01067c02bb627d4be00000000000000000000000058807e624b9953c2279e0efae5edcf9c7da08c7b
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106100625760003560e01c806315456eba1461006757806321a334271461007c5780633ccfd60b146100bf5780636c1241bf146100c7578063b52c05fe146100ee578063eaedb6d114610101575b600080fd5b61007a6100753660046108e7565b610128565b005b6100a37f00000000000000000000000058807e624b9953c2279e0efae5edcf9c7da08c7b81565b6040516001600160a01b03909116815260200160405180910390f35b61007a6101f8565b6100a37f0000000000000000000000009d49bfc921f36448234b0efa67b5f91b3c69151581565b61007a6100fc366004610917565b610491565b6100a37f0000000000000000000000003b1388eb39c72d2145f092c01067c02bb627d4be81565b600260005414156101545760405162461bcd60e51b815260040161014b90610938565b60405180910390fd5b60026000556001600160a01b037f00000000000000000000000058807e624b9953c2279e0efae5edcf9c7da08c7b16633a46273e3361019284610560565b6040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401600060405180830381600087803b1580156101d857600080fd5b505af11580156101ec573d6000803e3d6000fd5b50506001600055505050565b6002600054141561021b5760405162461bcd60e51b815260040161014b90610938565b6002600090815560405163cbf9fe5f60e01b81523360048201527f00000000000000000000000058807e624b9953c2279e0efae5edcf9c7da08c7b6001600160a01b03169063cbf9fe5f90602401604080518083038186803b15801561028057600080fd5b505afa158015610294573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102b891906108b5565b5060405163130ed9ed60e21b81523360048201529091507f00000000000000000000000058807e624b9953c2279e0efae5edcf9c7da08c7b6001600160a01b031690634c3b67b490602401600060405180830381600087803b15801561031d57600080fd5b505af1158015610331573d6000803e3d6000fd5b50505050600061034382600f0b610838565b6040516326b857cf60e01b8152600481018290529091506000906001600160a01b037f0000000000000000000000003b1388eb39c72d2145f092c01067c02bb627d4be16906326b857cf90602401602060405180830381600087803b1580156103ab57600080fd5b505af11580156103bf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103e391906108ff565b60405163a9059cbb60e01b8152336004820152602481018290529091507f0000000000000000000000009d49bfc921f36448234b0efa67b5f91b3c6915156001600160a01b03169063a9059cbb90604401602060405180830381600087803b15801561044e57600080fd5b505af1158015610462573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610486919061088e565b505060016000555050565b600260005414156104b45760405162461bcd60e51b815260040161014b90610938565b60026000556001600160a01b037f00000000000000000000000058807e624b9953c2279e0efae5edcf9c7da08c7b16633e173b29336104f285610560565b6040516001600160e01b031960e085901b1681526001600160a01b039092166004830152602482015260448101849052606401600060405180830381600087803b15801561053f57600080fd5b505af1158015610553573d6000803e3d6000fd5b5050600160005550505050565b6040516323b872dd60e01b8152336004820152306024820152604481018290526000907f0000000000000000000000009d49bfc921f36448234b0efa67b5f91b3c6915156001600160a01b0316906323b872dd90606401602060405180830381600087803b1580156105d157600080fd5b505af11580156105e5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610609919061088e565b5060405163095ea7b360e01b81526001600160a01b037f0000000000000000000000003b1388eb39c72d2145f092c01067c02bb627d4be81166004830152602482018490527f0000000000000000000000009d49bfc921f36448234b0efa67b5f91b3c691515169063095ea7b390604401602060405180830381600087803b15801561069457600080fd5b505af11580156106a8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106cc919061088e565b5060405163a159311d60e01b8152600481018390526000907f0000000000000000000000003b1388eb39c72d2145f092c01067c02bb627d4be6001600160a01b03169063a159311d90602401602060405180830381600087803b15801561073257600080fd5b505af1158015610746573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061076a91906108ff565b60405163095ea7b360e01b81526001600160a01b037f00000000000000000000000058807e624b9953c2279e0efae5edcf9c7da08c7b81166004830152602482018390529192507f0000000000000000000000003b1388eb39c72d2145f092c01067c02bb627d4be9091169063095ea7b390604401602060405180830381600087803b1580156107f957600080fd5b505af115801561080d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610831919061088e565b5092915050565b60008082121561088a5760405162461bcd60e51b815260206004820181905260248201527f53616665436173743a2076616c7565206d75737420626520706f736974697665604482015260640161014b565b5090565b60006020828403121561089f578081fd5b815180151581146108ae578182fd5b9392505050565b600080604083850312156108c7578081fd5b825180600f0b81146108d7578182fd5b6020939093015192949293505050565b6000602082840312156108f8578081fd5b5035919050565b600060208284031215610910578081fd5b5051919050565b60008060408385031215610929578182fd5b50508035926020909101359150565b6020808252601f908201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0060408201526060019056fea2646970667358221220de9359b229be39688cdb57c18ccefb1c77c0b20f074a5bb7765ccefeee43e84864736f6c63430008030033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
0000000000000000000000009d49bfc921f36448234b0efa67b5f91b3c6915150000000000000000000000003b1388eb39c72d2145f092c01067c02bb627d4be00000000000000000000000058807e624b9953c2279e0efae5edcf9c7da08c7b
-----Decoded View---------------
Arg [0] : _sSQUID (address): 0x9d49BfC921F36448234b0eFa67B5f91b3C691515
Arg [1] : _wsSQUID (address): 0x3b1388eB39c72D2145f092C01067C02Bb627d4BE
Arg [2] : _vewsSQUID (address): 0x58807E624b9953C2279E0eFae5EDcf9C7DA08c7B
-----Encoded View---------------
3 Constructor Arguments found :
Arg [0] : 0000000000000000000000009d49bfc921f36448234b0efa67b5f91b3c691515
Arg [1] : 0000000000000000000000003b1388eb39c72d2145f092c01067c02bb627d4be
Arg [2] : 00000000000000000000000058807e624b9953c2279e0efae5edcf9c7da08c7b
Loading...
Loading
Loading...
Loading
Net Worth in USD
$0.00
Net Worth in ETH
0
Multichain Portfolio | 33 Chains
| Chain | Token | Portfolio % | Price | Amount | Value |
|---|
Loading...
Loading
Loading...
Loading
Loading...
Loading
[ 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.