ERC-20
Overview
Max Total Supply
97,264.797258071578980887 sCRV_e
Holders
2
Market
Price
$0.00 @ 0.000000 S
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Loading...
Loading
Loading...
Loading
Loading...
Loading
Contract Name:
SynthERC20
Compiler Version
v0.8.17+commit.8df45f5f
Optimization Enabled:
Yes with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity Standard Json-Input format)
1234567891011121314151617181920212223242526// SPDX-License-Identifier: UNLICENSED// Copyright (c) Eywa.Fi, 2021-2023 - all rights reservedpragma solidity 0.8.17;import "@openzeppelin/contracts/access/Ownable.sol";import "@openzeppelin/contracts/token/ERC20/extensions/draft-ERC20Permit.sol";import "./interfaces/ISynth.sol";/*** @dev Synthesis must be owner of this contract.*/contract SynthERC20 is ISynthERC20, Ownable, ERC20Permit {/// @dev original token addressaddress public originalToken;/// @dev original token chain iduint64 public chainIdFrom;/// @dev original chain symbolstring public chainSymbolFrom;/// @dev synth typeuint8 public synthType;/// @dev cap (max possible supply)uint256 public cap;/// @dev synth token address for backward compatibility with ISynthAdapter (which may has backed third-party synth)address public synthToken;
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MIT// OpenZeppelin Contracts (last updated v4.9.0) (access/Ownable.sol)pragma solidity ^0.8.0;import "../utils/Context.sol";/*** @dev Contract module which provides a basic access control mechanism, where* there is an account (an owner) that can be granted exclusive access to* specific functions.** By default, the owner account will be the one that deploys the contract. This* can later be changed with {transferOwnership}.** This module is used through inheritance. It will make available the modifier* `onlyOwner`, which can be applied to your functions to restrict their use to* the owner.*/abstract contract Ownable is Context {address private _owner;event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);/*** @dev Initializes the contract setting the deployer as the initial owner.
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MIT// OpenZeppelin Contracts (last updated v4.9.0) (interfaces/IERC5267.sol)pragma solidity ^0.8.0;interface IERC5267 {/*** @dev MAY be emitted to signal that the domain could have changed.*/event EIP712DomainChanged();/*** @dev returns the fields and values that describe the domain separator used by this contract for EIP-712* signature.*/function eip712Domain()externalviewreturns (bytes1 fields,string memory name,string memory version,uint256 chainId,address verifyingContract,bytes32 salt,uint256[] memory extensions
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MIT// OpenZeppelin Contracts (last updated v4.9.0) (token/ERC20/ERC20.sol)pragma solidity ^0.8.0;import "./IERC20.sol";import "./extensions/IERC20Metadata.sol";import "../../utils/Context.sol";/*** @dev Implementation of the {IERC20} interface.** This implementation is agnostic to the way tokens are created. This means* that a supply mechanism has to be added in a derived contract using {_mint}.* For a generic mechanism see {ERC20PresetMinterPauser}.** TIP: For a detailed writeup see our guide* https://forum.openzeppelin.com/t/how-to-implement-erc20-supply-mechanisms/226[How* to implement supply mechanisms].** The default value of {decimals} is 18. To change this, you should override* this function so it returns a different value.** We have followed general OpenZeppelin Contracts guidelines: functions revert* instead returning `false` on failure. This behavior is nonetheless* conventional and does not conflict with the expectations of ERC20
12345678// SPDX-License-Identifier: MIT// OpenZeppelin Contracts (last updated v4.9.0) (token/ERC20/extensions/draft-ERC20Permit.sol)pragma solidity ^0.8.0;// EIP-2612 is Final as of 2022-11-01. This file is deprecated.import "./ERC20Permit.sol";
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MIT// OpenZeppelin Contracts (last updated v4.9.4) (token/ERC20/extensions/ERC20Permit.sol)pragma solidity ^0.8.0;import "./IERC20Permit.sol";import "../ERC20.sol";import "../../../utils/cryptography/ECDSA.sol";import "../../../utils/cryptography/EIP712.sol";import "../../../utils/Counters.sol";/*** @dev Implementation of the ERC20 Permit extension allowing approvals to be made via signatures, as defined in* https://eips.ethereum.org/EIPS/eip-2612[EIP-2612].** Adds the {permit} method, which can be used to change an account's ERC20 allowance (see {IERC20-allowance}) by* presenting a message signed by the account. By not relying on `{IERC20-approve}`, the token holder account doesn't* need to send a transaction, and thus is not required to hold Ether at all.** _Available since v3.4._*/abstract contract ERC20Permit is ERC20, IERC20Permit, EIP712 {using Counters for Counters.Counter;mapping(address => Counters.Counter) private _nonces;
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MIT// OpenZeppelin Contracts v4.4.1 (token/ERC20/extensions/IERC20Metadata.sol)pragma solidity ^0.8.0;import "../IERC20.sol";/*** @dev Interface for the optional metadata functions from the ERC20 standard.** _Available since v4.1._*/interface IERC20Metadata is IERC20 {/*** @dev Returns the name of the token.*/function name() external view returns (string memory);/*** @dev Returns the symbol of the token.*/function symbol() external view returns (string memory);/*** @dev Returns the decimals places of the token.*/
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MIT// OpenZeppelin Contracts (last updated v4.9.4) (token/ERC20/extensions/IERC20Permit.sol)pragma solidity ^0.8.0;/*** @dev Interface of the ERC20 Permit extension allowing approvals to be made via signatures, as defined in* https://eips.ethereum.org/EIPS/eip-2612[EIP-2612].** Adds the {permit} method, which can be used to change an account's ERC20 allowance (see {IERC20-allowance}) by* presenting a message signed by the account. By not relying on {IERC20-approve}, the token holder account doesn't* need to send a transaction, and thus is not required to hold Ether at all.** ==== Security Considerations** There are two important considerations concerning the use of `permit`. The first is that a valid permit signature* expresses an allowance, and it should not be assumed to convey additional meaning. In particular, it should not be* considered as an intention to spend the allowance in any specific way. The second is that because permits have* built-in replay protection and can be submitted by anyone, they can be frontrun. A protocol that uses permits should* take this into consideration and allow a `permit` call to fail. Combining these two aspects, a pattern that may be* generally recommended is:** ```solidity* function doThingWithPermit(..., uint256 value, uint256 deadline, uint8 v, bytes32 r, bytes32 s) public {* try token.permit(msg.sender, address(this), value, deadline, v, r, s) {} catch {}* doThing(..., value);
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MIT// OpenZeppelin Contracts (last updated v4.9.0) (token/ERC20/IERC20.sol)pragma solidity ^0.8.0;/*** @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 amount of tokens in existence.*/
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MIT// OpenZeppelin Contracts (last updated v4.9.4) (utils/Context.sol)pragma solidity ^0.8.0;/*** @dev Provides information about the current execution context, including the* sender of the transaction and its data. While these are generally available* via msg.sender and msg.data, they should not be accessed in such a direct* manner, since when dealing with meta-transactions the account sending and* paying for execution may not be the actual sender (as far as an application* is concerned).** This contract is only required for intermediate, library-like contracts.*/abstract contract Context {function _msgSender() internal view virtual returns (address) {return msg.sender;}function _msgData() internal view virtual returns (bytes calldata) {return msg.data;}function _contextSuffixLength() internal view virtual returns (uint256) {return 0;
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MIT// OpenZeppelin Contracts v4.4.1 (utils/Counters.sol)pragma solidity ^0.8.0;/*** @title Counters* @author Matt Condon (@shrugs)* @dev Provides counters that can only be incremented, decremented or reset. This can be used e.g. to track the number* of elements in a mapping, issuing ERC721 ids, or counting request ids.** Include with `using Counters for Counters.Counter;`*/library Counters {struct Counter {// This variable should never be directly accessed by users of the library: interactions must be restricted to// the library's function. As of Solidity v0.5.2, this cannot be enforced, though there is a proposal to add// this feature: see https://github.com/ethereum/solidity/issues/4637uint256 _value; // default: 0}function current(Counter storage counter) internal view returns (uint256) {return counter._value;}function increment(Counter storage counter) internal {
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MIT// OpenZeppelin Contracts (last updated v4.9.0) (utils/cryptography/ECDSA.sol)pragma solidity ^0.8.0;import "../Strings.sol";/*** @dev Elliptic Curve Digital Signature Algorithm (ECDSA) operations.** These functions can be used to verify that a message was signed by the holder* of the private keys of a given address.*/library ECDSA {enum RecoverError {NoError,InvalidSignature,InvalidSignatureLength,InvalidSignatureS,InvalidSignatureV // Deprecated in v4.8}function _throwError(RecoverError error) private pure {if (error == RecoverError.NoError) {return; // no error: do nothing} else if (error == RecoverError.InvalidSignature) {
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MIT// OpenZeppelin Contracts (last updated v4.9.0) (utils/cryptography/EIP712.sol)pragma solidity ^0.8.8;import "./ECDSA.sol";import "../ShortStrings.sol";import "../../interfaces/IERC5267.sol";/*** @dev https://eips.ethereum.org/EIPS/eip-712[EIP 712] is a standard for hashing and signing of typed structured data.** The encoding specified in the EIP is very generic, and such a generic implementation in Solidity is not feasible,* thus this contract does not implement the encoding itself. Protocols need to implement the type-specific encoding* they need in their contracts using a combination of `abi.encode` and `keccak256`.** This contract implements the EIP 712 domain separator ({_domainSeparatorV4}) that is used as part of the encoding* scheme, and the final step of the encoding to obtain the message digest that is then signed via ECDSA* ({_hashTypedDataV4}).** The implementation of the domain separator was designed to be as efficient as possible while still properly updating* the chain id to protect against replay attacks on an eventual fork of the chain.** NOTE: This contract implements the version of the encoding known as "v4", as implemented by the JSON RPC method* https://docs.metamask.io/guide/signing-data.html[`eth_signTypedDataV4` in MetaMask].*
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MIT// OpenZeppelin Contracts (last updated v4.9.0) (utils/math/Math.sol)pragma solidity ^0.8.0;/*** @dev Standard math utilities missing in the Solidity language.*/library Math {enum Rounding {Down, // Toward negative infinityUp, // Toward infinityZero // Toward zero}/*** @dev Returns the largest of two numbers.*/function max(uint256 a, uint256 b) internal pure returns (uint256) {return a > b ? a : b;}/*** @dev Returns the smallest of two numbers.*/function min(uint256 a, uint256 b) internal pure returns (uint256) {
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MIT// OpenZeppelin Contracts (last updated v4.8.0) (utils/math/SignedMath.sol)pragma solidity ^0.8.0;/*** @dev Standard signed math utilities missing in the Solidity language.*/library SignedMath {/*** @dev Returns the largest of two signed numbers.*/function max(int256 a, int256 b) internal pure returns (int256) {return a > b ? a : b;}/*** @dev Returns the smallest of two signed numbers.*/function min(int256 a, int256 b) internal pure returns (int256) {return a < b ? a : b;}/*** @dev Returns the average of two signed numbers without overflow.* The result is rounded towards zero.
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MIT// OpenZeppelin Contracts (last updated v4.9.0) (utils/ShortStrings.sol)pragma solidity ^0.8.8;import "./StorageSlot.sol";// | string | 0xAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA |// | length | 0x BB |type ShortString is bytes32;/*** @dev This library provides functions to convert short memory strings* into a `ShortString` type that can be used as an immutable variable.** Strings of arbitrary length can be optimized using this library if* they are short enough (up to 31 bytes) by packing them with their* length (1 byte) in a single EVM word (32 bytes). Additionally, a* fallback mechanism can be used for every other case.** Usage example:** ```solidity* contract Named {* using ShortStrings for *;*
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MIT// OpenZeppelin Contracts (last updated v4.9.0) (utils/StorageSlot.sol)// This file was procedurally generated from scripts/generate/templates/StorageSlot.js.pragma solidity ^0.8.0;/*** @dev Library for reading and writing primitive types to specific storage slots.** Storage slots are often used to avoid storage conflict when dealing with upgradeable contracts.* This library helps with reading and writing to such slots without the need for inline assembly.** The functions in this library return Slot structs that contain a `value` member that can be used to read or write.** Example usage to set ERC1967 implementation slot:* ```solidity* contract ERC1967 {* bytes32 internal constant _IMPLEMENTATION_SLOT = 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc;** function _getImplementation() internal view returns (address) {* return StorageSlot.getAddressSlot(_IMPLEMENTATION_SLOT).value;* }** function _setImplementation(address newImplementation) internal {* require(Address.isContract(newImplementation), "ERC1967: new implementation is not a contract");* StorageSlot.getAddressSlot(_IMPLEMENTATION_SLOT).value = newImplementation;
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MIT// OpenZeppelin Contracts (last updated v4.9.0) (utils/Strings.sol)pragma solidity ^0.8.0;import "./math/Math.sol";import "./math/SignedMath.sol";/*** @dev String operations.*/library Strings {bytes16 private constant _SYMBOLS = "0123456789abcdef";uint8 private constant _ADDRESS_LENGTH = 20;/*** @dev Converts a `uint256` to its ASCII `string` decimal representation.*/function toString(uint256 value) internal pure returns (string memory) {unchecked {uint256 length = Math.log10(value) + 1;string memory buffer = new string(length);uint256 ptr;/// @solidity memory-safe-assemblyassembly {ptr := add(buffer, add(32, length))
1234567891011121314151617181920212223242526// SPDX-License-Identifier: UNLICENSED// Copyright (c) Eywa.Fi, 2021-2023 - all rights reservedpragma solidity 0.8.17;import "@openzeppelin/contracts/token/ERC20/IERC20.sol";/*** @dev Should be implemented by "treasury" contract in cases when third party token used instead of our synth.** Mint\Burn can be implemented as Lock\Unlock in treasury contract.*/interface ISynthAdapter {enum SynthType { Unknown, DefaultSynth, CustomSynth, ThirdPartySynth, ThirdPartyToken }function mint(address account, uint256 amount) external;function burn(address account, uint256 amount) external;function setCap(uint256) external;function decimals() external view returns (uint8);function originalToken() external view returns (address);function synthToken() external view returns (address);
12345678910111213141516171819{"optimizer": {"enabled": true,"runs": 200},"outputSelection": {"*": {"*": ["evm.bytecode","evm.deployedBytecode","devdoc","userdoc","metadata","abi"]}},"libraries": {}}
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"string","name":"name_","type":"string"},{"internalType":"string","name":"symbol_","type":"string"},{"internalType":"uint8","name":"decimals_","type":"uint8"},{"internalType":"address","name":"originalToken_","type":"address"},{"internalType":"uint64","name":"chainIdFrom_","type":"uint64"},{"internalType":"string","name":"chainSymbolFrom_","type":"string"},{"internalType":"enum ISynthAdapter.SynthType","name":"synthType_","type":"uint8"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"InvalidShortString","type":"error"},{"inputs":[{"internalType":"string","name":"str","type":"string"}],"name":"StringTooLong","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"cap","type":"uint256"}],"name":"CapSet","type":"event"},{"anonymous":false,"inputs":[],"name":"EIP712DomainChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"DOMAIN_SEPARATOR","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"burnWithAllowanceDecrease","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"cap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"chainIdFrom","outputs":[{"internalType":"uint64","name":"","type":"uint64"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"chainSymbolFrom","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"eip712Domain","outputs":[{"internalType":"bytes1","name":"fields","type":"bytes1"},{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"version","type":"string"},{"internalType":"uint256","name":"chainId","type":"uint256"},{"internalType":"address","name":"verifyingContract","type":"address"},{"internalType":"bytes32","name":"salt","type":"bytes32"},{"internalType":"uint256[]","name":"extensions","type":"uint256[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"mint","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"mintWithAllowanceIncrease","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"nonces","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"originalToken","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"uint256","name":"deadline","type":"uint256"},{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"name":"permit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"cap_","type":"uint256"}],"name":"setCap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"synthToken","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"synthType","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
6101606040523480156200001257600080fd5b506040516200217c3803806200217c833981016040819052620000359162000424565b604051806040016040528060048152602001634559574160e01b81525080604051806040016040528060018152602001603160f81b815250898962000089620000836200021f60201b60201c565b62000223565b600462000097838262000599565b506005620000a6828262000599565b505050620000c46006836200027360201b62000a2d1790919060201c565b61012052620000e181600762000273602090811b62000a2d17901c565b61014052815160208084019190912060e052815190820120610100524660a0526200016f60e05161010051604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201529081019290925260608201524660808201523060a082015260009060c00160405160208183030381529060405280519060200120905090565b60805250503060c05250600a80546001600160401b038516600160a01b026001600160e01b03199091166001600160a01b03871617179055600b620001b5838262000599565b50600e805460ff60a01b1916600160a01b60ff881602179055806004811115620001e357620001e362000665565b600c805460ff9290921660ff199092169190911790555050600019600d555050600e80546001600160a01b0319163017905550620006d5915050565b3390565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b600060208351101562000293576200028b83620002c3565b9050620002bd565b82620002aa836200030f60201b62000a5e1760201c565b90620002b7908262000599565b5060ff90505b92915050565b600080829050601f81511115620002fa578260405163305a27a960e01b8152600401620002f191906200067b565b60405180910390fd5b80516200030782620006b0565b179392505050565b90565b634e487b7160e01b600052604160045260246000fd5b60005b83811015620003455781810151838201526020016200032b565b50506000910152565b600082601f8301126200036057600080fd5b81516001600160401b03808211156200037d576200037d62000312565b604051601f8301601f19908116603f01168101908282118183101715620003a857620003a862000312565b81604052838152866020858801011115620003c257600080fd5b620003d584602083016020890162000328565b9695505050505050565b80516001600160a01b0381168114620003f757600080fd5b919050565b80516001600160401b0381168114620003f757600080fd5b805160058110620003f757600080fd5b600080600080600080600060e0888a0312156200044057600080fd5b87516001600160401b03808211156200045857600080fd5b620004668b838c016200034e565b985060208a01519150808211156200047d57600080fd5b6200048b8b838c016200034e565b975060408a0151915060ff82168214620004a457600080fd5b819650620004b560608b01620003df565b9550620004c560808b01620003fc565b945060a08a0151915080821115620004dc57600080fd5b50620004eb8a828b016200034e565b925050620004fc60c0890162000414565b905092959891949750929550565b600181811c908216806200051f57607f821691505b6020821081036200054057634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200059457600081815260208120601f850160051c810160208610156200056f5750805b601f850160051c820191505b8181101562000590578281556001016200057b565b5050505b505050565b81516001600160401b03811115620005b557620005b562000312565b620005cd81620005c684546200050a565b8462000546565b602080601f831160018114620006055760008415620005ec5750858301515b600019600386901b1c1916600185901b17855562000590565b600085815260208120601f198616915b82811015620006365788860151825594840194600190910190840162000615565b5085821015620006555787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b600052602160045260246000fd5b60208152600082518060208401526200069c81604085016020870162000328565b601f01601f19169190910160400192915050565b80516020808301519190811015620005405760001960209190910360031b1b16919050565b60805160a05160c05160e051610100516101205161014051611a4c6200073060003960006106860152600061065b01526000610f4701526000610f1f01526000610e7a01526000610ea401526000610ece0152611a4c6000f3fe608060405234801561001057600080fd5b50600436106101cf5760003560e01c8063715018a611610104578063a457c2d7116100a2578063d505accf11610071578063d505accf146103f7578063dd62ed3e1461040a578063e75afb141461041d578063f2fde38b1461042a57600080fd5b8063a457c2d7146103ab578063a9059cbb146103be578063a918adf5146103d1578063b6838cfa146103e457600080fd5b80638662847d116100de5780638662847d146103775780638da5cb5b1461037f57806395d89b41146103905780639dc29fac1461039857600080fd5b8063715018a6146103415780637ecebe001461034957806384b0196e1461035c57600080fd5b8063355274ea11610171578063395093511161014b57806339509351146102df57806340c10f19146102f257806347786d371461030557806370a082311461031857600080fd5b8063355274ea1461029a5780633644e515146102a3578063376c16e8146102ab57600080fd5b806318160ddd116101ad57806318160ddd1461024057806320c41a781461025257806323b872dd14610267578063313ce5671461027a57600080fd5b806306fdde03146101d4578063095ea7b3146101f25780630e7c1cb514610215575b600080fd5b6101dc61043d565b6040516101e991906115f7565b60405180910390f35b61020561020036600461162d565b6104cf565b60405190151581526020016101e9565b600a54610228906001600160a01b031681565b6040516001600160a01b0390911681526020016101e9565b6003545b6040519081526020016101e9565b610265610260366004611657565b6104e9565b005b610205610275366004611657565b61051f565b600e54600160a01b900460ff165b60405160ff90911681526020016101e9565b610244600d5481565b610244610543565b600a546102c690600160a01b900467ffffffffffffffff1681565b60405167ffffffffffffffff90911681526020016101e9565b6102056102ed36600461162d565b610552565b61026561030036600461162d565b610565565b610265610313366004611693565b61057b565b6102446103263660046116ac565b6001600160a01b031660009081526001602052604090205490565b61026561061b565b6102446103573660046116ac565b61062f565b61036461064d565b6040516101e997969594939291906116c7565b6101dc6106d6565b6000546001600160a01b0316610228565b6101dc610764565b6102656103a636600461162d565b610773565b6102056103b936600461162d565b610785565b6102056103cc36600461162d565b6107c2565b6102656103df366004611657565b6107d0565b600e54610228906001600160a01b031681565b61026561040536600461175d565b610825565b6102446104183660046117d0565b610989565b600c546102889060ff1681565b6102656104383660046116ac565b6109b4565b60606004805461044c90611803565b80601f016020809104026020016040519081016040528092919081815260200182805461047890611803565b80156104c55780601f1061049a576101008083540402835291602001916104c5565b820191906000526020600020905b8154815290600101906020018083116104a857829003601f168201915b5050505050905090565b6000336104dd818585610a61565b60019150505b92915050565b6104f1610b85565b6104fb8382610bdf565b61051a83838361050b8787610989565b610515919061184d565b610a61565b505050565b60003361052d858285610c4e565b610538858585610cc2565b506001949350505050565b600061054d610e6d565b905090565b6000336104dd81858561050b8383610989565b61056d610b85565b6105778282610bdf565b5050565b610583610b85565b8061058d60035490565b11156105e05760405162461bcd60e51b815260206004820152601860248201527f53796e746845524332303a20636170206578636565646564000000000000000060448201526064015b60405180910390fd5b600d8190556040518181527f9872d5eb566b79923d043f1b59aca655ca80a2bb5b6bca4824e515b0e398902f9060200160405180910390a150565b610623610b85565b61062d6000610f98565b565b6001600160a01b0381166000908152600860205260408120546104e3565b6000606080828080836106817f00000000000000000000000000000000000000000000000000000000000000006006610fe8565b6106ac7f00000000000000000000000000000000000000000000000000000000000000006007610fe8565b60408051600080825260208201909252600f60f81b9b939a50919850469750309650945092509050565b600b80546106e390611803565b80601f016020809104026020016040519081016040528092919081815260200182805461070f90611803565b801561075c5780601f106107315761010080835404028352916020019161075c565b820191906000526020600020905b81548152906001019060200180831161073f57829003601f168201915b505050505081565b60606005805461044c90611803565b61077b610b85565b610577828261108c565b600033816107938286610989565b9050838110156107b55760405162461bcd60e51b81526004016105d790611876565b6105388286868403610a61565b6000336104dd818585610cc2565b6107d8610b85565b60006107e48484610989565b9050818110156108065760405162461bcd60e51b81526004016105d790611876565b610815848461051585856118bb565b61081f848361108c565b50505050565b834211156108755760405162461bcd60e51b815260206004820152601d60248201527f45524332305065726d69743a206578706972656420646561646c696e6500000060448201526064016105d7565b60007f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98888886108a48c6111c0565b6040805160208101969096526001600160a01b0394851690860152929091166060840152608083015260a082015260c0810186905260e00160405160208183030381529060405280519060200120905060006108ff826111e8565b9050600061090f82878787611215565b9050896001600160a01b0316816001600160a01b0316146109725760405162461bcd60e51b815260206004820152601e60248201527f45524332305065726d69743a20696e76616c6964207369676e6174757265000060448201526064016105d7565b61097d8a8a8a610a61565b50505050505050505050565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b6109bc610b85565b6001600160a01b038116610a215760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016105d7565b610a2a81610f98565b50565b6000602083511015610a4957610a428361123d565b90506104e3565b81610a54848261191c565b5060ff90506104e3565b90565b6001600160a01b038316610ac35760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016105d7565b6001600160a01b038216610b245760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016105d7565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6000546001600160a01b0316331461062d5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016105d7565b600d5481610bec60035490565b610bf6919061184d565b1115610c445760405162461bcd60e51b815260206004820152601960248201527f45524332304361707065643a206361702065786365656465640000000000000060448201526064016105d7565b610577828261127b565b6000610c5a8484610989565b9050600019811461081f5781811015610cb55760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e636500000060448201526064016105d7565b61081f8484848403610a61565b6001600160a01b038316610d265760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016105d7565b6001600160a01b038216610d885760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016105d7565b6001600160a01b03831660009081526001602052604090205481811015610e005760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b60648201526084016105d7565b6001600160a01b0380851660008181526001602052604080822086860390559286168082529083902080548601905591517fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610e609086815260200190565b60405180910390a361081f565b6000306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148015610ec657507f000000000000000000000000000000000000000000000000000000000000000046145b15610ef057507f000000000000000000000000000000000000000000000000000000000000000090565b61054d604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201527f0000000000000000000000000000000000000000000000000000000000000000918101919091527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260009060c00160405160208183030381529060405280519060200120905090565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b606060ff8314610ffb57610a428361133c565b81805461100790611803565b80601f016020809104026020016040519081016040528092919081815260200182805461103390611803565b80156110805780601f1061105557610100808354040283529160200191611080565b820191906000526020600020905b81548152906001019060200180831161106357829003601f168201915b505050505090506104e3565b6001600160a01b0382166110ec5760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b60648201526084016105d7565b6001600160a01b038216600090815260016020526040902054818110156111605760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b60648201526084016105d7565b6001600160a01b03831660008181526001602090815260408083208686039055600380548790039055518581529192917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3505050565b6001600160a01b03811660009081526008602052604090208054600181018255905b50919050565b60006104e36111f5610e6d565b8360405161190160f01b8152600281019290925260228201526042902090565b60008060006112268787878761137b565b915091506112338161143f565b5095945050505050565b600080829050601f81511115611268578260405163305a27a960e01b81526004016105d791906115f7565b8051611273826119dc565b179392505050565b6001600160a01b0382166112d15760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f20616464726573730060448201526064016105d7565b80600360008282546112e3919061184d565b90915550506001600160a01b0382166000818152600160209081526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b6060600061134983611589565b604080516020808252818301909252919250600091906020820181803683375050509182525060208101929092525090565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08311156113b25750600090506003611436565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa158015611406573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b03811661142f57600060019250925050611436565b9150600090505b94509492505050565b600081600481111561145357611453611a00565b0361145b5750565b600181600481111561146f5761146f611a00565b036114bc5760405162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e6174757265000000000000000060448201526064016105d7565b60028160048111156114d0576114d0611a00565b0361151d5760405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e6774680060448201526064016105d7565b600381600481111561153157611531611a00565b03610a2a5760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c604482015261756560f01b60648201526084016105d7565b600060ff8216601f8111156104e357604051632cd44ac360e21b815260040160405180910390fd5b6000815180845260005b818110156115d7576020818501810151868301820152016115bb565b506000602082860101526020601f19601f83011685010191505092915050565b60208152600061160a60208301846115b1565b9392505050565b80356001600160a01b038116811461162857600080fd5b919050565b6000806040838503121561164057600080fd5b61164983611611565b946020939093013593505050565b60008060006060848603121561166c57600080fd5b61167584611611565b925061168360208501611611565b9150604084013590509250925092565b6000602082840312156116a557600080fd5b5035919050565b6000602082840312156116be57600080fd5b61160a82611611565b60ff60f81b881681526000602060e0818401526116e760e084018a6115b1565b83810360408501526116f9818a6115b1565b606085018990526001600160a01b038816608086015260a0850187905284810360c0860152855180825283870192509083019060005b8181101561174b5783518352928401929184019160010161172f565b50909c9b505050505050505050505050565b600080600080600080600060e0888a03121561177857600080fd5b61178188611611565b965061178f60208901611611565b95506040880135945060608801359350608088013560ff811681146117b357600080fd5b9699959850939692959460a0840135945060c09093013592915050565b600080604083850312156117e357600080fd5b6117ec83611611565b91506117fa60208401611611565b90509250929050565b600181811c9082168061181757607f821691505b6020821081036111e257634e487b7160e01b600052602260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b808201808211156104e3576104e3611837565b634e487b7160e01b600052604160045260246000fd5b60208082526025908201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604082015264207a65726f60d81b606082015260800190565b818103818111156104e3576104e3611837565b601f82111561051a57600081815260208120601f850160051c810160208610156118f55750805b601f850160051c820191505b8181101561191457828155600101611901565b505050505050565b815167ffffffffffffffff81111561193657611936611860565b61194a816119448454611803565b846118ce565b602080601f83116001811461197f57600084156119675750858301515b600019600386901b1c1916600185901b178555611914565b600085815260208120601f198616915b828110156119ae5788860151825594840194600190910190840161198f565b50858210156119cc5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b805160208083015191908110156111e25760001960209190910360031b1b16919050565b634e487b7160e01b600052602160045260246000fdfea26469706673582212202eb8536582ccecae28c09188dfcaabf368cb467d534eee02a624e7e9155c593164736f6c6343000811003300000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000001200000000000000000000000000000000000000000000000000000000000000012000000000000000000000000d533a949740bb3306d119cc777fa900ba034cd520000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000006734352565f6500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006734352565f65000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000034554480000000000000000000000000000000000000000000000000000000000
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106101cf5760003560e01c8063715018a611610104578063a457c2d7116100a2578063d505accf11610071578063d505accf146103f7578063dd62ed3e1461040a578063e75afb141461041d578063f2fde38b1461042a57600080fd5b8063a457c2d7146103ab578063a9059cbb146103be578063a918adf5146103d1578063b6838cfa146103e457600080fd5b80638662847d116100de5780638662847d146103775780638da5cb5b1461037f57806395d89b41146103905780639dc29fac1461039857600080fd5b8063715018a6146103415780637ecebe001461034957806384b0196e1461035c57600080fd5b8063355274ea11610171578063395093511161014b57806339509351146102df57806340c10f19146102f257806347786d371461030557806370a082311461031857600080fd5b8063355274ea1461029a5780633644e515146102a3578063376c16e8146102ab57600080fd5b806318160ddd116101ad57806318160ddd1461024057806320c41a781461025257806323b872dd14610267578063313ce5671461027a57600080fd5b806306fdde03146101d4578063095ea7b3146101f25780630e7c1cb514610215575b600080fd5b6101dc61043d565b6040516101e991906115f7565b60405180910390f35b61020561020036600461162d565b6104cf565b60405190151581526020016101e9565b600a54610228906001600160a01b031681565b6040516001600160a01b0390911681526020016101e9565b6003545b6040519081526020016101e9565b610265610260366004611657565b6104e9565b005b610205610275366004611657565b61051f565b600e54600160a01b900460ff165b60405160ff90911681526020016101e9565b610244600d5481565b610244610543565b600a546102c690600160a01b900467ffffffffffffffff1681565b60405167ffffffffffffffff90911681526020016101e9565b6102056102ed36600461162d565b610552565b61026561030036600461162d565b610565565b610265610313366004611693565b61057b565b6102446103263660046116ac565b6001600160a01b031660009081526001602052604090205490565b61026561061b565b6102446103573660046116ac565b61062f565b61036461064d565b6040516101e997969594939291906116c7565b6101dc6106d6565b6000546001600160a01b0316610228565b6101dc610764565b6102656103a636600461162d565b610773565b6102056103b936600461162d565b610785565b6102056103cc36600461162d565b6107c2565b6102656103df366004611657565b6107d0565b600e54610228906001600160a01b031681565b61026561040536600461175d565b610825565b6102446104183660046117d0565b610989565b600c546102889060ff1681565b6102656104383660046116ac565b6109b4565b60606004805461044c90611803565b80601f016020809104026020016040519081016040528092919081815260200182805461047890611803565b80156104c55780601f1061049a576101008083540402835291602001916104c5565b820191906000526020600020905b8154815290600101906020018083116104a857829003601f168201915b5050505050905090565b6000336104dd818585610a61565b60019150505b92915050565b6104f1610b85565b6104fb8382610bdf565b61051a83838361050b8787610989565b610515919061184d565b610a61565b505050565b60003361052d858285610c4e565b610538858585610cc2565b506001949350505050565b600061054d610e6d565b905090565b6000336104dd81858561050b8383610989565b61056d610b85565b6105778282610bdf565b5050565b610583610b85565b8061058d60035490565b11156105e05760405162461bcd60e51b815260206004820152601860248201527f53796e746845524332303a20636170206578636565646564000000000000000060448201526064015b60405180910390fd5b600d8190556040518181527f9872d5eb566b79923d043f1b59aca655ca80a2bb5b6bca4824e515b0e398902f9060200160405180910390a150565b610623610b85565b61062d6000610f98565b565b6001600160a01b0381166000908152600860205260408120546104e3565b6000606080828080836106817f45595741000000000000000000000000000000000000000000000000000000046006610fe8565b6106ac7f31000000000000000000000000000000000000000000000000000000000000016007610fe8565b60408051600080825260208201909252600f60f81b9b939a50919850469750309650945092509050565b600b80546106e390611803565b80601f016020809104026020016040519081016040528092919081815260200182805461070f90611803565b801561075c5780601f106107315761010080835404028352916020019161075c565b820191906000526020600020905b81548152906001019060200180831161073f57829003601f168201915b505050505081565b60606005805461044c90611803565b61077b610b85565b610577828261108c565b600033816107938286610989565b9050838110156107b55760405162461bcd60e51b81526004016105d790611876565b6105388286868403610a61565b6000336104dd818585610cc2565b6107d8610b85565b60006107e48484610989565b9050818110156108065760405162461bcd60e51b81526004016105d790611876565b610815848461051585856118bb565b61081f848361108c565b50505050565b834211156108755760405162461bcd60e51b815260206004820152601d60248201527f45524332305065726d69743a206578706972656420646561646c696e6500000060448201526064016105d7565b60007f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98888886108a48c6111c0565b6040805160208101969096526001600160a01b0394851690860152929091166060840152608083015260a082015260c0810186905260e00160405160208183030381529060405280519060200120905060006108ff826111e8565b9050600061090f82878787611215565b9050896001600160a01b0316816001600160a01b0316146109725760405162461bcd60e51b815260206004820152601e60248201527f45524332305065726d69743a20696e76616c6964207369676e6174757265000060448201526064016105d7565b61097d8a8a8a610a61565b50505050505050505050565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b6109bc610b85565b6001600160a01b038116610a215760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016105d7565b610a2a81610f98565b50565b6000602083511015610a4957610a428361123d565b90506104e3565b81610a54848261191c565b5060ff90506104e3565b90565b6001600160a01b038316610ac35760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016105d7565b6001600160a01b038216610b245760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016105d7565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6000546001600160a01b0316331461062d5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016105d7565b600d5481610bec60035490565b610bf6919061184d565b1115610c445760405162461bcd60e51b815260206004820152601960248201527f45524332304361707065643a206361702065786365656465640000000000000060448201526064016105d7565b610577828261127b565b6000610c5a8484610989565b9050600019811461081f5781811015610cb55760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e636500000060448201526064016105d7565b61081f8484848403610a61565b6001600160a01b038316610d265760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016105d7565b6001600160a01b038216610d885760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016105d7565b6001600160a01b03831660009081526001602052604090205481811015610e005760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b60648201526084016105d7565b6001600160a01b0380851660008181526001602052604080822086860390559286168082529083902080548601905591517fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610e609086815260200190565b60405180910390a361081f565b6000306001600160a01b037f000000000000000000000000f47be881f4a0a3557819fc917ec722b4dad627bb16148015610ec657507f000000000000000000000000000000000000000000000000000000000000009246145b15610ef057507f64124553a11dc2f17e2e2e92e170ebac93fb36b93901397442a3bf05cfa7945290565b61054d604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201527fc2a59fd4499513f5d074d325c5dcf8b1f005e4fbb0493c56f92b05b38e5d3b25918101919091527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608201524660808201523060a082015260009060c00160405160208183030381529060405280519060200120905090565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b606060ff8314610ffb57610a428361133c565b81805461100790611803565b80601f016020809104026020016040519081016040528092919081815260200182805461103390611803565b80156110805780601f1061105557610100808354040283529160200191611080565b820191906000526020600020905b81548152906001019060200180831161106357829003601f168201915b505050505090506104e3565b6001600160a01b0382166110ec5760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b60648201526084016105d7565b6001600160a01b038216600090815260016020526040902054818110156111605760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b60648201526084016105d7565b6001600160a01b03831660008181526001602090815260408083208686039055600380548790039055518581529192917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3505050565b6001600160a01b03811660009081526008602052604090208054600181018255905b50919050565b60006104e36111f5610e6d565b8360405161190160f01b8152600281019290925260228201526042902090565b60008060006112268787878761137b565b915091506112338161143f565b5095945050505050565b600080829050601f81511115611268578260405163305a27a960e01b81526004016105d791906115f7565b8051611273826119dc565b179392505050565b6001600160a01b0382166112d15760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f20616464726573730060448201526064016105d7565b80600360008282546112e3919061184d565b90915550506001600160a01b0382166000818152600160209081526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b6060600061134983611589565b604080516020808252818301909252919250600091906020820181803683375050509182525060208101929092525090565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08311156113b25750600090506003611436565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa158015611406573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b03811661142f57600060019250925050611436565b9150600090505b94509492505050565b600081600481111561145357611453611a00565b0361145b5750565b600181600481111561146f5761146f611a00565b036114bc5760405162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e6174757265000000000000000060448201526064016105d7565b60028160048111156114d0576114d0611a00565b0361151d5760405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e6774680060448201526064016105d7565b600381600481111561153157611531611a00565b03610a2a5760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c604482015261756560f01b60648201526084016105d7565b600060ff8216601f8111156104e357604051632cd44ac360e21b815260040160405180910390fd5b6000815180845260005b818110156115d7576020818501810151868301820152016115bb565b506000602082860101526020601f19601f83011685010191505092915050565b60208152600061160a60208301846115b1565b9392505050565b80356001600160a01b038116811461162857600080fd5b919050565b6000806040838503121561164057600080fd5b61164983611611565b946020939093013593505050565b60008060006060848603121561166c57600080fd5b61167584611611565b925061168360208501611611565b9150604084013590509250925092565b6000602082840312156116a557600080fd5b5035919050565b6000602082840312156116be57600080fd5b61160a82611611565b60ff60f81b881681526000602060e0818401526116e760e084018a6115b1565b83810360408501526116f9818a6115b1565b606085018990526001600160a01b038816608086015260a0850187905284810360c0860152855180825283870192509083019060005b8181101561174b5783518352928401929184019160010161172f565b50909c9b505050505050505050505050565b600080600080600080600060e0888a03121561177857600080fd5b61178188611611565b965061178f60208901611611565b95506040880135945060608801359350608088013560ff811681146117b357600080fd5b9699959850939692959460a0840135945060c09093013592915050565b600080604083850312156117e357600080fd5b6117ec83611611565b91506117fa60208401611611565b90509250929050565b600181811c9082168061181757607f821691505b6020821081036111e257634e487b7160e01b600052602260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b808201808211156104e3576104e3611837565b634e487b7160e01b600052604160045260246000fd5b60208082526025908201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604082015264207a65726f60d81b606082015260800190565b818103818111156104e3576104e3611837565b601f82111561051a57600081815260208120601f850160051c810160208610156118f55750805b601f850160051c820191505b8181101561191457828155600101611901565b505050505050565b815167ffffffffffffffff81111561193657611936611860565b61194a816119448454611803565b846118ce565b602080601f83116001811461197f57600084156119675750858301515b600019600386901b1c1916600185901b178555611914565b600085815260208120601f198616915b828110156119ae5788860151825594840194600190910190840161198f565b50858210156119cc5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b805160208083015191908110156111e25760001960209190910360031b1b16919050565b634e487b7160e01b600052602160045260246000fdfea26469706673582212202eb8536582ccecae28c09188dfcaabf368cb467d534eee02a624e7e9155c593164736f6c63430008110033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
00000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000001200000000000000000000000000000000000000000000000000000000000000012000000000000000000000000d533a949740bb3306d119cc777fa900ba034cd520000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000006734352565f6500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006734352565f65000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000034554480000000000000000000000000000000000000000000000000000000000
-----Decoded View---------------
Arg [0] : name_ (string): sCRV_e
Arg [1] : symbol_ (string): sCRV_e
Arg [2] : decimals_ (uint8): 18
Arg [3] : originalToken_ (address): 0xD533a949740bb3306d119CC777fa900bA034cd52
Arg [4] : chainIdFrom_ (uint64): 1
Arg [5] : chainSymbolFrom_ (string): ETH
Arg [6] : synthType_ (uint8): 2
-----Encoded View---------------
13 Constructor Arguments found :
Arg [0] : 00000000000000000000000000000000000000000000000000000000000000e0
Arg [1] : 0000000000000000000000000000000000000000000000000000000000000120
Arg [2] : 0000000000000000000000000000000000000000000000000000000000000012
Arg [3] : 000000000000000000000000d533a949740bb3306d119cc777fa900ba034cd52
Arg [4] : 0000000000000000000000000000000000000000000000000000000000000001
Arg [5] : 0000000000000000000000000000000000000000000000000000000000000160
Arg [6] : 0000000000000000000000000000000000000000000000000000000000000002
Arg [7] : 0000000000000000000000000000000000000000000000000000000000000006
Arg [8] : 734352565f650000000000000000000000000000000000000000000000000000
Arg [9] : 0000000000000000000000000000000000000000000000000000000000000006
Arg [10] : 734352565f650000000000000000000000000000000000000000000000000000
Arg [11] : 0000000000000000000000000000000000000000000000000000000000000003
Arg [12] : 4554480000000000000000000000000000000000000000000000000000000000
[ Download: CSV Export ]
[ Download: CSV Export ]
A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.