ScriptOp.fromNumber constructor

ScriptOp.fromNumber(
  1. int n
)

Constructs an ScriptOp from a number, returning the smallest representation

Implementation

factory ScriptOp.fromNumber(int n) {

  if (n < -1 || n > 0xffffffff) {
    throw ArgumentError.value(n, "n", "out of range");
  }

  if (n == -1) return ScriptOpCode(op1Negate);
  if (n == 0) return ScriptOpCode(0);
  if (n >= 1 && n <= 16) return ScriptOpCode(n + op1 - 1);

  final bytes = [n];
  if (n > 0xff) bytes.add(n >> 8);
  if (n > 0xffff) bytes.add(n >> 16);
  if (n > 0xffffff) bytes.add(n >> 24);
  return ScriptPushData(Uint8List.fromList(bytes));

}