Exemplo n.º 1
0
 def mk_vote(validator_index, target_hash, target_epoch, source_epoch, privkey):
     sighash = utils.sha3(
         rlp.encode([validator_index, target_hash, target_epoch, source_epoch])
     )
     v, r, s = utils.ecdsa_raw_sign(sighash, privkey)
     sig = utils.encode_int32(v) + utils.encode_int32(r) + utils.encode_int32(s)
     return rlp.encode([validator_index, target_hash, target_epoch, source_epoch, sig])
Exemplo n.º 2
0
def mk_prepare(epoch, hash, ancestry_hash, source_epoch, source_ancestry_hash,
               key):
    sighash = utils.sha3(
        rlp.encode(
            [epoch, hash, ancestry_hash, source_epoch, source_ancestry_hash]))
    v, r, s = utils.ecdsa_raw_sign(sighash, key)
    sig = utils.encode_int32(v) + utils.encode_int32(r) + utils.encode_int32(s)
    return rlp.encode(
        [epoch, hash, ancestry_hash, source_epoch, source_ancestry_hash, sig])
Exemplo n.º 3
0
def generate_transaction_hash() -> str:
    (private_key, public_key, sender) = generate_eth_account()
    recipient = generate_eth_account(only_address=True)

    transaction = {
        'to': '0x%s' % recipient,
        'value': 0,
        'gas': 1000000,
        'gasPrice': 1000000000,
        'nonce': 0,
        'chainId': 1
    }

    signature = utils.ecdsa_raw_sign(utils.sha3(transaction), private_key)
    return utils.sha3rlp(signature).hex()
Exemplo n.º 4
0
 def mk_logout(validator_index, epoch, key):
     sighash = utils.sha3(rlp.encode([validator_index, epoch]))
     v, r, s = utils.ecdsa_raw_sign(sighash, key)
     sig = utils.encode_int32(v) + utils.encode_int32(r) + utils.encode_int32(s)
     return rlp.encode([validator_index, epoch, sig])
Exemplo n.º 5
0
def mk_status_flicker(validator_index, epoch, login, key):
    sighash = utils.sha3(rlp.encode([validator_index, epoch, login]))
    v, r, s = utils.ecdsa_raw_sign(sighash, key)
    sig = utils.encode_int32(v) + utils.encode_int32(r) + utils.encode_int32(s)
    return rlp.encode([validator_index, epoch, login, sig])
Exemplo n.º 6
0
def mk_commit(epoch, hash, key):
    sighash = utils.sha3(rlp.encode([epoch, hash]))
    v, r, s = utils.ecdsa_raw_sign(sighash, key)
    sig = utils.encode_int32(v) + utils.encode_int32(r) + utils.encode_int32(s)
    return rlp.encode([epoch, hash, sig])
Exemplo n.º 7
0
def mk_logout(validator_index, epoch, key):
    sighash = utils.sha3(rlp.encode([validator_index, epoch]))
    v, r, s = utils.ecdsa_raw_sign(sighash, key)
    sig = utils.encode_int32(v) + utils.encode_int32(r) + utils.encode_int32(s)
    return rlp.encode([validator_index, epoch, sig])
Exemplo n.º 8
0
def mk_prepare(validator_index, epoch, ancestry_hash, source_epoch, source_ancestry_hash, key):
    sighash = utils.sha3(rlp.encode([validator_index, epoch, ancestry_hash, source_epoch, source_ancestry_hash]))
    v, r, s = utils.ecdsa_raw_sign(sighash, key)
    sig = utils.encode_int32(v) + utils.encode_int32(r) + utils.encode_int32(s)
    return rlp.encode([validator_index, epoch, ancestry_hash, source_epoch, source_ancestry_hash, sig])