forked from ethereum/EIPs
-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Apply changes based on ECH call ethereum#5
Applied the changes based on feedback received on the EIP Editing Office Hour Meeting ethereum#5. This commit includes changes to the proposal as well as adds an exaple implementation to assets/ directory.
- Loading branch information
1 parent
674cf11
commit e2bee24
Showing
12 changed files
with
2,317 additions
and
243 deletions.
There are no files selected for viewing
Large diffs are not rendered by default.
Oops, something went wrong.
This file contains 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,94 @@ | ||
// SPDX-License-Identifier: Apache-2.0 | ||
|
||
pragma solidity ^0.8.0; | ||
|
||
interface IMultiResource { | ||
event ResourceSet(uint64 resourceId); | ||
|
||
event ResourceAddedToToken( | ||
uint256 indexed tokenId, | ||
uint64 indexed resourceId, | ||
uint64 indexed overwritesId | ||
); | ||
|
||
event ResourceAccepted( | ||
uint256 indexed tokenId, | ||
uint64 indexed resourceId, | ||
uint64 indexed overwritesId | ||
); | ||
|
||
event ResourceRejected(uint256 indexed tokenId, uint64 indexed resourceId); | ||
|
||
event ResourcePrioritySet(uint256 indexed tokenId); | ||
|
||
event ApprovalForResources( | ||
address indexed owner, | ||
address indexed approved, | ||
uint256 indexed tokenId | ||
); | ||
|
||
event ApprovalForAllForResources( | ||
address indexed owner, | ||
address indexed operator, | ||
bool approved | ||
); | ||
|
||
function acceptResource( | ||
uint256 tokenId, | ||
uint256 index, | ||
uint64 resourceId | ||
) external; | ||
|
||
function rejectResource( | ||
uint256 tokenId, | ||
uint256 index, | ||
uint64 resourceId | ||
) external; | ||
|
||
function rejectAllResources(uint256 tokenId, uint256 maxRejections) | ||
external; | ||
|
||
function setPriority(uint256 tokenId, uint16[] calldata priorities) | ||
external; | ||
|
||
function getActiveResources(uint256 tokenId) | ||
external | ||
view | ||
returns (uint64[] memory); | ||
|
||
function getPendingResources(uint256 tokenId) | ||
external | ||
view | ||
returns (uint64[] memory); | ||
|
||
function getActiveResourcePriorities(uint256 tokenId) | ||
external | ||
view | ||
returns (uint16[] memory); | ||
|
||
function getResourceOverwrites(uint256 tokenId, uint64 newResourceId) | ||
external | ||
view | ||
returns (uint64); | ||
|
||
function getResourceMetadata(uint256 tokenId, uint64 resourceId) | ||
external | ||
view | ||
returns (string memory); | ||
|
||
// Approvals | ||
function approveForResources(address to, uint256 tokenId) external; | ||
|
||
function getApprovedForResources(uint256 tokenId) | ||
external | ||
view | ||
returns (address); | ||
|
||
function setApprovalForAllForResources(address operator, bool approved) | ||
external; | ||
|
||
function isApprovedForAllForResources(address owner, address operator) | ||
external | ||
view | ||
returns (bool); | ||
} |
Oops, something went wrong.