-
Notifications
You must be signed in to change notification settings - Fork 805
Add ERC: ESG Tokenization Protocol #1312
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
Closed
agronetlabs
wants to merge
66
commits into
ethereum:master
from
agronetlabs:restore-eip-8040-restore
Closed
Changes from 56 commits
Commits
Show all changes
66 commits
Select commit
Hold shift + click to select a range
82c225a
Add AgroCrypto Quantum Governance ESG Tokenization Protocol (ERC draft)
agronetlabs 0b424a6
Initial plan
Copilot 0bcef55
Apply EIP-8040 editor feedback: rename file, update YAML, fix escaped…
Copilot 4bd75f2
Merge pull request #2 from agronetlabs/copilot/update-eip-8040-file-name
agronetlabs e93a919
Merge pull request #1 from agronetlabs/agrocrypto-quantum-erc
agronetlabs d03e5a5
Remove all backslash escape characters from markdown formatting
agronetlabs c6dc9a7
Add ERC-8040 ESG Tokenization Protocol documentation
agronetlabs 4584926
fix(ERC-8040): rename file to match preamble header
agronetlabs 222b249
chore(ERC-8040): fix preamble format for validator compliance
agronetlabs eb79629
Initial plan
Copilot bf87b62
Merge pull request #3 from agronetlabs/copilot/standardize-ercs-eip-8040
agronetlabs 5e32171
fix(ERC-8040): switch to erc:, set discussions-to=25846, drop license
agronetlabs 906540d
Initial plan
Copilot 409b3a4
Merge pull request #4 from agronetlabs/copilot/fix-erc-file-name-and-…
agronetlabs 03df4d7
docs: add ERC-8040 canonical links (release, discussion, spec)
agronetlabs bd1c4ce
Initial plan
Copilot 5430ed2
Merge pull request #5 from agronetlabs/copilot/fix-erc-8040-proposal-…
agronetlabs 8cfa952
Initial plan
Copilot e5a9467
Replace ERC-8040 content with corrected version
Copilot 01f32cb
Fix ERC reference links to use relative paths
Copilot 7429fd1
Update ERCS/erc-8040.md
agronetlabs 47d9180
Update ERCS/erc-8040.md
agronetlabs d9db31a
Merge pull request #6 from agronetlabs/copilot/fix-erc-8040-file-vali…
agronetlabs 2043ff4
Initial plan
Copilot 93453ce
Merge pull request #7 from agronetlabs/copilot/remove-copyright-erc-8…
agronetlabs b8b953b
Finalize ERC-8040: filename rename and markdown-link lint fixes
agronetlabs d25edfc
Update ERCS/erc-8040.md
agronetlabs 32974f2
Update README.md
agronetlabs 96843f3
ERC-8040: links corrigidos (relativos), copyright, padrão EIP-1
agronetlabs 907ea69
Update ERCS/erc-8040.md
agronetlabs a97fecf
Update ERCS/erc-8040.md
agronetlabs bb92bfd
Merge branch 'master' into fix/erc-8040-filename-and-links
agronetlabs 457fe56
Merge pull request #8 from agronetlabs/fix/erc-8040-filename-and-links
agronetlabs f48076e
fix: clean up YAML header, remove duplicates, finalize description
agronetlabs 9e90164
ERC-8040: ESG Tokenization Protocol — clean commit (author reaffirmed)
agronetlabs 639938b
Merge pull request #9 from agronetlabs/fix/erc-8040-only
agronetlabs 87808cb
feat: reintroduce ERC-8040 ESG Tokenization Protocol (clean, validated)
agronetlabs 2c596b9
chore: re-sign ERC-8040 with verified PGP signature
agronetlabs 624655c
merge: integrate final ERC-8040 ESG Tokenization Protocol (validated …
agronetlabs 0219207
Initial plan
Copilot 56ff176
Merge pull request #10 from agronetlabs/copilot/remove-public-key-file
agronetlabs 236dd01
Revise metadata JSON and contract interface examples
agronetlabs a269e69
Update ERC-7730: Expand scope to machine consumption, enhance securit…
arein 990d35a
Update ERC-7828: Move to Last Call
0xMonoAx 6aace19
Update ERC-7730: interpolatedIntent and EIP-5792
arein fdf3d8c
Update ERC-7730: Improve specification for embedded calldata, add exa…
paoun-ledger 63b886c
Update ERC-7730: add arikg as author
arein 6de0eed
Update ERC-7828: Move to Review
SamWilsn 368f604
Fix ERC-7828 formatting, for the most part (#1274)
SamWilsn e23c193
Update ERC-7730: introduce that i18n is out of scope
arein ca665ac
Add ERC: Diamond Storage (#1250)
mudgen 7e2a02e
Update ERC-8042: Improved reference implementation of EIP-8042
mudgen 6b13112
chore: retrigger auto review bot
agronetlabs 81ed8d6
Restore ERC-8040 root commit (82c225a) after master rebase
agronetlabs ca82e6b
Update and rename assets/erc-3009/EIP712.sol to ERCs/erc-8040.md
agronetlabs 56704e5
Merge branch 'master' into restore-eip-8040-restore
agronetlabs a2b460b
Revise AgroCrypto Quantum Governance EIP for ESG Protocol
agronetlabs ce0be83
Rename eip-agrocrypto-quantum.md to eip-8040.md
agronetlabs c249ae5
Delete ERCS/erc-7730.md
agronetlabs 23e4c21
Finalize restore of ERC-8040
agronetlabs 5024804
Update ERC-8040 with metadata and interface details
agronetlabs a5f58d9
Add ERC-8040: ESG Tokenization Protocol
agronetlabs f0729f8
Delete ERCs/erc-8040.md
agronetlabs dcdb779
Delete ERCS/erc-8040.md.asc
agronetlabs 48d42f9
Delete ERCS/erc-8040.md
agronetlabs c7bf8db
Revise ERC-8040 metadata and contract interface
agronetlabs File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,350 @@ | ||
| --- | ||
|
|
||
| eip: TBD | ||
|
|
||
| title: AgroCrypto Quantum Governance — ESG Tokenization Protocol | ||
|
|
||
| description: Standard for AI-native, compliance-grade, quantum-auditable asset tokenization with lifecycle integrity, provenance, and post-quantum security. | ||
|
|
||
| author: Leandro Lemos (@agronetlabs) <[email protected]> | ||
|
|
||
| discussions-to: https://ethereum-magicians.org/t/erc-esg-tokenization-protocol-agrocrypto/ADD-SLUG | ||
|
|
||
| status: Draft | ||
|
|
||
| type: Standards Track | ||
|
|
||
| category: Core | ||
|
|
||
| created: 2025-09-06 | ||
|
|
||
| requires: 20, 721, 1155 | ||
|
|
||
| license: CC0-1.0 | ||
|
|
||
| --- | ||
|
|
||
|
|
||
|
|
||
| \# Abstract | ||
agronetlabs marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
|
|
||
|
|
||
|
|
||
| This EIP defines a compliance-grade, AI-native protocol for ESG-compliant asset tokenization, governed by ATF-AI and protected by post-quantum cryptography. | ||
agronetlabs marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
|
|
||
| It codifies lifecycle, metadata, and auditability for compliance-grade deployment, aligns with UN SDGs, and enforces machine-verifiable governance for public, audit-ready markets. | ||
|
|
||
|
|
||
|
|
||
| \# Specification | ||
|
|
||
|
|
||
|
|
||
| \## Metadata Structure | ||
|
|
||
|
|
||
|
|
||
| Tokens MUST expose a metadata JSON with the following minimum fields: | ||
|
|
||
|
|
||
|
|
||
| ```json | ||
|
|
||
| { | ||
|
|
||
| "standard": "ERC-ESG/1.0", | ||
|
|
||
| "category": "carbon", | ||
|
|
||
| "geo": "BR-RS", | ||
|
|
||
| "carbon\_value": 12.5, | ||
|
|
||
| "cycle": "2025-Q3", | ||
|
|
||
| "digest": "sha3-512:...", | ||
|
|
||
| "physical\_id": "seal:XYZ123", | ||
agronetlabs marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
|
|
||
| "attestation": { | ||
|
|
||
| "atf\_digest": "sha3-512:...", | ||
|
|
||
| "signer": "did:atf:ai:..." | ||
|
|
||
| }, | ||
|
|
||
| "status": "issued|audited|retired", | ||
|
|
||
| "evidence": "cid:Qm..." | ||
|
|
||
| } | ||
|
|
||
| ``` | ||
|
|
||
|
|
||
|
|
||
| \### Interface | ||
|
|
||
|
|
||
|
|
||
| Contracts SHOULD implement (Solidity): | ||
|
|
||
|
|
||
|
|
||
| ```solidity | ||
|
|
||
| function mintESGToken(Metadata memory metadata) external; | ||
|
|
||
| function auditESGToken(uint256 tokenId) external; | ||
|
|
||
| function retireESGToken(uint256 tokenId) external; | ||
|
|
||
| function esgURI(uint256 tokenId) external view returns (string memory); | ||
|
|
||
| ``` | ||
|
|
||
|
|
||
|
|
||
| \### Events | ||
|
|
||
|
|
||
|
|
||
| ```solidity | ||
|
|
||
| event Attested(uint256 indexed tokenId, bytes32 atfDigest, string esgURI); | ||
|
|
||
| event Retired(uint256 indexed tokenId, uint256 amount, string reason); | ||
|
|
||
| ``` | ||
|
|
||
|
|
||
|
|
||
| \### JSON-RPC Example | ||
|
|
||
|
|
||
|
|
||
| ```json | ||
|
|
||
| eth\_call \[ | ||
|
|
||
| "0xContractAddress", | ||
|
|
||
| "mintESGToken", | ||
|
|
||
| { | ||
|
|
||
| "metadata": { | ||
|
|
||
| "category": "carbon", | ||
|
|
||
| "geo": "BR-RS", | ||
|
|
||
| "digest": "sha3-512:..." | ||
|
|
||
| } | ||
|
|
||
| } | ||
|
|
||
| ] | ||
|
|
||
| ``` | ||
|
|
||
|
|
||
|
|
||
| \### Mapping \& Compatibility | ||
|
|
||
|
|
||
|
|
||
| \- \*\*ERC-20:\*\* Each unit = a standardized fraction (e.g., 1e18 = 1 tCO2e). | ||
|
|
||
| \- \*\*ERC-721:\*\* Single credit, unique esgURI. | ||
|
|
||
| \- \*\*ERC-1155:\*\* Homogeneous batch with common URI and amount. | ||
|
|
||
|
|
||
|
|
||
| \# Rationale | ||
|
|
||
|
|
||
|
|
||
| This protocol is designed for compliance-grade and non-speculative deployment. | ||
|
|
||
| It enforces deterministic flows, immutable metadata, machine-verifiable audit trails, and compliance-grade governance. | ||
|
|
||
| `atfDigest` and `buildDigest` unite off-chain audit with on-chain proof. | ||
|
|
||
| The protocol is extensible and avoids hard-forks by using optional interfaces and events. | ||
|
|
||
|
|
||
|
|
||
| Within this framework, \*\*AI-Compliance\*\* is defined as: | ||
|
|
||
| \*\*AI-Compliance = AI-Governed DAO\*\* | ||
|
|
||
|
|
||
|
|
||
| This establishes ATF-AI as a compliance mechanism where governance is executed through an AI-Governed DAO, rather than discretionary human oversight. | ||
|
|
||
| It codifies compliance into a machine-verifiable, audit-ready process that remains deterministic across jurisdictions. | ||
|
|
||
|
|
||
|
|
||
| \# Backwards Compatibility | ||
|
|
||
|
|
||
|
|
||
| Does not break ERC-20/721/1155. | ||
|
|
||
| Legacy tokens may reference metadata externally but lack full ATF-AI compliance. | ||
|
|
||
| Migration tools can wrap legacy tokens with compliant metadata, enabling gradual adoption. | ||
|
|
||
|
|
||
|
|
||
| \# Test Cases | ||
|
|
||
|
|
||
|
|
||
| \- Mint token with valid metadata. | ||
|
|
||
| \- Audit token with ATF-AI digest. | ||
|
|
||
| \- Retire token and log final audit state. | ||
|
|
||
| \- Validate physical seal against metadata digest. | ||
|
|
||
|
|
||
|
|
||
| \# Security Considerations | ||
|
|
||
|
|
||
|
|
||
| \- Metadata MUST be immutable and cryptographically sealed. | ||
|
|
||
| \- ATF-AI provides zero-trust validation; all attestations timestamped. | ||
|
|
||
| \- Digest (SHA3-512) ensures audit integrity. | ||
|
|
||
| \- Quantum-ready primitives recommended for all bridges. | ||
|
|
||
| \- Retirement is irreversible; physical seals MUST validate against digest. | ||
|
|
||
| \- All inputs and off-chain docs must be hashed and publicly referenced. | ||
|
|
||
|
|
||
|
|
||
| \# Reference Implementation | ||
|
|
||
|
|
||
|
|
||
| \- Crate: agrocrypto-core v2.0.0 | ||
|
|
||
| \- GitHub: agrocrypto-core | ||
|
|
||
| \- ESG Manifest: ESG-Manifest | ||
|
|
||
| \- AgroCryptoGit Profile: AgroCryptoGit | ||
|
|
||
| \- Manifesto: Human+AI (published with hash) | ||
|
|
||
|
|
||
|
|
||
| \*\*Hashes:\*\* | ||
|
|
||
|
|
||
|
|
||
| \- 201672f1605f30a361254cacbb073d8de7b806ba392ef82ca4723e17f4d39dd6 | ||
|
|
||
| \- f81783bcda0f70958b05732651fb7ca30a0cef4c3acf0bf45ca4dfa3e7a23645 | ||
|
|
||
|
|
||
|
|
||
| \*\*Timestamp:\*\* 2025-09-06T08:21:00 PDT | ||
|
|
||
|
|
||
|
|
||
| \# Copyright | ||
|
|
||
|
|
||
|
|
||
| Copyright and related rights waived via CC0-1.0. | ||
|
|
||
| © 2023–2025 AgroCrypto Labs LLC — compliance-grade framework. | ||
|
|
||
|
|
||
|
|
||
| \# Changelog | ||
|
|
||
|
|
||
|
|
||
| All changes to this protocol are treated as compliance-grade events. | ||
|
|
||
| Each entry below is timestamped and hashed for public auditability. | ||
|
|
||
|
|
||
|
|
||
| \## \[1.0.0] — 2025-09-06 | ||
|
|
||
|
|
||
|
|
||
| \*\*Added\*\* | ||
|
|
||
|
|
||
|
|
||
| \- Initial publication of the AgroCrypto Quantum Governance EIP. | ||
|
|
||
| \- Lifecycle methods: mintESGToken, auditESGToken, retireESGToken. | ||
|
|
||
| \- Metadata structure with SHA3-512 digest and optional physical seal. | ||
|
|
||
| \- JSON-RPC example for AI-native minting. | ||
|
|
||
| \- Reference implementation: agrocrypto-core v2.0.0. | ||
|
|
||
| \- Security considerations: PQC readiness, zero-trust validation, seal verification. | ||
|
|
||
| \- Citation and license: CC0 + compliance-grade copyright. | ||
|
|
||
|
|
||
|
|
||
| \*\*Hashes:\*\* | ||
|
|
||
| 201672f1605f30a361254cacbb073d8de7b806ba392ef82ca4723e17f4d39dd6 | ||
|
|
||
| f81783bcda0f70958b05732651fb7ca30a0cef4c3acf0bf45ca4dfa3e7a23645 | ||
|
|
||
|
|
||
|
|
||
| \## \[1.0.1] — TBA | ||
|
|
||
|
|
||
|
|
||
| \*\*Planned\*\* | ||
|
|
||
|
|
||
|
|
||
| \- Integration with AgroPay for ESG token lifecycle tracking. | ||
|
|
||
| \- Visual seal registry with cryptographic linkage to metadata. | ||
|
|
||
| \- Expanded test cases for audit and retirement flows. | ||
|
|
||
| \- Optional bridge module for multi-chain deployment. | ||
|
|
||
|
|
||
|
|
||
| \# Compliance Notes | ||
|
|
||
|
|
||
|
|
||
| \- All corrections are treated as compliance-grade events. | ||
|
|
||
| \- Hashes are published publicly and timestamped. | ||
|
|
||
| \- No retroactive edits permitted without changelog entry. | ||
|
|
||
|
|
||
|
|
||
| © 2023–2025 AgroCrypto Labs LLC — compliance-grade framework. | ||
|
|
||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.