mirror of
https://github.com/vitorpamplona/amethyst.git
synced 2025-09-26 01:56:36 +02:00
Adds a dependency on Account and to the NWC state to avoid linking directly with the Application class
This commit is contained in:
@@ -89,6 +89,7 @@ import com.vitorpamplona.amethyst.model.topNavFeeds.IFeedTopNavFilter
|
|||||||
import com.vitorpamplona.amethyst.model.topNavFeeds.OutboxLoaderState
|
import com.vitorpamplona.amethyst.model.topNavFeeds.OutboxLoaderState
|
||||||
import com.vitorpamplona.amethyst.model.torState.TorRelayState
|
import com.vitorpamplona.amethyst.model.torState.TorRelayState
|
||||||
import com.vitorpamplona.amethyst.service.location.LocationState
|
import com.vitorpamplona.amethyst.service.location.LocationState
|
||||||
|
import com.vitorpamplona.amethyst.service.relayClient.reqCommand.nwc.NWCPaymentFilterAssembler
|
||||||
import com.vitorpamplona.amethyst.service.uploads.FileHeader
|
import com.vitorpamplona.amethyst.service.uploads.FileHeader
|
||||||
import com.vitorpamplona.quartz.experimental.bounties.BountyAddValueEvent
|
import com.vitorpamplona.quartz.experimental.bounties.BountyAddValueEvent
|
||||||
import com.vitorpamplona.quartz.experimental.edits.TextNoteModificationEvent
|
import com.vitorpamplona.quartz.experimental.edits.TextNoteModificationEvent
|
||||||
@@ -218,7 +219,8 @@ import kotlin.coroutines.cancellation.CancellationException
|
|||||||
class Account(
|
class Account(
|
||||||
val settings: AccountSettings = AccountSettings(KeyPair()),
|
val settings: AccountSettings = AccountSettings(KeyPair()),
|
||||||
val signer: NostrSigner,
|
val signer: NostrSigner,
|
||||||
geolocationFlow: StateFlow<LocationState.LocationResult>,
|
val geolocationFlow: StateFlow<LocationState.LocationResult>,
|
||||||
|
val nwcFilterAssembler: NWCPaymentFilterAssembler,
|
||||||
val cache: LocalCache,
|
val cache: LocalCache,
|
||||||
val client: INostrClient,
|
val client: INostrClient,
|
||||||
val scope: CoroutineScope,
|
val scope: CoroutineScope,
|
||||||
@@ -229,7 +231,7 @@ class Account(
|
|||||||
|
|
||||||
val userMetadata = UserMetadataState(signer, cache, scope, settings)
|
val userMetadata = UserMetadataState(signer, cache, scope, settings)
|
||||||
|
|
||||||
val nip47SignerState = NwcSignerState(signer, cache, scope, settings)
|
val nip47SignerState = NwcSignerState(signer, nwcFilterAssembler, cache, scope, settings)
|
||||||
|
|
||||||
val nip65RelayList = Nip65RelayListState(signer, cache, scope, settings)
|
val nip65RelayList = Nip65RelayListState(signer, cache, scope, settings)
|
||||||
val localRelayList = LocalRelayListState(signer, cache, scope, settings)
|
val localRelayList = LocalRelayListState(signer, cache, scope, settings)
|
||||||
|
@@ -20,10 +20,10 @@
|
|||||||
*/
|
*/
|
||||||
package com.vitorpamplona.amethyst.model.nip47WalletConnect
|
package com.vitorpamplona.amethyst.model.nip47WalletConnect
|
||||||
|
|
||||||
import com.vitorpamplona.amethyst.Amethyst
|
|
||||||
import com.vitorpamplona.amethyst.model.AccountSettings
|
import com.vitorpamplona.amethyst.model.AccountSettings
|
||||||
import com.vitorpamplona.amethyst.model.LocalCache
|
import com.vitorpamplona.amethyst.model.LocalCache
|
||||||
import com.vitorpamplona.amethyst.model.Note
|
import com.vitorpamplona.amethyst.model.Note
|
||||||
|
import com.vitorpamplona.amethyst.service.relayClient.reqCommand.nwc.NWCPaymentFilterAssembler
|
||||||
import com.vitorpamplona.amethyst.service.relayClient.reqCommand.nwc.NWCPaymentQueryState
|
import com.vitorpamplona.amethyst.service.relayClient.reqCommand.nwc.NWCPaymentQueryState
|
||||||
import com.vitorpamplona.quartz.nip01Core.core.hexToByteArray
|
import com.vitorpamplona.quartz.nip01Core.core.hexToByteArray
|
||||||
import com.vitorpamplona.quartz.nip01Core.crypto.KeyPair
|
import com.vitorpamplona.quartz.nip01Core.crypto.KeyPair
|
||||||
@@ -62,6 +62,7 @@ import kotlinx.coroutines.launch
|
|||||||
*/
|
*/
|
||||||
class NwcSignerState(
|
class NwcSignerState(
|
||||||
val signer: NostrSigner,
|
val signer: NostrSigner,
|
||||||
|
val nwcFilterAssembler: NWCPaymentFilterAssembler,
|
||||||
val cache: LocalCache,
|
val cache: LocalCache,
|
||||||
val scope: CoroutineScope,
|
val scope: CoroutineScope,
|
||||||
val settings: AccountSettings,
|
val settings: AccountSettings,
|
||||||
@@ -163,13 +164,11 @@ class NwcSignerState(
|
|||||||
relay = walletService.relayUri,
|
relay = walletService.relayUri,
|
||||||
)
|
)
|
||||||
|
|
||||||
Amethyst.instance.sources.nwc
|
nwcFilterAssembler.subscribe(filter)
|
||||||
.subscribe(filter)
|
|
||||||
|
|
||||||
scope.launch(Dispatchers.IO) {
|
scope.launch(Dispatchers.IO) {
|
||||||
delay(60000) // waits 1 minute to complete payment.
|
delay(60000) // waits 1 minute to complete payment.
|
||||||
Amethyst.instance.sources.nwc
|
nwcFilterAssembler.unsubscribe(filter)
|
||||||
.unsubscribe(filter)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
cache.consume(event, zappedNote, true, walletService.relayUri) {
|
cache.consume(event, zappedNote, true, walletService.relayUri) {
|
||||||
|
Reference in New Issue
Block a user