polkadot-js/client

View on GitHub
packages/client-wasm/src/wasm/proxy_runtime.wat

Summary

Maintainability
Test Coverage
;; Copyright 2017-2019 @polkadot/client-wasm authors & contributors
;; This software may be modified and distributed under the terms
;; of the Apache-2.0 license. See the LICENSE file for details.

(module
  (import "runtime" "blake2_256"
    (func $blake2_256
      (param i32 i32 i32)
    )
  )
  (import "runtime" "blake2_256_enumerated_trie_root"
    (func $blake2_256_enumerated_trie_root
      (param i32 i32 i32 i32)
    )
  )
  (import "runtime" "chain_id"
    (func $chain_id
      (result i32)
    )
  )
  (import "runtime" "child_storage_root"
    (func $child_storage_root
      (param i32 i32 i32) (result i32)
    )
  )
  (import "runtime" "clear_child_storage"
    (func $clear_child_storage
      (param i32 i32 i32 i32)
    )
  )
  (import "runtime" "clear_prefix"
    (func $clear_prefix
      (param i32 i32)
    )
  )
  (import "runtime" "clear_storage"
    (func $clear_storage
      (param i32 i32)
    )
  )
  (import "runtime" "ed25519_verify"
    (func $ed25519_verify
      (param i32 i32 i32 i32) (result i32)
    )
  )
  (import "runtime" "exists_child_storage"
    (func $exists_child_storage
      (param i32 i32 i32 i32) (result i32)
    )
  )
  (import "runtime" "exists_storage"
    (func $exists_storage
      (param i32 i32) (result i32)
    )
  )
  (import "runtime" "free"
    (func $free
      (param i32)
    )
  )
  (import "runtime" "get_allocated_child_storage"
    (func $get_allocated_child_storage
      (param i32 i32 i32 i32 i32) (result i32)
    )
  )
  (import "runtime" "get_allocated_storage"
    (func $get_allocated_storage
      (param i32 i32 i32) (result i32)
    )
  )
  (import "runtime" "get_child_storage_into"
    (func $get_child_storage_into
      (param i32 i32 i32 i32 i32 i32 i32) (result i32)
    )
  )
  (import "runtime" "get_storage_into"
    (func $get_storage_into
      (param i32 i32 i32 i32 i32) (result i32)
    )
  )
  (import "runtime" "keccak_256"
    (func $keccak_256
      (param i32 i32 i32)
    )
  )
  (import "runtime" "kill_child_storage"
    (func $kill_child_storage
      (param i32 i32)
    )
  )
  (import "runtime" "malloc"
    (func $malloc
      (param i32) (result i32)
      )
  )
  (import "runtime" "memcmp"
    (func $memcmp
      (param i32 i32 i32) (result i32)
    )
  )
  (import "runtime" "memcpy"
    (func $memcpy
      (param i32 i32 i32) (result i32)
    )
  )
  (import "runtime" "memmove"
    (func $memmove
      (param i32 i32 i32) (result i32)
    )
  )
  (import "runtime" "memset"
    (func $memset
      (param i32 i32 i32) (result i32)
    )
  )
  (import "runtime" "print_hex"
    (func $print_hex
      (param i32 i32)
    )
  )
  (import "runtime" "print_num"
    (func $print_num
      (param i32 i32)
    )
  )
  (import "runtime" "print_utf8"
    (func $print_utf8
      (param i32 i32)
    )
  )
  (import "runtime" "sandbox_instantiate"
    (func $sandbox_instantiate
      (param i32 i32 i32 i32 i32 i32) (result i32)
    )
  )
  (import "runtime" "sandbox_instance_teardown"
    (func $sandbox_instance_teardown
      (param i32)
    )
  )
  (import "runtime" "sandbox_invoke"
    (func $sandbox_invoke
      (param i32 i32 i32 i32 i32 i32 i32 i32) (result i32)
    )
  )
  (import "runtime" "sandbox_memory_get"
    (func $sandbox_memory_get
      (param i32 i32 i32 i32) (result i32)
    )
  )
  (import "runtime" "sandbox_memory_new"
    (func $sandbox_memory_new
      (param i32 i32) (result i32)
    )
  )
  (import "runtime" "sandbox_memory_set"
    (func $sandbox_memory_set
      (param i32 i32 i32 i32) (result i32)
    )
  )
  (import "runtime" "sandbox_memory_teardown"
    (func $sandbox_memory_teardown
      (param i32)
    )
  )
  (import "runtime" "secp256k1_ecdsa_recover"
    (func $secp256k1_ecdsa_recover
      (param i32 i32 i32)
    )
  )
  (import "runtime" "set_child_storage"
    (func $set_child_storage
      (param i32 i32 i32 i32 i32 i32)
    )
  )
  (import "runtime" "set_storage"
    (func $set_storage
      (param i32 i32 i32 i32)
    )
  )
  (import "runtime" "sr25519_verify"
    (func $sr25519_verify
      (param i32 i32 i32 i32) (result i32)
    )
  )
  (import "runtime" "storage_changes_root"
    (func $storage_changes_root
      (param i32 i32 i32 i32 i32) (result i32)
    )
  )
  (import "runtime" "storage_root"
    (func $storage_root
      (param i32)
    )
  )
  (import "runtime" "twox_128"
    (func $twox_128
      (param i32 i32 i32)
    )
  )

  ;; takes the i64 value, returning the hi part
  (func $get_hi
    (param i64) (result i32)

    (i32.wrap/i64
      (i64.shr_u
        (get_local 0)
        (i64.const 32)
      )
    )
  )

  ;; takes the i64 value, returning the lo part
  (func $get_lo
    (param i64) (result i32)

    (i32.wrap/i64
      (get_local 0)
    )
  )

  ;; spec compliant print_num
  (func (export "ext_print_num")
    (param i64)

    (call $print_num
      (call $get_hi (get_local 0))
      (call $get_lo (get_local 0))
    )
  )

  ;; spec compliant chain_id
  (func (export "ext_chain_id")
    (result i64)

    (i64.extend_u/i32
      (call $chain_id)
    )
  )

  ;; spec compliant storage_changes_root
  (func (export "ext_storage_changes_root")
    (param i32 i32 i64 i32) (result i32)

    (call $storage_changes_root
      (get_local 0)
      (get_local 1)
      (call $get_hi (get_local 2))
      (call $get_lo (get_local 2))
      (get_local 3)
    )
  )

  (export "ext_blake2_256" (func $blake2_256))
  (export "ext_blake2_256_enumerated_trie_root" (func $blake2_256_enumerated_trie_root))
  (export "ext_child_storage_root" (func $child_storage_root))
  (export "ext_clear_child_storage" (func $clear_child_storage))
  (export "ext_clear_prefix" (func $clear_prefix))
  (export "ext_clear_storage" (func $clear_storage))
  (export "ext_ed25519_verify" (func $ed25519_verify))
  (export "ext_exists_child_storage" (func $exists_child_storage))
  (export "ext_exists_storage" (func $exists_storage))
  (export "ext_free" (func $free))
  (export "ext_get_allocated_child_storage" (func $get_allocated_child_storage))
  (export "ext_get_allocated_storage" (func $get_allocated_storage))
  (export "ext_get_child_storage_into" (func $get_child_storage_into))
  (export "ext_get_storage_into" (func $get_storage_into))
  (export "ext_keccak_256" (func $keccak_256))
  (export "ext_kill_child_storage" (func $kill_child_storage))
  (export "ext_malloc" (func $malloc))
  (export "ext_memcmp" (func $memcmp))
  (export "ext_memcpy" (func $memcpy))
  (export "ext_memmove" (func $memmove))
  (export "ext_memset" (func $memset))
  (export "ext_print_hex" (func $print_hex))
  (export "ext_print_utf8" (func $print_utf8))
  (export "ext_sandbox_invoke" (func $sandbox_invoke))
  (export "ext_sandbox_instance_teardown" (func $sandbox_instance_teardown))
  (export "ext_sandbox_instantiate" (func $sandbox_instantiate))
  (export "ext_sandbox_memory_get" (func $sandbox_memory_get))
  (export "ext_sandbox_memory_new" (func $sandbox_memory_new))
  (export "ext_sandbox_memory_set" (func $sandbox_memory_set))
  (export "ext_sandbox_memory_teardown" (func $sandbox_memory_teardown))
  (export "ext_secp256k1_ecdsa_recover" (func $secp256k1_ecdsa_recover))
  (export "ext_set_child_storage" (func $set_child_storage))
  (export "ext_set_storage" (func $set_storage))
  (export "ext_sr25519_verify" (func $sr25519_verify))
  (export "ext_storage_root" (func $storage_root))
  (export "ext_twox_128" (func $twox_128))
)