Skip to main content

Extracts function selectors and arguments from EVM bytecode

Project description

EVMole

try it online npm Crates.io PyPI Go

EVMole is a powerful library that extracts information from Ethereum Virtual Machine (EVM) bytecode, including function selectors, arguments, state mutability, and storage layout, even for unverified contracts.

Key Features

  • Multi-language support: Available as JavaScript, Rust, Python, and Go libraries.
  • High accuracy and performance: Outperforms existing tools.
  • Broad compatibility: Tested with both Solidity and Vyper compiled contracts.
  • Lightweight: Clean codebase with minimal external dependencies.
  • Unverified contract analysis: Extracts information even from unverified bytecode.

Usage

JavaScript

API documentation and usage examples (node, vite, webpack, parcel, esbuild)

$ npm i evmole
import { contractInfo } from 'evmole'

const code = '0x6080604052348015600e575f80fd5b50600436106030575f3560e01c80632125b65b146034578063b69ef8a8146044575b5f80fd5b6044603f3660046046565b505050565b005b5f805f606084860312156057575f80fd5b833563ffffffff811681146069575f80fd5b925060208401356001600160a01b03811681146083575f80fd5b915060408401356001600160e01b0381168114609d575f80fd5b80915050925092509256'

console.log( contractInfo(code, {selectors:true, arguments:true, stateMutability:true}) )
// {
//   functions: [
//     {
//       selector: '2125b65b',
//       bytecodeOffset: 52,
//       arguments: 'uint32,address,uint224',
//       stateMutability: 'pure'
//     },
//     ...

Rust

Documentation is available on docs.rs

let code = hex::decode("6080604052348015600e575f80fd5b50600436106030575f3560e01c80632125b65b146034578063b69ef8a8146044575b5f80fd5b6044603f3660046046565b505050565b005b5f805f606084860312156057575f80fd5b833563ffffffff811681146069575f80fd5b925060208401356001600160a01b03811681146083575f80fd5b915060408401356001600160e01b0381168114609d575f80fd5b80915050925092509256").unwrap();

println!("{:?}", evmole::contract_info(
    evmole::ContractInfoArgs::new(&code)
        .with_selectors()
        .with_arguments()
        .with_state_mutability()
    )
);
// Contract {
//     functions: Some([
//         Function {
//             selector: [33, 37, 182, 91],
//             bytecode_offset: 52,
//             arguments: Some([Uint(32), Address, Uint(224)]),
//             state_mutability: Some(Pure)
//         },
//         ...

Python

API documentation

$ pip install evmole --upgrade
from evmole import contract_info

code = '0x6080604052348015600e575f80fd5b50600436106030575f3560e01c80632125b65b146034578063b69ef8a8146044575b5f80fd5b6044603f3660046046565b505050565b005b5f805f606084860312156057575f80fd5b833563ffffffff811681146069575f80fd5b925060208401356001600160a01b03811681146083575f80fd5b915060408401356001600160e01b0381168114609d575f80fd5b80915050925092509256'

print( contract_info(code, selectors=True, arguments=True, state_mutability=True) )
# Contract(
#     functions=[
#     Function(
#             selector=2125b65b,
#             bytecode_offset=52,
#             arguments=uint32,address,uint224,
#             state_mutability=pure),
#     ...

Go

API documentation

$ go get github.com/cdump/evmole/go
package main

import (
    "context"
    "encoding/hex"
    "fmt"

    "github.com/cdump/evmole/go"
)

func main() {
    code, _ := hex.DecodeString("6080604052348015600e575f80fd5b50600436106030575f3560e01c80632125b65b146034578063b69ef8a8146044575b5f80fd5b6044603f3660046046565b505050565b005b5f805f606084860312156057575f80fd5b833563ffffffff811681146069575f80fd5b925060208401356001600160a01b03811681146083575f80fd5b915060408401356001600160e01b0381168114609d575f80fd5b80915050925092509256")

    info, _ := evmole.ContractInfo(context.Background(), code, evmole.Options{
        Selectors:       true,
        Arguments:       true,
        StateMutability: true,
    })

    for _, fn := range info.Functions {
        fmt.Printf("%s: %s @ %d\n", fn.Selector, *fn.Arguments, fn.BytecodeOffset)
    }
    // 2125b65b: uint32,address,uint224 @ 52
    // b69ef8a8:  @ 68
}

