Skip to content

Commit

Permalink
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
chore(README): update
Browse files Browse the repository at this point in the history
gitmp01 committed Aug 15, 2024

Verified

This commit was signed with the committer’s verified signature.
renovate-bot Mend Renovate
1 parent 8671839 commit 9953a68
Showing 1 changed file with 18 additions and 1 deletion.
19 changes: 18 additions & 1 deletion solidity/README.md
Original file line number Diff line number Diff line change
@@ -49,13 +49,30 @@ First version of the PToken contract, which is not xERC20 based.

First version of the PToken contract, which is not xERC20 based and does not include the Gas Station Network logic.

### PTokenV1Storage

Inherited by the `PTokenV2` contract in order to reflect the previous storage layout.

### PTokenV1NoGSNStorage

Inherited by the `PTokenV2NoGSN` contract in order to reflect the previous storage layout.

### PTokenV2

Newer version of the PToken contract which implements the xERC20 interface (the slightly changed version described above).
All the parents contracts inherited by the pToken V1 version have been removed, in order to have a version free from any
problems caused by the ERC777 standard. The newer version (V2) presents the same inheritance structure of the XERC20 standard
with the exception of the `PTokenV1Storage` contract defined as a first entry in the list of parents which resembles the
previous version storage layout.

Also, in order to not have duplicate storage locations for the same variable name (i.e. `_balance` of the v1 version plus
`_balance` of the parent `ERC20Upgradeable` contract), it was necessary to just implement the interfaces of the parent
contracts, hence why all the parents are all interfaces implemented in the V2 contract itself. All the implementation
has been mirrored from the official Openzeppelin v4.9.6 upgradeable contracts library.

### PTokenV2NoGSN

Same as PTokenV2 but without the GSN logic.
Same as PTokenV2 but inheriting the `PTokenV1NoGSNStorage` contract storage layout.

### Data flow diagram

0 comments on commit 9953a68

Please sign in to comment.