Get a list of message transactions from an address
(s string, h uint64)
| 1757 | |
| 1758 | // Get a list of message transactions from an address |
| 1759 | func 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 { |
no test coverage detected