Update transferapproval interface
This commit is contained in:
parent
83eae00818
commit
82d37092c2
24
Dockerfile
24
Dockerfile
@ -1,24 +0,0 @@
|
|||||||
FROM ethereum/solc:0.6.12
|
|
||||||
|
|
||||||
# The solc image messes up the alpine environment, so we have to go all over again
|
|
||||||
FROM alpine
|
|
||||||
COPY --from=0 /usr/bin/solc /usr/bin/solc
|
|
||||||
|
|
||||||
RUN apk update && \
|
|
||||||
apk add make
|
|
||||||
|
|
||||||
WORKDIR /usr/src
|
|
||||||
|
|
||||||
COPY ./Makefile ./cic-contracts/Makefile
|
|
||||||
COPY ./*.sol ./cic-contracts/
|
|
||||||
|
|
||||||
RUN cd cic-contracts && \
|
|
||||||
make -B && make install -B
|
|
||||||
|
|
||||||
#RUN mkdir -vp /usr/local/share/cic/solidity && \
|
|
||||||
# cp -rv cic-contracts/abis
|
|
||||||
|
|
||||||
LABEL authors="Louis Holbrook <dev@holbrook.no> 0826EDA1702D1E87C6E2875121D2E7BB88C2A746"
|
|
||||||
LABEL spdx-license-identifier="GPL-3.0-or-later"
|
|
||||||
LABEL description="Ethereum smart contract interfaces used by the CIC component suite"
|
|
||||||
LABEL version="3"
|
|
@ -2,16 +2,17 @@ pragma solidity >=0.6.12;
|
|||||||
|
|
||||||
// Author: Louis Holbrook <dev@holbrook.no> 0826EDA1702D1E87C6E2875121D2E7BB88C2A746
|
// Author: Louis Holbrook <dev@holbrook.no> 0826EDA1702D1E87C6E2875121D2E7BB88C2A746
|
||||||
// SPDX-License-Identifier: GPL-3.0-or-later
|
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||||
// File-version: 3
|
// File-version: 4
|
||||||
|
|
||||||
|
|
||||||
interface Faucet {
|
interface Faucet {
|
||||||
event FaucetUsed(address indexed _recipient, address indexed _token, uint256 _value);
|
event FaucetUsed(address indexed _recipient, address indexed _token, uint256 _value);
|
||||||
event FaucetFail(address indexed _recipient, address indexed _token, uint256 _value);
|
event FaucetFail(address indexed _recipient, address indexed _token, uint256 _value);
|
||||||
|
event FaucetAmountChange(address indexed _token, uint256 _value);
|
||||||
|
|
||||||
function amount() external view returns (uint256);
|
function amount() external view returns (uint256);
|
||||||
function token() external view returns (address);
|
function token() external view returns (address);
|
||||||
function setAmount(uint256 _amount) external returns (bool);
|
function setAmount(uint256 _amount) external returns (bool);
|
||||||
function giveTo(address _recipient) external returns (bool);
|
function giveTo(address _recipient) external returns (bool);
|
||||||
function gimme() external returns (bool);
|
function cooldown(address _recipient) external return (uint256);
|
||||||
}
|
}
|
||||||
|
@ -8,4 +8,5 @@ pragma solidity >=0.6.12;
|
|||||||
interface RegistryClient {
|
interface RegistryClient {
|
||||||
function registryCount() external view returns (uint256);
|
function registryCount() external view returns (uint256);
|
||||||
function addressOf(bytes32) external view returns (address);
|
function addressOf(bytes32) external view returns (address);
|
||||||
|
function entry(uint256) external view returns (address);
|
||||||
}
|
}
|
||||||
|
@ -9,4 +9,5 @@ interface RegistryStandard {
|
|||||||
function registryCount() external view returns (uint256);
|
function registryCount() external view returns (uint256);
|
||||||
function addressOf(bytes32) external view returns (address);
|
function addressOf(bytes32) external view returns (address);
|
||||||
function register(bytes32,address) external view returns (bool);
|
function register(bytes32,address) external view returns (bool);
|
||||||
|
function entry(uint256) external view returns (address);
|
||||||
}
|
}
|
||||||
|
@ -1,3 +0,0 @@
|
|||||||
interface TokenEndorser {
|
|
||||||
function getBySymbol(address _tokenAddress) external view returns ( bytes32 );
|
|
||||||
}
|
|
@ -1,18 +0,0 @@
|
|||||||
pragma solidity >=0.6.12;
|
|
||||||
|
|
||||||
// Author: Louis Holbrook <dev@holbrook.no> 0826EDA1702D1E87C6E2875121D2E7BB88C2A746
|
|
||||||
// SPDX-License-Identifier: GPL-3.0-or-later
|
|
||||||
// File-version: 1
|
|
||||||
// Description: The ERC20 standard interface as specified in EIP20 (sha256:9f843cbb25a737c9351b0b6a6f54b86864490d0d5284f6877b4929d481d34312)
|
|
||||||
|
|
||||||
|
|
||||||
// TODO: Rename everything to something more generic
|
|
||||||
interface TokenEndorser {
|
|
||||||
function endorsement(bytes32) external view returns ( bytes32 );
|
|
||||||
function tokenIndex(address) external view returns ( uint256 );
|
|
||||||
function endorser(address, uint256) external view returns ( uint256 );
|
|
||||||
function endorserTokenCount(address) external view returns ( uint256 );
|
|
||||||
function tokenSymbolIndex(string memory) external view returns ( address );
|
|
||||||
function tokens(uint256) external view returns ( address );
|
|
||||||
function add(address _token, bytes32 _data) external returns ( bool );
|
|
||||||
}
|
|
@ -1,18 +0,0 @@
|
|||||||
pragma solidity >=0.6.12;
|
|
||||||
|
|
||||||
// Author: Louis Holbrook <dev@holbrook.no> 0826EDA1702D1E87C6E2875121D2E7BB88C2A746
|
|
||||||
// SPDX-License-Identifier: GPL-3.0-or-later
|
|
||||||
// File-version: 1
|
|
||||||
// Description: The ERC20 standard interface as specified in EIP20 (sha256:9f843cbb25a737c9351b0b6a6f54b86864490d0d5284f6877b4929d481d34312)
|
|
||||||
|
|
||||||
|
|
||||||
// TODO: Rename everything to something more generic
|
|
||||||
interface TokenEndorser {
|
|
||||||
function endorsement(bytes32) external view returns ( bytes32 );
|
|
||||||
function tokenIndex(address) external view returns ( uint256 );
|
|
||||||
function endorser(address, uint256) external view returns ( uint256 );
|
|
||||||
function endorserTokenCount(address) external view returns ( uint256 );
|
|
||||||
function tokenSymbolIndex(string memory) external view returns ( address );
|
|
||||||
function tokens(uint256) external view returns ( address );
|
|
||||||
function add(address _token, bytes32 _data) external returns ( bool );
|
|
||||||
}
|
|
@ -9,11 +9,23 @@ interface TransferApproval {
|
|||||||
event NewRequest(address indexed _sender, address indexed _recipient, address indexed _token, uint256 _value, uint256 _serial);
|
event NewRequest(address indexed _sender, address indexed _recipient, address indexed _token, uint256 _value, uint256 _serial);
|
||||||
event NewExecution(uint256 serial);
|
event NewExecution(uint256 serial);
|
||||||
event NewRejection(uint256 serial);
|
event NewRejection(uint256 serial);
|
||||||
|
event TransferFail(uint256 serial);
|
||||||
|
|
||||||
function serial() external view returns (uint256);
|
struct Transaction {
|
||||||
function requests(uint256) external view returns (address);
|
uint256 serial;
|
||||||
function approvers(address) external view returns(bool);
|
address sender;
|
||||||
function request(address _recipient, address _token, uint256 _value) external returns (uint256);
|
address recipient;
|
||||||
function execute(uint256 _serial) external returns (bool);
|
address token;
|
||||||
function reject(uint256 _serial) external returns (bool);
|
uint256 value;
|
||||||
|
}
|
||||||
|
|
||||||
|
function approvers() external view return (address[]);
|
||||||
|
function count() external view returns (uint256);
|
||||||
|
function lastSerial() external view returns (uint256);
|
||||||
|
function nextSerial() external view returns (uint256);
|
||||||
|
function getSerialAt(uint256 _idx) external view returns (uint256);
|
||||||
|
function requests(uint256 _idx) external view returns (Transaction);
|
||||||
|
function createRequest(address _recipient, address _token, uint256 _value) external returns (uint256);
|
||||||
|
function executeRequest(uint256 _serial) external returns (bool);
|
||||||
|
function rejectRequest(uint256 _serial) external returns (bool);
|
||||||
}
|
}
|
||||||
|
@ -1,3 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
|
|
||||||
docker build -t grassrootseconomics:cic .
|
|
@ -9,8 +9,9 @@ while True:
|
|||||||
l = f.readline()
|
l = f.readline()
|
||||||
if l == '':
|
if l == '':
|
||||||
break
|
break
|
||||||
print('line {}'.format(l))
|
#print('line {}'.format(l))
|
||||||
h = web3.Web3.keccak(text=l)
|
h = web3.Web3.keccak(text=l)
|
||||||
z = bytes([a ^ b for a, b in zip(h, z)])
|
z = bytes([a ^ b for a, b in zip(h, z)])
|
||||||
print(h.hex(), z.hex())
|
#print(h.hex(), z.hex())
|
||||||
f.close()
|
f.close()
|
||||||
|
print(h[:4].hex())
|
Loading…
Reference in New Issue
Block a user