ir: support new metadata chain flow#3984
Conversation
Codecov Report❌ Patch coverage is Additional details and impacted files@@ Coverage Diff @@
## master #3984 +/- ##
==========================================
- Coverage 27.95% 27.84% -0.11%
==========================================
Files 684 683 -1
Lines 45755 45833 +78
==========================================
- Hits 12792 12764 -28
- Misses 31771 31876 +105
- Partials 1192 1193 +1 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
|
Requires test adjustments. |
There was a problem hiding this comment.
Pull request overview
This PR introduces support for an experimental “metadata sidechain” flow in Inner Ring, wiring a meta-chain notary actor into IR processors so that metadata containers can be registered and their placements updated alongside the main FS-chain placement updates.
Changes:
- Add meta-chain bootstrap in IR (custom natives, ports remapping, notary deposit, notary actor creation) and pass the meta actor into processors.
- Update container processor to register a metadata container and push its initial placement to the meta sidechain.
- Update netmap epoch processing to also update meta-container placements when the container has the metadata-consistency attribute.
Reviewed changes
Copilot reviewed 11 out of 11 changed files in this pull request and generated 11 comments.
Show a summary per file
| File | Description |
|---|---|
| pkg/innerring/processors/netmap/processor.go | Adds optional meta notary actor to netmap processor params/state. |
| pkg/innerring/processors/netmap/process_epoch.go | Triggers meta-chain placement updates during epoch placement refresh. |
| pkg/innerring/processors/meta_placement.go | New helper for building/sending meta-chain placement update notary calls + VUB calculation. |
| pkg/innerring/processors/container/processor.go | Adds meta actor dependency validation when meta feature is enabled. |
| pkg/innerring/processors/container/process_container.go | Registers meta container and updates its placement on meta sidechain during container approval. |
| pkg/innerring/internal/metachain/chain.go | Adds helper to build a meta sidechain blockchain with custom natives. |
| pkg/innerring/innerring.go | Boots meta sidechain, builds meta notary actor, introduces worker error propagation, adds port remapping helper. |
| pkg/innerring/config/config.go | Changes experimental.chain_meta_data from bool to structured metadata-chain config. |
| config/example/ir.yaml | Updates example config for new experimental.chain_meta_data structure. |
| cmd/neofs-ir/validate_test.go | Updates config validation test for new metadata config structure. |
| cmd/neofs-ir/defaults_test.go | Updates defaults validation test for new metadata config structure. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Signed-off-by: Pavel Karpy <carpawell@nspcc.ru>
Refs nspcc-dev/neofs-node#3984. Signed-off-by: Pavel Karpy <carpawell@nspcc.ru>
No description provided.