Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
N
nebula
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
exchain
nebula
Commits
2f45160c
Unverified
Commit
2f45160c
authored
Dec 05, 2023
by
Maurelian
Committed by
GitHub
Dec 05, 2023
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #8445 from sukey2008/develop
Several typos are fixed
parents
95492234
493f9377
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
6 additions
and
6 deletions
+6
-6
bond-manager.md
specs/bond-manager.md
+1
-1
cannon-fault-proof-vm.md
specs/cannon-fault-proof-vm.md
+5
-5
No files found.
specs/bond-manager.md
View file @
2f45160c
...
...
@@ -75,7 +75,7 @@ expensive to keep the settlement layer base fee this high.
### Variable Bond
Better bond heuristics can be used to establish a bond price that accounts for
the time-weighted gas price. One instance of this called _Varable Bonds_ use a
the time-weighted gas price. One instance of this called _Var
i
able Bonds_ use a
separate oracle contract,
`GasPriceFluctuationTracker`
, that tracks gas fluctuations
within a pre-determined bounds. This replaces the ideal solution of tracking
challenge costs over all L1 blocks, but provides a reasonable bounds. The initial
...
...
specs/cannon-fault-proof-vm.md
View file @
2f45160c
...
...
@@ -24,7 +24,7 @@
This is a description of the Cannon Fault Proof Virtual Machine (FPVM). The Cannon FPVM emulates
a minimal Linux-based system running on big-endian 32-bit MIPS32 architecture.
Alot of its behaviors are copied from Linux/MIPS with a few tweaks made for fault proofs.
A
lot of its behaviors are copied from Linux/MIPS with a few tweaks made for fault proofs.
For the rest of this doc, we refer to the Cannon FPVM as simply the FPVM.
Operationally, the FPVM is a state transition function. This state transition is referred to as a
*Step*
,
...
...
@@ -150,14 +150,14 @@ The VM does not support Linux open(2). However, the VM can read from and write t
| Name | File descriptor | Description |
| ---- | --------------- | ----------- |
| stdin | 0 | read-only standard input stream. |
| stdout | 1 | write-only standa
a
rd output stream. |
| stdout | 1 | write-only standard output stream. |
| stderr | 2 | write-only standard error stream. |
| hint response | 3 | read-only. Used to read the status of
[
pre-image hinting
](
./fault-proof.md#hinting
)
. |
| hint request | 4 | write-only. Used to provide
[
pre-image hints
](
./fault-proof.md#hinting
)
|
| pre-image response | 5 | read-only. Used to
[
read pre-images
](
./fault-proof.md#pre-image-communication
)
. |
| pre-image request | 6 | write-only. Used to
[
request pre-images
](
./fault-proof.md#pre-image-communication
)
. |
Syscalls referencing un
nk
own file descriptors fail with an
`EBADF`
errno as done on Linux.
Syscalls referencing un
kn
own file descriptors fail with an
`EBADF`
errno as done on Linux.
Writing to and reading from standard output, input and error streams have no effect on the FPVM state.
FPVM implementations may use them for debugging purposes as long as I/O is stateless.
...
...
@@ -183,13 +183,13 @@ VM implementations may utilize hints to setup subsequent pre-image requests.
The
`preimageKey`
and
`preimageOffset`
state are updated via read/write syscalls to the pre-image
read and write file descriptors (see
[
I/O
](
#io
)
).
The
`preimageKey`
buffers the stream of bytes written to the pre-image write fd.
The
`preimageKey`
buffer is shifted to accomodate new bytes written to the end of it.
The
`preimageKey`
buffer is shifted to accom
m
odate new bytes written to the end of it.
A write also resets the
`preimageOffset`
to 0, indicating the intent to read a new pre-image.
When handling pre-image reads, the
`preimageKey`
is used to lookup the pre-image data from an Oracle.
A max 4-byte chunk of the pre-image at the
`preimageOffset`
is read to the specified address.
Each read operation increases the
`preimageOffset`
by the number of bytes requested
(truncated to 4 bytes and subject to alignment contraints).
(truncated to 4 bytes and subject to alignment con
s
traints).
#### Pre-image I/O Alignment
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment