Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
async def send_transaction(self, transaction):
chain_tag = int((await thor.get_block(0))["hash"][-2:], 16)
blk_ref = int(strip_0x((await thor.get_block("best"))["hash"])[:8], 16)
tx = ThorTransaction(chain_tag, blk_ref, transaction)
tx.sign(self.account_manager.get_priv_by_addr(transaction["from"]))
raw = "0x{}".format(encode_hex(rlp.encode(tx)))
return await self.send_raw_transaction(raw)
def _convert_hash(key): return "0x{}".format(encode_hex(sha3(to_bytes(hexstr=key))))
return {
def mk_pbkdf2_params():
params = PBKDF2_CONSTANTS.copy()
params['salt'] = encode_hex(os.urandom(16))
return params
def aes_mkparams():
return {"iv": encode_hex(os.urandom(16))}
derivedkey = kdfeval(pw, kdfparams)
assert len(derivedkey) >= 32, \
"Derived key must be at least 32 bytes long"
# print(b'derivedkey: ' + encode_hex(derivedkey))
enckey = derivedkey[:16]
# print(b'enckey: ' + encode_hex(enckey))
ctext = decode_hex(cryptdata["ciphertext"])
# Decrypt the ciphertext
o = decrypt(ctext, enckey, cipherparams)
# Compare the provided MAC with a locally computed MAC
# print(b'macdata: ' + encode_hex(derivedkey[16:32] + ctext))
mac1 = sha3(derivedkey[16:32] + ctext)
mac2 = decode_hex(cryptdata["mac"])
if mac1 != mac2:
raise ValueError("MAC mismatch. Passcode incorrect?")
return encode_hex(o)
def mk_scrypt_params():
params = SCRYPT_CONSTANTS.copy()
params['salt'] = encode_hex(os.urandom(16))
return params