master
lza_menace 1 year ago
commit 48bb93dac1

4
.gitignore vendored

@ -0,0 +1,4 @@
out
.env
.venv
lib

3
.gitmodules vendored

@ -0,0 +1,3 @@
[submodule "lib/forge-std"]
path = lib/forge-std
url = https://github.com/foundry-rs/forge-std

@ -0,0 +1,6 @@
[profile.default]
src = 'src'
out = 'out'
libs = ['lib']
# See more config options https://github.com/foundry-rs/foundry/tree/master/config

@ -0,0 +1 @@
Subproject commit eb980e1d4f0e8173ec27da77297ae411840c8ccb

@ -0,0 +1,12 @@
// SPDX-License-Identifier: UNLICENSED
pragma solidity ^0.8.13;
import "forge-std/Script.sol";
contract CounterScript is Script {
function setUp() public {}
function run() public {
vm.broadcast();
}
}

@ -0,0 +1,58 @@
// SPDX-License-Identifier: UNLICENSED
pragma solidity ^0.8.13;
// .02 or something for a unabomber + 2 bombs
// unabomber alone is free
// bomb has a 20% failure rate, when burned bomb
// "explodes" a pfp by updating the img to an explosion over the pfp
// well if its random
// just have them burn it and if it blows up a pfp thats already blown up
// then bomb wasted
// might be more fun if its random
// rather than targetted
// cause then theres a chance u blow up your own
// if random, we just need to let them know which unaboomer the exploded
// cause thats a lot of the fun, knowing u blew up a rare
// etc.
// i think this time, learning from tulips, we need to push urgency
// 10days has none?
// maybe 3 days or 5 days?
// or just say fuck it and go promothean
// ppl keep buying bombs etc.
// 30K collection, free mint, .01 per bomb
// random "blow-up"
// last 100 unabombers
// get 25% of the contract funds
// that way we sell SHIT TONS of bombs
// the lower the number gets the more likely a bomb hits a blown-up pfp
// ie sell moar bombs
// or last 1K unabombers
// bombs sales halt after we hit 1k
// i think the logic here mite be to use your dual IPFS baseURI contract
// we can do onchain but simplest way would be 2 baseURIs, one of the unabombers non blown up
// and one with blown up
// i can even make a lvl of "rarity" to the explosions
// lol
// then burn envelop = update the base uri of a random tokenid
// if token id already on blown up unabomber
// bomb is a dud
// then no need to code a dud, duds will get more likely
// as more unabombers blown up
// so if u hit a rando tokenid thats already blown up = dud, u dont tell the user it hit an already blown up one
// ujust say BOMB WAS DUD
// cause unabomber mamed more ppl than killed its kinda funny he even mailed duds
// lul
// he was pissed his boms werent killin ppl fuckin psycho lul
contract Unaboomer {
uint256 public number;
function setNumber(uint256 newNumber) public {
number = newNumber;
}
function increment() public {
number++;
}
}

@ -0,0 +1,24 @@
// SPDX-License-Identifier: UNLICENSED
pragma solidity ^0.8.13;
import "forge-std/Test.sol";
import "../src/Counter.sol";
contract CounterTest is Test {
Counter public counter;
function setUp() public {
counter = new Counter();
counter.setNumber(0);
}
function testIncrement() public {
counter.increment();
assertEq(counter.number(), 1);
}
function testSetNumber(uint256 x) public {
counter.setNumber(x);
assertEq(counter.number(), x);
}
}
Loading…
Cancel
Save