Use this contract as a hot wallet without any worry about passing it on to the next generation.
This is an alpha version, it is not yet audited, use with caution.
Only Primary owner can call this function.
Checks whether the address is valid or zero address.
Only Primary or Backup Owner can call this function.
Only Heir can call this function.
Only an Approver can call this function.
Check if the contract have enough balance.
constructor(address _owner, address _backupOwner, address payable _heir, address _charity, contract IArbitrator _arbitrator, bytes _arbitratorExtraData, string _metaevidence, address[] _approvers, uint256 _deadline, uint256 _approverDeadline, uint256 _charityDeadline)
(public)
Constructor
Can be used to update the backup owner.
Owner and the new backup owner cannot be the same.
Can be used to update the heir.
Can also be used if the heir tried to access contract before the owner demise along with approvers.
Can be used to update the Charity Address by the Owner. Also reset a initiated charity by Approver.
If the charity address is predetermined by owner, then approver cannot nominate a charity.
Can be used to update the Arbitrator Address by the Owner.
The arbitrator should follow ERC 792 and ERC 1497 standard.
Can be used to update the Arbitrator Fee Deposit Time.
This is the time the heir have to deposit ETH for arbitration fee.
Can be used to update the deadlines.
If only one deadline has to be updated, passing the other zero is enough.
Can be used to add an approver.
Cannot add zero address or already added address.
Can be used to delete an approver.
The approver has to be valid.
Fallback Function for complex calls to other contracts.
Proxy Logic only owner can call.
Can be used to receive ether from anyone.
This allows to receive ether from anyone unlike the fallback function.
Withdraw Complete ETH balance.
Withdraw a particular amount of ETH.
Transfer _amount
ETH to _receiver
.
Can be used to deploy contracts.
Can be used to update the owner.
This function can be used by either owner or backupOwner.
Can be used to claim the contract ownership.
This function starts the claim process for heir.
Can be used to reclaim the contract ownership after a rejected dispute from Arbitrator.
Might be used when Owner in health crisis, and approver disputed and won.
This is an internal function which takes care of the heir claim process.
accessOwnershipFromApprover(address _backupOwner, address payable _heir, address[] _approvers, uint256 _deadline, uint256 _approverDeadline, uint256 _charityDeadline)
(public)
Can be used by heir after approver approval.
This function can only be called once majority vote is attained.
accessOwnershipFromArbitrator(address _backupOwner, address payable _heir, address[] _approvers, uint256 _deadline, uint256 _approverDeadline, uint256 _charityDeadline)
(public)
Can be used by heir after arbitrator approval.
This function can only be called once arbitrator approval is attained.
accessOwnershipAfterDeadline(address _backupOwner, address payable _heir, address[] _approvers, uint256 _deadline, uint256 _approverDeadline, uint256 _charityDeadline)
(public)
Can be used by heir after deadline has been passed.
This function can be called with or without the approver approvals after the deadline.
_accessOwnership(address _backupOwner, address payable _heir, address[] _approvers, uint256 _deadline, uint256 _approverDeadline, uint256 _charityDeadline)
(internal)
This is an internal function which takes care of the ownership transfer tasks.
Can be used to pay the arbitration fee for Heir, if approver disputed.
Can be paid by anyone.
Can be used to approve or reject a claim request by heir.
Only callable if claim has started and approver not already voted.
Can be used to dispute a Heir Claim, or dispute incorrect heir acceptance.
Call scope limited to Approvers to limit spamming.
Can be used by anyone to stop the claim process by heir after arbitration fee deposit time ends.
Can be used only after approver made a dispute to claim.
Can be used to initiate the charity process.
Called when owner and heir are no more.
accessOwnershipFromCharity(address _backupOwner, address payable _heir, address[] _approvers, uint256 _deadline, uint256 _approverDeadline, uint256 _charityDeadline)
(public)
Can be used by charity after deadline has been passed.
This function can only be called after the approver has initiated the charity.
Give a ruling for a dispute. Must be called by the arbitrator.
Can be used to submit any evidence during the Claim Dispute Period.
Only owner, heir or approver can call this function.
To get the length of the approvers array.
Used for testing and frontend.
contractCreated(address _owner, address _backupOwner, address _heir, address _charity, contract IArbitrator _arbitrator, uint256 _approverCount, uint256 _heirDeadline, uint256 _heirApprovedDeadline, uint256 _charityDeadline, bytes _arbitratorExtraData)
This event is used to notify the contract creation.
This event is used to notify that the backup owner has been updated.
The event is used to notify that the heir has been updated and any claim has been reset.
The event is used to notify that the charity has been updated.
The event is used to notify that the arbitrator has been updated.
The event is used to notify that the arbitrator has been updated.
deadlineUpdated(uint256 _heirDeadline, uint256 _heirApprovedDeadline, uint256 _charityDeadline, address _owner)
The event is used to notify a change in the deadline.
The event is used to notify an addition to the approver list.
The event is used to notify the deletion of an approver from the list.
The event is used to notify the updation of new owner.
This event is used to notify the approvers to fast track approval process.
This event is emitted when the heir has made a request for access to the contract.
ownershipAccessed(address _newOwner, address _newBackupOwner, address _heir, uint256 _approverCount, uint256 _heirDeadline, uint256 _heirApprovedDeadline, uint256 _charityDeadline)
This event is used to notify when the heir has received the access to the contract.
This event is used to notify the claim dispute has been started by arbitrator.
This event is used to notify the decision by the approver.
This event is used to notify when the approval is successful.
The event is used to notify the heir claim is disputed.
The event is used to notify the initial status is reclaimed.
The event is used to notify that charity process has been initiated.
The event is used to notify the creation of a contract.
The event is used to notify ether deposits.
The event is used to notify ether withdraws.
The event is used to notify ether transfers.