Overview
ETH Balance
0 ETH
Eth Value
$0.00More Info
Private Name Tags
ContractCreator
Advanced mode: Intended for advanced users or developers and will display all Internal Transactions including zero value transfers. Name tag integration is not available in advanced view.
Latest 25 internal transactions (View All)
Advanced mode:
Parent Transaction Hash | Block |
From
|
To
|
||||
---|---|---|---|---|---|---|---|
21689518 | 13 hrs ago | 0 ETH | |||||
21689518 | 13 hrs ago | 0 ETH | |||||
21682892 | 35 hrs ago | 0 ETH | |||||
21682892 | 35 hrs ago | 0 ETH | |||||
21682892 | 35 hrs ago | 0 ETH | |||||
21682892 | 35 hrs ago | 0 ETH | |||||
21669885 | 3 days ago | 0 ETH | |||||
21669885 | 3 days ago | 0 ETH | |||||
21669885 | 3 days ago | 0 ETH | |||||
21669885 | 3 days ago | 0 ETH | |||||
21668545 | 3 days ago | 0 ETH | |||||
21668545 | 3 days ago | 0 ETH | |||||
21668545 | 3 days ago | 0 ETH | |||||
21668545 | 3 days ago | 0 ETH | |||||
21621717 | 10 days ago | 0 ETH | |||||
21621717 | 10 days ago | 0 ETH | |||||
21621717 | 10 days ago | 0 ETH | |||||
21621717 | 10 days ago | 0 ETH | |||||
21621655 | 10 days ago | 0 ETH | |||||
21621655 | 10 days ago | 0 ETH | |||||
21621655 | 10 days ago | 0 ETH | |||||
21621655 | 10 days ago | 0 ETH | |||||
21621613 | 10 days ago | 0 ETH | |||||
21621613 | 10 days ago | 0 ETH | |||||
21621613 | 10 days ago | 0 ETH |
Loading...
Loading
Contract Source Code Verified (Exact Match)
Contract Name:
X7RDiscountAuthority
Compiler Version
v0.8.15+commit.e14f2714
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2022-09-19 */ // SPDX-License-Identifier: MIT pragma solidity ^0.8.15; /* /$$ /$$ /$$$$$$$$ /$$$$$$$$ /$$ | $$ / $$|_____ $$/ | $$_____/|__/ | $$/ $$/ /$$/ | $$ /$$ /$$$$$$$ /$$$$$$ /$$$$$$$ /$$$$$$$ /$$$$$$ \ $$$$/ /$$/ | $$$$$ | $$| $$__ $$ |____ $$| $$__ $$ /$$_____/ /$$__ $$ >$$ $$ /$$/ | $$__/ | $$| $$ \ $$ /$$$$$$$| $$ \ $$| $$ | $$$$$$$$ /$$/\ $$ /$$/ | $$ | $$| $$ | $$ /$$__ $$| $$ | $$| $$ | $$_____/ | $$ \ $$ /$$/ | $$ | $$| $$ | $$| $$$$$$$| $$ | $$| $$$$$$$| $$$$$$$ |__/ |__/|__/ |__/ |__/|__/ |__/ \_______/|__/ |__/ \_______/ \_______/ Contract: Smart Contract for X7R fee discounts This contract will NOT be renounced. The following are the only functions that can be called on the contract that affect the contract: function setEcosystemMaxiNFT(address tokenAddress) external onlyOwner { require(address(ecoMaxiNFT) != tokenAddress); address oldTokenAddress = address(ecoMaxiNFT); ecoMaxiNFT = IERC721(tokenAddress); emit EcosystemMaxiNFTSet(oldTokenAddress, tokenAddress); } function setLiquidityMaxiNFT(address tokenAddress) external onlyOwner { require(address(liqMaxiNFT) != tokenAddress); address oldTokenAddress = address(liqMaxiNFT); liqMaxiNFT = IERC721(tokenAddress); emit LiquidityMaxiNFTSet(oldTokenAddress, tokenAddress); } function setMagisterNFT(address tokenAddress) external onlyOwner { require(address(magisterNFT) != tokenAddress); address oldTokenAddress = address(magisterNFT); magisterNFT = IERC721(tokenAddress); emit MagisterNFTSet(oldTokenAddress, tokenAddress); } These functions will be passed to DAO governance once the ecosystem stabilizes. */ abstract contract Ownable { address private _owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); constructor(address owner_) { _transferOwnership(owner_); } modifier onlyOwner() { _checkOwner(); _; } function owner() public view virtual returns (address) { return _owner; } function _checkOwner() internal view virtual { require(owner() == msg.sender, "Ownable: caller is not the owner"); } function renounceOwnership() public virtual onlyOwner { _transferOwnership(address(0)); } function transferOwnership(address newOwner) public virtual onlyOwner { require(newOwner != address(0), "Ownable: new owner is the zero address"); _transferOwnership(newOwner); } function _transferOwnership(address newOwner) internal virtual { address oldOwner = _owner; _owner = newOwner; emit OwnershipTransferred(oldOwner, newOwner); } } interface IERC721 { function balanceOf(address owner) external view returns (uint256); } interface IDiscountAuthority { function discountRatio(address) external view returns (uint256, uint256); } contract X7RDiscountAuthority is Ownable { IERC721 public ecoMaxiNFT; IERC721 public liqMaxiNFT; IERC721 public magisterNFT; event EcosystemMaxiNFTSet(address indexed oldTokenAddress, address indexed newTokenAddress); event LiquidityMaxiNFTSet(address indexed oldTokenAddress, address indexed newTokenAddress); event MagisterNFTSet(address indexed oldTokenAddress, address indexed newTokenAddress); constructor() Ownable(address(0x7000a09c425ABf5173FF458dF1370C25d1C58105)) {} function setEcosystemMaxiNFT(address tokenAddress) external onlyOwner { require(address(ecoMaxiNFT) != tokenAddress); address oldTokenAddress = address(ecoMaxiNFT); ecoMaxiNFT = IERC721(tokenAddress); emit EcosystemMaxiNFTSet(oldTokenAddress, tokenAddress); } function setLiquidityMaxiNFT(address tokenAddress) external onlyOwner { require(address(liqMaxiNFT) != tokenAddress); address oldTokenAddress = address(liqMaxiNFT); liqMaxiNFT = IERC721(tokenAddress); emit LiquidityMaxiNFTSet(oldTokenAddress, tokenAddress); } function setMagisterNFT(address tokenAddress) external onlyOwner { require(address(magisterNFT) != tokenAddress); address oldTokenAddress = address(magisterNFT); magisterNFT = IERC721(tokenAddress); emit MagisterNFTSet(oldTokenAddress, tokenAddress); } function discountRatio(address swapper) external view returns (uint256 numerator, uint256 denominator) { numerator = 1; denominator = 1; if (liqMaxiNFT.balanceOf(swapper) > 0 || magisterNFT.balanceOf(swapper) > 0) { // 25% discount numerator = 75; denominator = 100; } else if (ecoMaxiNFT.balanceOf(swapper) > 0) { // 10% discount numerator = 90; denominator = 100; } } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"oldTokenAddress","type":"address"},{"indexed":true,"internalType":"address","name":"newTokenAddress","type":"address"}],"name":"EcosystemMaxiNFTSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"oldTokenAddress","type":"address"},{"indexed":true,"internalType":"address","name":"newTokenAddress","type":"address"}],"name":"LiquidityMaxiNFTSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"oldTokenAddress","type":"address"},{"indexed":true,"internalType":"address","name":"newTokenAddress","type":"address"}],"name":"MagisterNFTSet","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"},{"inputs":[{"internalType":"address","name":"swapper","type":"address"}],"name":"discountRatio","outputs":[{"internalType":"uint256","name":"numerator","type":"uint256"},{"internalType":"uint256","name":"denominator","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"ecoMaxiNFT","outputs":[{"internalType":"contract IERC721","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"liqMaxiNFT","outputs":[{"internalType":"contract IERC721","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"magisterNFT","outputs":[{"internalType":"contract IERC721","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"tokenAddress","type":"address"}],"name":"setEcosystemMaxiNFT","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"tokenAddress","type":"address"}],"name":"setLiquidityMaxiNFT","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"tokenAddress","type":"address"}],"name":"setMagisterNFT","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
608060405234801561001057600080fd5b50737000a09c425abf5173ff458df1370c25d1c5810561002f81610035565b50610085565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b61062f806100946000396000f3fe608060405234801561001057600080fd5b506004361061009e5760003560e01c8063715018a611610066578063715018a6146101365780638da5cb5b1461013e578063a56b70101461014f578063e34093ff14610162578063f2fde38b1461017557600080fd5b806307b6fb0f146100a35780630accd75a146100d35780631571a568146100fb578063425022c214610110578063532b5cf914610123575b600080fd5b6002546100b6906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b6100e66100e13660046105b0565b610188565b604080519283526020830191909152016100ca565b61010e6101093660046105b0565b610309565b005b61010e61011e3660046105b0565b61037d565b61010e6101313660046105b0565b6103f1565b61010e610465565b6000546001600160a01b03166100b6565b6001546100b6906001600160a01b031681565b6003546100b6906001600160a01b031681565b61010e6101833660046105b0565b610479565b6002546040516370a0823160e01b81526001600160a01b0383811660048301526001928392600092909116906370a0823190602401602060405180830381865afa1580156101da573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101fe91906105e0565b118061027657506003546040516370a0823160e01b81526001600160a01b03858116600483015260009216906370a0823190602401602060405180830381865afa158015610250573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061027491906105e0565b115b156102875750604b90506064915091565b6001546040516370a0823160e01b81526001600160a01b03858116600483015260009216906370a0823190602401602060405180830381865afa1580156102d2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102f691906105e0565b11156103045750605a905060645b915091565b6103116104f7565b6001546001600160a01b0380831691160361032b57600080fd5b600180546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f5b3d3e51ada14ef3f4ce0d8cdc1270cb619f4ac67f18cdb136b48b19cc21e14f90600090a35050565b6103856104f7565b6003546001600160a01b0380831691160361039f57600080fd5b600380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907fb429279723b0bba412a6f71ac72f48a48bce76bb8dfba75777d49a38102f941690600090a35050565b6103f96104f7565b6002546001600160a01b0380831691160361041357600080fd5b600280546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f1713c58f9958e815e8db9bf06dafd5fc344e86296422f52157aab84005f2c89d90600090a35050565b61046d6104f7565b6104776000610560565b565b6104816104f7565b6001600160a01b0381166104eb5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084015b60405180910390fd5b6104f481610560565b50565b3361050a6000546001600160a01b031690565b6001600160a01b0316146104775760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016104e2565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6000602082840312156105c257600080fd5b81356001600160a01b03811681146105d957600080fd5b9392505050565b6000602082840312156105f257600080fd5b505191905056fea2646970667358221220d08bdce7b10baea1ab1bacd2765bf084c387f6bb0ce693729d2efef0c098db3464736f6c634300080f0033
Deployed Bytecode
0x608060405234801561001057600080fd5b506004361061009e5760003560e01c8063715018a611610066578063715018a6146101365780638da5cb5b1461013e578063a56b70101461014f578063e34093ff14610162578063f2fde38b1461017557600080fd5b806307b6fb0f146100a35780630accd75a146100d35780631571a568146100fb578063425022c214610110578063532b5cf914610123575b600080fd5b6002546100b6906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b6100e66100e13660046105b0565b610188565b604080519283526020830191909152016100ca565b61010e6101093660046105b0565b610309565b005b61010e61011e3660046105b0565b61037d565b61010e6101313660046105b0565b6103f1565b61010e610465565b6000546001600160a01b03166100b6565b6001546100b6906001600160a01b031681565b6003546100b6906001600160a01b031681565b61010e6101833660046105b0565b610479565b6002546040516370a0823160e01b81526001600160a01b0383811660048301526001928392600092909116906370a0823190602401602060405180830381865afa1580156101da573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101fe91906105e0565b118061027657506003546040516370a0823160e01b81526001600160a01b03858116600483015260009216906370a0823190602401602060405180830381865afa158015610250573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061027491906105e0565b115b156102875750604b90506064915091565b6001546040516370a0823160e01b81526001600160a01b03858116600483015260009216906370a0823190602401602060405180830381865afa1580156102d2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102f691906105e0565b11156103045750605a905060645b915091565b6103116104f7565b6001546001600160a01b0380831691160361032b57600080fd5b600180546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f5b3d3e51ada14ef3f4ce0d8cdc1270cb619f4ac67f18cdb136b48b19cc21e14f90600090a35050565b6103856104f7565b6003546001600160a01b0380831691160361039f57600080fd5b600380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907fb429279723b0bba412a6f71ac72f48a48bce76bb8dfba75777d49a38102f941690600090a35050565b6103f96104f7565b6002546001600160a01b0380831691160361041357600080fd5b600280546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f1713c58f9958e815e8db9bf06dafd5fc344e86296422f52157aab84005f2c89d90600090a35050565b61046d6104f7565b6104776000610560565b565b6104816104f7565b6001600160a01b0381166104eb5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084015b60405180910390fd5b6104f481610560565b50565b3361050a6000546001600160a01b031690565b6001600160a01b0316146104775760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016104e2565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6000602082840312156105c257600080fd5b81356001600160a01b03811681146105d957600080fd5b9392505050565b6000602082840312156105f257600080fd5b505191905056fea2646970667358221220d08bdce7b10baea1ab1bacd2765bf084c387f6bb0ce693729d2efef0c098db3464736f6c634300080f0033
Deployed Bytecode Sourcemap
3176:1944:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3258:25;;;;;-1:-1:-1;;;;;3258:25:0;;;;;;-1:-1:-1;;;;;193:32:1;;;175:51;;163:2;148:18;3258:25:0;;;;;;;;4618:499;;;;;;:::i;:::-;;:::i;:::-;;;;702:25:1;;;758:2;743:18;;736:34;;;;675:18;4618:499:0;528:248:1;3701:300:0;;;;;;:::i;:::-;;:::i;:::-;;4317:293;;;;;;:::i;:::-;;:::i;4009:300::-;;;;;;:::i;:::-;;:::i;2444:103::-;;;:::i;2211:87::-;2257:7;2284:6;-1:-1:-1;;;;;2284:6:0;2211:87;;3226:25;;;;;-1:-1:-1;;;;;3226:25:0;;;3290:26;;;;;-1:-1:-1;;;;;3290:26:0;;;2555:201;;;;;;:::i;:::-;;:::i;4618:499::-;4788:10;;:29;;-1:-1:-1;;;4788:29:0;;-1:-1:-1;;;;;193:32:1;;;4788:29:0;;;175:51:1;4744:1:0;;;;4681:17;;4788:10;;;;:20;;148:18:1;;4788:29:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:33;:71;;;-1:-1:-1;4825:11:0;;:30;;-1:-1:-1;;;4825:30:0;;-1:-1:-1;;;;;193:32:1;;;4825:30:0;;;175:51:1;4858:1:0;;4825:11;;:21;;148:18:1;;4825:30:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:34;4788:71;4784:326;;;-1:-1:-1;4917:2:0;;-1:-1:-1;4948:3:0;4618:499;;;:::o;4784:326::-;4973:10;;:29;;-1:-1:-1;;;4973:29:0;;-1:-1:-1;;;;;193:32:1;;;4973:29:0;;;175:51:1;5005:1:0;;4973:10;;:20;;148:18:1;;4973:29:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:33;4969:141;;;-1:-1:-1;5064:2:0;;-1:-1:-1;5095:3:0;4969:141;4618:499;;;:::o;3701:300::-;2170:13;:11;:13::i;:::-;3798:10:::1;::::0;-1:-1:-1;;;;;3790:35:0;;::::1;3798:10:::0;::::1;3790:35:::0;3782:44:::1;;;::::0;::::1;;3871:10;::::0;;-1:-1:-1;;;;;3893:34:0;;::::1;-1:-1:-1::0;;;;;;3893:34:0;::::1;::::0;::::1;::::0;;;3943:50:::1;::::0;3871:10;::::1;::::0;3893:34;3871:10;;3943:50:::1;::::0;3837:23:::1;::::0;3943:50:::1;3771:230;3701:300:::0;:::o;4317:293::-;2170:13;:11;:13::i;:::-;4409:11:::1;::::0;-1:-1:-1;;;;;4401:36:0;;::::1;4409:11:::0;::::1;4401:36:::0;4393:45:::1;;;::::0;::::1;;4483:11;::::0;;-1:-1:-1;;;;;4506:35:0;;::::1;-1:-1:-1::0;;;;;;4506:35:0;::::1;::::0;::::1;::::0;;;4557:45:::1;::::0;4483:11;::::1;::::0;4506:35;4483:11;;4557:45:::1;::::0;4449:23:::1;::::0;4557:45:::1;4382:228;4317:293:::0;:::o;4009:300::-;2170:13;:11;:13::i;:::-;4106:10:::1;::::0;-1:-1:-1;;;;;4098:35:0;;::::1;4106:10:::0;::::1;4098:35:::0;4090:44:::1;;;::::0;::::1;;4179:10;::::0;;-1:-1:-1;;;;;4201:34:0;;::::1;-1:-1:-1::0;;;;;;4201:34:0;::::1;::::0;::::1;::::0;;;4251:50:::1;::::0;4179:10;::::1;::::0;4201:34;4179:10;;4251:50:::1;::::0;4145:23:::1;::::0;4251:50:::1;4079:230;4009:300:::0;:::o;2444:103::-;2170:13;:11;:13::i;:::-;2509:30:::1;2536:1;2509:18;:30::i;:::-;2444:103::o:0;2555:201::-;2170:13;:11;:13::i;:::-;-1:-1:-1;;;;;2644:22:0;::::1;2636:73;;;::::0;-1:-1:-1;;;2636:73:0;;1380:2:1;2636:73:0::1;::::0;::::1;1362:21:1::0;1419:2;1399:18;;;1392:30;1458:34;1438:18;;;1431:62;-1:-1:-1;;;1509:18:1;;;1502:36;1555:19;;2636:73:0::1;;;;;;;;;2720:28;2739:8;2720:18;:28::i;:::-;2555:201:::0;:::o;2306:130::-;2381:10;2370:7;2257;2284:6;-1:-1:-1;;;;;2284:6:0;;2211:87;2370:7;-1:-1:-1;;;;;2370:21:0;;2362:66;;;;-1:-1:-1;;;2362:66:0;;1787:2:1;2362:66:0;;;1769:21:1;;;1806:18;;;1799:30;1865:34;1845:18;;;1838:62;1917:18;;2362:66:0;1585:356:1;2764:191:0;2838:16;2857:6;;-1:-1:-1;;;;;2874:17:0;;;-1:-1:-1;;;;;;2874:17:0;;;;;;2907:40;;2857:6;;;;;;;2907:40;;2838:16;2907:40;2827:128;2764:191;:::o;237:286:1:-;296:6;349:2;337:9;328:7;324:23;320:32;317:52;;;365:1;362;355:12;317:52;391:23;;-1:-1:-1;;;;;443:31:1;;433:42;;423:70;;489:1;486;479:12;423:70;512:5;237:286;-1:-1:-1;;;237:286:1:o;989:184::-;1059:6;1112:2;1100:9;1091:7;1087:23;1083:32;1080:52;;;1128:1;1125;1118:12;1080:52;-1:-1:-1;1151:16:1;;989:184;-1:-1:-1;989:184:1:o
Swarm Source
ipfs://d08bdce7b10baea1ab1bacd2765bf084c387f6bb0ce693729d2efef0c098db34
Loading...
Loading
Loading...
Loading
OVERVIEW
The X7R Discount Authority determines if any discount applies to the X7DAO token fee collection.Multichain Portfolio | 30 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
Loading...
Loading
[ Download: CSV Export ]
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.