fromBytes static method
Implementation
static Uint256 fromBytes(
List<int> bytes, {
Endian endian = Endian.big,
int offset = 0,
}) {
if (offset < 0 || bytes.length - offset < 32) {
throw ArgumentException.invalidOperationArguments(
"Uint256.fromBytes",
reason: 'Need at least 32 bytes from offset.',
details: {
"offset": offset.toString(),
"length": bytes.length.toString(),
},
);
}
if (endian == Endian.big) {
final d3 = Uint64.fromBytes(bytes, endian: Endian.big, offset: offset);
final d2 = Uint64.fromBytes(
bytes,
endian: Endian.big,
offset: offset + 8,
);
final d1 = Uint64.fromBytes(
bytes,
endian: Endian.big,
offset: offset + 16,
);
final d0 = Uint64.fromBytes(
bytes,
endian: Endian.big,
offset: offset + 24,
);
return Uint256._(d3, d2, d1, d0);
} else {
final d0 = Uint64.fromBytes(bytes, endian: Endian.little, offset: offset);
final d1 = Uint64.fromBytes(
bytes,
endian: Endian.little,
offset: offset + 8,
);
final d2 = Uint64.fromBytes(
bytes,
endian: Endian.little,
offset: offset + 16,
);
final d3 = Uint64.fromBytes(
bytes,
endian: Endian.little,
offset: offset + 24,
);
return Uint256._(d3, d2, d1, d0);
}
}