Foundry

Foundry's cast uses the Rust implementation of EVMole

$ cast selectors $(cast code 0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2)
0x06fdde03                           view
0x095ea7b3  address,uint256          nonpayable
0x18160ddd                           view
0x23b872dd  address,address,uint256  nonpayable
...

$ cast selectors --resolve $(cast code 0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2)
0x06fdde03                           view        name()
0x095ea7b3  address,uint256          nonpayable  approve(address,uint256)
0x18160ddd                           view        totalSupply()
0x23b872dd  address,address,uint256  nonpayable  transferFrom(address,address,uint256)
...

Benchmark

function selectors

FP/FN - False Positive/False Negative errors; smaller is better

Dataset evmole rs · js · py · go whatsabi sevm evmhound heimdall
largest1k
1000
addresses

24427
functions
FP addrs 1 🥈 0 🥇 0 🥇 75 18
FN addrs 0 🥇 0 🥇 0 🥇 40 103
FP funcs 192 🥈 0 🥇 0 🥇 720 600
FN funcs 0 🥇 0 🥇 0 🥇 191 114
Time 18ms · 0.2s · 22ms · 69ms 2.3s 30s(*) 56ms 371s(*)
random50k
50000
addresses

1171102
functions
FP addrs 1 🥇 43 1 693 3
FN addrs 9 🥇 11 10 2903 4669
FP funcs 3 🥇 51 3 10798 29
FN funcs 10 🥇 12 11 3538 4943
Time 0.5s · 3.1s · 0.6s · 3.1s 30s 440s(*) 1.6s 8684s(*)
vyper
780
addresses

21244
functions
FP addrs 0 🥇 30 0 19 0
FN addrs 0 🥇 780 0 300 780
FP funcs 0 🥇 30 0 19 0
FN funcs 0 🥇 21244 0 8273 21244
Time 9ms · 99ms · 11ms · 42ms 2.0s 34s(*) 26ms 28s(*)

function arguments

Errors - when at least 1 argument is incorrect: (uint256,string)(uint256,bytes)

Dataset evmole rs · js · py · go heimdall
largest1k
24427
functions
Errors 14.0% 🥇
3410
31.1%
7603
Time 0.6s · 1.3s · 0.7s · 1.8s 370s(*)
random50k
1171102
functions
Errors 4.5% 🥇
52664
19.4%
227077
Time 16s · 31s · 20s · 48s 8579s(*)
vyper
21244
functions
Errors 46.7% 🥇
9914
100.0%
21244
Time 0.5s · 1.1s · 0.6s · 1.8s 29s(*)

function state mutability

Errors - Results are not equal (treating view and pure as equivalent to nonpayable)

Errors strict - Results are strictly unequal (nonpayableview). Some ABIs mark pure/view functions as nonpayable, so not all strict errors indicate real issues.

Dataset evmole rs · js · py · go whatsabi sevm heimdall
largest1k
24427
functions
Errors 0.0% 🥇
0
68.1%
16623
2.1%
501
25.7%
6268
Errors strict 18.6% 🥇
4549
79.4%
19393
59.0%
14417
54.8%
13386
Time 10s · 9.7s · 9.7s · 25s 2.5s 27s(*) 371s(*)
random50k
1160861
functions
Errors 0.0% 🥇
44
30.2%
351060
0.3%
3370
11.5%
133471
Errors strict 6.8% 🥇
78359
58.2%
675111
55.7%
646831
27.6%
320264
Time 201s · 184s · 200s · 427s 51s 2261s(*) 8334s(*)
vyper
21166
functions
Errors 0.5% 🥇
110
100.0%
21166
76.3%
16150
100.0%
21166
Errors strict 4.0% 🥇
850
100.0%
21166
90.2%
19092
100.0%
21166
Time 11s · 8.7s · 10s · 22s 1.8s 35s(*) 29s(*)

Control Flow Graph

False Negatives - Valid blocks possibly incorrectly marked unreachable by CFG analysis. Lower count usually indicates better precision.

evmole rs · js · py · go ethersolve evm-cfg sevm heimdall-rs evm-cfg-builder
Basic Blocks 97.2% 🥇
663214
93.8%
640383
63.0%
430011
41.4%
282599
31.9%
217924
21.7%
148166
False Negatives 2.8% 🥇
19227
6.2%
42058
37.0%
252430
58.6%
399842
68.1%
464517
78.3%
534275
Time 15s · 20s · 13s · 42s 643s 49s 28s 206s 158s

