starknet-remix-plugin icon indicating copy to clipboard operation
starknet-remix-plugin copied to clipboard

Verification solution for multiple files (with Scarb)

Open EdgarBarrantes opened this issue 2 years ago • 12 comments

Remix plugin must be able to verify the source code of the project/workspace on Voyager/StarkScan (in parallel).

  • This should be available from the Deploy section of the plugin UI (?)
  • The verification should be ran against the network as selected in the "Environments".
  • The contract (in Sierra form) is deployed to target network. Only the Sierra is visible on blockchain. The "verification" means using the contribution to sncast from Starknet Foundry.

EdgarBarrantes avatar Apr 13 '23 18:04 EdgarBarrantes

And a doc how to go about this, here (internal).

EdgarBarrantes avatar Sep 18 '23 14:09 EdgarBarrantes

  • [ ] Create a "solution concept" note/diagram to show all the connections, interfaces and flow of processing
  • [ ] Decide if there is any DevOps requirements
  • [ ] Verify the effort estimation
  • [ ] Implement changes in React package/API service as designed

stranger80 avatar Sep 18 '23 15:09 stranger80

Proposed action plan:

  • [ ] Rohit to help out in finishing the cairo verifier -> https://github.com/NethermindEth/voyager-verifier-cairo1
  • [ ] Propose implementing it in Scarb - reach out to Scarb team and propose the feature to them
  • [ ] Once Scarb team is happy and in agreement - proceed with extending the Scarb with verification feature with Voyager
    • [ ] Needs access to specs and instances of Voyager verification API (-> Neel or Bart)
  • [ ] Add verification feature to the plugin API service (via enhanced Scarb)
  • [ ] Add verification feature to the plugin UI

stranger80 avatar Sep 20 '23 14:09 stranger80

A recommendation from Software Mansion came suggesting to use Foundry (rather than Scarb) for verification

stranger80 avatar Sep 25 '23 10:09 stranger80

Can you paste here the project link?

rjnrohit avatar Sep 25 '23 11:09 rjnrohit

It's this: https://github.com/foundry-rs/starknet-foundry (see this also: https://foundry-rs.github.io/starknet-foundry/)

stranger80 avatar Sep 25 '23 11:09 stranger80

Decided to go for a new feature in sncast tool of Starknet Foundry. Design document started in Nethermind's branch of the Starknet Foundry repo: https://github.com/NethermindEth/starknet-foundry/blob/master/design_documents/contract_verification.md

stranger80 avatar Oct 02 '23 10:10 stranger80

The Verification API in Voyager is expected to fully support Cairo1 (2.3.x) by 20th Oct

stranger80 avatar Oct 03 '23 12:10 stranger80

PR with feature design raised: https://github.com/foundry-rs/starknet-foundry/pull/827

stranger80 avatar Oct 06 '23 07:10 stranger80

Draft changes ready: https://github.com/foundry-rs/starknet-foundry/pull/875

stranger80 avatar Oct 18 '23 14:10 stranger80

Waiting for Voyager Verification APIs to run integration tests.

stranger80 avatar Oct 18 '23 14:10 stranger80

Synced with Voyager team:

  • The verification APIs are being stabilized now
  • Note the verification API will support a specific set of Cairo versions
  • Requested for a dedicated API method to return the list of Cairo versions supported by Voyager's verification API
  • Requested for a notification when verification API is stable enough to start integrating with sncast

stranger80 avatar Nov 02 '23 14:11 stranger80