Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
Duniter v2S
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Container Registry
Model registry
Monitor
Service Desk
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
nodes
rust
Duniter v2S
Merge requests
!236
Upgrade Polkadot-v1.6.0
Code
Review changes
Check out branch
Download
Patches
Plain diff
Merged
Upgrade Polkadot-v1.6.0
upgrade_polkadot_v1.6.0_2
into
master
Overview
16
Commits
14
Pipelines
135
Changes
2
Merged
Benjamin Gallois
requested to merge
upgrade_polkadot_v1.6.0_2
into
master
1 year ago
Overview
16
Commits
14
Pipelines
135
Changes
1
Expand
benchmarking v1 to v2.
Replace GenesisBuilder.
Upgrade cucumber cli.
Upgrade workspace.
Edited
1 year ago
by
Benjamin Gallois
0
0
Merge request reports
Compare
version 1
version 68
2ac28773
1 year ago
version 67
95a2cf4d
1 year ago
version 66
78e0641d
1 year ago
version 65
79232e9a
1 year ago
version 64
4fc1342c
1 year ago
version 63
64c02c0d
1 year ago
version 62
a24d42f0
1 year ago
version 61
1b178310
1 year ago
version 60
2e6d4d26
1 year ago
version 59
d65f3583
1 year ago
version 58
3c6159d3
1 year ago
version 57
4506aa01
1 year ago
version 56
93a41bd6
1 year ago
version 55
e7c4590a
1 year ago
version 54
85c8695c
1 year ago
version 53
3560bcc3
1 year ago
version 52
80b38d17
1 year ago
version 51
3cc03d70
1 year ago
version 50
c9f22224
1 year ago
version 49
c9368a5c
1 year ago
version 48
b81a9dd9
1 year ago
version 47
1acb63f3
1 year ago
version 46
a16472cd
1 year ago
version 45
19c28994
1 year ago
version 44
b82b82f8
1 year ago
version 43
a1035967
1 year ago
version 42
30f28482
1 year ago
version 41
769e3bc8
1 year ago
version 40
b3a97fb5
1 year ago
version 39
8ba2cc4d
1 year ago
version 38
2d6e4acc
1 year ago
version 37
446a7940
1 year ago
version 36
7b80864e
1 year ago
version 35
90aee43c
1 year ago
version 34
d8ea2b8c
1 year ago
version 33
dcd51b9d
1 year ago
version 32
4c84339a
1 year ago
version 31
0961ae3f
1 year ago
version 30
f20bc40a
1 year ago
version 29
c714dc09
1 year ago
version 28
814f9eac
1 year ago
version 27
9e164c25
1 year ago
version 26
22528095
1 year ago
version 25
5f49b5cf
1 year ago
version 24
3a4ce2af
1 year ago
version 23
a2eef3ee
1 year ago
version 22
34e5da67
1 year ago
version 21
cac068dc
1 year ago
version 20
37ab55e9
1 year ago
version 19
c6eb4da7
1 year ago
version 18
692147a2
1 year ago
version 17
f59873b5
1 year ago
version 16
1d1dfa47
1 year ago
version 15
bbb4c3b3
1 year ago
version 14
e5e4ce31
1 year ago
version 13
9dd0f1a0
1 year ago
version 12
2cad8546
1 year ago
version 11
14eb5739
1 year ago
version 10
43c79748
1 year ago
version 9
34e1a59f
1 year ago
version 8
daa73dee
1 year ago
version 7
1143537b
1 year ago
version 6
bcf891da
1 year ago
version 5
9e944759
1 year ago
version 4
d6790bb9
1 year ago
version 3
30406ab8
1 year ago
version 2
7f2b875b
1 year ago
version 1
d6fa2b54
1 year ago
master (base)
and
version 2
latest version
0a7fdf43
14 commits,
1 year ago
version 68
2ac28773
13 commits,
1 year ago
version 67
95a2cf4d
12 commits,
1 year ago
version 66
78e0641d
11 commits,
1 year ago
version 65
79232e9a
10 commits,
1 year ago
version 64
4fc1342c
10 commits,
1 year ago
version 63
64c02c0d
10 commits,
1 year ago
version 62
a24d42f0
9 commits,
1 year ago
version 61
1b178310
8 commits,
1 year ago
version 60
2e6d4d26
8 commits,
1 year ago
version 59
d65f3583
7 commits,
1 year ago
version 58
3c6159d3
7 commits,
1 year ago
version 57
4506aa01
6 commits,
1 year ago
version 56
93a41bd6
6 commits,
1 year ago
version 55
e7c4590a
6 commits,
1 year ago
version 54
85c8695c
6 commits,
1 year ago
version 53
3560bcc3
6 commits,
1 year ago
version 52
80b38d17
6 commits,
1 year ago
version 51
3cc03d70
5 commits,
1 year ago
version 50
c9f22224
4 commits,
1 year ago
version 49
c9368a5c
4 commits,
1 year ago
version 48
b81a9dd9
22 commits,
1 year ago
version 47
1acb63f3
20 commits,
1 year ago
version 46
a16472cd
19 commits,
1 year ago
version 45
19c28994
18 commits,
1 year ago
version 44
b82b82f8
18 commits,
1 year ago
version 43
a1035967
17 commits,
1 year ago
version 42
30f28482
16 commits,
1 year ago
version 41
769e3bc8
16 commits,
1 year ago
version 40
b3a97fb5
16 commits,
1 year ago
version 39
8ba2cc4d
16 commits,
1 year ago
version 38
2d6e4acc
15 commits,
1 year ago
version 37
446a7940
15 commits,
1 year ago
version 36
7b80864e
14 commits,
1 year ago
version 35
90aee43c
14 commits,
1 year ago
version 34
d8ea2b8c
13 commits,
1 year ago
version 33
dcd51b9d
11 commits,
1 year ago
version 32
4c84339a
10 commits,
1 year ago
version 31
0961ae3f
9 commits,
1 year ago
version 30
f20bc40a
8 commits,
1 year ago
version 29
c714dc09
7 commits,
1 year ago
version 28
814f9eac
7 commits,
1 year ago
version 27
9e164c25
6 commits,
1 year ago
version 26
22528095
6 commits,
1 year ago
version 25
5f49b5cf
6 commits,
1 year ago
version 24
3a4ce2af
6 commits,
1 year ago
version 23
a2eef3ee
6 commits,
1 year ago
version 22
34e5da67
5 commits,
1 year ago
version 21
cac068dc
4 commits,
1 year ago
version 20
37ab55e9
3 commits,
1 year ago
version 19
c6eb4da7
3 commits,
1 year ago
version 18
692147a2
3 commits,
1 year ago
version 17
f59873b5
3 commits,
1 year ago
version 16
1d1dfa47
2 commits,
1 year ago
version 15
bbb4c3b3
2 commits,
1 year ago
version 14
e5e4ce31
2 commits,
1 year ago
version 13
9dd0f1a0
2 commits,
1 year ago
version 12
2cad8546
1 commit,
1 year ago
version 11
14eb5739
1 commit,
1 year ago
version 10
43c79748
1 commit,
1 year ago
version 9
34e1a59f
1 commit,
1 year ago
version 8
daa73dee
1 commit,
1 year ago
version 7
1143537b
1 commit,
1 year ago
version 6
bcf891da
1 commit,
1 year ago
version 5
9e944759
1 commit,
1 year ago
version 4
d6790bb9
1 commit,
1 year ago
version 3
30406ab8
1 commit,
1 year ago
version 2
7f2b875b
1 commit,
1 year ago
version 1
d6fa2b54
1 commit,
1 year ago
Show latest version
1 file
+
102
−
61
Inline
Compare changes
Side-by-side
Inline
Show whitespace changes
Show one file at a time
pallets/certification/src/benchmarking.rs
+
102
−
61
Options
@@ -18,7 +18,7 @@
use
super
::
*
;
use
frame_benchmarking
::
benchmarks
;
use
frame_benchmarking
::
v2
::
*
;
use
frame_system
::
RawOrigin
;
use
sp_runtime
::
traits
::
Zero
;
@@ -27,104 +27,145 @@ use maplit::btreemap;
use
crate
::
Pallet
;
fn
assert_has_event
<
T
:
Config
>
(
generic_event
:
<
T
as
Config
>
::
RuntimeEvent
)
{
frame_system
::
Pallet
::
<
T
>
::
assert_has_event
(
generic_event
.into
());
}
#[benchmarks(
where
<
T
as
Config
>
::IdtyIndex:
From
<
u32
>
,
)]
mod
benchmarks
{
use
super
::
*
;
fn
add_certs
<
T
:
Config
>
(
i
:
u32
,
receiver
:
T
::
IdtyIndex
)
->
Result
<
(),
&
'static
str
>
{
Pallet
::
<
T
>
::
remove_all_certs_received_by
(
RawOrigin
::
Root
.into
(),
receiver
)
?
;
for
j
in
1
..
i
{
Pallet
::
<
T
>
::
do_add_cert_checked
(
j
.into
(),
receiver
,
false
)
?
;
fn
assert_has_event
<
T
:
Config
>
(
generic_event
:
<
T
as
Config
>
::
RuntimeEvent
)
{
frame_system
::
Pallet
::
<
T
>
::
assert_has_event
(
generic_event
.into
());
}
assert!
(
CertsByReceiver
::
<
T
>
::
get
(
receiver
)
.len
()
as
u32
==
i
-
1
,
"Certs not added"
,
);
Ok
(())
}
benchmarks!
{
where_clause
{
where
T
::
IdtyIndex
:
From
<
u32
>
,
fn
add_certs
<
T
:
Config
>
(
i
:
u32
,
receiver
:
T
::
IdtyIndex
)
->
Result
<
(),
&
'static
str
>
{
Pallet
::
<
T
>
::
remove_all_certs_received_by
(
RawOrigin
::
Root
.into
(),
receiver
)
?
;
for
j
in
1
..
i
{
Pallet
::
<
T
>
::
do_add_cert_checked
(
j
.into
(),
receiver
,
false
)
?
;
}
assert!
(
CertsByReceiver
::
<
T
>
::
get
(
receiver
)
.len
()
as
u32
==
i
-
1
,
"Certs not added"
,
);
Ok
(())
}
add_cert
{
#[benchmark]
fn
add_cert
()
->
Result
<
(),
BenchmarkError
>
{
let
issuer
:
T
::
IdtyIndex
=
1
.into
();
let
caller
:
T
::
AccountId
=
T
::
IdtyAttr
::
owner_key
(
issuer
)
.unwrap
();
let
caller_origin
:
<
T
as
frame_system
::
Config
>
::
RuntimeOrigin
=
RawOrigin
::
Signed
(
caller
.clone
())
.into
();
let
caller
:
T
::
AccountId
=
T
::
IdtyAttr
::
owner_key
(
issuer
)
.unwrap
();
let
receiver
:
T
::
IdtyIndex
=
2
.into
();
Pallet
::
<
T
>
::
del_cert
(
RawOrigin
::
Root
.into
(),
issuer
,
receiver
)
?
;
let
issuer_cert
:
u32
=
StorageIdtyCertMeta
::
<
T
>
::
get
(
issuer
)
.issued_count
;
let
receiver_cert
:
u32
=
StorageIdtyCertMeta
::
<
T
>
::
get
(
receiver
)
.received_count
;
frame_system
::
pallet
::
Pallet
::
<
T
>
::
set_block_number
(
T
::
CertPeriod
::
get
());
}:
_
<
T
::
RuntimeOrigin
>
(
caller_origin
,
receiver
)
verify
{
assert_has_event
::
<
T
>
(
Event
::
<
T
>
::
CertAdded
{
issuer
,
receiver
}
.into
());
#[extrinsic_call]
_
(
RawOrigin
::
Signed
(
caller
),
receiver
);
assert_has_event
::
<
T
>
(
Event
::
<
T
>
::
CertAdded
{
issuer
,
receiver
}
.into
());
Ok
(())
}
renew_cert
{
#[benchmark]
fn
renew_cert
()
->
Result
<
(),
BenchmarkError
>
{
let
issuer
:
T
::
IdtyIndex
=
1
.into
();
let
caller
:
T
::
AccountId
=
T
::
IdtyAttr
::
owner_key
(
issuer
)
.unwrap
();
let
caller_origin
:
<
T
as
frame_system
::
Config
>
::
RuntimeOrigin
=
RawOrigin
::
Signed
(
caller
.clone
())
.into
();
let
caller
:
T
::
AccountId
=
T
::
IdtyAttr
::
owner_key
(
issuer
)
.unwrap
();
let
receiver
:
T
::
IdtyIndex
=
2
.into
();
Pallet
::
<
T
>
::
del_cert
(
RawOrigin
::
Root
.into
(),
issuer
,
receiver
)
?
;
let
issuer_cert
:
u32
=
StorageIdtyCertMeta
::
<
T
>
::
get
(
issuer
)
.issued_count
;
let
receiver_cert
:
u32
=
StorageIdtyCertMeta
::
<
T
>
::
get
(
receiver
)
.received_count
;
frame_system
::
pallet
::
Pallet
::
<
T
>
::
set_block_number
(
T
::
CertPeriod
::
get
());
Pallet
::
<
T
>
::
add_cert
(
caller_origin
.clone
(),
receiver
)
?
;
frame_system
::
pallet
::
Pallet
::
<
T
>
::
set_block_number
(
T
::
CertPeriod
::
get
()
+
T
::
CertPeriod
::
get
());
}:
_
<
T
::
RuntimeOrigin
>
(
caller_origin
,
receiver
)
verify
{
assert_has_event
::
<
T
>
(
Event
::
<
T
>
::
CertAdded
{
issuer
,
receiver
}
.into
());
Pallet
::
<
T
>
::
add_cert
(
RawOrigin
::
Signed
(
caller
.clone
())
.into
(),
receiver
)
?
;
frame_system
::
pallet
::
Pallet
::
<
T
>
::
set_block_number
(
T
::
CertPeriod
::
get
()
+
T
::
CertPeriod
::
get
(),
);
#[extrinsic_call]
_
(
RawOrigin
::
Signed
(
caller
),
receiver
);
assert_has_event
::
<
T
>
(
Event
::
<
T
>
::
CertAdded
{
issuer
,
receiver
}
.into
());
Ok
(())
}
del_cert
{
#[benchmark]
fn
del_cert
()
->
Result
<
(),
BenchmarkError
>
{
let
issuer
:
T
::
IdtyIndex
=
1
.into
();
let
receiver
:
T
::
IdtyIndex
=
2
.into
();
// try to add cert if missing, else ignore
// this depends on initial data
let
_
=
Pallet
::
<
T
>
::
do_add_cert_checked
(
issuer
,
receiver
,
false
);
let
receiver_cert
:
u32
=
StorageIdtyCertMeta
::
<
T
>
::
get
(
receiver
)
.received_count
;
let
issuer_cert
:
u32
=
StorageIdtyCertMeta
::
<
T
>
::
get
(
issuer
)
.issued_count
;
}:
_
<
T
::
RuntimeOrigin
>
(
RawOrigin
::
Root
.into
(),
issuer
,
receiver
)
verify
{
assert_has_event
::
<
T
>
(
Event
::
<
T
>
::
CertRemoved
{
issuer
,
receiver
,
expiration
:
false
}
.into
());
Pallet
::
<
T
>
::
do_add_cert_checked
(
issuer
,
receiver
,
false
)
?
;
#[extrinsic_call]
_
(
RawOrigin
::
Root
,
issuer
,
receiver
);
assert_has_event
::
<
T
>
(
Event
::
<
T
>
::
CertRemoved
{
issuer
,
receiver
,
expiration
:
false
,
}
.into
(),
);
Ok
(())
}
remove_all_certs_received_by
{
#[benchmark]
fn
remove_all_certs_received_by
(
i
:
Linear
<
2
,
1_000
>
)
->
Result
<
(),
BenchmarkError
>
{
let
receiver
:
T
::
IdtyIndex
=
0
.into
();
let
i
in
2
..
1000
=>
add_certs
::
<
T
>
(
i
,
receiver
)
?
;
}:
_
<
T
::
RuntimeOrigin
>
(
RawOrigin
::
Root
.into
(),
receiver
)
verify
{
assert!
(
CertsByReceiver
::
<
T
>
::
get
(
receiver
)
.is_empty
()
);
add_certs
::
<
T
>
(
i
,
receiver
)
?
;
#[extrinsic_call]
_
(
RawOrigin
::
Root
,
receiver
);
assert!
(
CertsByReceiver
::
<
T
>
::
get
(
receiver
)
.is_empty
());
Ok
(())
}
on_initialize
{
#[benchmark]
fn
on_initialize
()
{
assert!
(
CertsRemovableOn
::
<
T
>
::
try_get
(
BlockNumberFor
::
<
T
>
::
zero
())
.is_err
());
}:
{
Pallet
::
<
T
>
::
on_initialize
(
BlockNumberFor
::
<
T
>
::
zero
());}
do_remove_cert_noop
{
}:
{
Pallet
::
<
T
>
::
do_remove_cert
(
100
.into
(),
101
.into
(),
Some
(
BlockNumberFor
::
<
T
>
::
zero
()));}
#[block]
{
Pallet
::
<
T
>
::
on_initialize
(
BlockNumberFor
::
<
T
>
::
zero
());
}
}
#[benchmark]
fn
do_remove_cert_noop
()
{
#[block]
{
Pallet
::
<
T
>
::
do_remove_cert
(
100
.into
(),
101
.into
(),
Some
(
BlockNumberFor
::
<
T
>
::
zero
()));
}
}
do_remove_cert
{
#[benchmark]
fn
do_remove_cert
()
->
Result
<
(),
BenchmarkError
>
{
let
issuer
:
T
::
IdtyIndex
=
1
.into
();
let
receiver
:
T
::
IdtyIndex
=
0
.into
();
Pallet
::
<
T
>
::
do_remove_cert
(
issuer
,
receiver
,
None
);
Pallet
::
<
T
>
::
do_add_cert_checked
(
issuer
,
receiver
,
false
)
?
;
let
issuer_cert
:
u32
=
StorageIdtyCertMeta
::
<
T
>
::
get
(
issuer
)
.issued_count
;
let
receiver_cert
:
u32
=
StorageIdtyCertMeta
::
<
T
>
::
get
(
receiver
)
.received_count
;
let
block_number
=
T
::
ValidityPeriod
::
get
();
frame_system
::
pallet
::
Pallet
::
<
T
>
::
set_block_number
(
block_number
);
}:
{
Pallet
::
<
T
>
::
do_remove_cert
(
issuer
,
receiver
,
Some
(
block_number
));}
verify
{
assert_has_event
::
<
T
>
(
Event
::
<
T
>
::
CertRemoved
{
issuer
,
receiver
,
expiration
:
true
}
.into
());
#[block]
{
Pallet
::
<
T
>
::
do_remove_cert
(
issuer
,
receiver
,
Some
(
block_number
));
}
assert_has_event
::
<
T
>
(
Event
::
<
T
>
::
CertRemoved
{
issuer
,
receiver
,
expiration
:
true
,
}
.into
(),
);
Ok
(())
}
impl_benchmark_test_suite!
(
Pallet
,
crate
::
mock
::
new_test_ext
(
crate
::
mock
::
DefaultCertificationConfig
{
apply_cert_period_at_genesis
:
true
,
certs_by_receiver
:
btreemap!
[
apply_cert_period_at_genesis
:
true
,
certs_by_receiver
:
btreemap!
[
0
=>
btreemap!
[
1
=>
Some
(
7
),
2
=>
Some
(
9
),
@@ -133,7 +174,7 @@ benchmarks! {
0
=>
Some
(
10
),
2
=>
Some
(
3
),
],
]
,
],
}),
crate
::
mock
::
Test
);
Loading