Open 15IITian opened 3 months ago
CoinSwap
wallet:This wallet has all the general-purpose features of regular wallets like BDK wallets, but it is also compatible with the CoinSwap
protocol.
Upon initializing the wallet, we can't judge if it will be used for CoinSwap ; it can also function as a regular wallet. However, the main objective of creating this wallet is to support CoinSwap
in addition to regular features.
For now, I haven't considered the idea of not using a descriptor for Coinswap, as discussed in the previous dev sync. I believe it needs more discussion.
Here is the approach for working on this project idea #122 ->
Task List:
[x] #157
[x] #156
bdk.rs
module containing all wallet module code for working onBDK project
.[x] #155
Fidelity
= 2 (FIDELITY_DERIVATION_PATH: &str = m/84'/0'/0'/2
)SwapCoin
= 3[x] #154
master_key
field from struct -> can raise security issueswallet_file_path
field here fromWallet
( as it is more related to backend portion)PersistentBackend
trait:[ ] Use the
KeyChainTxOutIndex
struct from BDK[x] #163
[ ] remove
rpc
&store
field[ ] move
wallet_file_path
field from this struct toWalletStore
( as it is more related to backend portion)[ ] Add all fields same as BDK wallet one with some tweaks:
Arc<SignersContainer>
to its correspondingKeychainKind
instead of having seperate field for each keychainkind as done in BDK wallet as (signers= HashMap<KeychainKind, Arc<SignersContainer>>
)[x] #179
internal
&external
discriptors[ ] #173
create_signers
fnadd_signers
which will add an external signer to a particular keychain[x] #180
[ ] modify
create_and_import_coinswap_address
api[ ] #201
Sync variant
command ofRpcCommands
enum inexample_bitcoind_rpc_polling
example given in BDK[x] #203