toCborMap method
MapBuilder
toCborMap(
{ - bool forJson = false,
})
Implementation
MapBuilder toCborMap({bool forJson = false}) {
final mapBuilder = MapBuilder.builder();
//0:inputs
if (forJson) {
mapBuilder.writeString('inputs');
} else {
mapBuilder.writeInt(0);
}
final inListBuilder = ListBuilder.builder();
for (var input in inputs) {
inListBuilder
.addBuilderOutput(input.toCborList(forJson: forJson).getData());
}
mapBuilder.addBuilderOutput(inListBuilder.getData());
//1:outputs
if (forJson) {
mapBuilder.writeString('outputs');
} else {
mapBuilder.writeInt(1);
}
final outListBuilder = ListBuilder.builder();
for (var output in outputs) {
outListBuilder
.addBuilderOutput(output.toCborList(forJson: forJson).getData());
}
mapBuilder.addBuilderOutput(outListBuilder.getData());
//2:fee
if (forJson) {
mapBuilder.writeString('fee');
} else {
mapBuilder.writeInt(2);
}
mapBuilder.writeInt(fee);
//3:ttl (optional)
if (ttl != null) {
if (forJson) {
mapBuilder.writeString('ttl');
} else {
mapBuilder.writeInt(3);
}
mapBuilder.writeInt(ttl!);
}
//7:metadataHash (optional)
if (metadataHash != null && metadataHash!.isNotEmpty) {
if (forJson) {
mapBuilder.writeString('metadataHash');
mapBuilder.writeString(HEX.encode(metadataHash!));
} else {
mapBuilder.writeInt(7);
mapBuilder.writeBuff(unit8BufferFromBytes(metadataHash!));
}
}
//8:validityStartInterval (optional)
if (validityStartInterval != 0) {
if (forJson) {
mapBuilder.writeString('validityStartInterval');
} else {
mapBuilder.writeInt(8);
}
mapBuilder.writeInt(validityStartInterval);
}
//9:mint (optional)
if (mint.isNotEmpty) {
if (forJson) {
mapBuilder.writeString('mint');
} else {
mapBuilder.writeInt(9);
}
final mintMapBuilder = MapBuilder.builder();
for (var multiAsset in mint) {
if (forJson) {
mintMapBuilder.writeString(multiAsset.policyId);
} else {
mintMapBuilder.writeBuff(uint8BufferFromHex(multiAsset.policyId));
}
mintMapBuilder.addBuilderOutput(
multiAsset.assetsToCborMap(forJson: forJson).getData());
}
mapBuilder.addBuilderOutput(mintMapBuilder.getData());
}
return mapBuilder;
}