/*-----------------------------------------
| Declaration to End Poverty |
-------------------------------------------
Poverty is not inevitable. It is a challenge we can overcome together.
We declare our unyielding commitment to end poverty in all its forms everywhere.
Poverty denies dignity, restricts opportunities, and limits the potential of millions.
To overcome it, we must act boldly, with systems that empower and solutions that endure.
Principles:
1. Equal access to education, healthcare, housing, clean water, and food.
2. Inclusive systems to empower individuals and communities.
3. Climate action for a sustainable future.
4. Justice and peace to eliminate conflict and inequality.
This is a shared mission. Together, we consign poverty to the past.
Now is the time to act. A brighter future is within our grasp.
-----------------------------------------*/
// SPDX-License-Identifier: WTFPL
pragma solidity ^0.8.0;
import "./Domino.sol";
contract SocialWelfare is Domino {
string public contractName = "SocialWelfare";
}
// SPDX-License-Identifier: WTFPL
pragma solidity ^0.8.0;
contract Domino {
address public next;
function place(address _next) public {
next = _next;
}
function topple() public {
if (next != address(0)) {
Domino(payable(next)).topple();
}
selfdestruct(payable(msg.sender));
}
receive() external payable {}
}
{
"compilationTarget": {
"src/01_SocialWelfare.sol": "SocialWelfare"
},
"evmVersion": "paris",
"libraries": {},
"metadata": {
"bytecodeHash": "ipfs"
},
"optimizer": {
"enabled": true,
"runs": 200
},
"remappings": [
":forge-std/=lib/forge-std/src/"
]
}
[{"inputs":[],"name":"contractName","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"next","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_next","type":"address"}],"name":"place","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"topple","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]