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

General way to link non-component/non-system contracts into the mud deployment process #325

Closed
FlynnSC opened this issue Jan 6, 2023 · 2 comments
Labels
enhancement New feature or request

Comments

@FlynnSC
Copy link

FlynnSC commented Jan 6, 2023

I have two use cases currently:

  1. ZK proof verifier contracts auto-generated by snarkjs from circom circuits. They are just standard solidity contracts with a verifiyProof function.
  2. Poseidon hash function contracts (with various input counts), which actually take the form of raw bytecode that is generated by a circomlibjs function. Currently I am copying this bytecode directly into a PoseidonSystem and then deploying it with an assembly create() call in the system constructor.

For both of these cases, I think it makes the most sense to store the resulting contract addresses in an AddressComponent, but I am wondering what the best way is to include the creation of these contracts into the mud deployment process, or non-standard use cases like this more generally?

@alvrs alvrs added the enhancement New feature or request label Jan 6, 2023
@dk1a
Copy link
Contributor

dk1a commented Jan 6, 2023

FunctionBareComponent is perhaps more useful here than AddressComponent

@holic
Copy link
Member

holic commented Mar 21, 2024

we now support public/linked libs: #1910

@holic holic closed this as completed Mar 21, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

4 participants