AFFECTION™ (Ⓐ)
Last updated
Last updated
0x24F0154C1dCe548AdF15da2098Fdd8B8A3B8151D
[
{
"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;
}
}