Multisig Account Key
AccountKeyWeightedMultiSig is an account key type containing a threshold and WeightedPublicKeys which contains a list consisting of a public key and its weight.
In order for a transaction to be valid for an account associated with AccountKeyWeightedMultiSig, the following conditions should be satisfied: _ The weighted sum of the signed public keys should be larger than the threshold. _ The invalid signature should not be included in the transaction. * The number of signed public keys should be less than the number of weightedPublicKeys.
Import the ethers and @kaiachain/ethers-ext packages to add kaia features on ethers.js
Define sender address, sender private key and new muti-sig private keys to be changed
Set up the provider with the specified kairos testnet URL. A provider in ethers is a read-only abstraction to access the blockchain data.
Also, you can change the provider URL from kairos to quicknode
Create three sender's wallets with the private keys and provider
Compute the public keys from the new private keys
Declare a transaction which has the keys field with the computed public keys and theirs weight, specify the type as WeightedMultiSig
Sign the transaction with the first wallet
Sign the transaction with the second wallet
Sign the transaction with the third wallet and send it to kaia network
The wait function returns the tx receipt if it is completed in the blockchain.