From 86b22994b34f6aa2da11def3ca2dd9b9632db7c4 Mon Sep 17 00:00:00 2001 From: jimboj Date: Thu, 23 Mar 2023 14:52:57 -0600 Subject: [PATCH] clean up --- Dockerfile | 3 - lib/runtime/wasmer/config.go | 2 +- lib/runtime/wasmer/config_test.go | 2 +- lib/runtime/wasmer/exports.go | 2 +- lib/runtime/wasmer/exports_test.go | 40 +++------ lib/runtime/wasmer/genesis.go | 2 +- lib/runtime/wasmer/genesis_test.go | 6 +- lib/runtime/wasmer/helpers.go | 2 +- lib/runtime/wasmer/helpers_test.go | 2 +- lib/runtime/wasmer/imports.go | 5 +- lib/runtime/wasmer/imports_test.go | 122 ++++++++++++++-------------- lib/runtime/wasmer/instance.go | 39 +-------- lib/runtime/wasmer/instance_test.go | 3 +- lib/runtime/wasmer/interfaces.go | 2 +- lib/runtime/wasmer/test_helpers.go | 2 +- 15 files changed, 87 insertions(+), 147 deletions(-) diff --git a/Dockerfile b/Dockerfile index f6667168587..b8e39c14f43 100644 --- a/Dockerfile +++ b/Dockerfile @@ -23,9 +23,6 @@ WORKDIR /go/src/github.com/ChainSafe/gossamer COPY go.mod go.sum ./ RUN go mod download -# Prepare libwasmer.so for COPY -#RUN cp /go/pkg/mod/github.com/wasmerio/go-ext-wasm@*/wasmer/libwasmer.so libwasmer.so - # Copy gossamer sources COPY . . diff --git a/lib/runtime/wasmer/config.go b/lib/runtime/wasmer/config.go index 5ef091f9a61..2a5675f46fa 100644 --- a/lib/runtime/wasmer/config.go +++ b/lib/runtime/wasmer/config.go @@ -1,4 +1,4 @@ -// Copyright 2023 ChainSafe Systems (ON) +// Copyright 2022 ChainSafe Systems (ON) // SPDX-License-Identifier: LGPL-3.0-only package wasmer diff --git a/lib/runtime/wasmer/config_test.go b/lib/runtime/wasmer/config_test.go index 73bfbd32c24..cdf2e2dcad5 100644 --- a/lib/runtime/wasmer/config_test.go +++ b/lib/runtime/wasmer/config_test.go @@ -1,4 +1,4 @@ -// Copyright 2023 ChainSafe Systems (ON) +// Copyright 2022 ChainSafe Systems (ON) // SPDX-License-Identifier: LGPL-3.0-only package wasmer diff --git a/lib/runtime/wasmer/exports.go b/lib/runtime/wasmer/exports.go index 49a21e70f89..b7298cb5742 100644 --- a/lib/runtime/wasmer/exports.go +++ b/lib/runtime/wasmer/exports.go @@ -1,4 +1,4 @@ -// Copyright 2023 ChainSafe Systems (ON) +// Copyright 2021 ChainSafe Systems (ON) // SPDX-License-Identifier: LGPL-3.0-only package wasmer diff --git a/lib/runtime/wasmer/exports_test.go b/lib/runtime/wasmer/exports_test.go index d6b57b665a0..859da3c1ecd 100644 --- a/lib/runtime/wasmer/exports_test.go +++ b/lib/runtime/wasmer/exports_test.go @@ -1,4 +1,4 @@ -// Copyright 2023 ChainSafe Systems (ON) +// Copyright 2021 ChainSafe Systems (ON) // SPDX-License-Identifier: LGPL-3.0-only package wasmer @@ -6,7 +6,6 @@ package wasmer import ( "bytes" "encoding/json" - "fmt" "math/big" "os" "testing" @@ -33,8 +32,7 @@ import ( var testKeyOwnershipProof types.OpaqueKeyOwnershipProof = types.OpaqueKeyOwnershipProof([]byte{64, 138, 252, 29, 127, 102, 189, 129, 207, 47, 157, 60, 17, 138, 194, 121, 139, 92, 176, 175, 224, 16, 185, 93, 175, 251, 224, 81, 209, 61, 0, 71}) //nolint:lll func Test_Instance_Version(t *testing.T) { - //t.Parallel() - + t.Parallel() type instanceVersioner interface { Version() (version runtime.Version) } @@ -282,8 +280,7 @@ func Test_Instance_Version(t *testing.T) { for name, testCase := range testCases { testCase := testCase t.Run(name, func(t *testing.T) { - //t.Parallel() - + t.Parallel() instance := testCase.instanceBuilder(t) version := instance.Version() assert.Equal(t, testCase.expectedVersion, version) @@ -366,7 +363,6 @@ func TestNodeRuntime_ValidateTransaction(t *testing.T) { func TestInstance_GrandpaAuthorities_NodeRuntime(t *testing.T) { tt := trie.NewEmptyTrie() - value, err := common.HexToBytes("0x0108eea1eabcac7d2c8a6459b7322cf997874482bfc3d2ec7a80888a3a7d714103640100000000000000b64994460e59b30364cad3c92e3df6052f9b0ebbb8f88460c194dc5794d6d7170100000000000000") //nolint:lll require.NoError(t, err) @@ -394,7 +390,6 @@ func TestInstance_GrandpaAuthorities_NodeRuntime(t *testing.T) { func TestInstance_GrandpaAuthorities_PolkadotRuntime(t *testing.T) { tt := trie.NewEmptyTrie() - value, err := common.HexToBytes("0x0108eea1eabcac7d2c8a6459b7322cf997874482bfc3d2ec7a80888a3a7d714103640100000000000000b64994460e59b30364cad3c92e3df6052f9b0ebbb8f88460c194dc5794d6d7170100000000000000") //nolint:lll require.NoError(t, err) @@ -416,13 +411,11 @@ func TestInstance_GrandpaAuthorities_PolkadotRuntime(t *testing.T) { {Key: authA, Weight: 1}, {Key: authB, Weight: 1}, } - require.Equal(t, expected, auths) } func TestInstance_BabeGenerateKeyOwnershipProof(t *testing.T) { - //t.Parallel() - + t.Parallel() testCases := []struct { name string targetRuntime string @@ -439,10 +432,9 @@ func TestInstance_BabeGenerateKeyOwnershipProof(t *testing.T) { for _, testCase := range testCases { testCase := testCase t.Run(testCase.name, func(t *testing.T) { - //t.Parallel() + t.Parallel() tt := trie.NewEmptyTrie() - randomnessValue, err := common.HexToHash("0x01") require.NoError(t, err) key := common.MustHexToBytes(genesis.BABERandomnessKeyHex) @@ -471,8 +463,7 @@ func TestInstance_BabeGenerateKeyOwnershipProof(t *testing.T) { } func TestInstance_BabeSubmitReportEquivocationUnsignedExtrinsic(t *testing.T) { - //t.Parallel() - + t.Parallel() testCases := []struct { name string targetRuntime string @@ -489,7 +480,7 @@ func TestInstance_BabeSubmitReportEquivocationUnsignedExtrinsic(t *testing.T) { for _, testCase := range testCases { testCase := testCase t.Run(testCase.name, func(t *testing.T) { - //t.Parallel() + t.Parallel() tt := trie.NewEmptyTrie() rt := NewTestInstanceWithTrie(t, testCase.targetRuntime, tt) @@ -540,7 +531,6 @@ func TestInstance_BabeConfiguration_DevRuntime_NoAuthorities(t *testing.T) { Randomness: [32]byte{}, SecondarySlots: 1, } - require.Equal(t, expected, cfg) } @@ -580,13 +570,11 @@ func TestInstance_BabeConfiguration_NodeRuntime_WithAuthorities(t *testing.T) { Randomness: [32]byte{1}, SecondarySlots: 1, } - require.Equal(t, expected, cfg) } func TestInstance_InitializeBlock_NodeRuntime(t *testing.T) { rt := NewTestInstance(t, runtime.NODE_RUNTIME) - header := &types.Header{ Number: 1, Digest: types.NewDigest(), @@ -598,7 +586,6 @@ func TestInstance_InitializeBlock_NodeRuntime(t *testing.T) { func TestInstance_InitializeBlock_PolkadotRuntime(t *testing.T) { rt := NewTestInstance(t, runtime.POLKADOT_RUNTIME) - header := &types.Header{ Number: 1, Digest: types.NewDigest(), @@ -664,7 +651,6 @@ func TestInstance_ApplyExtrinsic_WestendRuntime(t *testing.T) { func TestInstance_ExecuteBlock_PolkadotRuntime(t *testing.T) { DefaultTestLogLvl = 0 - instance := NewTestInstance(t, runtime.POLKADOT_RUNTIME) block := runtime.InitializeRuntimeToTest(t, instance, &types.Header{}) @@ -1124,10 +1110,6 @@ func TestInstance_PaymentQueryInfo(t *testing.T) { continue } require.NoError(t, err) - - fmt.Println(info.PartialFee.String()) - fmt.Println(test.expect.PartialFee.String()) - require.NoError(t, err) require.NotNil(t, info) require.Equal(t, test.expect, info) @@ -1155,7 +1137,7 @@ func newTrieFromPairs(t *testing.T, filename string) *trie.Trie { } func TestInstance_TransactionPaymentCallApi_QueryCallInfo(t *testing.T) { - //t.Parallel() + t.Parallel() ins := NewTestInstance(t, runtime.WESTEND_RUNTIME_v0929) tests := []struct { callHex string @@ -1213,7 +1195,7 @@ func TestInstance_TransactionPaymentCallApi_QueryCallInfo(t *testing.T) { } func TestInstance_TransactionPaymentCallApi_QueryCallFeeDetails(t *testing.T) { - //t.Parallel() + t.Parallel() ins := NewTestInstance(t, runtime.WESTEND_RUNTIME_v0929) tests := []struct { callHex string @@ -1274,7 +1256,7 @@ func TestInstance_TransactionPaymentCallApi_QueryCallFeeDetails(t *testing.T) { } func TestInstance_GrandpaGenerateKeyOwnershipProof(t *testing.T) { - //t.Parallel() + t.Parallel() instance := NewTestInstance(t, runtime.WESTEND_RUNTIME_v0929) identity := common.MustHexToBytes("0x88dc3417d5058ec4b4503e0c12ea1a0a89be200fe98922423d4334014fa6b0ee") identityPubKey, _ := ed25519.NewPublicKey(identity) @@ -1287,7 +1269,7 @@ func TestInstance_GrandpaGenerateKeyOwnershipProof(t *testing.T) { } func TestInstance_GrandpaSubmitReportEquivocationUnsignedExtrinsic(t *testing.T) { - //t.Parallel() + t.Parallel() identity := common.MustHexToBytes("0x88dc3417d5058ec4b4503e0c12ea1a0a89be200fe98922423d4334014fa6b0ee") identityPubKey, _ := ed25519.NewPublicKey(identity) runtime := NewTestInstance(t, runtime.WESTEND_RUNTIME_v0929) diff --git a/lib/runtime/wasmer/genesis.go b/lib/runtime/wasmer/genesis.go index 439ecdd3cff..7c9883fcf32 100644 --- a/lib/runtime/wasmer/genesis.go +++ b/lib/runtime/wasmer/genesis.go @@ -1,4 +1,4 @@ -// Copyright 2023 ChainSafe Systems (ON) +// Copyright 2022 ChainSafe Systems (ON) // SPDX-License-Identifier: LGPL-3.0-only package wasmer diff --git a/lib/runtime/wasmer/genesis_test.go b/lib/runtime/wasmer/genesis_test.go index 5c346f916ac..b261f4e3973 100644 --- a/lib/runtime/wasmer/genesis_test.go +++ b/lib/runtime/wasmer/genesis_test.go @@ -1,4 +1,4 @@ -// Copyright 2023 ChainSafe Systems (ON) +// Copyright 2022 ChainSafe Systems (ON) // SPDX-License-Identifier: LGPL-3.0-only package wasmer @@ -13,7 +13,7 @@ import ( ) func Test_NewTrieFromGenesis(t *testing.T) { - //t.Parallel() + t.Parallel() testCases := map[string]struct { genesis genesis.Genesis @@ -64,7 +64,7 @@ func Test_NewTrieFromGenesis(t *testing.T) { for name, testCase := range testCases { testCase := testCase t.Run(name, func(t *testing.T) { - //t.Parallel() + t.Parallel() tr, err := NewTrieFromGenesis(testCase.genesis) diff --git a/lib/runtime/wasmer/helpers.go b/lib/runtime/wasmer/helpers.go index 103d20ce0eb..7ad34abf312 100644 --- a/lib/runtime/wasmer/helpers.go +++ b/lib/runtime/wasmer/helpers.go @@ -1,4 +1,4 @@ -// Copyright 2023 ChainSafe Systems (ON) +// Copyright 2022 ChainSafe Systems (ON) // SPDX-License-Identifier: LGPL-3.0-only package wasmer diff --git a/lib/runtime/wasmer/helpers_test.go b/lib/runtime/wasmer/helpers_test.go index 47ddf8cee51..191e4a7abb9 100644 --- a/lib/runtime/wasmer/helpers_test.go +++ b/lib/runtime/wasmer/helpers_test.go @@ -1,4 +1,4 @@ -// Copyright 2023 ChainSafe Systems (ON) +// Copyright 2022 ChainSafe Systems (ON) // SPDX-License-Identifier: LGPL-3.0-only package wasmer diff --git a/lib/runtime/wasmer/imports.go b/lib/runtime/wasmer/imports.go index a5312e4af74..b13660ac08b 100644 --- a/lib/runtime/wasmer/imports.go +++ b/lib/runtime/wasmer/imports.go @@ -1,4 +1,4 @@ -// Copyright 2023 ChainSafe Systems (ON) +// Copyright 2021 ChainSafe Systems (ON) // SPDX-License-Identifier: LGPL-3.0-only package wasmer @@ -925,7 +925,6 @@ func ext_misc_runtime_version_version_1(env interface{}, args []wasmer.Value) ([ instanceContext := env.(*runtime.Context) dataSpan := args[0].I64() - //data := asMemorySlice(ctx, dataSpan) code := asMemorySlice(instanceContext, dataSpan) version, err := GetRuntimeVersion(code) @@ -1246,7 +1245,7 @@ func ext_default_child_storage_storage_kill_version_3(env interface{}, args []wa deleted, all, err := storage.DeleteChildLimit(childStorageKey, limit) if err != nil { logger.Warnf("cannot get child storage: %s", err) - return []wasmer.Value{wasmer.NewI64(0)}, err + return []wasmer.Value{wasmer.NewI64(0)}, nil } vdt, err := scale.NewVaryingDataType(noneRemain(0), someRemain(0)) diff --git a/lib/runtime/wasmer/imports_test.go b/lib/runtime/wasmer/imports_test.go index adf905338d0..5250305c0c2 100644 --- a/lib/runtime/wasmer/imports_test.go +++ b/lib/runtime/wasmer/imports_test.go @@ -1,4 +1,4 @@ -// Copyright 2023 ChainSafe Systems (ON) +// Copyright 2021 ChainSafe Systems (ON) // SPDX-License-Identifier: LGPL-3.0-only package wasmer @@ -67,7 +67,7 @@ func Test_ext_offchain_sleep_until_version_1(t *testing.T) { } func Test_ext_hashing_blake2_128_version_1(t *testing.T) { - //t.Parallel() + t.Parallel() inst := NewTestInstance(t, runtime.HOST_API_TEST_RUNTIME) data := []byte("helloworld") @@ -87,7 +87,7 @@ func Test_ext_hashing_blake2_128_version_1(t *testing.T) { } func Test_ext_hashing_blake2_256_version_1(t *testing.T) { - //t.Parallel() + t.Parallel() inst := NewTestInstance(t, runtime.HOST_API_TEST_RUNTIME) data := []byte("helloworld") @@ -108,7 +108,7 @@ func Test_ext_hashing_blake2_256_version_1(t *testing.T) { } func Test_ext_hashing_keccak_256_version_1(t *testing.T) { - //t.Parallel() + t.Parallel() inst := NewTestInstance(t, runtime.HOST_API_TEST_RUNTIME) data := []byte("helloworld") @@ -128,7 +128,7 @@ func Test_ext_hashing_keccak_256_version_1(t *testing.T) { } func Test_ext_hashing_twox_128_version_1(t *testing.T) { - //t.Parallel() + t.Parallel() inst := NewTestInstance(t, runtime.HOST_API_TEST_RUNTIME) data := []byte("helloworld") @@ -148,7 +148,7 @@ func Test_ext_hashing_twox_128_version_1(t *testing.T) { } func Test_ext_hashing_twox_64_version_1(t *testing.T) { - //t.Parallel() + t.Parallel() inst := NewTestInstance(t, runtime.HOST_API_TEST_RUNTIME) data := []byte("helloworld") @@ -169,7 +169,7 @@ func Test_ext_hashing_twox_64_version_1(t *testing.T) { } func Test_ext_hashing_sha2_256_version_1(t *testing.T) { - //t.Parallel() + t.Parallel() inst := NewTestInstance(t, runtime.HOST_API_TEST_RUNTIME) data := []byte("helloworld") @@ -188,7 +188,7 @@ func Test_ext_hashing_sha2_256_version_1(t *testing.T) { } func Test_ext_storage_clear_version_1(t *testing.T) { - //t.Parallel() + t.Parallel() inst := NewTestInstance(t, runtime.HOST_API_TEST_RUNTIME) testkey := []byte("noot") @@ -205,7 +205,7 @@ func Test_ext_storage_clear_version_1(t *testing.T) { } func Test_ext_offchain_local_storage_clear_version_1_Persistent(t *testing.T) { - //t.Parallel() + t.Parallel() inst := NewTestInstance(t, runtime.HOST_API_TEST_RUNTIME) testkey := []byte("key1") @@ -229,7 +229,7 @@ func Test_ext_offchain_local_storage_clear_version_1_Persistent(t *testing.T) { } func Test_ext_offchain_local_storage_clear_version_1_Local(t *testing.T) { - //t.Parallel() + t.Parallel() inst := NewTestInstance(t, runtime.HOST_API_TEST_RUNTIME) testkey := []byte("key1") @@ -252,7 +252,7 @@ func Test_ext_offchain_local_storage_clear_version_1_Local(t *testing.T) { } func Test_ext_offchain_http_request_start_version_1(t *testing.T) { - //t.Parallel() + t.Parallel() inst := NewTestInstance(t, runtime.HOST_API_TEST_RUNTIME) encMethod, err := scale.Marshal([]byte("GET")) @@ -309,7 +309,7 @@ func Test_ext_offchain_http_request_start_version_1(t *testing.T) { } func Test_ext_offchain_http_request_add_header(t *testing.T) { - //t.Parallel() + t.Parallel() inst := NewTestInstance(t, runtime.HOST_API_TEST_RUNTIME) @@ -332,7 +332,7 @@ func Test_ext_offchain_http_request_add_header(t *testing.T) { for tname, tcase := range cases { t.Run(tname, func(t *testing.T) { - //t.Parallel() + t.Parallel() reqID, err := inst.ctx.OffchainHTTPSet.StartRequest(http.MethodGet, "http://uri.example") require.NoError(t, err) @@ -374,7 +374,7 @@ func Test_ext_offchain_http_request_add_header(t *testing.T) { } func Test_ext_storage_clear_prefix_version_1_hostAPI(t *testing.T) { - //t.Parallel() + t.Parallel() inst := NewTestInstance(t, runtime.HOST_API_TEST_RUNTIME) testkey := []byte("static") @@ -397,7 +397,7 @@ func Test_ext_storage_clear_prefix_version_1_hostAPI(t *testing.T) { } func Test_ext_storage_clear_prefix_version_1(t *testing.T) { - //t.Parallel() + t.Parallel() inst := NewTestInstance(t, runtime.HOST_API_TEST_RUNTIME) testkey := []byte("noot") @@ -420,7 +420,7 @@ func Test_ext_storage_clear_prefix_version_1(t *testing.T) { } func Test_ext_storage_clear_prefix_version_2(t *testing.T) { - //t.Parallel() + t.Parallel() inst := NewTestInstance(t, runtime.HOST_API_TEST_RUNTIME) testkey := []byte("jimboj") @@ -493,7 +493,7 @@ func Test_ext_storage_clear_prefix_version_2(t *testing.T) { } func Test_ext_storage_get_version_1(t *testing.T) { - //t.Parallel() + t.Parallel() inst := NewTestInstance(t, runtime.HOST_API_TEST_RUNTIME) testkey := []byte("noot") @@ -514,7 +514,7 @@ func Test_ext_storage_get_version_1(t *testing.T) { } func Test_ext_storage_exists_version_1(t *testing.T) { - //t.Parallel() + t.Parallel() testCases := map[string]struct { key []byte @@ -540,7 +540,7 @@ func Test_ext_storage_exists_version_1(t *testing.T) { for name, testCase := range testCases { testCase := testCase t.Run(name, func(t *testing.T) { - //t.Parallel() + t.Parallel() instance := NewTestInstance(t, runtime.HOST_API_TEST_RUNTIME) if testCase.value != nil { @@ -563,7 +563,7 @@ func Test_ext_storage_exists_version_1(t *testing.T) { } func Test_ext_storage_next_key_version_1(t *testing.T) { - //t.Parallel() + t.Parallel() inst := NewTestInstance(t, runtime.HOST_API_TEST_RUNTIME) testkey := []byte("noot") @@ -586,7 +586,7 @@ func Test_ext_storage_next_key_version_1(t *testing.T) { } func Test_ext_storage_read_version_1(t *testing.T) { - //t.Parallel() + t.Parallel() inst := NewTestInstance(t, runtime.HOST_API_TEST_RUNTIME) testkey := []byte("noot") @@ -615,7 +615,7 @@ func Test_ext_storage_read_version_1(t *testing.T) { } func Test_ext_storage_read_version_1_again(t *testing.T) { - //t.Parallel() + t.Parallel() inst := NewTestInstance(t, runtime.HOST_API_TEST_RUNTIME) testkey := []byte("noot") @@ -645,7 +645,7 @@ func Test_ext_storage_read_version_1_again(t *testing.T) { } func Test_ext_storage_read_version_1_OffsetLargerThanValue(t *testing.T) { - //t.Parallel() + t.Parallel() inst := NewTestInstance(t, runtime.HOST_API_TEST_RUNTIME) testkey := []byte("noot") @@ -674,7 +674,7 @@ func Test_ext_storage_read_version_1_OffsetLargerThanValue(t *testing.T) { } func Test_ext_storage_root_version_1(t *testing.T) { - //t.Parallel() + t.Parallel() inst := NewTestInstance(t, runtime.HOST_API_TEST_RUNTIME) ret, err := inst.Exec("rtm_ext_storage_root_version_1", []byte{}) @@ -689,7 +689,7 @@ func Test_ext_storage_root_version_1(t *testing.T) { } func Test_ext_storage_set_version_1(t *testing.T) { - //t.Parallel() + t.Parallel() inst := NewTestInstance(t, runtime.HOST_API_TEST_RUNTIME) testkey := []byte("noot") @@ -708,7 +708,7 @@ func Test_ext_storage_set_version_1(t *testing.T) { } func Test_ext_offline_index_set_version_1(t *testing.T) { - //t.Parallel() + t.Parallel() // TODO this currently fails with error could not find exported function, add rtm_ func to tester wasm (#1026) t.Skip() inst := NewTestInstance(t, runtime.HOST_API_TEST_RUNTIME) @@ -730,7 +730,7 @@ func Test_ext_offline_index_set_version_1(t *testing.T) { } func Test_ext_crypto_ed25519_generate_version_1(t *testing.T) { - //t.Parallel() + t.Parallel() inst := NewTestInstance(t, runtime.HOST_API_TEST_RUNTIME) idData := []byte(keystore.AccoName) @@ -757,8 +757,6 @@ func Test_ext_crypto_ed25519_generate_version_1(t *testing.T) { copy(memory[ptr:ptr+uint32(len(params))], params) dataLen := int32(len(params)) - - //runtimeFunc, ok := inst.vm.Exports["rtm_ext_crypto_ed25519_generate_version_1"] runtimeFunc, err := inst.vm.Exports.GetFunction("rtm_ext_crypto_ed25519_generate_version_1") require.NoError(t, err) @@ -779,7 +777,7 @@ func Test_ext_crypto_ed25519_generate_version_1(t *testing.T) { } func Test_ext_crypto_ed25519_public_keys_version_1(t *testing.T) { - //t.Parallel() + t.Parallel() inst := NewTestInstance(t, runtime.HOST_API_TEST_RUNTIME) idData := []byte(keystore.DumyName) @@ -819,7 +817,7 @@ func Test_ext_crypto_ed25519_public_keys_version_1(t *testing.T) { } func Test_ext_crypto_ed25519_sign_version_1(t *testing.T) { - //t.Parallel() + t.Parallel() inst := NewTestInstance(t, runtime.HOST_API_TEST_RUNTIME) kp, err := ed25519.GenerateKeypair() @@ -858,7 +856,7 @@ func Test_ext_crypto_ed25519_sign_version_1(t *testing.T) { } func Test_ext_crypto_ed25519_verify_version_1(t *testing.T) { - //t.Parallel() + t.Parallel() inst := NewTestInstance(t, runtime.HOST_API_TEST_RUNTIME) kp, err := ed25519.GenerateKeypair() @@ -891,7 +889,7 @@ func Test_ext_crypto_ed25519_verify_version_1(t *testing.T) { } func Test_ext_crypto_ecdsa_verify_version_2(t *testing.T) { - //t.Parallel() + t.Parallel() inst := NewTestInstance(t, runtime.HOST_API_TEST_RUNTIME) @@ -926,7 +924,7 @@ func Test_ext_crypto_ecdsa_verify_version_2(t *testing.T) { } func Test_ext_crypto_ecdsa_verify_version_2_Table(t *testing.T) { - //t.Parallel() + t.Parallel() testCases := map[string]struct { sig []byte msg []byte @@ -968,7 +966,7 @@ func Test_ext_crypto_ecdsa_verify_version_2_Table(t *testing.T) { for name, tc := range testCases { tc := tc t.Run(name, func(t *testing.T) { - //t.Parallel() + t.Parallel() inst := NewTestInstance(t, runtime.HOST_API_TEST_RUNTIME) ret, err := inst.Exec("rtm_ext_crypto_ecdsa_verify_version_2", append(append(tc.sig, tc.msg...), tc.key...)) @@ -983,7 +981,7 @@ func Test_ext_crypto_ecdsa_verify_version_2_Table(t *testing.T) { } func Test_ext_crypto_sr25519_generate_version_1(t *testing.T) { - //t.Parallel() + t.Parallel() inst := NewTestInstance(t, runtime.HOST_API_TEST_RUNTIME) idData := []byte(keystore.AccoName) @@ -1016,7 +1014,7 @@ func Test_ext_crypto_sr25519_generate_version_1(t *testing.T) { } func Test_ext_crypto_secp256k1_ecdsa_recover_version_1(t *testing.T) { - //t.Parallel() + t.Parallel() inst := NewTestInstance(t, runtime.HOST_API_TEST_RUNTIME) msgData := []byte("Hello world!") @@ -1060,7 +1058,7 @@ func Test_ext_crypto_secp256k1_ecdsa_recover_version_1(t *testing.T) { } func Test_ext_crypto_secp256k1_ecdsa_recover_compressed_version_1(t *testing.T) { - //t.Parallel() + t.Parallel() t.Skip("host API tester does not yet contain rtm_ext_crypto_secp256k1_ecdsa_recover_compressed_version_1") inst := NewTestInstance(t, runtime.HOST_API_TEST_RUNTIME) @@ -1104,7 +1102,7 @@ func Test_ext_crypto_secp256k1_ecdsa_recover_compressed_version_1(t *testing.T) } func Test_ext_crypto_sr25519_public_keys_version_1(t *testing.T) { - //t.Parallel() + t.Parallel() inst := NewTestInstance(t, runtime.HOST_API_TEST_RUNTIME) idData := []byte(keystore.DumyName) @@ -1144,7 +1142,7 @@ func Test_ext_crypto_sr25519_public_keys_version_1(t *testing.T) { } func Test_ext_crypto_sr25519_sign_version_1(t *testing.T) { - //t.Parallel() + t.Parallel() inst := NewTestInstance(t, runtime.HOST_API_TEST_RUNTIME) kp, err := sr25519.GenerateKeypair() @@ -1185,7 +1183,7 @@ func Test_ext_crypto_sr25519_sign_version_1(t *testing.T) { } func Test_ext_crypto_sr25519_verify_version_1(t *testing.T) { - //t.Parallel() + t.Parallel() inst := NewTestInstance(t, runtime.HOST_API_TEST_RUNTIME) kp, err := sr25519.GenerateKeypair() @@ -1218,7 +1216,7 @@ func Test_ext_crypto_sr25519_verify_version_1(t *testing.T) { } func Test_ext_default_child_storage_read_version_1(t *testing.T) { - //t.Parallel() + t.Parallel() inst := NewTestInstance(t, runtime.HOST_API_TEST_RUNTIME) err := inst.ctx.Storage.SetChild(testChildKey, trie.NewEmptyTrie()) @@ -1258,7 +1256,7 @@ func Test_ext_default_child_storage_read_version_1(t *testing.T) { } func Test_ext_default_child_storage_clear_version_1(t *testing.T) { - //t.Parallel() + t.Parallel() inst := NewTestInstance(t, runtime.HOST_API_TEST_RUNTIME) err := inst.ctx.Storage.SetChild(testChildKey, trie.NewEmptyTrie()) @@ -1287,7 +1285,7 @@ func Test_ext_default_child_storage_clear_version_1(t *testing.T) { } func Test_ext_default_child_storage_clear_prefix_version_1(t *testing.T) { - //t.Parallel() + t.Parallel() inst := NewTestInstance(t, runtime.HOST_API_TEST_RUNTIME) prefix := []byte("key") @@ -1329,7 +1327,7 @@ func Test_ext_default_child_storage_clear_prefix_version_1(t *testing.T) { } func Test_ext_default_child_storage_exists_version_1(t *testing.T) { - //t.Parallel() + t.Parallel() inst := NewTestInstance(t, runtime.HOST_API_TEST_RUNTIME) err := inst.ctx.Storage.SetChild(testChildKey, trie.NewEmptyTrie()) @@ -1354,7 +1352,7 @@ func Test_ext_default_child_storage_exists_version_1(t *testing.T) { } func Test_ext_default_child_storage_get_version_1(t *testing.T) { - //t.Parallel() + t.Parallel() inst := NewTestInstance(t, runtime.HOST_API_TEST_RUNTIME) err := inst.ctx.Storage.SetChild(testChildKey, trie.NewEmptyTrie()) @@ -1379,7 +1377,7 @@ func Test_ext_default_child_storage_get_version_1(t *testing.T) { } func Test_ext_default_child_storage_next_key_version_1(t *testing.T) { - //t.Parallel() + t.Parallel() inst := NewTestInstance(t, runtime.HOST_API_TEST_RUNTIME) testKeyValuePair := []struct { @@ -1417,7 +1415,7 @@ func Test_ext_default_child_storage_next_key_version_1(t *testing.T) { } func Test_ext_default_child_storage_root_version_1(t *testing.T) { - //t.Parallel() + t.Parallel() inst := NewTestInstance(t, runtime.HOST_API_TEST_RUNTIME) err := inst.ctx.Storage.SetChild(testChildKey, trie.NewEmptyTrie()) @@ -1450,7 +1448,7 @@ func Test_ext_default_child_storage_root_version_1(t *testing.T) { } func Test_ext_default_child_storage_set_version_1(t *testing.T) { - //t.Parallel() + t.Parallel() inst := NewTestInstance(t, runtime.HOST_API_TEST_RUNTIME) err := inst.ctx.Storage.SetChild(testChildKey, trie.NewEmptyTrie()) @@ -1479,7 +1477,7 @@ func Test_ext_default_child_storage_set_version_1(t *testing.T) { } func Test_ext_default_child_storage_storage_kill_version_1(t *testing.T) { - //t.Parallel() + t.Parallel() inst := NewTestInstance(t, runtime.HOST_API_TEST_RUNTIME) err := inst.ctx.Storage.SetChild(testChildKey, trie.NewEmptyTrie()) @@ -1501,7 +1499,7 @@ func Test_ext_default_child_storage_storage_kill_version_1(t *testing.T) { } func Test_ext_default_child_storage_storage_kill_version_2_limit_all(t *testing.T) { - //t.Parallel() + t.Parallel() inst := NewTestInstance(t, runtime.HOST_API_TEST_RUNTIME) tr := trie.NewEmptyTrie() @@ -1535,7 +1533,7 @@ func Test_ext_default_child_storage_storage_kill_version_2_limit_all(t *testing. } func Test_ext_default_child_storage_storage_kill_version_2_limit_1(t *testing.T) { - //t.Parallel() + t.Parallel() inst := NewTestInstance(t, runtime.HOST_API_TEST_RUNTIME) tr := trie.NewEmptyTrie() @@ -1569,7 +1567,7 @@ func Test_ext_default_child_storage_storage_kill_version_2_limit_1(t *testing.T) } func Test_ext_default_child_storage_storage_kill_version_2_limit_none(t *testing.T) { - //t.Parallel() + t.Parallel() inst := NewTestInstance(t, runtime.HOST_API_TEST_RUNTIME) tr := trie.NewEmptyTrie() @@ -1600,7 +1598,7 @@ func Test_ext_default_child_storage_storage_kill_version_2_limit_none(t *testing } func Test_ext_default_child_storage_storage_kill_version_3(t *testing.T) { - //t.Parallel() + t.Parallel() inst := NewTestInstance(t, runtime.HOST_API_TEST_RUNTIME) tr := trie.NewEmptyTrie() @@ -1621,12 +1619,10 @@ func Test_ext_default_child_storage_storage_kill_version_3(t *testing.T) { errMsg string }{ { - // TODO this test case is causing grief key: []byte(`fakekey`), limit: optLimit2, expected: []byte{0, 0, 0, 0, 0}, - errMsg: "running runtime function: " + - "child trie does not exist at key 0x3a6368696c645f73746f726167653a64656661756c743a66616b656b6579", + errMsg: "running runtime function: unreachable", }, {key: testChildKey, limit: optLimit2, expected: []byte{1, 2, 0, 0, 0}}, {key: testChildKey, limit: nil, expected: []byte{0, 1, 0, 0, 0}}, @@ -1654,7 +1650,7 @@ func Test_ext_default_child_storage_storage_kill_version_3(t *testing.T) { } func Test_ext_storage_append_version_1(t *testing.T) { - //t.Parallel() + t.Parallel() inst := NewTestInstance(t, runtime.HOST_API_TEST_RUNTIME) testkey := []byte("noot") @@ -1703,7 +1699,7 @@ func Test_ext_storage_append_version_1(t *testing.T) { } func Test_ext_storage_append_version_1_again(t *testing.T) { - //t.Parallel() + t.Parallel() DefaultTestLogLvl = 5 inst := NewTestInstance(t, runtime.HOST_API_TEST_RUNTIME) @@ -1753,7 +1749,7 @@ func Test_ext_storage_append_version_1_again(t *testing.T) { } func Test_ext_trie_blake2_256_ordered_root_version_1(t *testing.T) { - //t.Parallel() + t.Parallel() inst := NewTestInstance(t, runtime.HOST_API_TEST_RUNTIME) testvalues := []string{"static", "even-keeled", "Future-proofed"} @@ -1772,7 +1768,7 @@ func Test_ext_trie_blake2_256_ordered_root_version_1(t *testing.T) { } func Test_ext_trie_blake2_256_root_version_1(t *testing.T) { - //t.Parallel() + t.Parallel() inst := NewTestInstance(t, runtime.HOST_API_TEST_RUNTIME) testinput := []string{"noot", "was", "here", "??"} @@ -1796,7 +1792,7 @@ func Test_ext_trie_blake2_256_root_version_1(t *testing.T) { } func Test_ext_trie_blake2_256_verify_proof_version_1(t *testing.T) { - //t.Parallel() + t.Parallel() tmp := t.TempDir() @@ -1865,7 +1861,7 @@ func Test_ext_trie_blake2_256_verify_proof_version_1(t *testing.T) { for name, testcase := range testcases { testcase := testcase t.Run(name, func(t *testing.T) { - //t.Parallel() + t.Parallel() hashEnc, err := scale.Marshal(testcase.root) require.NoError(t, err) diff --git a/lib/runtime/wasmer/instance.go b/lib/runtime/wasmer/instance.go index 15573d7fd9c..e53de25e1d1 100644 --- a/lib/runtime/wasmer/instance.go +++ b/lib/runtime/wasmer/instance.go @@ -1,4 +1,4 @@ -// Copyright 2023 ChainSafe Systems (ON) +// Copyright 2021 ChainSafe Systems (ON) // SPDX-License-Identifier: LGPL-3.0-only package wasmer @@ -73,21 +73,19 @@ func NewInstanceFromTrie(t *trie.Trie, cfg Config) (*Instance, error) { // NewInstanceFromFile instantiates a runtime from a .wasm file func NewInstanceFromFile(fp string, cfg Config) (*Instance, error) { // Reads the WebAssembly module as bytes. - bytes, err := os.ReadFile(filepath.Clean(fp)) + fileBytes, err := os.ReadFile(filepath.Clean(fp)) if err != nil { return nil, err } - return NewInstance(bytes, cfg) + return NewInstance(fileBytes, cfg) } // NewInstance instantiates a runtime from raw wasm bytecode -// TODO should cfg be a pointer? func NewInstance(code []byte, cfg Config) (*Instance, error) { return newInstance(code, cfg) } -// TODO refactor func newInstance(code []byte, cfg Config) (*Instance, error) { logger.Patch(log.SetLevel(cfg.LogLvl), log.SetCallerFunc(true)) if len(code) == 0 { @@ -101,12 +99,6 @@ func newInstance(code []byte, cfg Config) (*Instance, error) { return nil, fmt.Errorf("%w: %s", ErrWASMDecompress, err) } - //// TODO add new get imports function - //imports, err := importsNodeRuntime(store, memory, runtimeCtx) - //if err != nil { - // return nil, fmt.Errorf("creating node runtime imports: %w", err) - //} - // Create engine and store with default values engine := wasmer.NewEngine() store := wasmer.NewStore(engine) @@ -168,7 +160,6 @@ func newInstance(code []byte, cfg Config) (*Instance, error) { OffchainHTTPSet: offchain.NewHTTPSet(), } - // This might need to happen below imports := importsNodeRuntime(store, memory, runtimeCtx) if err != nil { return nil, fmt.Errorf("creating node runtime imports: %w", err) @@ -275,13 +266,6 @@ func (in *Instance) UpdateRuntimeCode(code []byte) error { Network: in.ctx.Network, Transaction: in.ctx.Transaction, } - //cfg.LogLvl = -1 - //cfg.Storage = in.ctx.Storage - //cfg.Keystore = in.ctx.Keystore - ////cfg.Role = 1 // TODO: set properly - //cfg.NodeStorage = in.ctx.NodeStorage - //cfg.Network = in.ctx.Network - //cfg.Transaction = in.ctx.Transaction next, err := newInstance(code, cfg) if err != nil { @@ -291,17 +275,6 @@ func (in *Instance) UpdateRuntimeCode(code []byte) error { in.vm = next.vm in.ctx = next.ctx - // This already happens in new instance call - - // Find runtime instance version and cache it in its - // instance context. - //version, err := in.version() - //if err != nil { - // in.close() - // return fmt.Errorf("getting instance version: %w", err) - //} - //in.ctx.Version = version - logger.Infof("updated runtime", "specification version", in.ctx.Version.SpecVersion) return nil } @@ -327,11 +300,6 @@ func (in *Instance) Exec(function string, data []byte) (result []byte, err error memory := in.ctx.Memory.Data() copy(memory[inputPtr:inputPtr+dataLength], data) - //runtimeFunc, ok := in.vm.Exports[function] - //if !ok { - // return nil, fmt.Errorf("%w: %s", ErrExportFunctionNotFound, function) - //} - // This might need to be raw func, tbd runtimeFunc, err := in.vm.Exports.GetFunction(function) if err != nil { @@ -345,7 +313,6 @@ func (in *Instance) Exec(function string, data []byte) (result []byte, err error wasmValueAsI64 := wasmer.NewI64(wasmValue) outputPtr, outputLength := splitPointerSize(wasmValueAsI64.I64()) - //memory = in.vm.Memory.Data() // call Data() again to get larger slice memory = in.ctx.Memory.Data() // call Data() again to get larger slice return memory[outputPtr : outputPtr+outputLength], nil } diff --git a/lib/runtime/wasmer/instance_test.go b/lib/runtime/wasmer/instance_test.go index 7df6bbbc7b4..e44e52ece23 100644 --- a/lib/runtime/wasmer/instance_test.go +++ b/lib/runtime/wasmer/instance_test.go @@ -1,4 +1,4 @@ -// Copyright 2023 ChainSafe Systems (ON) +// Copyright 2021 ChainSafe Systems (ON) // SPDX-License-Identifier: LGPL-3.0-only package wasmer @@ -16,7 +16,6 @@ import ( // test used for ensuring runtime exec calls can be made concurrently func TestConcurrentRuntimeCalls(t *testing.T) { instance := NewTestInstance(t, runtime.NODE_RUNTIME) - //defer instance.Stop() // execute 2 concurrent calls to the runtime go func() { diff --git a/lib/runtime/wasmer/interfaces.go b/lib/runtime/wasmer/interfaces.go index 858ef7a5884..aa0d4df5753 100644 --- a/lib/runtime/wasmer/interfaces.go +++ b/lib/runtime/wasmer/interfaces.go @@ -1,4 +1,4 @@ -// Copyright 2023 ChainSafe Systems (ON) +// Copyright 2022 ChainSafe Systems (ON) // SPDX-License-Identifier: LGPL-3.0-only package wasmer diff --git a/lib/runtime/wasmer/test_helpers.go b/lib/runtime/wasmer/test_helpers.go index f5ad6f1485e..ac5c5a900d9 100644 --- a/lib/runtime/wasmer/test_helpers.go +++ b/lib/runtime/wasmer/test_helpers.go @@ -1,4 +1,4 @@ -// Copyright 2023 ChainSafe Systems (ON) +// Copyright 2021 ChainSafe Systems (ON) // SPDX-License-Identifier: LGPL-3.0-only package wasmer