SuiAccountPublicKey.fromStruct constructor
SuiAccountPublicKey.fromStruct(
- Map<String, dynamic> json
)
Implementation
factory SuiAccountPublicKey.fromStruct(Map<String, dynamic> json) {
final decode = BcsVariantSerialization.toVariantDecodeResult(json);
final algorithm = SuiSigningScheme.fromName(decode.variantName);
return switch (algorithm) {
SuiSigningScheme.ed25519 =>
SuiEd25519AccountPublicKey.fromStruct(decode.value),
SuiSigningScheme.secp256k1 =>
SuiSecp256k1AccountPublicKey.fromStruct(decode.value),
SuiSigningScheme.secp256r1 =>
SuiSecp256r1AccountPublicKey.fromStruct(decode.value),
SuiSigningScheme.multisig =>
SuiMultisigAccountPublicKey.fromStruct(decode.value),
_ => throw DartSuiPluginException("Unsupported account type.",
details: {"account": algorithm.name})
};
}