Skip to content

Commit

Permalink
feat: handle nested native multisigs
Browse files Browse the repository at this point in the history
  • Loading branch information
javiersuweijie committed Mar 12, 2024
1 parent 8c23207 commit cd5bdfd
Showing 1 changed file with 18 additions and 14 deletions.
32 changes: 18 additions & 14 deletions x/smartaccount/ante/auth.go
Original file line number Diff line number Diff line change
Expand Up @@ -297,20 +297,6 @@ func GetSignBytesArr(pubKey cryptotypes.PubKey, signerData authsigning.SignerDat
}
}

func GetSignerAddrStrings(pubKey cryptotypes.PubKey) ([]string, error) {
switch pubKey := pubKey.(type) {
case multisig.PubKey:
pubKeys := pubKey.GetPubKeys()
addrStrings := make([]string, len(pubKeys))
for i, pk := range pubKeys {
addrStrings[i] = pk.Address().String()
}
return addrStrings, nil
default:
return []string{pubKey.Address().String()}, nil
}
}

func GetMultiSigSignBytes(multiPK multisig.PubKey, sig *signing.MultiSignatureData, signerData authsigning.SignerData, handler authsigning.SignModeHandler, tx sdk.Tx) (signersBytes [][]byte, err error) {
bitarray := sig.BitArray
sigs := sig.Signatures
Expand Down Expand Up @@ -358,3 +344,21 @@ func GetMultiSigSignBytes(multiPK multisig.PubKey, sig *signing.MultiSignatureDa
}
return signersBytes, nil
}

func GetSignerAddrStrings(pubKey cryptotypes.PubKey) ([]string, error) {
switch pubKey := pubKey.(type) {
case multisig.PubKey:
pubKeys := pubKey.GetPubKeys()
var addrStrings []string
for _, pk := range pubKeys {
as, err := GetSignerAddrStrings(pk)
if err != nil {
return nil, err
}
addrStrings = append(addrStrings, as...)
}
return addrStrings, nil
default:
return []string{pubKey.Address().String()}, nil
}
}

0 comments on commit cd5bdfd

Please sign in to comment.