Skip to content

Commit 044e9e2

Browse files
committed
IOU data schema added
1 parent c471b26 commit 044e9e2

File tree

7 files changed

+59
-15
lines changed

7 files changed

+59
-15
lines changed

change-credits/cc-minting.md

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,8 @@
11
---
22
label: Minting Change Credits
3-
layout: page
43
order: -2
54
---
65

7-
## Minting
8-
96
Because Change Credits are only minted following confirmation of realized, tangible, and verifiable impact, there the process by which these assets are created follows a number of steps and involves multiple types of actors.
107

118
### Participants
@@ -28,10 +25,11 @@ Verifier
2825
sequenceDiagram
2926
actor Verifier
3027
actor Good Generator
28+
actor Change Code
29+
Good Generator-->Change Code: propose impact goal for review
3130
create participant hypercert (ERC1155)
3231
Good Generator->>hypercert (ERC1155): mint impact goal
3332
actor Change Code
34-
Change Code--xhypercert (ERC1155): review impact goal
3533
create participant Token Bound Account (ERC6551)
3634
Change Code->>Token Bound Account (ERC6551): deploy treasury account
3735
actor partner
@@ -53,4 +51,11 @@ sequenceDiagram
5351
end
5452
```
5553

56-
The above sequence diagram overviews the process of
54+
The above sequence diagram overviews how Change Credits are created. While the system supports alternative flows to facilitate various forms of financing, we can consider this base form to have x steps.
55+
56+
1. The Good Generator submits an impact goal and plan for review by Change Code, as part of their onboarding process. Once approved to mint via the Changescape, the Good Generator mints their hypercert, signalling the beginning for their project.
57+
2. After the projects' hypercert has been deployed, Change Code deploys an associated Token Bound Account (TBA) to act as a treasury for the project to receive funds into and mint tokens from.
58+
3. Partners begin contributing funds into the project's TBA in exchange for IOUs redeemable for Change Credits once the latter begin to be minted. These funds are then remitted to an account from which the Good Generator can spend to cover the costs of their work. This process can be done in an open-ended asynchronous manner, with funds being contributed to the project through the project's lifespan.
59+
4. As the Good Generator carries out their work to produce impact, they periodically submit evidence for review. This evidence is stored as records tied to their original hypercert and can be accessed by specified Verifiers.
60+
5. Once evidence is confirmed by Verifiers, Change Code intakes the data provided to assign a quantity of Change Credits to be created and mints them via the project's TBA.
61+
6. With Change Credits minted and available via the TBA, the project's Partners can redeem their IOUs and receive their proportional share of Change Credits.

change-credits/foundations.md

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,8 @@
11
---
22
label: Foundations
3-
layout: page
43
order: -1
54
---
65

7-
# Foundations
8-
96
Change Credits are a novel *financial* primitive supporting resource allocation, verification, and tracking of positive externalities (social and environmental impact).
107

118
They are the basis and grounding of Change Code's economic engine, providing a real-world tangible link to underpin a new form of beneficial currency.
@@ -35,7 +32,7 @@ ERC721 is the most widely adopted token standard for NFTs. The standard is well
3532
+++ ERC1155
3633
Hypercerts adhere to the ERC1155 standard for semi-fungible tokens. This mixed standard, existing in the divide between fungible and non-fungible tokens, offers ideal flexibility for the unique requirements of the hypercerts standard.
3734
+++ ERC20
38-
ERC20 tokens are fully fungible and well suited for liquidity and open exchange. IOUs issued in anticipation of Change Credits themselves are minted as ERC20 tokens to support the emergence of free exchange by holders who may wish to access liquidity.
35+
ERC20 tokens are fully fungible and well suited for liquidity and open exchange. IOUs issued in anticipation of Change Credits are minted as ERC20 tokens to support the emergence of free exchange by holders who may wish to access liquidity.
3936
+++ ERC6551
4037
Referred to as "token bound accounts" (TBAs), ERC6551 tokens function as a form of smart contract wallet where an account is simultaneously able hold or mint tokens itself and be considered a token (an NFT more specifically) in its own right. Change Code leverages TBAs to serve as *treasury accounts* for the receipt of funds into projects and the minting of Change Credits.
4138
+++

contributing/community-conduct.md

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,8 @@
11
---
22
label: Community Code of Conduct
3-
layout: page
43
order: -1
54
---
65

7-
# Community Code of Conduct
8-
96
## Our Pledge
107

118
We as members, contributors, and leaders pledge to make participation in our community a harassment-free experience for everyone, regardless of age, body size, visible or invisible disability, ethnicity, sex characteristics, gender identity and expression, level of experience, education, socio-economic status, nationality, personal appearance, race, caste, color, religion, or sexual identity and orientation.

contributing/contribution-guide.md

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,8 @@
11
---
22
label: Contribution Guide
3-
layout: page
43
order: -2
54
---
65

7-
# Contribution Guide
8-
96
## Community Conduct
107

118
We are all people, all community members first, and developers second. All developers and other contributors agree to uphold Change Code's rules of [Community Conduct](./community-conduct.md).

data-schemas/hypercerts.md

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
---
2+
label: Hypercerts
3+
order: -1
4+
---
5+
6+
IOUs are implemented as ERC20 (fungible) tokens, to maximize both compatibility with existing tools and to streamline the transferability of IOUs before they are redeemed for Change Credits.
7+
8+
To define a batch of IOUs inside the Changescape the following specifications are made:
9+
10+
Name | `CC IOU | {Good Generator} {Index}`
11+
: The token name assigned to each batch of IOUs always begins with "CC IOU", this is then followed by the name of the Good Generator and an index. The purpose of the index is to differentiate between different projects from one Good Generator.
12+
13+
Symbol | `CC-IOU-{ProjectID}`
14+
: The abbreviated token symbol begins "CC-IOU" and is followed by a project ID, where the project ID is composed of the unique ID assigned to the project's Good Generator followed by the project's index value.
15+
16+
Total Supply
17+
: The supply of a project's IOUs will vary over its lifecycle. Initially, Change Code will mint a target number of tokens as specified in the project's minted hypercert. As IOUs are redeemed for Change Credits, the IOUs returned to the TBA are subsequently burned.
18+
19+
Supply Cap
20+
: IOUs are implemented including the `ERC20Capped` extension. As such, the Good Generator can specify that the supply of all IOUs is capped at the initial supply set in their target.
21+
22+
For more information regarding the ERC20 token standard, we refer you to documentation maintained by OpenZeppelin [here](https://docs.openzeppelin.com/contracts/5.x/api/token/erc20).

data-schemas/index.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
icon: code-of-conduct
2+
expanded: true
3+
order: -5
4+
label: Token Implementations and Data Schemas

data-schemas/ious.md

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
---
2+
label: IOUs
3+
order: -2
4+
---
5+
6+
IOUs are implemented as ERC20 (fungible) tokens, to maximize both compatibility with existing tools and to streamline the transferability of IOUs before they are redeemed for Change Credits.
7+
8+
To define a batch of IOUs inside the Changescape the following specifications are made:
9+
10+
Name | `CC IOU | {Good Generator} {Index}`
11+
: The token name assigned to each batch of IOUs always begins with "CC IOU", this is then followed by the name of the Good Generator and an index. The purpose of the index is to differentiate between different projects from one Good Generator.
12+
13+
Symbol | `CC-IOU-{ProjectID}`
14+
: The abbreviated token symbol begins "CC-IOU" and is followed by a project ID, where the project ID is composed of the unique ID assigned to the project's Good Generator followed by the project's index value.
15+
16+
Total Supply
17+
: The supply of a project's IOUs will vary over its lifecycle. Initially, Change Code will mint a target number of tokens as specified in the project's minted hypercert. As IOUs are redeemed for Change Credits, the IOUs returned to the TBA are subsequently burned.
18+
19+
Supply Cap
20+
: IOUs are implemented including the `ERC20Capped` extension. As such, the Good Generator can specify that the supply of all IOUs is capped at the initial supply set in their target.
21+
22+
For more information regarding the ERC20 token standard, we refer you to documentation maintained by OpenZeppelin [here](https://docs.openzeppelin.com/contracts/5.x/api/token/erc20).

0 commit comments

Comments
 (0)