Skip to content
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

Add ERC: Purpose bound money #128

Merged
merged 23 commits into from
Mar 11, 2024
Merged

Add ERC: Purpose bound money #128

merged 23 commits into from
Mar 11, 2024

Conversation

wongtsejian
Copy link
Contributor

@wongtsejian wongtsejian commented Nov 28, 2023

[Migrated from https://github.com/ethereum/EIPs/pull/7292 due to repo migration from EIPs to ERCs]

The team is proposing to standardise the implementation of purpose-bound money (PBM) in an EIP. The aim is to provide a common specification for wallet players to be able to interact freely with PBM smart contracts issued by various PBM creators for various business use cases.

What are PBMs?
PBMs are a hybrid form of programmable payment and programmable money, which are bearer instruments, with self-contained programming logic and are transferrable between two parties without intermediaries.

What are the practical uses?
Purpose-bound money can be used to implement government disbursement tokens, shopping voucher tokens, prepaid tokens, rewards points token, purpose bound donation token, school allowance token etc. For additional information on PBM, please refer to:

Commercial adoption:

What are our goals?
To develop a minimal interface that can promote interoperability between various payment market players. The proposed interface builds upon ERC-1155 to ensure widespread compatibility with existing wallets.

Our team would appreciate any comments on the proposal’s design, feasibility as well as any security concerns. As the proposal is in the draft stage, the proposal will continue to evolve as we receive comments from the community.

Link to discussion at Ethereum Magician

@eip-review-bot
Copy link
Collaborator

eip-review-bot commented Nov 28, 2023

✅ All reviewers have approved.

Copy link

The commit 633c242 (as a parent of cc5fbfb) contains errors.
Please inspect the Run Summary for details.

@github-actions github-actions bot added the w-ci label Nov 28, 2023
ERCS/erc-7291.md Outdated Show resolved Hide resolved
ERCS/erc-7291.md Outdated Show resolved Hide resolved
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This PDF has the following copyright notice:

All rights reserved. No part of this publication may be reproduced, stored in a retrieval system or transmitted in any form or by any means, electronic, mechanised, photocopying, recording or otherwise, without the prior written permission of the copyright owner.

Unfortunately this is not compatible with the EIPs repository.

The easiest option is to just remove these PDFs. If that isn't workable, you have two options:

  • If you are a rights holder, or have received permission to redistribute this file, please include a license document in your assets directory.
  • You may open a pull request to EIP-1 making an exception for links to the Monetary Authority of Singapore under EIP-5757.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks Sam. We will ask MAS to provide a license file and update again at a later date.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Where'd we leave off on getting a license for these?

Copy link
Contributor Author

@wongtsejian wongtsejian Feb 28, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi @SamWilsn , sorry for the long delay. Our MAS counterparts wanted to seek legal advice on the appropriate licence to use but their legal department is swamped at the moment and has put our request on the backburner. We have removed these two documents from the assets folder so as not to delay this review anymore. We will open a separate pull request after the licence has been granted.

Would this be workable for you?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@SamWilsn may I also clarify whether the pdf documents in assets folder can have a different licence from the rest of the ERC and code? MAS is reluctant to convert their documents to CC0 license or other open source license. But they are willing to consider granting a more restrictive license that allow reproduction and hosting on ERC repository.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No worries! Adding them at a later time is totally fine with us.


I'll allow any license that allows us to redistribute without placing too many restrictions on downstream implementations. For code, that generally means MIT/Apache-2.0/etc. are fine, but GPL/MPL are not.

Since these aren't code, any license that allows us to serve the files indefinitely would be fine IMO. I would suggest CC BY-ND 4.0 if you're looking for a license.

assets/erc-7291/PBM-Technical-Whitepaper.pdf Outdated Show resolved Hide resolved
wongtsejian and others added 3 commits December 4, 2023 16:40
grammatical correction

Co-authored-by: Sam Wilson <[email protected]>
grammatical correction

Co-authored-by: Sam Wilson <[email protected]>
Copy link
Collaborator

@SamWilsn SamWilsn left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good! Mostly minor feedback, and the only blocking changes are the licenses on the reference implementation. As a publisher, we don't want to restrict who can implement our standards, and that means not allowing GPL (or other copyleft) licenses.

ERCS/erc-7291.md Outdated Show resolved Hide resolved
ERCS/erc-7291.md Outdated Show resolved Hide resolved
ERCS/erc-7291.md Outdated Show resolved Hide resolved
ERCS/erc-7291.md Outdated Show resolved Hide resolved
ERCS/erc-7291.md Show resolved Hide resolved
assets/erc-7291/contracts/IPBMRC1_TokenManager.sol Outdated Show resolved Hide resolved
assets/erc-7291/contracts/IPBMRC1_TokenReceiver.sol Outdated Show resolved Hide resolved
assets/erc-7291/contracts/IPBMRC2.sol Outdated Show resolved Hide resolved
assets/erc-7291/contracts/IPBM_AddressList.sol Outdated Show resolved Hide resolved
assets/erc-7291/contracts/PBMRC1.sol Outdated Show resolved Hide resolved
@Pandapip1
Copy link
Member

@eth-bot rerun

@wongtsejian wongtsejian changed the title Add EIP: Purpose bound money #7291 Add ERC: Purpose bound money #7291 Dec 8, 2023
Copy link

There has been no activity on this pull request for 2 weeks. It will be closed after 3 months of inactivity. If you would like to move this PR forward, please respond to any outstanding feedback or add a comment indicating that you have addressed all required feedback and are ready for a review.

@eip-review-bot eip-review-bot changed the title Add ERC: Purpose bound money #7291 Add ERC: Purpose bound money Feb 2, 2024
@github-actions github-actions bot removed the w-stale label Feb 4, 2024
Copy link

There has been no activity on this pull request for 2 weeks. It will be closed after 3 months of inactivity. If you would like to move this PR forward, please respond to any outstanding feedback or add a comment indicating that you have addressed all required feedback and are ready for a review.

@wongtsejian
Copy link
Contributor Author

wongtsejian commented Feb 22, 2024

MAS' legal department is currently reviewing our request to apply for a licence to publish a copy of the Project Orchid documents in the database.

@github-actions github-actions bot removed the w-stale label Feb 23, 2024
@wongtsejian
Copy link
Contributor Author

We have removed the two documents in order not to delay this review any further. @SamWilsn please let us know if your have any other concerns.

Copy link
Collaborator

@SamWilsn SamWilsn left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

These comments are pretty minor; feel free to address them at your leisure.


This proposal outlines a smart contract interface that builds upon the [ERC-1155](./eip-1155.md) standard to implement the purpose bound money (PBM) concept:

- PBMs is comprised of a PBM wrapper and a digital money token that it wraps. A digital money token (e.g. stablecoins, central bank digital currency, tokenised bank deposits etc) serves as as a store of value (abbreviated as "sov"). Thus, a digital money token (also referred to as "sovToken") **SHOULD** be:
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The uppercase keywords (like "SHOULD") create requirements, and should only be used in the specification section.


#### PBMRC1 - Token Receiver

Smart contracts MUST implement all of the functions in the PBMRC1_TokenReceiver interface to subscribe to PBM unwrap callbacks.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Smart contracts MUST implement all of the functions in the PBMRC1_TokenReceiver interface to subscribe to PBM unwrap callbacks.
Smart contracts MUST implement all of the functions in the `PBMRC1_TokenReceiver` interface to subscribe to PBM unwrap callbacks.

When referring to interfaces, we prefer the use of backticks (`).


The **Non Preloaded** PBM extension is OPTIONAL for compliant smart contracts. This allows contracts to bind an underlying sovToken to the PBM at a later date instead of during a minting process.

Compliant contract **MUST** implement the following interface:
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm assuming compliant here means compliant with the specific extension, and not with the whole document. Probably a good idea to disambiguate.

@eip-review-bot eip-review-bot enabled auto-merge (squash) March 11, 2024 21:50
Copy link
Collaborator

@eip-review-bot eip-review-bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

All Reviewers Have Approved; Performing Automatic Merge...

Copy link
Collaborator

@eip-review-bot eip-review-bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

All Reviewers Have Approved; Performing Automatic Merge...

Copy link
Collaborator

@eip-review-bot eip-review-bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

All Reviewers Have Approved; Performing Automatic Merge...

@SamWilsn SamWilsn disabled auto-merge March 11, 2024 22:00
@SamWilsn SamWilsn merged commit c1d7dbe into ethereum:master Mar 11, 2024
12 of 15 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants