Skip to content

Commit bff3ef5

Browse files
committed
Merge branch 'develop' into dependabot/go_modules/golang.org/x/crypto-0.24.0
2 parents 18ff83c + 4639b9a commit bff3ef5

File tree

77 files changed

+577
-402
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

77 files changed

+577
-402
lines changed

Makefile

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -158,6 +158,10 @@ substrate-start-bob:
158158
--rpc-port 9946 \
159159
--validator
160160

161+
start-network-aura:
162+
cd ../../../..; \
163+
WASMTIME_BACKTRACE_DETAILS=1 RUST_LOG=runtime=trace ./target/release/node-template --dev --execution=wasm
164+
161165
start-network-babe:
162166
cd polkadot-sdk/substrate/bin/node/cli; \
163167
cargo build --release; \

api/account_nonce/module.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,10 +24,10 @@ const (
2424
type Module struct {
2525
systemModule system.Module
2626
memUtils utils.WasmMemoryTranslator
27-
logger log.Logger
27+
logger log.RuntimeLogger
2828
}
2929

30-
func New(systemModule system.Module, logger log.Logger) Module {
30+
func New(systemModule system.Module, logger log.RuntimeLogger) Module {
3131
return Module{
3232
systemModule: systemModule,
3333
memUtils: utils.NewMemoryTranslator(),

api/aura/module.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,10 +22,10 @@ const (
2222
type Module struct {
2323
aura aura.AuraModule
2424
memUtils utils.WasmMemoryTranslator
25-
logger log.Logger
25+
logger log.RuntimeLogger
2626
}
2727

28-
func New(aura aura.AuraModule, logger log.Logger) Module {
28+
func New(aura aura.AuraModule, logger log.RuntimeLogger) Module {
2929
return Module{
3030
aura: aura,
3131
memUtils: utils.NewMemoryTranslator(),

api/babe/module.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,10 +22,10 @@ const (
2222
type Module struct {
2323
babe babe.Module
2424
memUtils utils.WasmMemoryTranslator
25-
logger log.Logger
25+
logger log.RuntimeLogger
2626
}
2727

28-
func New(babe babe.Module, logger log.Logger) Module {
28+
func New(babe babe.Module, logger log.RuntimeLogger) Module {
2929
return Module{
3030
babe: babe,
3131
memUtils: utils.NewMemoryTranslator(),

api/benchmarking/module.go

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ package benchmarking
22

33
import (
44
"bytes"
5+
56
sc "github.com/LimeChain/goscale"
67
"github.com/LimeChain/gosemble/execution/types"
78
"github.com/LimeChain/gosemble/frame/support"
@@ -24,10 +25,10 @@ type Module struct {
2425
decoder types.RuntimeDecoder
2526
memUtils utils.WasmMemoryTranslator
2627
hashing io.Hashing
27-
logger log.Logger
28+
logger log.RuntimeLogger
2829
}
2930

30-
func New(systemIndex sc.U8, modules []primitives.Module, decoder types.RuntimeDecoder, logger log.Logger) Module {
31+
func New(systemIndex sc.U8, modules []primitives.Module, decoder types.RuntimeDecoder, logger log.RuntimeLogger) Module {
3132
systemModule := primitives.MustGetModule(systemIndex, modules).(system.Module)
3233

3334
return Module{
@@ -161,7 +162,7 @@ func (m Module) BenchmarkHook(dataPtr int32, dataLen int32) int64 {
161162
return m.memUtils.BytesToOffsetAndSize(benchmarkResult.Bytes())
162163
}
163164

164-
func measureHooks(modules []primitives.Module, hookFn func(module primitives.DispatchModule) error, logger log.Logger) float64 {
165+
func measureHooks(modules []primitives.Module, hookFn func(module primitives.DispatchModule) error, logger log.RuntimeLogger) float64 {
165166
var start, end int64
166167

167168
for _, module := range modules {

api/block_builder/module.go

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -36,10 +36,10 @@ type Module struct {
3636
decoder types.RuntimeDecoder
3737
memUtils utils.WasmMemoryTranslator
3838
mdGenerator *primitives.MetadataTypeGenerator
39-
logger log.Logger
39+
logger log.RuntimeLogger
4040
}
4141

42-
func New(runtimeExtrinsic extrinsic.RuntimeExtrinsic, executive executive.Module, decoder types.RuntimeDecoder, mdGenerator *primitives.MetadataTypeGenerator, logger log.Logger) Module {
42+
func New(runtimeExtrinsic extrinsic.RuntimeExtrinsic, executive executive.Module, decoder types.RuntimeDecoder, mdGenerator *primitives.MetadataTypeGenerator, logger log.RuntimeLogger) Module {
4343
return Module{
4444
runtimeExtrinsic: runtimeExtrinsic,
4545
executive: executive,
@@ -80,16 +80,17 @@ func (m Module) ApplyExtrinsic(dataPtr int32, dataLen int32) int64 {
8080
}
8181

8282
err = m.executive.ApplyExtrinsic(uxt)
83+
8384
var applyExtrinsicResult primitives.ApplyExtrinsicResult
8485
switch typedErr := err.(type) {
86+
case nil:
87+
dispatchOutcome := primitives.DispatchOutcome(sc.NewVaryingData(sc.Empty{}))
88+
applyExtrinsicResult, err = primitives.NewApplyExtrinsicResult(dispatchOutcome)
8589
case primitives.TransactionValidityError:
8690
applyExtrinsicResult, err = primitives.NewApplyExtrinsicResult(typedErr)
8791
case primitives.DispatchError:
8892
dispatchOutcome := primitives.DispatchOutcome(sc.NewVaryingData(typedErr))
8993
applyExtrinsicResult, err = primitives.NewApplyExtrinsicResult(dispatchOutcome)
90-
case nil:
91-
dispatchOutcome := primitives.DispatchOutcome(sc.NewVaryingData(sc.Empty{}))
92-
applyExtrinsicResult, err = primitives.NewApplyExtrinsicResult(dispatchOutcome)
9394
}
9495
if err != nil {
9596
m.logger.Critical(err.Error())

api/core/module.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,10 +34,10 @@ type Module struct {
3434
runtimeVersion *primitives.RuntimeVersion
3535
memUtils utils.WasmMemoryTranslator
3636
mdGenerator *primitives.MetadataTypeGenerator
37-
logger log.Logger
37+
logger log.RuntimeLogger
3838
}
3939

40-
func New(module executive.Module, decoder types.RuntimeDecoder, runtimeVersion *primitives.RuntimeVersion, mdGenerator *primitives.MetadataTypeGenerator, logger log.Logger) Module {
40+
func New(module executive.Module, decoder types.RuntimeDecoder, runtimeVersion *primitives.RuntimeVersion, mdGenerator *primitives.MetadataTypeGenerator, logger log.RuntimeLogger) Module {
4141
return Module{
4242
executive: module,
4343
decoder: decoder,

api/genesis_builder/module.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,10 +29,10 @@ type GenesisBuilder interface {
2929
type Module struct {
3030
modules []primitives.Module
3131
memUtils utils.WasmMemoryTranslator
32-
logger log.Logger
32+
logger log.RuntimeLogger
3333
}
3434

35-
func New(modules []primitives.Module, logger log.Logger) Module {
35+
func New(modules []primitives.Module, logger log.RuntimeLogger) Module {
3636
return Module{
3737
modules: modules,
3838
memUtils: utils.NewMemoryTranslator(),

api/grandpa/module.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,10 +26,10 @@ const (
2626
type Module struct {
2727
grandpa grandpa.Module
2828
memUtils utils.WasmMemoryTranslator
29-
logger log.Logger
29+
logger log.RuntimeLogger
3030
}
3131

32-
func New(grandpa grandpa.Module, logger log.Logger) Module {
32+
func New(grandpa grandpa.Module, logger log.RuntimeLogger) Module {
3333
return Module{
3434
grandpa: grandpa,
3535
memUtils: utils.NewMemoryTranslator(),

api/metadata/module.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,10 +36,10 @@ type Module struct {
3636
runtimeExtrinsic extrinsic.RuntimeExtrinsic
3737
memUtils utils.WasmMemoryTranslator
3838
generator *primitives.MetadataTypeGenerator
39-
logger log.Logger
39+
logger log.RuntimeLogger
4040
}
4141

42-
func New(runtimeExtrinsic extrinsic.RuntimeExtrinsic, runtimeApiModules []primitives.RuntimeApiModule, logger log.Logger, generator *primitives.MetadataTypeGenerator) Module {
42+
func New(runtimeExtrinsic extrinsic.RuntimeExtrinsic, runtimeApiModules []primitives.RuntimeApiModule, logger log.RuntimeLogger, generator *primitives.MetadataTypeGenerator) Module {
4343
return Module{
4444
runtimeApiModules: runtimeApiModules,
4545
runtimeExtrinsic: runtimeExtrinsic,

api/offchain_worker/module.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,10 +25,10 @@ const (
2525
type Module struct {
2626
executive executive.Module
2727
memUtils utils.WasmMemoryTranslator
28-
logger log.Logger
28+
logger log.RuntimeLogger
2929
}
3030

31-
func New(executive executive.Module, logger log.Logger) Module {
31+
func New(executive executive.Module, logger log.RuntimeLogger) Module {
3232
return Module{
3333
executive: executive,
3434
memUtils: utils.NewMemoryTranslator(),

api/session_keys/module.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,10 +25,10 @@ type Module struct {
2525
sessions []types.Session
2626
crypto io.Crypto
2727
memUtils utils.WasmMemoryTranslator
28-
logger log.Logger
28+
logger log.RuntimeLogger
2929
}
3030

31-
func New(sessions []types.Session, logger log.Logger) Module {
31+
func New(sessions []types.Session, logger log.RuntimeLogger) Module {
3232
return Module{
3333
sessions: sessions,
3434
crypto: io.NewCrypto(),

api/tagged_transaction_queue/module.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,10 +31,10 @@ type Module struct {
3131
decoder types.RuntimeDecoder
3232
memUtils utils.WasmMemoryTranslator
3333
mdGenerator *primitives.MetadataTypeGenerator
34-
logger log.Logger
34+
logger log.RuntimeLogger
3535
}
3636

37-
func New(executive executive.Module, decoder types.RuntimeDecoder, mdGenerator *primitives.MetadataTypeGenerator, logger log.Logger) Module {
37+
func New(executive executive.Module, decoder types.RuntimeDecoder, mdGenerator *primitives.MetadataTypeGenerator, logger log.RuntimeLogger) Module {
3838
return Module{
3939
executive: executive,
4040
decoder: decoder,

api/transaction_payment/module.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,10 +28,10 @@ type Module struct {
2828
decoder types.RuntimeDecoder
2929
txPayments transaction_payment.Module
3030
memUtils utils.WasmMemoryTranslator
31-
logger log.Logger
31+
logger log.RuntimeLogger
3232
}
3333

34-
func New(decoder types.RuntimeDecoder, txPayments transaction_payment.Module, logger log.Logger) Module {
34+
func New(decoder types.RuntimeDecoder, txPayments transaction_payment.Module, logger log.RuntimeLogger) Module {
3535
return Module{
3636
decoder: decoder,
3737
txPayments: txPayments,

api/transaction_payment_call/module.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,10 +27,10 @@ type Module struct {
2727
decoder types.RuntimeDecoder
2828
txPayments transaction_payment.Module
2929
memUtils utils.WasmMemoryTranslator
30-
logger log.Logger
30+
logger log.RuntimeLogger
3131
}
3232

33-
func New(decoder types.RuntimeDecoder, txPayments transaction_payment.Module, logger log.Logger) Module {
33+
func New(decoder types.RuntimeDecoder, txPayments transaction_payment.Module, logger log.RuntimeLogger) Module {
3434
return Module{
3535
decoder: decoder,
3636
txPayments: txPayments,

build/runtime-benchmarks.wasm

5.04 KB
Binary file not shown.

build/runtime.wasm

3.63 MB
Binary file not shown.

docs/docs/development/test.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,14 @@ permalink: /development/test
88
Currently, the project contains unit and integration tests. Integration tests use [Gossamer](https://github.com/LimeChain/gossamer), which
99
imports all the necessary Host functions and interacts with the Runtime.
1010

11+
Before running the tests, make sure to build the runtime with the benchmarking features enabled, as there are some tests that rely on them.
12+
13+
````bash
14+
make build-benchmarking
15+
````
16+
17+
And then run the tests with:
18+
1119
```bash
1220
make test
1321
```

execution/extrinsic/runtime_extrinsic.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,10 +26,10 @@ type runtimeExtrinsic struct {
2626
modules []primitives.Module
2727
extra primitives.SignedExtra
2828
mdGenerator *primitives.MetadataTypeGenerator
29-
logger log.DebugLogger
29+
logger log.RuntimeLogger
3030
}
3131

32-
func New(modules []primitives.Module, extra primitives.SignedExtra, mdGenerator *primitives.MetadataTypeGenerator, logger log.DebugLogger) RuntimeExtrinsic {
32+
func New(modules []primitives.Module, extra primitives.SignedExtra, mdGenerator *primitives.MetadataTypeGenerator, logger log.RuntimeLogger) RuntimeExtrinsic {
3333
return runtimeExtrinsic{
3434
modules: modules,
3535
extra: extra,

execution/types/checked_extrinsic.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ type checkedExtrinsic struct {
1919
transactional support.Transactional[primitives.PostDispatchInfo]
2020
}
2121

22-
func NewCheckedExtrinsic(signer sc.Option[primitives.AccountId], function primitives.Call, extra primitives.SignedExtra, logger log.WarnLogger) primitives.CheckedExtrinsic {
22+
func NewCheckedExtrinsic(signer sc.Option[primitives.AccountId], function primitives.Call, extra primitives.SignedExtra, logger log.RuntimeLogger) primitives.CheckedExtrinsic {
2323
return checkedExtrinsic{
2424
signer: signer,
2525
function: function,
@@ -67,12 +67,12 @@ func (c checkedExtrinsic) Apply(validator primitives.UnsignedValidator, info *pr
6767
maybeWho, maybePre = sc.NewOption[primitives.AccountId](nil), sc.NewOption[sc.Sequence[primitives.Pre]](nil)
6868
}
6969

70+
// TODO: revise if the error handling is correct
7071
postInfo, err := c.transactional.WithStorageLayer(
7172
func() (primitives.PostDispatchInfo, error) {
7273
return c.dispatch(maybeWho)
7374
},
7475
)
75-
// TODO: handle error
7676

7777
if err := c.extra.PostDispatch(maybePre, info, &postInfo, length, err); err != nil {
7878
return primitives.PostDispatchInfo{}, err

execution/types/runtime_api.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,10 @@ import (
88

99
type RuntimeApi struct {
1010
apis []primitives.ApiModule
11-
logger log.Logger
11+
logger log.RuntimeLogger
1212
}
1313

14-
func NewRuntimeApi(apis []primitives.ApiModule, logger log.Logger) RuntimeApi {
14+
func NewRuntimeApi(apis []primitives.ApiModule, logger log.RuntimeLogger) RuntimeApi {
1515
return RuntimeApi{apis: apis, logger: logger}
1616
}
1717

execution/types/runtime_api_test.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,11 +31,13 @@ var (
3131

3232
func Test_RuntimeApi_New(t *testing.T) {
3333
target := setupRuntimeApi()
34+
3435
expect := RuntimeApi{
3536
apis: []primitives.ApiModule{
3637
mockApiModuleOne,
3738
mockApiModuleTwo,
3839
},
40+
logger: logger,
3941
}
4042

4143
assert.Equal(t, expect, target)

execution/types/runtime_decoder.go

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import (
44
"bytes"
55
"errors"
66
"fmt"
7+
78
sc "github.com/LimeChain/goscale"
89
"github.com/LimeChain/gosemble/primitives/log"
910
"github.com/LimeChain/gosemble/primitives/types"
@@ -29,10 +30,10 @@ type runtimeDecoder struct {
2930
modules []types.Module
3031
extra primitives.SignedExtra
3132
sudoIndex sc.U8 // Used for additional decoding related to Sudo calls. Default is 0 and not considered a valid sudo index.
32-
logger log.WarnLogger
33+
logger log.RuntimeLogger
3334
}
3435

35-
func NewRuntimeDecoder(modules []types.Module, extra primitives.SignedExtra, sudoIndex sc.U8, logger log.WarnLogger) RuntimeDecoder {
36+
func NewRuntimeDecoder(modules []types.Module, extra primitives.SignedExtra, sudoIndex sc.U8, logger log.RuntimeLogger) RuntimeDecoder {
3637
return runtimeDecoder{
3738
modules: modules,
3839
extra: extra,

execution/types/unchecked_extrinsic.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -41,11 +41,11 @@ type uncheckedExtrinsic struct {
4141
initializePayload PayloadInitializer
4242
crypto io.Crypto
4343
hashing io.Hashing
44-
logger log.WarnLogger
44+
logger log.RuntimeLogger
4545
}
4646

4747
// NewUncheckedExtrinsic returns a new instance of an unchecked extrinsic.
48-
func NewUncheckedExtrinsic(version sc.U8, signature sc.Option[primitives.ExtrinsicSignature], function primitives.Call, extra primitives.SignedExtra, logger log.WarnLogger) primitives.UncheckedExtrinsic {
48+
func NewUncheckedExtrinsic(version sc.U8, signature sc.Option[primitives.ExtrinsicSignature], function primitives.Call, extra primitives.SignedExtra, logger log.RuntimeLogger) primitives.UncheckedExtrinsic {
4949
return uncheckedExtrinsic{
5050
version: version,
5151
signature: signature,

frame/aura/module.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -50,10 +50,10 @@ type Module struct {
5050
mdGenerator *primitives.MetadataTypeGenerator
5151
logDepositor system.LogDepositor
5252
disabledValidators primitives.DisabledValidators
53-
logger log.Logger
53+
logger log.RuntimeLogger
5454
}
5555

56-
func New(index sc.U8, config *Config, mdGenerator *primitives.MetadataTypeGenerator, logger log.Logger) Module {
56+
func New(index sc.U8, config *Config, mdGenerator *primitives.MetadataTypeGenerator, logger log.RuntimeLogger) Module {
5757
storage := newStorage()
5858

5959
return Module{

frame/authorship/module.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,10 +28,10 @@ type module struct {
2828
functions map[sc.U8]primitives.Call
2929
systemModule system.Module
3030
mdGenerator *primitives.MetadataTypeGenerator
31-
logger log.Logger
31+
logger log.RuntimeLogger
3232
}
3333

34-
func New(index sc.U8, config *Config, mdGenerator *primitives.MetadataTypeGenerator, logger log.Logger) Module {
34+
func New(index sc.U8, config *Config, mdGenerator *primitives.MetadataTypeGenerator, logger log.RuntimeLogger) Module {
3535
storage := newStorage()
3636

3737
return module{

frame/babe/call_plan_config_change.go

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ import (
66

77
sc "github.com/LimeChain/goscale"
88
"github.com/LimeChain/gosemble/frame/support"
9+
"github.com/LimeChain/gosemble/frame/system"
910
babetypes "github.com/LimeChain/gosemble/primitives/babe"
1011
primitives "github.com/LimeChain/gosemble/primitives/types"
1112
)
@@ -80,12 +81,10 @@ func (_ callPlanConfigChange) PaysFee(baseWeight primitives.Weight) primitives.P
8081
}
8182

8283
func (c callPlanConfigChange) Dispatch(origin primitives.RuntimeOrigin, args sc.VaryingData) (primitives.PostDispatchInfo, error) {
83-
// TODO: enable once 'sudo' module is implemented
84-
//
85-
// err := EnsureRoot(origin)
86-
// if err != nil {
87-
// return primitives.PostDispatchInfo{}, err
88-
// }
84+
err := system.EnsureRoot(origin)
85+
if err != nil {
86+
return primitives.PostDispatchInfo{}, err
87+
}
8988

9089
config := args[0].(NextConfigDescriptor)
9190

0 commit comments

Comments
 (0)