From 0f2cc2d232684d271a20a7bac48fb0a10775ca4c Mon Sep 17 00:00:00 2001 From: lash Date: Tue, 21 Mar 2023 20:46:08 +0000 Subject: [PATCH] Update interfaces to current implenentations --- python/MANIFEST.in | 1 + solidity/AccountsIndex.sol | 19 +++++++++++++++---- solidity/Burner.sol | 14 ++++++++++++++ solidity/ERC173.sol | 4 ++-- solidity/ERC20.sol | 3 +-- solidity/ERC721.sol | 5 +++-- solidity/Expire.sol | 11 +++++++++++ solidity/Faucet.sol | 21 +++++++++++---------- solidity/Locator.sol | 13 +++++++++++++ solidity/Msg.sol | 17 +++++++++++++++++ solidity/Registry.sol | 3 +-- solidity/RegistryClient.sol | 3 ++- solidity/Writer.sol | 7 +++---- 13 files changed, 94 insertions(+), 27 deletions(-) create mode 100644 python/MANIFEST.in create mode 100644 solidity/Burner.sol create mode 100644 solidity/Expire.sol create mode 100644 solidity/Locator.sol create mode 100644 solidity/Msg.sol diff --git a/python/MANIFEST.in b/python/MANIFEST.in new file mode 100644 index 0000000..ea97a42 --- /dev/null +++ b/python/MANIFEST.in @@ -0,0 +1 @@ +include *requirements* diff --git a/solidity/AccountsIndex.sol b/solidity/AccountsIndex.sol index 1d77c02..dd74c20 100644 --- a/solidity/AccountsIndex.sol +++ b/solidity/AccountsIndex.sol @@ -2,7 +2,7 @@ pragma solidity >=0.6.12; // Author: Louis Holbrook 0826EDA1702D1E87C6E2875121D2E7BB88C2A746 // SPDX-License-Identifier: GPL-3.0-or-later -// File-version: 3 +// File-version: 4 interface AddressIndex { event AddressAdded(address indexed addedAccount, uint256 indexed accountIndex); // AccountsIndex @@ -10,9 +10,20 @@ interface AddressIndex { // Return number of entries in index function entryCount() external view returns (uint256); // Return entry at the spceificed index + // Will revert if index is beyond array length. function entry(uint256) external view returns (address); - // Add an entry to the index - function add(address _account) external returns (bool); + // Add an entry to the index. Incresases the entry count. + function add(address) external returns (bool); + // Remove an entry from the index. Reduces the entry count. + function remove(address) external returns (bool); // Verify that the entry exists in the index - function have(address _account) external view returns (bool); + function have(address) external view returns (bool); + // Deactivate account but keep in index. Does not affect entry count. + function deactivate(address) external returns (bool); + // Activate previously deactivated account. Does not affect entry count. + function activate(address) external returns (bool); + // Check if account exists and is active; + function isActive(address) external view returns (bool); + // Retrieve the timestamp when account was added + function time(address) external view returns (uint256); } diff --git a/solidity/Burner.sol b/solidity/Burner.sol new file mode 100644 index 0000000..1f4b6c5 --- /dev/null +++ b/solidity/Burner.sol @@ -0,0 +1,14 @@ +pragma solidity >=0.6.12; + +// Author: Louis Holbrook 0826EDA1702D1E87C6E2875121D2E7BB88C2A746 +// SPDX-License-Identifier: GPL-3.0-or-later +// File-version: 2 + +interface Burner { + event Burn(uint256 _burned); + + function burn(uint256 _burn) external returns (bool); + function totalBurned() external returns (uint256); + function totalMinted() external returns (uint256); +} + diff --git a/solidity/ERC173.sol b/solidity/ERC173.sol index 4fc19a7..b64e530 100644 --- a/solidity/ERC173.sol +++ b/solidity/ERC173.sol @@ -1,4 +1,4 @@ -pragma solidity ^0.8.0; +pragma solidity >=0.6.12; // Author: Louis Holbrook 0826EDA1702D1E87C6E2875121D2E7BB88C2A746 // SPDX-License-Identifier: GPL-3.0-or-later @@ -9,7 +9,7 @@ pragma solidity ^0.8.0; // - sha256:45e14ac315e380b5372a5ffc6783ab11d7eafb7fa5a123e0b8e5fc8c6c527c4c // - swarmhash:0cadf6a7122d2da20dbab0ef31c692b1b24cf49ae5c1c80f7ce6dbae8885ce01 interface ERC173 { - event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); // EIP173 + event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); function owner() external view returns (address); function transferOwnership(address _newOwner) external view returns (bool); diff --git a/solidity/ERC20.sol b/solidity/ERC20.sol index bbaf767..08bd8cd 100644 --- a/solidity/ERC20.sol +++ b/solidity/ERC20.sol @@ -2,7 +2,7 @@ pragma solidity >=0.6.12; // Author: Louis Holbrook 0826EDA1702D1E87C6E2875121D2E7BB88C2A746 // SPDX-License-Identifier: GPL-3.0-or-later -// File-version: 1 +// File-version: 2 // This is a representation of an officially approved Ethereum Improvement Proposal, written by Fabian Vogelsteller fabian@ethereum.org, Vitalik Buterin vitalik.buterin@ethereum.org. It was released under the CC0 license. // The proposal source used as reference was a Markdown file with the following digests: @@ -10,7 +10,6 @@ pragma solidity >=0.6.12; // - swarmhash:598f13429ec42f50d7a6576ab20feffdaf2135a90805678d24e4ea297bf0e639 interface ERC20 { event Transfer(address indexed _from, address indexed _to, uint256 _value); - event TransferFrom(address indexed _from, address indexed _to, address indexed _spender, uint256 _value); event Approval(address indexed _owner, address indexed _spender, uint256 _value); function transfer(address _to, uint256 _value) external returns (bool); diff --git a/solidity/ERC721.sol b/solidity/ERC721.sol index 41fda4a..419c47c 100644 --- a/solidity/ERC721.sol +++ b/solidity/ERC721.sol @@ -2,7 +2,7 @@ pragma solidity >=0.6.12; // Author: Louis Holbrook 0826EDA1702D1E87C6E2875121D2E7BB88C2A746 // SPDX-License-Identifier: GPL-3.0-or-later -// File-version: 1 +// File-version: 2 // This is a representation of an officially approved Ethereum Improvement Proposal, William Entriken (@fulldecent), Dieter Shirley dete@axiomzen.co, Jacob Evans jacob@dekz.net, Nastassia Sachs nastassia.sachs@protonmail.com // The proposal source used as reference was a Markdown file with the following digests: @@ -15,7 +15,8 @@ interface ERC721 { function balanceOf(address _owner) external view returns (uint256); function ownerOf(uint256 _tokenId) external view returns (address); - function safeTransferFrom(address _from, address _to, uint256 _tokenId, bytes memory data) external payable; + function safeTransferFrom(address _from, address _to, uint256 _tokenId) external payable; + function safeTransferFrom(address _from, address _to, uint256 _tokenId, bytes memory _data) external payable; function transferFrom(address _from, address _to, uint256 _tokenId) external payable; function approve(address _approved, uint256 _tokenId) external payable; function setApprovalForAll(address _operator, bool _approved) external; diff --git a/solidity/Expire.sol b/solidity/Expire.sol new file mode 100644 index 0000000..639bad0 --- /dev/null +++ b/solidity/Expire.sol @@ -0,0 +1,11 @@ +pragma solidity >=0.6.12; + +// Author: Louis Holbrook 0826EDA1702D1E87C6E2875121D2E7BB88C2A746 +// SPDX-License-Identifier: GPL-3.0-or-later +// File-version: 2 + +interface Expire { + event Expired(uint256 _timestamp); + + function expires() external returns (uint256); +} diff --git a/solidity/Faucet.sol b/solidity/Faucet.sol index 63234f9..dd2394b 100644 --- a/solidity/Faucet.sol +++ b/solidity/Faucet.sol @@ -2,22 +2,23 @@ pragma solidity >=0.6.12; // Author: Louis Holbrook 0826EDA1702D1E87C6E2875121D2E7BB88C2A746 // SPDX-License-Identifier: GPL-3.0-or-later -// File-version: 5 +// File-version: 6 interface Faucet { - event FaucetUsed(address indexed _recipient, address indexed _token, uint256 _value); - event FaucetFail(address indexed _recipient, address indexed _token, uint256 _value); + event Give(address indexed _recipient, address indexed _token, uint256 _value); event FaucetAmountChange(uint256 _value); // Address of token the faucet represents + // The faucet will return gas tokens with the zero-address is returned. function token() external returns (address); // Amount of tokens the faucet gives out function tokenAmount() external returns (uint256); - // Set the amount of tokens that the faucet gives out - function setAmount(uint256 _amount) external returns (bool); - // Give tokens to the given recipient - function giveTo(address _recipient) external returns (bool); - // Number of blocks that must be mined until faucet can be used for the same address - // max uint (-1) can be used to indicate that faucet may not be reused - function cooldown(address _recipient) external returns (uint256); + // Give tokens to the given recipient. Returns amount of tokens given. + function giveTo(address _recipient) external returns (uint256); + // Give tokens to yourself. Returns amount of tokens given. + function gimme() external returns (uint256); + // Returns timestamp when faucet may be used again by _recipient + // If 0 is returned, the address has not yet been used. + // A return value of max(uint256) indicates that the faucet may not be used again. + function nextTime(address _recipient) external returns (uint256); } diff --git a/solidity/Locator.sol b/solidity/Locator.sol new file mode 100644 index 0000000..41ba756 --- /dev/null +++ b/solidity/Locator.sol @@ -0,0 +1,13 @@ +pragma solidity >=0.6.12; + +// Author: Louis Holbrook 0826EDA1702D1E87C6E2875121D2E7BB88C2A746 +// SPDX-License-Identifier: GPL-3.0-or-later +// File-version: 3 + +interface Locator { + // URI that may or may not point to a specific resource location + function toURI(bytes memory _data) external view returns (string memory); + + // URL pointing to a specific resource location + function toURL(bytes memory _data) external view returns(string memory); +} diff --git a/solidity/Msg.sol b/solidity/Msg.sol new file mode 100644 index 0000000..24c409d --- /dev/null +++ b/solidity/Msg.sol @@ -0,0 +1,17 @@ +pragma solidity >=0.6.12; + +// Author: Louis Holbrook 0826EDA1702D1E87C6E2875121D2E7BB88C2A746 +// SPDX-License-Identifier: GPL-3.0-or-later +// File-version: 1 + +interface Message { + // Emitted when a new message digest has been set + // Should not be emitted if the digest set is identical to the previous + event Msg(bytes _msgDigest); + + // Set a new message content hash + function setMsg(bytes memory _digest) external; + + // Get the current message content hash + function getMsg() external view returns(bytes memory); +} diff --git a/solidity/Registry.sol b/solidity/Registry.sol index ce43238..0010285 100644 --- a/solidity/Registry.sol +++ b/solidity/Registry.sol @@ -2,10 +2,9 @@ pragma solidity >=0.6.12; // Author: Louis Holbrook 0826EDA1702D1E87C6E2875121D2E7BB88C2A746 // SPDX-License-Identifier: GPL-3.0-or-later -// File-version: 1 +// File-version: 2 interface Registry { function set(bytes32, address) external returns (bool); function bind(bytes32, bytes32) external returns (bool); - function identifiers(uint256) external view returns (bytes32); } diff --git a/solidity/RegistryClient.sol b/solidity/RegistryClient.sol index cd1fd6f..cf68d2e 100644 --- a/solidity/RegistryClient.sol +++ b/solidity/RegistryClient.sol @@ -2,8 +2,9 @@ pragma solidity >=0.6.12; // Author: Louis Holbrook 0826EDA1702D1E87C6E2875121D2E7BB88C2A746 // SPDX-License-Identifier: GPL-3.0-or-later -// File-version: 3 +// File-version: 2 interface RegistryClient { function addressOf(bytes32) external view returns (address); + function identifiers(uint256) external view returns (bytes32); } diff --git a/solidity/Writer.sol b/solidity/Writer.sol index 5972570..a1bc006 100644 --- a/solidity/Writer.sol +++ b/solidity/Writer.sol @@ -2,14 +2,13 @@ pragma solidity >=0.6.12; // Author: Louis Holbrook 0826EDA1702D1E87C6E2875121D2E7BB88C2A746 // SPDX-License-Identifier: GPL-3.0-or-later -// File-version: 1 +// File-version: 2 interface Writer { - event WriterAdded(address _writer); - event WriterRemoved(address _writer); + event WriterAdded(address indexed _executor, address _writer); + event WriterDeleted(address indexed _executor, address _writer); function addWriter(address _writer) external returns (bool); function deleteWriter(address _writer) external returns (bool); function isWriter(address _writer) external returns (bool); - function writers(uint256 _idx) external view returns (address); }