dataset largest1k, 1000 contracts, 682,441 blocks

notes

See benchmark/README.md for the methodology and commands to reproduce these results

versions: evmole v0.8.3; whatsabi v0.25.0; sevm v0.7.4; evm-hound-rs v0.1.4; heimdall-rs v0.8.6

(*): sevm and heimdall-rs are full decompilers, not limited to extracting function selectors

How it works

EVMole uses symbolic execution with a custom EVM implementation to trace how CALLDATA flows through the bytecode:

This approach is more accurate than static pattern matching because it follows the actual execution paths the EVM would take, correctly handling complex dispatchers, proxy patterns, and compiler-specific optimizations from both Solidity and Vyper.

Talks

License

MIT

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

evmole-0.8.4.tar.gz (97.5 kB view details)

Uploaded Source

Built Distributions

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

evmole-0.8.4-cp314-cp314-win_amd64.whl (399.7 kB view details)

Uploaded CPython 3.14Windows x86-64

evmole-0.8.4-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (470.5 kB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ x86-64

evmole-0.8.4-cp314-cp314-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl (854.5 kB view details)

Uploaded CPython 3.14macOS 10.12+ universal2 (ARM64, x86-64)macOS 10.12+ x86-64macOS 11.0+ ARM64

evmole-0.8.4-cp313-cp313-win_amd64.whl (399.5 kB view details)

Uploaded CPython 3.13Windows x86-64

evmole-0.8.4-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (470.6 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

evmole-0.8.4-cp313-cp313-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl (854.4 kB view details)

Uploaded CPython 3.13macOS 10.12+ universal2 (ARM64, x86-64)macOS 10.12+ x86-64macOS 11.0+ ARM64

evmole-0.8.4-cp312-cp312-win_amd64.whl (400.1 kB view details)

Uploaded CPython 3.12Windows x86-64

evmole-0.8.4-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (471.3 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

evmole-0.8.4-cp312-cp312-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl (855.8 kB view details)

Uploaded CPython 3.12macOS 10.12+ universal2 (ARM64, x86-64)macOS 10.12+ x86-64macOS 11.0+ ARM64

evmole-0.8.4-cp311-cp311-win_amd64.whl (401.8 kB view details)

Uploaded CPython 3.11Windows x86-64

evmole-0.8.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (470.5 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

evmole-0.8.4-cp311-cp311-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl (855.3 kB view details)

Uploaded CPython 3.11macOS 10.12+ universal2 (ARM64, x86-64)macOS 10.12+ x86-64macOS 11.0+ ARM64

evmole-0.8.4-cp310-cp310-win_amd64.whl (401.7 kB view details)

Uploaded CPython 3.10Windows x86-64

evmole-0.8.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (470.4 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

evmole-0.8.4-cp310-cp310-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl (855.0 kB view details)

Uploaded CPython 3.10macOS 10.12+ universal2 (ARM64, x86-64)macOS 10.12+ x86-64macOS 11.0+ ARM64

File details

Details for the file evmole-0.8.4.tar.gz.

File metadata

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

File hashes

Hashes for evmole-0.8.4.tar.gz
Algorithm Hash digest
SHA256 07d1e8e441290c0edb4ff9d4eed99b6642c0c804819fa6857a29d85bcb18602f
MD5 980e42f83d8feb55d748fe0213ac3940
BLAKE2b-256 cef2a835857e534cb7beb345fe5eeae1e50f78f9a1a62f4b596cab2c0f465832

See more details on using hashes here.

Provenance

The following attestation bundles were made for evmole-0.8.4.tar.gz:

Publisher: build.yml on cdump/evmole

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

File details

Details for the file evmole-0.8.4-cp314-cp314-win_amd64.whl.

File metadata

  • Download URL: evmole-0.8.4-cp314-cp314-win_amd64.whl
  • Upload date:
  • Size: 399.7 kB
  • Tags: CPython 3.14, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for evmole-0.8.4-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 b20e3250e5daaed3d4f2571b1869311ab5d7ffa32651479ab91436fe315be05f
MD5 fb78c32919dac80dae4f6d07231843a0
BLAKE2b-256 b086d97bf6cd8491504defa3112fa129e612e3e46501112b844fd60fb42711c6

See more details on using hashes here.

Provenance

The following attestation bundles were made for evmole-0.8.4-cp314-cp314-win_amd64.whl:

Publisher: build.yml on cdump/evmole

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

File details

Details for the file evmole-0.8.4-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for evmole-0.8.4-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 f95a9a7779effb192c1b12bac0e14224fed661f69129dabd5ae7f73e9c369e50
MD5 929880cda04af81dc5564fb55e4092aa
BLAKE2b-256 0456910da3e0edc85371a375d549d62a74cf7aaa6ee2351af6a0f7d7145546ff

See more details on using hashes here.

Provenance

The following attestation bundles were made for evmole-0.8.4-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: build.yml on cdump/evmole

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

File details

Details for the file evmole-0.8.4-cp314-cp314-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl.

File metadata

File hashes

Hashes for evmole-0.8.4-cp314-cp314-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl
Algorithm Hash digest
SHA256 6d1323c8c16cd38926ba365d0fbd4ae24bf36512698cd8c004b463e250ce42b1
MD5 462d9405d48c2abe5a66a53d9dc6bfb2
BLAKE2b-256 5e2ebe45aa5a0cb97061c3ac2104fdca03b75cf98bd5e2be17777a855b849a7f

See more details on using hashes here.

Provenance

The following attestation bundles were made for evmole-0.8.4-cp314-cp314-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl:

Publisher: build.yml on cdump/evmole

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

File details

Details for the file evmole-0.8.4-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: evmole-0.8.4-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 399.5 kB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for evmole-0.8.4-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 01dd5282869540408b25adfca0c26fff3bb56b8dfde10dc9e19e8b3d39520919
MD5 35e105c2b17c81431b01d3991c965e8d
BLAKE2b-256 90b2b45b0416d39f052fb2db1ee204abe3a265002f26f777d6326775a68250b1

See more details on using hashes here.

Provenance

The following attestation bundles were made for evmole-0.8.4-cp313-cp313-win_amd64.whl:

Publisher: build.yml on cdump/evmole

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

File details

Details for the file evmole-0.8.4-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for evmole-0.8.4-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 9de44a6059a64f3568555fa3ee76f7941cb07980b5c19da7acbc925992cea27e
MD5 0471abafa4b65798f732277543c37e9a
BLAKE2b-256 f3e7562e01f068b41bc85d415641d7213691f9ae6b4811824813b9f5b3f87683

See more details on using hashes here.

Provenance

The following attestation bundles were made for evmole-0.8.4-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: build.yml on cdump/evmole

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

File details

Details for the file evmole-0.8.4-cp313-cp313-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl.

File metadata

File hashes

Hashes for evmole-0.8.4-cp313-cp313-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl
Algorithm Hash digest
SHA256 8b6125096b96ebff3a1a48d705f0c7b3bdfd634d2b5bb33bd59b26b120a9d5be
MD5 56275790e76ccf92c0f28caaeec22ed3
BLAKE2b-256 8435e8d841f473b9b1b47fecf8d58190fc387087d420adcbc5b9c2d221dbc9d5

See more details on using hashes here.

Provenance

The following attestation bundles were made for evmole-0.8.4-cp313-cp313-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl:

Publisher: build.yml on cdump/evmole

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

File details

Details for the file evmole-0.8.4-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: evmole-0.8.4-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 400.1 kB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for evmole-0.8.4-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 7b98eed588894fb723f9d7faa88754e6a87e6049f83b956d1d9fe628c9e63d7b
MD5 1e8aaa255406ae2047d9813856bd0edd
BLAKE2b-256 07bc9843c717c1396be166441da4c239ee736671f2e8fdaa7f8130f9b1955de7

See more details on using hashes here.

Provenance

The following attestation bundles were made for evmole-0.8.4-cp312-cp312-win_amd64.whl:

Publisher: build.yml on cdump/evmole

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

File details

Details for the file evmole-0.8.4-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for evmole-0.8.4-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 31bae3a6d7b7f71bd5a86ae06e29fca64420504382551ddbbb1b41e451708019
MD5 ade5448a35bbd11703a59d4a98eb207e
BLAKE2b-256 4ed3cb2f2ccff60ba11520753c8eb4eff154b0a03d397e41d3cecb4836ad4edd

See more details on using hashes here.

Provenance

The following attestation bundles were made for evmole-0.8.4-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: build.yml on cdump/evmole

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

File details

Details for the file evmole-0.8.4-cp312-cp312-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl.

File metadata

File hashes

Hashes for evmole-0.8.4-cp312-cp312-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl
Algorithm Hash digest
SHA256 670edf3db05d9ae796808b70d7d7be1cde9808c0ed98df3640b5fb13289d06ec
MD5 61b94c8d7c0057d333b344de8dfd4a8b
BLAKE2b-256 0e01a36f66ea68abbdbbe31776ad690ec4809e988bd8a601767325cc8e6e4271

See more details on using hashes here.

Provenance

The following attestation bundles were made for evmole-0.8.4-cp312-cp312-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl:

Publisher: build.yml on cdump/evmole

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

File details

Details for the file evmole-0.8.4-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: evmole-0.8.4-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 401.8 kB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for evmole-0.8.4-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 cbb1bab0385068a56ca4f43b709f6cbfc32483d1e93733e22c97eef5fd8e33ec
MD5 6c96151160c1844cf8a07c9a4a3a1341
BLAKE2b-256 7b17cb361584ebf72798b63c528bbded1aeb79d2c1dbba3cc67371039aa01c34

See more details on using hashes here.

Provenance

The following attestation bundles were made for evmole-0.8.4-cp311-cp311-win_amd64.whl:

Publisher: build.yml on cdump/evmole

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

File details

Details for the file evmole-0.8.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for evmole-0.8.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 83299866e7c26a6cf71370e378999c3b876d7e35f4549c4b0296be8d26667a11
MD5 6e66cacd8270729b1f4b713d1b801d33
BLAKE2b-256 c8dd3a7a4b4433cb0ff490da65b7207a43fd7fd6168710435e0bc46c5213bebf

See more details on using hashes here.

Provenance

The following attestation bundles were made for evmole-0.8.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: build.yml on cdump/evmole

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

File details

Details for the file evmole-0.8.4-cp311-cp311-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl.

File metadata

File hashes

Hashes for evmole-0.8.4-cp311-cp311-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl
Algorithm Hash digest
SHA256 88a49b768dc00047201d35e91346b6cacd3ee62673c5599fa51f812b1129226c
MD5 f5b1b7021b93cd8cac680de3b3083a23
BLAKE2b-256 e135ce12f35be48099d1be0c3d3b7ed98d38eee6dd83fd0093f8ad9468081631

See more details on using hashes here.

Provenance

The following attestation bundles were made for evmole-0.8.4-cp311-cp311-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl:

Publisher: build.yml on cdump/evmole

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

File details

Details for the file evmole-0.8.4-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: evmole-0.8.4-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 401.7 kB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for evmole-0.8.4-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 c2cda5d172b4661d953d4954c3fa7c4edb18b754470ecd83b93c0914aa74934f
MD5 56c30456c44087c1bc51f736434af4b7
BLAKE2b-256 3679139612eb0532fca4fc75833cc22696266bd0924d31037cff9582e458fbac

See more details on using hashes here.

Provenance

The following attestation bundles were made for evmole-0.8.4-cp310-cp310-win_amd64.whl:

Publisher: build.yml on cdump/evmole

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

File details

Details for the file evmole-0.8.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for evmole-0.8.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 c4f11982f64fecdc00f968276c7dfff04eb6f1276f7f69baa9d24d2370dd5a6a
MD5 bee5f506f69044fe569c38c7ba6bb3e8
BLAKE2b-256 42824b9620310db96d5022bda676e066a67e8c4ff90a16c74d65dd879478153a

See more details on using hashes here.

Provenance

The following attestation bundles were made for evmole-0.8.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: build.yml on cdump/evmole

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

File details

Details for the file evmole-0.8.4-cp310-cp310-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl.

File metadata

File hashes

Hashes for evmole-0.8.4-cp310-cp310-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl
Algorithm Hash digest
SHA256 7177b499553bd166c5b21a14d3e82376c280264672f204d907130afd7f3c8722
MD5 9fcf5ea12fa7bdd82107402fc3eca82c
BLAKE2b-256 f06386a18f72769836b256a370a4488ed71254bfbcac28a47993323b3c4b1acb

See more details on using hashes here.

Provenance

The following attestation bundles were made for evmole-0.8.4-cp310-cp310-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl:

Publisher: build.yml on cdump/evmole

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