fuellabs / bridge-message-predicates Goto Github PK
View Code? Open in Web Editor NEWPredicate for relaying messages from Ethereum to a Fuel contract
License: Apache License 2.0
Predicate for relaying messages from Ethereum to a Fuel contract
License: Apache License 2.0
Migrate the predicate code from the bridge repo.
The current hashing routine to verify script bytecode is overly complex. Simplify by implementing in assembly instead
The latest fuel spec now allows for messages to be natively retryable from the protocol level. This means the predicate no longer needs to check for the correct inputs/outputs or a gas minimum. It only needs to check the inclusion of a specific transaction script (one that calls "process_message" on the target contract)
The MessageReceiver should have a function (maybe called fn requested_outputs() -> str[512]
) that allows a contract to state what optional outputs they want to fully process a message. This would be used by an automated relayer service to better construct relaying transactions.
Refer to the original bridge repo to build a more generic message to contract predicate
There are a few breaking changes in the latest fuel core release that require a recompile of all code using the latest forc.
Tests are currently broken which I think has to do with the latest fuel-core release. Get the tests working and added back to the CI
We need to add tests for the negative cases as well as the positive cases.
There is currently no way to get the asset ID of a change output through the GTF opcode. Although the security of the predicate is still guaranteed due to only input coins of the base asset being allowed and other change or coin outputs are not allowed, it would still be a good idea to add an explicit check.
Investigate adding this check as soon as work begins on adding to the GTF opcode: FuelLabs/fuel-specs#402
CI is currently failing due to formatting checks, we need to update this predicate to use the latest version of sway that's compatible with beta4
blocked by: FuelLabs/sway#4601
InputCoins are currently being used in place of actual InputMessages until they are implemented in the rust SDK
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.