Update Fedimint configuration and enhance onboarding process
- Upgraded Fedimint version to v0.10.0 in docker-compose.yml and manifest.yml, adding support for the built-in Guardian UI. - Modified .gitignore to exclude deploy-config.sh script. - Enhanced onboarding process in AuthManager to persist onboarding state and validate password strength during user setup. - Updated API to handle onboarding completion and password change requests, ensuring a smoother user experience. - Improved configuration management to support Nostr discovery and Tor proxy settings, enhancing node identity features.
This commit is contained in:
@@ -77,6 +77,21 @@ class RPCClient {
|
||||
})
|
||||
}
|
||||
|
||||
async changePassword(params: {
|
||||
currentPassword: string
|
||||
newPassword: string
|
||||
alsoChangeSsh?: boolean
|
||||
}): Promise<{ success: boolean }> {
|
||||
return this.call({
|
||||
method: 'auth.changePassword',
|
||||
params: {
|
||||
currentPassword: params.currentPassword,
|
||||
newPassword: params.newPassword,
|
||||
alsoChangeSsh: params.alsoChangeSsh ?? true,
|
||||
},
|
||||
})
|
||||
}
|
||||
|
||||
async logout(): Promise<void> {
|
||||
return this.call({
|
||||
method: 'auth.logout',
|
||||
@@ -84,6 +99,113 @@ class RPCClient {
|
||||
})
|
||||
}
|
||||
|
||||
async completeOnboarding(): Promise<boolean> {
|
||||
return this.call({
|
||||
method: 'auth.onboardingComplete',
|
||||
params: {},
|
||||
})
|
||||
}
|
||||
|
||||
async isOnboardingComplete(): Promise<boolean> {
|
||||
return this.call({
|
||||
method: 'auth.isOnboardingComplete',
|
||||
params: {},
|
||||
})
|
||||
}
|
||||
|
||||
async getNodeDid(): Promise<{ did: string; pubkey: string }> {
|
||||
return this.call({
|
||||
method: 'node.did',
|
||||
params: {},
|
||||
})
|
||||
}
|
||||
|
||||
async publishNostrIdentity(): Promise<{ event_id: string; success: number; failed: number }> {
|
||||
return this.call({
|
||||
method: 'node.nostr-publish',
|
||||
params: {},
|
||||
})
|
||||
}
|
||||
|
||||
async getNostrPubkey(): Promise<{ nostr_pubkey: string }> {
|
||||
return this.call({
|
||||
method: 'node.nostr-pubkey',
|
||||
params: {},
|
||||
})
|
||||
}
|
||||
|
||||
async listPeers(): Promise<{ peers: Array<{ onion: string; pubkey: string; name?: string }> }> {
|
||||
return this.call({
|
||||
method: 'node-list-peers',
|
||||
params: {},
|
||||
})
|
||||
}
|
||||
|
||||
async addPeer(params: { onion: string; pubkey: string; name?: string }): Promise<{ peers: unknown[] }> {
|
||||
return this.call({
|
||||
method: 'node-add-peer',
|
||||
params,
|
||||
})
|
||||
}
|
||||
|
||||
async removePeer(pubkey: string): Promise<{ peers: unknown[] }> {
|
||||
return this.call({
|
||||
method: 'node-remove-peer',
|
||||
params: { pubkey },
|
||||
})
|
||||
}
|
||||
|
||||
async sendMessageToPeer(onion: string, message: string): Promise<{ ok: boolean; sent_to: string }> {
|
||||
return this.call({
|
||||
method: 'node-send-message',
|
||||
params: { onion, message },
|
||||
timeout: 90000,
|
||||
})
|
||||
}
|
||||
|
||||
async checkPeerReachable(onion: string): Promise<{ onion: string; reachable: boolean }> {
|
||||
return this.call({
|
||||
method: 'node-check-peer',
|
||||
params: { onion },
|
||||
timeout: 35000,
|
||||
})
|
||||
}
|
||||
|
||||
async getReceivedMessages(): Promise<{ messages: Array<{ from_pubkey: string; message: string; timestamp: string }> }> {
|
||||
return this.call({
|
||||
method: 'node-messages-received',
|
||||
params: {},
|
||||
})
|
||||
}
|
||||
|
||||
async discoverNodes(): Promise<{ nodes: Array<{ did: string; onion: string; pubkey: string; node_address: string }> }> {
|
||||
return this.call({
|
||||
method: 'node-nostr-discover',
|
||||
params: {},
|
||||
timeout: 20000,
|
||||
})
|
||||
}
|
||||
|
||||
async getTorAddress(): Promise<{ tor_address: string | null }> {
|
||||
return this.call({
|
||||
method: 'node.tor-address',
|
||||
params: {},
|
||||
})
|
||||
}
|
||||
|
||||
async verifyNostrRevoked(): Promise<{
|
||||
revoked: boolean
|
||||
nostr_pubkey: string
|
||||
latest_content?: string
|
||||
error?: string
|
||||
}> {
|
||||
return this.call({
|
||||
method: 'node-nostr-verify-revoked',
|
||||
params: {},
|
||||
timeout: 25000,
|
||||
})
|
||||
}
|
||||
|
||||
async echo(message: string): Promise<string> {
|
||||
return this.call({
|
||||
method: 'server.echo',
|
||||
|
||||
Reference in New Issue
Block a user