toBytes method
Implementation
@override
List<int> toBytes([EncodeType encodeType = EncodeType.comprossed]) {
List<int> encode() {
final xBytes = BigintUtils.toBytes(
x,
length: BigintUtils.bitlengthInBytes(curve.p),
);
final yBytes = BigintUtils.toBytes(
y,
length: BigintUtils.bitlengthInBytes(curve.p),
);
return [...xBytes, ...yBytes];
}
switch (encodeType) {
case EncodeType.raw:
return encode();
case EncodeType.uncompressed:
return [0x04, ...encode()];
case EncodeType.hybrid:
final raw = encode();
int prefix = 0x06;
if (y.isOdd) {
prefix = 0x07;
}
return [prefix, ...raw];
default:
final List<int> xBytes = BigintUtils.toBytes(
x,
length: BigintUtils.bitlengthInBytes(curve.p),
);
int prefix = 0x02;
if (y.isOdd) {
prefix = 0x03;
}
return [prefix, ...xBytes];
}
}