ConnectSigner: make getPublicKey used the stored value instead of actually hitting the relay
This commit is contained in:
parent
03182f8a5a
commit
cd2a35d951
|
@ -1,3 +1,4 @@
|
||||||
|
// deno-lint-ignore-file require-await
|
||||||
import { NConnectSigner } from '@nostrify/nostrify';
|
import { NConnectSigner } from '@nostrify/nostrify';
|
||||||
|
|
||||||
import { AdminSigner } from '@/signers/AdminSigner.ts';
|
import { AdminSigner } from '@/signers/AdminSigner.ts';
|
||||||
|
@ -9,18 +10,26 @@ import { Storages } from '@/storages.ts';
|
||||||
* Simple extension of nostrify's `NConnectSigner`, with our options to keep it DRY.
|
* Simple extension of nostrify's `NConnectSigner`, with our options to keep it DRY.
|
||||||
*/
|
*/
|
||||||
export class ConnectSigner extends NConnectSigner {
|
export class ConnectSigner extends NConnectSigner {
|
||||||
|
private _pubkey: string;
|
||||||
|
|
||||||
constructor(pubkey: string, private relays?: string[]) {
|
constructor(pubkey: string, private relays?: string[]) {
|
||||||
super({
|
super({
|
||||||
pubkey,
|
pubkey,
|
||||||
// TODO: use a remote relay for `nprofile` signing, if present and Conf.relay isn't already in the list
|
// TODO: use a remote relay for `nprofile` signing (if present and `Conf.relay` isn't already in the list)
|
||||||
relay: Storages.pubsub,
|
relay: Storages.pubsub,
|
||||||
signer: new AdminSigner(),
|
signer: new AdminSigner(),
|
||||||
timeout: 60000,
|
timeout: 60000,
|
||||||
});
|
});
|
||||||
|
|
||||||
|
this._pubkey = pubkey;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Prevent unnecessary NIP-46 round-trips.
|
||||||
|
async getPublicKey(): Promise<string> {
|
||||||
|
return this._pubkey;
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Get the user's relays if they passed in an `nprofile` auth token. */
|
/** Get the user's relays if they passed in an `nprofile` auth token. */
|
||||||
// deno-lint-ignore require-await
|
|
||||||
async getRelays(): Promise<Record<string, { read: boolean; write: boolean }>> {
|
async getRelays(): Promise<Record<string, { read: boolean; write: boolean }>> {
|
||||||
return this.relays?.reduce<Record<string, { read: boolean; write: boolean }>>((acc, relay) => {
|
return this.relays?.reduce<Record<string, { read: boolean; write: boolean }>>((acc, relay) => {
|
||||||
acc[relay] = { read: true, write: true };
|
acc[relay] = { read: true, write: true };
|
||||||
|
|
Loading…
Reference in New Issue