coinex-api 0.0.89__py3-none-any.whl → 0.0.110__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of coinex-api might be problematic. Click here for more details.

Files changed (197) hide show
  1. coinex/ccxt/__init__.py +1 -1
  2. coinex/ccxt/async_support/__init__.py +1 -1
  3. coinex/ccxt/async_support/base/exchange.py +139 -10
  4. coinex/ccxt/async_support/base/throttler.py +1 -1
  5. coinex/ccxt/async_support/base/ws/cache.py +1 -0
  6. coinex/ccxt/async_support/base/ws/client.py +26 -4
  7. coinex/ccxt/async_support/coinex.py +2 -2
  8. coinex/ccxt/base/exchange.py +587 -91
  9. coinex/ccxt/base/types.py +11 -2
  10. coinex/ccxt/coinex.py +2 -2
  11. coinex/ccxt/pro/__init__.py +1 -1
  12. coinex/ccxt/pro/coinex.py +10 -7
  13. coinex/ccxt/static_dependencies/bip/__init__.py +6 -0
  14. coinex/ccxt/static_dependencies/bip/addr/P2PKH_addr.py +205 -0
  15. coinex/ccxt/static_dependencies/bip/addr/__init__.py +5 -0
  16. coinex/ccxt/static_dependencies/bip/addr/addr_dec_utils.py +125 -0
  17. coinex/ccxt/static_dependencies/bip/addr/addr_key_validator.py +162 -0
  18. coinex/ccxt/static_dependencies/bip/addr/iaddr_decoder.py +48 -0
  19. coinex/ccxt/static_dependencies/bip/addr/iaddr_encoder.py +50 -0
  20. coinex/ccxt/static_dependencies/bip/base58/__init__.py +3 -0
  21. coinex/ccxt/static_dependencies/bip/base58/base58.py +207 -0
  22. coinex/ccxt/static_dependencies/bip/base58/base58_ex.py +25 -0
  23. coinex/ccxt/static_dependencies/bip/base58/base58_xmr.py +155 -0
  24. coinex/ccxt/static_dependencies/bip/bech32/__init__.py +4 -0
  25. coinex/ccxt/static_dependencies/bip/bech32/bch_bech32.py +220 -0
  26. coinex/ccxt/static_dependencies/bip/bech32/bech32.py +235 -0
  27. coinex/ccxt/static_dependencies/bip/bech32/bech32_base.py +246 -0
  28. coinex/ccxt/static_dependencies/bip/bech32/bech32_ex.py +25 -0
  29. coinex/ccxt/static_dependencies/bip/bech32/segwit_bech32.py +173 -0
  30. coinex/ccxt/static_dependencies/bip/bip32/__init__.py +14 -0
  31. coinex/ccxt/static_dependencies/bip/bip32/base/__init__.py +3 -0
  32. coinex/ccxt/static_dependencies/bip/bip32/base/bip32_base.py +581 -0
  33. coinex/ccxt/static_dependencies/bip/bip32/base/ibip32_key_derivator.py +83 -0
  34. coinex/ccxt/static_dependencies/bip/bip32/base/ibip32_mst_key_generator.py +47 -0
  35. coinex/ccxt/static_dependencies/bip/bip32/bip32_const.py +35 -0
  36. coinex/ccxt/static_dependencies/bip/bip32/bip32_ex.py +29 -0
  37. coinex/ccxt/static_dependencies/bip/bip32/bip32_key_data.py +500 -0
  38. coinex/ccxt/static_dependencies/bip/bip32/bip32_key_net_ver.py +83 -0
  39. coinex/ccxt/static_dependencies/bip/bip32/bip32_key_ser.py +294 -0
  40. coinex/ccxt/static_dependencies/bip/bip32/bip32_keys.py +457 -0
  41. coinex/ccxt/static_dependencies/bip/bip32/bip32_path.py +247 -0
  42. coinex/ccxt/static_dependencies/bip/bip32/bip32_utils.py +72 -0
  43. coinex/ccxt/static_dependencies/bip/bip32/kholaw/__init__.py +4 -0
  44. coinex/ccxt/static_dependencies/bip/bip32/kholaw/bip32_kholaw_ed25519.py +82 -0
  45. coinex/ccxt/static_dependencies/bip/bip32/kholaw/bip32_kholaw_ed25519_key_derivator.py +118 -0
  46. coinex/ccxt/static_dependencies/bip/bip32/kholaw/bip32_kholaw_key_derivator_base.py +204 -0
  47. coinex/ccxt/static_dependencies/bip/bip32/kholaw/bip32_kholaw_mst_key_generator.py +119 -0
  48. coinex/ccxt/static_dependencies/bip/bip32/slip10/__init__.py +1 -0
  49. coinex/ccxt/static_dependencies/bip/bip32/slip10/bip32_slip10_key_derivator.py +200 -0
  50. coinex/ccxt/static_dependencies/bip/bip32/slip10/bip32_slip10_mst_key_generator.py +168 -0
  51. coinex/ccxt/static_dependencies/bip/bip32/slip10/bip32_slip10_secp256k1.py +82 -0
  52. coinex/ccxt/static_dependencies/bip/bip44/__init__.py +1 -0
  53. coinex/ccxt/static_dependencies/bip/bip44/bip44.py +265 -0
  54. coinex/ccxt/static_dependencies/bip/bip44_base/__init__.py +3 -0
  55. coinex/ccxt/static_dependencies/bip/bip44_base/bip44_base.py +624 -0
  56. coinex/ccxt/static_dependencies/bip/bip44_base/bip44_base_ex.py +25 -0
  57. coinex/ccxt/static_dependencies/bip/bip44_base/bip44_keys.py +225 -0
  58. coinex/ccxt/static_dependencies/bip/coin_conf/__init__.py +2 -0
  59. coinex/ccxt/static_dependencies/bip/coin_conf/coin_conf.py +68 -0
  60. coinex/ccxt/static_dependencies/bip/coin_conf/coins_conf.py +890 -0
  61. coinex/ccxt/static_dependencies/bip/conf/__init__.py +0 -0
  62. coinex/ccxt/static_dependencies/bip/conf/bip44/__init__.py +3 -0
  63. coinex/ccxt/static_dependencies/bip/conf/bip44/bip44_coins.py +126 -0
  64. coinex/ccxt/static_dependencies/bip/conf/bip44/bip44_conf.py +1360 -0
  65. coinex/ccxt/static_dependencies/bip/conf/bip44/bip44_conf_getter.py +153 -0
  66. coinex/ccxt/static_dependencies/bip/conf/bip49/__init__.py +3 -0
  67. coinex/ccxt/static_dependencies/bip/conf/bip49/bip49_coins.py +53 -0
  68. coinex/ccxt/static_dependencies/bip/conf/bip49/bip49_conf.py +366 -0
  69. coinex/ccxt/static_dependencies/bip/conf/bip49/bip49_conf_getter.py +80 -0
  70. coinex/ccxt/static_dependencies/bip/conf/bip84/__init__.py +3 -0
  71. coinex/ccxt/static_dependencies/bip/conf/bip84/bip84_coins.py +39 -0
  72. coinex/ccxt/static_dependencies/bip/conf/bip84/bip84_conf.py +113 -0
  73. coinex/ccxt/static_dependencies/bip/conf/bip84/bip84_conf_getter.py +66 -0
  74. coinex/ccxt/static_dependencies/bip/conf/bip86/__init__.py +3 -0
  75. coinex/ccxt/static_dependencies/bip/conf/bip86/bip86_coins.py +37 -0
  76. coinex/ccxt/static_dependencies/bip/conf/bip86/bip86_conf.py +83 -0
  77. coinex/ccxt/static_dependencies/bip/conf/bip86/bip86_conf_getter.py +64 -0
  78. coinex/ccxt/static_dependencies/bip/conf/common/__init__.py +8 -0
  79. coinex/ccxt/static_dependencies/bip/conf/common/atom_addr.py +104 -0
  80. coinex/ccxt/static_dependencies/bip/conf/common/bip_bitcoin_cash_conf.py +106 -0
  81. coinex/ccxt/static_dependencies/bip/conf/common/bip_coin_conf.py +217 -0
  82. coinex/ccxt/static_dependencies/bip/conf/common/bip_coins.py +28 -0
  83. coinex/ccxt/static_dependencies/bip/conf/common/bip_conf_const.py +30 -0
  84. coinex/ccxt/static_dependencies/bip/conf/common/bip_litecoin_conf.py +121 -0
  85. coinex/ccxt/static_dependencies/bip/ecc/__init__.py +42 -0
  86. coinex/ccxt/static_dependencies/bip/ecc/common/__init__.py +0 -0
  87. coinex/ccxt/static_dependencies/bip/ecc/common/dummy_point.py +219 -0
  88. coinex/ccxt/static_dependencies/bip/ecc/common/ikeys.py +263 -0
  89. coinex/ccxt/static_dependencies/bip/ecc/common/ipoint.py +190 -0
  90. coinex/ccxt/static_dependencies/bip/ecc/conf.py +28 -0
  91. coinex/ccxt/static_dependencies/bip/ecc/curve/__init__.py +0 -0
  92. coinex/ccxt/static_dependencies/bip/ecc/curve/elliptic_curve.py +121 -0
  93. coinex/ccxt/static_dependencies/bip/ecc/curve/elliptic_curve_getter.py +74 -0
  94. coinex/ccxt/static_dependencies/bip/ecc/curve/elliptic_curve_types.py +37 -0
  95. coinex/ccxt/static_dependencies/bip/ecc/ecdsa/__init__.py +0 -0
  96. coinex/ccxt/static_dependencies/bip/ecc/ecdsa/ecdsa_keys.py +36 -0
  97. coinex/ccxt/static_dependencies/bip/ecc/secp256k1/__init__.py +0 -0
  98. coinex/ccxt/static_dependencies/bip/ecc/secp256k1/secp256k1.py +36 -0
  99. coinex/ccxt/static_dependencies/bip/ecc/secp256k1/secp256k1_const.py +59 -0
  100. coinex/ccxt/static_dependencies/bip/ecc/secp256k1/secp256k1_keys_ecdsa.py +248 -0
  101. coinex/ccxt/static_dependencies/bip/ecc/secp256k1/secp256k1_point_ecdsa.py +234 -0
  102. coinex/ccxt/static_dependencies/bip/slip/__init__.py +0 -0
  103. coinex/ccxt/static_dependencies/bip/slip/slip173/__init__.py +1 -0
  104. coinex/ccxt/static_dependencies/bip/slip/slip173/slip173.py +60 -0
  105. coinex/ccxt/static_dependencies/bip/slip/slip32/__init__.py +4 -0
  106. coinex/ccxt/static_dependencies/bip/slip/slip32/slip32.py +322 -0
  107. coinex/ccxt/static_dependencies/bip/slip/slip32/slip32_key_net_ver.py +62 -0
  108. coinex/ccxt/static_dependencies/bip/slip/slip44/__init__.py +1 -0
  109. coinex/ccxt/static_dependencies/bip/slip/slip44/slip44.py +81 -0
  110. coinex/ccxt/static_dependencies/bip/utils/__init__.py +0 -0
  111. coinex/ccxt/static_dependencies/bip/utils/conf/__init__.py +1 -0
  112. coinex/ccxt/static_dependencies/bip/utils/conf/coin_names.py +59 -0
  113. coinex/ccxt/static_dependencies/bip/utils/crypto/__init__.py +10 -0
  114. coinex/ccxt/static_dependencies/bip/utils/crypto/aes_ecb.py +152 -0
  115. coinex/ccxt/static_dependencies/bip/utils/crypto/blake2.py +191 -0
  116. coinex/ccxt/static_dependencies/bip/utils/crypto/chacha20_poly1305.py +101 -0
  117. coinex/ccxt/static_dependencies/bip/utils/crypto/hash160.py +57 -0
  118. coinex/ccxt/static_dependencies/bip/utils/crypto/hmac.py +118 -0
  119. coinex/ccxt/static_dependencies/bip/utils/crypto/pbkdf2.py +66 -0
  120. coinex/ccxt/static_dependencies/bip/utils/crypto/ripemd.py +58 -0
  121. coinex/ccxt/static_dependencies/bip/utils/crypto/scrypt.py +66 -0
  122. coinex/ccxt/static_dependencies/bip/utils/crypto/sha2.py +182 -0
  123. coinex/ccxt/static_dependencies/bip/utils/crypto/sha3.py +99 -0
  124. coinex/ccxt/static_dependencies/bip/utils/misc/__init__.py +7 -0
  125. coinex/ccxt/static_dependencies/bip/utils/misc/algo.py +108 -0
  126. coinex/ccxt/static_dependencies/bip/utils/misc/base32.py +151 -0
  127. coinex/ccxt/static_dependencies/bip/utils/misc/bit.py +115 -0
  128. coinex/ccxt/static_dependencies/bip/utils/misc/bytes.py +200 -0
  129. coinex/ccxt/static_dependencies/bip/utils/misc/data_bytes.py +181 -0
  130. coinex/ccxt/static_dependencies/bip/utils/misc/integer.py +97 -0
  131. coinex/ccxt/static_dependencies/bip/utils/misc/string.py +54 -0
  132. coinex/ccxt/static_dependencies/bip/utils/typing/__init__.py +1 -0
  133. coinex/ccxt/static_dependencies/bip/utils/typing/literal.py +27 -0
  134. coinex/ccxt/static_dependencies/bip/wif/__init__.py +1 -0
  135. coinex/ccxt/static_dependencies/bip/wif/wif.py +144 -0
  136. coinex/ccxt/static_dependencies/dydx_v4_client/amino/amino_pb2.py +31 -0
  137. coinex/ccxt/static_dependencies/dydx_v4_client/cosmos/base/v1beta1/coin_pb2.py +47 -0
  138. coinex/ccxt/static_dependencies/dydx_v4_client/cosmos/crypto/multisig/keys_pb2.py +33 -0
  139. coinex/ccxt/static_dependencies/dydx_v4_client/cosmos/crypto/multisig/v1beta1/multisig_pb2.py +33 -0
  140. coinex/ccxt/static_dependencies/dydx_v4_client/cosmos/crypto/secp256k1/keys_pb2.py +34 -0
  141. coinex/ccxt/static_dependencies/dydx_v4_client/cosmos/msg/v1/msg_pb2.py +27 -0
  142. coinex/ccxt/static_dependencies/dydx_v4_client/cosmos/tx/signing/v1beta1/signing_pb2.py +38 -0
  143. coinex/ccxt/static_dependencies/dydx_v4_client/cosmos/tx/v1beta1/tx_pb2.py +75 -0
  144. coinex/ccxt/static_dependencies/dydx_v4_client/cosmos_proto/cosmos_pb2.py +36 -0
  145. coinex/ccxt/static_dependencies/dydx_v4_client/dydxprotocol/accountplus/accountplus_pb2.py +31 -0
  146. coinex/ccxt/static_dependencies/dydx_v4_client/dydxprotocol/accountplus/genesis_pb2.py +40 -0
  147. coinex/ccxt/static_dependencies/dydx_v4_client/dydxprotocol/accountplus/models_pb2.py +26 -0
  148. coinex/ccxt/static_dependencies/dydx_v4_client/dydxprotocol/accountplus/params_pb2.py +29 -0
  149. coinex/ccxt/static_dependencies/dydx_v4_client/dydxprotocol/accountplus/query_pb2.py +57 -0
  150. coinex/ccxt/static_dependencies/dydx_v4_client/dydxprotocol/accountplus/tx_pb2.py +51 -0
  151. coinex/ccxt/static_dependencies/dydx_v4_client/dydxprotocol/clob/block_rate_limit_config_pb2.py +37 -0
  152. coinex/ccxt/static_dependencies/dydx_v4_client/dydxprotocol/clob/clob_pair_pb2.py +41 -0
  153. coinex/ccxt/static_dependencies/dydx_v4_client/dydxprotocol/clob/equity_tier_limit_config_pb2.py +35 -0
  154. coinex/ccxt/static_dependencies/dydx_v4_client/dydxprotocol/clob/finalize_block_pb2.py +27 -0
  155. coinex/ccxt/static_dependencies/dydx_v4_client/dydxprotocol/clob/liquidations_config_pb2.py +39 -0
  156. coinex/ccxt/static_dependencies/dydx_v4_client/dydxprotocol/clob/liquidations_pb2.py +38 -0
  157. coinex/ccxt/static_dependencies/dydx_v4_client/dydxprotocol/clob/matches_pb2.py +55 -0
  158. coinex/ccxt/static_dependencies/dydx_v4_client/dydxprotocol/clob/mev_pb2.py +49 -0
  159. coinex/ccxt/static_dependencies/dydx_v4_client/dydxprotocol/clob/operation_pb2.py +32 -0
  160. coinex/ccxt/static_dependencies/dydx_v4_client/dydxprotocol/clob/order_pb2.py +86 -0
  161. coinex/ccxt/static_dependencies/dydx_v4_client/dydxprotocol/clob/order_removals_pb2.py +32 -0
  162. coinex/ccxt/static_dependencies/dydx_v4_client/dydxprotocol/clob/process_proposer_matches_events_pb2.py +42 -0
  163. coinex/ccxt/static_dependencies/dydx_v4_client/dydxprotocol/clob/query_pb2.py +124 -0
  164. coinex/ccxt/static_dependencies/dydx_v4_client/dydxprotocol/clob/streaming_pb2.py +29 -0
  165. coinex/ccxt/static_dependencies/dydx_v4_client/dydxprotocol/clob/tx_pb2.py +117 -0
  166. coinex/ccxt/static_dependencies/dydx_v4_client/dydxprotocol/sending/genesis_pb2.py +26 -0
  167. coinex/ccxt/static_dependencies/dydx_v4_client/dydxprotocol/sending/query_pb2.py +26 -0
  168. coinex/ccxt/static_dependencies/dydx_v4_client/dydxprotocol/sending/transfer_pb2.py +61 -0
  169. coinex/ccxt/static_dependencies/dydx_v4_client/dydxprotocol/sending/tx_pb2.py +37 -0
  170. coinex/ccxt/static_dependencies/dydx_v4_client/dydxprotocol/subaccounts/asset_position_pb2.py +29 -0
  171. coinex/ccxt/static_dependencies/dydx_v4_client/dydxprotocol/subaccounts/genesis_pb2.py +30 -0
  172. coinex/ccxt/static_dependencies/dydx_v4_client/dydxprotocol/subaccounts/perpetual_position_pb2.py +33 -0
  173. coinex/ccxt/static_dependencies/dydx_v4_client/dydxprotocol/subaccounts/query_pb2.py +63 -0
  174. coinex/ccxt/static_dependencies/dydx_v4_client/dydxprotocol/subaccounts/streaming_pb2.py +31 -0
  175. coinex/ccxt/static_dependencies/dydx_v4_client/dydxprotocol/subaccounts/subaccount_pb2.py +33 -0
  176. coinex/ccxt/static_dependencies/dydx_v4_client/gogoproto/gogo_pb2.py +102 -0
  177. coinex/ccxt/static_dependencies/dydx_v4_client/registry.py +38 -0
  178. coinex/ccxt/static_dependencies/ecdsa/ellipticcurve.py +842 -0
  179. coinex/ccxt/static_dependencies/ecdsa/keys.py +15 -4
  180. coinex/ccxt/static_dependencies/mnemonic/__init__.py +4 -0
  181. coinex/ccxt/static_dependencies/mnemonic/mnemonic.py +282 -0
  182. coinex/ccxt/static_dependencies/mnemonic/py.typed +1 -0
  183. coinex/ccxt/static_dependencies/mnemonic/wordlist/chinese_simplified.txt +2048 -0
  184. coinex/ccxt/static_dependencies/mnemonic/wordlist/chinese_traditional.txt +2048 -0
  185. coinex/ccxt/static_dependencies/mnemonic/wordlist/czech.txt +2048 -0
  186. coinex/ccxt/static_dependencies/mnemonic/wordlist/english.txt +2048 -0
  187. coinex/ccxt/static_dependencies/mnemonic/wordlist/french.txt +2048 -0
  188. coinex/ccxt/static_dependencies/mnemonic/wordlist/italian.txt +2048 -0
  189. coinex/ccxt/static_dependencies/mnemonic/wordlist/japanese.txt +2048 -0
  190. coinex/ccxt/static_dependencies/mnemonic/wordlist/korean.txt +2048 -0
  191. coinex/ccxt/static_dependencies/mnemonic/wordlist/portuguese.txt +2048 -0
  192. coinex/ccxt/static_dependencies/mnemonic/wordlist/russian.txt +2048 -0
  193. coinex/ccxt/static_dependencies/mnemonic/wordlist/spanish.txt +2048 -0
  194. coinex/ccxt/static_dependencies/mnemonic/wordlist/turkish.txt +2048 -0
  195. {coinex_api-0.0.89.dist-info → coinex_api-0.0.110.dist-info}/METADATA +3 -3
  196. {coinex_api-0.0.89.dist-info → coinex_api-0.0.110.dist-info}/RECORD +197 -17
  197. {coinex_api-0.0.89.dist-info → coinex_api-0.0.110.dist-info}/WHEEL +1 -1
