Comments (5)
from artemis.
re huff-rust bindings: it depends. huff does include syntax for generating a json abi compatible with solc. however, it is common for huff contracts to include non-standard abi encoding schemes. bc of this, devs usually roll their own encoding.
re porting the sudo x opensea strat to huff : implementing it in accordance with the solc abi spec means we could just pass the deployed address into the cli with no compatibility issues
the questions/issues around this are:
- adding this to the repo either requires we hard code the huffc output or implicitly add huffc as a dependency to the arb contract directory. is there a preference between the two? note that the latter also requires ffi to be enabled for testing to pass.
- huff opens up a notable attack surface that solc abstracts away. currently the contract has a single test but migrating to huff demands a lot more contract tests given the risk.
if this is something that seems fit to add to the repo, i'd be happy to make a pr with the huffc contract.
from artemis.
re huff-rust bindings: it depends. huff does include syntax for generating a json abi compatible with solc. however, it is common for huff contracts to include non-standard abi encoding schemes. bc of this, devs usually roll their own encoding.
ah makes sense!
adding this to the repo either requires we hard code the huffc output or implicitly add huffc as a dependency to the arb contract directory. is there a preference between the two? note that the latter also requires ffi to be enabled for testing to pass.
Adding huffc as a dependency to the arb repo isn't a problem. What do you mean by hard code the huffc output
? Taking the huffc output using something like forge etch
to set it to a specific address? Seems a bit clunky but would prefer it to enabling FFI in the repo. Maybe there's a middle ground where we can run a setup script in CI to deploy the bytecode before running the tests instead of the broad FFI perms.
huff opens up a notable attack surface that solc abstracts away. currently the contract has a single test but migrating to huff demands a lot more contract tests given the risk.
Agree, and I'd be happy to help write some more tests here if helpful.
Overall, would love to see a huff implementation, and happy to support wherever helpful to see it happen :)
from artemis.
👀
from artemis.
my huff skills are not quite up to the task, but would love to see some huff in the repo! @refcell is there any tooling for generating rust bindings for huff, or do people usually roll their own?
If anyone is interesting in writing a huff strategy, please ping me, happy to help get it across the line.
from artemis.
Related Issues (20)
- More of a feature descussion HOT 2
- Getting started guide HOT 2
- Why use `openssl` in docker image?
- Collector for subgraphs
- Counterintuitive handling of relative paths in CLI tool HOT 1
- Multiple Actions per Event HOT 3
- Log Collector doesn't return the entire log
- Static channel size
- How to implement the delay strategy HOT 6
- Artemis EVM Blockchain
- Refactor to take into account a multi VM world HOT 1
- MevshareExecutor does not allow for Goerli testnet use HOT 1
- request: Purge `git` crates and publish to crates.io HOT 3
- Use release-plz for automatic releases and semantic versioning
- Help please ! Arbitrage MEV Bot
- Collector push event instead of Engine pull event
- Create a standardised representation of a protocol HOT 3
- Update parameter for Collector
- Replace ethers-rs by alloy HOT 5
- Publish to crates.io HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from artemis.