def create_intkey_transaction(verb, name, value, deps, signer): payload = IntKeyPayload(verb=verb, name=name, value=value) addr = make_intkey_address(name) header = transaction_pb2.TransactionHeader( signer_public_key=signer.get_public_key().as_hex(), family_name='intkey', family_version='1.0', inputs=[addr], outputs=[addr], dependencies=deps, payload_sha512=payload.sha512(), batcher_public_key=signer.get_public_key().as_hex(), nonce=hex(random.randint(0, 2**64))) header_bytes = header.SerializeToString() signature = signer.sign(header_bytes) transaction = transaction_pb2.Transaction(header=header_bytes, payload=payload.to_cbor(), header_signature=signature) return transaction
def create_intkey_transaction(verb, name, value, signer): payload = IntKeyPayload( verb=verb, name=name, value=value) # The prefix should eventually be looked up from the # validator's namespace registry. addr = make_intkey_address(name) header = transaction_pb2.TransactionHeader( signer_public_key=signer.get_public_key().as_hex(), family_name='intkey', family_version='1.0', inputs=[addr], outputs=[addr], dependencies=[], payload_sha512=payload.sha512(), batcher_public_key=signer.get_public_key().as_hex(), nonce=hex(random.randint(0, 2**64))) header_bytes = header.SerializeToString() signature = signer.sign(header_bytes) transaction = transaction_pb2.Transaction( header=header_bytes, payload=payload.to_cbor(), header_signature=signature) return transaction
def create_intkey_transaction(verb, name, value, private_key, public_key): payload = IntKeyPayload( verb=verb, name=name, value=value) # The prefix should eventually be looked up from the # validator's namespace registry. addr = make_intkey_address(name) header = transaction_pb2.TransactionHeader( signer_public_key=public_key, family_name='intkey', family_version='1.0', inputs=[addr], outputs=[addr], dependencies=[], payload_sha512=payload.sha512(), batcher_public_key=public_key, nonce=time.time().hex().encode()) header_bytes = header.SerializeToString() signature = signing.sign(header_bytes, private_key) transaction = transaction_pb2.Transaction( header=header_bytes, payload=payload.to_cbor(), header_signature=signature) return transaction
def create_intkey_transaction(verb, name, value, private_key, public_key): payload = IntKeyPayload( verb=verb, name=name, value=value) # The prefix should eventually be looked up from the # validator's namespace registry. addr = make_intkey_address(name) header = transaction_pb2.TransactionHeader( signer_pubkey=public_key, family_name='intkey', family_version='1.0', inputs=[addr], outputs=[addr], dependencies=[], payload_encoding="application/cbor", payload_sha512=payload.sha512(), batcher_pubkey=public_key, nonce=time.time().hex().encode()) header_bytes = header.SerializeToString() signature = signing.sign(header_bytes, private_key) transaction = transaction_pb2.Transaction( header=header_bytes, payload=payload.to_cbor(), header_signature=signature) return transaction
def create_set_request(self, name, value): address = make_intkey_address(name) if value is not None: data = self._dumps({name: value}) else: data = None return self._factory.create_set_request({address: data})
def test_receipt_stored(self): """Tests that receipts are stored successfully when a block is committed.""" self._subscribe() n = self.batch_submitter.submit_next_batch() response = self._get_receipt(n) receipts = self.assert_receipt_get_response(response) state_change = receipts[0].state_changes[0] self.assertEqual(state_change.type, state_delta_pb2.StateChange.SET) self.assertEqual(state_change.value, cbor.dumps({str(n): 0})) self.assertEqual(state_change.address, make_intkey_address(str(n))) self._unsubscribe()
def create_intkey_transaction(verb, name, value, deps, private_key, public_key): """Creates a signed intkey transaction. Args: verb (str): the action the transaction takes, either 'set', 'inc', or 'dec' name (str): the variable name which is altered by verb and value value (int): the amount to set, increment, or decrement deps ([str]): a list of transaction header_signatures which are required dependencies which must be processed prior to processing this transaction private_key (str): the private key used to sign the transaction public_key (str): the public key associated with the private key - the public key is included in the transaction as signer_pubkey Returns: transaction (transaction_pb2.Transaction): the signed intkey transaction """ payload = IntKeyPayload( verb=verb, name=name, value=value) # The prefix should eventually be looked up from the # validator's namespace registry. addr = make_intkey_address(name) header = transaction_pb2.TransactionHeader( signer_pubkey=public_key, family_name='intkey', family_version='1.0', inputs=[addr], outputs=[addr], dependencies=deps, payload_encoding="application/cbor", payload_sha512=payload.sha512(), batcher_pubkey=public_key, nonce=time.time().hex().encode()) header_bytes = header.SerializeToString() signature = signing.sign(header_bytes, private_key) transaction = transaction_pb2.Transaction( header=header_bytes, payload=payload.to_cbor(), header_signature=signature) return transaction
def create_intkey_transaction(verb, name, value, deps, private_key, public_key): """Creates a signed intkey transaction. Args: verb (str): the action the transaction takes, either 'set', 'inc', or 'dec' name (str): the variable name which is altered by verb and value value (int): the amount to set, increment, or decrement deps ([str]): a list of transaction header_signatures which are required dependencies which must be processed prior to processing this transaction private_key (str): the private key used to sign the transaction public_key (str): the public key associated with the private key - the public key is included in the transaction as signer_public_key Returns: transaction (transaction_pb2.Transaction): the signed intkey transaction """ payload = IntKeyPayload( verb=verb, name=name, value=value) # The prefix should eventually be looked up from the # validator's namespace registry. addr = make_intkey_address(name) header = transaction_pb2.TransactionHeader( signer_public_key=public_key, family_name='intkey', family_version='1.0', inputs=[addr], outputs=[addr], dependencies=deps, payload_sha512=payload.sha512(), batcher_public_key=public_key, nonce=time.time().hex().encode()) header_bytes = header.SerializeToString() signature = signing.sign(header_bytes, private_key) transaction = transaction_pb2.Transaction( header=header_bytes, payload=payload.to_cbor(), header_signature=signature) return transaction
def create_intkey_transaction(verb, name, value, deps, signer): """Creates a signed intkey transaction. Args: verb (str): the action the transaction takes, either 'set', 'inc', or 'dec' name (str): the variable name which is altered by verb and value value (int): the amount to set, increment, or decrement deps ([str]): a list of transaction header_signatures which are required dependencies which must be processed prior to processing this transaction signer (:obj:`Signer`): the cryptographic signer for signing the transaction Returns: transaction (transaction_pb2.Transaction): the signed intkey transaction """ payload = IntKeyPayload( verb=verb, name=name, value=value) # The prefix should eventually be looked up from the # validator's namespace registry. addr = make_intkey_address(name) header = transaction_pb2.TransactionHeader( signer_public_key=signer.get_public_key().as_hex(), family_name='intkey', family_version='1.0', inputs=[addr], outputs=[addr], dependencies=deps, payload_sha512=payload.sha512(), batcher_public_key=signer.get_public_key().as_hex(), nonce=hex(random.randint(0, 2**64))) header_bytes = header.SerializeToString() signature = signer.sign(header_bytes) transaction = transaction_pb2.Transaction( header=header_bytes, payload=payload.to_cbor(), header_signature=signature) return transaction
def create_intkey_transaction(verb, name, value, value1, value2, value3, value4, deps, signer): """Creates a signed intkey transaction. Args: verb (str): the action the transaction takes, either 'set', 'inc', or 'dec' name (str): the variable name which is altered by verb and value value (int): the amount to set, increment, or decrement deps ([str]): a list of transaction header_signatures which are required dependencies which must be processed prior to processing this transaction signer (:obj:`Signer`): the cryptographic signer for signing the transaction Returns: transaction (transaction_pb2.Transaction): the signed intkey transaction """ payload = IntKeyPayload( verb=verb, name=name, value=value, value1=value1, value2=value2, value3=value3, value4=value4) # The prefix should eventually be looked up from the # validator's namespace registry. addr = make_intkey_address(name) header = transaction_pb2.TransactionHeader( signer_public_key=signer.get_public_key().as_hex(), family_name='intkey', family_version='1.0', inputs=[addr], outputs=[addr], dependencies=deps, payload_sha512=payload.sha512(), batcher_public_key=signer.get_public_key().as_hex(), nonce=hex(random.randint(0, 2**64))) header_bytes = header.SerializeToString() signature = signer.sign(header_bytes) transaction = transaction_pb2.Transaction( header=header_bytes, payload=payload.to_cbor(), header_signature=signature) return transaction
def test_receipt_stored(self): """Tests that receipts are stored successfully when a block is committed.""" self._subscribe() n = self.batch_submitter.submit_next_batch() response = self._get_receipt(n) receipts = self.assert_receipt_get_response(response) state_change = receipts[0].state_changes[0] self.assertEqual( state_change.type, transaction_receipt_pb2.StateChange.SET) self.assertEqual( state_change.value, cbor.dumps({str(n): 0})) self.assertEqual( state_change.address, make_intkey_address(str(n))) self._unsubscribe()
def _create_txn(self, txn_function, verb, name, value): payload = self._dumps({'Verb': verb, 'Name': name, 'Value': value}) addresses = [make_intkey_address(name)] return txn_function(payload, addresses, addresses, [])
def create_get_request(self, name): addresses = [make_intkey_address(name)] return self._factory.create_get_request(addresses)
def create_set_response(self, name): addresses = [make_intkey_address(name)] return self._factory.create_set_response(addresses)