From da32410c71b9c5efd53033294170b03ddaaf1810 Mon Sep 17 00:00:00 2001 From: Sosthene Date: Mon, 25 Nov 2024 21:35:17 +0100 Subject: [PATCH] Add createPairingProcess --- src/services/service.ts | 41 ++++++++++++++++++++++++++--------------- 1 file changed, 26 insertions(+), 15 deletions(-) diff --git a/src/services/service.ts b/src/services/service.ts index 1a87fc2..8596d76 100755 --- a/src/services/service.ts +++ b/src/services/service.ts @@ -152,24 +152,35 @@ export default class Services { } } - public async sendPairingTx(spAddress: string): Promise { - const localAddress = this.sdkClient.get_address(); - const emptyTxid = '0'.repeat(64); - + public async createPairingProcess(pairWith: string[], relayAddress: string, feeRate: number): Promise { + const myAddress: string = this.sdkClient.get_address(); + pairWith.push(myAddress); + const newKey = this.sdkClient.get_new_keypair(); + const pairingTemplate = { + description: 'pairing', + roles: { + owner: { + members: [{ sp_addresses: pairWith }], + validation_rules: [ + { + quorum: 1.0, + fields: ['description', 'roles', 'session_privkey', 'session_pubkey', 'key_parity'], + min_sig_member: 1.0, + }, + ], + }, + }, + session_privkey: newKey['private_key'], + session_pubkey: newKey['x_only_public_key'], + key_parity: newKey['key_parity'], + }; try { - let commitmentOutpoint = `${emptyTxid}:${U32_MAX}`; - this.sdkClient.pair_device(commitmentOutpoint, [spAddress]); + const newProcessReturn = this.sdkClient.create_new_process(JSON.stringify(pairingTemplate), relayAddress, feeRate); + console.log('newProcessReturn:', newProcessReturn); + await this.handleApiReturn(newProcessReturn); } catch (e) { - console.error('Services ~ Error:', e); - return; + throw new Error(`Creating process failed:, ${e}`); } - - setTimeout(async () => { - const apiReturn = this.prepareProcessTx(localAddress, spAddress); - await this.handleApiReturn(apiReturn); - }, 1500); - - return; } async resetDevice() {