Skip to content

Commit 01fd57d

Browse files
Add payment details, repo link, and acceptance criteria + verification to application doc
1 parent e0873da commit 01fd57d

File tree

1 file changed

+27
-25
lines changed

1 file changed

+27
-25
lines changed

applications/ElizaPluginPolkadot_Revive.md

Lines changed: 27 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
- **Team Name:** TEM Solutions
44
- **Payment Details:**
55
- **DOT**: 14dkGZ9YbMoy5ipU2cXT3oxTrGhJPcDekbaVB2yMjTRifkhW
6-
- **Payment**: 14dkGZ9YbMoy5ipU2cXT3oxTrGhJPcDekbaVB2yMjTRifkhW (USDC)
6+
- **Payment (USDC)**: 14dkGZ9YbMoy5ipU2cXT3oxTrGhJPcDekbaVB2yMjTRifkhW — Polkadot AssetHub address
77
- **[Level](https://grants.web3.foundation/docs/Introduction/levels):** 2
88

99
## Project Overview :page_facing_up:
@@ -27,7 +27,7 @@ Our team successfully delivered the foundational Polkadot ElizaOS Plugin, demons
2727
- Unified contract interaction endpoints supporting both eth_call and bare_call
2828
- Revive-native asset management with ERC20 compatibility
2929
- Contract event querying and filtering via eth_getLogs
30-
- Subscan API integration for Revive contract analytics and verification status
30+
- Subscan API integration for Revive contract details
3131

3232
- **Technology Stack:**
3333
- **Core Integration:** TypeScript with polkadot-js API and Ethereum RPC client libraries
@@ -79,6 +79,7 @@ Our team successfully delivered the foundational Polkadot ElizaOS Plugin, demons
7979

8080
- **Contact Name:** Tyler Ellis McWilliams
8181
- **Contact Email:** [email protected]
82+
- **Website:** n/a
8283

8384
### Legal Structure
8485

@@ -94,6 +95,7 @@ Our team successfully delivered the foundational Polkadot ElizaOS Plugin ([M1](h
9495

9596
### Team Code Repos
9697

98+
- [Polkadot ElizaOS Plugin](https://github.com/Esscrypt/plugin-polkadot) (contains both foundational plugin and upcoming Revive extension)
9799
- [Mihail Kirov](https://github.com/mikirov)
98100
- [Tyler Ellis McWilliams](https://github.com/tylermcwilliams)
99101

@@ -123,22 +125,22 @@ Initial architectural designs for address routing between H160 and AccountId32 f
123125
- **FTE:** 2 FTE, team members will contribute to deliverables based on their specialized expertise
124126
- **Costs:** 10,000 USD
125127

126-
| Number | Deliverable | Specification |
127-
| ------ | --------------------------------- | ----------------------------------------------------------------------------------------------------------------- |
128-
| **0a.** | License | Apache 2.0 |
129-
| **0b.** | Documentation | Comprehensive Revive contract deployment guide, dual-mode operation documentation, and API integration tutorials |
130-
| **0c.** | Testing and Testing Guide | Complete unit and integration tests for Revive contract deployment, interaction, and dual-mode operations with detailed testing instructions |
131-
| 1. | Account Mapping & Address Routing | Implement intelligent H160 ↔ AccountId32 conversion with automatic address type detection for Revive operations |
132-
| 2. | Revive Contract Deployment | Create unified action supporting both Ethereum RPC contract deployment and Substrate upload_code for Revive pallet |
133-
| 3. | Revive Contract Calls | Develop unified contract interaction supporting both eth_call and Substrate bare_call for Revive contracts |
134-
| 4. | Enhanced Balance Queries | Extend existing getBalance action to support both eth_getBalance and native Substrate queries for Revive assets |
135-
| 5. | Contract Events System | Implement Revive contract event querying and filtering using eth_getLogs with real-time monitoring capabilities |
128+
| Number | Deliverable | Specification |
129+
| ------ | --------------------------------- | ------------- |
130+
| **0a.** | License | Apache 2.0. <br><br>**Acceptance Criteria:** Apache-2.0 `LICENSE` at repo root. <br><br>**Verification:** Reviewer checks repository root for `LICENSE`. |
131+
| **0b.** | Documentation | Comprehensive Revive contract deployment guide, dual-mode operation documentation, and API integration tutorials. <br><br>**Acceptance Criteria:** Quickstart (deploy + 1 read call) and basic usage examples are present. <br><br>**Verification:** Reviewer follows a quickstart (deploy + one call) end-to-end using the described steps and sample configuration. |
132+
| **0c.** | Testing and Testing Guide | Unit and integration tests for Revive deployment, interaction, and dual-mode operations with a Local Testing Guide. <br><br>**Acceptance Criteria:** `TESTING.md` and `.env.example` are present; test commands work and tests pass. <br><br>**Verification:** Reviewer runs the suite per `TESTING.md`; tests pass. |
133+
| 1. | Account Mapping & Address Routing | Implement intelligent H160 ↔ AccountId32 conversion with automatic address type detection for Revive operations. <br><br>**Acceptance Criteria:** Provider exposes `detectAddressType`, `toH160`, `toAccountId32`; basic examples and unit tests included. <br><br>**Verification:** Documented example demonstrates conversion in both directions with expected outputs; unit tests are green. |
134+
| 2. | Revive Contract Deployment | Create unified action supporting both Ethereum RPC contract deployment and Substrate `upload_code` for the Revive pallet. <br><br>**Acceptance Criteria:** One action deploys via EVM and Substrate paths; example shows a successful deployment and deployed address. <br><br>**Verification:** Reviewer follows the walkthrough and reproduces the documented example; on-chain inclusion is verifiable. |
135+
| 3. | Revive Contract Calls | Develop unified contract interaction supporting both `eth_call` and Substrate `bare_call` for Revive contracts. <br><br>**Acceptance Criteria:** For a sample read function, both paths return the same decoded result; example provided. <br><br>**Verification:** Reviewer follows the walkthrough and reproduces the example; output matches contract state. |
136+
| 4. | Enhanced Balance Queries | Extend existing getBalance action to support native balance queries for Revive addresses. <br><br>**Acceptance Criteria:** Supports H160 via `eth_getBalance` and AccountId32 via `system.account`; example shows both with units. <br><br>**Verification:** Reviewer reproduces the example and cross-checks values with an explorer/API. |
137+
| 5. | Contract Events System | Implement Revive contract event querying and filtering using `eth_getLogs` with real-time monitoring capabilities. <br><br>**Acceptance Criteria:** Historical filter example and a simple live monitoring example; outputs include block number, tx hash, and topics. <br><br>**Verification:** Reviewer follows the example and observes events with the stated fields. |
136138

137139
**Plugin Actions:**
138140
- **Deploy Contract:** Unified action supporting both Ethereum RPC deployment and Substrate upload_code to Revive pallet
139141
- **Call Contract Function:** Single action supporting both eth_call and bare_call for Revive contracts
140142
- **Query Contract Events:** Contract event querying and filtering using eth_getLogs
141-
- **Enhanced Balance Queries:** Extend existing getBalance action to support both eth_getBalance and native Substrate queries
143+
- **Enhanced Balance Queries:** Extend existing getBalance to support native balances via eth_getBalance and system.account
142144

143145
**Providers:**
144146
- **Revive Contract Provider:** Manages dual-mode Revive contract interactions with address routing
@@ -150,22 +152,22 @@ Initial architectural designs for address routing between H160 and AccountId32 f
150152
- **FTE:** 2 FTE, team members will contribute to deliverables based on their specialized expertise
151153
- **Costs:** 10,000 USD
152154

153-
| Number | Deliverable | Specification |
154-
| ------ | --------------------------------- | ----------------------------------------------------------------------------------------------------------------- |
155-
| **0a.** | License | Apache 2.0 |
156-
| **0b.** | Documentation | Complete API documentation, Revive integration guide, and analytics usage instructions |
157-
| **0c.** | Testing and Testing Guide | Comprehensive test coverage for analytics integration, Revive compatibility, and performance optimization with detailed testing protocols |
158-
| 6. | apiService Revive Extension | Extend existing apiService module with pallet-revive endpoint support and Ethereum RPC proxy connection management |
159-
| 7. | Revive Native Asset Integration | Enhance asset management actions to support Revive native ERC20 assets alongside traditional Substrate assets with subsidized transaction support |
160-
| 8. | Contract Analytics Integration | Implement Subscan API integration for Revive contract metrics, transaction history analysis, and verification status monitoring |
161-
| 9. | Performance & Error Handling | Deploy unified error handling system, gas/weight translation utilities, and performance optimization layer for Revive operations |
162-
| 10. | Official ElizaOS Integration | Submit comprehensive pull request to official ElizaOS plugin repository with full documentation and ensure successful merge for ecosystem-wide availability |
155+
| Number | Deliverable | Specification |
156+
| ------ | --------------------------------- | ------------- |
157+
| **0a.** | License | Apache 2.0. <br><br>**Acceptance Criteria:** Apache-2.0 `LICENSE` present and unchanged. <br><br>**Verification:** Reviewer checks repository. |
158+
| **0b.** | Documentation | Complete API documentation, Revive integration guide, and analytics usage instructions. <br><br>**Acceptance Criteria:** API reference and analytics quickstart are present with one working example. <br><br>**Verification:** Reviewer follows analytics quickstart to retrieve metrics for a sample contract. |
159+
| **0c.** | Testing and Testing Guide | Comprehensive tests for analytics integration, Revive compatibility, performance optimization, and error handling, with an updated Local Testing Guide. <br><br>**Acceptance Criteria:** `TESTING.md` is updated; tests for new modules exist and pass locally. <br><br>**Verification:** Reviewer runs test suite and integration tests per `TESTING.md`; all pass using the provided configuration. |
160+
| 6. | apiService Revive Extension | Extend existing apiService module with pallet-revive endpoint support and Ethereum RPC proxy connection management. <br><br>**Acceptance Criteria:** apiService supports mode selection (EVM/Substrate) and exposes a simple health check. <br><br>**Verification:** Documented example shows successful health check and mode switching using configuration. |
161+
| 7. | Revive Native Asset Integration | Enhance asset management actions to support Revive native ERC20 assets alongside traditional Substrate assets with subsidized transaction support. <br><br>**Acceptance Criteria:** Actions support ERC20 balance/transfer and native balances; optional subsidized flag documented. <br><br>**Verification:** Documented examples show balance retrieval and a transfer that updates balances as expected on a test network or local node. |
162+
| 8. | Contract Analytics Integration | Implement Subscan API integration for Revive contract details. <br><br>**Acceptance Criteria:** Subscan integration with basic backoff; a valid `SUBSCAN_API_KEY` is required. On-chain/cache fallback is documented. Provide a contract details feature with an example output. <br><br>**Verification:** Reviewer retrieves contract details for a sample contract using a valid `SUBSCAN_API_KEY`. |
163+
| 9. | Reliability & Error Policy | Unified error body and dry-run fee preview for transfers. <br><br>**Acceptance Criteria:** Actions return a unified error body; transfer actions support `dryRun` returning a fee estimate. <br><br>**Verification:** Reviewer observes the unified error body and a dry-run fee preview. |
164+
| 10. | Official ElizaOS Integration | Submit comprehensive pull request to official ElizaOS plugin repository with full documentation; merge is a stretch goal. <br><br>**Acceptance Criteria:** PR opened to official repo with docs; CI green. <br><br>**Verification:** Link to PR; walkthrough and docs visible in repository. |
163165

164166
**System Components:**
165167
- **apiService Revive Extension:** Extend existing apiService module with pallet-revive endpoint support and Ethereum RPC proxy connections
166168
- **Revive Asset Integration:** Enhance existing asset management actions to support Revive ERC20 assets alongside traditional Substrate assets
167-
- **Contract Analytics:** Subscan API integration for contract metrics and transaction history
168-
- **Error Handling:** Unified error handling system and gas/weight translation utilities for Revive operations
169+
- **Contract Analytics:** Subscan API integration for contract details
170+
- **Error Handling:** Unified error body and dry-run fee previews for transfers
169171

170172
## Future Plans
171173

0 commit comments

Comments
 (0)