Utils¶
-
pyxdc.utils.
generate_passphrase
(length: int = 32) → str¶ Generate entropy hex string.
- Parameters
length (int) – Passphrase length, default to 32.
- Returns
str – Passphrase hex string.
>>> from pyxdc.utils import generate_passphrase >>> generate_passphrase(length=32) "N39rPfa3QvF2Tm2nPyoBpXNiBFXJywTz"
-
pyxdc.utils.
generate_entropy
(strength: int = 128) → str¶ Generate entropy hex string.
- Parameters
strength (int) – Entropy strength, default to 128.
- Returns
str – Entropy hex string.
>>> from pyxdc.utils import generate_entropy >>> generate_entropy(strength=128) "ee535b143b0d9d1f87546f9df0d06b1a"
-
pyxdc.utils.
generate_mnemonic
(language: str = 'english', strength: int = 128) → str¶ Generate mnemonic words.
- Parameters
language (str) – Mnemonic language, default to english.
strength (int) – Entropy strength, default to 128.
- Returns
str – Mnemonic words.
>>> from pyxdc.utils import generate_mnemonic >>> generate_mnemonic(language="french") "sceptre capter séquence girafe absolu relatif fleur zoologie muscle sirop saboter parure"
-
pyxdc.utils.
is_entropy
(entropy: str) → bool¶ Check entropy hex string.
- Parameters
entropy (str) – Mnemonic words.
- Returns
bool – Entropy valid/invalid.
>>> from pyxdc.utils import is_entropy >>> is_entropy(entropy="ee535b143b0d9d1f87546f9df0d06b1a") True
-
pyxdc.utils.
is_mnemonic
(mnemonic: str, language: Optional[str] = None) → bool¶ Check mnemonic words.
- Parameters
mnemonic (str) – Mnemonic words.
language (str) – Mnemonic language, default to None.
- Returns
bool – Mnemonic valid/invalid.
>>> from pyxdc.utils import is_mnemonic >>> is_mnemonic(mnemonic="sceptre capter séquence girafe absolu relatif fleur zoologie muscle sirop saboter parure") True
-
pyxdc.utils.
is_address
(address: str) → bool¶ Check XinFin address.
- Parameters
address (str) – XinFin address.
- Returns
bool – XinFin valid/invalid address.
>>> from pyxdc.utils import is_address >>> is_address(address="xdc1ee11011ae12103a488a82dc33e03f337bc93ba7") True
-
pyxdc.utils.
is_checksum_address
(address: str) → bool¶ Check XinFin checksum address.
- Parameters
address (str) – XinFin address.
- Returns
bool – XinFin valid/invalid checksum address.
>>> from pyxdc.utils import is_checksum_address >>> is_checksum_address(address="xdc1ee11011ae12103a488a82dc33e03f337bc93ba7") False >>> is_checksum_address(address="xdc1Ee11011ae12103a488A82DC33e03f337Bc93ba7") True
-
pyxdc.utils.
to_checksum_address
(address: str, prefix: str = 'xdc') → str¶ To XinFin checksum address.
- Parameters
address (str) – XinFin address.
prefix (str) – XinFin address prefix, default to xdc.
- Returns
str – XinFin checksum address.
>>> from pyxdc.utils import is_checksum_address >>> is_checksum_address(address="xdc1ee11011ae12103a488a82dc33e03f337bc93ba7") "xdc1Ee11011ae12103a488A82DC33e03f337Bc93ba7"
-
pyxdc.utils.
decode_transaction_raw
(transaction_raw: str) → dict¶ Decode XinFin transaction raw.
- Parameters
transaction_raw (str) – XinFin transaction raw.
- Returns
dict – XinFin decoded transaction.
>>> from pyxdc.utils import decode_transaction_raw >>> decode_transaction_raw(transaction_raw="0xf90703058504a817c800831e84808080b906b0608060405234801561001057600080fd5b506040518060400160405280600581526020017f48656c6c6f0000000000000000000000000000000000000000000000000000008152506000908051906020019061005c929190610062565b50610166565b82805461006e90610105565b90600052602060002090601f01602090048101928261009057600085556100d7565b82601f106100a957805160ff19168380011785556100d7565b828001600101855582156100d7579182015b828111156100d65782518255916020019190600101906100bb565b5b5090506100e491906100e8565b5090565b5b808211156101015760008160009055506001016100e9565b5090565b6000600282049050600182168061011d57607f821691505b6020821081141561013157610130610137565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b61053b806101756000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c8063a413686214610046578063cfae321714610062578063ef690cc014610080575b600080fd5b610060600480360381019061005b91906102e3565b61009e565b005b61006a6100b8565b604051610077919061035d565b60405180910390f35b61008861014a565b604051610095919061035d565b60405180910390f35b80600090805190602001906100b49291906101d8565b5050565b6060600080546100c790610433565b80601f01602080910402602001604051908101604052809291908181526020018280546100f390610433565b80156101405780601f1061011557610100808354040283529160200191610140565b820191906000526020600020905b81548152906001019060200180831161012357829003601f168201915b5050505050905090565b6000805461015790610433565b80601f016020809104026020016040519081016040528092919081815260200182805461018390610433565b80156101d05780601f106101a5576101008083540402835291602001916101d0565b820191906000526020600020905b8154815290600101906020018083116101b357829003601f168201915b505050505081565b8280546101e490610433565b90600052602060002090601f016020900481019282610206576000855561024d565b82601f1061021f57805160ff191683800117855561024d565b8280016001018555821561024d579182015b8281111561024c578251825591602001919060010190610231565b5b50905061025a919061025e565b5090565b5b8082111561027757600081600090555060010161025f565b5090565b600061028e610289846103a4565b61037f565b9050828152602081018484840111156102a657600080fd5b6102b18482856103f1565b509392505050565b600082601f8301126102ca57600080fd5b81356102da84826020860161027b565b91505092915050565b6000602082840312156102f557600080fd5b600082013567ffffffffffffffff81111561030f57600080fd5b61031b848285016102b9565b91505092915050565b600061032f826103d5565b61033981856103e0565b9350610349818560208601610400565b610352816104f4565b840191505092915050565b600060208201905081810360008301526103778184610324565b905092915050565b600061038961039a565b90506103958282610465565b919050565b6000604051905090565b600067ffffffffffffffff8211156103bf576103be6104c5565b5b6103c8826104f4565b9050602081019050919050565b600081519050919050565b600082825260208201905092915050565b82818337600083830152505050565b60005b8381101561041e578082015181840152602081019050610403565b8381111561042d576000848401525b50505050565b6000600282049050600182168061044b57607f821691505b6020821081141561045f5761045e610496565b5b50919050565b61046e826104f4565b810181811067ffffffffffffffff8211171561048d5761048c6104c5565b5b80604052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000601f19601f830116905091905056fea264697066735822122002786b5114bea14354170503b8bffe80a17bb5e4610cb41deca549935965f30864736f6c634300080300331ca0f2704e20656acf4b067c23ff6e7e2bf8e9b6f75383c408607fce7f90ef39aedba07612be142f5202b3970ee9b4c821bd95df4eb007735acc9c145b0d204d697f8c") {'hash': '0x57232e7e3f0e4f5f49cad5074bea10c98ee18efd4371e15c163560b8bc8ebb40', 'from': '0x68bF25F60508C2820d3D72E1806503F0955eFf94', 'to': None, 'nonce': 5, 'gas': 2000000, 'gas_price': 20000000000, 'value': 0, 'data': '0x608060405234801561001057600080fd5b506040518060400160405280600581526020017f48656c6c6f0000000000000000000000000000000000000000000000000000008152506000908051906020019061005c929190610062565b50610166565b82805461006e90610105565b90600052602060002090601f01602090048101928261009057600085556100d7565b82601f106100a957805160ff19168380011785556100d7565b828001600101855582156100d7579182015b828111156100d65782518255916020019190600101906100bb565b5b5090506100e491906100e8565b5090565b5b808211156101015760008160009055506001016100e9565b5090565b6000600282049050600182168061011d57607f821691505b6020821081141561013157610130610137565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b61053b806101756000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c8063a413686214610046578063cfae321714610062578063ef690cc014610080575b600080fd5b610060600480360381019061005b91906102e3565b61009e565b005b61006a6100b8565b604051610077919061035d565b60405180910390f35b61008861014a565b604051610095919061035d565b60405180910390f35b80600090805190602001906100b49291906101d8565b5050565b6060600080546100c790610433565b80601f01602080910402602001604051908101604052809291908181526020018280546100f390610433565b80156101405780601f1061011557610100808354040283529160200191610140565b820191906000526020600020905b81548152906001019060200180831161012357829003601f168201915b5050505050905090565b6000805461015790610433565b80601f016020809104026020016040519081016040528092919081815260200182805461018390610433565b80156101d05780601f106101a5576101008083540402835291602001916101d0565b820191906000526020600020905b8154815290600101906020018083116101b357829003601f168201915b505050505081565b8280546101e490610433565b90600052602060002090601f016020900481019282610206576000855561024d565b82601f1061021f57805160ff191683800117855561024d565b8280016001018555821561024d579182015b8281111561024c578251825591602001919060010190610231565b5b50905061025a919061025e565b5090565b5b8082111561027757600081600090555060010161025f565b5090565b600061028e610289846103a4565b61037f565b9050828152602081018484840111156102a657600080fd5b6102b18482856103f1565b509392505050565b600082601f8301126102ca57600080fd5b81356102da84826020860161027b565b91505092915050565b6000602082840312156102f557600080fd5b600082013567ffffffffffffffff81111561030f57600080fd5b61031b848285016102b9565b91505092915050565b600061032f826103d5565b61033981856103e0565b9350610349818560208601610400565b610352816104f4565b840191505092915050565b600060208201905081810360008301526103778184610324565b905092915050565b600061038961039a565b90506103958282610465565b919050565b6000604051905090565b600067ffffffffffffffff8211156103bf576103be6104c5565b5b6103c8826104f4565b9050602081019050919050565b600081519050919050565b600082825260208201905092915050565b82818337600083830152505050565b60005b8381101561041e578082015181840152602081019050610403565b8381111561042d576000848401525b50505050565b6000600282049050600182168061044b57607f821691505b6020821081141561045f5761045e610496565b5b50919050565b61046e826104f4565b810181811067ffffffffffffffff8211171561048d5761048c6104c5565b5b80604052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000601f19601f830116905091905056fea264697066735822122002786b5114bea14354170503b8bffe80a17bb5e4610cb41deca549935965f30864736f6c63430008030033', 'chain_id': -4, 'r': '0xf2704e20656acf4b067c23ff6e7e2bf8e9b6f75383c408607fce7f90ef39aedb', 's': '0x7612be142f5202b3970ee9b4c821bd95df4eb007735acc9c145b0d204d697f8c', 'v': 28}
-
pyxdc.utils.
get_entropy_strength
(entropy: str) → int¶ Get entropy strength.
- Parameters
entropy (str) – Entropy hex string.
- Returns
int – Entropy strength.
>>> from pyxdc.utils import get_entropy_strength >>> get_entropy_strength(entropy="ee535b143b0d9d1f87546f9df0d06b1a") 128
-
pyxdc.utils.
get_mnemonic_strength
(mnemonic: str, language: Optional[str] = None) → int¶ Get mnemonic strength.
- Parameters
mnemonic (str) – Mnemonic words.
language (str) – Mnemonic language, default to None.
- Returns
int – Mnemonic strength.
>>> from pyxdc.utils import get_mnemonic_strength >>> get_mnemonic_strength(mnemonic="sceptre capter séquence girafe absolu relatif fleur zoologie muscle sirop saboter parure") 128
-
pyxdc.utils.
get_mnemonic_language
(mnemonic: str) → str¶ Get mnemonic language.
- Parameters
mnemonic (str) – Mnemonic words.
- Returns
str – Mnemonic language.
>>> from pyxdc.utils import get_mnemonic_language >>> get_mnemonic_language(mnemonic="sceptre capter séquence girafe absolu relatif fleur zoologie muscle sirop saboter parure") "french"
-
pyxdc.utils.
entropy_to_mnemonic
(entropy: str, language: str = 'english') → str¶ Get mnemonic from entropy hex string.
- Parameters
entropy (str) – Entropy hex string.
language (str) – Mnemonic language, default to english.
- Returns
str – Mnemonic words.
>>> from pyxdc.utils import entropy_to_mnemonic >>> entropy_to_mnemonic(entropy="ee535b143b0d9d1f87546f9df0d06b1a", language="korean") "학력 외침 주민 스위치 출연 연습 근본 여전히 울음 액수 귀신 마누라"
-
pyxdc.utils.
mnemonic_to_entropy
(mnemonic: str, language: Optional[str] = None) → str¶ Get entropy from mnemonic words.
- Parameters
mnemonic (str) – Mnemonic words.
language (str) – Mnemonic language, default to english.
- Returns
str – Enropy hex string.
>>> from pyxdc.utils import mnemonic_to_entropy >>> mnemonic_to_entropy(mnemonic="학력 외침 주민 스위치 출연 연습 근본 여전히 울음 액수 귀신 마누라", language="korean") "ee535b143b0d9d1f87546f9df0d06b1a"
-
pyxdc.utils.
amount_unit_converter
(amount: Union[int, float], unit: str = 'Wei2XDC') → Union[int, float]¶ XinFin amount unit converter.
- Parameters
amount (int, float) – XinFIn amount.
unit (str) – XinFIn unit, default to Wei2XDC
- Returns
int, float – XinFin amount.
>>> from pyxdc.utils import amount_unit_converter >>> amount_unit_converter(amount=100_000_000, unit="Wei2XDC") 0.1