dposlib.ark.crypto
getKeys
def getKeys(secret)
Generate keyring containing secp256k1 keys-pair and wallet import format (WIF).
Arguments:
secretstr, bytes or int - anything that could issue a private key on secp256k1 curve.
Returns:
dict- public, private and WIF keys.
getMultiSignaturePublicKey
def getMultiSignaturePublicKey(minimum, *publicKeys)
Compute ARK multi signature public key according to ARK AIP 18.
Arguments:
minimumint - minimum signature required.publicKeyslist of str - public key list.
Returns:
hex- the multisignature public key.
getAddressFromSecret
def getAddressFromSecret(secret, marker=None)
Compute ARK address from secret.
Arguments:
secretstr - secret string.markerint - network marker (optional).
Returns:
base58- the address.
getAddress
def getAddress(publicKey, marker=None)
Compute ARK address from publicKey.
Arguments:
publicKeystr - public key.markerint - network marker (optional).
Returns:
base58- the address.
getWIF
def getWIF(seed)
Compute WIF address from seed.
Arguments:
seedbytes - a sha256 sequence bytes.
Returns:
base58- the WIF address.
wifSignature
def wifSignature(tx, wif)
Generate transaction signature using private key.
Arguments:
txdict or Transaction - transaction description.wifstr - wif key.
Returns:
hex- signature.
wifSignatureFromBytes
def wifSignatureFromBytes(data, wif)
Generate signature from data using WIF key.
Arguments:
databytes - bytes sequence.wifstr - wif key.
Returns:
hex- signature.
getSignature
def getSignature(tx, privateKey, **options)
Generate transaction signature using private key.
Arguments:
txdict or Transaction - transaction description.privateKeystr - private key as hex string.
Options:
exclude_sigbool - exclude signature during tx serialization. Defalut to True.exclude_multi_sigbool - exclude signatures during tx serialization. Defalut to True.exclude_second_sigbool - exclude second signatures during tx serialization. Defalut to True.
Returns:
hex- signature.
getSignatureFromBytes
def getSignatureFromBytes(data, privateKey)
Generate signature from data using private key.
Arguments:
databytes - bytes sequence.privateKeystr - private key as hex string.
Returns:
hex- signature.
verifySignature
def verifySignature(value, publicKey, signature)
Verify signature.
Arguments:
valuestr - value as hex string.publicKeystr - public key as hex string.signaturestr - signature as hex string.
Returns:
bool- True if signature matches the public key.
verifySignatureFromBytes
def verifySignatureFromBytes(data, publicKey, signature)
Verify signature.
Arguments:
databytes - data.publicKeystr - public key as hex string.signaturestr - signature as hex string.
Returns:
bool- True if signature matches the public key.
getId
def getId(tx)
Generate transaction id.
Arguments:
txdict or Transaction - transaction object.
Returns:
hex- id.
getIdFromBytes
def getIdFromBytes(data)
Generate data id.
Arguments:
databytes - data as bytes sequence.
Returns:
hex- id.
getBytes
def getBytes(tx, **options)
Hash transaction.
Arguments:
txdict or Transaction - transaction object.
Options:
exclude_sigbool - exclude signature during tx serialization. Defalut to False.exclude_multi_sigbool - exclude signatures during tx serialization. Defalut to False.exclude_second_sigbool - exclude second signatures during tx serialization. Defalut to False.
Returns:
bytes- transaction serial.
checkTransaction
def checkTransaction(tx, secondPublicKey=None, multiPublicKeys=[])
Verify transaction validity.
Arguments:
txdict or Transaction - transaction object.secondPublicKeystr - second public key to use if needed.multiPublicKeyslist - owners public keys (sorted according to associated type-4-tx asset).
Returns:
bool- True if transaction is valid.