@@ -0,0 +1,1360 @@
1
+ # Copyright (c) 2021 Emanuele Bellocchia
2
+ #
3
+ # Permission is hereby granted, free of charge, to any person obtaining a copy
4
+ # of this software and associated documentation files (the "Software"), to deal
5
+ # in the Software without restriction, including without limitation the rights
6
+ # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
7
+ # copies of the Software, and to permit persons to whom the Software is
8
+ # furnished to do so, subject to the following conditions:
9
+ #
10
+ # The above copyright notice and this permission notice shall be included in
11
+ # all copies or substantial portions of the Software.
12
+ #
13
+ # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14
+ # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15
+ # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16
+ # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17
+ # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18
+ # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
19
+ # THE SOFTWARE.
20
+
21
+ """Module for BIP44 coins configuration."""
22
+
23
+ # Imports
24
+ from ..addr import (
25
+ AdaByronIcarusAddrEncoder, AlgoAddrEncoder, AptosAddrEncoder, AtomAddrEncoder, AvaxPChainAddrEncoder,
26
+ AvaxXChainAddrEncoder, BchP2PKHAddrEncoder, EgldAddrEncoder, EosAddrEncoder, ErgoNetworkTypes, ErgoP2PKHAddrEncoder,
27
+ EthAddrEncoder, FilSecp256k1AddrEncoder, IcxAddrEncoder, InjAddrEncoder, NanoAddrEncoder, NearAddrEncoder,
28
+ NeoLegacyAddrEncoder, NeoN3AddrEncoder, NimAddrEncoder, OkexAddrEncoder, OneAddrEncoder, P2PKHAddrEncoder,
29
+ SolAddrEncoder, SubstrateEd25519AddrEncoder, SuiAddrEncoder, TrxAddrEncoder, XlmAddrEncoder, XlmAddrTypes,
30
+ XmrAddrEncoder, XrpAddrEncoder, XtzAddrEncoder, XtzAddrPrefixes, ZilAddrEncoder
31
+ )
32
+ from ..bip32 import (
33
+ Bip32Const, Bip32KeyNetVersions, Bip32Slip10Ed25519, Bip32Slip10Ed25519Blake2b,
34
+ Bip32Slip10Nist256p1, Bip32Slip10Secp256k1
35
+ # Bip32KholawEd25519
36
+ )
37
+ # from import (
38
+ # DER_PATH_HARDENED_FULL, DER_PATH_HARDENED_MID, DER_PATH_HARDENED_SHORT, DER_PATH_NON_HARDENED_FULL,
39
+ # BipBitcoinCashConf, BipCoinConf, BipCoinFctCallsConf, BipLitecoinConf
40
+ # )
41
+ # from bip_utils.cardano.bip32.cardano_icarus_bip32 import CardanoIcarusBip32
42
+ from ..coin_conf import CoinsConf
43
+ from ..slip.slip44 import Slip44
44
+
45
+
46
+ # Bitcoin key net version for main net (same as BIP32)
47
+ _BIP44_BTC_KEY_NET_VER_MAIN: Bip32KeyNetVersions = Bip32Const.MAIN_NET_KEY_NET_VERSIONS
48
+ # Bitcoin key net version for test net (same as BIP32)
49
+ _BIP44_BTC_KEY_NET_VER_TEST: Bip32KeyNetVersions = Bip32Const.TEST_NET_KEY_NET_VERSIONS
50
+
51
+
52
+ class Bip44Conf:
53
+ """Class container for BIP44 configuration."""
54
+
55
+ # Configuration for Akash Network
56
+ AkashNetwork: BipCoinConf = BipCoinConf(
57
+ coin_names=CoinsConf.AkashNetwork.CoinNames(),
58
+ coin_idx=Slip44.ATOM,
59
+ is_testnet=False,
60
+ def_path=DER_PATH_NON_HARDENED_FULL,
61
+ key_net_ver=_BIP44_BTC_KEY_NET_VER_MAIN,
62
+ wif_net_ver=None,
63
+ bip32_cls=Bip32Slip10Secp256k1,
64
+ addr_cls=AtomAddrEncoder,
65
+ addr_params={
66
+ "hrp": CoinsConf.AkashNetwork.ParamByKey("addr_hrp"),
67
+ },
68
+ )
69
+
70
+ # Configuration for Algorand
71
+ Algorand: BipCoinConf = BipCoinConf(
72
+ coin_names=CoinsConf.Algorand.CoinNames(),
73
+ coin_idx=Slip44.ALGORAND,
74
+ is_testnet=False,
75
+ def_path=DER_PATH_HARDENED_FULL,
76
+ key_net_ver=_BIP44_BTC_KEY_NET_VER_MAIN,
77
+ wif_net_ver=None,
78
+ bip32_cls=Bip32Slip10Ed25519,
79
+ addr_cls=AlgoAddrEncoder,
80
+ addr_params={},
81
+ )
82
+
83
+ # Configuration for Aptos
84
+ Aptos: BipCoinConf = BipCoinConf(
85
+ coin_names=CoinsConf.Aptos.CoinNames(),
86
+ coin_idx=Slip44.APTOS,
87
+ is_testnet=False,
88
+ def_path=DER_PATH_HARDENED_FULL,
89
+ key_net_ver=_BIP44_BTC_KEY_NET_VER_MAIN,
90
+ wif_net_ver=None,
91
+ bip32_cls=Bip32Slip10Ed25519,
92
+ addr_cls=AptosAddrEncoder,
93
+ addr_params={},
94
+ )
95
+
96
+ # Configuration for Arbitrum
97
+ Arbitrum: BipCoinConf = BipCoinConf(
98
+ coin_names=CoinsConf.Arbitrum.CoinNames(),
99
+ coin_idx=Slip44.ETHEREUM,
100
+ is_testnet=False,
101
+ def_path=DER_PATH_NON_HARDENED_FULL,
102
+ key_net_ver=_BIP44_BTC_KEY_NET_VER_MAIN,
103
+ wif_net_ver=None,
104
+ bip32_cls=Bip32Slip10Secp256k1,
105
+ addr_cls=EthAddrEncoder,
106
+ addr_params={},
107
+ )
108
+
109
+ # Configuration for Avax C-Chain
110
+ AvaxCChain: BipCoinConf = BipCoinConf(
111
+ coin_names=CoinsConf.AvaxCChain.CoinNames(),
112
+ coin_idx=Slip44.ETHEREUM,
113
+ is_testnet=False,
114
+ def_path=DER_PATH_NON_HARDENED_FULL,
115
+ key_net_ver=_BIP44_BTC_KEY_NET_VER_MAIN,
116
+ wif_net_ver=None,
117
+ bip32_cls=Bip32Slip10Secp256k1,
118
+ addr_cls=EthAddrEncoder,
119
+ addr_params={},
120
+ )
121
+ # Configuration for Avax P-Chain
122
+ AvaxPChain: BipCoinConf = BipCoinConf(
123
+ coin_names=CoinsConf.AvaxPChain.CoinNames(),
124
+ coin_idx=Slip44.AVALANCHE,
125
+ is_testnet=False,
126
+ def_path=DER_PATH_NON_HARDENED_FULL,
127
+ key_net_ver=_BIP44_BTC_KEY_NET_VER_MAIN,
128
+ wif_net_ver=None,
129
+ bip32_cls=Bip32Slip10Secp256k1,
130
+ addr_cls=AvaxPChainAddrEncoder,
131
+ addr_params={},
132
+ )
133
+ # Configuration for Avax X-Chain
134
+ AvaxXChain: BipCoinConf = BipCoinConf(
135
+ coin_names=CoinsConf.AvaxXChain.CoinNames(),
136
+ coin_idx=Slip44.AVALANCHE,
137
+ is_testnet=False,
138
+ def_path=DER_PATH_NON_HARDENED_FULL,
139
+ key_net_ver=_BIP44_BTC_KEY_NET_VER_MAIN,
140
+ wif_net_ver=None,
141
+ bip32_cls=Bip32Slip10Secp256k1,
142
+ addr_cls=AvaxXChainAddrEncoder,
143
+ addr_params={},
144
+ )
145
+
146
+ # Configuration for Axelar
147
+ Axelar: BipCoinConf = BipCoinConf(
148
+ coin_names=CoinsConf.Axelar.CoinNames(),
149
+ coin_idx=Slip44.ATOM,
150
+ is_testnet=False,
151
+ def_path=DER_PATH_NON_HARDENED_FULL,
152
+ key_net_ver=_BIP44_BTC_KEY_NET_VER_MAIN,
153
+ wif_net_ver=None,
154
+ bip32_cls=Bip32Slip10Secp256k1,
155
+ addr_cls=AtomAddrEncoder,
156
+ addr_params={
157
+ "hrp": CoinsConf.Axelar.ParamByKey("addr_hrp"),
158
+ },
159
+ )
160
+
161
+ # Configuration for Band Protocol
162
+ BandProtocol: BipCoinConf = BipCoinConf(
163
+ coin_names=CoinsConf.BandProtocol.CoinNames(),
164
+ coin_idx=Slip44.BAND_PROTOCOL,
165
+ is_testnet=False,
166
+ def_path=DER_PATH_NON_HARDENED_FULL,
167
+ key_net_ver=_BIP44_BTC_KEY_NET_VER_MAIN,
168
+ wif_net_ver=None,
169
+ bip32_cls=Bip32Slip10Secp256k1,
170
+ addr_cls=AtomAddrEncoder,
171
+ addr_params={
172
+ "hrp": CoinsConf.BandProtocol.ParamByKey("addr_hrp"),
173
+ },
174
+ )
175
+
176
+ # Configuration for Binance Chain
177
+ BinanceChain: BipCoinConf = BipCoinConf(
178
+ coin_names=CoinsConf.BinanceChain.CoinNames(),
179
+ coin_idx=Slip44.BINANCE_CHAIN,
180
+ is_testnet=False,
181
+ def_path=DER_PATH_NON_HARDENED_FULL,
182
+ key_net_ver=_BIP44_BTC_KEY_NET_VER_MAIN,
183
+ wif_net_ver=None,
184
+ bip32_cls=Bip32Slip10Secp256k1,
185
+ addr_cls=AtomAddrEncoder,
186
+ addr_params={
187
+ "hrp": CoinsConf.BinanceChain.ParamByKey("addr_hrp"),
188
+ },
189
+ )
190
+ # Configuration for Binance Smart Chain
191
+ BinanceSmartChain: BipCoinConf = BipCoinConf(
192
+ coin_names=CoinsConf.BinanceSmartChain.CoinNames(),
193
+ coin_idx=Slip44.ETHEREUM,
194
+ is_testnet=False,
195
+ def_path=DER_PATH_NON_HARDENED_FULL,
196
+ key_net_ver=_BIP44_BTC_KEY_NET_VER_MAIN,
197
+ wif_net_ver=None,
198
+ bip32_cls=Bip32Slip10Secp256k1,
199
+ addr_cls=EthAddrEncoder,
200
+ addr_params={},
201
+ )
202
+
203
+ # Configuration for Bitcoin main net
204
+ BitcoinMainNet: BipCoinConf = BipCoinConf(
205
+ coin_names=CoinsConf.BitcoinMainNet.CoinNames(),
206
+ coin_idx=Slip44.BITCOIN,
207
+ is_testnet=False,
208
+ def_path=DER_PATH_NON_HARDENED_FULL,
209
+ key_net_ver=_BIP44_BTC_KEY_NET_VER_MAIN,
210
+ wif_net_ver=CoinsConf.BitcoinMainNet.ParamByKey("wif_net_ver"),
211
+ bip32_cls=Bip32Slip10Secp256k1,
212
+ addr_cls=P2PKHAddrEncoder,
213
+ addr_params={
214
+ "net_ver": CoinsConf.BitcoinMainNet.ParamByKey("p2pkh_net_ver"),
215
+ },
216
+ )
217
+ # Configuration for Bitcoin regtest
218
+ BitcoinRegTest: BipCoinConf = BipCoinConf(
219
+ coin_names=CoinsConf.BitcoinRegTest.CoinNames(),
220
+ coin_idx=Slip44.TESTNET,
221
+ is_testnet=True,
222
+ def_path=DER_PATH_NON_HARDENED_FULL,
223
+ key_net_ver=_BIP44_BTC_KEY_NET_VER_TEST,
224
+ wif_net_ver=CoinsConf.BitcoinRegTest.ParamByKey("wif_net_ver"),
225
+ bip32_cls=Bip32Slip10Secp256k1,
226
+ addr_cls=P2PKHAddrEncoder,
227
+ addr_params={
228
+ "net_ver": CoinsConf.BitcoinRegTest.ParamByKey("p2pkh_net_ver"),
229
+ },
230
+ )
231
+
232
+ # Configuration for Bitcoin test net
233
+ BitcoinTestNet: BipCoinConf = BipCoinConf(
234
+ coin_names=CoinsConf.BitcoinTestNet.CoinNames(),
235
+ coin_idx=Slip44.TESTNET,
236
+ is_testnet=True,
237
+ def_path=DER_PATH_NON_HARDENED_FULL,
238
+ key_net_ver=_BIP44_BTC_KEY_NET_VER_TEST,
239
+ wif_net_ver=CoinsConf.BitcoinTestNet.ParamByKey("wif_net_ver"),
240
+ bip32_cls=Bip32Slip10Secp256k1,
241
+ addr_cls=P2PKHAddrEncoder,
242
+ addr_params={
243
+ "net_ver": CoinsConf.BitcoinTestNet.ParamByKey("p2pkh_net_ver"),
244
+ },
245
+ )
246
+
247
+ # Configuration for Bitcoin Cash main net
248
+ BitcoinCashMainNet: BipBitcoinCashConf = BipBitcoinCashConf(
249
+ coin_names=CoinsConf.BitcoinCashMainNet.CoinNames(),
250
+ coin_idx=Slip44.BITCOIN_CASH,
251
+ is_testnet=False,
252
+ def_path=DER_PATH_NON_HARDENED_FULL,
253
+ key_net_ver=_BIP44_BTC_KEY_NET_VER_MAIN,
254
+ wif_net_ver=CoinsConf.BitcoinCashMainNet.ParamByKey("wif_net_ver"),
255
+ bip32_cls=Bip32Slip10Secp256k1,
256
+ addr_cls=BchP2PKHAddrEncoder,
257
+ addr_params={
258
+ "std": {
259
+ "net_ver": CoinsConf.BitcoinCashMainNet.ParamByKey("p2pkh_std_net_ver"),
260
+ "hrp": CoinsConf.BitcoinCashMainNet.ParamByKey("p2pkh_std_hrp"),
261
+ },
262
+ "legacy": {
263
+ "net_ver": CoinsConf.BitcoinCashMainNet.ParamByKey("p2pkh_legacy_net_ver"),
264
+ }
265
+ },
266
+ addr_cls_legacy=P2PKHAddrEncoder,
267
+ )
268
+ # Configuration for Bitcoin Cash test net
269
+ BitcoinCashTestNet: BipBitcoinCashConf = BipBitcoinCashConf(
270
+ coin_names=CoinsConf.BitcoinCashTestNet.CoinNames(),
271
+ coin_idx=Slip44.TESTNET,
272
+ is_testnet=True,
273
+ def_path=DER_PATH_NON_HARDENED_FULL,
274
+ key_net_ver=_BIP44_BTC_KEY_NET_VER_TEST,
275
+ wif_net_ver=CoinsConf.BitcoinCashTestNet.ParamByKey("wif_net_ver"),
276
+ bip32_cls=Bip32Slip10Secp256k1,
277
+ addr_cls=BchP2PKHAddrEncoder,
278
+ addr_params={
279
+ "std": {
280
+ "net_ver": CoinsConf.BitcoinCashTestNet.ParamByKey("p2pkh_std_net_ver"),
281
+ "hrp": CoinsConf.BitcoinCashTestNet.ParamByKey("p2pkh_std_hrp"),
282
+ },
283
+ "legacy": {
284
+ "net_ver": CoinsConf.BitcoinCashTestNet.ParamByKey("p2pkh_legacy_net_ver"),
285
+ }
286
+ },
287
+ addr_cls_legacy=P2PKHAddrEncoder,
288
+ )
289
+
290
+ # Configuration for Bitcoin Cash Simple Ledger Protocol main net
291
+ BitcoinCashSlpMainNet: BipBitcoinCashConf = BipBitcoinCashConf(
292
+ coin_names=CoinsConf.BitcoinCashSlpMainNet.CoinNames(),
293
+ coin_idx=Slip44.BITCOIN_CASH,
294
+ is_testnet=False,
295
+ def_path=DER_PATH_NON_HARDENED_FULL,
296
+ key_net_ver=_BIP44_BTC_KEY_NET_VER_MAIN,
297
+ wif_net_ver=CoinsConf.BitcoinCashSlpMainNet.ParamByKey("wif_net_ver"),
298
+ bip32_cls=Bip32Slip10Secp256k1,
299
+ addr_cls=BchP2PKHAddrEncoder,
300
+ addr_params={
301
+ "std": {
302
+ "net_ver": CoinsConf.BitcoinCashSlpMainNet.ParamByKey("p2pkh_std_net_ver"),
303
+ "hrp": CoinsConf.BitcoinCashSlpMainNet.ParamByKey("p2pkh_std_hrp"),
304
+ },
305
+ "legacy": {
306
+ "net_ver": CoinsConf.BitcoinCashSlpMainNet.ParamByKey("p2pkh_legacy_net_ver"),
307
+ }
308
+ },
309
+ addr_cls_legacy=P2PKHAddrEncoder,
310
+ )
311
+ # Configuration for Bitcoin Cash Simple Ledger Protocol test net
312
+ BitcoinCashSlpTestNet: BipBitcoinCashConf = BipBitcoinCashConf(
313
+ coin_names=CoinsConf.BitcoinCashSlpTestNet.CoinNames(),
314
+ coin_idx=Slip44.TESTNET,
315
+ is_testnet=True,
316
+ def_path=DER_PATH_NON_HARDENED_FULL,
317
+ key_net_ver=_BIP44_BTC_KEY_NET_VER_TEST,
318
+ wif_net_ver=CoinsConf.BitcoinCashSlpTestNet.ParamByKey("wif_net_ver"),
319
+ bip32_cls=Bip32Slip10Secp256k1,
320
+ addr_cls=BchP2PKHAddrEncoder,
321
+ addr_params={
322
+ "std": {
323
+ "net_ver": CoinsConf.BitcoinCashSlpTestNet.ParamByKey("p2pkh_std_net_ver"),
324
+ "hrp": CoinsConf.BitcoinCashSlpTestNet.ParamByKey("p2pkh_std_hrp"),
325
+ },
326
+ "legacy": {
327
+ "net_ver": CoinsConf.BitcoinCashSlpTestNet.ParamByKey("p2pkh_legacy_net_ver"),
328
+ }
329
+ },
330
+ addr_cls_legacy=P2PKHAddrEncoder,
331
+ )
332
+
333
+ # Configuration for BitcoinSV main net
334
+ BitcoinSvMainNet: BipCoinConf = BipCoinConf(
335
+ coin_names=CoinsConf.BitcoinSvMainNet.CoinNames(),
336
+ coin_idx=Slip44.BITCOIN_SV,
337
+ is_testnet=False,
338
+ def_path=DER_PATH_NON_HARDENED_FULL,
339
+ key_net_ver=_BIP44_BTC_KEY_NET_VER_MAIN,
340
+ wif_net_ver=CoinsConf.BitcoinSvMainNet.ParamByKey("wif_net_ver"),
341
+ bip32_cls=Bip32Slip10Secp256k1,
342
+ addr_cls=P2PKHAddrEncoder,
343
+ addr_params={
344
+ "net_ver": CoinsConf.BitcoinSvMainNet.ParamByKey("p2pkh_net_ver"),
345
+ },
346
+ )
347
+ # Configuration for BitcoinSV test net
348
+ BitcoinSvTestNet: BipCoinConf = BipCoinConf(
349
+ coin_names=CoinsConf.BitcoinSvTestNet.CoinNames(),
350
+ coin_idx=Slip44.TESTNET,
351
+ is_testnet=True,
352
+ def_path=DER_PATH_NON_HARDENED_FULL,
353
+ key_net_ver=_BIP44_BTC_KEY_NET_VER_TEST,
354
+ wif_net_ver=CoinsConf.BitcoinSvTestNet.ParamByKey("wif_net_ver"),
355
+ bip32_cls=Bip32Slip10Secp256k1,
356
+ addr_cls=P2PKHAddrEncoder,
357
+ addr_params={
358
+ "net_ver": CoinsConf.BitcoinSvTestNet.ParamByKey("p2pkh_net_ver"),
359
+ },
360
+ )
361
+
362
+ # Configuration for Cardano Byron (Icarus)
363
+ # CardanoByronIcarus: BipCoinConf = BipCoinConf(
364
+ # coin_names=CoinsConf.CardanoMainNet.CoinNames(),
365
+ # coin_idx=Slip44.CARDANO,
366
+ # is_testnet=False,
367
+ # def_path=DER_PATH_NON_HARDENED_FULL,
368
+ # key_net_ver=Bip32Const.KHOLAW_KEY_NET_VERSIONS,
369
+ # wif_net_ver=None,
370
+ # bip32_cls=CardanoIcarusBip32,
371
+ # addr_cls=AdaByronIcarusAddrEncoder,
372
+ # addr_params={
373
+ # "chain_code": BipCoinFctCallsConf("ChainCode"),
374
+ # },
375
+ # )
376
+ # Configuration for Cardano Byron (Ledger)
377
+ CardanoByronLedger: BipCoinConf = BipCoinConf(
378
+ coin_names=CoinsConf.CardanoMainNet.CoinNames(),
379
+ coin_idx=Slip44.CARDANO,
380
+ is_testnet=False,
381
+ def_path=DER_PATH_NON_HARDENED_FULL,
382
+ key_net_ver=Bip32Const.KHOLAW_KEY_NET_VERSIONS,
383
+ wif_net_ver=None,
384
+ bip32_cls=Bip32KholawEd25519,
385
+ addr_cls=AdaByronIcarusAddrEncoder,
386
+ addr_params={
387
+ "chain_code": BipCoinFctCallsConf("ChainCode"),
388
+ },
389
+ )
390
+
391
+ # Configuration for Celestia
392
+ Celestia: BipCoinConf = BipCoinConf(
393
+ coin_names=CoinsConf.Celestia.CoinNames(),
394
+ coin_idx=Slip44.ATOM,
395
+ is_testnet=False,
396
+ def_path=DER_PATH_NON_HARDENED_FULL,
397
+ key_net_ver=_BIP44_BTC_KEY_NET_VER_MAIN,
398
+ wif_net_ver=None,
399
+ bip32_cls=Bip32Slip10Secp256k1,
400
+ addr_cls=AtomAddrEncoder,
401
+ addr_params={
402
+ "hrp": CoinsConf.Celestia.ParamByKey("addr_hrp"),
403
+ },
404
+ )
405
+
406
+ # Configuration for Celo
407
+ Celo: BipCoinConf = BipCoinConf(
408
+ coin_names=CoinsConf.Celo.CoinNames(),
409
+ coin_idx=Slip44.CELO,
410
+ is_testnet=False,
411
+ def_path=DER_PATH_NON_HARDENED_FULL,
412
+ key_net_ver=_BIP44_BTC_KEY_NET_VER_MAIN,
413
+ wif_net_ver=None,
414
+ bip32_cls=Bip32Slip10Secp256k1,
415
+ addr_cls=EthAddrEncoder,
416
+ addr_params={},
417
+ )
418
+
419
+ # Configuration for Certik
420
+ Certik: BipCoinConf = BipCoinConf(
421
+ coin_names=CoinsConf.Certik.CoinNames(),
422
+ coin_idx=Slip44.ATOM,
423
+ is_testnet=False,
424
+ def_path=DER_PATH_NON_HARDENED_FULL,
425
+ key_net_ver=_BIP44_BTC_KEY_NET_VER_MAIN,
426
+ wif_net_ver=None,
427
+ bip32_cls=Bip32Slip10Secp256k1,
428
+ addr_cls=AtomAddrEncoder,
429
+ addr_params={
430
+ "hrp": CoinsConf.Certik.ParamByKey("addr_hrp"),
431
+ },
432
+ )
433
+
434
+ # Configuration for Chihuahua
435
+ Chihuahua: BipCoinConf = BipCoinConf(
436
+ coin_names=CoinsConf.Chihuahua.CoinNames(),
437
+ coin_idx=Slip44.ATOM,
438
+ is_testnet=False,
439
+ def_path=DER_PATH_NON_HARDENED_FULL,
440
+ key_net_ver=_BIP44_BTC_KEY_NET_VER_MAIN,
441
+ wif_net_ver=None,
442
+ bip32_cls=Bip32Slip10Secp256k1,
443
+ addr_cls=AtomAddrEncoder,
444
+ addr_params={
445
+ "hrp": CoinsConf.Chihuahua.ParamByKey("addr_hrp"),
446
+ },
447
+ )
448
+
449
+ # Configuration for Cosmos
450
+ Cosmos: BipCoinConf = BipCoinConf(
451
+ coin_names=CoinsConf.Cosmos.CoinNames(),
452
+ coin_idx=Slip44.ATOM,
453
+ is_testnet=False,
454
+ def_path=DER_PATH_NON_HARDENED_FULL,
455
+ key_net_ver=_BIP44_BTC_KEY_NET_VER_MAIN,
456
+ wif_net_ver=None,
457
+ bip32_cls=Bip32Slip10Secp256k1,
458
+ addr_cls=AtomAddrEncoder,
459
+ addr_params={
460
+ "hrp": CoinsConf.Cosmos.ParamByKey("addr_hrp"),
461
+ },
462
+ )
463
+
464
+ # Configuration for Dash main net
465
+ DashMainNet: BipCoinConf = BipCoinConf(
466
+ coin_names=CoinsConf.DashMainNet.CoinNames(),
467
+ coin_idx=Slip44.DASH,
468
+ is_testnet=False,
469
+ def_path=DER_PATH_NON_HARDENED_FULL,
470
+ key_net_ver=_BIP44_BTC_KEY_NET_VER_MAIN,
471
+ wif_net_ver=CoinsConf.DashMainNet.ParamByKey("wif_net_ver"),
472
+ bip32_cls=Bip32Slip10Secp256k1,
473
+ addr_cls=P2PKHAddrEncoder,
474
+ addr_params={
475
+ "net_ver": CoinsConf.DashMainNet.ParamByKey("p2pkh_net_ver"),
476
+ },
477
+ )
478
+ # Configuration for Dash test net
479
+ DashTestNet: BipCoinConf = BipCoinConf(
480
+ coin_names=CoinsConf.DashTestNet.CoinNames(),
481
+ coin_idx=Slip44.TESTNET,
482
+ is_testnet=True,
483
+ def_path=DER_PATH_NON_HARDENED_FULL,
484
+ key_net_ver=_BIP44_BTC_KEY_NET_VER_TEST,
485
+ wif_net_ver=CoinsConf.DashTestNet.ParamByKey("wif_net_ver"),
486
+ bip32_cls=Bip32Slip10Secp256k1,
487
+ addr_cls=P2PKHAddrEncoder,
488
+ addr_params={
489
+ "net_ver": CoinsConf.DashTestNet.ParamByKey("p2pkh_net_ver"),
490
+ },
491
+ )
492
+
493
+ # Configuration for Dogecoin main net
494
+ DogecoinMainNet: BipCoinConf = BipCoinConf(
495
+ coin_names=CoinsConf.DogecoinMainNet.CoinNames(),
496
+ coin_idx=Slip44.DOGECOIN,
497
+ is_testnet=False,
498
+ def_path=DER_PATH_NON_HARDENED_FULL,
499
+ key_net_ver=Bip32KeyNetVersions(b"\x02\xfa\xca\xfd",
500
+ b"\x02\xfa\xc3\x98"), # dgub / dgpv
501
+ wif_net_ver=CoinsConf.DogecoinMainNet.ParamByKey("wif_net_ver"),
502
+ bip32_cls=Bip32Slip10Secp256k1,
503
+ addr_cls=P2PKHAddrEncoder,
504
+ addr_params={
505
+ "net_ver": CoinsConf.DogecoinMainNet.ParamByKey("p2pkh_net_ver"),
506
+ },
507
+ )
508
+ # Configuration for Dogecoin test net
509
+ DogecoinTestNet: BipCoinConf = BipCoinConf(
510
+ coin_names=CoinsConf.DogecoinTestNet.CoinNames(),
511
+ coin_idx=Slip44.TESTNET,
512
+ is_testnet=True,
513
+ def_path=DER_PATH_NON_HARDENED_FULL,
514
+ key_net_ver=Bip32KeyNetVersions(b"\x04\x32\xa9\xa8",
515
+ b"\x04\x32\xa2\x43"), # tgub / tgpv
516
+ wif_net_ver=CoinsConf.DogecoinTestNet.ParamByKey("wif_net_ver"),
517
+ bip32_cls=Bip32Slip10Secp256k1,
518
+ addr_cls=P2PKHAddrEncoder,
519
+ addr_params={
520
+ "net_ver": CoinsConf.DogecoinTestNet.ParamByKey("p2pkh_net_ver"),
521
+ },
522
+ )
523
+
524
+ # Configuration for dYdX
525
+ DYDX: BipCoinConf = BipCoinConf(
526
+ coin_names=CoinsConf.DYDX.CoinNames(),
527
+ coin_idx=Slip44.ATOM,
528
+ is_testnet=False,
529
+ def_path=DER_PATH_NON_HARDENED_FULL,
530
+ key_net_ver=_BIP44_BTC_KEY_NET_VER_MAIN,
531
+ wif_net_ver=None,
532
+ bip32_cls=Bip32Slip10Secp256k1,
533
+ addr_cls=AtomAddrEncoder,
534
+ addr_params={
535
+ "hrp": CoinsConf.DYDX.ParamByKey("addr_hrp"),
536
+ },
537
+ )
538
+
539
+ # Configuration for eCash main net
540
+ EcashMainNet: BipBitcoinCashConf = BipBitcoinCashConf(
541
+ coin_names=CoinsConf.EcashMainNet.CoinNames(),
542
+ coin_idx=Slip44.BITCOIN_CASH,
543
+ is_testnet=False,
544
+ def_path=DER_PATH_NON_HARDENED_FULL,
545
+ key_net_ver=_BIP44_BTC_KEY_NET_VER_MAIN,
546
+ wif_net_ver=CoinsConf.EcashMainNet.ParamByKey("wif_net_ver"),
547
+ bip32_cls=Bip32Slip10Secp256k1,
548
+ addr_cls=BchP2PKHAddrEncoder,
549
+ addr_params={
550
+ "std": {
551
+ "net_ver": CoinsConf.EcashMainNet.ParamByKey("p2pkh_std_net_ver"),
552
+ "hrp": CoinsConf.EcashMainNet.ParamByKey("p2pkh_std_hrp"),
553
+ },
554
+ "legacy": {
555
+ "net_ver": CoinsConf.EcashMainNet.ParamByKey("p2pkh_legacy_net_ver"),
556
+ }
557
+ },
558
+ addr_cls_legacy=P2PKHAddrEncoder,
559
+ )
560
+ # Configuration for eCash test net
561
+ EcashTestNet: BipBitcoinCashConf = BipBitcoinCashConf(
562
+ coin_names=CoinsConf.EcashTestNet.CoinNames(),
563
+ coin_idx=Slip44.TESTNET,
564
+ is_testnet=True,
565
+ def_path=DER_PATH_NON_HARDENED_FULL,
566
+ key_net_ver=_BIP44_BTC_KEY_NET_VER_TEST,
567
+ wif_net_ver=CoinsConf.EcashTestNet.ParamByKey("wif_net_ver"),
568
+ bip32_cls=Bip32Slip10Secp256k1,
569
+ addr_cls=BchP2PKHAddrEncoder,
570
+ addr_params={
571
+ "std": {
572
+ "net_ver": CoinsConf.EcashTestNet.ParamByKey("p2pkh_std_net_ver"),
573
+ "hrp": CoinsConf.EcashTestNet.ParamByKey("p2pkh_std_hrp"),
574
+ },
575
+ "legacy": {
576
+ "net_ver": CoinsConf.EcashTestNet.ParamByKey("p2pkh_legacy_net_ver"),
577
+ }
578
+ },
579
+ addr_cls_legacy=P2PKHAddrEncoder,
580
+ )
581
+
582
+ # Configuration for Elrond
583
+ Elrond: BipCoinConf = BipCoinConf(
584
+ coin_names=CoinsConf.Elrond.CoinNames(),
585
+ coin_idx=Slip44.ELROND,
586
+ is_testnet=False,
587
+ def_path=DER_PATH_HARDENED_FULL,
588
+ key_net_ver=_BIP44_BTC_KEY_NET_VER_MAIN,
589
+ wif_net_ver=None,
590
+ bip32_cls=Bip32Slip10Ed25519,
591
+ addr_cls=EgldAddrEncoder,
592
+ addr_params={},
593
+ )
594
+
595
+ # Configuration for Eos
596
+ Eos: BipCoinConf = BipCoinConf(
597
+ coin_names=CoinsConf.Eos.CoinNames(),
598
+ coin_idx=Slip44.EOS,
599
+ is_testnet=False,
600
+ def_path=DER_PATH_NON_HARDENED_FULL,
601
+ key_net_ver=_BIP44_BTC_KEY_NET_VER_MAIN,
602
+ wif_net_ver=None,
603
+ bip32_cls=Bip32Slip10Secp256k1,
604
+ addr_cls=EosAddrEncoder,
605
+ addr_params={},
606
+ )
607
+
608
+ # Configuration for Ergo main net
609
+ ErgoMainNet: BipCoinConf = BipCoinConf(
610
+ coin_names=CoinsConf.ErgoMainNet.CoinNames(),
611
+ coin_idx=Slip44.ERGO,
612
+ is_testnet=False,
613
+ def_path=DER_PATH_NON_HARDENED_FULL,
614
+ key_net_ver=_BIP44_BTC_KEY_NET_VER_MAIN,
615
+ wif_net_ver=None,
616
+ bip32_cls=Bip32Slip10Secp256k1,
617
+ addr_cls=ErgoP2PKHAddrEncoder,
618
+ addr_params={
619
+ "net_type": ErgoNetworkTypes.MAINNET,
620
+ },
621
+ )
622
+
623
+ # Configuration for Ergo test net
624
+ ErgoTestNet: BipCoinConf = BipCoinConf(
625
+ coin_names=CoinsConf.ErgoTestNet.CoinNames(),
626
+ coin_idx=Slip44.ERGO,
627
+ is_testnet=True,
628
+ def_path=DER_PATH_NON_HARDENED_FULL,
629
+ key_net_ver=_BIP44_BTC_KEY_NET_VER_TEST,
630
+ wif_net_ver=None,
631
+ bip32_cls=Bip32Slip10Secp256k1,
632
+ addr_cls=ErgoP2PKHAddrEncoder,
633
+ addr_params={
634
+ "net_type": ErgoNetworkTypes.TESTNET,
635
+ },
636
+ )
637
+
638
+ # Configuration for Ethereum
639
+ Ethereum: BipCoinConf = BipCoinConf(
640
+ coin_names=CoinsConf.Ethereum.CoinNames(),
641
+ coin_idx=Slip44.ETHEREUM,
642
+ is_testnet=False,
643
+ def_path=DER_PATH_NON_HARDENED_FULL,
644
+ key_net_ver=_BIP44_BTC_KEY_NET_VER_MAIN,
645
+ wif_net_ver=None,
646
+ bip32_cls=Bip32Slip10Secp256k1,
647
+ addr_cls=EthAddrEncoder,
648
+ addr_params={},
649
+ )
650
+ # Configuration for Ethereum Classic
651
+ EthereumClassic: BipCoinConf = BipCoinConf(
652
+ coin_names=CoinsConf.EthereumClassic.CoinNames(),
653
+ coin_idx=Slip44.ETHEREUM_CLASSIC,
654
+ is_testnet=False,
655
+ def_path=DER_PATH_NON_HARDENED_FULL,
656
+ key_net_ver=_BIP44_BTC_KEY_NET_VER_MAIN,
657
+ wif_net_ver=None,
658
+ bip32_cls=Bip32Slip10Secp256k1,
659
+ addr_cls=EthAddrEncoder,
660
+ addr_params={},
661
+ )
662
+
663
+ # Configuration for Fantom Opera
664
+ FantomOpera: BipCoinConf = BipCoinConf(
665
+ coin_names=CoinsConf.FantomOpera.CoinNames(),
666
+ coin_idx=Slip44.ETHEREUM,
667
+ is_testnet=False,
668
+ def_path=DER_PATH_NON_HARDENED_FULL,
669
+ key_net_ver=_BIP44_BTC_KEY_NET_VER_MAIN,
670
+ wif_net_ver=None,
671
+ bip32_cls=Bip32Slip10Secp256k1,
672
+ addr_cls=EthAddrEncoder,
673
+ addr_params={},
674
+ )
675
+
676
+ # Configuration for Fetch.ai
677
+ FetchAi: BipCoinConf = BipCoinConf(
678
+ coin_names=CoinsConf.FetchAi.CoinNames(),
679
+ coin_idx=Slip44.ATOM,
680
+ is_testnet=False,
681
+ def_path=DER_PATH_NON_HARDENED_FULL,
682
+ key_net_ver=_BIP44_BTC_KEY_NET_VER_MAIN,
683
+ wif_net_ver=None,
684
+ bip32_cls=Bip32Slip10Secp256k1,
685
+ addr_cls=AtomAddrEncoder,
686
+ addr_params={
687
+ "hrp": CoinsConf.FetchAi.ParamByKey("addr_hrp"),
688
+ },
689
+ )
690
+
691
+ # Configuration for Fetch.ai (ETH)
692
+ FetchAiEth: BipCoinConf = BipCoinConf(
693
+ coin_names=CoinsConf.FetchAi.CoinNames(),
694
+ coin_idx=Slip44.ETHEREUM,
695
+ is_testnet=False,
696
+ def_path=DER_PATH_NON_HARDENED_FULL,
697
+ key_net_ver=_BIP44_BTC_KEY_NET_VER_MAIN,
698
+ wif_net_ver=None,
699
+ bip32_cls=Bip32Slip10Secp256k1,
700
+ addr_cls=AtomAddrEncoder,
701
+ addr_params={
702
+ "hrp": CoinsConf.FetchAi.ParamByKey("addr_hrp"),
703
+ },
704
+ )
705
+
706
+ # Configuration for Filecoin
707
+ Filecoin: BipCoinConf = BipCoinConf(
708
+ coin_names=CoinsConf.Filecoin.CoinNames(),
709
+ coin_idx=Slip44.FILECOIN,
710
+ is_testnet=False,
711
+ def_path=DER_PATH_NON_HARDENED_FULL,
712
+ key_net_ver=_BIP44_BTC_KEY_NET_VER_MAIN,
713
+ wif_net_ver=None,
714
+ bip32_cls=Bip32Slip10Secp256k1,
715
+ addr_cls=FilSecp256k1AddrEncoder,
716
+ addr_params={},
717
+ )
718
+
719
+ # Configuration for Harmony One (Metamask address)
720
+ HarmonyOneMetamask: BipCoinConf = BipCoinConf(
721
+ coin_names=CoinsConf.HarmonyOne.CoinNames(),
722
+ coin_idx=Slip44.ETHEREUM,
723
+ is_testnet=False,
724
+ def_path=DER_PATH_NON_HARDENED_FULL,
725
+ key_net_ver=_BIP44_BTC_KEY_NET_VER_MAIN,
726
+ wif_net_ver=None,
727
+ bip32_cls=Bip32Slip10Secp256k1,
728
+ addr_cls=EthAddrEncoder,
729
+ addr_params={},
730
+ )
731
+ # Configuration for Harmony One (Ethereum address)
732
+ HarmonyOneEth: BipCoinConf = BipCoinConf(
733
+ coin_names=CoinsConf.HarmonyOne.CoinNames(),
734
+ coin_idx=Slip44.HARMONY_ONE,
735
+ is_testnet=False,
736
+ def_path=DER_PATH_NON_HARDENED_FULL,
737
+ key_net_ver=_BIP44_BTC_KEY_NET_VER_MAIN,
738
+ wif_net_ver=None,
739
+ bip32_cls=Bip32Slip10Secp256k1,
740
+ addr_cls=EthAddrEncoder,
741
+ addr_params={},
742
+ )
743
+ # Configuration for Harmony One (Atom address)
744
+ HarmonyOneAtom: BipCoinConf = BipCoinConf(
745
+ coin_names=CoinsConf.HarmonyOne.CoinNames(),
746
+ coin_idx=Slip44.HARMONY_ONE,
747
+ is_testnet=False,
748
+ def_path=DER_PATH_NON_HARDENED_FULL,
749
+ key_net_ver=_BIP44_BTC_KEY_NET_VER_MAIN,
750
+ wif_net_ver=None,
751
+ bip32_cls=Bip32Slip10Secp256k1,
752
+ addr_cls=OneAddrEncoder,
753
+ addr_params={},
754
+ )
755
+
756
+ # Configuration for Huobi Chain
757
+ HuobiChain: BipCoinConf = BipCoinConf(
758
+ coin_names=CoinsConf.HuobiChain.CoinNames(),
759
+ coin_idx=Slip44.ETHEREUM,
760
+ is_testnet=False,
761
+ def_path=DER_PATH_NON_HARDENED_FULL,
762
+ key_net_ver=_BIP44_BTC_KEY_NET_VER_MAIN,
763
+ wif_net_ver=None,
764
+ bip32_cls=Bip32Slip10Secp256k1,
765
+ addr_cls=EthAddrEncoder,
766
+ addr_params={},
767
+ )
768
+
769
+ # Configuration for Icon
770
+ Icon: BipCoinConf = BipCoinConf(
771
+ coin_names=CoinsConf.Icon.CoinNames(),
772
+ coin_idx=Slip44.ICON,
773
+ is_testnet=False,
774
+ def_path=DER_PATH_NON_HARDENED_FULL,
775
+ key_net_ver=_BIP44_BTC_KEY_NET_VER_MAIN,
776
+ wif_net_ver=None,
777
+ bip32_cls=Bip32Slip10Secp256k1,
778
+ addr_cls=IcxAddrEncoder,
779
+ addr_params={},
780
+ )
781
+
782
+ # Configuration for Injective
783
+ Injective: BipCoinConf = BipCoinConf(
784
+ coin_names=CoinsConf.Injective.CoinNames(),
785
+ coin_idx=Slip44.ETHEREUM,
786
+ is_testnet=False,
787
+ def_path=DER_PATH_NON_HARDENED_FULL,
788
+ key_net_ver=_BIP44_BTC_KEY_NET_VER_MAIN,
789
+ wif_net_ver=None,
790
+ bip32_cls=Bip32Slip10Secp256k1,
791
+ addr_cls=InjAddrEncoder,
792
+ addr_params={},
793
+ )
794
+
795
+ # Configuration for IRISnet
796
+ IrisNet: BipCoinConf = BipCoinConf(
797
+ coin_names=CoinsConf.IrisNet.CoinNames(),
798
+ coin_idx=Slip44.ATOM,
799
+ is_testnet=False,
800
+ def_path=DER_PATH_NON_HARDENED_FULL,
801
+ key_net_ver=_BIP44_BTC_KEY_NET_VER_MAIN,
802
+ wif_net_ver=None,
803
+ bip32_cls=Bip32Slip10Secp256k1,
804
+ addr_cls=AtomAddrEncoder,
805
+ addr_params={
806
+ "hrp": CoinsConf.IrisNet.ParamByKey("addr_hrp"),
807
+ },
808
+ )
809
+
810
+ # Configuration for Kava
811
+ Kava: BipCoinConf = BipCoinConf(
812
+ coin_names=CoinsConf.Kava.CoinNames(),
813
+ coin_idx=Slip44.KAVA,
814
+ is_testnet=False,
815
+ def_path=DER_PATH_NON_HARDENED_FULL,
816
+ key_net_ver=_BIP44_BTC_KEY_NET_VER_MAIN,
817
+ wif_net_ver=None,
818
+ bip32_cls=Bip32Slip10Secp256k1,
819
+ addr_cls=AtomAddrEncoder,
820
+ addr_params={
821
+ "hrp": CoinsConf.Kava.ParamByKey("addr_hrp"),
822
+ },
823
+ )
824
+
825
+ # Configuration for Kusama (ed25519 SLIP-0010)
826
+ KusamaEd25519Slip: BipCoinConf = BipCoinConf(
827
+ coin_names=CoinsConf.Kusama.CoinNames(),
828
+ coin_idx=Slip44.KUSAMA,
829
+ is_testnet=False,
830
+ def_path=DER_PATH_HARDENED_FULL,
831
+ key_net_ver=_BIP44_BTC_KEY_NET_VER_MAIN,
832
+ wif_net_ver=None,
833
+ bip32_cls=Bip32Slip10Ed25519,
834
+ addr_cls=SubstrateEd25519AddrEncoder,
835
+ addr_params={
836
+ "ss58_format": CoinsConf.Kusama.ParamByKey("addr_ss58_format"),
837
+ },
838
+ )
839
+
840
+ # Configuration for Litecoin main net
841
+ LitecoinMainNet: BipLitecoinConf = BipLitecoinConf(
842
+ coin_names=CoinsConf.LitecoinMainNet.CoinNames(),
843
+ coin_idx=Slip44.LITECOIN,
844
+ is_testnet=False,
845
+ def_path=DER_PATH_NON_HARDENED_FULL,
846
+ key_net_ver=_BIP44_BTC_KEY_NET_VER_MAIN,
847
+ alt_key_net_ver=Bip32KeyNetVersions(b"\x01\x9d\xa4\x62",
848
+ b"\x01\x9d\x9c\xfe"), # Ltpv / Ltub
849
+ wif_net_ver=CoinsConf.LitecoinMainNet.ParamByKey("wif_net_ver"),
850
+ bip32_cls=Bip32Slip10Secp256k1,
851
+ addr_cls=P2PKHAddrEncoder,
852
+ addr_params={
853
+ "std_net_ver": CoinsConf.LitecoinMainNet.ParamByKey("p2pkh_std_net_ver"),
854
+ "depr_net_ver": CoinsConf.LitecoinMainNet.ParamByKey("p2pkh_depr_net_ver"),
855
+ },
856
+ )
857
+ # Configuration for Litecoin test net
858
+ LitecoinTestNet: BipLitecoinConf = BipLitecoinConf(
859
+ coin_names=CoinsConf.LitecoinTestNet.CoinNames(),
860
+ coin_idx=Slip44.TESTNET,
861
+ is_testnet=True,
862
+ def_path=DER_PATH_NON_HARDENED_FULL,
863
+ key_net_ver=Bip32KeyNetVersions(b"\x04\x36\xf6\xe1",
864
+ b"\x04\x36\xef\x7d"), # ttub / ttpv
865
+ alt_key_net_ver=Bip32KeyNetVersions(b"\x04\x36\xf6\xe1",
866
+ b"\x04\x36\xef\x7d"), # ttub / ttpv
867
+ wif_net_ver=CoinsConf.LitecoinTestNet.ParamByKey("wif_net_ver"),
868
+ bip32_cls=Bip32Slip10Secp256k1,
869
+ addr_cls=P2PKHAddrEncoder,
870
+ addr_params={
871
+ "std_net_ver": CoinsConf.LitecoinTestNet.ParamByKey("p2pkh_std_net_ver"),
872
+ "depr_net_ver": CoinsConf.LitecoinTestNet.ParamByKey("p2pkh_depr_net_ver"),
873
+ },
874
+ )
875
+
876
+ # Configuration for Metis
877
+ Metis: BipCoinConf = BipCoinConf(
878
+ coin_names=CoinsConf.Metis.CoinNames(),
879
+ coin_idx=Slip44.ETHEREUM,
880
+ is_testnet=False,
881
+ def_path=DER_PATH_NON_HARDENED_FULL,
882
+ key_net_ver=_BIP44_BTC_KEY_NET_VER_MAIN,
883
+ wif_net_ver=None,
884
+ bip32_cls=Bip32Slip10Secp256k1,
885
+ addr_cls=EthAddrEncoder,
886
+ addr_params={},
887
+ )
888
+
889
+ # Configuration for Monero (ed25519 SLIP-0010)
890
+ MoneroEd25519Slip: BipCoinConf = BipCoinConf(
891
+ coin_names=CoinsConf.MoneroMainNet.CoinNames(),
892
+ coin_idx=Slip44.MONERO,
893
+ is_testnet=False,
894
+ def_path=DER_PATH_HARDENED_FULL,
895
+ key_net_ver=_BIP44_BTC_KEY_NET_VER_MAIN,
896
+ wif_net_ver=None,
897
+ bip32_cls=Bip32Slip10Ed25519,
898
+ addr_cls=XmrAddrEncoder,
899
+ addr_params={},
900
+ )
901
+
902
+ # Configuration for Monero (secp256k1)
903
+ MoneroSecp256k1: BipCoinConf = BipCoinConf(
904
+ coin_names=CoinsConf.MoneroMainNet.CoinNames(),
905
+ coin_idx=Slip44.MONERO,
906
+ is_testnet=False,
907
+ def_path=DER_PATH_NON_HARDENED_FULL,
908
+ key_net_ver=_BIP44_BTC_KEY_NET_VER_MAIN,
909
+ wif_net_ver=None,
910
+ bip32_cls=Bip32Slip10Secp256k1,
911
+ addr_cls=XmrAddrEncoder,
912
+ addr_params={},
913
+ )
914
+
915
+ # Configuration for Nano
916
+ Nano: BipCoinConf = BipCoinConf(
917
+ coin_names=CoinsConf.Nano.CoinNames(),
918
+ coin_idx=Slip44.NANO,
919
+ is_testnet=False,
920
+ def_path=DER_PATH_HARDENED_SHORT,
921
+ key_net_ver=_BIP44_BTC_KEY_NET_VER_MAIN,
922
+ wif_net_ver=None,
923
+ bip32_cls=Bip32Slip10Ed25519Blake2b,
924
+ addr_cls=NanoAddrEncoder,
925
+ addr_params={},
926
+ )
927
+
928
+ # Configuration for Near Protocol
929
+ NearProtocol: BipCoinConf = BipCoinConf(
930
+ coin_names=CoinsConf.NearProtocol.CoinNames(),
931
+ coin_idx=Slip44.NEAR_PROTOCOL,
932
+ is_testnet=False,
933
+ def_path=DER_PATH_HARDENED_SHORT,
934
+ key_net_ver=_BIP44_BTC_KEY_NET_VER_MAIN,
935
+ wif_net_ver=None,
936
+ bip32_cls=Bip32Slip10Ed25519,
937
+ addr_cls=NearAddrEncoder,
938
+ addr_params={},
939
+ )
940
+
941
+ # For compatibility, later assigned to NeoLegacy
942
+ Neo: BipCoinConf
943
+
944
+ # Configuration for Neo legacy
945
+ NeoLegacy: BipCoinConf = BipCoinConf(
946
+ coin_names=CoinsConf.NeoLegacy.CoinNames(),
947
+ coin_idx=Slip44.NEO,
948
+ is_testnet=False,
949
+ def_path=DER_PATH_NON_HARDENED_FULL,
950
+ key_net_ver=_BIP44_BTC_KEY_NET_VER_MAIN,
951
+ wif_net_ver=CoinsConf.NeoLegacy.ParamByKey("wif_net_ver"),
952
+ bip32_cls=Bip32Slip10Nist256p1,
953
+ addr_cls=NeoLegacyAddrEncoder,
954
+ addr_params={
955
+ "ver": CoinsConf.NeoLegacy.ParamByKey("addr_ver"),
956
+ },
957
+ )
958
+
959
+ # Configuration for Neo N3
960
+ NeoN3: BipCoinConf = BipCoinConf(
961
+ coin_names=CoinsConf.NeoN3.CoinNames(),
962
+ coin_idx=Slip44.NEO,
963
+ is_testnet=False,
964
+ def_path=DER_PATH_NON_HARDENED_FULL,
965
+ key_net_ver=_BIP44_BTC_KEY_NET_VER_MAIN,
966
+ wif_net_ver=CoinsConf.NeoN3.ParamByKey("wif_net_ver"),
967
+ bip32_cls=Bip32Slip10Nist256p1,
968
+ addr_cls=NeoN3AddrEncoder,
969
+ addr_params={
970
+ "ver": CoinsConf.NeoN3.ParamByKey("addr_ver"),
971
+ },
972
+ )
973
+
974
+ # Configuration for Neutron
975
+ Neutron: BipCoinConf = BipCoinConf(
976
+ coin_names=CoinsConf.Neutron.CoinNames(),
977
+ coin_idx=Slip44.ATOM,
978
+ is_testnet=False,
979
+ def_path=DER_PATH_NON_HARDENED_FULL,
980
+ key_net_ver=_BIP44_BTC_KEY_NET_VER_MAIN,
981
+ wif_net_ver=None,
982
+ bip32_cls=Bip32Slip10Secp256k1,
983
+ addr_cls=AtomAddrEncoder,
984
+ addr_params={
985
+ "hrp": CoinsConf.Neutron.ParamByKey("addr_hrp"),
986
+ },
987
+ )
988
+
989
+ # Configuration for Nimiq
990
+ Nimiq: BipCoinConf = BipCoinConf(
991
+ coin_names=CoinsConf.Nimiq.CoinNames(),
992
+ coin_idx=Slip44.NIMIQ,
993
+ is_testnet=False,
994
+ def_path=DER_PATH_HARDENED_MID,
995
+ key_net_ver=_BIP44_BTC_KEY_NET_VER_MAIN,
996
+ wif_net_ver=None,
997
+ bip32_cls=Bip32Slip10Ed25519,
998
+ addr_cls=NimAddrEncoder,
999
+ addr_params={},
1000
+ )
1001
+
1002
+ # Configuration for NG
1003
+ NineChroniclesGold: BipCoinConf = BipCoinConf(
1004
+ coin_names=CoinsConf.NineChroniclesGold.CoinNames(),
1005
+ coin_idx=Slip44.NINE_CHRONICLES,
1006
+ is_testnet=False,
1007
+ def_path=DER_PATH_NON_HARDENED_FULL,
1008
+ key_net_ver=_BIP44_BTC_KEY_NET_VER_MAIN,
1009
+ wif_net_ver=None,
1010
+ bip32_cls=Bip32Slip10Secp256k1,
1011
+ addr_cls=EthAddrEncoder,
1012
+ addr_params={},
1013
+ )
1014
+
1015
+ # Configuration for OKEx Chain (Ethereum address)
1016
+ OkexChainEth: BipCoinConf = BipCoinConf(
1017
+ coin_names=CoinsConf.OkexChain.CoinNames(),
1018
+ coin_idx=Slip44.ETHEREUM,
1019
+ is_testnet=False,
1020
+ def_path=DER_PATH_NON_HARDENED_FULL,
1021
+ key_net_ver=_BIP44_BTC_KEY_NET_VER_MAIN,
1022
+ wif_net_ver=None,
1023
+ bip32_cls=Bip32Slip10Secp256k1,
1024
+ addr_cls=EthAddrEncoder,
1025
+ addr_params={},
1026
+ )
1027
+
1028
+ # Configuration for OKEx Chain (Atom address)
1029
+ OkexChainAtom: BipCoinConf = BipCoinConf(
1030
+ coin_names=CoinsConf.OkexChain.CoinNames(),
1031
+ coin_idx=Slip44.ETHEREUM,
1032
+ is_testnet=False,
1033
+ def_path=DER_PATH_NON_HARDENED_FULL,
1034
+ key_net_ver=_BIP44_BTC_KEY_NET_VER_MAIN,
1035
+ wif_net_ver=None,
1036
+ bip32_cls=Bip32Slip10Secp256k1,
1037
+ addr_cls=OkexAddrEncoder,
1038
+ addr_params={},
1039
+ )
1040
+
1041
+ # Configuration for OKEx Chain (old Atom address)
1042
+ OkexChainAtomOld: BipCoinConf = BipCoinConf(
1043
+ coin_names=CoinsConf.OkexChain.CoinNames(),
1044
+ coin_idx=Slip44.OKEX_CHAIN,
1045
+ is_testnet=False,
1046
+ def_path=DER_PATH_NON_HARDENED_FULL,
1047
+ key_net_ver=_BIP44_BTC_KEY_NET_VER_MAIN,
1048
+ wif_net_ver=None,
1049
+ bip32_cls=Bip32Slip10Secp256k1,
1050
+ addr_cls=OkexAddrEncoder,
1051
+ addr_params={},
1052
+ )
1053
+
1054
+ # Configuration for Ontology
1055
+ Ontology: BipCoinConf = BipCoinConf(
1056
+ coin_names=CoinsConf.Ontology.CoinNames(),
1057
+ coin_idx=Slip44.ONTOLOGY,
1058
+ is_testnet=False,
1059
+ def_path=DER_PATH_NON_HARDENED_FULL,
1060
+ key_net_ver=_BIP44_BTC_KEY_NET_VER_MAIN,
1061
+ wif_net_ver=None,
1062
+ bip32_cls=Bip32Slip10Nist256p1,
1063
+ addr_cls=NeoLegacyAddrEncoder,
1064
+ addr_params={
1065
+ "ver": CoinsConf.Ontology.ParamByKey("addr_ver"),
1066
+ },
1067
+ )
1068
+
1069
+ # Configuration for Optimism
1070
+ Optimism: BipCoinConf = BipCoinConf(
1071
+ coin_names=CoinsConf.Optimism.CoinNames(),
1072
+ coin_idx=Slip44.ETHEREUM,
1073
+ is_testnet=False,
1074
+ def_path=DER_PATH_NON_HARDENED_FULL,
1075
+ key_net_ver=_BIP44_BTC_KEY_NET_VER_MAIN,
1076
+ wif_net_ver=None,
1077
+ bip32_cls=Bip32Slip10Secp256k1,
1078
+ addr_cls=EthAddrEncoder,
1079
+ addr_params={},
1080
+ )
1081
+
1082
+ # Configuration for Osmosis
1083
+ Osmosis: BipCoinConf = BipCoinConf(
1084
+ coin_names=CoinsConf.Osmosis.CoinNames(),
1085
+ coin_idx=Slip44.ATOM,
1086
+ is_testnet=False,
1087
+ def_path=DER_PATH_NON_HARDENED_FULL,
1088
+ key_net_ver=_BIP44_BTC_KEY_NET_VER_MAIN,
1089
+ wif_net_ver=None,
1090
+ bip32_cls=Bip32Slip10Secp256k1,
1091
+ addr_cls=AtomAddrEncoder,
1092
+ addr_params={
1093
+ "hrp": CoinsConf.Osmosis.ParamByKey("addr_hrp"),
1094
+ },
1095
+ )
1096
+
1097
+ # Configuration for Pi Network
1098
+ PiNetwork: BipCoinConf = BipCoinConf(
1099
+ coin_names=CoinsConf.PiNetwork.CoinNames(),
1100
+ coin_idx=Slip44.PI_NETWORK,
1101
+ is_testnet=False,
1102
+ def_path=DER_PATH_HARDENED_SHORT,
1103
+ key_net_ver=_BIP44_BTC_KEY_NET_VER_MAIN,
1104
+ wif_net_ver=None,
1105
+ bip32_cls=Bip32Slip10Ed25519,
1106
+ addr_cls=XlmAddrEncoder,
1107
+ addr_params={"addr_type": XlmAddrTypes.PUB_KEY},
1108
+ )
1109
+
1110
+ # Configuration for Polkadot (ed25519 SLIP-0010)
1111
+ PolkadotEd25519Slip: BipCoinConf = BipCoinConf(
1112
+ coin_names=CoinsConf.Polkadot.CoinNames(),
1113
+ coin_idx=Slip44.POLKADOT,
1114
+ is_testnet=False,
1115
+ def_path=DER_PATH_HARDENED_FULL,
1116
+ key_net_ver=_BIP44_BTC_KEY_NET_VER_MAIN,
1117
+ wif_net_ver=None,
1118
+ bip32_cls=Bip32Slip10Ed25519,
1119
+ addr_cls=SubstrateEd25519AddrEncoder,
1120
+ addr_params={
1121
+ "ss58_format": CoinsConf.Polkadot.ParamByKey("addr_ss58_format"),
1122
+ },
1123
+ )
1124
+
1125
+ # Configuration for Polygon
1126
+ Polygon: BipCoinConf = BipCoinConf(
1127
+ coin_names=CoinsConf.Polygon.CoinNames(),
1128
+ coin_idx=Slip44.ETHEREUM,
1129
+ is_testnet=False,
1130
+ def_path=DER_PATH_NON_HARDENED_FULL,
1131
+ key_net_ver=_BIP44_BTC_KEY_NET_VER_MAIN,
1132
+ wif_net_ver=None,
1133
+ bip32_cls=Bip32Slip10Secp256k1,
1134
+ addr_cls=EthAddrEncoder,
1135
+ addr_params={},
1136
+ )
1137
+
1138
+ # Configuration for Ripple
1139
+ Ripple: BipCoinConf = BipCoinConf(
1140
+ coin_names=CoinsConf.Ripple.CoinNames(),
1141
+ coin_idx=Slip44.RIPPLE,
1142
+ is_testnet=False,
1143
+ def_path=DER_PATH_NON_HARDENED_FULL,
1144
+ key_net_ver=_BIP44_BTC_KEY_NET_VER_MAIN,
1145
+ wif_net_ver=None,
1146
+ bip32_cls=Bip32Slip10Secp256k1,
1147
+ addr_cls=XrpAddrEncoder,
1148
+ addr_params={},
1149
+ )
1150
+
1151
+ # Configuration for Secret Network (old path)
1152
+ SecretNetworkOld: BipCoinConf = BipCoinConf(
1153
+ coin_names=CoinsConf.SecretNetwork.CoinNames(),
1154
+ coin_idx=Slip44.ATOM,
1155
+ is_testnet=False,
1156
+ def_path=DER_PATH_NON_HARDENED_FULL,
1157
+ key_net_ver=_BIP44_BTC_KEY_NET_VER_MAIN,
1158
+ wif_net_ver=None,
1159
+ bip32_cls=Bip32Slip10Secp256k1,
1160
+ addr_cls=AtomAddrEncoder,
1161
+ addr_params={
1162
+ "hrp": CoinsConf.SecretNetwork.ParamByKey("addr_hrp"),
1163
+ },
1164
+ )
1165
+ # Configuration for Secret Network (new path)
1166
+ SecretNetworkNew: BipCoinConf = BipCoinConf(
1167
+ coin_names=CoinsConf.SecretNetwork.CoinNames(),
1168
+ coin_idx=Slip44.SECRET_NETWORK,
1169
+ is_testnet=False,
1170
+ def_path=DER_PATH_NON_HARDENED_FULL,
1171
+ key_net_ver=_BIP44_BTC_KEY_NET_VER_MAIN,
1172
+ wif_net_ver=None,
1173
+ bip32_cls=Bip32Slip10Secp256k1,
1174
+ addr_cls=AtomAddrEncoder,
1175
+ addr_params={
1176
+ "hrp": CoinsConf.SecretNetwork.ParamByKey("addr_hrp"),
1177
+ },
1178
+ )
1179
+
1180
+ # Configuration for Solana
1181
+ Solana: BipCoinConf = BipCoinConf(
1182
+ coin_names=CoinsConf.Solana.CoinNames(),
1183
+ coin_idx=Slip44.SOLANA,
1184
+ is_testnet=False,
1185
+ def_path=DER_PATH_HARDENED_SHORT,
1186
+ key_net_ver=_BIP44_BTC_KEY_NET_VER_MAIN,
1187
+ wif_net_ver=None,
1188
+ bip32_cls=Bip32Slip10Ed25519,
1189
+ addr_cls=SolAddrEncoder,
1190
+ addr_params={},
1191
+ )
1192
+
1193
+ # Configuration for Stafi
1194
+ Stafi: BipCoinConf = BipCoinConf(
1195
+ coin_names=CoinsConf.Stafi.CoinNames(),
1196
+ coin_idx=Slip44.ATOM,
1197
+ is_testnet=False,
1198
+ def_path=DER_PATH_NON_HARDENED_FULL,
1199
+ key_net_ver=_BIP44_BTC_KEY_NET_VER_MAIN,
1200
+ wif_net_ver=None,
1201
+ bip32_cls=Bip32Slip10Secp256k1,
1202
+ addr_cls=AtomAddrEncoder,
1203
+ addr_params={
1204
+ "hrp": CoinsConf.Stafi.ParamByKey("addr_hrp"),
1205
+ },
1206
+ )
1207
+
1208
+ # Configuration for Stellar
1209
+ Stellar: BipCoinConf = BipCoinConf(
1210
+ coin_names=CoinsConf.Stellar.CoinNames(),
1211
+ coin_idx=Slip44.STELLAR,
1212
+ is_testnet=False,
1213
+ def_path=DER_PATH_HARDENED_SHORT,
1214
+ key_net_ver=_BIP44_BTC_KEY_NET_VER_MAIN,
1215
+ wif_net_ver=None,
1216
+ bip32_cls=Bip32Slip10Ed25519,
1217
+ addr_cls=XlmAddrEncoder,
1218
+ addr_params={"addr_type": XlmAddrTypes.PUB_KEY},
1219
+ )
1220
+
1221
+ # Configuration for Sui
1222
+ Sui: BipCoinConf = BipCoinConf(
1223
+ coin_names=CoinsConf.Sui.CoinNames(),
1224
+ coin_idx=Slip44.SUI,
1225
+ is_testnet=False,
1226
+ def_path=DER_PATH_HARDENED_FULL,
1227
+ key_net_ver=_BIP44_BTC_KEY_NET_VER_MAIN,
1228
+ wif_net_ver=None,
1229
+ bip32_cls=Bip32Slip10Ed25519,
1230
+ addr_cls=SuiAddrEncoder,
1231
+ addr_params={},
1232
+ )
1233
+
1234
+ # Configuration for Terra
1235
+ Terra: BipCoinConf = BipCoinConf(
1236
+ coin_names=CoinsConf.Terra.CoinNames(),
1237
+ coin_idx=Slip44.TERRA,
1238
+ is_testnet=False,
1239
+ def_path=DER_PATH_NON_HARDENED_FULL,
1240
+ key_net_ver=_BIP44_BTC_KEY_NET_VER_MAIN,
1241
+ wif_net_ver=None,
1242
+ bip32_cls=Bip32Slip10Secp256k1,
1243
+ addr_cls=AtomAddrEncoder,
1244
+ addr_params={
1245
+ "hrp": CoinsConf.Terra.ParamByKey("addr_hrp"),
1246
+ },
1247
+ )
1248
+
1249
+ # Configuration for Tezos
1250
+ Tezos: BipCoinConf = BipCoinConf(
1251
+ coin_names=CoinsConf.Tezos.CoinNames(),
1252
+ coin_idx=Slip44.TEZOS,
1253
+ is_testnet=False,
1254
+ def_path=DER_PATH_HARDENED_MID,
1255
+ key_net_ver=_BIP44_BTC_KEY_NET_VER_MAIN,
1256
+ wif_net_ver=None,
1257
+ bip32_cls=Bip32Slip10Ed25519,
1258
+ addr_cls=XtzAddrEncoder,
1259
+ addr_params={"prefix": XtzAddrPrefixes.TZ1},
1260
+ )
1261
+
1262
+ # Configuration for Theta
1263
+ Theta: BipCoinConf = BipCoinConf(
1264
+ coin_names=CoinsConf.Theta.CoinNames(),
1265
+ coin_idx=Slip44.THETA,
1266
+ is_testnet=False,
1267
+ def_path=DER_PATH_NON_HARDENED_FULL,
1268
+ key_net_ver=_BIP44_BTC_KEY_NET_VER_MAIN,
1269
+ wif_net_ver=None,
1270
+ bip32_cls=Bip32Slip10Secp256k1,
1271
+ addr_cls=EthAddrEncoder,
1272
+ addr_params={},
1273
+ )
1274
+
1275
+ # Configuration for Tron
1276
+ Tron: BipCoinConf = BipCoinConf(
1277
+ coin_names=CoinsConf.Tron.CoinNames(),
1278
+ coin_idx=Slip44.TRON,
1279
+ is_testnet=False,
1280
+ def_path=DER_PATH_NON_HARDENED_FULL,
1281
+ key_net_ver=_BIP44_BTC_KEY_NET_VER_MAIN,
1282
+ wif_net_ver=None,
1283
+ bip32_cls=Bip32Slip10Secp256k1,
1284
+ addr_cls=TrxAddrEncoder,
1285
+ addr_params={},
1286
+ )
1287
+
1288
+ # Configuration for VeChain
1289
+ VeChain: BipCoinConf = BipCoinConf(
1290
+ coin_names=CoinsConf.VeChain.CoinNames(),
1291
+ coin_idx=Slip44.VECHAIN,
1292
+ is_testnet=False,
1293
+ def_path=DER_PATH_NON_HARDENED_FULL,
1294
+ key_net_ver=_BIP44_BTC_KEY_NET_VER_MAIN,
1295
+ wif_net_ver=None,
1296
+ bip32_cls=Bip32Slip10Secp256k1,
1297
+ addr_cls=EthAddrEncoder,
1298
+ addr_params={},
1299
+ )
1300
+
1301
+ # Configuration for Verge
1302
+ Verge: BipCoinConf = BipCoinConf(
1303
+ coin_names=CoinsConf.Verge.CoinNames(),
1304
+ coin_idx=Slip44.VERGE,
1305
+ is_testnet=False,
1306
+ def_path=DER_PATH_NON_HARDENED_FULL,
1307
+ key_net_ver=_BIP44_BTC_KEY_NET_VER_MAIN,
1308
+ wif_net_ver=CoinsConf.Verge.ParamByKey("wif_net_ver"),
1309
+ bip32_cls=Bip32Slip10Secp256k1,
1310
+ addr_cls=P2PKHAddrEncoder,
1311
+ addr_params={
1312
+ "net_ver": CoinsConf.Verge.ParamByKey("p2pkh_net_ver"),
1313
+ },
1314
+ )
1315
+
1316
+ # Configuration for Zcash main net
1317
+ ZcashMainNet: BipCoinConf = BipCoinConf(
1318
+ coin_names=CoinsConf.ZcashMainNet.CoinNames(),
1319
+ coin_idx=Slip44.ZCASH,
1320
+ is_testnet=False,
1321
+ def_path=DER_PATH_NON_HARDENED_FULL,
1322
+ key_net_ver=_BIP44_BTC_KEY_NET_VER_MAIN,
1323
+ wif_net_ver=CoinsConf.ZcashMainNet.ParamByKey("wif_net_ver"),
1324
+ bip32_cls=Bip32Slip10Secp256k1,
1325
+ addr_cls=P2PKHAddrEncoder,
1326
+ addr_params={
1327
+ "net_ver": CoinsConf.ZcashMainNet.ParamByKey("p2pkh_net_ver"),
1328
+ },
1329
+ )
1330
+ # Configuration for Zcash test net
1331
+ ZcashTestNet: BipCoinConf = BipCoinConf(
1332
+ coin_names=CoinsConf.ZcashTestNet.CoinNames(),
1333
+ coin_idx=Slip44.TESTNET,
1334
+ is_testnet=True,
1335
+ def_path=DER_PATH_NON_HARDENED_FULL,
1336
+ key_net_ver=_BIP44_BTC_KEY_NET_VER_TEST,
1337
+ wif_net_ver=CoinsConf.ZcashTestNet.ParamByKey("wif_net_ver"),
1338
+ bip32_cls=Bip32Slip10Secp256k1,
1339
+ addr_cls=P2PKHAddrEncoder,
1340
+ addr_params={
1341
+ "net_ver": CoinsConf.ZcashTestNet.ParamByKey("p2pkh_net_ver"),
1342
+ },
1343
+ )
1344
+
1345
+ # Configuration for Zilliqa
1346
+ Zilliqa: BipCoinConf = BipCoinConf(
1347
+ coin_names=CoinsConf.Zilliqa.CoinNames(),
1348
+ coin_idx=Slip44.ZILLIQA,
1349
+ is_testnet=False,
1350
+ def_path=DER_PATH_NON_HARDENED_FULL,
1351
+ key_net_ver=_BIP44_BTC_KEY_NET_VER_MAIN,
1352
+ wif_net_ver=None,
1353
+ bip32_cls=Bip32Slip10Secp256k1,
1354
+ addr_cls=ZilAddrEncoder,
1355
+ addr_params={},
1356
+ )
1357
+
1358
+
1359
+ # For compatibility
1360
+ Bip44Conf.Neo = Bip44Conf.NeoLegacy