From a0aafaddf07e8e8838abd242ef200b7762325567 Mon Sep 17 00:00:00 2001 From: EmberSpirit Date: Tue, 12 Sep 2023 21:59:01 +0200 Subject: [PATCH] update new contracts --- index.html | 2 +- src/App.vue | 64 +- src/assets/contracts/Bloodline.json | 397 +++++++++++ src/assets/contracts/LiquidityOwner.json | 100 +-- src/assets/contracts/MemeAltar.json | 818 +++++++++++++++++++++++ src/assets/contracts/RewardLocker.json | 164 ++--- src/assets/contracts/UniswapPool.json | 5 + src/assets/contracts/admin-altar.json | 1 + src/assets/sass/buttons.sass | 12 +- src/components/BloodChart.vue | 5 +- src/components/ClaimComponent.vue | 2 +- src/components/SacrificeToken.vue | 116 +++- src/components/StakeComponentV1.vue | 18 +- src/components/TokenClaim.vue | 11 +- src/main.js | 40 +- src/stores/memeburner.js | 14 +- src/stores/rewardlocker.js | 2 +- src/stores/rounds.js | 15 +- src/stores/tokens.js | 31 +- src/stores/walletV2.js | 21 +- src/views/CycleView.vue | 46 +- src/views/HomeView.vue | 2 - src/views/TestView.vue | 2 +- src/views/WagmiView.vue | 2 - vite.config.js | 3 + 25 files changed, 1644 insertions(+), 249 deletions(-) create mode 100644 src/assets/contracts/Bloodline.json create mode 100644 src/assets/contracts/MemeAltar.json create mode 100644 src/assets/contracts/UniswapPool.json create mode 100644 src/assets/contracts/admin-altar.json diff --git a/index.html b/index.html index c3e7a1d..d225856 100644 --- a/index.html +++ b/index.html @@ -8,7 +8,7 @@
- + diff --git a/src/App.vue b/src/App.vue index b87ea99..81c2fb8 100644 --- a/src/App.vue +++ b/src/App.vue @@ -13,6 +13,7 @@ import { useRoundsStore } from "@/stores/rounds"; import SlideoutPanel from "./components/SlideoutPanel.vue"; import ConnectWallet from "./components/ConnectWallet.vue"; +import StakeComponent from "@/components/StakeComponent.vue"; import { watchAccount, @@ -36,6 +37,7 @@ const { memeBurner, token } = storeToRefs(tokenStore); const { list } = storeToRefs(contractStore); const isMobile = ref(false); const showPanel = ref(false); +const showModal = ref(false); const eventWatch = ref(null); const netWorkEvent = ref(null); const memeSacrificedEvent = ref(null); @@ -80,6 +82,7 @@ function changeRoute(name) { } provide("isMobile", isMobile); provide("showPanel", showPanel); +provide("showModal", showModal); onMounted(async () => { console.log("onmounted"); @@ -130,11 +133,32 @@ onMounted(async () => { +
-
+
@@ -172,7 +196,6 @@ onMounted(async () => { .footer height: auto background-color: var(--midnight-black) - min-height: 72px @media (min-width: 992px) height: 450px min-height: 450px @@ -206,6 +229,7 @@ onMounted(async () => { .mobile-navigation-bar height: 72px + z-index: 1 width: 100% padding: 16px 48px border-radius: 16px 16px 0px 0px @@ -221,4 +245,36 @@ onMounted(async () => { cursor: pointer &.active color: var(--purple) + +.modal-overlay + background-color: rgb(15, 15, 15, 0.7) + height: 100vh + position: fixed + left: 0 + bottom: 0 + width: 100% + z-index: 10 + .modal-card + min-width: 342px + text-align: center + position: absolute + top: 50% + left: 50% + transform: translate(-50%, -50%) + border: 2px solid var(--dark-purple, #4B0082) + background: var(--midnight-black, #0F0F0F) + z-index: 100 + gap: 16px + .body + display: flex + flex-direction: column + gap: 8px + .amount-number + display: flex + justify-content: center + align-items: end + gap: 8px + img + width: 74px + height: 74px diff --git a/src/assets/contracts/Bloodline.json b/src/assets/contracts/Bloodline.json new file mode 100644 index 0000000..72f2e5e --- /dev/null +++ b/src/assets/contracts/Bloodline.json @@ -0,0 +1,397 @@ +{ + "contractName": "Bloodline", + "contractAddress": "0xda743950e70F9483ED1fDccb529c62a73BF80014", + "abi": [ + { + "inputs": [ + { + "internalType": "address", + "name": "_rewardLocker", + "type": "address" + }, + { + "internalType": "address", + "name": "_weth", + "type": "address" + }, + { + "internalType": "address", + "name": "_nfPositionManager", + "type": "address" + }, + { + "internalType": "uint160[2]", + "name": "_sqrtPricesX96", + "type": "uint160[2]" + } + ], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "inputs": [], + "name": "NotAllowedToMint", + "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": "amount", + "type": "uint256" + } + ], + "name": "Approval", + "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": "amount", + "type": "uint256" + } + ], + "name": "Transfer", + "type": "event" + }, + { + "inputs": [], + "name": "DOMAIN_SEPARATOR", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + }, + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "allowance", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "approve", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "balanceOf", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "burn", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "decimals", + "outputs": [ + { + "internalType": "uint8", + "name": "", + "type": "uint8" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "mintBloodline", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "name", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "nonces", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "value", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "deadline", + "type": "uint256" + }, + { + "internalType": "uint8", + "name": "v", + "type": "uint8" + }, + { + "internalType": "bytes32", + "name": "r", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "s", + "type": "bytes32" + } + ], + "name": "permit", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "rewardLocker", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "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": "amount", + "type": "uint256" + } + ], + "name": "transfer", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "transferFrom", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "uniV3Pool", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + } + ] +} diff --git a/src/assets/contracts/LiquidityOwner.json b/src/assets/contracts/LiquidityOwner.json index 5a0cdcb..d2e7366 100644 --- a/src/assets/contracts/LiquidityOwner.json +++ b/src/assets/contracts/LiquidityOwner.json @@ -1,6 +1,6 @@ { "contractName": "LiquidityOwner", - "contractAddress": "0x88E69D5CE691644F7cE151a2b085798194DAFEa1", + "contractAddress": "0xB6B58b4fD73e6bc4fcA72Fa9d40255D60950ca4B", "abi": [ { "inputs": [ @@ -11,7 +11,7 @@ }, { "internalType": "address", - "name": "_memeToken", + "name": "_bloodline", "type": "address" }, { @@ -26,7 +26,7 @@ }, { "internalType": "address", - "name": "_memeBurner", + "name": "_memeAltar", "type": "address" }, { @@ -111,7 +111,7 @@ }, { "internalType": "uint256", - "name": "amountMemeToken", + "name": "amountBloodline", "type": "uint256" }, { @@ -144,6 +144,19 @@ "stateMutability": "view", "type": "function" }, + { + "inputs": [], + "name": "bloodline", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, { "inputs": [], "name": "burn", @@ -188,6 +201,19 @@ "stateMutability": "nonpayable", "type": "function" }, + { + "inputs": [], + "name": "collectedEthTotal", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, { "inputs": [], "name": "currentTokenIdToFill", @@ -244,7 +270,7 @@ }, { "internalType": "uint256", - "name": "amountMemeToken", + "name": "amountBloodline", "type": "uint256" } ], @@ -255,20 +281,7 @@ }, { "inputs": [], - "name": "memeBurner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "memeToken", + "name": "memeAltar", "outputs": [ { "internalType": "address", @@ -389,25 +402,6 @@ "stateMutability": "view", "type": "function" }, - { - "inputs": [ - { - "internalType": "bool", - "name": "round1", - "type": "bool" - } - ], - "name": "provideLiquidity", - "outputs": [ - { - "internalType": "uint256", - "name": "ethSpentOnGas", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, { "inputs": [], "name": "rebalance", @@ -440,6 +434,25 @@ "stateMutability": "view", "type": "function" }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "collectedEthInRound", + "type": "uint256" + } + ], + "name": "triggeredByMemeAltar", + "outputs": [ + { + "internalType": "uint256", + "name": "issuancePrice", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, { "inputs": [ { @@ -456,14 +469,19 @@ "internalType": "uint256", "name": "consumedGasByMemeAltar", "type": "uint256" + }, + { + "internalType": "uint256", + "name": "collectedEthInRound", + "type": "uint256" } ], "name": "triggeredByMemeAltar", "outputs": [ { - "internalType": "bool", - "name": "", - "type": "bool" + "internalType": "uint256", + "name": "issuancePrice", + "type": "uint256" } ], "stateMutability": "nonpayable", diff --git a/src/assets/contracts/MemeAltar.json b/src/assets/contracts/MemeAltar.json new file mode 100644 index 0000000..105129e --- /dev/null +++ b/src/assets/contracts/MemeAltar.json @@ -0,0 +1,818 @@ +{ + "contractName": "MemeAltar", + "contractAddress": "0x6Def7896c714b77bD9BcD6BF5d88A1e7000C86dE", + "abi": [ + { + "inputs": [ + { + "internalType": "address[]", + "name": "sacrificableList", + "type": "address[]" + }, + { + "internalType": "address[]", + "name": "uniV2pools", + "type": "address[]" + }, + { + "internalType": "address", + "name": "_weth", + "type": "address" + }, + { + "internalType": "address", + "name": "_developer", + "type": "address" + }, + { + "internalType": "address", + "name": "_admin", + "type": "address" + }, + { + "internalType": "address", + "name": "_rewardLocker", + "type": "address" + }, + { + "internalType": "address", + "name": "_bloodline", + "type": "address" + }, + { + "internalType": "uint256[]", + "name": "roundGoals", + "type": "uint256[]" + } + ], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "inputs": [], + "name": "ArraysHaveDifferentLength", + "type": "error" + }, + { + "inputs": [], + "name": "Impossible", + "type": "error" + }, + { + "inputs": [], + "name": "LiquidityOwnerAlreadyInitialized", + "type": "error" + }, + { + "inputs": [], + "name": "MemeIsNotInAList", + "type": "error" + }, + { + "inputs": [], + "name": "NextRoundRegistrationFailed", + "type": "error" + }, + { + "inputs": [], + "name": "NothingToSacrifice", + "type": "error" + }, + { + "inputs": [], + "name": "RewardRegistrationFailed", + "type": "error" + }, + { + "inputs": [], + "name": "RoundCompletedRegistrationFailed", + "type": "error" + }, + { + "inputs": [], + "name": "TokenIsNotInSacrificableList", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "uniV2Pool", + "type": "address" + } + ], + "name": "UniV2PoolWithoutLiquidity", + "type": "error" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "roundNumber", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "address", + "name": "meme", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "memeMarket", + "type": "address" + } + ], + "name": "MemeAddedToSacrificableList", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "roundNumber", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "address", + "name": "meme", + "type": "address" + } + ], + "name": "MemeRemovedFromSacrificableList", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "sacrificer", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "sacrificedToken", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "sacrificedAmount", + "type": "uint256" + } + ], + "name": "MemeSacrificed", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "newAdmin", + "type": "address" + } + ], + "name": "NewAdmin", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "components": [ + { + "internalType": "uint8", + "name": "b1", + "type": "uint8" + }, + { + "internalType": "uint8", + "name": "m1", + "type": "uint8" + }, + { + "internalType": "uint8", + "name": "b2", + "type": "uint8" + }, + { + "internalType": "uint8", + "name": "m2", + "type": "uint8" + }, + { + "internalType": "uint8", + "name": "b3", + "type": "uint8" + }, + { + "internalType": "uint8", + "name": "m4", + "type": "uint8" + } + ], + "indexed": true, + "internalType": "struct MemeAltar.BM", + "name": "_bm", + "type": "tuple" + } + ], + "name": "NewBM", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "newDefaultGoal", + "type": "uint256" + } + ], + "name": "NewDefaultRoundGoal", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "newDurationLimit", + "type": "uint256" + } + ], + "name": "NewRoundDurationLimit", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "meme", + "type": "address" + }, + { + "internalType": "address", + "name": "uniV2Pool", + "type": "address" + } + ], + "name": "addMemeToList", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "components": [ + { + "internalType": "uint8", + "name": "b1", + "type": "uint8" + }, + { + "internalType": "uint8", + "name": "m1", + "type": "uint8" + }, + { + "internalType": "uint8", + "name": "b2", + "type": "uint8" + }, + { + "internalType": "uint8", + "name": "m2", + "type": "uint8" + }, + { + "internalType": "uint8", + "name": "b3", + "type": "uint8" + }, + { + "internalType": "uint8", + "name": "m4", + "type": "uint8" + } + ], + "internalType": "struct MemeAltar.BM", + "name": "newBM", + "type": "tuple" + } + ], + "name": "adjustBM", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "newDefaultGoal", + "type": "uint256" + } + ], + "name": "adjustDefaultGoal", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "newDurationLimit", + "type": "uint256" + } + ], + "name": "adjustRoundDurationLimit", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "admin", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "bloodline", + "outputs": [ + { + "internalType": "contract Bloodline", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "bm", + "outputs": [ + { + "internalType": "uint8", + "name": "b1", + "type": "uint8" + }, + { + "internalType": "uint8", + "name": "m1", + "type": "uint8" + }, + { + "internalType": "uint8", + "name": "b2", + "type": "uint8" + }, + { + "internalType": "uint8", + "name": "m2", + "type": "uint8" + }, + { + "internalType": "uint8", + "name": "b3", + "type": "uint8" + }, + { + "internalType": "uint8", + "name": "m4", + "type": "uint8" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "currentRound", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "defaultGoal", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "memeToSacrifice", + "type": "address" + } + ], + "name": "getAmountToReachGoal", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "roundNumber", + "type": "uint256" + } + ], + "name": "getGoalInBLD", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "memeToSacrifice", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amountToSacrifice", + "type": "uint256" + } + ], + "name": "getRewardFor", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "roundNumber", + "type": "uint256" + }, + { + "internalType": "address", + "name": "meme", + "type": "address" + } + ], + "name": "getSacrificedMeme", + "outputs": [ + { + "internalType": "bool", + "name": "participation", + "type": "bool" + }, + { + "internalType": "uint256", + "name": "amountAchieved", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "issuancePrice", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "liquidityOwner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "memeList", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "memesUniV2Pools", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "meme", + "type": "address" + } + ], + "name": "removeMemeFromList", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "rewardLocker", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "roundDurationLimit", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "rounds", + "outputs": [ + { + "internalType": "uint256", + "name": "goal", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "expirationTimestamp", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "ethUsedToBuy", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "memeToSacrifice", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amountToSacrifice", + "type": "uint256" + } + ], + "name": "sacrificeMeme", + "outputs": [ + { + "internalType": "uint256", + "name": "reward", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "minBLD", + "type": "uint256" + }, + { + "internalType": "address", + "name": "memeToSacrifice", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amountToSacrifice", + "type": "uint256" + } + ], + "name": "sacrificeMemeAndBuyBLD", + "outputs": [ + { + "internalType": "uint256", + "name": "reward", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_liquidityOwner", + "type": "address" + } + ], + "name": "setLiquidityOwner", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newAdmin", + "type": "address" + } + ], + "name": "switchAdmin", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "int256", + "name": "amount0Delta", + "type": "int256" + }, + { + "internalType": "int256", + "name": "amount1Delta", + "type": "int256" + }, + { + "internalType": "bytes", + "name": "_data", + "type": "bytes" + } + ], + "name": "uniswapV3SwapCallback", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "weth", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "stateMutability": "payable", + "type": "receive" + } + ] +} diff --git a/src/assets/contracts/RewardLocker.json b/src/assets/contracts/RewardLocker.json index f127df4..c5a4d40 100644 --- a/src/assets/contracts/RewardLocker.json +++ b/src/assets/contracts/RewardLocker.json @@ -1,6 +1,6 @@ { "contractName": "RewardLocker", - "contractAddress": "0x7C3D5a19878d550D0c6c2b0BFC884ef410F6e440", + "contractAddress": "0xc180014777BC1E0720dDD4CA5952c1Cd277f7afE", "abi": [ { "inputs": [ @@ -15,12 +15,7 @@ }, { "inputs": [], - "name": "MemeAltarAlreadyInitialized", - "type": "error" - }, - { - "inputs": [], - "name": "MemeTokenAlreadyInitialized", + "name": "AlreadyInitialized", "type": "error" }, { @@ -201,6 +196,19 @@ "name": "UnstakeOrdered", "type": "event" }, + { + "inputs": [], + "name": "bloodline", + "outputs": [ + { + "internalType": "contract Bloodline", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, { "inputs": [ { @@ -268,6 +276,40 @@ "stateMutability": "nonpayable", "type": "function" }, + { + "inputs": [ + { + "internalType": "address", + "name": "user", + "type": "address" + }, + { + "internalType": "uint256", + "name": "roundNumber", + "type": "uint256" + }, + { + "internalType": "address", + "name": "sacrificedToken", + "type": "address" + } + ], + "name": "getRewards", + "outputs": [ + { + "internalType": "uint256", + "name": "stakeReward", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "sacrificeReward", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, { "inputs": [ { @@ -311,35 +353,6 @@ "stateMutability": "view", "type": "function" }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "roundNumber", - "type": "uint256" - }, - { - "internalType": "address", - "name": "sacrificedToken", - "type": "address" - } - ], - "name": "getSacrificedTokenTotalRewards", - "outputs": [ - { - "internalType": "uint256", - "name": "totalDefaultRewardsForToken", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "totalRewardsForToken", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, { "inputs": [ { @@ -357,7 +370,36 @@ "outputs": [ { "internalType": "uint256", - "name": "totalRewardsAmount", + "name": "totalSacrificeRewards", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "totalStakeRewards", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "roundNumber", + "type": "uint256" + }, + { + "internalType": "address", + "name": "sacrificedToken", + "type": "address" + } + ], + "name": "getTotalSacrificeRewardsForToken", + "outputs": [ + { + "internalType": "uint256", + "name": "totalSacrificeRewardsForToken", "type": "uint256" } ], @@ -373,7 +415,7 @@ }, { "internalType": "address", - "name": "_memeToken", + "name": "_bloodline", "type": "address" } ], @@ -408,19 +450,6 @@ "stateMutability": "view", "type": "function" }, - { - "inputs": [], - "name": "memeToken", - "outputs": [ - { - "internalType": "contract MemeToken", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, { "inputs": [], "name": "orderUnstake", @@ -540,35 +569,6 @@ "stateMutability": "nonpayable", "type": "function" }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "rewards", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, { "inputs": [ { @@ -586,12 +586,12 @@ }, { "internalType": "uint256", - "name": "totalDefaultRewards", + "name": "totalSacrificeCompetitionRewards", "type": "uint256" }, { "internalType": "uint256", - "name": "totalRewards", + "name": "totalStakeRewards", "type": "uint256" } ], diff --git a/src/assets/contracts/UniswapPool.json b/src/assets/contracts/UniswapPool.json new file mode 100644 index 0000000..7145c02 --- /dev/null +++ b/src/assets/contracts/UniswapPool.json @@ -0,0 +1,5 @@ +{ + "contractName": "OurUniV3Pool", + "contractAddress": "0x12e7D6FbE5430bAa1B1C31E04CFbB94940Ac655C", + "abi": [{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"int24","name":"tickLower","type":"int24"},{"indexed":true,"internalType":"int24","name":"tickUpper","type":"int24"},{"indexed":false,"internalType":"uint128","name":"amount","type":"uint128"},{"indexed":false,"internalType":"uint256","name":"amount0","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount1","type":"uint256"}],"name":"Burn","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":false,"internalType":"address","name":"recipient","type":"address"},{"indexed":true,"internalType":"int24","name":"tickLower","type":"int24"},{"indexed":true,"internalType":"int24","name":"tickUpper","type":"int24"},{"indexed":false,"internalType":"uint128","name":"amount0","type":"uint128"},{"indexed":false,"internalType":"uint128","name":"amount1","type":"uint128"}],"name":"Collect","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"sender","type":"address"},{"indexed":true,"internalType":"address","name":"recipient","type":"address"},{"indexed":false,"internalType":"uint128","name":"amount0","type":"uint128"},{"indexed":false,"internalType":"uint128","name":"amount1","type":"uint128"}],"name":"CollectProtocol","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"sender","type":"address"},{"indexed":true,"internalType":"address","name":"recipient","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount0","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount1","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"paid0","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"paid1","type":"uint256"}],"name":"Flash","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint16","name":"observationCardinalityNextOld","type":"uint16"},{"indexed":false,"internalType":"uint16","name":"observationCardinalityNextNew","type":"uint16"}],"name":"IncreaseObservationCardinalityNext","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint160","name":"sqrtPriceX96","type":"uint160"},{"indexed":false,"internalType":"int24","name":"tick","type":"int24"}],"name":"Initialize","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"sender","type":"address"},{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"int24","name":"tickLower","type":"int24"},{"indexed":true,"internalType":"int24","name":"tickUpper","type":"int24"},{"indexed":false,"internalType":"uint128","name":"amount","type":"uint128"},{"indexed":false,"internalType":"uint256","name":"amount0","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount1","type":"uint256"}],"name":"Mint","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint8","name":"feeProtocol0Old","type":"uint8"},{"indexed":false,"internalType":"uint8","name":"feeProtocol1Old","type":"uint8"},{"indexed":false,"internalType":"uint8","name":"feeProtocol0New","type":"uint8"},{"indexed":false,"internalType":"uint8","name":"feeProtocol1New","type":"uint8"}],"name":"SetFeeProtocol","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"sender","type":"address"},{"indexed":true,"internalType":"address","name":"recipient","type":"address"},{"indexed":false,"internalType":"int256","name":"amount0","type":"int256"},{"indexed":false,"internalType":"int256","name":"amount1","type":"int256"},{"indexed":false,"internalType":"uint160","name":"sqrtPriceX96","type":"uint160"},{"indexed":false,"internalType":"uint128","name":"liquidity","type":"uint128"},{"indexed":false,"internalType":"int24","name":"tick","type":"int24"}],"name":"Swap","type":"event"},{"inputs":[{"internalType":"int24","name":"tickLower","type":"int24"},{"internalType":"int24","name":"tickUpper","type":"int24"},{"internalType":"uint128","name":"amount","type":"uint128"}],"name":"burn","outputs":[{"internalType":"uint256","name":"amount0","type":"uint256"},{"internalType":"uint256","name":"amount1","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"int24","name":"tickLower","type":"int24"},{"internalType":"int24","name":"tickUpper","type":"int24"},{"internalType":"uint128","name":"amount0Requested","type":"uint128"},{"internalType":"uint128","name":"amount1Requested","type":"uint128"}],"name":"collect","outputs":[{"internalType":"uint128","name":"amount0","type":"uint128"},{"internalType":"uint128","name":"amount1","type":"uint128"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint128","name":"amount0Requested","type":"uint128"},{"internalType":"uint128","name":"amount1Requested","type":"uint128"}],"name":"collectProtocol","outputs":[{"internalType":"uint128","name":"amount0","type":"uint128"},{"internalType":"uint128","name":"amount1","type":"uint128"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"factory","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"fee","outputs":[{"internalType":"uint24","name":"","type":"uint24"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"feeGrowthGlobal0X128","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"feeGrowthGlobal1X128","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount0","type":"uint256"},{"internalType":"uint256","name":"amount1","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"flash","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint16","name":"observationCardinalityNext","type":"uint16"}],"name":"increaseObservationCardinalityNext","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint160","name":"sqrtPriceX96","type":"uint160"}],"name":"initialize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"liquidity","outputs":[{"internalType":"uint128","name":"","type":"uint128"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxLiquidityPerTick","outputs":[{"internalType":"uint128","name":"","type":"uint128"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"int24","name":"tickLower","type":"int24"},{"internalType":"int24","name":"tickUpper","type":"int24"},{"internalType":"uint128","name":"amount","type":"uint128"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"mint","outputs":[{"internalType":"uint256","name":"amount0","type":"uint256"},{"internalType":"uint256","name":"amount1","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"observations","outputs":[{"internalType":"uint32","name":"blockTimestamp","type":"uint32"},{"internalType":"int56","name":"tickCumulative","type":"int56"},{"internalType":"uint160","name":"secondsPerLiquidityCumulativeX128","type":"uint160"},{"internalType":"bool","name":"initialized","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint32[]","name":"secondsAgos","type":"uint32[]"}],"name":"observe","outputs":[{"internalType":"int56[]","name":"tickCumulatives","type":"int56[]"},{"internalType":"uint160[]","name":"secondsPerLiquidityCumulativeX128s","type":"uint160[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"name":"positions","outputs":[{"internalType":"uint128","name":"liquidity","type":"uint128"},{"internalType":"uint256","name":"feeGrowthInside0LastX128","type":"uint256"},{"internalType":"uint256","name":"feeGrowthInside1LastX128","type":"uint256"},{"internalType":"uint128","name":"tokensOwed0","type":"uint128"},{"internalType":"uint128","name":"tokensOwed1","type":"uint128"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"protocolFees","outputs":[{"internalType":"uint128","name":"token0","type":"uint128"},{"internalType":"uint128","name":"token1","type":"uint128"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint8","name":"feeProtocol0","type":"uint8"},{"internalType":"uint8","name":"feeProtocol1","type":"uint8"}],"name":"setFeeProtocol","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"slot0","outputs":[{"internalType":"uint160","name":"sqrtPriceX96","type":"uint160"},{"internalType":"int24","name":"tick","type":"int24"},{"internalType":"uint16","name":"observationIndex","type":"uint16"},{"internalType":"uint16","name":"observationCardinality","type":"uint16"},{"internalType":"uint16","name":"observationCardinalityNext","type":"uint16"},{"internalType":"uint8","name":"feeProtocol","type":"uint8"},{"internalType":"bool","name":"unlocked","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"int24","name":"tickLower","type":"int24"},{"internalType":"int24","name":"tickUpper","type":"int24"}],"name":"snapshotCumulativesInside","outputs":[{"internalType":"int56","name":"tickCumulativeInside","type":"int56"},{"internalType":"uint160","name":"secondsPerLiquidityInsideX128","type":"uint160"},{"internalType":"uint32","name":"secondsInside","type":"uint32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"bool","name":"zeroForOne","type":"bool"},{"internalType":"int256","name":"amountSpecified","type":"int256"},{"internalType":"uint160","name":"sqrtPriceLimitX96","type":"uint160"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"swap","outputs":[{"internalType":"int256","name":"amount0","type":"int256"},{"internalType":"int256","name":"amount1","type":"int256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"int16","name":"","type":"int16"}],"name":"tickBitmap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tickSpacing","outputs":[{"internalType":"int24","name":"","type":"int24"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"int24","name":"","type":"int24"}],"name":"ticks","outputs":[{"internalType":"uint128","name":"liquidityGross","type":"uint128"},{"internalType":"int128","name":"liquidityNet","type":"int128"},{"internalType":"uint256","name":"feeGrowthOutside0X128","type":"uint256"},{"internalType":"uint256","name":"feeGrowthOutside1X128","type":"uint256"},{"internalType":"int56","name":"tickCumulativeOutside","type":"int56"},{"internalType":"uint160","name":"secondsPerLiquidityOutsideX128","type":"uint160"},{"internalType":"uint32","name":"secondsOutside","type":"uint32"},{"internalType":"bool","name":"initialized","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"token0","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"token1","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"}] +} diff --git a/src/assets/contracts/admin-altar.json b/src/assets/contracts/admin-altar.json new file mode 100644 index 0000000..71f34ce --- /dev/null +++ b/src/assets/contracts/admin-altar.json @@ -0,0 +1 @@ +[{"inputs":[{"internalType":"address","name":"meme","type":"address"},{"internalType":"address","name":"uniV2Pool","type":"address"}],"name":"addMemeToList","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"components":[{"internalType":"uint8","name":"b1","type":"uint8"},{"internalType":"uint8","name":"m1","type":"uint8"},{"internalType":"uint8","name":"b2","type":"uint8"},{"internalType":"uint8","name":"m2","type":"uint8"},{"internalType":"uint8","name":"b3","type":"uint8"},{"internalType":"uint8","name":"m4","type":"uint8"}],"internalType":"struct MemeAltar.BM","name":"newBM","type":"tuple"}],"name":"adjustBM","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newDefaultGoal","type":"uint256"}],"name":"adjustDefaultGoal","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newDurationLimit","type":"uint256"}],"name":"adjustRoundDurationLimit","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"meme","type":"address"}],"name":"removeMemeFromList","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newAdmin","type":"address"}],"name":"switchAdmin","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newFixedPrice","type":"uint256"}],"name":"adjustFixedPrice","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"}] diff --git a/src/assets/sass/buttons.sass b/src/assets/sass/buttons.sass index a7dea71..d2f5c03 100644 --- a/src/assets/sass/buttons.sass +++ b/src/assets/sass/buttons.sass @@ -3,9 +3,12 @@ padding: 16px 24px gap: 8px border-radius: 14px - &.btn--disabled - background-color: #151515 - color: #808080 + border: none + display: block + width: 100% + text-decoration: none + &[disabled], &.btn--disabled + background-color: darken($purple, 10%) cursor: not-allowed &.black background-color: var(--midnight-black) @@ -13,6 +16,9 @@ background-color: $purple color: $button-color font-size: 24px + &[disabled], &.btn--disabled + background-color: darken($purple, 10%) + cursor: not-allowed &:hover,&:focus,&:active background-color: darken($purple, 10%), cursor: pointer diff --git a/src/components/BloodChart.vue b/src/components/BloodChart.vue index aeab33a..7740381 100644 --- a/src/components/BloodChart.vue +++ b/src/components/BloodChart.vue @@ -1,6 +1,6 @@