// trustedAddressDeposits provides functions to save and retrieve cryptocurrency address deposit information from hosts package trustedAddressDeposits //TODO: Build package // Deposits should be retrieved from multiple hosts using the GetAddressDeposits request. // We should store deposits in badgerDatabase. // We must store each deposit, the host who told us about the deposit, and the time the deposit was made. // The time of a deposit is derived from the block time, so all deposits within the same block should be represented as a single deposit. // Hosts should only provide information about confirmed deposits (a defined number of blocks) // We can detect hosts who are lying by comparing their alleged deposits to what other hosts are telling us. // We can then add those hosts to our malicious hosts list. // Clients should be constantly updating deposits for all downloaded moderators to keep up with any new deposits. // For an address deposit history to be known, it needs to have been verified by at least 3 hosts // Regardless of which network type the host who shared them belongs to, address deposits should be identical. // TODO: Take into consideration the network type of the host who shared each address deposit? import "seekia/internal/network/serverResponse" func CheckIfAddressDepositsAreKnown(cryptocurrency string, address string)(bool, error){ //TODO return true, nil } func AddAddressDepositObjectsListToCache(hostIdentityHash [16]byte, cryptocurrency string, depositObjectsList []serverResponse.DepositStruct)error{ //TODO return nil } func AddAddressesWithNoDepositsToCache(hostIdentityHash [16]byte, cryptocurrency string, addressesList []string)error{ //TODO return nil }