Skip to content
This repository has been archived by the owner on Nov 15, 2023. It is now read-only.

Integrate Wasmer into Substrate sandbox environment #5920

Merged
114 commits merged into from
Aug 19, 2021
Merged
Show file tree
Hide file tree
Changes from 110 commits
Commits
Show all changes
114 commits
Select commit Hold shift + click to select a range
ecfb6dc
Add comments and refactor Sandbox module
0x7CFE May 6, 2020
ac137b2
Adds some comments
0x7CFE May 25, 2020
063bf42
Add wasmtime instance to the sandbox and delegate calls
0x7CFE Jun 9, 2020
1be139b
Adds module imports stub
0x7CFE Jun 19, 2020
4e770b4
WIP state holder via *mut
0x7CFE Jul 13, 2020
4cf68d2
My take at the problem
pepyakin Jul 13, 2020
1525a80
Brings back invoke and instantiate implementation details
0x7CFE Jul 14, 2020
34d6f95
Removes redundant bound
0x7CFE Jul 14, 2020
b8b5e75
Code cleanup
0x7CFE Jul 14, 2020
c96f96b
Fixes invoke closure
0x7CFE Jul 14, 2020
a57110a
Refactors FunctionExecutor to eliminate lifetime
0x7CFE Jul 17, 2020
63176e1
Wraps `FunctionExecutor::sandbox_store` in `RefCell`
0x7CFE Jul 17, 2020
96cb57d
Renames `FunctionExecutor::heap` to `allocator`
0x7CFE Jul 17, 2020
b246aee
Wraps `FunctionExecutor::allocator` in `RefCell`
0x7CFE Jul 17, 2020
b496e99
Refactors FunctionExecutor to `Rc<Inner>` pattern
0x7CFE Jul 17, 2020
796604b
Implements scoped TLS for FunctionExecutor
0x7CFE Jul 17, 2020
0482e60
Fixes wasmi instancing
0x7CFE Jul 21, 2020
d25f97e
Fixes sandbox asserts
0x7CFE Jul 21, 2020
e3a5774
Merge remote-tracking branch 'origin/master' into wasmtime-sandbox
0x7CFE Jul 21, 2020
1a57784
Merge remote-tracking branch 'origin/master' into wasmtime-sandbox
0x7CFE Jul 27, 2020
1653a09
Makes sandbox compile after wasmtime API change
0x7CFE Jul 27, 2020
ff13eb2
Uses Vurich/wasmtime for the Lightbeam backend
0x7CFE Jul 27, 2020
d1d50fa
Uses wasmtime instead of wasmi for sandbox API results
0x7CFE Jul 28, 2020
14d3d3c
Refactors sandbox to use one of the execution backends at a time
0x7CFE Aug 7, 2020
d98584c
Fixes wasmtime module instantiation
0x7CFE Sep 1, 2020
6729db1
TEMP vurich branch stuff
0x7CFE Oct 7, 2020
443ba23
Merge remote-tracking branch 'origin/master' into wasmtime-sandbox
0x7CFE Oct 7, 2020
74f9887
Adds wasmer impl stub
0x7CFE Oct 7, 2020
c719155
Adds get global
0x7CFE Oct 7, 2020
adff099
Fixes warnings
0x7CFE Oct 7, 2020
cd44534
Adds wasmer invoke impl
0x7CFE Oct 7, 2020
5ed937f
Implements host function interface for wasmer
0x7CFE Oct 8, 2020
4bb9697
Fixes wasmer instantiation result
0x7CFE Oct 8, 2020
2ba6469
Merge remote-tracking branch 'origin/master' into wasmtime-sandbox
0x7CFE Oct 14, 2020
a31889c
Adds workaround to remove debug_assert
0x7CFE Oct 26, 2020
ff2e932
Merge remote-tracking branch 'origin/master' into wasmtime-sandbox
0x7CFE Oct 26, 2020
bc78799
Merge branch 'master' into wasmtime-sandbox
ascjones Nov 12, 2020
b8b1edc
Merge remote-tracking branch 'origin/master' into wasmtime-sandbox
0x7CFE Nov 24, 2020
4620842
Merge remote-tracking branch 'origin/master' into wasmtime-sandbox
0x7CFE Dec 7, 2020
be7b41d
Fixes import object generation for wasmer
0x7CFE Jan 22, 2021
b58c30c
Attempt to propagate wasmer::Store through sandbox::Store
0x7CFE Jan 25, 2021
861ee6c
Wraps `sandbox::Store::memories` in `RefCell`
0x7CFE Jan 26, 2021
caaf5e3
Moves `sandbox::instantiate` to `sandbox::Store`
0x7CFE Jan 26, 2021
042449c
Eliminate `RefCell<memories>`
0x7CFE Jan 26, 2021
5b47676
Implements `HostState::memory_get/set`, removes accidental `borrow_mut`
0x7CFE Jan 27, 2021
2ee8f45
Fixes sandbox memory handling for wasmi
0x7CFE Jan 27, 2021
2eb9ad3
Fix memory allocation
0x7CFE Feb 17, 2021
e91a6d0
Merge remote-tracking branch 'origin/master' into wasmtime-sandbox
0x7CFE Mar 1, 2021
fe3aae5
Resets Cargo.lock to match master
0x7CFE Mar 1, 2021
be76948
Fixes compilation
0x7CFE Mar 8, 2021
9845d77
Merge remote-tracking branch 'origin/master' into wasmtime-sandbox
0x7CFE Mar 9, 2021
0364763
Merge remote-tracking branch 'origin/master' into wasmtime-sandbox
0x7CFE Mar 16, 2021
1ae9d46
Refactors sandbox to use TLS for dispatch_thunk propagation to wasmer
0x7CFE Apr 9, 2021
4f1f951
Pass dispatch thunk to the sandbox as a TLS
0x7CFE Apr 13, 2021
3e20bb6
Initialize dispatch thunk holder in `SandboxInstance`
0x7CFE Apr 14, 2021
f1fdbd2
Comment out Wasmtime/Lightbeam sandbox backend
0x7CFE May 3, 2021
0063bf9
Revert wasmtime back to mainstream
0x7CFE May 6, 2021
5c6ace9
Merge remote-tracking branch 'origin/master' into wasmtime-sandbox
0x7CFE May 6, 2021
5cda36e
Adds SandboxExecutionMethod enum for cli param
0x7CFE May 11, 2021
84e3a81
Cleanup sandbox code
0x7CFE May 14, 2021
ef9b978
Allow wasmi to access wasmer memory regions
0x7CFE May 20, 2021
24ca765
More cleanup
0x7CFE May 20, 2021
a01fc3e
Remove debug logging, replace asserts with runtime errors
0x7CFE May 20, 2021
5dd9e06
Merge remote-tracking branch 'origin/master' into wasmtime-sandbox
0x7CFE May 20, 2021
e3cf7c7
Revert "Adds SandboxExecutionMethod enum for cli param"
0x7CFE May 25, 2021
cc4c27e
Fixes warnings
0x7CFE May 25, 2021
e246b62
Fixes indentation and line width
0x7CFE May 25, 2021
cc92903
Merge remote-tracking branch 'origin/master' into wasmtime-sandbox
0x7CFE Jun 1, 2021
4211ad7
Fix return types condition
0x7CFE Jun 1, 2021
6b42063
Puts everything related under the `wasmer-sandbox` feature flag
0x7CFE Jun 2, 2021
3b9774e
Merge remote-tracking branch 'origin/master' into wasmtime-sandbox
0x7CFE Jun 3, 2021
7807a2b
Fixes warnings
0x7CFE Jun 3, 2021
e3d09fc
Merge remote-tracking branch 'origin/master' into wasmtime-sandbox
0x7CFE Jun 3, 2021
8c8c2c8
Address grumbles
0x7CFE Jun 8, 2021
3d3c827
Split instantiate per backend
0x7CFE Jun 16, 2021
facfa6c
More splits
0x7CFE Jun 16, 2021
e0a5a25
Refacmemory allocation
0x7CFE Jun 18, 2021
84f3093
Nitpicks
0x7CFE Jun 18, 2021
d3b86a0
Attempt to wrap wasmer memory in protoco enforcing type
0x7CFE Jun 23, 2021
c850650
Revert renaming
0x7CFE Jun 23, 2021
76a8bd8
WIP wasm buffer proxy API
0x7CFE Jun 29, 2021
d2002ca
Reimplement util::wasmer::MemoryRef to use buffers instead of memory …
0x7CFE Jul 1, 2021
ea86458
Adds WasmiMemoryWrapper and MemoryTransfer trait
0x7CFE Jul 2, 2021
33e6073
Refactor naming
0x7CFE Jul 6, 2021
e098dca
Perform all memory transfers using MemoryTransfer
0x7CFE Jul 6, 2021
314b6aa
Adds allocating `read`
0x7CFE Jul 6, 2021
32423fb
Adds comments
0x7CFE Jul 7, 2021
72ba8dc
Removes unused imports
0x7CFE Jul 7, 2021
2df9783
Merge remote-tracking branch 'origin/master' into wasmtime-sandbox
0x7CFE Jul 7, 2021
e27bba2
Removes now unused function
0x7CFE Jul 7, 2021
4bfd0bb
Merge remote-tracking branch 'origin/master' into wasmtime-sandbox
0x7CFE Jul 7, 2021
2d7ba8a
Pulls Cargo.lock from origin/master
0x7CFE Jul 8, 2021
a808ec7
Fix rustdoc
0x7CFE Jul 8, 2021
e3b98ea
Removes unused `TransferError`
0x7CFE Jul 12, 2021
464675a
Merge remote-tracking branch 'origin/master' into wasmtime-sandbox
0x7CFE Jul 12, 2021
d6c7b32
Merge remote-tracking branch 'origin/master' into wasmtime-sandbox
0x7CFE Jul 15, 2021
61f30df
Update Cargo.lock
0x7CFE Jul 15, 2021
13cf399
Merge remote-tracking branch 'origin/master' into wasmtime-sandbox
0x7CFE Jul 26, 2021
3b9fed0
Removes unused import
0x7CFE Jul 26, 2021
0490129
Merge branch 'master' into wasmtime-sandbox
athei Aug 9, 2021
33caef7
cargo fmt
athei Aug 9, 2021
fc5fec1
Fix feature dependency graph
athei Aug 9, 2021
ae6cf2a
Fix doc typo
athei Aug 9, 2021
a1b77a9
Enable wasmer-sandbox by default (for now)
athei Aug 9, 2021
d713590
cargo run --quiet --release --features=runtime-benchmarks --manifest-…
Aug 9, 2021
22ba7c0
Merge branch 'master' into wasmtime-sandbox
athei Aug 16, 2021
2de9793
Revert "cargo run --quiet --release --features=runtime-benchmarks --m…
athei Aug 16, 2021
a9e251d
cargo fmt
athei Aug 16, 2021
6ae0d7a
Merge branch 'master' into wasmtime-sandbox
athei Aug 17, 2021
fb13a8a
Add ci-check to prevent wasmer sandbox build breaking
athei Aug 17, 2021
cff6315
Run tests with wasmer-sandbox enabled
athei Aug 17, 2021
5e50c3b
Revert "Run tests with wasmer-sandbox enabled"
athei Aug 17, 2021
6ece6d4
Merge branch 'master' into wasmtime-sandbox
athei Aug 18, 2021
0cff0e2
Merge branch 'master' into wasmtime-sandbox
athei Aug 19, 2021
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 8 additions & 0 deletions .gitlab-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -300,6 +300,14 @@ cargo-check-try-runtime:
- time cargo check --features try-runtime
- sccache -s

cargo-check-wasmer-sandbox:
stage: test
<<: *docker-env
<<: *test-refs
script:
- time cargo check --features wasmer-sandbox
- sccache -s

test-deterministic-wasm:
stage: test
<<: *docker-env
Expand Down
Loading