Legacy Contracts Created with EOAs
An externally owned account (EOA) is an account controlled by a cryptographic keypair and is most commonly referred to as a wallet. A key pair consists of a public key (a.k.a public address) and a private key. For Transfer Legacy contracts, the user has an option to create a will using their own Ethereum address.
Table of Contents
Create a Legacy Contract
When the user create a new legacy contract, beneficiaries and allocations are required. Once created, the contract will initialize the timestamp of the last outgoing transaction of the owner's wallet.
The owner is required to approve the legacy contract the permission to transfer token from the owner's wallet to beneficiaries when the contract is activated.
The owner is required to deposit ETH the native asset into the legacy contract, which will transfer ETH from the owner's wallet to the legacy contract. When the legacy contract is activated, the contract will transfer the ETH to beneficiaries.
The Router Contract emits a event and Subgraph listens and creates a legacy contract entity.
Edit a Legacy Contract
When the owner edits a legacy contract, the new information is updated in the legacy contract, and the timestamp of the last outgoing transaction in the contract's owner's wallet is reset.
When the owner edits the legacy contract to approve more tokens, the new tokens and/or new amount is updated in the legacy contract. This action alone will not reset the timestamp of the owner's wallet.
When the owner deposits or withdraws ETH in or from the contract, the amount is updated, and the timestamp of the last outgoing transaction in the legacy contract owner's wallet is reset.
The Router Contract emits a updated event and Subgraph listens and updates the legacy contract with new information.
Delete a Legacy Contract
When the owner deletes an existing legacy contract, the Router Contract emits a new event and Subgraph listens and updates the legacy contract' status to deleted.
The amount of previously deposited ETH in the contract will be transferred back to the owner's wallet.
Reset Time to Activation
When the legacy contract owner clicks the button "I'm still alive", the system resets the timestamp of the last outgoing transaction.
Router Contract emits a new event and Subgraph listens and updates the last timestamp of the contract owner's wallet.
Activate a Legacy Contract
When a beneficiary checks a legacy contract's status, a function checks whether the legacy contract can be activated. If not enough time (as specified by the legacy contract) has passed since the last outgoing transaction, the legacy contract can’t be activated. When the time requirement is met, the legacy contract can be activated by one of the beneficiaries.
Once the legacy contract is activated, the amount of ETH deposited in the legacy contract and the amount of tokens approved will be transferred to the designated beneficiaries's wallets.
Router Contract emits a new event and Subgraph listens and updates the legacy contract's status to activated.
Last updated