def insert_push_integer(self, i): """ :param i: :return: """ if i == 0: return self.insert1(VMOp.PUSH0) elif i == -1: return self.insert1(VMOp.PUSHM1) elif 0 < i <= 16: out = 0x50 + i return self.insert1(out) bigint = BigInteger(i) outdata = bigint.ToByteArray(signed=False) print("big int %s %s" % (bigint, outdata)) return self.insert_push_data(outdata)
def convert_push_integer(self, i, py_token=None): """ :param i: :param py_token: :return: """ if i == 0: return self.convert1(VMOp.PUSH0, py_token=py_token) elif i == -1: return self.convert1(VMOp.PUSHM1, py_token=py_token) elif 0 < i <= 16: out = 0x50 + i return self.convert1(out, py_token=py_token) bigint = BigInteger(i) outdata = bigint.ToByteArray() return self.convert_push_data(outdata, py_token=py_token)