SPRINT SUMMARY
Sprint 19 focused mainly on implementing numerous updates and improvements for the Assets and Engage front- and backend.
Backend Development
Assets Backend Functionality Improvements:
✔️ Added a mint function to the T-REX deployment process and updated the TokenDetails structure.
✔️ Added a new ERC20 factory contract.
✔️Added select permissions for the "user" role to various enum tables in Hasura.
✔️ Enabled aggregated permissions on the global_asset table in Hasura.
✔️ Improved conflict resolution strategy in asset category migration scripts.
✔️ Merged development changes into the staging environment.
✔️ Added a CI/CD workflow for the assets production environment.
✔️ Added a new endpoint v1/get-metadata-template-id-by-entry-id.
✔️ Commented out the requirement for the IDENTITY_FACTORY_GATEWAY environment variable.
✔️Added an endpoint to retrieve auditor data.
✔️ Fixed issues with global stats endpoints and Hasura permissions.
✔️ Simplified the metadata template permissions by removing redundant conditions.
✔️ Removed the status field from the insert_global_metadata_template mutation in Hasura.
✔️ Updated IDENTITY_FACTORY_GATEWAY value in configmaps.yaml.
✔️ Modified SQL insert statements to handle conflicts better.
✔️ Deleted unneeded migration files.
✔️ Removed the status field from the update_global_metadata_template mutation.
✔️ Commented out the buildERC3643CreateTokenTransaction function.
✔️ Corrected a typo in the log message.
✔️ Enabled starting supply minting in T-REX contracts.
Engage Backend Functionality Improvements:
✔️ Added a new /expected-rewards-by-user endpoint to calculate and retrieve expected staking rewards for users across multiple networks, filtered by specified date ranges.
✔️ Created a new EventMaturityWorker to handle stake status updates and integrated it into the existing builder classes for various networks. Updated the database schema to support timestamp with time zone for Ethereum and Polygon events.
✔️ Implemented session management with JWT authentication using SIWE, including nonce generation, login, and session restoration, along with rate limiting and error handling.
✔️ Added a new endpoint to retrieve the total value locked (TVL) for a given Ethereum address across specified networks.
✔️ Added support for role-based access control by introducing a RoleLogProcessor to handle role-related events. Implemented account management with new account models and queries, and updated database schema and permissions to accommodate role and account data.
✔️ Various improvements and updates implemented in the staging release.
✔️ Refactored the Hapi module to include a new withAccruedRewards boolean filter for calculating expected staking rewards.
✔️ Refactored the filtering mechanism for expected rewards to use a new structure with time and tag properties.
Frontend Development
ASSETS WEB APP
✔️ Implemented number formatting across the frontend, added a function to fetch audit names, and introduced an empty state component for the MyWallet table.
✔️ Resolved issues in price and supply fields to handle zero values effectively.
✔️ Various improvements and bug fixes were implemented across multiple components.
✔️ Continued efforts to resolve NaN/Undefined bugs.
✔️ Removed unused environment variables and secrets, and refactored API requests to use a centralized Axios instance with JWT token handling.
✔️ Replaced the use of a hardcoded admin secret with a JWT token for API requests and preselected default asset categories based on template names. Disabled certain UI elements when the asset status is not 'draft'.
✔️ Implemented SIWE and authentication through actions.
✔️ Implemented a retry mechanism for fetching files in the InvoiceBox and FileInfoIcon components.
✔️ Enhanced the user interface to improve the experience for new users.
✔️ Fixed link styles and prevented the entry of optional invalid values.
✔️ Prepared a webpage for asset audit processes including approval and rejection.
✔️ Merged development changes into the staging environment.
✔️ Fixed an issue with deleting an asset associated with a template that has no fields.
✔️ Addressed various bugs and corner cases on the frontend.
✔️ Fixed bugs related to tokenization.
✔️ Removed pointer cursors from non-actionable UI elements and updated button text for better clarity.
✔️ Addressed various UI and logic bugs across multiple components.
✔️ Added support for ERC3643 token operations including creation and burning, updated asset type handling, and enhanced static data encoding.
✔️ Fixed issues with form validation and file validation processes.
✔️ Added text translations for the 404 error page and updated contact tooltips in the English language JSON file.
✔️ Added loaders to improve the user experience.
✔️ Resolved bugs in templates and forms.
✔️ Implemented initial steps for file handling.
✔️ Ongoing work to replace UUID with ID in the tokenization page.
✔️ Improved the AddInputDialog to prevent duplicate field names.
✔️ Resolved various bugs and warnings across the application.
✔️ Ongoing work to re-check and replace missing icons with @untitled-ui/icons-react & Style.
✔️ Made several frontend improvements and fixed warnings.
✔️ Added a CI/CD workflow for the assets production environment.
✔️ Corrected the display of transferred assets.
✔️ Updated the asset details page for better clarity and functionality.
✔️ Fixed the validation process for tokenization icons.
ENGAGE WEB APP
✔️ Updated the staking module to enhance mobile responsiveness and improve user interaction for claiming rewards. Refactored code for better maintainability.
✔️ Refactored the staking components to enhance functionality, improve code structure, and update UI elements, including new icons and hooks for managing completed pools and staking operations.
✔️ Added a new ClaimRewardsModal component, integrated Gnosis Safe SDK, and updated the dashboard to dynamically load and display staking and rewards data.
✔️ Added unstake and claim methods to handle completed staking pools, including UI updates and new hooks for managing these actions.
UI KIT
✔️ Adjusted styles on the vertical version of the bar chart.
Documentation
✔️ Added a detailed description of the Assets New Project Onboarding process, including sections on tokenizing assets, templates, asset verification, and a comparison between ERC-20 and ERC-3643 token standards.