AFFECTION™ (Ⓐ)
Contract Address
0x24F0154C1dCe548AdF15da2098Fdd8B8A3B8151DContract Functions


Contract Code
[
    {
        "inputs": [],
        "stateMutability": "nonpayable",
        "type": "constructor"
    },
    {
        "inputs": [
            {
                "internalType": "address",
                "name": "spender",
                "type": "address"
            },
            {
                "internalType": "uint256",
                "name": "allowance",
                "type": "uint256"
            },
            {
                "internalType": "uint256",
                "name": "needed",
                "type": "uint256"
            }
        ],
        "name": "ERC20InsufficientAllowance",
        "type": "error"
    },
    {
        "inputs": [
            {
                "internalType": "address",
                "name": "sender",
                "type": "address"
            },
            {
                "internalType": "uint256",
                "name": "balance",
                "type": "uint256"
            },
            {
                "internalType": "uint256",
                "name": "needed",
                "type": "uint256"
            }
        ],
        "name": "ERC20InsufficientBalance",
        "type": "error"
    },
    {
        "inputs": [
            {
                "internalType": "address",
                "name": "approver",
                "type": "address"
            }
        ],
        "name": "ERC20InvalidApprover",
        "type": "error"
    },
    {
        "inputs": [
            {
                "internalType": "address",
                "name": "receiver",
                "type": "address"
            }
        ],
        "name": "ERC20InvalidReceiver",
        "type": "error"
    },
    {
        "inputs": [
            {
                "internalType": "address",
                "name": "sender",
                "type": "address"
            }
        ],
        "name": "ERC20InvalidSender",
        "type": "error"
    },
    {
        "inputs": [
            {
                "internalType": "address",
                "name": "spender",
                "type": "address"
            }
        ],
        "name": "ERC20InvalidSpender",
        "type": "error"
    },
    {
        "inputs": [
            {
                "internalType": "address",
                "name": "owner",
                "type": "address"
            }
        ],
        "name": "OwnableInvalidOwner",
        "type": "error"
    },
    {
        "inputs": [
            {
                "internalType": "address",
                "name": "account",
                "type": "address"
            }
        ],
        "name": "OwnableUnauthorizedAccount",
        "type": "error"
    },
    {
        "anonymous": false,
        "inputs": [
            {
                "indexed": true,
                "internalType": "address",
                "name": "owner",
                "type": "address"
            },
            {
                "indexed": true,
                "internalType": "address",
                "name": "spender",
                "type": "address"
            },
            {
                "indexed": false,
                "internalType": "uint256",
                "name": "value",
                "type": "uint256"
            }
        ],
        "name": "Approval",
        "type": "event"
    },
    {
        "anonymous": false,
        "inputs": [
            {
                "indexed": false,
                "internalType": "string",
                "name": "What",
                "type": "string"
            },
            {
                "indexed": false,
                "internalType": "uint64",
                "name": "Value",
                "type": "uint64"
            }
        ],
        "name": "DysnomiaNuclearEvent",
        "type": "event"
    },
    {
        "anonymous": false,
        "inputs": [
            {
                "indexed": true,
                "internalType": "address",
                "name": "previousOwner",
                "type": "address"
            },
            {
                "indexed": true,
                "internalType": "address",
                "name": "newOwner",
                "type": "address"
            }
        ],
        "name": "OwnershipTransferred",
        "type": "event"
    },
    {
        "anonymous": false,
        "inputs": [
            {
                "indexed": true,
                "internalType": "address",
                "name": "from",
                "type": "address"
            },
            {
                "indexed": true,
                "internalType": "address",
                "name": "to",
                "type": "address"
            },
            {
                "indexed": false,
                "internalType": "uint256",
                "name": "value",
                "type": "uint256"
            }
        ],
        "name": "Transfer",
        "type": "event"
    },
    {
        "inputs": [
            {
                "internalType": "uint64",
                "name": "_a",
                "type": "uint64"
            }
        ],
        "name": "Alpha",
        "outputs": [],
        "stateMutability": "nonpayable",
        "type": "function"
    },
    {
        "inputs": [
            {
                "internalType": "uint64",
                "name": "_b",
                "type": "uint64"
            }
        ],
        "name": "Beta",
        "outputs": [],
        "stateMutability": "nonpayable",
        "type": "function"
    },
    {
        "inputs": [
            {
                "internalType": "uint256",
                "name": "amount",
                "type": "uint256"
            }
        ],
        "name": "BuyWithFa",
        "outputs": [],
        "stateMutability": "nonpayable",
        "type": "function"
    },
    {
        "inputs": [
            {
                "internalType": "uint256",
                "name": "amount",
                "type": "uint256"
            }
        ],
        "name": "BuyWithFaung",
        "outputs": [],
        "stateMutability": "nonpayable",
        "type": "function"
    },
    {
        "inputs": [
            {
                "internalType": "uint256",
                "name": "amount",
                "type": "uint256"
            }
        ],
        "name": "BuyWithG5",
        "outputs": [],
        "stateMutability": "nonpayable",
        "type": "function"
    },
    {
        "inputs": [
            {
                "internalType": "uint256",
                "name": "amount",
                "type": "uint256"
            }
        ],
        "name": "BuyWithMATH",
        "outputs": [],
        "stateMutability": "nonpayable",
        "type": "function"
    },
    {
        "inputs": [
            {
                "internalType": "uint256",
                "name": "amount",
                "type": "uint256"
            }
        ],
        "name": "BuyWithPI",
        "outputs": [],
        "stateMutability": "nonpayable",
        "type": "function"
    },
    {
        "inputs": [],
        "name": "Generate",
        "outputs": [
            {
                "internalType": "uint64",
                "name": "",
                "type": "uint64"
            }
        ],
        "stateMutability": "nonpayable",
        "type": "function"
    },
    {
        "inputs": [],
        "name": "MotzkinPrime",
        "outputs": [
            {
                "internalType": "uint64",
                "name": "",
                "type": "uint64"
            }
        ],
        "stateMutability": "view",
        "type": "function"
    },
    {
        "inputs": [],
        "name": "Pi",
        "outputs": [],
        "stateMutability": "nonpayable",
        "type": "function"
    },
    {
        "inputs": [],
        "name": "Rho",
        "outputs": [],
        "stateMutability": "nonpayable",
        "type": "function"
    },
    {
        "inputs": [
            {
                "internalType": "uint64",
                "name": "_a",
                "type": "uint64"
            },
            {
                "internalType": "bool",
                "name": "Phi",
                "type": "bool"
            }
        ],
        "name": "Upsilon",
        "outputs": [],
        "stateMutability": "nonpayable",
        "type": "function"
    },
    {
        "inputs": [],
        "name": "View",
        "outputs": [
            {
                "components": [
                    {
                        "components": [
                            {
                                "internalType": "uint64",
                                "name": "Base",
                                "type": "uint64"
                            },
                            {
                                "internalType": "uint64",
                                "name": "Secret",
                                "type": "uint64"
                            },
                            {
                                "internalType": "uint64",
                                "name": "Signal",
                                "type": "uint64"
                            },
                            {
                                "internalType": "uint64",
                                "name": "Channel",
                                "type": "uint64"
                            },
                            {
                                "internalType": "uint64",
                                "name": "Pole",
                                "type": "uint64"
                            },
                            {
                                "internalType": "uint64",
                                "name": "Identity",
                                "type": "uint64"
                            },
                            {
                                "internalType": "uint64",
                                "name": "Foundation",
                                "type": "uint64"
                            },
                            {
                                "internalType": "uint64",
                                "name": "Element",
                                "type": "uint64"
                            },
                            {
                                "internalType": "uint64",
                                "name": "Dynamo",
                                "type": "uint64"
                            },
                            {
                                "internalType": "uint64",
                                "name": "Manifold",
                                "type": "uint64"
                            },
                            {
                                "internalType": "uint64",
                                "name": "Ring",
                                "type": "uint64"
                            },
                            {
                                "internalType": "uint64",
                                "name": "Barn",
                                "type": "uint64"
                            },
                            {
                                "internalType": "uint64",
                                "name": "Coordinate",
                                "type": "uint64"
                            },
                            {
                                "internalType": "uint64",
                                "name": "Tau",
                                "type": "uint64"
                            },
                            {
                                "internalType": "uint64",
                                "name": "Eta",
                                "type": "uint64"
                            },
                            {
                                "internalType": "uint64",
                                "name": "Kappa",
                                "type": "uint64"
                            },
                            {
                                "internalType": "uint64",
                                "name": "Alpha",
                                "type": "uint64"
                            },
                            {
                                "internalType": "uint8",
                                "name": "Nu",
                                "type": "uint8"
                            }
                        ],
                        "internalType": "struct Fa",
                        "name": "Rod",
                        "type": "tuple"
                    },
                    {
                        "components": [
                            {
                                "internalType": "uint64",
                                "name": "Base",
                                "type": "uint64"
                            },
                            {
                                "internalType": "uint64",
                                "name": "Secret",
                                "type": "uint64"
                            },
                            {
                                "internalType": "uint64",
                                "name": "Signal",
                                "type": "uint64"
                            },
                            {
                                "internalType": "uint64",
                                "name": "Channel",
                                "type": "uint64"
                            },
                            {
                                "internalType": "uint64",
                                "name": "Pole",
                                "type": "uint64"
                            },
                            {
                                "internalType": "uint64",
                                "name": "Identity",
                                "type": "uint64"
                            },
                            {
                                "internalType": "uint64",
                                "name": "Foundation",
                                "type": "uint64"
                            },
                            {
                                "internalType": "uint64",
                                "name": "Element",
                                "type": "uint64"
                            },
                            {
                                "internalType": "uint64",
                                "name": "Dynamo",
                                "type": "uint64"
                            },
                            {
                                "internalType": "uint64",
                                "name": "Manifold",
                                "type": "uint64"
                            },
                            {
                                "internalType": "uint64",
                                "name": "Ring",
                                "type": "uint64"
                            },
                            {
                                "internalType": "uint64",
                                "name": "Barn",
                                "type": "uint64"
                            },
                            {
                                "internalType": "uint64",
                                "name": "Coordinate",
                                "type": "uint64"
                            },
                            {
                                "internalType": "uint64",
                                "name": "Tau",
                                "type": "uint64"
                            },
                            {
                                "internalType": "uint64",
                                "name": "Eta",
                                "type": "uint64"
                            },
                            {
                                "internalType": "uint64",
                                "name": "Kappa",
                                "type": "uint64"
                            },
                            {
                                "internalType": "uint64",
                                "name": "Alpha",
                                "type": "uint64"
                            },
                            {
                                "internalType": "uint8",
                                "name": "Nu",
                                "type": "uint8"
                            }
                        ],
                        "internalType": "struct Fa",
                        "name": "Cone",
                        "type": "tuple"
                    },
                    {
                        "internalType": "uint64",
                        "name": "Phi",
                        "type": "uint64"
                    },
                    {
                        "internalType": "uint64",
                        "name": "Eta",
                        "type": "uint64"
                    },
                    {
                        "internalType": "uint64",
                        "name": "Mu",
                        "type": "uint64"
                    },
                    {
                        "internalType": "uint64",
                        "name": "Xi",
                        "type": "uint64"
                    },
                    {
                        "internalType": "uint64",
                        "name": "Sigma",
                        "type": "uint64"
                    },
                    {
                        "internalType": "uint64",
                        "name": "Rho",
                        "type": "uint64"
                    },
                    {
                        "internalType": "uint64",
                        "name": "Upsilon",
                        "type": "uint64"
                    },
                    {
                        "internalType": "uint64",
                        "name": "Ohm",
                        "type": "uint64"
                    },
                    {
                        "internalType": "uint64",
                        "name": "Pi",
                        "type": "uint64"
                    },
                    {
                        "internalType": "uint64",
                        "name": "Omicron",
                        "type": "uint64"
                    },
                    {
                        "internalType": "uint64",
                        "name": "Omega",
                        "type": "uint64"
                    },
                    {
                        "internalType": "uint8",
                        "name": "Chi",
                        "type": "uint8"
                    }
                ],
                "internalType": "struct Faung",
                "name": "",
                "type": "tuple"
            }
        ],
        "stateMutability": "view",
        "type": "function"
    },
    {
        "inputs": [
            {
                "internalType": "address",
                "name": "owner",
                "type": "address"
            },
            {
                "internalType": "address",
                "name": "spender",
                "type": "address"
            }
        ],
        "name": "allowance",
        "outputs": [
            {
                "internalType": "uint256",
                "name": "",
                "type": "uint256"
            }
        ],
        "stateMutability": "view",
        "type": "function"
    },
    {
        "inputs": [
            {
                "internalType": "address",
                "name": "spender",
                "type": "address"
            },
            {
                "internalType": "uint256",
                "name": "value",
                "type": "uint256"
            }
        ],
        "name": "approve",
        "outputs": [
            {
                "internalType": "bool",
                "name": "",
                "type": "bool"
            }
        ],
        "stateMutability": "nonpayable",
        "type": "function"
    },
    {
        "inputs": [
            {
                "internalType": "address",
                "name": "account",
                "type": "address"
            }
        ],
        "name": "balanceOf",
        "outputs": [
            {
                "internalType": "uint256",
                "name": "",
                "type": "uint256"
            }
        ],
        "stateMutability": "view",
        "type": "function"
    },
    {
        "inputs": [
            {
                "internalType": "uint256",
                "name": "value",
                "type": "uint256"
            }
        ],
        "name": "burn",
        "outputs": [],
        "stateMutability": "nonpayable",
        "type": "function"
    },
    {
        "inputs": [
            {
                "internalType": "address",
                "name": "account",
                "type": "address"
            },
            {
                "internalType": "uint256",
                "name": "value",
                "type": "uint256"
            }
        ],
        "name": "burnFrom",
        "outputs": [],
        "stateMutability": "nonpayable",
        "type": "function"
    },
    {
        "inputs": [],
        "name": "decimals",
        "outputs": [
            {
                "internalType": "uint8",
                "name": "",
                "type": "uint8"
            }
        ],
        "stateMutability": "view",
        "type": "function"
    },
    {
        "inputs": [],
        "name": "name",
        "outputs": [
            {
                "internalType": "string",
                "name": "",
                "type": "string"
            }
        ],
        "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": [],
        "name": "symbol",
        "outputs": [
            {
                "internalType": "string",
                "name": "",
                "type": "string"
            }
        ],
        "stateMutability": "view",
        "type": "function"
    },
    {
        "inputs": [],
        "name": "totalSupply",
        "outputs": [
            {
                "internalType": "uint256",
                "name": "",
                "type": "uint256"
            }
        ],
        "stateMutability": "view",
        "type": "function"
    },
    {
        "inputs": [
            {
                "internalType": "address",
                "name": "to",
                "type": "address"
            },
            {
                "internalType": "uint256",
                "name": "value",
                "type": "uint256"
            }
        ],
        "name": "transfer",
        "outputs": [
            {
                "internalType": "bool",
                "name": "",
                "type": "bool"
            }
        ],
        "stateMutability": "nonpayable",
        "type": "function"
    },
    {
        "inputs": [
            {
                "internalType": "address",
                "name": "from",
                "type": "address"
            },
            {
                "internalType": "address",
                "name": "to",
                "type": "address"
            },
            {
                "internalType": "uint256",
                "name": "value",
                "type": "uint256"
            }
        ],
        "name": "transferFrom",
        "outputs": [
            {
                "internalType": "bool",
                "name": "",
                "type": "bool"
            }
        ],
        "stateMutability": "nonpayable",
        "type": "function"
    },
    {
        "inputs": [
            {
                "internalType": "address",
                "name": "newOwner",
                "type": "address"
            }
        ],
        "name": "transferOwnership",
        "outputs": [],
        "stateMutability": "nonpayable",
        "type": "function"
    }
]// SPDX-License-Identifier: Sharia
pragma solidity ^0.8.21;
import "@openzeppelin/contracts/token/ERC20/ERC20.sol";
import "@openzeppelin/contracts/token/ERC20/extensions/ERC20Burnable.sol";
import "@openzeppelin/contracts/access/Ownable.sol";
import "addresses.sol";
import "dynamic.sol";
contract Affection is ERC20, ERC20Burnable, Ownable, Dynamic {
    ERC20 private DaiToken;
    ERC20 private USDCToken;
    ERC20 private USDTToken;
    ERC20 private G5Token;
    ERC20 private PIToken;
    constructor() ERC20(/*name short=*/ unicode"AFFECTION™", /*symbol long=*/ unicode"Ⓐ") Ownable(msg.sender) {
        DaiToken = ERC20(dai);
        USDCToken = ERC20(usdc);
        USDTToken = ERC20(usdt);
        G5Token = ERC20(G5Contract);
        PIToken = ERC20(PIContract);
        NewDynamic(aa.Random(), aa.Random(), aa.Random());
        Alpha(Mu.Rod.Signal);
        Beta(Mu.Upsilon);
        Upsilon(Mu.Upsilon, false);
        Pi();
        Rho();
        Upsilon(Mu.Upsilon, true);
        _mint(address(this), 1 * 10 ** decimals());
    }
    function BuyWithG5(uint256 amount) public {
        bool success1 = G5Token.transferFrom(msg.sender, address(this), (amount / 5));
        require(success1, unicode"Need Approved Gimme5");
        ERC20(address(this)).transfer(msg.sender, amount);
    }
    function BuyWithPI(uint256 amount) public {
        bool success1 = PIToken.transferFrom(msg.sender, address(this), (amount / 300));
        require(success1, unicode"Need Approved pINDEPENDENCE");
        ERC20(address(this)).transfer(msg.sender, amount);
    }
    function BuyWithMATH(uint256 amount) public {
        bool success1 = ERC20(libAtropaMathContract).transferFrom(msg.sender, address(this), amount);
        require(success1, unicode"Need Approved MATH");
        ERC20(address(this)).transfer(msg.sender, amount);
    }
    function BuyWithFa(uint256 amount) public {
        bool success1 = ERC20(libConjectureContract).transferFrom(msg.sender, address(this), amount * 4);
        require(success1, unicode"Need Approved Fa");
        ERC20(address(this)).transfer(msg.sender, amount);
    }
    function BuyWithFaung(uint256 amount) public {
        bool success1 = ERC20(libDynamicContract).transferFrom(msg.sender, address(this), amount * 2);
        require(success1, unicode"Need Approved Faung");
        ERC20(address(this)).transfer(msg.sender, amount);
    }
    function Alpha(uint64 _a) public {
        Charge(_a);
        assert(Mu.Sigma > 4);
        Induce();
        Torque();
        Amplify();
        Sustain();
        React();
        _mintToCap();
    }
    function Beta(uint64 _b) public {
        Torque(Mu.Rod, _b);
        Amplify(Mu.Rod, Mu.Rod.Alpha);
        Sustain(Mu.Rod, Mu.Rod.Alpha);
        React(Mu.Rod, Mu.Rod.Alpha, Mu.Cone.Dynamo);
        React(Mu.Cone, Mu.Rod.Alpha, Mu.Rod.Dynamo);
        _mintToCap();
    }
    function Upsilon(uint64 _a, bool Phi) public {
        Mu.Upsilon = Phi ? _a ^ Mu.Ohm ^ Mu.Pi : _a ^ Mu.Ohm;
        _mintToCap();
    }
    function Pi() public {
        Torque(Mu.Cone, Mu.Rod.Kappa);
        Amplify(Mu.Cone, Mu.Cone.Alpha);
        Sustain(Mu.Cone, Mu.Cone.Alpha);
        React(Mu.Rod, Mu.Cone.Alpha, Mu.Rod.Channel);
        React(Mu.Cone, Mu.Cone.Alpha, Mu.Cone.Channel);
        _mintToCap();
    }
    function Rho() public {
        Torque(Mu.Cone, Mu.Rod.Eta);
        Amplify(Mu.Cone, Mu.Upsilon);
        Sustain(Mu.Cone, Mu.Ohm);
        React(Mu.Cone, Mu.Pi, Mu.Cone.Dynamo);
        React(Mu.Rod, Mu.Pi, Mu.Rod.Dynamo);
        Mu.Omega = Mu.Omega ^ Mu.Rod.Kappa;
        _mintToCap();
    }
    function View() public view returns(Faung memory) {
        return Mu;
    }
    function Generate() public returns(uint64) {
        Amplify(Mu.Cone, Mu.Upsilon);
        Sustain(Mu.Cone, Mu.Ohm);
        React(Mu.Cone, Mu.Pi, Mu.Cone.Dynamo);
        React(Mu.Rod, Mu.Pi, Mu.Rod.Dynamo);
        Mu.Omega = Mu.Omega ^ Mu.Rod.Kappa;
        Mu.Upsilon = Mu.Upsilon ^ Mu.Ohm ^ Mu.Pi;
        
        _mintToCap();
        return Mu.Upsilon;
    }
}Last updated
