SuiPublicKeyAndWeight constructor
SuiPublicKeyAndWeight({
- required IPublicKey publicKey,
- required int weight,
Implementation
factory SuiPublicKeyAndWeight(
{required IPublicKey publicKey, required int weight}) {
if (weight < 1 || weight > mask8) {
throw AddressConverterException(
"Invalid signer wieght. weight must be between 1 and $mask8 .");
}
switch (publicKey.curve) {
case EllipticCurveTypes.ed25519:
case EllipticCurveTypes.secp256k1:
case EllipticCurveTypes.nist256p1:
case EllipticCurveTypes.nist256p1Hybrid:
break;
default:
throw AddressConverterException(
"Unsupported public key: sui Multikey address can only be generated from secp256k1, ed25519 or nist256p1 public keys.");
}
return SuiPublicKeyAndWeight._(publicKey: publicKey, weight: weight);
}