Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Release #1016

Merged
merged 51 commits into from
May 9, 2023
Merged

Release #1016

merged 51 commits into from
May 9, 2023

Conversation

marcocastignoli
Copy link
Member

@marcocastignoli marcocastignoli commented May 8, 2023

This release includes various enhancements, bug fixes, and new chain support. Key updates include:

  • Disabled match with simulation and commented out all contextVariables.
  • Added Etherscan metadata variations
  • Addressed EventManager failure when listeners are not set.
  • Updated h5ai-nging submodule to the latest version and fixed UI handling of non-checksummed addresses.
  • Added support for chains 999, 888, 43113, 7668, 7672, 7701, and 295.
  • Implemented verification with Standard JSON Input and improved metadata handling.
  • Added server monitoring capabilities to Grafana.
  • Handled libraries with call protection
  • Added a "Lookup Another" button in Lookup result.
  • Improved path sanitization and added Nginx exporter for Prometheus.

View in Huly HI-690

marcocastignoli and others added 30 commits April 19, 2023 14:04
* matchWithSimulation totally commented
* #936 file variation while importing from etherscan
experiment to create files varations before running verification searching for perfect matches

* #936 generate the metadata with the hash that matches the one in the bytecode WIP
*  add tryToFindOriginalMetadata to CheckedContract: tries to recontruct the original metadata by iterating on all files variations
* call tryToFindOriginalMetadata after `matchWithDeployedBytecode` if match is not perfect

* restore etherscan standard verification

* #936 tests working

* update package-json lib-sourcify

* #936 fix linting issues

* wait 1 second between every etherscan request

* #936 update non-session verify from etherscan controler

* #936 better function naming `getMetadataFromCompiler`

* #936 instead of recompiling each variation, recalculate the metadata hash by updating the source section of the metadata and generating the metadata CID

* #936 fix error on non existance of the path in sources

* #936 add coments to group by variations to make it more clear

* #936 replace the ipfs calculate hash
* I translated the ipfsHash.cpp file from the solidity repo
* now that everything is synchronous I simplified the code that replace the ipfs and bzz hash in the urls array in metadata.sources
* I added some comments to clearify the storebyhash grouped by variation

* fix default ipfs gateway

* #936 add test for tryToFindOriginalMetadata

* #936 add swarmBzzr0Hash and test metadata with both ipfs and swarm

* Add comments

* #936 refactor tryToFindOriginalMetadata adding types
* test in verification.spec.ts

* #976 add license type in MetadataSources

* #976 change test name for wrong end of line

* Update packages/lib-sourcify/test/verification.spec.ts

Co-authored-by: Kaan Uzdoğan <[email protected]>

* #976 try to find original metadata for each verification method
* refactor `verifyDeployed` so that it uses the new function ´tryToFindOriginalMetadataAndMatch´

---------

Co-authored-by: Marco Castignoli <[email protected]>
* fix address checksum in repository
* instead of verifying if an address is valid, tries to checksum it
Change the contract since it required creatorTxHash scarping and causes
CAPTCHA in regular etherscan instance tests
* Refactor UI for shared SerchSelect,init json endp.

Refactor SearchSelect's onChange function and its types to be able to
reuse SearchSelect consistently.

Initial naive implementation of using solcJson as input in session

* Don't use deprecated btoa function

* Don't overflow Error message UI

* Use nightlies toggle, style json input

* Don't validate solc JSON file extension

To allow multipart/form-data requests

* Add solc-json session tests

* Change import solc json icon

* Solc-json non-session endpoint, tests

* Fix build errors, show json input errors

* Fix compiler version test

* Remove "simulation" variables from solcjson endpts

* Fix copy-paste typo in endpoint definition

* Check solc-json language and contracts output
* Update chains

* Add chain 7672

* Test contracts for chain 7672

* Redeploy immutable contract with correct compiler

* Revert "Update chains"

This reverts commit 77ea8de.

* Redeploy Immutable contract
* #873 implement a complete Metadata type

* #873 * version is a number
* create Userdoc and Devdoc interfaces
* add prometheus
* add cadvisor for monitoring docker containers
* add node_exported for monitoring the server
* #1002 re-enable SourcifyEventManager's listeners
* this commit fixes the grafana-loki missing events

* test exclude loggerLoki from nyc
marcocastignoli and others added 19 commits April 28, 2023 12:58
* fix compatibility issue with typescript
* #996 handle libraries with call protection

* #996 add tests for call protection
* legacy compilation placeholder test case
* via-IR test case
Because the latest abitype package 0.8.2 requires typescript v5+ the
package installations were failing.

Updating typescript would break multiformat typings which
is used by ipfs-core. We can't upgrade ipfs-core
because the newer versions use ES modules, and the tests are in commonjs

Hence define abitype in exact lower version 0.8.0
The overlap of the "ETHERSCAN_API_KEY" in both
"OPTIMISTIC_ETHERSCAN_API_KEY" and
"ETHERSCAN_API_KEY" was causing `sed` string replacement to behave
unexpectedly, causing the Optimism key to be set as ETHERSCAN_API_KEY

Change name to avoid this.
* Add chain details for 295 (Hedera Mainnet)

* Add test contracts for chain 295 (Hedera Mainnet)

* Change constructor argument to avoid any confusion with chainId.

* Attempt to reuse shared test contracts.

* Remove now unneeded directory for chain 295 test contracts.
This reverts the package-lock
 in commit f9e74dc.
* add tests for wrong constructor arguments in creatorTx
* add missing test for successful creation bytecode verification
* check that the file is saved in the correct directory
* remove unused Metadata variable from RepositoryController
Conflicts:
	packages/lib-sourcify/test/verification.spec.ts
	src/server/controllers/VerificationController.ts
	src/server/services/RepositoryService.ts
	ui/src/pages/Verifier/CheckedContractsView/CheckedContract/ChainAddressForm/index.tsx
@kuzdogan kuzdogan merged commit 3c388e4 into master May 9, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants