PowerPool Monthly Update — 25 June 2024

PowerPool
PowerPool
Published in
9 min readJun 25, 2024

Hello, PowerPool Community!

We are excited to present an overview of PowerPool’s recent updates and accomplishments over the past month.

In this article, we will cover:

  1. Updated PowerPool treasury allocations
  2. PowerAgent V2: Network stats
  3. PowerAgent Code & UI changes
  4. R&D results

Let’s dive into the details!

Updated PowerPool treasury allocations

The PowerPool DAO has recently approved a new structure to the Treasury allocation.

According to Proposal 65, the previously unallocated 28.8M $CVP will be transferred to new multi-sig wallets, each dedicated to fund specific growth activities. The new Treasury allocation includes Marketing, PowerPool Points, and a set of allocations dedicated to growing protocol brand and user base on emerging L2s:

  • Ecosystem Fund aimed at ecosystem growth, DAO expenses, rewarding contributors, etc. (~9.45M $CVP remaining)
  • PowerPool Points program focused on user acquisition on various chains (5M $CVP)
  • Marketing activities for growing brand awareness (4M $CVP)
  • Arbitrum growth activities (1.5M $CVP)
  • Optimism growth activities (1.5M $CVP)
  • Polygon growth activities (1.5M $CVP)
  • Base growth activities (1.5M $CVP)
  • Linea growth activities (1.5M $CVP)
  • Blast growth activities (1.5M $CVP)
  • Gnosis growth activities (1M $CVP)
  • Future L2s funding reserved for expansion onto other L2s (8M $CVP)
  • Unallocated funds reserved for funding other activities (1.83M $CVP remaining)

PowerAgent V2: Network stats

To participate in the PowerAgent testnet, join the PowerPool Discord!

PowerAgent Code & UI Updates

Contracts

  • We developed a special contract for Power Agent VRF implementation called VRFAgentManager. Its basic functionality includes handling all Power Agent owner’s functions, automatically withdrawing protocol fees, and replenishing Job balances for VRF executions.
  • We updated the implementations for Power Agent contracts on Ethereum, Polygon, and Sepolia to support the callResolverBeforeExecute_ flag.
  • We updated some Power Agent tests to support the latest VRF updates.
  • We deployed additional instances of Power Agent contracts on Arbitrum and Gnosis Chain to facilitate simpler internal testing.
  • We reworked the VRFAgentManager contract to support separate automatic balance replenishment for VRF execution and job balance monitoring.
  • We changed the fixed reward rate for Power Agent compensations to make it more effective with rollups.
  • We deployed the PowerAgent contract and token on BASE.
  • We added backward compatibility for the Power Agent VRF coordinator to support Chainlink VRF.
  • We made some improvements and added additional tests for the VRFAgentManager.
  • We developed a separate VRFConsumer factory, improved createConsumer, and deployed and tested the new version on Arbitrum.
  • We updated the Power Agent ABI in the Power Agent node to reflect the latest changes for VRF support.
  • We improved registerAutoDepositJob and added assignKeeperToAutoDepositJob in VRFAgentManager.
  • We reworked VRFAgentConsumer to use ChainSpecificUtil and eliminated the separate factory for Arbitrum.
  • We deployed the new VRF PowerAgent on Arbitrum.
  • We conducted tests on Arbitrum and improved VRFAgentConsumer.
  • We migrated from OpenZeppelin libraries to optimize the Power Agent size.
  • We identified and fixed an issue with double sending transactions containing random numbers.
  • We improved PowerAgent to better handle off-chain resolver return checks.
  • We adjusted the multiplier for fixed rewards.
  • We made some improvements to VRFAgentManager.
  • In VRFAgentManager, we improved functionality to automatically assign a Keeper to a VRF Job if it was unassigned during the ‘Automatic deposit’ Job execution.
  • In VRFAgentConsumer, we fixed an issue with submitting random numbers on the requested block.
  • In VRFAgentConsumer, we decided to use block.number instead of a rollup-specific method to request native blocks for random number requests and submissions.
  • We deployed the VRF implementation* of PowerAgent on Arbitrum.
  • We added the NODE_API_PORT and OFFCHAIN_API_PORT environment variables to the Docker Compose file.
  • We added VRFAgentCoordinator support in VRFAgentManager and moved structs from VRF to VRFAgentCoordinatorInterface.
  • We moved the job keys setup from config setters to separate setters in VRFAgentManager.

