1(module2 (import "seal0" "seal_set_storage" (func $seal_set_storage (param i32 i32 i32)))3 (import "seal0" "seal_input" (func $seal_input (param i32 i32)))4 (import "seal0" "seal_restore_to"5 (func $seal_restore_to6 (param i32 i32 i32 i32 i32 i32 i32 i32)7 )8 )9 (import "env" "memory" (memory 1 1))1011 (func $assert (param i32)12 (block $ok13 (br_if $ok14 (get_local 0)15 )16 (unreachable)17 )18 )1920 (func (export "call")21 ;; copy code hash to contract memory22 (call $seal_input (i32.const 308) (i32.const 304))23 (call $assert24 (i32.eq25 (i32.load (i32.const 304))26 (i32.const 64)27 )28 )29 (call $seal_restore_to30 ;; Pointer and length of the encoded dest buffer.31 (i32.const 340)32 (i32.const 32)33 ;; Pointer and length of the encoded code hash buffer34 (i32.const 308)35 (i32.const 32)36 ;; Pointer and length of the encoded rent_allowance buffer37 (i32.const 296)38 (i32.const 8)39 ;; Pointer and number of items in the delta buffer.40 ;; This buffer specifies multiple keys for removal before restoration.41 (i32.const 100)42 (i32.const 1)43 )44 )45 (func (export "deploy")46 ;; Data to restore47 (call $seal_set_storage48 (i32.const 0)49 (i32.const 0)50 (i32.const 4)51 )5253 ;; ACL54 (call $seal_set_storage55 (i32.const 100)56 (i32.const 0)57 (i32.const 4)58 )59 )6061 ;; Data to restore62 (data (i32.const 0) "\28")6364 ;; Buffer that has ACL storage keys.65 (data (i32.const 100) "\01")6667 ;; [296, 304) Rent allowance68 (data (i32.const 296) "\32\00\00\00\00\00\00\00")6970 ;; [304, 308) Size of the buffer that holds code_hash + addr71 (data (i32.const 304) "\40")7273 ;; [308, 340) code hash of bob (copied by seal_input)74 ;; [340, 372) addr of bob (copied by seal_input)75)