fromBytes static method
Implementation
static ProgramLayout fromBytes(List<int> data) {
try {
final decode =
ProgramLayout.decodeAndValidateStruct(layout: _layout, bytes: data);
final instruction =
StakeProgramInstruction.getInstruction(decode["instruction"]);
switch (instruction) {
case StakeProgramInstruction.authorizeWithSeed:
return StakeAuthorizeWithSeedLayout.fromBuffer(data);
case StakeProgramInstruction.authorize:
return StakeAuthorizeLayout.fromBuffer(data);
case StakeProgramInstruction.deactivate:
return StakeDeactivateLayout.fromBuffer(data);
case StakeProgramInstruction.delegate:
return StakeDelegateLayout.fromBuffer(data);
case StakeProgramInstruction.initialize:
return StakeInitializeLayout.fromBuffer(data);
case StakeProgramInstruction.merge:
return StakeMergeLayout.fromBuffer(data);
case StakeProgramInstruction.split:
return StakeSplitLayout.fromBuffer(data);
case StakeProgramInstruction.withdraw:
return StakeWithdrawLayout.fromBuffer(data);
default:
throw const MessageException("unknown program layout");
}
} catch (e) {
return UnknownProgramLayout(data);
}
}