Power Agent Node (TS)

  • We fixed the API endpoints for hashing functions and removed some excess dependencies.
  • We completely reworked the PowerAgent node configuration override using environment variables based on a string template approach, providing greater flexibility.
  • We added BASE network support to the Power Agent node.
  • We added multicall support for the BASE network.
  • We performed testing for Power Agent VRF, cleared unused code, and refactored the start script.
  • We moved the Offchain service to the root, performed tests, and made fixes.
  • We fixed the websocket provider to facilitate testing.
  • We fixed* the offchain Docker environment and cleared some code.
  • We updated* some dependencies in the tests and fixed mockBlockEmit.
  • We updated callResolversAndTriggerCallbacks to use offchainResolverPending, preventing double calls.
  • We wrapped the timeout with a debounce in _onNewBlockCallback.
  • We added failedIntervalEstimationsInARow to prevent self-unassignment after a single failed estimation.
  • We updated* the ABI in the VRFProofGenerator script and optimized its size.
  • We fixed writeVersionData.ts and added Git support to the Dockerfile.
  • We added RemoveJobFromBlacklist to the Power Agent configuration update.
  • We handled the provider.getLogs error when making requests to a node with restrictions.
  • We debugged* the VRFProofGenerator script, caught errors, and identified the causes.
  • We updated* dependencies in the Power Agent Node tests and tested offchainResolverPending.
  • We added the offchain service to the docker-compose file.
  • We fixed the offchain service environment.
  • We changed the resolver period call to custom.
  • We made an override for base fee and priority fee.
  • We fixed an issue with timers when transaction estimation failed several times in a row.
  • We fixed a problem where, in the mode where the Power Agent Node requested blocks directly, events were missed.
  • We fixed an error where an event was missing.

dApp

  • We completely reworked the details page in the Pools section.
  • We fixed the issue where the max fee per gas was less than the block base fee.
  • We fixed the issue with filters on the All Jobs page.
  • We fixed the incorrect timestamps in the event explorer.
  • We implemented a design system in the dApp.
  • We implemented a new menu appearance.
  • We added test agents for Gnosis and Arbitrum.
  • We fixed the hardcoded recommended gas price for Arbitrum.
  • We added the BASE network.
  • We removed unused code, including the Analytics page, Oracle page, User Dashboard, and Powerpool Vaults.
  • We completely reworked the xCVP page according to the new design.
  • We fixed an issue where changing the network in MetaMask caused the dApp to fall into an infinite loop of network changes.
  • We fixed an issue where changing the network in MetaMask caused the gas recommendations to come from the previous chain.
  • We fixed numerous issues that occurred when multiple Power Agents were on the same network.
  • We fixed an issue where the Job disable button wasn’t working.
  • We fixed an issue where the Resolver selector was set to 0x00000000 if a job was created in the UI.
  • We updated the network selector in the header.
  • We completely reworked the Pools and Farming pages in the deprecated products section.
  • We hide the explorer if there are no transactions on the selected network.
  • We fixed the issue that prevented withdrawing funds from the job owner.
  • We transferred all dApp requests to subQuery.
  • We updated the UI for the Applications page.
  • We changed the labels for Agent contracts on Arbitrum.
  • We implemented a mechanism to remove jobs from the blacklist upon any update, including config changes. Previously, jobs that were blacklisted remained in that state and did not start executing after becoming executable due to a config change without requiring container restart.
  • We developed a search feature on the application page of the dApp.

Cross-chain DCA trading strategy dApp

  • We started developing* the Cross-chain DCA trading strategy dApp using the core components of the current dApp.

