toBytes method
Implementation
@override
List<int> toBytes([EncodeType encodeType = EncodeType.comprossed]) {
List<int> encode() {
final xBytes = x.toBeBytes(length: BigintUtils.bitlengthInBytes(curve.p));
final yBytes = y.toBeBytes(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 = x.toBeBytes(
length: BigintUtils.bitlengthInBytes(curve.p),
);
int prefix = 0x02;
if (y.isOdd) {
prefix = 0x03;
}
return [prefix, ...xBytes];
}
}