Ejemplo n.º 1
0
 def save(self, *args, **kwargs):
     if len(self.bytes_signature) == 0 or len(self.hex_signature) == 0:
         self.bytes_signature = event_signature_to_log_topic(
             self.text_signature)
         self.hex_signature = force_text(
             remove_0x_prefix(encode_hex(self.bytes_signature)))
     return super(EventSignature, self).save()
 def save(self, *args, **kwargs):
     if self.bytes_signature_id is None:
         bytes4_signature = make_4byte_signature(self.text_signature)
         hex_signature = force_text(remove_0x_prefix(encode_hex(bytes4_signature)))
         self.bytes_signature, _ = BytesSignature.objects.get_or_create(
             bytes4_signature=bytes4_signature,
             defaults={'hex_signature': hex_signature},
         )
     return super(Signature, self).save()
Ejemplo n.º 3
0
def test_serialization(factories):
    signature = factories.EventSignatureFactory()
    serializer = EventSignatureSerializer(signature)
    data = serializer.data

    assert data['id'] == signature.id
    assert data['text_signature'] == signature.text_signature
    assert data['bytes_signature'] == force_text(signature.bytes_signature)
    assert data['hex_signature'] == signature.get_hex_display()
 def save(self, *args, **kwargs):
     if self.bytes_signature_id is None:
         bytes4_signature = make_4byte_signature(self.text_signature)
         hex_signature = force_text(remove_0x_prefix(encode_hex(bytes4_signature)))
         self.bytes_signature, _ = BytesSignature.objects.get_or_create(
             bytes4_signature=bytes4_signature,
             defaults={'hex_signature': hex_signature},
         )
     return super(Signature, self).save()
Ejemplo n.º 5
0
def test_event_signature_api_create(api_client):
    response = api_client.post(EVENT_API_URL,
                               {'text_signature': 'account(address)'})
    assert response.status_code == status.HTTP_201_CREATED
    data = response.data
    assert data['text_signature'] == 'account(address)'
    assert data['bytes_signature'] == force_text(
        event_signature_to_log_topic(data['text_signature']))
    assert data[
        'hex_signature'] == '0x73b9aa91e3748e9df0e79073dca453a3ec1c019407cb9290c3173ad56df0f573'
Ejemplo n.º 6
0
def test_create_complex_signature(api_client):
    text_signature = 'getOrdersInfo((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[])'  # noqa: E501

    response = api_client.post(EVENT_API_URL,
                               {'text_signature': text_signature})
    assert response.status_code == status.HTTP_201_CREATED
    data = response.data
    assert data['text_signature'] == text_signature
    assert data['bytes_signature'] == force_text(
        event_signature_to_log_topic(
            normalize_event_signature(data['text_signature'])))
    assert data[
        'hex_signature'] == '0x7e9d74dc5e5d1a841950b2603b1fc48e0a1c1391bbb4ed24915c26cf1ff33ccb'
Ejemplo n.º 7
0
def test_retrieve_signature(api_client, factories):
    signature = factories.EventSignatureFactory()
    detail_url = EVENT_API_URL + str(signature.id) + '/'

    response = api_client.get(detail_url)
    assert response.status_code == status.HTTP_200_OK

    data = response.data

    assert data['id'] == signature.id
    assert data['text_signature'] == signature.text_signature
    assert data['bytes_signature'] == force_text(signature.bytes_signature)
    assert data['hex_signature'] == signature.get_hex_display()
Ejemplo n.º 8
0
def test_retrieve_signature(api_client, factories):
    signature = factories.SignatureFactory()
    detail_url = reverse('api:signature-detail', kwargs={'pk': signature.pk})

    response = api_client.get(detail_url)
    assert response.status_code == status.HTTP_200_OK

    data = response.data

    assert data['id'] == signature.id
    assert data['text_signature'] == signature.text_signature
    assert data['bytes_signature'] == force_text(signature.bytes_signature.bytes4_signature)
    assert data['hex_signature'] == signature.bytes_signature.get_hex_display()
 def import_from_solidity_file(cls, file_obj):
     code = force_text(file_obj.read())
     return cls.import_from_solidity_code(code)
 def get_bytes_display(self):
     return force_text(self.bytes4_signature)
 def get_hex_display(self):
     return force_text(add_0x_prefix(self.hex_signature))
 def save(self, *args, **kwargs):
     if not self.hex_signature:
         self.hex_signature = force_text(remove_0x_prefix(encode_hex(self.bytes4_signature)))
     super(BytesSignature, self).save(*args, **kwargs)
Ejemplo n.º 13
0
 def import_from_solidity_file(cls, file_obj):
     code = force_text(file_obj.read())
     return cls.import_from_solidity_code(code)
Ejemplo n.º 14
0
 def get_bytes_display(self):
     return force_text(self.bytes4_signature)
Ejemplo n.º 15
0
 def get_hex_display(self):
     return force_text(add_0x_prefix(self.hex_signature))
Ejemplo n.º 16
0
 def save(self, *args, **kwargs):
     if not self.hex_signature:
         self.hex_signature = force_text(
             remove_0x_prefix(encode_hex(self.bytes4_signature)))
     super(BytesSignature, self).save(*args, **kwargs)