customizable, decentralized, on-chain address lists settled by UMA's optimistic oracle that can be referenced by any smart contract
This project allows anyone to create a customizable, decentralized, on-chain list of addresses. The criteria for being on the list should be based on verifiable blockchain data. Anyone can proposed additions or removals from the list and changes are settled by UMA's optimistic oracle. The list creator can incentivize users to add and/or delete addresses by setting a reward per address added or deleted.
The lists can then be used by other smart contracts by either checking if an address is on the list through an address to bool mapping or calling the entire address array.
This project uses a proxy factory contract to create new lists. When a user proposes adding or removing addresses from the list, the address or a reference to a list of addresses is included in the ancillary data on a UMA oracle price request. The same transaction also proposes the price. Once the oracle settles the price, it calls a callback function in the lists smart contract to add or remove the pending addresses from the list and pays out any rewards due to the proposer.