Skip to content

Commit f81ab3b

Browse files
Add YUL documentation (#50)
1 parent 4cf587d commit f81ab3b

2 files changed

Lines changed: 17 additions & 3 deletions

File tree

β€Ždocs/3. Verification/9. vyper.mdβ€Ž

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,14 +8,11 @@ slug: /vyper
88

99
Sourcify supports Vyper verification via the `/v2/verify` API endpoint, you can find more information in the [APIs documentation](/docs/api/).
1010

11-
Vyper doesn't support [metadata](/docs/metadata/), so most of Sourcify features are not available for Vyper.
12-
1311
## Vyper Feature Support
1412

1513
- 🟒 **Match**: Sourcify uses the metadata hash as a compilation fingerprint (you can read more about it [here](/docs/exact-match-vs-match)), since Vyper doesn't support metadata, every Vyper match will result in a simple Match (no Exact Match). Starting from version 0.4.1 Vyper implements a similar concept called [integrity](https://docs.vyperlang.org/en/stable/compiling-a-contract.html#integrity-hash), but Sourcify doesn't support it yet.
1614
- 🟒 **Database transformations**: For more details, see the [Sourcify Database section](/docs/repository/sourcify-database/). Currently, Vyper verification supports `cborAuxdata`, `immutable` and `constructorArguments` transformations.
1715
- 🟒 **Generated metadata**: Sourcify generates a metadata file for Vyper contracts, but it was used only for compatibility with the legacy API, since everything was based on the Solidity metadata.json.
1816
- 🟑 **IPFS support**: Sourcify automatically uploads all verified contract's sources to IPFS. Even if the files are on IPFS, there is no link to them in the Vyper contract's bytecode. This is because Vyper doesn't include the metadata IPFS CID in the bytecode's auxdata.
1917
- πŸ”΄ **Exact Match**: Not possible due to lack of metadata support.
20-
- πŸ”΄ **Verification via UI**: Sourcify UI is based on the metadata and uses the stateful `/session/*` API endpoints, currently Sourcify support Vyper verification only via the stateless `/v2/verify` API endpoint.
2118
- πŸ”΄ **Monitoring**: Monitor listens for `create` operations on many chains. It attempts to fetch the sources of deployed contracts from IPFS using the metadata embedded in the bytecodes. Since Vyper doesn't support metadata, Sourcify can't fetch the sources from IPFS.
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
---
2+
id: yul
3+
title: Yul verification
4+
slug: /yul
5+
sidebar_position: 9
6+
---
7+
8+
# Yul verification
9+
10+
Sourcify supports Yul verification via the `/v2/verify` API endpoint, you can find more information in the [APIs documentation](/docs/api/).
11+
12+
## Yul Feature Support
13+
14+
- 🟒 **Match**: Sourcify uses the metadata hash as a compilation fingerprint (you can read more about it [here](/docs/exact-match-vs-match)), since Yul doesn't support metadata, every Yul match will result in a simple Match (no Exact Match).
15+
- 🟒 **Generated metadata**: Sourcify generates a metadata file for Yul contracts, but it was used only for compatibility with the legacy API, since everything was based on the Solidity metadata.json.
16+
- πŸ”΄ **ABI**: Yul compilation doesn't generate ABI.
17+
- πŸ”΄ **Exact Match**: Not possible due to lack of metadata support.

0 commit comments

Comments
Β (0)