mirror of
https://github.com/Permissionless-Software-Foundation/bch-dex-taker-v2.git
synced 2026-09-21 16:52:01 -07:00
Merge pull request #63 from Permissionless-Software-Foundation/dh-blacklist
feat(nostr): Removed entries from authors on the npub blacklist
This commit is contained in:
@@ -74,6 +74,7 @@ function App (props) {
|
||||
|
||||
console.log('asyncInitStarted: ', appData.asyncInitStarted)
|
||||
console.log('is single view : ', singleView)
|
||||
await appData.nostrQueries.start()
|
||||
if (!appData.asyncInitStarted && !singleView) {
|
||||
try {
|
||||
// Instantiate the async load object.
|
||||
|
||||
@@ -203,7 +203,8 @@ function NostrChat (props) {
|
||||
|
||||
pool.on('event', (relay, subId, ev) => {
|
||||
console.log('Group post retrieved from ', relay.url, ev.content)
|
||||
onMsgRead(ev)
|
||||
const onBlackList = nostrQueries.blackList.find((val) => { return val === ev.pubkey })
|
||||
if (!onBlackList)onMsgRead(ev)
|
||||
})
|
||||
|
||||
return () => {
|
||||
|
||||
@@ -6,6 +6,7 @@ import { RelayPool } from 'nostr'
|
||||
import * as nip19 from 'nostr-tools/nip19'
|
||||
import { nip04 } from 'nostr-tools'
|
||||
import { hexToBytes } from '@noble/hashes/utils' // already an installed dependency
|
||||
import axios from 'axios'
|
||||
|
||||
export default class NostrQueries {
|
||||
constructor ({ relays }) {
|
||||
@@ -13,6 +14,17 @@ export default class NostrQueries {
|
||||
|
||||
this.loadedProfiles = {}
|
||||
this.loadedChannelsInfo = {}
|
||||
this.blackList = []
|
||||
this.blackListFetched = false
|
||||
}
|
||||
|
||||
async start () {
|
||||
try {
|
||||
await this.getBlackList()
|
||||
} catch (error) {
|
||||
console.error('NostrQueries.start() error : ', error.message)
|
||||
throw error
|
||||
}
|
||||
}
|
||||
|
||||
setRelays (relays) {
|
||||
@@ -459,4 +471,39 @@ export default class NostrQueries {
|
||||
throw error
|
||||
}
|
||||
}
|
||||
|
||||
async getBlackList () {
|
||||
try {
|
||||
if (this.blackListFetched) return
|
||||
const opts = {
|
||||
method: 'GET',
|
||||
url: 'https://blacklists.psfoundation.info/nostr-chat-blacklist.json',
|
||||
headers: {
|
||||
'Content-Type': 'application/json'
|
||||
}
|
||||
}
|
||||
|
||||
const result = await axios.request(opts)
|
||||
const { data } = result
|
||||
const { npubs } = data
|
||||
|
||||
// // Dev test mock npub for testing purposes
|
||||
// const myNpubMock = 'npub1y3xq402pu9aqms3khetnt5gzm54t63pzcla56wwfmwshde0ws77qkff5gc'
|
||||
// npubs.push(myNpubMock)
|
||||
// //
|
||||
|
||||
this.blackListFetched = true
|
||||
for (let i = 0; i < npubs.length; i++) {
|
||||
const npub = npubs[i]
|
||||
const pubKey = this.npubToHex(npub)
|
||||
this.blackList.push(pubKey)
|
||||
}
|
||||
console.log('BlackList ', this.blackList)
|
||||
|
||||
return data
|
||||
} catch (error) {
|
||||
console.log('Error on getBlackList()')
|
||||
throw error
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user