mirror of
https://github.com/pezkuwichain/pezkuwi-subxt.git
synced 2026-05-31 09:51:02 +00:00
f36b78570f
* Add a simple direct storage access module * WIP * Completely migrate to the transactional system. * Format * Fix wasm compilation * Get rid of account_db module * Make deposit event eager * Make restore_to eager * It almost compiles. * Make it compile. * Make the tests compile * Get rid of account_db * Drop the result. * Backport the book keeping. * Fix all remaining tests. * Make it compile for std * Remove a stale TODO marker * Remove another stale TODO * Add proof for `terminate` * Remove a stale comment. * Make restoration diverging. * Remove redudnant trait: `ComputeDispatchFee` * Update frame/contracts/src/exec.rs Co-authored-by: Alexander Theißen <alex.theissen@me.com> * Introduce proper errors into the storage module. * Adds comments for contract storage module. * Inline `ExecutionContext::terminate`. * Restore_to should not let sacrifice itself if the contract present on the stack. * Inline `transfer` function * Update doc - add "if succeeded" * Adapt to TransactionOutcome changes * Updates the docs for `ext_restore_to` * Add a proper assert. * Update frame/contracts/src/wasm/runtime.rs Co-authored-by: Alexander Theißen <alex.theissen@me.com> Co-authored-by: Alexander Theißen <alex.theissen@me.com> Co-authored-by: Alexander Theißen <alexander.theissen@parity.io>
61 lines
1.3 KiB
WebAssembly Text Format
61 lines
1.3 KiB
WebAssembly Text Format
(module
|
|
(import "env" "ext_set_storage" (func $ext_set_storage (param i32 i32 i32)))
|
|
(import "env" "ext_restore_to"
|
|
(func $ext_restore_to
|
|
(param i32 i32 i32 i32 i32 i32 i32 i32)
|
|
)
|
|
)
|
|
(import "env" "memory" (memory 1 1))
|
|
|
|
(func (export "call")
|
|
(call $ext_restore_to
|
|
;; Pointer and length of the encoded dest buffer.
|
|
(i32.const 256)
|
|
(i32.const 8)
|
|
;; Pointer and length of the encoded code hash buffer
|
|
(i32.const 264)
|
|
(i32.const 32)
|
|
;; Pointer and length of the encoded rent_allowance buffer
|
|
(i32.const 296)
|
|
(i32.const 8)
|
|
;; Pointer and number of items in the delta buffer.
|
|
;; This buffer specifies multiple keys for removal before restoration.
|
|
(i32.const 100)
|
|
(i32.const 1)
|
|
)
|
|
)
|
|
(func (export "deploy")
|
|
;; Data to restore
|
|
(call $ext_set_storage
|
|
(i32.const 0)
|
|
(i32.const 0)
|
|
(i32.const 4)
|
|
)
|
|
|
|
;; ACL
|
|
(call $ext_set_storage
|
|
(i32.const 100)
|
|
(i32.const 0)
|
|
(i32.const 4)
|
|
)
|
|
)
|
|
|
|
;; Data to restore
|
|
(data (i32.const 0) "\28")
|
|
|
|
;; Buffer that has ACL storage keys.
|
|
(data (i32.const 100) "\01")
|
|
|
|
;; Address of bob
|
|
(data (i32.const 256) "\02\00\00\00\00\00\00\00")
|
|
|
|
;; Code hash of SET_RENT
|
|
(data (i32.const 264)
|
|
"\c2\1c\41\10\a5\22\d8\59\1c\4c\77\35\dd\2d\bf\a1"
|
|
"\13\0b\50\93\76\9b\92\31\97\b7\c5\74\26\aa\38\2a"
|
|
)
|
|
|
|
;; Rent allowance
|
|
(data (i32.const 296) "\32\00\00\00\00\00\00\00")
|
|
)
|