You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: blog/apiv2-lookup-endpoints/index.mdx
+5-5Lines changed: 5 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -17,23 +17,23 @@ In this post we will walkthrough the new functionality brought by these endpoint
17
17
18
18
## Background
19
19
20
-
APIv2 has been the biggest priority of our project since Q4 2024 and we aim to ship it fully by Q1 2025. We've been discussing and having fruitful conversations around how to design the new API as can be seen in the [design issue](https://github.com/ethereum/sourcify/issues/1545). Thanks everyone who contributed to the conversation!
20
+
APIv2 has been the biggest priority of our project since Q4 2024 and we aim to ship it fully by Q1 2025. We've been discussing and having fruitful conversations around how to design the new API as can be seen in the [design issue](https://github.com/argotorg/sourcify/issues/1545). Thanks everyone who contributed to the conversation!
21
21
22
22
The main problems we wanted to solve with and the main features we wanted from the APIv2 were the following:
23
23
- With the legacy API users had to wait for the response ie. wait for the compilation and the verification to finish. This can easily take couple minutes and the requests are left hanging. The new design should have ticketing/job-ids and users should poll with this id.
24
24
- The "perfect" vs "partial" naming is confusing.
25
25
- The legacy API is fully based on the metadata.json. While we want to keep full support for metadata.json verification and "perfect" matching, we wanted to have standard JSON input as our main endpoint's base.
26
26
- We were able to share a lot more data around the verification after moving from a filesystem based storage to [the database](https://docs.sourcify.dev/docs/repository/sourcify-database/) and legacy API didn't have this information.
27
27
28
-
You can read more in [this issue](https://github.com/ethereum/sourcify/issues/1470).
28
+
You can read more in [this issue](https://github.com/argotorg/sourcify/issues/1470).
29
29
30
30
(Edit: The design is live [in our docs](https://docs.sourcify.dev/docs/api/))
31
31
32
32
The design specifies endpoints to "Verify Contracts", check for "Verification Jobs", and to do "Contract Lookup". Here we'll talk about the "Contract Lookup" that we shipped. The others are still being developed.
33
33
34
34
## New endpoints
35
35
36
-
With [this release](https://github.com/ethereum/sourcify/releases/tag/sourcify-server%402.6.0) we have 2 new endpoints:
36
+
With [this release](https://github.com/argotorg/sourcify/releases/tag/sourcify-server%402.6.0) we have 2 new endpoints:
37
37
38
38
- GET `/v2/contracts/{chainId}`: retrieve the latest verified contracts for a chain
39
39
- GET `/v2/contract/{chainId}/{address}`: retrieve a specific contract and related information
@@ -391,14 +391,14 @@ export type ProxyType =
391
391
|"SequenceWalletProxy";
392
392
```
393
393
394
-
See [proxy-utils.ts](https://github.com/ethereum/sourcify/blob/staging/services/server/src/server/services/utils/proxy-contract-util.ts) to see how resolution is done.
394
+
See [proxy-utils.ts](https://github.com/argotorg/sourcify/blob/staging/services/server/src/server/services/utils/proxy-contract-util.ts) to see how resolution is done.
395
395
396
396
## Next Steps
397
397
398
398
As said, this is just the lookup endpoints of the APIv2. In the upcoming weeks we will be developing the verificaiton and verificationJob endpoints that will support ticketing and polling, instead of hanging requests.
399
399
400
400
Once again, you can see the full up-to-date API spec at https://docs.sourcify.dev/docs/api/
401
401
402
-
You can follow along the development in our tracker issue: https://github.com/ethereum/sourcify/issues/1367
402
+
You can follow along the development in our tracker issue: https://github.com/argotorg/sourcify/issues/1367
403
403
404
404
Beyond that, you can see our roadmap in our [Milestones View](https://github.com/orgs/ethereum/projects/46/views/3) for the next quarters and what we are currently working in our [Sprint Board](https://github.com/orgs/ethereum/projects/46/views/2). We welcome feedback and discussions!
Copy file name to clipboardExpand all lines: blog/roadmap-2025/index.mdx
+13-13Lines changed: 13 additions & 13 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -61,24 +61,24 @@ Finally, to improve the verification experience we want to:
61
61
62
62
What we did so far since about 12 months ago:
63
63
-**Shipped APIv2:** Our previous API was inherited from the project's early days and had major issues including no ticketing system causing timeouts, bloated endpoints for different match types, lack of std-json support, and poor error messaging. The new API also uses the new DB which allows us to return rich information about the verification process.
64
-
- API Design: https://github.com/ethereum/sourcify/issues/1470
-**Refactored the lib-sourcify** package, which contains the main verification logic, into a more modularized version that reflects the practical verification flow and the mental model. The new package lets you "bring your own compiler". Following that the cloud instance counts reduced by >50%. The process got a lot more efficient and easier to debug.
70
-
-https://github.com/ethereum/sourcify/issues/1665
70
+
-https://github.com/argotorg/sourcify/issues/1665
71
71
-**Lib-sourcify on browser**: Refactored lib-sourcify to work on browser
72
-
-https://github.com/ethereum/sourcify/issues/1365
72
+
-https://github.com/argotorg/sourcify/issues/1365
73
73
-**Unified verification plugin for Remix**: Shipped the "unified verification plugin" for Remix ([tweet](https://x.com/SourcifyEth/status/1849450860600021229))
74
-
-https://github.com/ethereum/sourcify/issues/1331
74
+
-https://github.com/argotorg/sourcify/issues/1331
75
75
- Here we lead the example of verifying everywhere and convince frameworks to implement this
76
76
-**Verifier Alliance**: Kicked off and led the Verifier Alliance development: We teamed up with Blockscout and Routescan to create a shared database of verified contracts.
77
77
-https://verifieralliance.org
78
78
-**New verification UI**: Shipped the new verification UI https://verify.sourcify.dev
79
-
-https://github.com/ethereum/sourcify/issues/1814
79
+
-https://github.com/argotorg/sourcify/issues/1814
80
80
-**New repo UI**: Shipped the new repo UI (verified contract view) https://repo.sourcify.dev
@@ -91,13 +91,13 @@ What we did so far since about 12 months ago:
91
91
We work in 2-week sprints ([sprint board](https://github.com/orgs/ethereum/projects/46/views/2)) and every quarter we have a retrospective and a planning session ([quarterly board](https://github.com/orgs/ethereum/projects/46/views/7)). Our concrete quarterly goals as of today:
-**4bytes DB**: Recently we observed the need for a comprehensive 4byte signature DB and a well-designed API. We will be building this from our dataset of verified contracts and release it for community use. https://github.com/ethereum/sourcify/issues/2213
95
-
-**Public Queryable DB instance**: We will be shipping a public queryable DB instance. Anyone can query our DB quickly to find contracts, patterns, etc. https://github.com/ethereum/sourcify/issues/2214
94
+
-**4bytes DB**: Recently we observed the need for a comprehensive 4byte signature DB and a well-designed API. We will be building this from our dataset of verified contracts and release it for community use. https://github.com/argotorg/sourcify/issues/2213
95
+
-**Public Queryable DB instance**: We will be shipping a public queryable DB instance. Anyone can query our DB quickly to find contracts, patterns, etc. https://github.com/argotorg/sourcify/issues/2214
96
96
-**Verified Contract Coverage**: Reaching out to chains and potential data sources to increase the verified contract coverage.
97
-
-**Bug fixes and misc**: Smaller tasks we commit to complete https://github.com/ethereum/sourcify/issues/2215
97
+
-**Bug fixes and misc**: Smaller tasks we commit to complete https://github.com/argotorg/sourcify/issues/2215
-**Bytecode Similarity search**: It should be possible to find similar contracts by bytecode even if they are not verified. https://github.com/ethereum/sourcify/issues/1642
100
+
-**Bytecode Similarity search**: It should be possible to find similar contracts by bytecode even if they are not verified. https://github.com/argotorg/sourcify/issues/1642
Copy file name to clipboardExpand all lines: blog/technical-verification-walkthrough/index.mdx
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -59,7 +59,7 @@ User request to Sourcify:
59
59
```
60
60
61
61
62
-
For now the metadata.json is the main way to submit contracts to Sourcify. All other methods such as "Import from Etherscan" all workaround to generate the metadata file in some way, and continue verification from there. This is will change with the [Vyper verification](https://github.com/ethereum/sourcify/pull/1784) and in our [APIv2](https://github.com/ethereum/sourcify/milestone/18?closed=1). In Vyper, users will give us a [standard JSON](https://docs.vyperlang.org/en/stable/compiling-a-contract.html#compiler-input-and-output-json-description) and we generate a "fake" metadata.json for backward compatability reasons. In our APIv2 we will no longer use the metadata file as the base of our verification, but the standard JSON as the base.
62
+
For now the metadata.json is the main way to submit contracts to Sourcify. All other methods such as "Import from Etherscan" all workaround to generate the metadata file in some way, and continue verification from there. This is will change with the [Vyper verification](https://github.com/argotorg/sourcify/pull/1784) and in our [APIv2](https://github.com/argotorg/sourcify/milestone/18?closed=1). In Vyper, users will give us a [standard JSON](https://docs.vyperlang.org/en/stable/compiling-a-contract.html#compiler-input-and-output-json-description) and we generate a "fake" metadata.json for backward compatability reasons. In our APIv2 we will no longer use the metadata file as the base of our verification, but the standard JSON as the base.
Copy file name to clipboardExpand all lines: docs/20. databaseMigration.md
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -15,8 +15,8 @@ It is meant for anyone running their own Sourcify instance.
15
15
16
16
Currently Sourcify stores verified contracts into a repository:
17
17
18
-
- in which there are contracts verified with old verification and storage strategies: [#902](https://github.com/ethereum/sourcify/issues/902), [#1071](https://github.com/ethereum/sourcify/issues/1071)
19
-
- in which the sources are stored mirroring the original file system, causing naming path problems: [#515](https://github.com/ethereum/sourcify/issues/515)
18
+
- in which there are contracts verified with old verification and storage strategies: [#902](https://github.com/argotorg/sourcify/issues/902), [#1071](https://github.com/argotorg/sourcify/issues/1071)
19
+
- in which the sources are stored mirroring the original file system, causing naming path problems: [#515](https://github.com/argotorg/sourcify/issues/515)
20
20
- filesystem based, causing a difficult maintenance and expansive advanced searches (e.g. by contract's name)
Copy file name to clipboardExpand all lines: docs/3. Verification/1.howToVerify.mdx
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -76,7 +76,7 @@ The verification UI will parse the files and give you a list of contracts to cho
76
76
77
77
### (Optional) Creation Transaction Hash
78
78
79
-
Sourcify needs to find the transaction the contract was deployed in to get the creation bytecode. We get this information from different sources like block explorers (see [here](https://github.com/ethereum/sourcify/blob/staging/services/server/src/sourcify-chains-default.json)). You can still provide a creation transaction hash manually if you want to, or if Sourcify fails to verify via creation bytecode.
79
+
Sourcify needs to find the transaction the contract was deployed in to get the creation bytecode. We get this information from different sources like block explorers (see [here](https://github.com/argotorg/sourcify/blob/staging/services/server/src/sourcify-chains-default.json)). You can still provide a creation transaction hash manually if you want to, or if Sourcify fails to verify via creation bytecode.
Similar to [adding EVM chains](/docs/chain-support) add the chain to [`sourcify-chains-default.json`](https://github.com/ethereum/sourcify/blob/staging/services/server/sourcify-chains-default.json), or to override all other chains you can simply create a new file `sourcify-chains.json` in the same directory. For example, to add the Hardhat Network:
21
+
Similar to [adding EVM chains](/docs/chain-support) add the chain to [`sourcify-chains-default.json`](https://github.com/argotorg/sourcify/blob/staging/services/server/sourcify-chains-default.json), or to override all other chains you can simply create a new file `sourcify-chains.json` in the same directory. For example, to add the Hardhat Network:
Copy file name to clipboardExpand all lines: docs/4. repository/1. sourcify-database.mdx
+3-3Lines changed: 3 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -7,7 +7,7 @@ On a high level, these modifications are:
7
7
- Stores the [Solidity metadata](/docs/metadata) separately in the `sourcify_matches` table.
8
8
- Introduces tables for other purposes.
9
9
10
-
You can follow the [`services/database/migrations`](https://github.com/ethereum/sourcify/tree/staging/services/database/migrations) folder for the initial schema and the changes made to it. These are not necessarily the differences between Sourcify DB and the Verified Alliance Schema, but any changes made to the schema over time.
10
+
You can follow the [`services/database/migrations`](https://github.com/argotorg/sourcify/tree/staging/services/database/migrations) folder for the initial schema and the changes made to it. These are not necessarily the differences between Sourcify DB and the Verified Alliance Schema, but any changes made to the schema over time.
11
11
12
12
## Schema
13
13
@@ -45,11 +45,11 @@ JSON fields of `compiled_contracts` table:
45
45
46
46
### Notes on the data
47
47
48
-
For the issues on the data we are aware of and plan to fix, see this issue: https://github.com/ethereum/sourcify/issues/2276
48
+
For the issues on the data we are aware of and plan to fix, see this issue: https://github.com/argotorg/sourcify/issues/2276
49
49
50
50
Other known inconsistencies in the data below (not planned to fix) are documented below:
51
51
52
-
-**Compiler versions**: Keep in mind the vyper version build strings are not consistent (details [here](hhttps://github.com/ethereum/sourcify/issues/2247#issuecomment-3155878775)):
52
+
-**Compiler versions**: Keep in mind the vyper version build strings are not consistent (details [here](hhttps://github.com/argotorg/sourcify/issues/2247#issuecomment-3155878775)):
53
53
- version =< 0.3.0: The commit hash has 7 characters `0.3.0+commit.8a23feb`
54
54
- version 0.3.1: No commit hash: `0.3.1`
55
55
- version >= 0.3.2: The commit hash has 8 characters `0.3.2+commit.3b6a4117`
0 commit comments