예제 #1
0
파일: state.py 프로젝트: AlphaX-IBS/raiden
    def __init__(
            self,
            amount: typing.TokenAmount,
            expiration: typing.BlockNumber,
            secrethash: typing.Keccak256):

        if not isinstance(amount, typing.T_TokenAmount):
            raise ValueError('amount must be a token_amount instance')

        if not isinstance(expiration, typing.T_BlockNumber):
            raise ValueError('expiration must be a block_number instance')

        if not isinstance(secrethash, typing.T_Keccak256):
            raise ValueError('secrethash must be a keccak256 instance')

        packed = messages.Lock(buffer_for(messages.Lock))
        packed.amount = amount
        packed.expiration = expiration
        packed.secrethash = secrethash
        encoded = bytes(packed.data)

        self.amount = amount
        self.expiration = expiration
        self.secrethash = secrethash
        self.encoded = encoded
        self.lockhash: typing.LockHash = typing.LockHash(sha3(encoded))
예제 #2
0
    def as_bytes(self):
        packed = messages.Lock(buffer_for(messages.Lock))
        packed.amount = self.amount
        packed.expiration = self.expiration
        packed.secrethash = self.secrethash

        # convert bytearray to bytes
        return bytes(packed.data)
예제 #3
0
    def packed(self):
        klass = messages.CMDID_MESSAGE[self.cmdid]
        data = buffer_for(klass)
        data[0] = self.cmdid
        packed = klass(data)
        self.pack(packed)

        return packed
예제 #4
0
def make_message(message, **attrs):
    klass = CMDID_MESSAGE[message]
    message = klass(buffer_for(klass))

    for name, value in attrs.items():
        setattr(message, name, value)

    return message
예제 #5
0
    def as_bytes(self):
        if self._asbytes is None:
            packed = messages.Lock(buffer_for(messages.Lock))
            packed.amount = self.amount
            packed.expiration = self.expiration
            packed.hashlock = self.hashlock

            self._asbytes = packed.data

        return self._asbytes
예제 #6
0
    def as_bytes(self):
        if self._asbytes is None:
            packed = messages.Lock(buffer_for(messages.Lock))
            packed.amount = self.amount
            packed.expiration = self.expiration
            packed.hashlock = self.hashlock

            self._asbytes = packed.data

        # convert bytearray to bytes
        return bytes(self._asbytes)
예제 #7
0
    def __init__(self, amount: typing.token_amount,
                 expiration: typing.block_number, hashlock: typing.keccak256):

        if not isinstance(amount, typing.token_amount):
            raise ValueError('amount must be a token_amount instance')

        if not isinstance(expiration, typing.block_number):
            raise ValueError('expiration must be a block_number instance')

        if not isinstance(hashlock, typing.keccak256):
            raise ValueError('hashlock must be a keccak256 instance')

        packed = messages.Lock(buffer_for(messages.Lock))
        packed.amount = amount
        packed.expiration = expiration
        packed.hashlock = hashlock
        encoded = bytes(packed.data)

        self.amount = amount
        self.expiration = expiration
        self.hashlock = hashlock
        self.encoded = encoded
        self.lockhash = sha3(encoded)
예제 #8
0
파일: state.py 프로젝트: vnblr/raiden
    def __init__(self, amount: typing.TokenAmount,
                 expiration: typing.BlockNumber, secrethash: typing.Keccak256):

        if not isinstance(amount, typing.T_TokenAmount):
            raise ValueError('amount must be a token_amount instance')

        if not isinstance(expiration, typing.T_BlockNumber):
            raise ValueError('expiration must be a block_number instance')

        if not isinstance(secrethash, typing.T_Keccak256):
            raise ValueError('secrethash must be a keccak256 instance')

        packed = messages.Lock(buffer_for(messages.Lock))
        packed.amount = amount
        packed.expiration = expiration
        packed.secrethash = secrethash
        encoded = bytes(packed.data)

        self.amount = amount
        self.expiration = expiration
        self.secrethash = secrethash
        self.encoded = encoded
        self.lockhash: typing.LockHash = typing.LockHash(sha3(encoded))