Skip to content

OrbiterSDK-cpp v0.2.0

Latest
Compare
Choose a tag to compare
@itamarcps itamarcps released this 05 Feb 21:16
· 3 commits to main since this release
9f4e935

We're thrilled to announce OrbiterSDK 0.2.0, a leap forward packed with numerous new features and substantial upgrades. Experience a remarkable 100% increase in contract execution speed and more. Below is a detailed list of the most significant enhancements:

  • SDKTestSuite: OrbiterSDK now integrates its own testing suite, revolutionizing how developers test your contracts. This suite offers a straightforward, user-friendly interface, akin to Hardhat or Truffle from EVM, streamlining your testing process like never before.

  • Full Events Support for Contracts: Elevate your dApps to new heights with the ability to effortlessly emit and listen to events from your contracts. Compatible with any web3 frontend library, such as ethers.js or web3.js, this feature promises a seamless integration into your existing workflow.

  • Safe Tuple: Introducing the versatility of struct/tuple usage within your contracts. Now, store a myriad of values under a single variable, optimizing both space and efficiency.

  • ABI Refactor to Templates: We've overhauled the ABI, now utilizing templates for a more elegant syntax and enhanced performance. This refinement promises a smoother development experience.

  • Full Tuple/Struct Support for Contracts: Say goodbye to the limitations of previous versions. OrbiterSDK now fully supports recursive usage of tuples and structs as parameters and return types in your contract functions, bypassing the need for manual ABI encoding with BytesEncoded (Now deprecated).

  • Genesis in Options: Customize your chain's inception with ease. The settings file now includes options for setting the chain's genesis state – from the genesis block to initial validators, chain ownership, and starting balances.

  • Improved ContractManager Logic: We've restructured the ContractManager for greater clarity and efficiency. It now comprises multiple classes – ContractManager for contract access and storage, ContractCallLogger for logging and handling contract calls, and ContractFactory for creating new contracts. All these functionalities are seamlessly integrated within the ContractManager framework.

  • Support for All uint Types: Our platform now supports a wider range of uint*_t and int*_t types in contracts, expanding beyond the previously available uint256_t and int256_t.

  • Support for Enum on ABI: We've now incorporated support for enum types in the ABI, enabling you to define and utilize enums in your contract's function parameters and return types, broadening the scope of your contract's functionality.

  • Better Organization for Contract Template Files: The contract template files have been reorganized for enhanced clarity and accessibility. All templates are now conveniently located in the contract/templates folder.

  • ERC721 Template: Introducing a new ERC721 contract template within our contract templates, facilitating the creation of your own NFTs with ease and efficiency.

  • Hash Cache on Transactions: Transactions now feature a hash cache, significantly speeding up access to the transaction hash and optimizing overall transaction processing.

In addition to these major updates, we've implemented numerous bug fixes and performance enhancements.