Skip to content

Ether support#40

Merged
mriynyk merged 14 commits into
masterfrom
ether_support
Mar 30, 2026
Merged

Ether support#40
mriynyk merged 14 commits into
masterfrom
ether_support

Conversation

@mriynyk

@mriynyk mriynyk commented Feb 27, 2026

Copy link
Copy Markdown
Collaborator

Issue

This PR introduces comprehensive native Ether support across the DigitalOriginal protocol, alongside significant architectural refactoring to unify currency handling.

Summary:

  • Native Ether Support:
    • Developed CurrencyTransfers.sol to provide a unified interface for both Ether and ERC-20 transactions.
    • Implemented a robust "send-and-wrap" fallback mechanism: if a direct Ether transfer fails (e.g., due to recipient gas limits), the contract automatically wraps the Ether into WETH and completes the transfer.
    • Updated ArtToken, AuctionHouse, and Market to support native Ether for minting, bidding, and secondary sales.
  • Architectural Refactoring:
    • Centralized value movement logic within the CurrencyTransfers abstract contract, replacing manual SafeERC20 calls and deprecated utilities like SafeERC20BulkTransfer.
  • Infrastructure & Testing:
    • Added WrappedEther mock and IWrappedEther interface to facilitate rigorous testing of Ether/WETH fallback logic.
    • Updated the entire test suite and deployment tasks to accommodate native Ether and Wrapped Ether usage.
    • Standardized project configuration (.nvmrc, .npmrc, updated linting/formatting rules) and enhanced the CI pipeline.

@mriynyk mriynyk merged commit 6a267ce into master Mar 30, 2026
1 check passed
@mriynyk mriynyk deleted the ether_support branch March 30, 2026 04:43
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.

1 participant