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.4.0.tar.gz (40.6 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.4.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.4.0-pp311-pypy311_pp73-musllinux_1_2_aarch64.whl (2.6 MB view details)

Uploaded PyPymusllinux: musl 1.2+ ARM64

py_lean_multisig-0.4.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.4.0-cp315-cp315-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.7 MB view details)

Uploaded CPython 3.15manylinux: glibc 2.17+ x86-64

py_lean_multisig-0.4.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.4.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.4.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.4.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.4.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.4.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.4.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.4.0-cp314-cp314-macosx_11_0_arm64.whl (2.3 MB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

py_lean_multisig-0.4.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.4.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.4.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.4.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.4.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.4.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.4.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.4.0-cp313-cp313-macosx_11_0_arm64.whl (2.3 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

py_lean_multisig-0.4.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.4.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.4.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.4.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.4.0-cp312-cp312-macosx_11_0_arm64.whl (2.3 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

py_lean_multisig-0.4.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.4.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.4.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.4.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.4.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.4.0.tar.gz.

File metadata

  • Download URL: py_lean_multisig-0.4.0.tar.gz
  • Upload date:
  • Size: 40.6 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.4.0.tar.gz
Algorithm Hash digest
SHA256 6ca8e05b4b10d97bc1a2aafa6ed4bfa72fcaebeaf303e8a9b430495d4f3356b4
MD5 2c3a196618fd8824d1edea39c468ef6c
BLAKE2b-256 3236821fb4c35e963162c6d8a74ddfd5ea13e61d033132d2640e8a567da615b4

See more details on using hashes here.

Provenance

The following attestation bundles were made for py_lean_multisig-0.4.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.4.0-pp311-pypy311_pp73-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for py_lean_multisig-0.4.0-pp311-pypy311_pp73-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 b2a7c7e3f8fd094dcff6597128d5ea59af251b2228776ef1b88afa48bd0bf540
MD5 a2be733365717b0fe87656253084e881
BLAKE2b-256 616ca86bf23c47c0f30e14bfb466337e50b5750ad900f6fd02e3306b4b0c8b07

See more details on using hashes here.

Provenance

The following attestation bundles were made for py_lean_multisig-0.4.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.4.0-pp311-pypy311_pp73-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for py_lean_multisig-0.4.0-pp311-pypy311_pp73-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 bd0926bdc5fb00eb29377684426606bbc2163fb03d03431e9e3b81e80e18a01b
MD5 ce8c4b7458731f5818d2423737c3fc25
BLAKE2b-256 74d7b36a92892e3e08b2fa13ea21efd8cc93e8998d49c37260f1e3c5f16ce989

See more details on using hashes here.

Provenance

The following attestation bundles were made for py_lean_multisig-0.4.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.4.0-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for py_lean_multisig-0.4.0-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 722326aaac5a911e2a347f30be0566ac4c9f1341ba4683c768499f17d0cd6d95
MD5 14f9b243a91ec1951a6c55afa59a970f
BLAKE2b-256 1587ce1c70f3778413f0ba952fd540afb962c542640342d6d86d757edb434775

See more details on using hashes here.

Provenance

The following attestation bundles were made for py_lean_multisig-0.4.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.4.0-pp311-pypy311_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for py_lean_multisig-0.4.0-pp311-pypy311_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 8c1112626d294135098c9ab02f015dac24c0649cd42164d0e5f1ad8aa30c88fa
MD5 cb6fe46051827c72707bba9a09751cbe
BLAKE2b-256 9883c52da301b494b04e2b8ab008d78d588678e3b18db915b1d7cf409c2bcb3c

See more details on using hashes here.

Provenance

The following attestation bundles were made for py_lean_multisig-0.4.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.4.0-cp315-cp315-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for py_lean_multisig-0.4.0-cp315-cp315-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 c76938adf3e5dc03f1c78d6550ca0eb45781f1486d4a6d4d87744258b6f510dd
MD5 d858adb6795cdac53c994294dbcd3429
BLAKE2b-256 73130b2150eb40e4f6240f5ebdd47052d79200f4b6591cb6927418ca94a6e33c

See more details on using hashes here.

Provenance

The following attestation bundles were made for py_lean_multisig-0.4.0-cp315-cp315-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.4.0-cp314-cp314t-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for py_lean_multisig-0.4.0-cp314-cp314t-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 415c38a7a71754e7d299d5cbc71d939185652557de1b3f0b0961b12bf43b47d8
MD5 fbc7dc2bc7527107c170e45fb631450a
BLAKE2b-256 0fd8c46a522967c63c77b8697a632c4eb0ce7fe29d24b96341599d59b2cf254f

See more details on using hashes here.

Provenance

The following attestation bundles were made for py_lean_multisig-0.4.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.4.0-cp314-cp314t-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for py_lean_multisig-0.4.0-cp314-cp314t-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 a4b19a6550e000ba7a4fef5cd6bbbe5becd276dc64be2eb3a8d5d88addd383a6
MD5 16fb76f14db36918660d83c725323614
BLAKE2b-256 424604267c538cfce06436ee2589d681fb273f25485670f78e5aebb275a749a1

See more details on using hashes here.

Provenance

The following attestation bundles were made for py_lean_multisig-0.4.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.4.0-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for py_lean_multisig-0.4.0-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 0a4e5db6a82d7859296c76fda7f6e5fd4b143f2010f496ab2458e35a7594cfaf
MD5 e03691ea3f8b4063f5abae7ce583ed6f
BLAKE2b-256 44f0707600352197c3cff8091fde3e6ff7ff9ef930a62fef74d2f559fe820539

See more details on using hashes here.

Provenance

The following attestation bundles were made for py_lean_multisig-0.4.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.4.0-cp314-cp314-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for py_lean_multisig-0.4.0-cp314-cp314-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 bf2ea2db713b42368f412cfdc9b8126f774bc03962c8b2aeb28c8a812c1913e0
MD5 02c2b08f3afa7fdf7d8aeb802effe03c
BLAKE2b-256 45d467354cd70d7dc5fc1b7301077163021e2b0bbcf09268e44c7102e50d9af6

See more details on using hashes here.

Provenance

The following attestation bundles were made for py_lean_multisig-0.4.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.4.0-cp314-cp314-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for py_lean_multisig-0.4.0-cp314-cp314-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 cb770f7ee0b8a4e58101f334dbdb5c99d2da2edcd85a0ad70ef6d81687cc4609
MD5 ef63ffe94a2a6f16dad7e6a7d976edd1
BLAKE2b-256 64c8d2b70fc63ab605e163d5fe2b44e56a901802d638389892e8ca9739f6099f

See more details on using hashes here.

Provenance

The following attestation bundles were made for py_lean_multisig-0.4.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.4.0-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for py_lean_multisig-0.4.0-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 cb06deca7e181141a125e3f3773370b106f571dbe38f63ee6305333055d9e253
MD5 b403dfa8b1d92aaa7c5866e871616a2e
BLAKE2b-256 f7dc403f435a197188499b5983aa3644923d583b5e8d64420dd778857e2c9385

See more details on using hashes here.

Provenance

The following attestation bundles were made for py_lean_multisig-0.4.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.4.0-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for py_lean_multisig-0.4.0-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 c3cbd511a68688ef0e34623486a5252ca735d81045ac7ee7ae466c7d532c0377
MD5 a737488638916d1bff0db440c1072ce6
BLAKE2b-256 445041c23d41f776ac9a255d3fcbdf7ddfcb8c6ba2d6d73a0447c3273372a919

See more details on using hashes here.

Provenance

The following attestation bundles were made for py_lean_multisig-0.4.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.4.0-cp314-cp314-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for py_lean_multisig-0.4.0-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 c799fa22423c9ddf0e63412303c07b4dc602a8626c706398f7882d8fedac67bb
MD5 b946db38b0392547f016ce463038aa8f
BLAKE2b-256 7de3b7a9d74b3af044d246e16510b7c94dd5f748bdcf6a65300dec2904050622

See more details on using hashes here.

Provenance

The following attestation bundles were made for py_lean_multisig-0.4.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.4.0-cp313-cp313t-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for py_lean_multisig-0.4.0-cp313-cp313t-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 be252c0c2a9b2a10ef2ff9ad743a3af6bf509c36038a62a9cbcb83e8e5b528b8
MD5 bea46a636c094644624d702c4b326b9e
BLAKE2b-256 a17f2f2369ea1ac6abacba498360bfe4856a063210c5af1b95960edfd34cca3f

See more details on using hashes here.

Provenance

The following attestation bundles were made for py_lean_multisig-0.4.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.4.0-cp313-cp313t-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for py_lean_multisig-0.4.0-cp313-cp313t-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 b647c288ab1222173c3e363cd80b09e35c2debe935e65df8844a04d5a898c53e
MD5 7b0760da3b4db3a5ec0641894a734c1b
BLAKE2b-256 760c4d9679a4f368f28a01e7ce7b43e7a476942565fbbf7b27d8275e0a5c9c85

See more details on using hashes here.

Provenance

The following attestation bundles were made for py_lean_multisig-0.4.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.4.0-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for py_lean_multisig-0.4.0-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 5ca5400838d4f10b228bd7a35e34185a8704fad96f0f005c869d1bac39eaa295
MD5 650d5213e784fba95d7acdbe55f8d365
BLAKE2b-256 537ef67772526ebb348e3cecbf04b912610664337a0fc7f4150b684ae9fd5a72

See more details on using hashes here.

Provenance

The following attestation bundles were made for py_lean_multisig-0.4.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.4.0-cp313-cp313-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for py_lean_multisig-0.4.0-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 9ae4ed87558423e287863e87e85e9182b7e49506aa9f45108b85fe6cbb12db74
MD5 02b4e5d5840782716ae7abf6560d80e8
BLAKE2b-256 87b644b68f81a39a673ef5a35dcc8eca934cb5087f6354aedd9057b61105deef

See more details on using hashes here.

Provenance

The following attestation bundles were made for py_lean_multisig-0.4.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.4.0-cp313-cp313-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for py_lean_multisig-0.4.0-cp313-cp313-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 9c9e75838560b555d044ca6d12f3e548613e8afa3fca2a462257c504bedc8bf9
MD5 3f73ee8b561160277703db006b13582e
BLAKE2b-256 92cb1b623119b8ca39e2d43ec5165dcb05e50d1a349135503cfd0a1b487eb65a

See more details on using hashes here.

Provenance

The following attestation bundles were made for py_lean_multisig-0.4.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.4.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for py_lean_multisig-0.4.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 953f70cf83f6758f2c2b884ffb4f0263eb6253b84c339632f0be2799f12d6bd1
MD5 e960312209368d2d4ef98d47522c684a
BLAKE2b-256 c48bc3c301aa1c709523f926ba0c3d31a5acec84fea2b20d7f3777743fbc17ff

See more details on using hashes here.

Provenance

The following attestation bundles were made for py_lean_multisig-0.4.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.4.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for py_lean_multisig-0.4.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 843fe5b2a933041dc054b4b15d40d97bec41e9dfea1fe40d9e4af04701f92c9a
MD5 ce729eeb3e9dd76f92db6fb17de6db38
BLAKE2b-256 3a1ded83073243998c38ff0ab0058f015000a8ec8193af87a4c7e6bd0507b7d6

See more details on using hashes here.

Provenance

The following attestation bundles were made for py_lean_multisig-0.4.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.4.0-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for py_lean_multisig-0.4.0-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 dc1976641076258d3c6f2a9fd301f7d792bf55782806700cf718dc19c7016b34
MD5 e481bed64ab959c814929ef19aa7f840
BLAKE2b-256 bd3d84f36b69752a18f7119c9d18e69e5c4cd448d2112328f867c20ca66add6b

See more details on using hashes here.

Provenance

The following attestation bundles were made for py_lean_multisig-0.4.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.4.0-cp312-cp312-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for py_lean_multisig-0.4.0-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 37987f6d91d6075695368174d23ff934c1dca8852b3725e4ccd3d70a6fd7ca60
MD5 85c2084820fc0e7894881da2c4062ab6
BLAKE2b-256 6b4c356c2149ac6982f75c6bd40649f02f2850294d6d9e4eeb4991033a93d57c

See more details on using hashes here.

Provenance

The following attestation bundles were made for py_lean_multisig-0.4.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.4.0-cp312-cp312-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for py_lean_multisig-0.4.0-cp312-cp312-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 925837a06762bfa38deb0724dabb224bca80b7de0105fdef768777226028be0a
MD5 f290828f4b8ae10d9937c3e65572a83d
BLAKE2b-256 1b79e54b8b0c4273fa78589c054d4fd4ecac02949bec3141835541c8b3557da2

See more details on using hashes here.

Provenance

The following attestation bundles were made for py_lean_multisig-0.4.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.4.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for py_lean_multisig-0.4.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 fc9fe60d1e02f4e175deb2f02f32e9fd1a563c37937c1b46fe1d27ef3bc34859
MD5 444abec5ff938b301188e5ae2ea6d15b
BLAKE2b-256 fb86bef62b08880776aef9b929f6d50d13e98b8c2f6a8a54d8b813b9758409b2

See more details on using hashes here.

Provenance

The following attestation bundles were made for py_lean_multisig-0.4.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.4.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for py_lean_multisig-0.4.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 4dac074b0d705eb67739c0a25ed523e0df0001fb24e4d7cf430f5a2446d06371
MD5 c024f38864da4d97f82ff54de4e3c24f
BLAKE2b-256 e0555906d31b1b445b5fa64d1d6c574e7004b48ec6a6373b96be5d8875bb3104

See more details on using hashes here.

Provenance

The following attestation bundles were made for py_lean_multisig-0.4.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.4.0-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for py_lean_multisig-0.4.0-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 012c384ce23270fd6505517d46c2b22db2b46460a580ac2ac1fd2737884f63d4
MD5 539817b082606f92ea94c8d2e9296a85
BLAKE2b-256 045835bde528da4c9066a9e92cd281644d9b72387aa0fbb0dc51d1fc6fec41d5

See more details on using hashes here.

Provenance

The following attestation bundles were made for py_lean_multisig-0.4.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.4.0-cp311-cp311-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for py_lean_multisig-0.4.0-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 cab9ab8334a2fb46808665258e8228b96ed4900ae917ede6938159914180f69b
MD5 b740d0a1e906f62cb47620fe50cfa65a
BLAKE2b-256 e4d836a3f238e8a2cd9be23ba6c16bf8973e3de51abda21297a56c531da55efc

See more details on using hashes here.

Provenance

The following attestation bundles were made for py_lean_multisig-0.4.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.4.0-cp311-cp311-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for py_lean_multisig-0.4.0-cp311-cp311-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 3e4f93903eb86b2b039ac1ba78b7cbd624b300597b055247ab6ab2ee0e47bd27
MD5 956aa9eb56de30640845df3445988cce
BLAKE2b-256 2b67393b0003309764311775e7db5bfb9b6716b2553923905dc30e6896ade8fc

See more details on using hashes here.

Provenance

The following attestation bundles were made for py_lean_multisig-0.4.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.4.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for py_lean_multisig-0.4.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 c339d6eeafe8057e75f39b3da894568a7db144137229f718b03290a83b027025
MD5 497d7a41039141d265a25c8f38968034
BLAKE2b-256 1de8ef9891a454765c524d48cc17d8d91f67350c01d9f0b1c1910414e4a6f934

See more details on using hashes here.

Provenance

The following attestation bundles were made for py_lean_multisig-0.4.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.4.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for py_lean_multisig-0.4.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 69f37eb3b95c99c2014e611a8463774d8a8d15de3161f8b76e4b9e206c076253
MD5 1e14dec7ee3c4650e0e34c024b2489fb
BLAKE2b-256 6d3684d46181aa8167551602a0e570d2a6eb9b20bdf2f85a07325ec77e47ab69

See more details on using hashes here.

Provenance

The following attestation bundles were made for py_lean_multisig-0.4.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.4.0-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for py_lean_multisig-0.4.0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 b79681732d8fcde176c6ea4a76e5bba424bbdebddde5aec5e4c44879152ce962
MD5 919fb7cba259f1c8b6360cbdfa6e20b1
BLAKE2b-256 813a0ae2cbdb90a7eb8888e9d6c5f85592357788266aeb7ead0452b3e523ab77

See more details on using hashes here.

Provenance

The following attestation bundles were made for py_lean_multisig-0.4.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