Apes Legacy
Apes Legacy is a dApp that enables BAYC, MAYC and BAKC assets inheritance.
Screenshots






Problem Statement
Enabling Inheritance of BAYC, MAYC and BAKCApes Legacyenables BAYC, MAYC and BAKCinheritance.How it worksAnApe holder(BAYC, MAYC or BAKC) may set abeneficiarywallet address as of adeadlineforone of their tokensorfor all of them.Thebeneficiarywill be able toclaimthe Ape(s) after reach thedeadline.Theregistrantmaychangethebeneficiaryand/or thedeadlineas many times as desired.Theregistrantmay change thebeneficiaryto thezero addressor thedeadlineto zero tocancelany previous registerfor tokenIdorfor all of them.Theregistrantmay opt-in to receive notifications about deadline expiration.Rachelwants to send all her Apes to her son when she is 60 and retire on a desert island with no Internet connection. Just set the date of her 60th birthday asdeadline, the address of her son asbeneficiaryand...Done!Alicehas a daughter. Alice wants to send her Ape to her daughter when she is 16 years old. Just set the daughter's address asbeneficiaryand the date of her sixteen asdeadline.Done!Bobwants to hold their Apes until the end 💎, then send them to his caretaker. Just set the caretaker's address asbeneficiaryand for thedeadlinehe set January, 1st. Every December Bob updates thedeadlineto the next year.Done!Davidhas no descendants, but he wants to send their Apes to his nephews and nieces when they are 14 years old. Just choose atokenIdfor each one, and set eachdeadlineto the birthday of its correspondingbeneficiary.Done!Themechanismis not like the real worldinheritance.It isdecentralized, fast, easy, cheap, no paperwork, no third parties, infallible, immutable, flexible, trusted...So,better.Also, the mechanism could be used as a way to add a secondary wallet to manage Apes for sec purposes, maybe arecoveryafter lost the keys for the main wallet.
Solution
Last month I presented my final project for Alchemy University, Inheritas, a platform to enable web3 asset inheritance supporting ERC20, ERC721 and ERC1155. While working on it, I discovered something interesting, at least to me. My dApp could be made obsolete with a few lines of code added to the standards. My idea was to create and present these extensions at this hackathon (my first one), but seeing that ApeCoin was one of the sponsors, I couldn't resist to create a dedicated dApp to enable BAYC, MAYC and BAKC inheritance.Technical detailsThe contract stores thestateof the inheritance registry using 2mappings. The first stores thebeneficiaryof atokenIdof an specific holder. The second stores thedeadlinein the same way. Both are usingMaxUint256astokenIdto represent theforAllregistry.Theregister/unregister flowconsists on update thesemappings.Theclaim token(s) flowconsists ontransferthe token(s) after check thesemappings.The service includes anotification systemto help the registrants like Bob not to miss the extension of the claim date. This system uses thePush protocolandPolybase.Yeah, I know, this is nothing complex, but that's all!.Push NotificationsThe registrant may set the notifications ON/OFF to start/stop receiving notifications trough the Push Protocol.The registrant may set the desired days to be notified before reach the claim date. A notification will be sent daily.This mechanism should help registrants to remember that they need to extend their claim date.To receive the notifications the registrants should download the Push App in their smartphones.The ShowRunners framework will send the notifications to the required users. To know about users and deadlines the framework is using the getSubscribers function and fetching data from Polybase, a decentralized database.Relevant Push files arefrontend/components/NotifyComponent.jsxandshowrunners/src/showrunners/jvaleska/*.PolybaseThe decentralized database is in charge of store the necessary data to manage the notifications trough the Push Protocol.Polybase requires the registrant's signature to create/update/delete their data from the database. Your keys, your data.The registrant may change the number of days to be notified before reach the claim date without problem.The registrant is in charge to update the claim date stored in Polybase whenever he/she changes this date in the blockchain.The previous feature could be done automatically at the moment of register an Ape to the service. Separated for simplicity.The registrant may delete their data from the database to stop receiving notifications in the future.Relevant Polybase files are polybase.schema, ```frontend/components/NotifyComponent.jsxandshowrunners/src/showrunners/jvaleska/jvaleskaChannel.ts`.Goerli ContractsInherit Apes BAYC contractInherit Apes MAYC contractInherit Apes BAKC contractUsing AlphaToken contract as BAYC.Using BetaToken contract as MAYC.Using GammaToken contract as BAKC.Using M20 contract as Ape Coin.
Hackathon
Scaling Ethereum 2023
2023
Prizes
- 🏆
👯 Polybase — Pool Prize
Contributors
- jvaleskadevs
18 contributions