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's address and private key and all weighted multi-sig private keys
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 3 wallets with the weight multi-sig private keys and provider
Define a message to be signed and recovered
Sign the message with sender's wallet3
Recover the address from signed message using ethers.utils.verifyMessage
Recover the address from signed message using klay_recoverFromMessage