Skip to content

Conversation

@AugustoL
Copy link
Collaborator

@AugustoL AugustoL commented Jan 8, 2026

Description

This pull request makes two main types of changes: it removes unused providers and dependencies from App.tsx to simplify the application setup, and it improves the handling of smart contract function interactions in ContractInteraction.tsx by adding robust ABI value parsing and better support for overloaded functions.

App setup simplification:

  • Removed unused providers (WagmiProvider, QueryClientProvider, NotificationProvider) and their related imports and configuration from App.tsx, streamlining the app's provider hierarchy. [1] [2] [3] [4]
  • Replaced the import of RainbowKit's default CSS with a custom stylesheet import (rainbowkit.css) for more tailored styling.

Contract interaction improvements:

  • Added a parseAbiValue utility function in ContractInteraction.tsx to robustly parse user input strings into appropriate Solidity ABI types, improving support for arrays, tuples, booleans, integers, bytes, addresses, and strings. This ensures correct argument types are passed to contract functions. [1] [2] [3]
  • Introduced a getFunctionKey helper to uniquely identify overloaded contract functions by name and input types, preventing key collisions and improving selection logic in the UI. [1] [2] [3]
  • Updated button rendering and selection logic for contract functions to use the new unique function keys, ensuring correct function selection even with overloaded names. [1] [2]

Related Issue

Type of Change

  • Bug fix
  • [] New feature
  • [] Documentation update
  • [] Refactoring
  • [] Performance improvement
  • [] Other (please describe):

Checklist

  • I have run npm run format:fix and npm run lint:fix
  • I have run npm run typecheck with no errors
  • I have run tests with npm run test:run
  • I have tested my changes locally
  • I have updated documentation if needed
  • [] My code follows the project's architecture patterns

- Add parseAbiValue function to properly convert string inputs to Solidity types (arrays, bigints, booleans, bytes)
- Add getFunctionKey function to generate unique keys for overloaded functions with same name but different parameters
- Fix duplicate React key warnings for contracts with function overloads
- Remove duplicate WagmiProvider, QueryClientProvider, NotificationProvider from App.tsx (already in index.tsx)
- Move RainbowKit CSS import to index.tsx for earlier loading
- Clean up unused imports in App.tsx
- Copy RainbowKit CSS from node_modules to src/styles/rainbowkit.css
- Update import to use local CSS file instead of package import
- Webpack wasn't properly resolving the package exports for CSS
@AugustoL AugustoL requested a review from MatiasOS January 8, 2026 21:41
@AugustoL AugustoL self-assigned this Jan 8, 2026
@github-actions
Copy link

github-actions bot commented Jan 8, 2026

🚀 Preview: https://pr-122--openscan.netlify.app
📝 Commit: b5c3924b4d5c131c20fc8e8fdfe03d0c48df6f4c

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