SolanaMultiSigAccount.fromBuffer constructor
SolanaMultiSigAccount.fromBuffer({
- required List<
int> data, - required SolAddress address,
Implementation
factory SolanaMultiSigAccount.fromBuffer(
{required List<int> data, required SolAddress address}) {
if (data.length != SolanaMultiSigAccountUtils.multisigSize) {
throw MessageException("Account data length is insufficient.", details: {
"Expected": SolanaMultiSigAccountUtils.multisigSize,
"length": data.length
});
}
final decode = LayoutSerializable.decode(
bytes: data, layout: SolanaMultiSigAccountUtils.layout);
final n = decode["numberOfPossibleSigners"];
return SolanaMultiSigAccount(
address: address,
numberOfSigners: decode["numberOfSigners"],
numberOfPossibleSigners: n,
isInitialized: decode["isInitialized"],
signers: (decode["signers"] as List).cast<SolAddress>().sublist(0, n));
}