mm-btc 0.4.1__py3-none-any.whl → 0.5.0__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.
mm_btc/blockstream.py CHANGED
@@ -1,6 +1,8 @@
1
1
  from collections.abc import Sequence
2
2
 
3
- from mm_std import HttpResponse, Result, http_request, random_str_choice
3
+ from mm_cryptocurrency import random_proxy
4
+ from mm_http import HttpResponse, http_request
5
+ from mm_result import Result
4
6
  from pydantic import BaseModel
5
7
 
6
8
  MAINNET_BASE_URL = "https://blockstream.info/api"
@@ -67,10 +69,10 @@ class BlockstreamClient:
67
69
  res = await self._request(f"/address/{address}")
68
70
  try:
69
71
  if res.status_code == 400:
70
- return res.to_err_result("400 Bad Request")
71
- return res.to_ok_result(Address(**res.parse_json_body()))
72
+ return res.to_err("400 Bad Request")
73
+ return res.to_ok(Address(**res.parse_json_body()))
72
74
  except Exception as e:
73
- result = res.to_err_result(e)
75
+ result = res.to_err(e)
74
76
  return result
75
77
 
76
78
  async def get_confirmed_balance(self, address: str) -> Result[int]:
@@ -83,9 +85,9 @@ class BlockstreamClient:
83
85
  for _ in range(self.attempts):
84
86
  res = await self._request(f"/address/{address}/utxo")
85
87
  try:
86
- return res.to_ok_result([Utxo(**out) for out in res.parse_json_body()])
88
+ return res.to_ok([Utxo(**out) for out in res.parse_json_body()])
87
89
  except Exception as e:
88
- result = res.to_err_result(e)
90
+ result = res.to_err(e)
89
91
  return result
90
92
 
91
93
  async def get_mempool(self) -> Result[Mempool]:
@@ -93,10 +95,10 @@ class BlockstreamClient:
93
95
  for _ in range(self.attempts):
94
96
  res = await self._request("/mempool")
95
97
  try:
96
- return res.to_ok_result(Mempool(**res.parse_json_body()))
98
+ return res.to_ok(Mempool(**res.parse_json_body()))
97
99
  except Exception as e:
98
- result = res.to_err_result(e)
100
+ result = res.to_err(e)
99
101
  return result
100
102
 
101
103
  async def _request(self, url: str) -> HttpResponse:
102
- return await http_request(f"{self.base_url}{url}", timeout=self.timeout, proxy=random_str_choice(self.proxies))
104
+ return await http_request(f"{self.base_url}{url}", timeout=self.timeout, proxy=random_proxy(self.proxies))
mm_btc/cli/cli.py CHANGED
@@ -3,9 +3,9 @@ import importlib.metadata
3
3
  from pathlib import Path
4
4
  from typing import Annotated
5
5
 
6
+ import mm_print
6
7
  import typer
7
8
  import typer.core
8
- from mm_std import print_plain
9
9
 
10
10
  from mm_btc.wallet import AddressType
11
11
 
@@ -68,7 +68,7 @@ def utxo_command(address: str) -> None:
68
68
 
69
69
  def version_callback(value: bool) -> None:
70
70
  if value:
71
- print_plain(f"mm-btc: v{importlib.metadata.version('mm-btc')}")
71
+ mm_print.print_plain(f"mm-btc: v{importlib.metadata.version('mm-btc')}")
72
72
  raise typer.Exit
73
73
 
74
74
 
@@ -1,4 +1,4 @@
1
- from mm_std import print_json
1
+ import mm_print
2
2
 
3
3
  from mm_btc.blockstream import BlockstreamClient
4
4
  from mm_btc.wallet import is_testnet_address
@@ -7,4 +7,4 @@ from mm_btc.wallet import is_testnet_address
7
7
  async def run(address: str) -> None:
8
8
  client = BlockstreamClient(testnet=is_testnet_address(address))
9
9
  res = await client.get_address(address)
10
- print_json(res.ok_or_error())
10
+ mm_print.print_json(res.value_or_error())
@@ -1,7 +1,8 @@
1
1
  from pathlib import Path
2
2
 
3
+ import mm_print
3
4
  from bit import PrivateKey, PrivateKeyTestnet
