MCPcopy Create free account
hub / github.com/DEROFDN/Engram / getMessagesFromUser

Function getMessagesFromUser

functions.go:1759–1832  ·  view source on GitHub ↗

Get a list of message transactions from an address

(s string, h uint64)

Source from the content-addressed store, hash-verified

1757
1758// Get a list of message transactions from an address
1759func getMessagesFromUser(s string, h uint64) (result []rpc.Entry) {
1760 var zeroscid crypto.Hash
1761 if s == "" {
1762 return
1763 }
1764
1765 messages := engram.Disk.Get_Payments_DestinationPort(zeroscid, uint64(1337), h)
1766
1767 for m := range messages {
1768 var username bool
1769 var username2 bool
1770
1771 txid := messages[m].TXID
1772 _, tx := engram.Disk.Get_Payments_TXID(zeroscid, txid)
1773
1774 //check, err := engram.Disk.NameToAddress(s)
1775 check, err := checkUsername(s, -1)
1776 if err != nil {
1777 username = false
1778 } else {
1779 username = true
1780 }
1781
1782 if tx.Incoming {
1783 if tx.Payload_RPC.HasValue(rpc.RPC_NEEDS_REPLYBACK_ADDRESS, rpc.DataString) {
1784 height := int64(tx.Height)
1785 check2, err := checkUsername(tx.Payload_RPC.Value(rpc.RPC_NEEDS_REPLYBACK_ADDRESS, rpc.DataString).(string), height)
1786 if err != nil {
1787 username2 = false
1788 addr, err := globals.ParseValidateAddress(tx.Payload_RPC.Value(rpc.RPC_NEEDS_REPLYBACK_ADDRESS, rpc.DataString).(string))
1789 if err != nil {
1790 check2 = ""
1791 } else {
1792 check2 = addr.String()
1793 }
1794 } else {
1795 username2 = true
1796 }
1797
1798 // Check for spoofing
1799 //if ring_member_exists(txid, check2) {
1800
1801 if username && username2 {
1802 if check == check2 {
1803 result = append(result, messages[m])
1804 }
1805 } else if !username && !username2 {
1806 if s == tx.Payload_RPC.Value(rpc.RPC_NEEDS_REPLYBACK_ADDRESS, rpc.DataString).(string) {
1807 result = append(result, messages[m])
1808 }
1809 } else if check == tx.Payload_RPC.Value(rpc.RPC_NEEDS_REPLYBACK_ADDRESS, rpc.DataString).(string) {
1810 result = append(result, messages[m])
1811 } else if s == check2 {
1812 result = append(result, messages[m])
1813 }
1814 //}
1815 }
1816 } else {

Callers 1

layoutPMFunction · 0.85

Calls 1

checkUsernameFunction · 0.85

Tested by

no test coverage detected