-
Notifications
You must be signed in to change notification settings - Fork 245
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
Disputable apps: add missing pieces for transaction fees module #586
Disputable apps: add missing pieces for transaction fees module #586
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM! Let's discuss about the external
version for appId
@@ -39,4 +39,6 @@ contract IDisputable is ERC165 { | |||
function supportsInterface(bytes4 _interfaceId) external pure returns (bool) { | |||
return _interfaceId == DISPUTABLE_INTERFACE_ID || _interfaceId == ERC165_INTERFACE_ID; | |||
} | |||
|
|||
function appId() public view returns (bytes32); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Maybe we can leverage the new breaking version we are working on to make these external
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What’s the benefit?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
To avoid having the compiler warning:
Warning: Functions in interfaces should be declared external.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Where do you see that warning? I can’t find it. Despite the name, IDisputable
is not actually an interface, so the warning is not showing up for me.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
not sure to be honest, however this is a minor detail, not a blocker at all
060a440
to
addfa2a
Compare
@bingen I have merged the base disputable app PR against |
@@ -12,6 +12,7 @@ import "../../lib/arbitration/IArbitrable.sol"; | |||
contract IAgreement is IArbitrable, IACLOracle { | |||
|
|||
event Signed(address indexed signer, uint256 settingId); | |||
event TransactionFeesOracleSet(address transactionFeesOracle); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think we can remove this event and leverage this as a new part of the agreement settings
0514e12
to
3c202d8
Compare
@@ -39,4 +39,6 @@ contract IDisputable is ERC165 { | |||
function supportsInterface(bytes4 _interfaceId) external pure returns (bool) { | |||
return _interfaceId == DISPUTABLE_INTERFACE_ID || _interfaceId == ERC165_INTERFACE_ID; | |||
} | |||
|
|||
function appId() public view returns (bytes32); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Somewhat related discussion, but maybe we should create a new interface, e.g. IAragonApp
to enforce the kernel()
and appId()
functions?
That way IDisputable
can declare that it's always an IAragonApp
(and we can adjust the EIP-165 values to be separated between IDisputable
and IAragonApp
).
We could also move out supportsInterface()
out of the base app—it's kind of weird that it implements it as an app may choose to support any number of interfaces (e.g. the token receiver ones from 721 or 1155).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I like the idea of IAragonApp
, I'll create an issue for that :)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM, although I'm not actually sure if the TransactionFeesOracle
contract should live here (are users meant to import it?).
@sohkai the thing is that My rationale between these interfaces that are being shared between Aragon Court and Aragon apps, is that they should live in aragonOS. Currently, we have an incompatibility problem since Aragon Court is using solc 0.5.8. Thus, these interfaces are being repeated in Aragon Court's repo. What do you think? |
Didn't see that we were using it in
Maybe we should have an |
There was a commit not yet pushed at the time of your comment ;-) |
No description provided.