4
- from mm_std import BaseConfig, print_console
5
+ from mm_cryptocurrency import BaseConfig
5
6
 
6
7
  from mm_btc.wallet import is_testnet_address
7
8
 
@@ -24,4 +25,4 @@ def run(config_path: Path) -> None:
24
25
  outputs = [(o.address, o.amount, "satoshi") for o in config.outputs]
25
26
 
26
27
  tx = key.create_transaction(outputs)
27
- print_console(tx)
28
+ mm_print.print_json(tx)
@@ -1,8 +1,8 @@
1
- from mm_std import print_json
1
+ import mm_print
2
2
 
3
3
  from mm_btc.tx import decode_tx
4
4
 
5
5
 
6
6
  def run(tx_hex: str, testnet: bool = False) -> None:
7
7
  res = decode_tx(tx_hex, testnet)
8
- print_json(res)
8
+ mm_print.print_json(res)
@@ -1,7 +1,7 @@
1
1
  from dataclasses import dataclass
2
2
  from enum import Enum
3
3
 
4
- from mm_std import print_plain
4
+ import mm_print
5
5
 
6
6
  from mm_btc.wallet import AddressType, derive_accounts, generate_mnemonic
7
7
 
@@ -29,12 +29,12 @@ def run(args: Args) -> None:
29
29
  path = get_derivation_path_prefix(args.path, args.testnet)
30
30
  accounts = derive_accounts(mnemonic, passphrase, path, args.address_type, args.limit)
31
31
 
32
- print_plain(f"{mnemonic}")
32
+ mm_print.print_plain(f"{mnemonic}")
33
33
  if passphrase:
34
- print_plain(f"{passphrase}")
34
+ mm_print.print_plain(f"{passphrase}")
35
35
  for acc in accounts:
36
36
  private = acc.private if args.hex else acc.wif
37
- print_plain(f"{acc.path} {acc.address} {private}")
37
+ mm_print.print_plain(f"{acc.path} {acc.address} {private}")
38
38
 
39
39
 
40
40
  def get_derivation_path_prefix(path: str, testnet: bool) -> str:
@@ -1,4 +1,4 @@
1
- from mm_std import print_json
1
+ import mm_print
2
2
 
3
3
  from mm_btc.blockstream import BlockstreamClient
4
4
  from mm_btc.wallet import is_testnet_address
@@ -7,4 +7,4 @@ from mm_btc.wallet import is_testnet_address
7
7
  async def run(address: str) -> None:
8
8
  client = BlockstreamClient(testnet=is_testnet_address(address))
9
9
  res = await client.get_utxo(address)
