arkavo-org / arkavo-org/arkavo-node

Implement Cross-Contract Communication in Policy Engine and Payment Integration

Open
#2 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Rust
Stars
0
Forks
0
PR merge metrics
No merged PRs in 30d

Description

## Overview
This issue tracks the implementation of cross-contract calls between the smart contracts as documented in `docs/CROSS_CONTRACT_CALLS.md`.

## Background
Currently, `policy_engine` and `payment_integration` contracts have placeholder comments where cross-contract calls should be implemented:
- `policy_engine.evaluate_access` needs to call `access_registry` and `attribute_store`
- `payment_integration.complete_payment` needs to call `access_registry.grant_entitlement`
- `payment_integration.refund_payment` needs to call `access_registry.revoke_entitlement`

## Tasks
- [ ] Phase 1: Define contract trait interfaces
- [ ] Phase 2: Update storage to use contract references
- [ ] Phase 3: Implement policy_engine.evaluate_access logic
- [ ] Phase 4: Implement payment_integration cross-contract calls
- [ ] Phase 5: Write comprehensive tests
- [ ] Phase 6: Deploy and test on development network

## References
- Documentation: `docs/CROSS_CONTRACT_CALLS.md`
- Related code review finding: C1, C2

## Priority
**HIGH** - Critical functionality gap

## Estimated Effort
2-3 days for implementation + testing

Contributor guide

No contributing guide indexed for this repository

Research direction

Read docs/CROSS_CONTRACT_CALLS.md first, then inspect policy_engine.evaluate_access, payment_integration.complete_payment, and payment_integration.refund_payment where the placeholders are described. Define the interfaces, update contract references, implement the calls, add comprehensive tests, and validate deployment on the development network.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust, wasm
Domain
blockchain
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.