Skip to main content

Python bindings for leanMultisig: XMSS signatures + zkVM aggregation

Project description

py-lean-multisig

Python bindings for leanMultisig: XMSS signatures and zkVM-backed signature aggregation.

Requires Python >= 3.11. Wheels are built for Linux (x86_64, aarch64; glibc + musl) and macOS arm64.

Install

pip install py-lean-multisig

XMSS keygen / sign / verify

import py_lean_multisig as lm

# Key generation (seed is 32 bytes; slot range is inclusive)
sk, pk = lm.keygen(b"\x00" * 32, 0, 1023)

# Sign and verify (message is 32 bytes)
msg = b"\x42" * 32
sig = lm.sign(sk, msg, 5, rng_seed=b"\x99" * 32)  # rng_seed optional
lm.verify(pk, msg, sig, 5)

# Serialize/deserialize
pk2 = lm.PublicKey.from_bytes(pk.to_bytes())
sig2 = lm.Signature.from_bytes(sig.to_bytes())
assert pk == pk2 and sig == sig2

Aggregation

Aggregate N signatures over the same (message, slot) into a single proof, then verify.

import py_lean_multisig as lm

msg, slot = b"\x42" * 32, 5
pairs = [lm.keygen(bytes([i+1])*32, 0, 1023) for i in range(4)]
pks  = [pk for _, pk in pairs]
sigs = [lm.sign(sk, msg, slot, rng_seed=bytes([i+100])*32) for i, (sk, _) in enumerate(pairs)]

prover = lm.Prover(log_inv_rate=4)
verifier = lm.Verifier()

sorted_pks, agg = prover.aggregate(pks, sigs, msg, slot)
verifier.verify(sorted_pks, msg, agg, slot)

# AggregatedSignature bytes round-trip
agg2 = lm.AggregatedSignature.from_bytes(agg.to_bytes())

Hierarchical aggregation

Aggregated proofs are themselves zkVM-verifiable, so a Prover can fold existing aggregates into a new one via the children=.