10
- print_json(res.ok_or_error())
10
+ mm_print.print_json(res.value_or_error())
@@ -0,0 +1,11 @@
1
+ Metadata-Version: 2.4
2
+ Name: mm-btc
3
+ Version: 0.5.0
4
+ Requires-Python: >=3.13
5
+ Requires-Dist: bitcoinlib~=0.7.4
6
+ Requires-Dist: bit~=0.8.0
7
+ Requires-Dist: hdwallet~=3.4.0
8
+ Requires-Dist: mm-cryptocurrency~=0.4.1
9
+ Requires-Dist: mm-print>=0.0.1
10
+ Requires-Dist: mnemonic~=0.21
11
+ Requires-Dist: typer~=0.16.0
@@ -0,0 +1,17 @@
1
+ mm_btc/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
2
+ mm_btc/blockstream.py,sha256=OGhJAlBoI_oPEJUdzsLKENF29nFGhrVdWp0o4APaDXQ,3315
3
+ mm_btc/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
4
+ mm_btc/tx.py,sha256=7KTMNuL1n8rRj_245BV1bH9M2_PctNvlvPsLEsRTYx4,245
5
+ mm_btc/wallet.py,sha256=_pGTuAf6Y9KzaWTTSg_tn6WEoRsGqhxJuPof0_xyrmM,2333
6
+ mm_btc/cli/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
7
+ mm_btc/cli/cli.py,sha256=PU93remvTcn_uguET2gf9-vgGZ_zZduHbqvvQHH_2Zw,2650
8
+ mm_btc/cli/cmd/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
9
+ mm_btc/cli/cmd/address_cmd.py,sha256=UlthdplJKAH1sC7MHtM4-rGS0MKftaaCdg_u-2tgwE0,308
10
+ mm_btc/cli/cmd/create_tx_cmd.py,sha256=4NvPa7uT7eJcoBo_oVOLLudCpKvNIB_ScK8ko57MOXE,721
11
+ mm_btc/cli/cmd/decode_tx_cmd.py,sha256=OwSdxIA8GViABb1JbbZTLi5HIRIA5Tpp_dBkh9x3GQQ,170
12
+ mm_btc/cli/cmd/mnemonic_cmd.py,sha256=-qWo8AXMdSSYUwyvx4jP54buRuidJM-1q3O8UwnJCF0,1266
13
+ mm_btc/cli/cmd/utxo_cmd.py,sha256=531bTIsgeQYmwJ17Jyn5jYlDDChOGlrvkJ31EIFIdF4,305
14
+ mm_btc-0.5.0.dist-info/METADATA,sha256=ciB5k1Ts4VNXpaeK9yKntdm55zllNatRiay-SVN_nGM,294
15
+ mm_btc-0.5.0.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
16
+ mm_btc-0.5.0.dist-info/entry_points.txt,sha256=KphzLNE9eb9H1DO-L0gvBQaQT5ImedyVCN4a6svfiRg,46
17
+ mm_btc-0.5.0.dist-info/RECORD,,
@@ -1,10 +0,0 @@
1
- Metadata-Version: 2.4
2
- Name: mm-btc
3
- Version: 0.4.1
4
- Requires-Python: >=3.12
5
- Requires-Dist: bitcoinlib~=0.7.3
6
- Requires-Dist: bit~=0.8.0
7
- Requires-Dist: hdwallet~=3.4.0
8
- Requires-Dist: mm-crypto-utils>=0.3.4
9
- Requires-Dist: mnemonic~=0.21
10
- Requires-Dist: typer~=0.15.2
@@ -1,17 +0,0 @@
1
- mm_btc/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
2
- mm_btc/blockstream.py,sha256=FfQ3QYx9jsEIYVQDttyrYHjWn9nZSt0g2RVJ0BP2nW4,3323
3
- mm_btc/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
4
- mm_btc/tx.py,sha256=7KTMNuL1n8rRj_245BV1bH9M2_PctNvlvPsLEsRTYx4,245
5
- mm_btc/wallet.py,sha256=_pGTuAf6Y9KzaWTTSg_tn6WEoRsGqhxJuPof0_xyrmM,2333
6
- mm_btc/cli/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
7
- mm_btc/cli/cli.py,sha256=peUio3WAa2oXomZvq-87QAbuTP37CPNoq5RAG7ax3ns,2656
8
- mm_btc/cli/cmd/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
9
- mm_btc/cli/cmd/address_cmd.py,sha256=PCjOEpZbMqBKpaAJnDHzYSqRnQEqHKqxN-w5c1Xq6jQ,310
10
- mm_btc/cli/cmd/create_tx_cmd.py,sha256=QHhfA91FGWf5r6DkWTaXInZJi6HYLfxueA1GtcBD2-s,703
11
- mm_btc/cli/cmd/decode_tx_cmd.py,sha256=0jGlUjnA1X2Q2aYwSBeAjqVNZIBsW5X2lEwIpSfWJsU,175
12
- mm_btc/cli/cmd/mnemonic_cmd.py,sha256=CY6tPsqOTNfM-4WhKDhqitCi2OeqSIUMEUTFIRGHwIg,1254
13
- mm_btc/cli/cmd/utxo_cmd.py,sha256=B3vI2BPWMSPVvMLGBctJw-C9k9vVLUg4nKFEIYNtmgY,307
14
- mm_btc-0.4.1.dist-info/METADATA,sha256=bt6CX5gfr_y91jQTnwavrJZ5itFuvo_jSHR_LNjpcdE,261
15
- mm_btc-0.4.1.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
16
- mm_btc-0.4.1.dist-info/entry_points.txt,sha256=KphzLNE9eb9H1DO-L0gvBQaQT5ImedyVCN4a6svfiRg,46
17
- mm_btc-0.4.1.dist-info/RECORD,,
File without changes