48 lines
1.7 KiB
Go
48 lines
1.7 KiB
Go
|
|
// 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
|
|
}
|
|
|
|
|
|
|
|
|
|
|