Skip to content

Conversation

@RembrandtK
Copy link
Contributor

No description provided.

RembrandtK and others added 7 commits October 20, 2025 17:19
- Add NatSpec documentation (@title, @author, @notice, @param)
- Add solhint-disable directives with TODO comments for future fixes
- Minor code formatting changes to address lint rules

All packages now pass pnpm lint with no reported issues.

Verified with scripts/compare-repo-contract-bytecode-excluding-metadata.mjs:
only mock contracts have functional bytecode changes.
- Move 36 duplicate interface files from contracts and token-distribution
  to interfaces package
- Update all import statements across contracts, token-distribution,
  horizon, and subgraph-service to use @graphprotocol/interfaces
- Delete duplicate interface files from source packages
- Fix pragma versions for compatibility across compiler configurations
- Add @graphprotocol/interfaces dependency to token-distribution

All builds and tests passing.
- Dual-version interfaces: ^0.7.x || ^0.8.0 (max compatibility)
- V0.8-only interfaces: ^0.8.22 (modern features support)

Interfaces should allow wider compiler version ranges for external
consumer compatibility, while implementations use exact versions for
predictable compilation. Dual-version files use ^0.8.0 since they
can't leverage v0.8 features anyway. V0.8-only files use ^0.8.22 for
custom errors and named mappings.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <[email protected]>
Add explanation of open-ended pragma ranges for interface compatibility
and document available TypeScript type generation formats.
- Rename interface parameters to avoid conflicts with getter functions
- Add parameter references in mock contracts to silence unused warnings
- Configure hardhat-ignore-warnings for contracts/test package
@socket-security
Copy link

socket-security bot commented Oct 22, 2025

Review the following changes in direct dependencies. Learn more about Socket for GitHub.

Diff Package Supply Chain
Security
Vulnerability Quality Maintenance License
Added@​nomicfoundation/​hardhat-toolbox@​5.0.0981007679100
Added@​openzeppelin/​hardhat-upgrades@​3.9.19910010086100

View full report

@RembrandtK RembrandtK requested a review from Copilot October 22, 2025 20:45
@RembrandtK RembrandtK self-assigned this Oct 22, 2025
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR introduces an "Issuance Allocator" system for managing token issuance distribution across protocol components, along with supporting infrastructure and interface updates.

  • Implements IssuanceAllocator contract for centralized token distribution with allocator-minting and self-minting allocation types
  • Adds DirectAllocation contract for simple token receiving and distribution
  • Updates interface pragma versions from exact versions to caret ranges for better compatibility

Reviewed Changes

Copilot reviewed 249 out of 322 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
packages/issuance/contracts/allocate/IssuanceAllocator.sol Core contract managing token issuance allocation and distribution
packages/issuance/contracts/allocate/DirectAllocation.sol Simple target contract for receiving and distributing tokens
packages/issuance/contracts/allocate/IssuanceAllocator.md Comprehensive documentation for IssuanceAllocator functionality
packages/issuance/README.md Package overview and setup instructions
packages/interfaces/contracts/**/*.sol Updated pragma statements from exact to caret ranges (e.g., 0.8.27 to ^0.8.22)
packages/interfaces/README.md Added compiler version strategy documentation
packages/horizon/contracts/**/*.sol Import path updates to use interfaces package
packages/contracts/contracts/tests/*.sol Import path updates and test improvements

Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.

AllocationTarget storage targetData = $.allocationTargets[target];

// Total allocation calculation and check is delayed until after notifications.
// Distributing and notifying unecessarily is harmless, but we need to prevent
Copy link

Copilot AI Oct 22, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Corrected spelling of 'unecessarily' to 'unnecessarily'.

Suggested change
// Distributing and notifying unecessarily is harmless, but we need to prevent
// Distributing and notifying unnecessarily is harmless, but we need to prevent

Copilot uses AI. Check for mistakes.
@openzeppelin-code
Copy link

openzeppelin-code bot commented Oct 22, 2025

Issuance Allocator

Generated at commit: 78cbe49680c423632c2c1ecc36b14f1bd91d6c87

🚨 Report Summary

Severity Level Results
Contracts Critical
High
Medium
Low
Note
Total
3
5
0
14
38
60
Dependencies Critical
High
Medium
Low
Note
Total
0
0
0
0
0
0

For more details view the full report in OpenZeppelin Code Inspector

@codecov
Copy link

codecov bot commented Oct 22, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 85.83%. Comparing base (cd59452) to head (78cbe49).
⚠️ Report is 4 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #1245      +/-   ##
==========================================
+ Coverage   82.84%   85.83%   +2.98%     
==========================================
  Files          47       45       -2     
  Lines        2093     2294     +201     
  Branches      620      680      +60     
==========================================
+ Hits         1734     1969     +235     
+ Misses        359      325      -34     
Flag Coverage Δ
unittests 85.83% <100.00%> (+2.98%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants