Skip to content

feat(proxy): implement upgrade proxy contract for bonding curve logic migration (#1055) - #1079

Merged
Chucks1093 merged 1 commit into
accesslayerorg:mainfrom
itzsoftwaredevops-sys:feat/issue-1055-bonding-curve-upgrade-proxy
Oct 18, 2026
Merged

Chucks1093 merged 1 commit into
accesslayerorg:mainfrom
itzsoftwaredevops-sys:feat/issue-1055-bonding-curve-upgrade-proxy

Conversation

@itzsoftwaredevops-sys

Copy link
Copy Markdown
Contributor

Summary

  • Implemented BondingCurveProxy contract (creator-keys/src/proxy.rs) providing an upgrade proxy pattern for bonding curve logic migration (Implement upgrade proxy contract for bonding curve logic migration #1055).
  • Added admin-controlled upgrade mechanism with contract interface verification before updating the active implementation address.
  • Added emergency pause capability (set_paused, is_paused) to guard trading during migrations.
  • Implemented call dispatch delegating calls to the active bonding curve implementation.
  • Emits UpgradeExecuted event (UPGRADE_EXECUTED_EVENT_NAME) on successful implementation migration.
  • Added comprehensive unit tests in creator-keys/src/test_proxy.rs validating initialization, access control, interface validation, emergency pause, and delegation.

Why

Issue #1055 specifies the requirement for an upgrade proxy contract that wraps the bonding curve logic to allow administrators to migrate to upgraded contract logic while preserving all balances, continuous pricing states, and event notifications.

Implementation

  • creator-keys/src/proxy.rs:
    • BondingCurveProxy with methods initialize, upgrade_implementation, set_paused, is_paused, get_implementation, get_admin, and dispatch.
    • Stored instance variables: Admin, Implementation, IsPaused, Initialized.
    • Interface verification via validate_interface probing bonding curve methods before completing upgrades.
    • UpgradeExecuted event publishing.
  • creator-keys/src/lib.rs: Exposed proxy module and exported BondingCurveProxy, BondingCurveProxyClient.
  • creator-keys/src/test_proxy.rs: Unit test coverage for initialization, authorization, interface checks, pause guard, and delegation.

Testing

  • cargo check -p creator-keys (passed)
  • cargo check --tests -p creator-keys (passed)

Checklist

  • Linked issue or backlog item
  • Added or updated creator-keys unit/integration tests for every changed contract behavior, including failure paths for new or reachable ContractError variants
  • Ran cargo check -p creator-keys and cargo check --tests -p creator-keys
  • Confirmed event names, topic order, payload field order, and field meanings remain compatible
  • Scope stays limited to one contract concern and does not include unrelated formatting, lockfile, generated artifact, or dependency changes

Closes #1055

@drips-wave

drips-wave Bot commented Oct 18, 2026

Copy link
Copy Markdown

@itzsoftwaredevops-sys Great news! 🎉 Based on an automated assessment of this PR, the linked Wave issue(s) no longer count against your application limits.

You can now already apply to more issues while waiting for a review of this PR. Keep up the great work! 🚀

Learn more about application limits

@itzsoftwaredevops-sys
itzsoftwaredevops-sys force-pushed the feat/issue-1055-bonding-curve-upgrade-proxy branch 2 times, most recently from fecb6c2 to 6589dec Compare October 18, 2026 02:45
@itzsoftwaredevops-sys
itzsoftwaredevops-sys force-pushed the feat/issue-1055-bonding-curve-upgrade-proxy branch from 6589dec to cc59b97 Compare October 18, 2026 02:49
@Chucks1093
Chucks1093 merged commit 1da627c into accesslayerorg:main Oct 18, 2026
1 check passed
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.

Implement upgrade proxy contract for bonding curve logic migration

2 participants