UI/UX

  • We improved the menu structure in the current dApp.
  • We reworked the Applications page, Liquidity page, xCVP page, and all pages in the Deprecated Products section
  • We implemented a new design for wallet connection.
  • We designed the Cross-chain DCA trading strategy dApp for both desktop and mobile:

Subgraph

  • We deployed new subgraphs on GNOSIS, ARB, ETH, Polygon, Base.
  • We implemented* a check for data consistency between SubQuery and SubGraph.

subQuery

  • We added the BASE network to subQuery.
  • We added Ethereum, Sepolia, Polygon to subQuery.

Explorer

  • We added* BASE network support, implemented debugging, and fixed some errors.

*Some repositories are private. They will be opened in the future.

R&D development results from PowerPool

PowerAgent V2 testnet support

The research team continuously maintains the testnet. This includes monitoring the network, Keepers’ performance, and RPC infrastructure on various networks required for testing. We also communicate with testers, update testers’ leaderboards, and distribute weekly $CVP airdrops to top-performing Keepers [1][2][3][4].

Other testing activities and results (besides the routine testing and overall testnet maintenance mentioned above) delivered by the R&D team during the recent month:

Research and product prototyping activities

  • We developed and deployed the Job for the Gearbox protocol (which automates gauge replenishment). Here is the Job and its description
  • We did research focused on launching products on BASE (top 20 Defi protocols to launch modified Limit order/DCA/Liquidation protection templates)
  • We did research focused on launching products on Arbitrum (top 20 Defi protocols to launch modified Limit order/DCA/Liquidation protection templates)
    -> All results will be published soon as an ecosystems overview article
    -> Using the research results, we created test Jobs modified specifically for Arbitrum/BASE DEX protocols
  • We worked on integrating Samudai points protocol, added all main PowerAgent activities for points count, continuously tested it, and provided technical requirements for other integrations
  • We researched the possibility of executing transactions using triggers produced by AI Agents, selected one protocol (POND), and drafted our view on how it could be automated by PowerPool
  • We contributed to the future PowerPool’s strategy and Proposal 65
  • We co-created the new PowerPool strategic vision and created an article describing it in detail (it will be published soon)
  • We created the Dune Dashboard for BASE (now it is used for testing; it will be public in the future)
  • We created the Dune Dashboard for monitoring VRF (now it is used for testing; it will be public in the future)

Results from PowerPool grantees

  • Partitura is ready to be added to PowerPool Apps. We tested Partitura DCA integration and provided bug reports; bugs were fixed.
  • SupremeDAO has launched its first automated yield strategy on the mainnet: Genesis! It simplifies the wstETH investment process for users while delivering superior and secure returns thanks to the efficient utilization of the PowerAgent dePin Keepers network.
  • Two grantee projects are finally ready to serve customers using PowerPool automation as an infrastructure

PowerPool at EthCC Brussels
On July 7th, Vasily Sumanov, PowerPool’s Head of Research, will be in Brussels to deliver a talk and participate in a panel discussion at the Hack Seasons.

During his speech, Vasily will discuss the current Web3 market challenges, and explain how PowerPool contributes to this evolving movement by providing the infrastructure for automated solutions in the AI and DeFi space.

If you are at EthCC this week and wish to discuss a possible collaboration, send a DM on X to arrange a meeting.

Other

  1. In collaboration with Binance Academy, PowerPool launched the “What is PowerPool (CVP)’’ Learn and Earn course. Users can now learn about PowerPool’s dePIN PowerAgent network and how it can benefit them and the ecosystem as a whole while simultaneously earning rewards!
  2. We participated in ETH Belgrade, met Gearbox, Mighty (an educational app for developers), and other friends
  3. PowerPool has joined a new vibrant community platform — Orb Club. Follow us on Orb Club to stay updated on all things PowerPool!

Twitter | Discord | YouTube | Telegram | CMC Community | Debank | Medium

--

--

PowerPool
PowerPool

DePIN layer powering AI Agents and DeFi automation in multichain universe.