Andronik Ordian
bd9b743872
enable disputes ( #3478 )
...
* initial integration and migration code
* fix tests
* fix counting test
* assume the current version on missing file
* use SelectRelayChain
* remove duplicate metric
* Update node/service/src/lib.rs
Co-authored-by: Robert Habermeier <rphmeier@gmail.com >
* remove ApprovalCheckingVotingRule
* address my concern
* never mode for StagnantCheckInterval
* REVERTME: some logs
* w00t
* it's ugly but it works
* Revert "REVERTME: some logs"
This reverts commit e210505a2e83e31c381394924500b69277bb042e.
* it's handle, not handler
* fix a few typos
Co-authored-by: Robert Habermeier <rphmeier@gmail.com >
2021-07-26 14:46:31 +02:00
Andreas Doerr
310aa6f321
Add wococo-local chain spec ( #3509 )
2021-07-21 22:19:26 +02:00
Denis Pisarev
fc253e6e4d
WIP: CI: add spellcheck ( #3421 )
...
* CI: add spellcheck
* revert me
* CI: explicit command for spellchecker
* spellcheck: edit misspells
* CI: run spellcheck on diff
* spellcheck: edits
* spellcheck: edit misspells
* spellcheck: add rules
* spellcheck: mv configs
* spellcheck: more edits
* spellcheck: chore
* spellcheck: one more thing
* spellcheck: and another one
* spellcheck: seems like it doesn't get to an end
* spellcheck: new words after rebase
* spellcheck: new words appearing out of nowhere
* chore
* review edits
* more review edits
* more edits
* wonky behavior
* wonky behavior 2
* wonky behavior 3
* change git behavior
* spellcheck: another bunch of new edits
* spellcheck: new words are koming out of nowhere
* CI: finding the master
* CI: fetching master implicitly
* CI: undebug
* new errors
* a bunch of new edits
* and some more
* Update node/core/approval-voting/src/approval_db/v1/mod.rs
Co-authored-by: Andronik Ordian <write@reusable.software >
* Update xcm/xcm-executor/src/assets.rs
Co-authored-by: Andronik Ordian <write@reusable.software >
* Apply suggestions from code review
Co-authored-by: Andronik Ordian <write@reusable.software >
* Suggestions from the code review
* CI: scan only changed files
Co-authored-by: Andronik Ordian <write@reusable.software >
2021-07-14 19:22:58 +02:00
Robert Klotzner
b5257b2407
Dispute distribution implementation ( #3282 )
...
* Dispute protocol.
* Dispute distribution protocol.
* Get network requests routed.
* WIP: Basic dispute sender logic.
* Basic validator determination logic.
* WIP: Getting things to typecheck.
* Slightly larger timeout.
* More typechecking stuff.
* Cleanup.
* Finished most of the sending logic.
* Handle active leaves updates
- Cleanup dead disputes
- Update sends for new sessions
- Retry on errors
* Pass sessions in already.
* Startup dispute sending.
* Provide incoming decoding facilities
and use them in statement-distribution.
* Relaxed runtime util requirements.
We only need a `SubsystemSender` not a full `SubsystemContext`.
* Better usability of incoming requests.
Make it possible to consume stuff without clones.
* Add basic receiver functionality.
* Cleanup + fixes for sender.
* One more sender fix.
* Start receiver.
* Make sure to send responses back.
* WIP: Exposed authority discovery
* Make tests pass.
* Fully featured receiver.
* Decrease cost of `NotAValidator`.
* Make `RuntimeInfo` LRU cache size configurable.
* Cache more sessions.
* Fix collator protocol.
* Disable metrics for now.
* Make dispute-distribution a proper subsystem.
* Fix naming.
* Code style fixes.
* Factored out 4x copied mock function.
* WIP: Tests.
* Whitespace cleanup.
* Accessor functions.
* More testing.
* More Debug instances.
* Fix busy loop.
* Working tests.
* More tests.
* Cleanup.
* Fix build.
* Basic receiving test.
* Non validator message gets dropped.
* More receiving tests.
* Test nested and subsequent imports.
* Fix spaces.
* Better formatted imports.
* Import cleanup.
* Metrics.
* Message -> MuxedMessage
* Message -> MuxedMessage
* More review remarks.
* Add missing metrics.rs.
* Fix flaky test.
* Dispute coordinator - deliver confirmations.
* Send out `DisputeMessage` on issue local statement.
* Unwire dispute distribution.
* Review remarks.
* Review remarks.
* Better docs.
2021-07-09 04:29:53 +02:00
Bernhard Schuster
3c9104daff
refactor overseer into proc-macro based pattern ( #2962 )
2021-07-08 21:09:26 +02:00
Svyatoslav Nikolsky
04ac35e127
Enable over-bridge-messaging in Rococo/Wococo runtime ( #3377 )
...
* bridges in W<>R
* fix node compilation
* Update runtime/rococo/src/bridge_messages.rs
Co-authored-by: Hernando Castano <HCastano@users.noreply.github.com >
* Update runtime/rococo/src/bridge_messages.rs
Co-authored-by: Hernando Castano <HCastano@users.noreply.github.com >
* Update runtime/rococo/src/bridge_messages.rs
Co-authored-by: Hernando Castano <HCastano@users.noreply.github.com >
* Update runtime/rococo/src/bridge_messages.rs
Co-authored-by: Hernando Castano <HCastano@users.noreply.github.com >
* long line fix
* comment/remove -> comment/#[ignore]
* explicit instances
Co-authored-by: Hernando Castano <HCastano@users.noreply.github.com >
2021-07-06 10:03:12 +00:00
ferrell-code
39969ca536
paras.rs to FRAME V2 ( #3403 )
...
* to v2 macro
* line width
* fix mock
* actually compile moxk
* compile tests
* add hooks
* origin back in mocks
* assimilate_storage
* add generic
* maybe mock compiles now
* origin between parachain and system causing problem
* change origin
* type alias as origin
* keep origin
* add aliases to tests
* remove unnecessary imports
* Parachain -> Paras
* paras test
* nvm
* use genesis build in mock
2021-07-06 00:24:27 +00:00
Andronik Ordian
373a545118
make it easier to dbg stalls ( #3351 )
...
* make it easier to dbg
* revert channel sizes
* BAnon
2021-07-02 21:09:18 +02:00
Kian Paimani
505145efd3
Staking Miner ( #3141 )
...
Co-authored-by: Peter Goodspeed-Niklaus <coriolinus@users.noreply.github.com >
Co-authored-by: Peter Goodspeed-Niklaus <peter.r.goodspeedniklaus@gmail.com >
2021-07-01 20:22:35 +01:00
Andronik Ordian
30ebd26558
disable approval-checking-grandpa on dev chain ( #3364 )
2021-06-28 11:57:14 +02:00
Robert Habermeier
b57b9cf7dc
SelectChain implementation for relay chains ( #3341 )
...
* stubbed SelectRelayChain
* disconnected overseer handlers
* add is_disconnected
* add fallback in case overseer is disconnected
* fall back on fallback
* fetch leaves by calling into chain-selection subsystem
* implement best_chain
* mostly implement finality_target
* chain constrain
* metrics and maximum safeguard
* remove review comment after review
2021-06-22 18:41:54 -05:00
Shawn Tabrizi
6b1baba490
Use max_code_size and max_wasm_data_size from Parachains Configuration ( #3329 )
...
* use `configuration::config()` for max bytes
* Update integration_tests.rs
* Update paras_registrar.rs
* remove consts
* add asserts for non-zero
* more const clean up
* cargo run --release --features=runtime-benchmarks -- benchmark --chain=kusama-dev --steps=50 --repeat=20 --pallet=runtime_common::paras_registrar --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --header=./file_header.txt --output=./runtime/kusama/src/weights/runtime_common_paras_registrar.rs
* cargo run --release --features=runtime-benchmarks -- benchmark --chain=westend-dev --steps=50 --repeat=20 --pallet=runtime_common::paras_registrar --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --header=./file_header.txt --output=./runtime/westend/src/weights/runtime_common_paras_registrar.rs
* add checks to `MAX_CODE_SIZE`
* re-pot MAX_POV_SIZE
* check pov limit in runtime
* POV_BOMB_LIMIT multiplier
* fix compile
* Update configuration.rs
* Update node/primitives/src/lib.rs
* fix test
Co-authored-by: Parity Bot <admin@parity.io >
2021-06-21 17:24:49 +00:00
Andronik Ordian
e74181b16f
disable approval-checking voting rule ( #3321 )
2021-06-20 20:46:04 +00:00
André Silva
fc7f6dbfd9
Companion for substrate#9128 ( #3268 )
...
* support async selectchain
* update Substrate
Co-authored-by: parity-processbot <>
2021-06-20 11:39:20 +00:00
André Silva
85936d2862
Companion for substrate#9138 ( #3294 )
...
* fix babe params
* update Substrate
Co-authored-by: parity-processbot <>
2021-06-19 21:08:00 +00:00
Andreas Doerr
be2d1ce01b
Bump BEEFY ( #3302 )
2021-06-19 17:46:06 +02:00
Bernhard Schuster
44a8aa23d5
malus - mockable overseer mvp ( #3224 )
2021-06-16 12:45:21 +02:00
Bastian Köcher
c8cf749aab
Substrate companion #9074 ( #3204 )
...
* Substrate companion #9074
* update Substrate
Co-authored-by: parity-processbot <>
2021-06-11 17:52:31 +00:00
Keith Yeung
99d49ad7c9
Companion for #8990 ( #3194 )
...
* Use new naming scheme for all Event enums generated by construct_runtime
* Use new naming scheme for all GenesisConfig fields generated by construct_runtime
* Fix overlooked GenesisConfig field renaming
* update Substrate
Co-authored-by: parity-processbot <>
2021-06-09 10:07:04 +00:00
Bastian Köcher
f6cbe8e8d8
polkadot-service: Make native runtime configurable ( #3189 )
...
* polkadot-service: Make native runtime configurable
This pull requests adds support for configuring the native runtimes used
by polkadot-service. While this whole pr doesn't change that much for
polkadot, besides not having the light-node enabled for the default
polkadot binary. However, downstream projects (parachains) will have a
much better compile time. In cumulus for example the `cargo test --all
--release` is about 4m faster to compile.
* Fixes
* Fix
* Enable rococo-native
* Fix light client
* 🤦
* Fixes
2021-06-08 22:05:20 +02:00
Lldenaurois
2abaca3a8c
Remove candidate selection ( #3148 )
...
* Create validator_side module
* Subsume Candidate Selection
* Add test to ensure candidate backing logic is correct
* Ensure secondings are adequately cleaned up and address test flakyness
* Address Feedback
2021-06-08 14:07:19 -04:00
André Silva
6f29754cce
node: fix grandpa voting rule ( #3190 )
...
* node: fix grandpa voting rule
* node: cleanup find_target
2021-06-07 14:45:27 -05:00
André Silva
9c014f7c8b
node: fix babe worker params ( #2956 )
...
* node: fix babe worker params
* update Substrate
Co-authored-by: parity-processbot <>
2021-06-04 22:01:09 +00:00
Robert Habermeier
3bc3856544
impose minimum limitation on explicit votes too ( #3181 )
2021-06-04 18:05:23 +00:00
Robert Habermeier
b5e49c03ec
put a cap on finality lag ( #3175 )
...
* put a cap on finality lag
* Update node/service/src/grandpa_support.rs
Co-authored-by: André Silva <123550+andresilva@users.noreply.github.com >
* apply lag to best, not to current vote
Co-authored-by: André Silva <123550+andresilva@users.noreply.github.com >
2021-06-04 15:49:27 +00:00
Arkadiy Paronyan
8223d3ae71
Update for the new substrate client API ( #2890 )
...
* Update for the new substrate client API
* update Substrate
Co-authored-by: parity-processbot <>
2021-06-04 07:21:46 +00:00
Gavin Wood
53de6871e0
Fix teleport accounting and add some events ( #3167 )
...
* Stuff to help inspect the DMP activity
* Fix teleport accounting
* Fixes
* Fixes
* Fixes
* Fixes
2021-06-03 15:39:08 +02:00
Robert Habermeier
6b166a7a1f
fix approval-checking GRANDPA voting rule ( #3133 )
...
* fix approval-checking GRANDPA voting rule
a `None` return value implies to vote on the best, not to vote on the base.
this explicitly changes the logic to vote on the base
* refactor logic out and test
2021-05-31 10:45:16 -05:00
Bastian Köcher
cc0457423c
Use proper host configuration everywhere ( #3130 )
...
* Use proper host configuration everywhere
* Fix dumb errors
2021-05-28 21:41:24 +02:00
Xiliang Chen
cc0466c84c
enable Config for Paras on Kusama & Westend ( #3129 )
...
* enable Config for Paras
* fix
2021-05-28 10:52:32 +02:00
Roman Proskuryakov
3d04a0cce0
Companion PR for #8748 ( #2990 )
...
* Replace NetworkStatusSinks with Arc<NetworkService>
* update Substrate
Co-authored-by: parity-processbot <>
2021-05-27 14:27:52 +00:00
André Silva
e3edb71ed7
grandpa: enable observer for light client ( #3019 )
...
* grandpa: enable observer for light client
* update Substrate
* service: fix missing import
* runtime: bump spec versions
Co-authored-by: parity-processbot <>
2021-05-26 17:22:15 +00:00
Bastian Köcher
7f34d76fd4
Add UsageProvider trait to AbstractClient ( #3106 )
...
* Add `UsageProvider` trait to `AbstractClient`
* Fix
2021-05-26 13:15:45 +02:00
Bernhard Schuster
e8652e73db
cargo spellcheck ( #3067 )
2021-05-22 00:15:47 +00:00
Bastian Köcher
6a0b7b4164
Add AuxStore as super trait of AbstractClient ( #3066 )
2021-05-20 15:28:41 +02:00
Hernando Castano
9507266960
Add Bridge Header Sync to Rococo Runtime ( #2983 )
...
* Add bridges code to workspace
* Add Rococo and Wococo bridge instances to Rococo runtime
* Add Rococo and Wococo runtime APIs
* Add GenesisConfig parameters for bridge pallet
* Update Rococo spec_version used by bridge relayer
* Add scripts for running Rococo and Wococo dev nodes
* Add scripts for running Rococo<>Wococo header sync
* Apply patch for build artifact location
* Remove bridges crates from workspace
* Downgrade async related dependencies
* Change bridge pallet owner to be `root_key`
* Bump number of `MaxRequests` allowed
* Revert changes in `bridges` subtree folder
* Use correct account for Sudo
* Add comment explaining duplicate bridge pallets
* Remove WeightInfo comment.
Co-authored-by: Tomasz Drwięga <tomasz@parity.io >
2021-05-13 15:09:17 +00:00
Sergei Shulepov
0e6c96a8b6
Support opening HRMP channels in genesis ( #3003 )
2021-05-13 10:54:30 +02:00
Andreas Doerr
ea42f734dc
Use BeefyParams ( #3013 )
2021-05-12 14:03:48 +00:00
Gavin Wood
bc6efb0480
Initial integration of Gilts pallet (Kusama) ( #2587 )
...
* Initial integration of Gilts pallet (Kusama)
* Fixes
* Fixes
* Fixes
* Fixes
* Fixes
* Fixes
* cargo run --release --features=runtime-benchmarks -- benchmark --chain=kusama-dev --steps=50 --repeat=20 --pallet=pallet_gilt --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --header=./file_header.txt --output=./runtime/kusama/src/weights/
* Use real weights
* Update lock
* Merge
* Fixes
* Add working.
* Add proper curve arithmetic
* Fixes
* Fixes
* Make build
* Fixes
* Fixes
* Fix build
* remove dep.
* undo dep.
* upadte substrate
* Fix
* Bump Substrate
* Fixes
* Fixes
* Fix test
* Remove cap and some tests
* Fixes
* Fixes
* Update runtime/kusama/src/lib.rs
Co-authored-by: Kian Paimani <5588131+kianenigma@users.noreply.github.com >
* bump the lock file
* Fixes
* Fixes
* Fixes
* Fixes
* Fixes
* Fixes
* Fixes
* Fixes
* Fixes
Co-authored-by: Parity Benchmarking Bot <admin@parity.io >
Co-authored-by: kianenigma <kian@parity.io >
Co-authored-by: Kian Paimani <5588131+kianenigma@users.noreply.github.com >
Co-authored-by: Shawn Tabrizi <shawntabrizi@gmail.com >
2021-05-11 15:40:24 +02:00
Andreas Doerr
aa51cddf47
Add --no-beefy CLI flag ( #2981 )
...
* Add --disable-beefy CLI flag
* Update cli/src/command.rs
Co-authored-by: Andronik Ordian <write@reusable.software >
* Update node/test/service/src/lib.rs
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com >
* Update parachain/test-parachains/adder/collator/src/main.rs
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com >
* Update cli/src/command.rs
Co-authored-by: André Silva <123550+andresilva@users.noreply.github.com >
* Update cli/src/cli.rs
Co-authored-by: André Silva <123550+andresilva@users.noreply.github.com >
* Update cli/src/cli.rs
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com >
* Update cli/src/cli.rs
Co-authored-by: André Silva <123550+andresilva@users.noreply.github.com >
Co-authored-by: Andronik Ordian <write@reusable.software >
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com >
Co-authored-by: André Silva <123550+andresilva@users.noreply.github.com >
2021-05-10 17:13:21 +00:00
André Silva
bbf0812994
runtime: remove beefy and mmr from westend (again) ( #2972 )
...
* runtime: remove beefy and mmr from westend (again)
* node: add borked westend runtime upgrade as bad block
2021-05-04 10:16:20 +00:00
Bastian Köcher
7830bae524
Companion for Substrate#8526 ( #2845 )
...
* Update branch
* Make it compile
* Compile
* gate approval-checking logic (#2470 )
* Fix build
* Updates
* Fix merge
* Adds missing crate
* Companion for Substrate#8386
https://github.com/paritytech/substrate/pull/8386
* Fix fix fix
* Fix
* Fix compilation
* Rewrite to `ParachainsInherentDataProvider`
* Make it compile
* Renamings
* Revert stuff
* Remove stale file
* Guide updates
* Update node/core/parachains-inherent/src/lib.rs
Co-authored-by: Andronik Ordian <write@reusable.software >
* Update node/core/parachains-inherent/src/lib.rs
Co-authored-by: Andronik Ordian <write@reusable.software >
* Apply suggestions from code review
* Reset accidental changes
* More
* Remove stale file
* update Substrate
Co-authored-by: Robert Habermeier <rphmeier@gmail.com >
Co-authored-by: Andronik Ordian <write@reusable.software >
Co-authored-by: parity-processbot <>
2021-05-03 15:21:13 +00:00
Robert Habermeier
2d18b26151
Add parachains modules to Westend and Kusama runtimes ( #2854 )
...
* add `force_set_active_config`
* add parachains modules to Westend
* add parachains modules to Kusama runtime
* use real runtime API impl
* add module indices and remove auctions, crowdloan
* add benchmarks
* remove previous migrations and add host configuration set migration
* make compile
* Add Call Filter for Registrar and Slots except Root
* cargo run --release --features=runtime-benchmarks -- benchmark --chain=westend-dev --steps=50 --repeat=20 --pallet=slots --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --header=./file_header.txt --output=./runtime/westend/src/weights/
* cargo run --release --features=runtime-benchmarks -- benchmark --chain=westend-dev --steps=50 --repeat=20 --pallet=paras_registrar --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --header=./file_header.txt --output=./runtime/westend/src/weights/
* fix build
* update `add_benchmark`
* cargo run --release --features=runtime-benchmarks -- benchmark --chain=kusama-dev --steps=50 --repeat=20 --pallet=runtime_common::paras_registrar --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --header=./file_header.txt --output=./runtime/kusama/src/weights/runtime_common_paras_registrar.rs
* cargo run --release --features=runtime-benchmarks -- benchmark --chain=kusama-dev --steps=50 --repeat=20 --pallet=runtime_common::slots --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --header=./file_header.txt --output=./runtime/kusama/src/weights/runtime_common_slots.rs
* cargo run --release --features=runtime-benchmarks -- benchmark --chain=westend-dev --steps=50 --repeat=20 --pallet=runtime_common::paras_registrar --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --header=./file_header.txt --output=./runtime/westend/src/weights/runtime_common_paras_registrar.rs
* cargo run --release --features=runtime-benchmarks -- benchmark --chain=westend-dev --steps=50 --repeat=20 --pallet=runtime_common::slots --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --header=./file_header.txt --output=./runtime/westend/src/weights/runtime_common_slots.rs
* fix weights
* tweak more constants
* Fix up the kusama runtime
* Westend runtime fixups
* Fix MMR & Beefy for westend
* Fixes
* fix tests
* Update runtime/polkadot/src/constants.rs
Co-authored-by: Shawn Tabrizi <shawntabrizi@gmail.com >
* Update runtime/westend/src/lib.rs
Co-authored-by: Shawn Tabrizi <shawntabrizi@gmail.com >
Co-authored-by: Parity Benchmarking Bot <admin@parity.io >
Co-authored-by: Gav Wood <gavin@parity.io >
2021-05-01 17:36:11 +02:00
Andreas Doerr
99b10213a0
Make KeyStore optional ( #2964 )
2021-05-01 12:59:08 +02:00
Robert Klotzner
c86a774b9d
Send statements to own backing group first ( #2927 )
...
* Factor out runtime module into utils.
* First fatal error design.
* Better error handling infra.
* Error handling cleanup.
* Send to peers of our group first.
* Finish backing group prioritization.
* Little cleanup.
* More cleanup.
* Forgot to checkin error.rs.
* Notes.
* Runtime -> RuntimeInfo
* qed in debug assert.
* PolkaErr -> Fault.
2021-04-27 21:47:32 +02:00
Hernando Castano
470383ce67
Add Dev Config for Rococo and Wococo ( #2928 )
...
* Add `rococo-dev` chain option
* Add `wococo-dev` CLI option
* Sort Chain ID match arms
2021-04-27 17:46:55 +02:00
André Silva
ae558997a8
Introduce Wococo testnet ( #2918 )
...
* runtime: remove mmr and beefy from westend runtime
* runtime: westend: remove pallet_beefy config
* node: only start beefy gadget on rococo
* node: remove beefy keys from westend chain spec
* node: add wococo testnet chain spec
* node: add comments about beefy gadget task
* runtime: update wococo chainspec
* Remove stale comment
Co-authored-by: Tomasz Drwięga <tomasz@parity.io >
Co-authored-by: adoerr <0xad@gmx.net >
2021-04-22 15:28:23 +00:00
André Silva
c25e79d8c4
runtime: remove mmr and beefy from westend runtime ( #2916 )
...
* runtime: remove mmr and beefy from westend runtime
* runtime: westend: remove pallet_beefy config
* node: only start beefy gadget on rococo
* node: remove beefy keys from westend chain spec
2021-04-21 20:31:06 +00:00
Kian Paimani
47889d845c
Fix bench bot ( #2900 )
...
* Fix bench bot
* cargo run --release --features=runtime-benchmarks -- benchmark --chain=polkadot-dev --steps=50 --repeat=20 --pallet=pallet_membership --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --header=./file_header.txt --output=./runtime/polkadot/src/weights/
* Fix weights files
* Fix'
* cargo run --release --features=runtime-benchmarks -- benchmark --chain=kusama-dev --steps=50 --repeat=20 --pallet=pallet_membership --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --header=./file_header.txt --output=./runtime/kusama/src/weights/
Co-authored-by: Parity Benchmarking Bot <admin@parity.io >
2021-04-21 01:38:19 +00:00
André Silva
eca26ac5d0
Bump BEEFY ( #2906 )
...
* bump substrate
* bump beefy
* bump beefy again
* bump beefy
2021-04-20 16:54:16 +00:00