This is useful for tree-shaped aggregation (each node aggregates its sub-tree's proofs) and for distributing proving work across machines (each shard produces a child proof and a coordinator folds them).

import py_lean_multisig as lm

msg, slot = b"\x42" * 32, 5

def _signers(seed_offset, n):
    pairs = [lm.keygen(bytes([seed_offset + i]) * 32, 0, 1023) for i in range(n)]
    pks  = [pk for _, pk in pairs]
    sigs = [lm.sign(sk, msg, slot, rng_seed=bytes([seed_offset + 100 + i]) * 32)
            for i, (sk, _) in enumerate(pairs)]
    return pks, sigs

prover   = lm.Prover(log_inv_rate=4)
verifier = lm.Verifier()

# Two disjoint sets of signers, aggregated independently.
pks_a, sigs_a = _signers(seed_offset=1,  n=2)
pks_b, sigs_b = _signers(seed_offset=50, n=2)
sorted_pks_a, agg_a = prover.aggregate(pks_a, sigs_a, msg, slot)
sorted_pks_b, agg_b = prover.aggregate(pks_b, sigs_b, msg, slot)

# Top level: no fresh raw signatures, just fold the two child proofs.
# Each child is the (sorted_pub_keys, AggregatedSignature) tuple
# returned by the previous aggregate() call.
sorted_pks_top, agg_top = prover.aggregate(
    [], [], msg, slot,
    children=[(sorted_pks_a, agg_a), (sorted_pks_b, agg_b)],
)

verifier.verify(sorted_pks_top, msg, agg_top, slot)

You can also mix raw signatures with children at the same level — fold two existing child aggregates plus a fresh batch of raw signatures into one combined proof in a single aggregate() call:

# Re-use sorted_pks_a / agg_a / sorted_pks_b / agg_b from above, plus
# a fresh batch of signers not already in either child:
pks_c, sigs_c = _signers(seed_offset=150, n=2)

sorted_pks_top, agg_top = prover.aggregate(
    pks_c, sigs_c, msg, slot,                       # fresh raw signatures
    children=[(sorted_pks_a, agg_a),                # plus the two children
              (sorted_pks_b, agg_b)],
)

# sorted_pks_top is the union: 2 from child A + 2 from child B + 2 fresh
verifier.verify(sorted_pks_top, msg, agg_top, slot)

Development

Uses uv for venv + dependency management

# One-time setup: create the venv, install maturin + dev deps, build
# and editable-install the extension.
uv venv
uv pip install maturin pytest mypy
uv run maturin develop --release --extras dev

# Run the test suite.
uv run pytest tests/ -v

# Verify the .pyi stubs match the runtime extension.
uv run python -m mypy.stubtest py_lean_multisig --allowlist stubtest_allowlist.txt

After Rust source changes, re-run uv run maturin develop --release to rebuild the extension.

License

MIT OR Apache-2.0

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

py_lean_multisig-0.3.0.tar.gz (40.5 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

py_lean_multisig-0.3.0-pp311-pypy311_pp73-musllinux_1_2_x86_64.whl (2.5 MB view details)

Uploaded PyPymusllinux: musl 1.2+ x86-64

py_lean_multisig-0.3.0-pp311-pypy311_pp73-musllinux_1_2_aarch64.whl (2.6 MB view details)

Uploaded PyPymusllinux: musl 1.2+ ARM64

py_lean_multisig-0.3.0-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.7 MB view details)

Uploaded PyPymanylinux: glibc 2.17+ x86-64

py_lean_multisig-0.3.0-cp314-cp314t-musllinux_1_2_x86_64.whl (2.5 MB view details)

Uploaded CPython 3.14tmusllinux: musl 1.2+ x86-64

py_lean_multisig-0.3.0-cp314-cp314t-musllinux_1_2_aarch64.whl (2.6 MB view details)

Uploaded CPython 3.14tmusllinux: musl 1.2+ ARM64

py_lean_multisig-0.3.0-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (2.4 MB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.17+ ARM64

py_lean_multisig-0.3.0-cp314-cp314-musllinux_1_2_x86_64.whl (2.5 MB view details)

Uploaded CPython 3.14musllinux: musl 1.2+ x86-64

py_lean_multisig-0.3.0-cp314-cp314-musllinux_1_2_aarch64.whl (2.6 MB view details)

Uploaded CPython 3.14musllinux: musl 1.2+ ARM64

py_lean_multisig-0.3.0-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.7 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ x86-64

py_lean_multisig-0.3.0-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (2.5 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ ARM64

py_lean_multisig-0.3.0-cp314-cp314-macosx_11_0_arm64.whl (2.3 MB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

py_lean_multisig-0.3.0-cp313-cp313t-musllinux_1_2_x86_64.whl (2.5 MB view details)

Uploaded CPython 3.13tmusllinux: musl 1.2+ x86-64

py_lean_multisig-0.3.0-cp313-cp313t-musllinux_1_2_aarch64.whl (2.6 MB view details)

Uploaded CPython 3.13tmusllinux: musl 1.2+ ARM64

py_lean_multisig-0.3.0-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (2.4 MB view details)

Uploaded CPython 3.13tmanylinux: glibc 2.17+ ARM64

py_lean_multisig-0.3.0-cp313-cp313-musllinux_1_2_x86_64.whl (2.5 MB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ x86-64

py_lean_multisig-0.3.0-cp313-cp313-musllinux_1_2_aarch64.whl (2.6 MB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ ARM64

py_lean_multisig-0.3.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.7 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

py_lean_multisig-0.3.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (2.5 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ARM64

py_lean_multisig-0.3.0-cp313-cp313-macosx_11_0_arm64.whl (2.3 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

py_lean_multisig-0.3.0-cp312-cp312-musllinux_1_2_x86_64.whl (2.5 MB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ x86-64

py_lean_multisig-0.3.0-cp312-cp312-musllinux_1_2_aarch64.whl (2.6 MB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ ARM64

py_lean_multisig-0.3.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.7 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

py_lean_multisig-0.3.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (2.5 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64

py_lean_multisig-0.3.0-cp312-cp312-macosx_11_0_arm64.whl (2.3 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

py_lean_multisig-0.3.0-cp311-cp311-musllinux_1_2_x86_64.whl (2.5 MB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ x86-64

py_lean_multisig-0.3.0-cp311-cp311-musllinux_1_2_aarch64.whl (2.6 MB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ ARM64

py_lean_multisig-0.3.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.7 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

py_lean_multisig-0.3.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (2.5 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64

py_lean_multisig-0.3.0-cp311-cp311-macosx_11_0_arm64.whl (2.3 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

File details

Details for the file py_lean_multisig-0.3.0.tar.gz.

File metadata

  • Download URL: py_lean_multisig-0.3.0.tar.gz
  • Upload date:
  • Size: 40.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for py_lean_multisig-0.3.0.tar.gz
Algorithm Hash digest
SHA256 4c43d89bcc620718e744f8a5541c928dfcf83501b89bbe63fce37eeba8fe4b56
MD5 ea2ae7a516cd1ae10895a85b22baa491
BLAKE2b-256 a3efe9f5d230ecd37acb260bc36e4fe9626f27b8a4f9af0f807456bd4e973117

See more details on using hashes here.

Provenance

The following attestation bundles were made for py_lean_multisig-0.3.0.tar.gz:

Publisher: release.yml on ethereum/py-lean-multisig

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file py_lean_multisig-0.3.0-pp311-pypy311_pp73-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for py_lean_multisig-0.3.0-pp311-pypy311_pp73-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 5bb123b8e093f65308b429318af5c9f609af8c59ede57af990ad02c4c774e925
MD5 155816bd8e2debc77d0ef42b65352835
BLAKE2b-256 56956958aee8421588a19ec9b87ccb4ff8bf26ad1dd5c5a1313eb3c72bdf4043

See more details on using hashes here.

Provenance

The following attestation bundles were made for py_lean_multisig-0.3.0-pp311-pypy311_pp73-musllinux_1_2_x86_64.whl:

Publisher: release.yml on ethereum/py-lean-multisig

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file py_lean_multisig-0.3.0-pp311-pypy311_pp73-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for py_lean_multisig-0.3.0-pp311-pypy311_pp73-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 9ce90702601af021540272b07573563c7bf00d67e87cbf513d1dd0270b497504
MD5 c1aac12fc8bce95f824bd68b6bfff713
BLAKE2b-256 b3114c85104c7e1e13004ead4e0c578834bc433dab42e0df56dab1f0ad0b2b06

See more details on using hashes here.

Provenance

The following attestation bundles were made for py_lean_multisig-0.3.0-pp311-pypy311_pp73-musllinux_1_2_aarch64.whl:

Publisher: release.yml on ethereum/py-lean-multisig

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file py_lean_multisig-0.3.0-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for py_lean_multisig-0.3.0-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 6477012d1c9ba2f9e9a2404d259202a15690410e67f2f3a73fc017a879037acc
MD5 665342f1eb989bc25a2905b82754e792
BLAKE2b-256 bc786f5da32e1acfc4ac1f8013aa0aad3dff81df5927020eaa8122e3d6fc50ca

See more details on using hashes here.

Provenance

The following attestation bundles were made for py_lean_multisig-0.3.0-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: release.yml on ethereum/py-lean-multisig

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file py_lean_multisig-0.3.0-pp311-pypy311_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for py_lean_multisig-0.3.0-pp311-pypy311_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 ebed9c93741ad246fd625429638a9efa0f9acaf461d659e3b62477a7edbb6250
MD5 225adbb7f64e7df6e24b0cc051d0a782
BLAKE2b-256 d0ac35e04b2cf85a8daab117f18c2778614a9b64a66782b45d062a596d3ab9ab

See more details on using hashes here.

Provenance

The following attestation bundles were made for py_lean_multisig-0.3.0-pp311-pypy311_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: release.yml on ethereum/py-lean-multisig

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file py_lean_multisig-0.3.0-cp314-cp314t-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for py_lean_multisig-0.3.0-cp314-cp314t-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 6f3df3d5c6f3e1091a4145f10967f744aa4f8b613ed05fb95b0b1d061077f877
MD5 31c30811181bf50c114c02902d35a4e8
BLAKE2b-256 97d37430dafe1be49391aa260611196641e9c4321c1093367a30ac41c1d74d9c

See more details on using hashes here.

Provenance

The following attestation bundles were made for py_lean_multisig-0.3.0-cp314-cp314t-musllinux_1_2_x86_64.whl:

Publisher: release.yml on ethereum/py-lean-multisig

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file py_lean_multisig-0.3.0-cp314-cp314t-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for py_lean_multisig-0.3.0-cp314-cp314t-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 0cf208e4ec49de76509e37547d828deec362b7572e0c7ad14c07e667ad1ff2a8
MD5 577c8b71c78a2e04968d54a7f73f2cf3
BLAKE2b-256 e415a92eecb28d953116ba3c8b2c3e64ce40a5f19ec051e5f77a7e519b93c137

See more details on using hashes here.

Provenance

The following attestation bundles were made for py_lean_multisig-0.3.0-cp314-cp314t-musllinux_1_2_aarch64.whl:

Publisher: release.yml on ethereum/py-lean-multisig

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file py_lean_multisig-0.3.0-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for py_lean_multisig-0.3.0-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 eca09b0d9146529e97d9c1467b0f945a9f520562649a66a7d9d698d42ec5b273
MD5 6a99442cacb8f793e894344a594f5946
BLAKE2b-256 15efd1490cf310d83e6073fd25ed702a5419ab4bba0fd22be1b0192c8bd00ae8

See more details on using hashes here.

Provenance

The following attestation bundles were made for py_lean_multisig-0.3.0-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: release.yml on ethereum/py-lean-multisig

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file py_lean_multisig-0.3.0-cp314-cp314-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for py_lean_multisig-0.3.0-cp314-cp314-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 041816f825f5750364bb63277537bc8ac8e5fd4a4fb2b4fa89313d793dc4043c
MD5 da77a1a2914dda985d162db5117064c7
BLAKE2b-256 85ecc36ede4141186187d98c0116f7d4c969693cd85182c77b7bce6c07348c4c

See more details on using hashes here.

Provenance

The following attestation bundles were made for py_lean_multisig-0.3.0-cp314-cp314-musllinux_1_2_x86_64.whl:

Publisher: release.yml on ethereum/py-lean-multisig

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file py_lean_multisig-0.3.0-cp314-cp314-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for py_lean_multisig-0.3.0-cp314-cp314-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 c2e47bbde1887e5103bbf6ab94f7174acf9ffdbfbbedf3a390dc1c15af00fa7d
MD5 42a45321ac60ca7acb1eb8ba919ffeeb
BLAKE2b-256 469f2378f522db0159aff3d1491f8928b69643f6af7bbd01ccf762f0a527baf7

See more details on using hashes here.

Provenance

The following attestation bundles were made for py_lean_multisig-0.3.0-cp314-cp314-musllinux_1_2_aarch64.whl:

Publisher: release.yml on ethereum/py-lean-multisig

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file py_lean_multisig-0.3.0-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for py_lean_multisig-0.3.0-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 3aba17bc6142a11acc02a508f00c7c7cf7ed01de6a36e2e3c0a143eec7a1a2db
MD5 44a3fb6881660fd739ba6de58132cb03
BLAKE2b-256 7e91c2f2d720394f562c2bdc65e60e74f506c37eedb747350789db54c9717df4

See more details on using hashes here.

Provenance

The following attestation bundles were made for py_lean_multisig-0.3.0-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: release.yml on ethereum/py-lean-multisig

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file py_lean_multisig-0.3.0-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for py_lean_multisig-0.3.0-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 a0b4fa37c980fc916e200634c768bcc6c74d7956bf9698636251385f41f48744
MD5 96366e6f1bea8dae7b1dd7e89f150ffe
BLAKE2b-256 d3cbd9dd7037ca973490c5fe9f79ec56bd983ed2d5785d53eb76b3d277c5991b

See more details on using hashes here.

Provenance

The following attestation bundles were made for py_lean_multisig-0.3.0-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: release.yml on ethereum/py-lean-multisig

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file py_lean_multisig-0.3.0-cp314-cp314-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for py_lean_multisig-0.3.0-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 0de1c38b1344afffe83299853089e86beff3fb5f3a86539988930deff8ec1421
MD5 e83461ae36da413d6db3cc9a5ce0f6ab
BLAKE2b-256 8f0416ce02ff84a2f6576a9d4779e68a62a9084c79bcf4d60d67d5fb3068b749

See more details on using hashes here.

Provenance

The following attestation bundles were made for py_lean_multisig-0.3.0-cp314-cp314-macosx_11_0_arm64.whl:

Publisher: release.yml on ethereum/py-lean-multisig

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file py_lean_multisig-0.3.0-cp313-cp313t-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for py_lean_multisig-0.3.0-cp313-cp313t-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 4f9d3f1fd313cd0b39800bc945f9d9c4bc6a69d12f64cd01a2db3f39ee3a6488
MD5 8d9d75de1373664f3bc535a2439b2091
BLAKE2b-256 11745dbdabe02b881a44f3bb88f9873160796591231140bad0ee068a821531ab

See more details on using hashes here.

Provenance

The following attestation bundles were made for py_lean_multisig-0.3.0-cp313-cp313t-musllinux_1_2_x86_64.whl:

Publisher: release.yml on ethereum/py-lean-multisig

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file py_lean_multisig-0.3.0-cp313-cp313t-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for py_lean_multisig-0.3.0-cp313-cp313t-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 18d91d4671d14ec2b32af97bb8a6143f87076d7035ad2b969011b836972d4cd9
MD5 e05879f63051b31c74c9d4c4f5d6351e
BLAKE2b-256 275974fb3b3cb749f5be01ba2fd76878b55b8909d92acc02170c761b4fc6788a

See more details on using hashes here.

Provenance

The following attestation bundles were made for py_lean_multisig-0.3.0-cp313-cp313t-musllinux_1_2_aarch64.whl:

Publisher: release.yml on ethereum/py-lean-multisig

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file py_lean_multisig-0.3.0-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for py_lean_multisig-0.3.0-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 e8a0276635c307db69dda65258661f51504da45c093e58d340d4190229c5ab47
MD5 1cf684a6553c3e6c122da0de39ae4451
BLAKE2b-256 25bffd8db24a1d40bb23665e81ae0aa7c8c05541059af72c0134eaca1cff4cd2

See more details on using hashes here.

Provenance

The following attestation bundles were made for py_lean_multisig-0.3.0-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: release.yml on ethereum/py-lean-multisig

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file py_lean_multisig-0.3.0-cp313-cp313-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for py_lean_multisig-0.3.0-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 ac1d48726d72a5c812311c8d5d4cdc5a7e7caa9a21cb23b2730846321686caa0
MD5 a2a549e41ec485d7c5fc93c637450ab7
BLAKE2b-256 48d424008c88eac9cc6cd2d15b6ea8311a096b29f4918c9ec4a36a02bc026a89

See more details on using hashes here.

Provenance

The following attestation bundles were made for py_lean_multisig-0.3.0-cp313-cp313-musllinux_1_2_x86_64.whl:

Publisher: release.yml on ethereum/py-lean-multisig

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file py_lean_multisig-0.3.0-cp313-cp313-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for py_lean_multisig-0.3.0-cp313-cp313-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 f5dbad0a6130cdd4d238f06c81990bda6f1e16f543ce2f3dd2078c025178b87b
MD5 22c65f11b262526c9b1dabd655041ea0
BLAKE2b-256 dd8844bff1df20952a12cd3acb75686b7f41a6bb8f31475898c79f13b5002e3b

See more details on using hashes here.

Provenance

The following attestation bundles were made for py_lean_multisig-0.3.0-cp313-cp313-musllinux_1_2_aarch64.whl:

Publisher: release.yml on ethereum/py-lean-multisig

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file py_lean_multisig-0.3.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for py_lean_multisig-0.3.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 99c0d843f6b9f4d0a2d48ab0841375e9e24f81c14f9ee4fe1463c09c04305bf3
MD5 216dd03aab2cd568ecfac29db0b5239e
BLAKE2b-256 efeb3dd9d7163eea5bca2bed6740db2635f689c83882db28f5be0c71798411ba

See more details on using hashes here.

Provenance

The following attestation bundles were made for py_lean_multisig-0.3.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: release.yml on ethereum/py-lean-multisig

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file py_lean_multisig-0.3.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for py_lean_multisig-0.3.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 88b448ccc43a48ca2c2c5d8c3b8e1a2e853cdf0927d2bf65d297c84786af891c
MD5 847e340af9b7697a8b86342f7f2f6578
BLAKE2b-256 8c930f7206f9270f5c2636f95358d1e8754ee8a91a658b2dc70cd750f87d3d0e

See more details on using hashes here.

Provenance

The following attestation bundles were made for py_lean_multisig-0.3.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: release.yml on ethereum/py-lean-multisig

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file py_lean_multisig-0.3.0-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for py_lean_multisig-0.3.0-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 d5a95fcc9263ecf34a15f2d58fddece2f38f4de67dd534e5513939b2f7665b8d
MD5 96d4bfce2c92f2557f32a148538cc4b6
BLAKE2b-256 0863858a1e608044533af33f17e4094b5c41bebd588ed749ae461efd6f3cc48e

See more details on using hashes here.

Provenance

The following attestation bundles were made for py_lean_multisig-0.3.0-cp313-cp313-macosx_11_0_arm64.whl:

Publisher: release.yml on ethereum/py-lean-multisig

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file py_lean_multisig-0.3.0-cp312-cp312-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for py_lean_multisig-0.3.0-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 93e7f7c12b33248f2673c876bfa0b163dca1ead2adc63fe532128de3935792af
MD5 b29f5fc023787b486a78b7ba334773c5
BLAKE2b-256 f63cf8b26d08da2b499160486dc8781d66ff074ea2683e2a74b8560d46207653

See more details on using hashes here.

Provenance

The following attestation bundles were made for py_lean_multisig-0.3.0-cp312-cp312-musllinux_1_2_x86_64.whl:

Publisher: release.yml on ethereum/py-lean-multisig

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file py_lean_multisig-0.3.0-cp312-cp312-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for py_lean_multisig-0.3.0-cp312-cp312-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 bef36d5a7d5ad29fc58df54c08119ee4e7d575b9cbf5a4386cd77c0364a4a15b
MD5 59013d9f85a24cdefa02df73cce88a68
BLAKE2b-256 28643256580471d3f21914caccae08b62ed486dfa9a0fcf980931b4ced8da761

See more details on using hashes here.

Provenance

The following attestation bundles were made for py_lean_multisig-0.3.0-cp312-cp312-musllinux_1_2_aarch64.whl:

Publisher: release.yml on ethereum/py-lean-multisig

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file py_lean_multisig-0.3.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for py_lean_multisig-0.3.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 399feb251fb22ba4f67b9a8891831143dd9db4453d5b1d5c370926fa0feb7805
MD5 fc69d0bef79fab1dd4e7a78432e65e73
BLAKE2b-256 caa7f7b9db5d548477a581af2c1135d16a93fa19956410663327e2a1a40beb22

See more details on using hashes here.

Provenance

The following attestation bundles were made for py_lean_multisig-0.3.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: release.yml on ethereum/py-lean-multisig

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file py_lean_multisig-0.3.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for py_lean_multisig-0.3.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 06295316daeeec02f004d9c1c1ca4451c502bd37cf7b82f7fb1983f0a7668b63
MD5 172441f3509b8e888294d7df4ba1646b
BLAKE2b-256 b7f169aab21c1c39886124b81a1bfa635ab15b658d6d04af8b1ece369e1c79b9

See more details on using hashes here.

Provenance

The following attestation bundles were made for py_lean_multisig-0.3.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: release.yml on ethereum/py-lean-multisig

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file py_lean_multisig-0.3.0-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for py_lean_multisig-0.3.0-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 875673486ee0d8f9f5e49ef2ce44e92e39259e181ac359a141dcd085c9795b44
MD5 259495b8c0bdf0a661fde2aee2e4fe54
BLAKE2b-256 97024159a1307306693b213fbfdfa9aafb3bc7d46ed4ab4e18cf5eff6c04db77

See more details on using hashes here.

Provenance

The following attestation bundles were made for py_lean_multisig-0.3.0-cp312-cp312-macosx_11_0_arm64.whl:

Publisher: release.yml on ethereum/py-lean-multisig

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file py_lean_multisig-0.3.0-cp311-cp311-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for py_lean_multisig-0.3.0-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 5e236be681952ddd69997fff37f06b5eb343bbde1a94c207f6080153b260a45e
MD5 51998982175b474e93008441ef75d965
BLAKE2b-256 924ebdac6d7737502b0742955fead5fad659d0dada247e9a571f66ce60805d4f

See more details on using hashes here.

Provenance

The following attestation bundles were made for py_lean_multisig-0.3.0-cp311-cp311-musllinux_1_2_x86_64.whl:

Publisher: release.yml on ethereum/py-lean-multisig

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file py_lean_multisig-0.3.0-cp311-cp311-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for py_lean_multisig-0.3.0-cp311-cp311-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 9a2aeab15751ea8c4b48f5207a93c73bb88847fdcddfee63448dd0d7f919d824
MD5 a049821f1c77fa4283c159b6f7a90201
BLAKE2b-256 f94161302fcab391e378e22703746e848e1e76ac8fae43bcb18a2f8be96b93cf

See more details on using hashes here.

Provenance

The following attestation bundles were made for py_lean_multisig-0.3.0-cp311-cp311-musllinux_1_2_aarch64.whl:

Publisher: release.yml on ethereum/py-lean-multisig

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file py_lean_multisig-0.3.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for py_lean_multisig-0.3.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 1ffb460435240d783bdd90f7dc281273087acf17c3ccf5d313d7f6425c10e8cd
MD5 e69cecea5b155966a985c789b9647c1a
BLAKE2b-256 f11847441c6ce3a16eb9dc4f69c98dc3484f60258e7b6e836be18e213e7ad3fc

See more details on using hashes here.

Provenance

The following attestation bundles were made for py_lean_multisig-0.3.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: release.yml on ethereum/py-lean-multisig

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file py_lean_multisig-0.3.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for py_lean_multisig-0.3.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 e5e13ef41f170eff5817055dcb605db58757bdf39b9a9b27cbd0c1175d65a6d0
MD5 b59281bf00dd94db7c6151bf6c2053c2
BLAKE2b-256 bb39b5a68f2a782e168d6da6187aac041cda7d6f8c997c2b6e4bcc73dfd25294

See more details on using hashes here.

Provenance

The following attestation bundles were made for py_lean_multisig-0.3.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: release.yml on ethereum/py-lean-multisig

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file py_lean_multisig-0.3.0-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for py_lean_multisig-0.3.0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 7a946c3ada732835a2f595e3af8082f1d2cfe687a34415ce5933f030f49914f0
MD5 52bf4d631dcfce9f2f3c46173e7cb0be
BLAKE2b-256 da236de3bfcbaa7a972f1c28e1fd90227fa9ba2684913065db45cd4db4fd9705

See more details on using hashes here.

Provenance

The following attestation bundles were made for py_lean_multisig-0.3.0-cp311-cp311-macosx_11_0_arm64.whl:

Publisher: release.yml on ethereum/py-lean-multisig

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page