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.
Hello! Firstly, thank you for bringing this to life and tackling real-world solutions with tokenization.
While contemplating the current functionality, I've thought about the social behavior around a physical backed token. Currently, any individual within proximity of the physical token would be able to sign a transfer to their wallet. Now, I think this is a really cool mechanism.
For example, this mimics the fun of public signing of a physical artifact with a marker, that can then be showcased at another event - introducing the feeling of proving that "I was here".
I think one drawback this has is if the intended use is secure provenance through supply chain. And perhaps, the owner of a token does not want to unknowingly allow other people to claim provenance, thus having to introduce physical security over the item.
I believe this can be solved by introducing a locking/unlocking mechanism for transfers, in which the intended receiver of the item can choose whether they would like to enable signed transfers of the item.
I've written three contracts
PBTLocket.sol
,PBTLocketMock.sol
, andPBTSimpleTest.sol
(transferTokenWithChip as virtual) as an example working draft of this proposed functionality. Would love the team's input on the proposal and hope the functionality may be added as an option for the community!