Source Code
Overview
ETH Balance
0 ETH
Eth Value
$0.00Latest 25 from a total of 324 transactions
| Transaction Hash |
Method
|
Block
|
From
|
|
To
|
||||
|---|---|---|---|---|---|---|---|---|---|
| Pay USDC With Pe... | 19623656 | 697 days ago | IN | 0 ETH | 0.00167895 | ||||
| Pay USDC With Pe... | 19585221 | 702 days ago | IN | 0 ETH | 0.00225341 | ||||
| Pay USDC With Pe... | 19535485 | 709 days ago | IN | 0 ETH | 0.00351007 | ||||
| Pay USDC With Pe... | 19502942 | 714 days ago | IN | 0 ETH | 0.00160294 | ||||
| Pay USDC With Pe... | 19442114 | 722 days ago | IN | 0 ETH | 0.00405922 | ||||
| Pay USDC With Pe... | 19442019 | 722 days ago | IN | 0 ETH | 0.00370099 | ||||
| Pay USDC With Pe... | 19344827 | 736 days ago | IN | 0 ETH | 0.00548178 | ||||
| Pay USDC With Pe... | 19329268 | 738 days ago | IN | 0 ETH | 0.0052061 | ||||
| Pay USDC With Pe... | 19325560 | 738 days ago | IN | 0 ETH | 0.00469448 | ||||
| Pay USDC With Pe... | 19302843 | 742 days ago | IN | 0 ETH | 0.00245394 | ||||
| Pay USDC With Pe... | 19302756 | 742 days ago | IN | 0 ETH | 0.00231057 | ||||
| Pay USDC With Pe... | 19302314 | 742 days ago | IN | 0 ETH | 0.00246388 | ||||
| Pay ETH | 19282533 | 744 days ago | IN | 0.16522442 ETH | 0.00199568 | ||||
| Pay USDC With Pe... | 19252889 | 749 days ago | IN | 0 ETH | 0.00158804 | ||||
| Pay USDC With Pe... | 19231198 | 752 days ago | IN | 0 ETH | 0.00225119 | ||||
| Pay USDC With Pe... | 19225122 | 753 days ago | IN | 0 ETH | 0.00191536 | ||||
| Pay USDC With Pe... | 19223335 | 753 days ago | IN | 0 ETH | 0.00199006 | ||||
| Pay ETH | 19217267 | 754 days ago | IN | 0.18746865 ETH | 0.00100263 | ||||
| Pay USDC With Pe... | 19200799 | 756 days ago | IN | 0 ETH | 0.00296626 | ||||
| Pay USDC With Pe... | 19189104 | 758 days ago | IN | 0 ETH | 0.00525062 | ||||
| Pay USDC With Pe... | 19183843 | 758 days ago | IN | 0 ETH | 0.00526992 | ||||
| Pay USDC With Pe... | 19175749 | 759 days ago | IN | 0 ETH | 0.00301871 | ||||
| Pay USDC With Pe... | 19172710 | 760 days ago | IN | 0 ETH | 0.00246878 | ||||
| Pay USDC With Pe... | 19170802 | 760 days ago | IN | 0 ETH | 0.005798 | ||||
| Pay USDC With Pe... | 19170404 | 760 days ago | IN | 0 ETH | 0.00587393 |
Latest 25 internal transactions (View All)
Advanced mode:
| Parent Transaction Hash | Method | Block |
From
|
|
To
|
||
|---|---|---|---|---|---|---|---|
| Transfer | 19282533 | 744 days ago | 0.16522442 ETH | ||||
| Transfer | 19217267 | 754 days ago | 0.18746865 ETH | ||||
| Transfer | 19069671 | 774 days ago | 0.22534266 ETH | ||||
| Transfer | 19068267 | 775 days ago | 0.21320041 ETH | ||||
| Transfer | 19064557 | 775 days ago | 0.21452373 ETH | ||||
| Transfer | 19057121 | 776 days ago | 0.20117792 ETH | ||||
| Transfer | 19055067 | 776 days ago | 0.20107456 ETH | ||||
| Transfer | 19047773 | 777 days ago | 0.20128873 ETH | ||||
| Transfer | 19028916 | 780 days ago | 0.19629372 ETH | ||||
| Transfer | 19020728 | 781 days ago | 0.19417248 ETH | ||||
| Transfer | 19009603 | 783 days ago | 0.19894802 ETH | ||||
| Transfer | 19009412 | 783 days ago | 0.19861965 ETH | ||||
| Transfer | 18992472 | 785 days ago | 0.19287937 ETH | ||||
| Transfer | 18988270 | 786 days ago | 0.19147346 ETH | ||||
| Transfer | 18970853 | 788 days ago | 0.22036882 ETH | ||||
| Transfer | 18967545 | 789 days ago | 0.21673244 ETH | ||||
| Transfer | 18943394 | 792 days ago | 0.22399293 ETH | ||||
| Transfer | 18939175 | 793 days ago | 0.22138775 ETH | ||||
| Transfer | 18938535 | 793 days ago | 0.22152096 ETH | ||||
| Transfer | 18937850 | 793 days ago | 0.21918509 ETH | ||||
| Transfer | 18933317 | 793 days ago | 0.2244076 ETH | ||||
| Transfer | 18930189 | 794 days ago | 0.22566701 ETH | ||||
| Transfer | 18921908 | 795 days ago | 0.21105378 ETH | ||||
| Transfer | 18921781 | 795 days ago | 0.21028047 ETH | ||||
| Transfer | 18894833 | 799 days ago | 0.21666347 ETH |
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions
Loading...
Loading
Contract Name:
subscription
Compiler Version
v0.7.5+commit.eb77ed08
Contract Source Code (Solidity Multiple files format)
// SPDX-License-Identifier: AGPL-3.0-or-later
pragma solidity 0.7.5;
import "./SafeMath.sol";
import "./Address.sol";
import "./IERC20.sol";
import "./Ownable.sol";
import "./EIP3009.sol";
import "./IDAI.sol";
contract subscription is Ownable{
using Address for address;
using SafeMath for uint256;
address public USDC;
address public USDT;
address public DAI;
uint256 public priceUSDC;
uint256 public priceUSDT;
uint256 public priceDAI;
uint256 public priceETH;
address private forward;
address private forwardUSA;
event Payment(
string currency,
uint256 amount,
string id,
address sender,
address forwardTo
);
constructor(
address _USDC,
address _USDT,
address _DAI,
address _forward,
address _forwardUSA,
uint256 _priceUSDC,
uint256 _priceUSDT,
uint256 _priceDAI,
uint256 _priceETH
){
USDC = _USDC;
USDT = _USDT;
DAI = _DAI;
forward = _forward;
forwardUSA = _forwardUSA;
priceUSDC = _priceUSDC;
priceUSDT = _priceUSDT;
priceDAI = _priceDAI;
priceETH = _priceETH;
}
function payUSDC(string memory _id, bool _world ) external returns(bool) {
address to = getTo(_world);
bool success = IERC20(USDC).transferFrom(msg.sender, to, priceUSDC);
require(success, "Dev: Token transfer failed");
emit Payment("USDC", priceUSDC, _id, msg.sender, to);
return true;
}
function payUSDCWithPermit(
string memory _id,
bool _world,
address _from,
address _to,
uint256 _value,
uint256 _validAfter,
uint256 _validBefore,
bytes32 _nonce,
uint8 _v,
bytes32 _r,
bytes32 _s
) external returns(bool){
address to = getTo(_world);
require(_value == priceUSDC ,"Wrong price");
EIP3009(USDC).transferWithAuthorization( _from, to, _value, _validAfter, _validBefore, _nonce, _v, _r, _s);
emit Payment("USDC", _value, _id, _from, to);
return true;
}
function payDAI(string memory _id, bool _world ) external returns(bool) {
address to = getTo(_world);
bool success = IERC20(DAI).transferFrom(msg.sender, to, priceDAI);
require(success, "Dev: Token transfer failed");
emit Payment("DAI", priceDAI, _id, msg.sender, to);
return true;
}
function payDAIWithPermit(
string memory _id,
bool _world,
address _holder,
address _spender,
uint256 _nonce,
uint256 _expiry,
bool _allowed,
uint8 _v,
bytes32 _r,
bytes32 _s
) external returns(bool) {
address to = getTo(_world);
IDAI(DAI).permit(_holder, _spender, _nonce, _expiry, _allowed, _v, _r, _s);
bool success = IDAI(DAI).transferFrom(_holder, to, priceDAI);
require(success, "Dev: Token transfer failed");
emit Payment("DAI", priceDAI, _id, _holder, to);
return true;
}
function payUSDT(string memory _id, bool _world) external returns(bool) {
address to = getTo(_world);
bool success = IERC20(USDT).transferFrom(msg.sender, to, priceUSDT);
require(success, "Dev: Token transfer failed");
emit Payment("USDT", priceUSDT, _id, msg.sender, to);
return true;
}
function payETH(string memory _id, bool _world) external payable returns(bool) {
address to = getTo(_world);
require(msg.value >= priceETH, "Dev: invalid amount");
(bool sent, bytes memory data) = to.call{value: msg.value}("");
require(sent, "Dev: Ether payment error");
emit Payment("ETH", msg.value, _id, msg.sender, to);
return true;
}
function setPriceUSDC(uint256 _price)external onlyOwner returns(bool) {
priceUSDC = _price;
return true;
}
function setPriceDAI(uint256 _price)external onlyOwner returns(bool) {
priceDAI = _price;
return true;
}
function setPriceUSDT(uint256 _price)external onlyOwner returns(bool) {
priceUSDT = _price;
return true;
}
function setPriceETH(uint256 _price)external onlyOwner returns(bool) {
priceETH = _price;
return true;
}
function setForward(address _forward) external onlyOwner returns(bool) {
forward = _forward;
return true;
}
function setForwardUSA(address _forwardUSA) external onlyOwner returns(bool) {
forwardUSA = _forwardUSA;
return true;
}
function recoverEther(uint256 _amount) external onlyOwner returns(bool){
payable(owner()).transfer(_amount);
return true;
}
function recoverERC20(address _tokenAddress, uint256 _amount) external onlyOwner returns(bool){
IERC20 token = IERC20(_tokenAddress);
token.transfer(owner(), _amount);
return true;
}
function getTo(bool _world) internal view returns(address){
address to;
if (_world) {
to = forward;
} else {
to = forwardUSA;
}
return to;
}
}
// SPDX-License-Identifier: MIT
pragma solidity >=0.6.2 <0.8.0;
/**
* @dev Collection of functions related to the address type
*/
library Address {
/**
* @dev Returns true if `account` is a contract.
*
* [IMPORTANT]
* ====
* It is unsafe to assume that an address for which this function returns
* false is an externally-owned account (EOA) and not a contract.
*
* Among others, `isContract` will return false for the following
* types of addresses:
*
* - an externally-owned account
* - a contract in construction
* - an address where a contract will be created
* - an address where a contract lived, but was destroyed
* ====
*/
function isContract(address account) internal view returns (bool) {
// This method relies on extcodesize, which returns 0 for contracts in
// construction, since the code is only stored at the end of the
// constructor execution.
uint256 size;
// solhint-disable-next-line no-inline-assembly
assembly { size := extcodesize(account) }
return size > 0;
}
/**
* @dev Replacement for Solidity's `transfer`: sends `amount` wei to
* `recipient`, forwarding all available gas and reverting on errors.
*
* https://eips.ethereum.org/EIPS/eip-1884[EIP1884] increases the gas cost
* of certain opcodes, possibly making contracts go over the 2300 gas limit
* imposed by `transfer`, making them unable to receive funds via
* `transfer`. {sendValue} removes this limitation.
*
* https://diligence.consensys.net/posts/2019/09/stop-using-soliditys-transfer-now/[Learn more].
*
* IMPORTANT: because control is transferred to `recipient`, care must be
* taken to not create reentrancy vulnerabilities. Consider using
* {ReentrancyGuard} or the
* https://solidity.readthedocs.io/en/v0.5.11/security-considerations.html#use-the-checks-effects-interactions-pattern[checks-effects-interactions pattern].
*/
function sendValue(address payable recipient, uint256 amount) internal {
require(address(this).balance >= amount, "Address: insufficient balance");
// solhint-disable-next-line avoid-low-level-calls, avoid-call-value
(bool success, ) = recipient.call{ value: amount }("");
require(success, "Address: unable to send value, recipient may have reverted");
}
/**
* @dev Performs a Solidity function call using a low level `call`. A
* plain`call` is an unsafe replacement for a function call: use this
* function instead.
*
* If `target` reverts with a revert reason, it is bubbled up by this
* function (like regular Solidity function calls).
*
* Returns the raw returned data. To convert to the expected return value,
* use https://solidity.readthedocs.io/en/latest/units-and-global-variables.html?highlight=abi.decode#abi-encoding-and-decoding-functions[`abi.decode`].
*
* Requirements:
*
* - `target` must be a contract.
* - calling `target` with `data` must not revert.
*
* _Available since v3.1._
*/
function functionCall(address target, bytes memory data) internal returns (bytes memory) {
return functionCall(target, data, "Address: low-level call failed");
}
/**
* @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`], but with
* `errorMessage` as a fallback revert reason when `target` reverts.
*
* _Available since v3.1._
*/
function functionCall(address target, bytes memory data, string memory errorMessage) internal returns (bytes memory) {
return functionCallWithValue(target, data, 0, errorMessage);
}
/**
* @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],
* but also transferring `value` wei to `target`.
*
* Requirements:
*
* - the calling contract must have an ETH balance of at least `value`.
* - the called Solidity function must be `payable`.
*
* _Available since v3.1._
*/
function functionCallWithValue(address target, bytes memory data, uint256 value) internal returns (bytes memory) {
return functionCallWithValue(target, data, value, "Address: low-level call with value failed");
}
/**
* @dev Same as {xref-Address-functionCallWithValue-address-bytes-uint256-}[`functionCallWithValue`], but
* with `errorMessage` as a fallback revert reason when `target` reverts.
*
* _Available since v3.1._
*/
function functionCallWithValue(address target, bytes memory data, uint256 value, string memory errorMessage) internal returns (bytes memory) {
require(address(this).balance >= value, "Address: insufficient balance for call");
require(isContract(target), "Address: call to non-contract");
// solhint-disable-next-line avoid-low-level-calls
(bool success, bytes memory returndata) = target.call{ value: value }(data);
return _verifyCallResult(success, returndata, errorMessage);
}
/**
* @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],
* but performing a static call.
*
* _Available since v3.3._
*/
function functionStaticCall(address target, bytes memory data) internal view returns (bytes memory) {
return functionStaticCall(target, data, "Address: low-level static call failed");
}
/**
* @dev Same as {xref-Address-functionCall-address-bytes-string-}[`functionCall`],
* but performing a static call.
*
* _Available since v3.3._
*/
function functionStaticCall(address target, bytes memory data, string memory errorMessage) internal view returns (bytes memory) {
require(isContract(target), "Address: static call to non-contract");
// solhint-disable-next-line avoid-low-level-calls
(bool success, bytes memory returndata) = target.staticcall(data);
return _verifyCallResult(success, returndata, errorMessage);
}
/**
* @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],
* but performing a delegate call.
*
* _Available since v3.4._
*/
function functionDelegateCall(address target, bytes memory data) internal returns (bytes memory) {
return functionDelegateCall(target, data, "Address: low-level delegate call failed");
}
/**
* @dev Same as {xref-Address-functionCall-address-bytes-string-}[`functionCall`],
* but performing a delegate call.
*
* _Available since v3.4._
*/
function functionDelegateCall(address target, bytes memory data, string memory errorMessage) internal returns (bytes memory) {
require(isContract(target), "Address: delegate call to non-contract");
// solhint-disable-next-line avoid-low-level-calls
(bool success, bytes memory returndata) = target.delegatecall(data);
return _verifyCallResult(success, returndata, errorMessage);
}
function _verifyCallResult(bool success, bytes memory returndata, string memory errorMessage) private pure returns(bytes memory) {
if (success) {
return returndata;
} else {
// Look for revert reason and bubble it up if present
if (returndata.length > 0) {
// The easiest way to bubble the revert reason is using memory via assembly
// solhint-disable-next-line no-inline-assembly
assembly {
let returndata_size := mload(returndata)
revert(add(32, returndata), returndata_size)
}
} else {
revert(errorMessage);
}
}
}
}// SPDX-License-Identifier: AGPL-3.0-or-later
pragma solidity ^0.7.0;
interface EIP3009 {
function transferWithAuthorization(
address from,
address to,
uint256 value,
uint256 validAfter,
uint256 validBefore,
bytes32 nonce,
uint8 v,
bytes32 r,
bytes32 s
) external;
}
// SPDX-License-Identifier: AGPL-3.0-or-later
pragma solidity ^0.7.0;
interface IDAI {
function permit(
address holder,
address spender,
uint256 nonce,
uint256 expiry,
bool allowed,
uint8 v,
bytes32 r,
bytes32 s
) external;
function transferFrom(
address src,
address dst,
uint256 wad
) external returns (bool);
}// SPDX-License-Identifier: AGPL-3.0-or-later
pragma solidity >=0.5.0;
interface IERC20 {
event Approval(
address indexed owner,
address indexed spender,
uint256 value
);
event Transfer(address indexed from, address indexed to, uint256 value);
function name() external view returns (string memory);
function symbol() external view returns (string memory);
function decimals() external view returns (uint8);
function totalSupply() external view returns (uint256);
function balanceOf(address owner) external view returns (uint256);
function allowance(address owner, address spender)
external
view
returns (uint256);
function approve(address spender, uint256 value) external returns (bool);
function transfer(address to, uint256 value) external returns (bool);
function transferFrom(
address from,
address to,
uint256 value
) external returns (bool);
}
interface IERC20Mintable {
function mint(uint256 amount_) external;
function mint(address account_, uint256 ammount_) external;
}// SPDX-License-Identifier: AGPL-3.0-or-later
pragma solidity 0.7.5;
interface IOwnable {
function owner() external view returns (address);
function renounceManagement() external;
function pushManagement(address newOwner_) external;
function pullManagement() external;
}
contract Ownable is IOwnable {
address internal _owner;
address internal _newOwner;
event OwnershipPushed(
address indexed previousOwner,
address indexed newOwner
);
event OwnershipPulled(
address indexed previousOwner,
address indexed newOwner
);
constructor() {
_owner = msg.sender;
emit OwnershipPushed(address(0), _owner);
}
function owner() public view override returns (address) {
return _owner;
}
modifier onlyOwner() {
require(_owner == msg.sender, 'Ownable: caller is not the owner');
_;
}
function renounceManagement() public virtual override onlyOwner {
emit OwnershipPushed(_owner, address(0));
_owner = address(0);
}
function pushManagement(address newOwner_)
public
virtual
override
onlyOwner
{
require(
newOwner_ != address(0),
'Ownable: new owner is the zero address'
);
emit OwnershipPushed(_owner, newOwner_);
_newOwner = newOwner_;
}
function pullManagement() public virtual override {
require(msg.sender == _newOwner, 'Ownable: must be new owner to pull');
emit OwnershipPulled(_owner, _newOwner);
_owner = _newOwner;
}
}// SPDX-License-Identifier: MIT
pragma solidity >=0.6.0 <0.8.0;
/**
* @dev Wrappers over Solidity's arithmetic operations with added overflow
* checks.
*
* Arithmetic operations in Solidity wrap on overflow. This can easily result
* in bugs, because programmers usually assume that an overflow raises an
* error, which is the standard behavior in high level programming languages.
* `SafeMath` restores this intuition by reverting the transaction when 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.
*/
library SafeMath {
/**
* @dev Returns the addition of two unsigned integers, with an overflow flag.
*
* _Available since v3.4._
*/
function tryAdd(uint256 a, uint256 b) internal pure returns (bool, uint256) {
uint256 c = a + b;
if (c < a) return (false, 0);
return (true, c);
}
/**
* @dev Returns the substraction of two unsigned integers, with an overflow flag.
*
* _Available since v3.4._
*/
function trySub(uint256 a, uint256 b) internal pure returns (bool, uint256) {
if (b > a) return (false, 0);
return (true, a - b);
}
/**
* @dev Returns the multiplication of two unsigned integers, with an overflow flag.
*
* _Available since v3.4._
*/
function tryMul(uint256 a, uint256 b) internal pure returns (bool, uint256) {
// Gas optimization: this is cheaper than requiring 'a' not being zero, but the
// benefit is lost if 'b' is also tested.
// See: https://github.com/OpenZeppelin/openzeppelin-contracts/pull/522
if (a == 0) return (true, 0);
uint256 c = a * b;
if (c / a != b) return (false, 0);
return (true, c);
}
/**
* @dev Returns the division of two unsigned integers, with a division by zero flag.
*
* _Available since v3.4._
*/
function tryDiv(uint256 a, uint256 b) internal pure returns (bool, uint256) {
if (b == 0) return (false, 0);
return (true, a / b);
}
/**
* @dev Returns the remainder of dividing two unsigned integers, with a division by zero flag.
*
* _Available since v3.4._
*/
function tryMod(uint256 a, uint256 b) internal pure returns (bool, uint256) {
if (b == 0) return (false, 0);
return (true, a % b);
}
/**
* @dev Returns the addition of two unsigned integers, reverting on
* overflow.
*
* Counterpart to Solidity's `+` operator.
*
* Requirements:
*
* - Addition cannot overflow.
*/
function add(uint256 a, uint256 b) internal pure returns (uint256) {
uint256 c = a + b;
require(c >= a, "SafeMath: addition overflow");
return c;
}
/**
* @dev Returns the subtraction of two unsigned integers, reverting on
* overflow (when the result is negative).
*
* Counterpart to Solidity's `-` operator.
*
* Requirements:
*
* - Subtraction cannot overflow.
*/
function sub(uint256 a, uint256 b) internal pure returns (uint256) {
require(b <= a, "SafeMath: subtraction overflow");
return a - b;
}
/**
* @dev Returns the multiplication of two unsigned integers, reverting on
* overflow.
*
* Counterpart to Solidity's `*` operator.
*
* Requirements:
*
* - Multiplication cannot overflow.
*/
function mul(uint256 a, uint256 b) internal pure returns (uint256) {
if (a == 0) return 0;
uint256 c = a * b;
require(c / a == b, "SafeMath: multiplication overflow");
return c;
}
/**
* @dev Returns the integer division of two unsigned integers, reverting on
* division by zero. The result is rounded towards zero.
*
* Counterpart to Solidity's `/` operator. Note: this function uses a
* `revert` opcode (which leaves remaining gas untouched) while Solidity
* uses an invalid opcode to revert (consuming all remaining gas).
*
* Requirements:
*
* - The divisor cannot be zero.
*/
function div(uint256 a, uint256 b) internal pure returns (uint256) {
require(b > 0, "SafeMath: division by zero");
return a / b;
}
/**
* @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo),
* reverting when dividing by zero.
*
* Counterpart to Solidity's `%` operator. This function uses a `revert`
* opcode (which leaves remaining gas untouched) while Solidity uses an
* invalid opcode to revert (consuming all remaining gas).
*
* Requirements:
*
* - The divisor cannot be zero.
*/
function mod(uint256 a, uint256 b) internal pure returns (uint256) {
require(b > 0, "SafeMath: modulo by zero");
return a % b;
}
/**
* @dev Returns the subtraction of two unsigned integers, reverting with custom message on
* overflow (when the result is negative).
*
* CAUTION: This function is deprecated because it requires allocating memory for the error
* message unnecessarily. For custom revert reasons use {trySub}.
*
* Counterpart to Solidity's `-` operator.
*
* Requirements:
*
* - Subtraction cannot overflow.
*/
function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
require(b <= a, errorMessage);
return a - b;
}
/**
* @dev Returns the integer division of two unsigned integers, reverting with custom message on
* division by zero. The result is rounded towards zero.
*
* CAUTION: This function is deprecated because it requires allocating memory for the error
* message unnecessarily. For custom revert reasons use {tryDiv}.
*
* Counterpart to Solidity's `/` operator. Note: this function uses a
* `revert` opcode (which leaves remaining gas untouched) while Solidity
* uses an invalid opcode to revert (consuming all remaining gas).
*
* Requirements:
*
* - The divisor cannot be zero.
*/
function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
require(b > 0, errorMessage);
return a / b;
}
/**
* @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo),
* reverting with custom message when dividing by zero.
*
* CAUTION: This function is deprecated because it requires allocating memory for the error
* message unnecessarily. For custom revert reasons use {tryMod}.
*
* Counterpart to Solidity's `%` operator. This function uses a `revert`
* opcode (which leaves remaining gas untouched) while Solidity uses an
* invalid opcode to revert (consuming all remaining gas).
*
* Requirements:
*
* - The divisor cannot be zero.
*/
function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
require(b > 0, errorMessage);
return a % b;
}
}Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"inputs":[{"internalType":"address","name":"_USDC","type":"address"},{"internalType":"address","name":"_USDT","type":"address"},{"internalType":"address","name":"_DAI","type":"address"},{"internalType":"address","name":"_forward","type":"address"},{"internalType":"address","name":"_forwardUSA","type":"address"},{"internalType":"uint256","name":"_priceUSDC","type":"uint256"},{"internalType":"uint256","name":"_priceUSDT","type":"uint256"},{"internalType":"uint256","name":"_priceDAI","type":"uint256"},{"internalType":"uint256","name":"_priceETH","type":"uint256"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipPulled","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipPushed","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"string","name":"currency","type":"string"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":false,"internalType":"string","name":"id","type":"string"},{"indexed":false,"internalType":"address","name":"sender","type":"address"},{"indexed":false,"internalType":"address","name":"forwardTo","type":"address"}],"name":"Payment","type":"event"},{"inputs":[],"name":"DAI","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"USDC","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"USDT","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":"string","name":"_id","type":"string"},{"internalType":"bool","name":"_world","type":"bool"}],"name":"payDAI","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"_id","type":"string"},{"internalType":"bool","name":"_world","type":"bool"},{"internalType":"address","name":"_holder","type":"address"},{"internalType":"address","name":"_spender","type":"address"},{"internalType":"uint256","name":"_nonce","type":"uint256"},{"internalType":"uint256","name":"_expiry","type":"uint256"},{"internalType":"bool","name":"_allowed","type":"bool"},{"internalType":"uint8","name":"_v","type":"uint8"},{"internalType":"bytes32","name":"_r","type":"bytes32"},{"internalType":"bytes32","name":"_s","type":"bytes32"}],"name":"payDAIWithPermit","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"_id","type":"string"},{"internalType":"bool","name":"_world","type":"bool"}],"name":"payETH","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"string","name":"_id","type":"string"},{"internalType":"bool","name":"_world","type":"bool"}],"name":"payUSDC","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"_id","type":"string"},{"internalType":"bool","name":"_world","type":"bool"},{"internalType":"address","name":"_from","type":"address"},{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_value","type":"uint256"},{"internalType":"uint256","name":"_validAfter","type":"uint256"},{"internalType":"uint256","name":"_validBefore","type":"uint256"},{"internalType":"bytes32","name":"_nonce","type":"bytes32"},{"internalType":"uint8","name":"_v","type":"uint8"},{"internalType":"bytes32","name":"_r","type":"bytes32"},{"internalType":"bytes32","name":"_s","type":"bytes32"}],"name":"payUSDCWithPermit","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"_id","type":"string"},{"internalType":"bool","name":"_world","type":"bool"}],"name":"payUSDT","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"priceDAI","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"priceETH","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"priceUSDC","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"priceUSDT","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pullManagement","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner_","type":"address"}],"name":"pushManagement","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_tokenAddress","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"recoverERC20","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"recoverEther","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceManagement","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_forward","type":"address"}],"name":"setForward","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_forwardUSA","type":"address"}],"name":"setForwardUSA","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_price","type":"uint256"}],"name":"setPriceDAI","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_price","type":"uint256"}],"name":"setPriceETH","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_price","type":"uint256"}],"name":"setPriceUSDC","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_price","type":"uint256"}],"name":"setPriceUSDT","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"}]Contract Creation Code
608060405234801561001057600080fd5b50604051611c01380380611c01833981810160405261012081101561003457600080fd5b50805160208201516040808401516060850151608086015160a087015160c088015160e089015161010090990151600080546001600160a01b03191633178082559751999a989996989597949693959294929391926001600160a01b0316917fea8258f2d9ddb679928cf34b78cf645b7feda9acc828e4dd82d014eaae270eba908290a3600280546001600160a01b03199081166001600160a01b039b8c1617909155600380548216998b1699909917909855600480548916978a169790971790965560098054881695891695909517909455600a80549096169290961691909117909355600592909255600692909255600755600855611ac78061013a6000396000f3fe6080604052600436106101665760003560e01c80638980f11f116100d1578063a2fe95991161008a578063c54e44eb11610064578063c54e44eb146107f0578063c85a0f8414610805578063e0bab4c41461081a578063ee089ef41461082f57610166565b8063a2fe959914610787578063c38ad273146107b1578063c3d31487146107c657610166565b80638980f11f146105ce57806389a30271146106075780638da5cb5b14610638578063990bdc991461064d578063998ef3861461074857806399a752d71461075d57610166565b806346f68ee91161012357806346f68ee91461044357806357acc118146104765780635a96ac0a146104a95780635cd7d28c146104be578063757d6d9a146104f1578063784c10bb146105a457610166565b8063089208d81461016b5780632dc03fce14610182578063303742731461024957806330d1e18b146102fc5780633661925b1461032357806344cf100414610419575b600080fd5b34801561017757600080fd5b506101806108d5565b005b34801561018e57600080fd5b50610235600480360360408110156101a557600080fd5b810190602081018135600160201b8111156101bf57600080fd5b8201836020820111156101d157600080fd5b803590602001918460018302840111600160201b831117156101f257600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550505050351515905061096c565b604080519115158252519081900360200190f35b34801561025557600080fd5b506102356004803603604081101561026c57600080fd5b810190602081018135600160201b81111561028657600080fd5b82018360208201111561029857600080fd5b803590602001918460018302840111600160201b831117156102b957600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295505050503515159050610b38565b34801561030857600080fd5b50610311610cb9565b60408051918252519081900360200190f35b34801561032f57600080fd5b50610235600480360361014081101561034757600080fd5b810190602081018135600160201b81111561036157600080fd5b82018360208201111561037357600080fd5b803590602001918460018302840111600160201b8311171561039457600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295505050508035151591506001600160a01b03602082013581169160408101359091169060608101359060808101359060a081013515159060ff60c0820135169060e0810135906101000135610cbf565b34801561042557600080fd5b506102356004803603602081101561043c57600080fd5b5035610f4f565b34801561044f57600080fd5b506101806004803603602081101561046657600080fd5b50356001600160a01b0316610fa6565b34801561048257600080fd5b506102356004803603602081101561049957600080fd5b50356001600160a01b0316611093565b3480156104b557600080fd5b50610180611106565b3480156104ca57600080fd5b50610235600480360360208110156104e157600080fd5b50356001600160a01b03166111b0565b3480156104fd57600080fd5b506102356004803603604081101561051457600080fd5b810190602081018135600160201b81111561052e57600080fd5b82018360208201111561054057600080fd5b803590602001918460018302840111600160201b8311171561056157600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295505050503515159050611223565b3480156105b057600080fd5b50610235600480360360208110156105c757600080fd5b50356113a5565b3480156105da57600080fd5b50610235600480360360408110156105f157600080fd5b506001600160a01b0381351690602001356113fc565b34801561061357600080fd5b5061061c6114df565b604080516001600160a01b039092168252519081900360200190f35b34801561064457600080fd5b5061061c6114ee565b34801561065957600080fd5b50610235600480360361016081101561067157600080fd5b810190602081018135600160201b81111561068b57600080fd5b82018360208201111561069d57600080fd5b803590602001918460018302840111600160201b831117156106be57600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295505050508035151591506001600160a01b03602082013581169160408101359091169060608101359060808101359060a08101359060c08101359060ff60e082013516906101008101359061012001356114fd565b34801561075457600080fd5b50610311611684565b34801561076957600080fd5b506102356004803603602081101561078057600080fd5b503561168a565b34801561079357600080fd5b50610235600480360360208110156107aa57600080fd5b50356116e1565b3480156107bd57600080fd5b50610311611738565b3480156107d257600080fd5b50610235600480360360208110156107e957600080fd5b503561173e565b3480156107fc57600080fd5b5061061c6117d5565b34801561081157600080fd5b506103116117e4565b34801561082657600080fd5b5061061c6117ea565b6102356004803603604081101561084557600080fd5b810190602081018135600160201b81111561085f57600080fd5b82018360208201111561087157600080fd5b803590602001918460018302840111600160201b8311171561089257600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092955050505035151590506117f9565b6000546001600160a01b03163314610922576040805162461bcd60e51b81526020600482018190526024820152600080516020611a72833981519152604482015290519081900360640190fd5b600080546040516001600160a01b03909116907fea8258f2d9ddb679928cf34b78cf645b7feda9acc828e4dd82d014eaae270eba908390a3600080546001600160a01b0319169055565b600080610978836119da565b600254600554604080516323b872dd60e01b81523360048201526001600160a01b0380861660248301526044820193909352905193945060009391909216916323b872dd91606480830192602092919082900301818787803b1580156109dd57600080fd5b505af11580156109f1573d6000803e3d6000fd5b505050506040513d6020811015610a0757600080fd5b5051905080610a5a576040805162461bcd60e51b815260206004820152601a60248201527911195d8e88151bdad95b881d1c985b9cd9995c8819985a5b195960321b604482015290519081900360640190fd5b600080516020611a52833981519152600554863385604051808060200186815260200180602001856001600160a01b03168152602001846001600160a01b0316815260200183810383526004815260200180635553444360e01b815250602001838103825286818151815260200191508051906020019080838360005b83811015610aef578181015183820152602001610ad7565b50505050905090810190601f168015610b1c5780820380516001836020036101000a031916815260200191505b50965050505050505060405180910390a1506001949350505050565b600080610b44836119da565b60048054600754604080516323b872dd60e01b815233948101949094526001600160a01b0380861660248601526044850192909252519394506000939116916323b872dd91606480830192602092919082900301818787803b158015610ba957600080fd5b505af1158015610bbd573d6000803e3d6000fd5b505050506040513d6020811015610bd357600080fd5b5051905080610c26576040805162461bcd60e51b815260206004820152601a60248201527911195d8e88151bdad95b881d1c985b9cd9995c8819985a5b195960321b604482015290519081900360640190fd5b600080516020611a52833981519152600754863385604051808060200186815260200180602001856001600160a01b03168152602001846001600160a01b03168152602001838103835260038152602001806244414960e81b8152506020018381038252868181518152602001915080519060200190808383600083811015610aef578181015183820152602001610ad7565b60075481565b600080610ccb8b6119da565b60048054604080516323f2ebc360e21b81526001600160a01b038f8116948201949094528d84166024820152604481018d9052606481018c90528a1515608482015260ff8a1660a482015260c4810189905260e481018890529051939450911691638fcbaf0c916101048082019260009290919082900301818387803b158015610d5457600080fd5b505af1158015610d68573d6000803e3d6000fd5b505050506000600460009054906101000a90046001600160a01b03166001600160a01b03166323b872dd8c846007546040518463ffffffff1660e01b815260040180846001600160a01b03168152602001836001600160a01b031681526020018281526020019350505050602060405180830381600087803b158015610ded57600080fd5b505af1158015610e01573d6000803e3d6000fd5b505050506040513d6020811015610e1757600080fd5b5051905080610e6a576040805162461bcd60e51b815260206004820152601a60248201527911195d8e88151bdad95b881d1c985b9cd9995c8819985a5b195960321b604482015290519081900360640190fd5b600080516020611a528339815191526007548e8d85604051808060200186815260200180602001856001600160a01b03168152602001846001600160a01b03168152602001838103835260038152602001806244414960e81b815250602001838103825286818151815260200191508051906020019080838360005b83811015610efe578181015183820152602001610ee6565b50505050905090810190601f168015610f2b5780820380516001836020036101000a031916815260200191505b50965050505050505060405180910390a15060019c9b505050505050505050505050565b600080546001600160a01b03163314610f9d576040805162461bcd60e51b81526020600482018190526024820152600080516020611a72833981519152604482015290519081900360640190fd5b50600755600190565b6000546001600160a01b03163314610ff3576040805162461bcd60e51b81526020600482018190526024820152600080516020611a72833981519152604482015290519081900360640190fd5b6001600160a01b0381166110385760405162461bcd60e51b8152600401808060200182810382526026815260200180611a0a6026913960400191505060405180910390fd5b600080546040516001600160a01b03808516939216917fea8258f2d9ddb679928cf34b78cf645b7feda9acc828e4dd82d014eaae270eba91a3600180546001600160a01b0319166001600160a01b0392909216919091179055565b600080546001600160a01b031633146110e1576040805162461bcd60e51b81526020600482018190526024820152600080516020611a72833981519152604482015290519081900360640190fd5b50600980546001600160a01b0383166001600160a01b03199091161790556001919050565b6001546001600160a01b0316331461114f5760405162461bcd60e51b8152600401808060200182810382526022815260200180611a306022913960400191505060405180910390fd5b600154600080546040516001600160a01b0393841693909116917faa151555690c956fc3ea32f106bb9f119b5237a061eaa8557cff3e51e3792c8d91a3600154600080546001600160a01b0319166001600160a01b03909216919091179055565b600080546001600160a01b031633146111fe576040805162461bcd60e51b81526020600482018190526024820152600080516020611a72833981519152604482015290519081900360640190fd5b50600a80546001600160a01b0383166001600160a01b03199091161790556001919050565b60008061122f836119da565b600354600654604080516323b872dd60e01b81523360048201526001600160a01b0380861660248301526044820193909352905193945060009391909216916323b872dd91606480830192602092919082900301818787803b15801561129457600080fd5b505af11580156112a8573d6000803e3d6000fd5b505050506040513d60208110156112be57600080fd5b5051905080611311576040805162461bcd60e51b815260206004820152601a60248201527911195d8e88151bdad95b881d1c985b9cd9995c8819985a5b195960321b604482015290519081900360640190fd5b600080516020611a52833981519152600654863385604051808060200186815260200180602001856001600160a01b03168152602001846001600160a01b0316815260200183810383526004815260200180631554d11560e21b8152506020018381038252868181518152602001915080519060200190808383600083811015610aef578181015183820152602001610ad7565b600080546001600160a01b031633146113f3576040805162461bcd60e51b81526020600482018190526024820152600080516020611a72833981519152604482015290519081900360640190fd5b50600555600190565b600080546001600160a01b0316331461144a576040805162461bcd60e51b81526020600482018190526024820152600080516020611a72833981519152604482015290519081900360640190fd5b826001600160a01b03811663a9059cbb6114626114ee565b856040518363ffffffff1660e01b815260040180836001600160a01b0316815260200182815260200192505050602060405180830381600087803b1580156114a957600080fd5b505af11580156114bd573d6000803e3d6000fd5b505050506040513d60208110156114d357600080fd5b50600195945050505050565b6002546001600160a01b031681565b6000546001600160a01b031690565b6000806115098c6119da565b9050600554891461154f576040805162461bcd60e51b815260206004820152600b60248201526a57726f6e6720707269636560a81b604482015290519081900360640190fd5b600254604080516371f70b0760e11b81526001600160a01b038e811660048301528481166024830152604482018d9052606482018c9052608482018b905260a482018a905260ff891660c483015260e4820188905261010482018790529151919092169163e3ee160e9161012480830192600092919082900301818387803b1580156115da57600080fd5b505af11580156115ee573d6000803e3d6000fd5b50505050600080516020611a52833981519152898e8d84604051808060200186815260200180602001856001600160a01b03168152602001846001600160a01b0316815260200183810383526004815260200180635553444360e01b8152506020018381038252868181518152602001915080519060200190808383600083811015610efe578181015183820152602001610ee6565b60055481565b600080546001600160a01b031633146116d8576040805162461bcd60e51b81526020600482018190526024820152600080516020611a72833981519152604482015290519081900360640190fd5b50600855600190565b600080546001600160a01b0316331461172f576040805162461bcd60e51b81526020600482018190526024820152600080516020611a72833981519152604482015290519081900360640190fd5b50600655600190565b60085481565b600080546001600160a01b0316331461178c576040805162461bcd60e51b81526020600482018190526024820152600080516020611a72833981519152604482015290519081900360640190fd5b6117946114ee565b6001600160a01b03166108fc839081150290604051600060405180830381858888f193505050501580156117cc573d6000803e3d6000fd5b50600192915050565b6003546001600160a01b031681565b60065481565b6004546001600160a01b031681565b600080611805836119da565b9050600854341015611854576040805162461bcd60e51b815260206004820152601360248201527211195d8e881a5b9d985b1a5908185b5bdd5b9d606a1b604482015290519081900360640190fd5b6040516000906060906001600160a01b0384169034908481818185875af1925050503d80600081146118a2576040519150601f19603f3d011682016040523d82523d6000602084013e6118a7565b606091505b5091509150816118fe576040805162461bcd60e51b815260206004820152601860248201527f4465763a204574686572207061796d656e74206572726f720000000000000000604482015290519081900360640190fd5b600080516020611a5283398151915234873386604051808060200186815260200180602001856001600160a01b03168152602001846001600160a01b03168152602001838103835260038152602001806208aa8960eb1b815250602001838103825286818151815260200191508051906020019080838360005b83811015611990578181015183820152602001611978565b50505050905090810190601f1680156119bd5780820380516001836020036101000a031916815260200191505b50965050505050505060405180910390a150600195945050505050565b60008082156119f557506009546001600160a01b0316611a03565b50600a546001600160a01b03165b9291505056fe4f776e61626c653a206e6577206f776e657220697320746865207a65726f20616464726573734f776e61626c653a206d757374206265206e6577206f776e657220746f2070756c6c3eb5fd16c9742485b15832ba7a79429515e65caab291cd3ef265c68758aa0cab4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572a26469706673582212204d1d974161343f4423503c211118f4017cce5d931ff47abbb056c5f2889e240964736f6c63430007050033000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec70000000000000000000000006b175474e89094c44da98b954eedeac495271d0f000000000000000000000000a9b72d9ca85d163715df6a038c0a19ab56de5dd5000000000000000000000000a9b72d9ca85d163715df6a038c0a19ab56de5dd5000000000000000000000000000000000000000000000000000000000010c8e00000000000000000000000000000000000000000000000000000000000124f80000000000000000000000000000000000000000000000000120a871cc00200000000000000000000000000000000000000000000000000000004f94ae6af8000
Deployed Bytecode
0x6080604052600436106101665760003560e01c80638980f11f116100d1578063a2fe95991161008a578063c54e44eb11610064578063c54e44eb146107f0578063c85a0f8414610805578063e0bab4c41461081a578063ee089ef41461082f57610166565b8063a2fe959914610787578063c38ad273146107b1578063c3d31487146107c657610166565b80638980f11f146105ce57806389a30271146106075780638da5cb5b14610638578063990bdc991461064d578063998ef3861461074857806399a752d71461075d57610166565b806346f68ee91161012357806346f68ee91461044357806357acc118146104765780635a96ac0a146104a95780635cd7d28c146104be578063757d6d9a146104f1578063784c10bb146105a457610166565b8063089208d81461016b5780632dc03fce14610182578063303742731461024957806330d1e18b146102fc5780633661925b1461032357806344cf100414610419575b600080fd5b34801561017757600080fd5b506101806108d5565b005b34801561018e57600080fd5b50610235600480360360408110156101a557600080fd5b810190602081018135600160201b8111156101bf57600080fd5b8201836020820111156101d157600080fd5b803590602001918460018302840111600160201b831117156101f257600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550505050351515905061096c565b604080519115158252519081900360200190f35b34801561025557600080fd5b506102356004803603604081101561026c57600080fd5b810190602081018135600160201b81111561028657600080fd5b82018360208201111561029857600080fd5b803590602001918460018302840111600160201b831117156102b957600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295505050503515159050610b38565b34801561030857600080fd5b50610311610cb9565b60408051918252519081900360200190f35b34801561032f57600080fd5b50610235600480360361014081101561034757600080fd5b810190602081018135600160201b81111561036157600080fd5b82018360208201111561037357600080fd5b803590602001918460018302840111600160201b8311171561039457600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295505050508035151591506001600160a01b03602082013581169160408101359091169060608101359060808101359060a081013515159060ff60c0820135169060e0810135906101000135610cbf565b34801561042557600080fd5b506102356004803603602081101561043c57600080fd5b5035610f4f565b34801561044f57600080fd5b506101806004803603602081101561046657600080fd5b50356001600160a01b0316610fa6565b34801561048257600080fd5b506102356004803603602081101561049957600080fd5b50356001600160a01b0316611093565b3480156104b557600080fd5b50610180611106565b3480156104ca57600080fd5b50610235600480360360208110156104e157600080fd5b50356001600160a01b03166111b0565b3480156104fd57600080fd5b506102356004803603604081101561051457600080fd5b810190602081018135600160201b81111561052e57600080fd5b82018360208201111561054057600080fd5b803590602001918460018302840111600160201b8311171561056157600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295505050503515159050611223565b3480156105b057600080fd5b50610235600480360360208110156105c757600080fd5b50356113a5565b3480156105da57600080fd5b50610235600480360360408110156105f157600080fd5b506001600160a01b0381351690602001356113fc565b34801561061357600080fd5b5061061c6114df565b604080516001600160a01b039092168252519081900360200190f35b34801561064457600080fd5b5061061c6114ee565b34801561065957600080fd5b50610235600480360361016081101561067157600080fd5b810190602081018135600160201b81111561068b57600080fd5b82018360208201111561069d57600080fd5b803590602001918460018302840111600160201b831117156106be57600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295505050508035151591506001600160a01b03602082013581169160408101359091169060608101359060808101359060a08101359060c08101359060ff60e082013516906101008101359061012001356114fd565b34801561075457600080fd5b50610311611684565b34801561076957600080fd5b506102356004803603602081101561078057600080fd5b503561168a565b34801561079357600080fd5b50610235600480360360208110156107aa57600080fd5b50356116e1565b3480156107bd57600080fd5b50610311611738565b3480156107d257600080fd5b50610235600480360360208110156107e957600080fd5b503561173e565b3480156107fc57600080fd5b5061061c6117d5565b34801561081157600080fd5b506103116117e4565b34801561082657600080fd5b5061061c6117ea565b6102356004803603604081101561084557600080fd5b810190602081018135600160201b81111561085f57600080fd5b82018360208201111561087157600080fd5b803590602001918460018302840111600160201b8311171561089257600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092955050505035151590506117f9565b6000546001600160a01b03163314610922576040805162461bcd60e51b81526020600482018190526024820152600080516020611a72833981519152604482015290519081900360640190fd5b600080546040516001600160a01b03909116907fea8258f2d9ddb679928cf34b78cf645b7feda9acc828e4dd82d014eaae270eba908390a3600080546001600160a01b0319169055565b600080610978836119da565b600254600554604080516323b872dd60e01b81523360048201526001600160a01b0380861660248301526044820193909352905193945060009391909216916323b872dd91606480830192602092919082900301818787803b1580156109dd57600080fd5b505af11580156109f1573d6000803e3d6000fd5b505050506040513d6020811015610a0757600080fd5b5051905080610a5a576040805162461bcd60e51b815260206004820152601a60248201527911195d8e88151bdad95b881d1c985b9cd9995c8819985a5b195960321b604482015290519081900360640190fd5b600080516020611a52833981519152600554863385604051808060200186815260200180602001856001600160a01b03168152602001846001600160a01b0316815260200183810383526004815260200180635553444360e01b815250602001838103825286818151815260200191508051906020019080838360005b83811015610aef578181015183820152602001610ad7565b50505050905090810190601f168015610b1c5780820380516001836020036101000a031916815260200191505b50965050505050505060405180910390a1506001949350505050565b600080610b44836119da565b60048054600754604080516323b872dd60e01b815233948101949094526001600160a01b0380861660248601526044850192909252519394506000939116916323b872dd91606480830192602092919082900301818787803b158015610ba957600080fd5b505af1158015610bbd573d6000803e3d6000fd5b505050506040513d6020811015610bd357600080fd5b5051905080610c26576040805162461bcd60e51b815260206004820152601a60248201527911195d8e88151bdad95b881d1c985b9cd9995c8819985a5b195960321b604482015290519081900360640190fd5b600080516020611a52833981519152600754863385604051808060200186815260200180602001856001600160a01b03168152602001846001600160a01b03168152602001838103835260038152602001806244414960e81b8152506020018381038252868181518152602001915080519060200190808383600083811015610aef578181015183820152602001610ad7565b60075481565b600080610ccb8b6119da565b60048054604080516323f2ebc360e21b81526001600160a01b038f8116948201949094528d84166024820152604481018d9052606481018c90528a1515608482015260ff8a1660a482015260c4810189905260e481018890529051939450911691638fcbaf0c916101048082019260009290919082900301818387803b158015610d5457600080fd5b505af1158015610d68573d6000803e3d6000fd5b505050506000600460009054906101000a90046001600160a01b03166001600160a01b03166323b872dd8c846007546040518463ffffffff1660e01b815260040180846001600160a01b03168152602001836001600160a01b031681526020018281526020019350505050602060405180830381600087803b158015610ded57600080fd5b505af1158015610e01573d6000803e3d6000fd5b505050506040513d6020811015610e1757600080fd5b5051905080610e6a576040805162461bcd60e51b815260206004820152601a60248201527911195d8e88151bdad95b881d1c985b9cd9995c8819985a5b195960321b604482015290519081900360640190fd5b600080516020611a528339815191526007548e8d85604051808060200186815260200180602001856001600160a01b03168152602001846001600160a01b03168152602001838103835260038152602001806244414960e81b815250602001838103825286818151815260200191508051906020019080838360005b83811015610efe578181015183820152602001610ee6565b50505050905090810190601f168015610f2b5780820380516001836020036101000a031916815260200191505b50965050505050505060405180910390a15060019c9b505050505050505050505050565b600080546001600160a01b03163314610f9d576040805162461bcd60e51b81526020600482018190526024820152600080516020611a72833981519152604482015290519081900360640190fd5b50600755600190565b6000546001600160a01b03163314610ff3576040805162461bcd60e51b81526020600482018190526024820152600080516020611a72833981519152604482015290519081900360640190fd5b6001600160a01b0381166110385760405162461bcd60e51b8152600401808060200182810382526026815260200180611a0a6026913960400191505060405180910390fd5b600080546040516001600160a01b03808516939216917fea8258f2d9ddb679928cf34b78cf645b7feda9acc828e4dd82d014eaae270eba91a3600180546001600160a01b0319166001600160a01b0392909216919091179055565b600080546001600160a01b031633146110e1576040805162461bcd60e51b81526020600482018190526024820152600080516020611a72833981519152604482015290519081900360640190fd5b50600980546001600160a01b0383166001600160a01b03199091161790556001919050565b6001546001600160a01b0316331461114f5760405162461bcd60e51b8152600401808060200182810382526022815260200180611a306022913960400191505060405180910390fd5b600154600080546040516001600160a01b0393841693909116917faa151555690c956fc3ea32f106bb9f119b5237a061eaa8557cff3e51e3792c8d91a3600154600080546001600160a01b0319166001600160a01b03909216919091179055565b600080546001600160a01b031633146111fe576040805162461bcd60e51b81526020600482018190526024820152600080516020611a72833981519152604482015290519081900360640190fd5b50600a80546001600160a01b0383166001600160a01b03199091161790556001919050565b60008061122f836119da565b600354600654604080516323b872dd60e01b81523360048201526001600160a01b0380861660248301526044820193909352905193945060009391909216916323b872dd91606480830192602092919082900301818787803b15801561129457600080fd5b505af11580156112a8573d6000803e3d6000fd5b505050506040513d60208110156112be57600080fd5b5051905080611311576040805162461bcd60e51b815260206004820152601a60248201527911195d8e88151bdad95b881d1c985b9cd9995c8819985a5b195960321b604482015290519081900360640190fd5b600080516020611a52833981519152600654863385604051808060200186815260200180602001856001600160a01b03168152602001846001600160a01b0316815260200183810383526004815260200180631554d11560e21b8152506020018381038252868181518152602001915080519060200190808383600083811015610aef578181015183820152602001610ad7565b600080546001600160a01b031633146113f3576040805162461bcd60e51b81526020600482018190526024820152600080516020611a72833981519152604482015290519081900360640190fd5b50600555600190565b600080546001600160a01b0316331461144a576040805162461bcd60e51b81526020600482018190526024820152600080516020611a72833981519152604482015290519081900360640190fd5b826001600160a01b03811663a9059cbb6114626114ee565b856040518363ffffffff1660e01b815260040180836001600160a01b0316815260200182815260200192505050602060405180830381600087803b1580156114a957600080fd5b505af11580156114bd573d6000803e3d6000fd5b505050506040513d60208110156114d357600080fd5b50600195945050505050565b6002546001600160a01b031681565b6000546001600160a01b031690565b6000806115098c6119da565b9050600554891461154f576040805162461bcd60e51b815260206004820152600b60248201526a57726f6e6720707269636560a81b604482015290519081900360640190fd5b600254604080516371f70b0760e11b81526001600160a01b038e811660048301528481166024830152604482018d9052606482018c9052608482018b905260a482018a905260ff891660c483015260e4820188905261010482018790529151919092169163e3ee160e9161012480830192600092919082900301818387803b1580156115da57600080fd5b505af11580156115ee573d6000803e3d6000fd5b50505050600080516020611a52833981519152898e8d84604051808060200186815260200180602001856001600160a01b03168152602001846001600160a01b0316815260200183810383526004815260200180635553444360e01b8152506020018381038252868181518152602001915080519060200190808383600083811015610efe578181015183820152602001610ee6565b60055481565b600080546001600160a01b031633146116d8576040805162461bcd60e51b81526020600482018190526024820152600080516020611a72833981519152604482015290519081900360640190fd5b50600855600190565b600080546001600160a01b0316331461172f576040805162461bcd60e51b81526020600482018190526024820152600080516020611a72833981519152604482015290519081900360640190fd5b50600655600190565b60085481565b600080546001600160a01b0316331461178c576040805162461bcd60e51b81526020600482018190526024820152600080516020611a72833981519152604482015290519081900360640190fd5b6117946114ee565b6001600160a01b03166108fc839081150290604051600060405180830381858888f193505050501580156117cc573d6000803e3d6000fd5b50600192915050565b6003546001600160a01b031681565b60065481565b6004546001600160a01b031681565b600080611805836119da565b9050600854341015611854576040805162461bcd60e51b815260206004820152601360248201527211195d8e881a5b9d985b1a5908185b5bdd5b9d606a1b604482015290519081900360640190fd5b6040516000906060906001600160a01b0384169034908481818185875af1925050503d80600081146118a2576040519150601f19603f3d011682016040523d82523d6000602084013e6118a7565b606091505b5091509150816118fe576040805162461bcd60e51b815260206004820152601860248201527f4465763a204574686572207061796d656e74206572726f720000000000000000604482015290519081900360640190fd5b600080516020611a5283398151915234873386604051808060200186815260200180602001856001600160a01b03168152602001846001600160a01b03168152602001838103835260038152602001806208aa8960eb1b815250602001838103825286818151815260200191508051906020019080838360005b83811015611990578181015183820152602001611978565b50505050905090810190601f1680156119bd5780820380516001836020036101000a031916815260200191505b50965050505050505060405180910390a150600195945050505050565b60008082156119f557506009546001600160a01b0316611a03565b50600a546001600160a01b03165b9291505056fe4f776e61626c653a206e6577206f776e657220697320746865207a65726f20616464726573734f776e61626c653a206d757374206265206e6577206f776e657220746f2070756c6c3eb5fd16c9742485b15832ba7a79429515e65caab291cd3ef265c68758aa0cab4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572a26469706673582212204d1d974161343f4423503c211118f4017cce5d931ff47abbb056c5f2889e240964736f6c63430007050033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec70000000000000000000000006b175474e89094c44da98b954eedeac495271d0f000000000000000000000000a9b72d9ca85d163715df6a038c0a19ab56de5dd5000000000000000000000000a9b72d9ca85d163715df6a038c0a19ab56de5dd5000000000000000000000000000000000000000000000000000000000010c8e00000000000000000000000000000000000000000000000000000000000124f80000000000000000000000000000000000000000000000000120a871cc00200000000000000000000000000000000000000000000000000000004f94ae6af8000
-----Decoded View---------------
Arg [0] : _USDC (address): 0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48
Arg [1] : _USDT (address): 0xdAC17F958D2ee523a2206206994597C13D831ec7
Arg [2] : _DAI (address): 0x6B175474E89094C44Da98b954EedeAC495271d0F
Arg [3] : _forward (address): 0xa9b72D9Ca85d163715DF6A038C0a19Ab56De5dd5
Arg [4] : _forwardUSA (address): 0xa9b72D9Ca85d163715DF6A038C0a19Ab56De5dd5
Arg [5] : _priceUSDC (uint256): 1100000
Arg [6] : _priceUSDT (uint256): 1200000
Arg [7] : _priceDAI (uint256): 1300000000000000000
Arg [8] : _priceETH (uint256): 1400000000000000
-----Encoded View---------------
9 Constructor Arguments found :
Arg [0] : 000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48
Arg [1] : 000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec7
Arg [2] : 0000000000000000000000006b175474e89094c44da98b954eedeac495271d0f
Arg [3] : 000000000000000000000000a9b72d9ca85d163715df6a038c0a19ab56de5dd5
Arg [4] : 000000000000000000000000a9b72d9ca85d163715df6a038c0a19ab56de5dd5
Arg [5] : 000000000000000000000000000000000000000000000000000000000010c8e0
Arg [6] : 0000000000000000000000000000000000000000000000000000000000124f80
Arg [7] : 000000000000000000000000000000000000000000000000120a871cc0020000
Arg [8] : 0000000000000000000000000000000000000000000000000004f94ae6af8000
Deployed Bytecode Sourcemap
222:5246:6:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;960:153:4;;;;;;;;;;;;;:::i;:::-;;1284:339:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1284:339:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1284:339:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1284:339:6;;-1:-1:-1;;;;1284:339:6;;;;-1:-1:-1;1284:339:6;:::i;:::-;;;;;;;;;;;;;;;;;;2281:334;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2281:334:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2281:334:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2281:334:6;;-1:-1:-1;;;;2281:334:6;;;;-1:-1:-1;2281:334:6;:::i;467:23::-;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;2623:661;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2623:661:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2623:661:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2623:661:6;;-1:-1:-1;;;;2623:661:6;;;;;-1:-1:-1;;;;;;2623:661:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;4179:127::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4179:127:6;;:::i;1121:330:4:-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1121:330:4;-1:-1:-1;;;;;1121:330:4;;:::i;4586:130:6:-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4586:130:6;-1:-1:-1;;;;;4586:130:6;;:::i;1459:218:4:-;;;;;;;;;;;;;:::i;4724:142:6:-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4724:142:6;-1:-1:-1;;;;;4724:142:6;;:::i;3292:337::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3292:337:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3292:337:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3292:337:6;;-1:-1:-1;;;;3292:337:6;;;;-1:-1:-1;3292:337:6;:::i;4042:129::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4042:129:6;;:::i;5028:214::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;5028:214:6;;;;;;;;:::i;328:19::-;;;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;328:19:6;;;;;;;;;;;;;;739:88:4;;;;;;;;;;;;;:::i;1631:642:6:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1631:642:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1631:642:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1631:642:6;;-1:-1:-1;;;;1631:642:6;;;;;-1:-1:-1;;;;;;1631:642:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;405:24::-;;;;;;;;;;;;;:::i;4451:127::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4451:127:6;;:::i;4314:129::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4314:129:6;;:::i;497:23::-;;;;;;;;;;;;;:::i;4874:146::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4874:146:6;;:::i;354:19::-;;;;;;;;;;;;;:::i;436:24::-;;;;;;;;;;;;;:::i;380:18::-;;;;;;;;;;;;;:::i;3637:397::-;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3637:397:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3637:397:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3637:397:6;;-1:-1:-1;;;;3637:397:6;;;;-1:-1:-1;3637:397:6;:::i;960:153:4:-;875:6;;-1:-1:-1;;;;;875:6:4;885:10;875:20;867:65;;;;;-1:-1:-1;;;867:65:4;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;867:65:4;;;;;;;;;;;;;;;1072:1:::1;1056:6:::0;;1040:35:::1;::::0;-1:-1:-1;;;;;1056:6:4;;::::1;::::0;1040:35:::1;::::0;1072:1;;1040:35:::1;1103:1;1086:19:::0;;-1:-1:-1;;;;;;1086:19:4::1;::::0;;960:153::o;1284:339:6:-;1351:4;1368:10;1381:13;1387:6;1381:5;:13::i;:::-;1427:4;;1462:9;;1420:52;;;-1:-1:-1;;;1420:52:6;;1446:10;1420:52;;;;-1:-1:-1;;;;;1420:52:6;;;;;;;;;;;;;;;;1368:26;;-1:-1:-1;1405:12:6;;1427:4;;;;;1420:25;;:52;;;;;;;;;;;;;;1405:12;1427:4;1420:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1420:52:6;;-1:-1:-1;1420:52:6;1483:46;;;;;-1:-1:-1;;;1483:46:6;;;;;;;;;;;;-1:-1:-1;;;1483:46:6;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1561:9:6;;1572:3;1577:10;1589:2;1545:47;;;;;;;;;;;;;;;-1:-1:-1;;;;;1545:47:6;;;;;;-1:-1:-1;;;;;1545:47:6;;;;;;;;;;;;;;;;-1:-1:-1;;;1545:47:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1610:4:6;;1284:339;-1:-1:-1;;;;1284:339:6:o;2281:334::-;2347:4;2364:10;2377:13;2383:6;2377:5;:13::i;:::-;2423:3;;;2457:8;;2416:50;;;-1:-1:-1;;;2416:50:6;;2441:10;2416:50;;;;;;;-1:-1:-1;;;;;2416:50:6;;;;;;;;;;;;;;;2364:26;;-1:-1:-1;2401:12:6;;2423:3;;;2416:24;;:50;;;;;;;;;;;;;;2401:12;2423:3;2416:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2416:50:6;;-1:-1:-1;2416:50:6;2477:46;;;;;-1:-1:-1;;;2477:46:6;;;;;;;;;;;;-1:-1:-1;;;2477:46:6;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2554:8:6;;2564:3;2569:10;2581:2;2539:45;;;;;;;;;;;;;;;-1:-1:-1;;;;;2539:45:6;;;;;;-1:-1:-1;;;;;2539:45:6;;;;;;;;;;;;;;;;-1:-1:-1;;;2539:45:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;467:23;;;;:::o;2623:661::-;2916:4;2937:10;2950:13;2956:6;2950:5;:13::i;:::-;2983:3;;;2978:74;;;-1:-1:-1;;;2978:74:6;;-1:-1:-1;;;;;2978:74:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2937:26;;-1:-1:-1;2983:3:6;;;2978:16;;:74;;;;;2983:3;;2978:74;;;;;;;;2983:3;;2978:74;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3067:12;3087:3;;;;;;;;;-1:-1:-1;;;;;3087:3:6;-1:-1:-1;;;;;3082:22:6;;3105:7;3114:2;3118:8;;3082:45;;;;;;;;;;;;;-1:-1:-1;;;;;3082:45:6;;;;;;-1:-1:-1;;;;;3082:45:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3082:45:6;;-1:-1:-1;3082:45:6;3142:46;;;;;-1:-1:-1;;;3142:46:6;;;;;;;;;;;;-1:-1:-1;;;3142:46:6;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;3223:8:6;;3233:3;3238:7;3247:2;3208:42;;;;;;;;;;;;;;;-1:-1:-1;;;;;3208:42:6;;;;;;-1:-1:-1;;;;;3208:42:6;;;;;;;;;;;;;;;;-1:-1:-1;;;3208:42:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3272:4:6;;2623:661;-1:-1:-1;;;;;;;;;;;;2623:661:6:o;4179:127::-;4242:4;875:6:4;;-1:-1:-1;;;;;875:6:4;885:10;875:20;867:65;;;;;-1:-1:-1;;;867:65:4;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;867:65:4;;;;;;;;;;;;;;;-1:-1:-1;4259:8:6::1;:17:::0;4294:4:::1;::::0;4179:127::o;1121:330:4:-;875:6;;-1:-1:-1;;;;;875:6:4;885:10;875:20;867:65;;;;;-1:-1:-1;;;867:65:4;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;867:65:4;;;;;;;;;;;;;;;-1:-1:-1;;;;;1272:23:4;::::1;1250:111;;;;-1:-1:-1::0;;;1250:111:4::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1393:6;::::0;;1377:34:::1;::::0;-1:-1:-1;;;;;1377:34:4;;::::1;::::0;1393:6;::::1;::::0;1377:34:::1;::::0;::::1;1422:9;:21:::0;;-1:-1:-1;;;;;;1422:21:4::1;-1:-1:-1::0;;;;;1422:21:4;;;::::1;::::0;;;::::1;::::0;;1121:330::o;4586:130:6:-;4651:4;875:6:4;;-1:-1:-1;;;;;875:6:4;885:10;875:20;867:65;;;;;-1:-1:-1;;;867:65:4;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;867:65:4;;;;;;;;;;;;;;;-1:-1:-1;4668:7:6::1;:18:::0;;-1:-1:-1;;;;;4668:18:6;::::1;-1:-1:-1::0;;;;;;4668:18:6;;::::1;;::::0;;;4586:130;;;:::o;1459:218:4:-;1542:9;;-1:-1:-1;;;;;1542:9:4;1528:10;:23;1520:70;;;;-1:-1:-1;;;1520:70:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1630:9;;;1622:6;;1606:34;;-1:-1:-1;;;;;1630:9:4;;;;1622:6;;;;1606:34;;;1660:9;;;1651:18;;-1:-1:-1;;;;;;1651:18:4;-1:-1:-1;;;;;1660:9:4;;;1651:18;;;;;;1459:218::o;4724:142:6:-;4795:4;875:6:4;;-1:-1:-1;;;;;875:6:4;885:10;875:20;867:65;;;;;-1:-1:-1;;;867:65:4;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;867:65:4;;;;;;;;;;;;;;;-1:-1:-1;4812:10:6::1;:24:::0;;-1:-1:-1;;;;;4812:24:6;::::1;-1:-1:-1::0;;;;;;4812:24:6;;::::1;;::::0;;;4724:142;;;:::o;3292:337::-;3358:4;3375:10;3388:13;3394:6;3388:5;:13::i;:::-;3434:4;;3469:9;;3427:52;;;-1:-1:-1;;;3427:52:6;;3453:10;3427:52;;;;-1:-1:-1;;;;;3427:52:6;;;;;;;;;;;;;;;;3375:26;;-1:-1:-1;3412:12:6;;3434:4;;;;;3427:25;;:52;;;;;;;;;;;;;;3412:12;3434:4;3427:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3427:52:6;;-1:-1:-1;3427:52:6;3490:46;;;;;-1:-1:-1;;;3490:46:6;;;;;;;;;;;;-1:-1:-1;;;3490:46:6;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;3568:9:6;;3579:3;3584:10;3596:2;3552:47;;;;;;;;;;;;;;;-1:-1:-1;;;;;3552:47:6;;;;;;-1:-1:-1;;;;;3552:47:6;;;;;;;;;;;;;;;;-1:-1:-1;;;3552:47:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4042:129;4106:4;875:6:4;;-1:-1:-1;;;;;875:6:4;885:10;875:20;867:65;;;;;-1:-1:-1;;;867:65:4;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;867:65:4;;;;;;;;;;;;;;;-1:-1:-1;4123:9:6::1;:18:::0;4159:4:::1;::::0;4042:129::o;5028:214::-;5117:4;875:6:4;;-1:-1:-1;;;;;875:6:4;885:10;875:20;867:65;;;;;-1:-1:-1;;;867:65:4;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;867:65:4;;;;;;;;;;;;;;;5155:13:6;-1:-1:-1;;;;;5180:14:6;::::1;;5195:7;:5;:7::i;:::-;5204;5180:32;;;;;;;;;;;;;-1:-1:-1::0;;;;;5180:32:6::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;-1:-1:-1::0;5230:4:6::1;::::0;5028:214;-1:-1:-1;;;;;5028:214:6:o;328:19::-;;;-1:-1:-1;;;;;328:19:6;;:::o;739:88:4:-;786:7;813:6;-1:-1:-1;;;;;813:6:4;739:88;:::o;1631:642:6:-;1955:4;1975:10;1988:13;1994:6;1988:5;:13::i;:::-;1975:26;;2034:9;;2024:6;:19;2016:43;;;;;-1:-1:-1;;;2016:43:6;;;;;;;;;;;;-1:-1:-1;;;2016:43:6;;;;;;;;;;;;;;;2082:4;;2074:106;;;-1:-1:-1;;;2074:106:6;;-1:-1:-1;;;;;2074:106:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2082:4;;;;;2074:39;;:106;;;;;2082:4;;2074:106;;;;;;;2082:4;;2074:106;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2216:6:6;2224:3;2229:5;2236:2;2200:39;;;;;;;;;;;;;;;-1:-1:-1;;;;;2200:39:6;;;;;;-1:-1:-1;;;;;2200:39:6;;;;;;;;;;;;;;;;-1:-1:-1;;;2200:39:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;405:24;;;;:::o;4451:127::-;4514:4;875:6:4;;-1:-1:-1;;;;;875:6:4;885:10;875:20;867:65;;;;;-1:-1:-1;;;867:65:4;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;867:65:4;;;;;;;;;;;;;;;-1:-1:-1;4531:8:6::1;:17:::0;4566:4:::1;::::0;4451:127::o;4314:129::-;4378:4;875:6:4;;-1:-1:-1;;;;;875:6:4;885:10;875:20;867:65;;;;;-1:-1:-1;;;867:65:4;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;867:65:4;;;;;;;;;;;;;;;-1:-1:-1;4395:9:6::1;:18:::0;4431:4:::1;::::0;4314:129::o;497:23::-;;;;:::o;4874:146::-;4940:4;875:6:4;;-1:-1:-1;;;;;875:6:4;885:10;875:20;867:65;;;;;-1:-1:-1;;;867:65:4;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;867:65:4;;;;;;;;;;;;;;;4964:7:6::1;:5;:7::i;:::-;-1:-1:-1::0;;;;;4956:25:6::1;:34;4982:7;4956:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;5008:4:6::1;::::0;4874:146;-1:-1:-1;;4874:146:6:o;354:19::-;;;-1:-1:-1;;;;;354:19:6;;:::o;436:24::-;;;;:::o;380:18::-;;;-1:-1:-1;;;;;380:18:6;;:::o;3637:397::-;3710:4;3727:10;3740:13;3746:6;3740:5;:13::i;:::-;3727:26;;3785:8;;3772:9;:21;;3764:53;;;;;-1:-1:-1;;;3764:53:6;;;;;;;;;;;;-1:-1:-1;;;3764:53:6;;;;;;;;;;;;;;;3861:29;;3829:9;;3840:17;;-1:-1:-1;;;;;3861:7:6;;;3876:9;;3829;3861:29;3829:9;3861:29;3876:9;3861:7;:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3828:62;;;;3909:4;3901:41;;;;;-1:-1:-1;;;3901:41:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;3973:9:6;3984:3;3989:10;4001:2;3958:46;;;;;;;;;;;;;;;-1:-1:-1;;;;;3958:46:6;;;;;;-1:-1:-1;;;;;3958:46:6;;;;;;;;;;;;;;;;-1:-1:-1;;;3958:46:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4022:4:6;;3637:397;-1:-1:-1;;;;;3637:397:6:o;5250:212::-;5300:7;5319:10;5344:6;5340:95;;;-1:-1:-1;5370:7:6;;-1:-1:-1;;;;;5370:7:6;5340:95;;;-1:-1:-1;5413:10:6;;-1:-1:-1;;;;;5413:10:6;5340:95;5452:2;5250:212;-1:-1:-1;;5250:212:6:o
Swarm Source
ipfs://4d1d974161343f4423503c211118f4017cce5d931ff47abbb056c5f2889e2409
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 ]
[ 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.