-
Notifications
You must be signed in to change notification settings - Fork 87
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
Blob tx and instructions #780
Conversation
bldd: DependentCost::LightOperation { | ||
base: 15, | ||
units_per_gas: 272, | ||
}, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Needs a fuel-core benches run on reference hardware
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We need to create an issue in the fuel-core
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
bldd: DependentCost::LightOperation { | ||
base: 15, | ||
units_per_gas: 272, | ||
}, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We need to create an issue in the fuel-core
@@ -1,9 +1,9 @@ | |||
use super::*; | |||
/// File generated by fuel-core: benches/src/bin/collect.rs:440. With the following git | |||
/// hash | |||
pub const GIT: &str = "98341e564b75d1157e61d7d5f38612f6224a5b30"; | |||
pub const GIT: &str = "98341e564b75d1157e61d7d5f38612f6224a5b30"; // TODO: modified manually |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We don't need to do it for now. As we discussed during the call, we need to remove default gas costs from the fuel-vm
. But it will be a separate PR for separate issue=) We could create a tech-debt
for now in the fuel-vm
to remove default costs in the future
Revert, | ||
Panic(PanicReason), | ||
GenericFailure(u64), | ||
pub struct AluOk { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Do we need to touch it in this PR?=)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The RunResult
changes must be done here, and these are a natural consequence of those. It would be weird not to do them here.
Co-authored-by: Green Baneling <XgreenX9999@gmail.com>
let old = storage | ||
.storage_as_mut::<BlobData>() | ||
.replace(blob_id, blob_data.as_ref()) | ||
.map_err(RuntimeError::Storage)?; | ||
|
||
if old.is_some() { | ||
return Err(InterpreterError::Panic(PanicReason::BlobIdAlreadyUploaded)); | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Maybe it will be cheaper to use contains
+ insert
instead of replace
. But it can be done in a separate PR/Issue, because other places have the same problem.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Maybe? Also should be profiled if we're doing anything for performance reasons.
Work towards #589. The VM PR FuelLabs/fuel-vm#780 contains a working implementation. To allow contracts larger than the contract size limit, and to allow upgradability, we'll be adding a new tx type that's just a bunch of bytes, and opcodes to load subsections of that. A *blob* will be like a contract, but without state or balances, allowing it to be quite a bit cheaper. The new instructions `BSIZ` and `BLDD` and the new blob mode for `LDC` closely follow how `CSIZ`, `LDC` and `CCP` work, but only operation on blob data. ### Before requesting review - [x] I have reviewed the code myself
Work towards FuelLabs/fuel-specs#589. Spec PR: FuelLabs/fuel-specs#592. Core PR FuelLabs/fuel-core#1988.
Open for the first round of reviews, but:
Open questions include:
Checklist
Before requesting review
After merging, notify other teams