Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged chaos #7

Closed
wants to merge 1,094 commits into from
Closed

Merged chaos #7

wants to merge 1,094 commits into from

Conversation

faddat
Copy link
Owner

@faddat faddat commented Jan 12, 2025

This pull request fixes test floats

faddat and others added 29 commits December 25, 2024 23:06
…ry regions

- Expanded TESTING_CAPABILITIES in `lib_libwasmvm_test.go` to include additional CosmWasm versions.
- Updated time format in `mocks.go` for better precision.
- Refactored gas tracking in `hostfunctions.go` to use consistent variable naming and added checks for gas consumption across various operations.
- Introduced validation for memory regions in `wazeroruntime.go` to ensure safe memory access and prevent out-of-bounds errors.
- Added optional transaction hash field in `TransactionInfo` struct in `env.go` for enhanced transaction tracking.
…configurations

- Introduced new contracts: burner, crypto-verify, cyberpunk, empty, floaty, hackatom, ibc-callbacks, ibc-reflect, ibc-reflect-send, nested-contracts, queue, reflect, and staking.
- Each contract includes updated README files, Cargo.toml, and Cargo.lock for dependency management.
- Enhanced schema files for better integration and functionality.
- Added integration tests for various contracts to ensure reliability and performance.
- Updated .cargo/config.toml files to standardize schema execution commands across contracts.
- Improved overall project structure and documentation for better developer experience.
…unction calls

- Updated multiple contract function calls in `wazeroruntime.go` to accept `otherParams` as a variadic argument, enhancing flexibility for future extensions.
- Adjusted the `callContractFn` method to handle the new parameter structure, ensuring compatibility with existing functionality.
- Improved overall code maintainability by standardizing function signatures across contract methods.
- Introduced a new file `gas.go` to define gas costs for various operations, including memory, database, and iterator operations.
- Implemented `GasConfig` and `GasState` types to manage gas usage and limits during execution.
- Refactored gas cost constants in `hostfunctions.go` to remove redundant definitions, centralizing gas cost management in `gas.go`.
- Enhanced gas consumption tracking with methods to consume gas and check limits, improving overall gas management in the runtime environment.
- Added helper function to mark test functions in `ibc_test.go` for better test reporting.
- Replaced `require.Equal` with `require.Empty` and `require.Len` for clearer assertions in IBC tests.
- Simplified key and value checks in `memdb_iterator.go` by removing redundant nil checks.
- Updated function signatures in `hostcrypto.go` and `hostfunctions.go` to use underscore for unused parameters, enhancing code clarity.
…ve memory management error handling

- Added `combined_code.txt` to .gitignore to prevent tracking of combined code files.
- Improved debug output in `hostAbort` and `callContractFn` methods for better traceability during contract execution.
- Enhanced memory management in `wazeroruntime.go` by adding error checks for deallocation calls and validating memory region sizes, ensuring safer memory operations.
- Updated logging to provide clearer insights into memory reads and writes, including detailed error messages for better debugging.
- Introduced a new `parseParams` function to streamline the extraction and validation of common parameters across multiple contract methods.
- Updated `Instantiate`, `Execute`, `Migrate`, `MigrateWithInfo`, `Sudo`, `Reply`, `Query`, `IBCChannelOpen`, `IBCChannelConnect`, `IBCChannelClose`, `IBCPacketReceive`, `IBCPacketAck`, `IBCPacketTimeout`, `IBCSourceCallback`, and `IBCDestinationCallback` methods to utilize the new parameter parsing logic, enhancing code maintainability and reducing redundancy.
- Improved error handling for missing or invalid parameters, ensuring more robust contract function calls.
… debug logging

- Refactored the `callContractFn` method in `wazeroruntime.go` to improve memory management by implementing region-based approaches for writing environment, message, and info data.
- Added detailed debug logging to track memory operations and function calls, enhancing traceability during contract execution.
- Introduced helper functions for memory allocation and reading, ensuring safer and more efficient memory handling.
- Improved error handling for memory operations, validating regions and ensuring robust contract function calls.
- Updated comments throughout the method to clarify the purpose of each section, improving code readability and maintainability.
Update Go and golangci-lint version in CI
@faddat faddat closed this Jan 12, 2025
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.

5 participants