Skip to content

Commit fdfbc70

Browse files
committed
--wip-- [skip ci]
1 parent 49eb266 commit fdfbc70

20 files changed

+794
-827
lines changed

contracts/abstract/MasterAware.sol

Lines changed: 0 additions & 49 deletions
This file was deleted.

contracts/interfaces/IFailedStakingPool.sol

Lines changed: 0 additions & 41 deletions
This file was deleted.

contracts/interfaces/IGovernor.sol

Lines changed: 85 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,85 @@
1+
// SPDX-License-Identifier: GPL-3.0-only
2+
3+
pragma solidity >=0.5.0;
4+
5+
interface IGovernor {
6+
7+
enum VoteKind {
8+
AdvisoryBoard,
9+
Member
10+
}
11+
12+
enum ProposalStatus {
13+
Proposed,
14+
Executed,
15+
Canceled
16+
}
17+
18+
struct Proposal { // 112 bits
19+
VoteKind kind;
20+
ProposalStatus status;
21+
uint32 proposedAt;
22+
uint32 voteStartsAt;
23+
uint32 voteEndsAt;
24+
}
25+
26+
struct Transaction {
27+
address target;
28+
uint96 value;
29+
bytes data;
30+
}
31+
32+
struct Tally {
33+
uint128 forVotes;
34+
uint128 againstVotes;
35+
}
36+
37+
struct AdvisoryBoardSwap {
38+
address remove;
39+
address add;
40+
}
41+
42+
function propose(Transaction[] calldata transactions, string calldata description) external;
43+
function execute(uint proposalId) external payable;
44+
45+
// function getProposal(uint proposalId) external view returns (Proposal memory, Transaction[] memory);
46+
// function getProposals(uint start, uint end) external view returns (Proposal[] memory, Transaction[][] memory);
47+
// function getVotes(uint proposalId, address account) external view returns (uint);
48+
// function getVotesAt(uint proposalId, address account, uint blockNumber) external view returns (uint);
49+
// function getTally(uint proposalId) external view returns (Tally memory);
50+
// function getTallies(uint start, uint end) external view returns (Tally[] memory);
51+
52+
event ProposalExecuted(uint proposalId);
53+
event VoteCast(uint proposalId, address account, bool support, uint weight);
54+
event AdvisoryBoardMemberReplaced(address oldAddress, address newAddress);
55+
event ProposalCanceled(uint proposalId);
56+
event ProposalCreated(uint proposalId, VoteKind kind, string description);
57+
58+
error InvalidAdvisoryBoardSwap();
59+
error AlreadyAdvisoryBoardMember();
60+
error OnlyAdvisoryBoardMember();
61+
error OnlyGovernor();
62+
error OnlyMember();
63+
64+
error ProposalNotFound();
65+
error ProposalExpired();
66+
error ProposalAlreadyExecuted();
67+
error ProposalNotStarted();
68+
error ProposalIsCanceled();
69+
70+
// voting
71+
error VotePeriodNotEnded();
72+
error VoteTalliedAgainst();
73+
error VoteQuorumNotMet();
74+
error ThresholdNotMet();
75+
error AlreadyVoted();
76+
77+
// cancellation
78+
error CannotCancelMemberProposal();
79+
80+
// execution
81+
error OnlyFirstProposal();
82+
error RevertedWithoutReason(uint index);
83+
error TargetIsNotAContract();
84+
85+
}

contracts/interfaces/IMembership.sol

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
// SPDX-License-Identifier: GPL-3.0-only
2+
3+
pragma solidity >=0.5.0;
4+
5+
interface IMembership {
6+
7+
mapping(address member => bool active) public members;
8+
9+
function join(address _address, uint nonce, bytes calldata signature) external payable;
10+
11+
function swap(address to) external;
12+
13+
function leave() external;
14+
15+
function setKycAuthAddress(address) external;
16+
17+
function members() external view returns (address[] memory);
18+
19+
event Joined(address indexed member);
20+
event Left(address indexed member);
21+
event Swapped(address indexed previous, address indexed current);
22+
23+
error NotAuthorized();
24+
error UserAddressCantBeZero();
25+
error Paused();
26+
error AddressIsAlreadyMember();
27+
error TransactionValueDifferentFromJoiningFee();
28+
error SignatureAlreadyUsed();
29+
error InvalidSignature();
30+
error TransferToPoolFailed();
31+
error OnlyMember();
32+
error LockedForVoting();
33+
error CantBeStakingPoolManager();
34+
error HasNXMStakedInClaimAssessmentV1();
35+
error MemberHasPendingRewardsInTokenController();
36+
error MemberHasAssessmentStake();
37+
error NewAddressIsAlreadyMember();
38+
error MemberAlreadyHasRole();
39+
error MemberDoesntHaveRole();
40+
}

contracts/interfaces/IRegistry.sol

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
// SPDX-License-Identifier: GPL-3.0-only
2+
3+
pragma solidity ^0.8.28;
4+
5+
interface IRegistry {
6+
7+
// contract codes
8+
enum Contract {
9+
TC, // TokenController
10+
P1, // Pool
11+
MR, // MemberRoles
12+
MC, // MCR
13+
CO, // Cover
14+
SP, // StakingProducts
15+
UNUSED_PS, // LegacyPooledStaking - removed
16+
GV, // Governance
17+
UNUSED_GW, // LegacyGateway - removed
18+
UNUSED_CL, // CoverMigrator - removed
19+
AS, // Assessment
20+
CI, // IndividualClaims (claims for individuals)
21+
UNUSED_CG, // YieldTokenIncidents (claims for groups) - removed
22+
RA, // Ramm
23+
ST, // SafeTracker
24+
CP, // CoverProducts
25+
LO // Limit Orders
26+
}
27+
28+
event Joined(address indexed member);
29+
event Left(address indexed member);
30+
event Swapped(address indexed previous, address indexed current);
31+
32+
event MembershipChanged(address indexed previous, address indexed current);
33+
// Joined: MembershipChanged(address(0), current)
34+
// Swapped: MembershipChanged(previous, current)
35+
// Left: MembershipChanged(current, address(0))l
36+
37+
error ContractAlreadyExists();
38+
error InvalidContractCode();
39+
error ContractDoesNotExist();
40+
41+
}
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
// SPDX-License-Identifier: GPL-3.0-only
2+
3+
pragma solidity ^0.8.0;
4+
5+
library RegistryLibrary {
6+
7+
enum ID {
8+
TC, // TokenController
9+
P1, // Pool
10+
MR, // MemberRoles
11+
MC, // MCR
12+
CO, // Cover
13+
SP, // StakingProducts
14+
UNUSED_PS, // LegacyPooledStaking - removed
15+
GV, // Governance
16+
UNUSED_GW, // LegacyGateway - removed
17+
UNUSED_CL, // CoverMigrator - removed
18+
AS, // Assessment
19+
CI, // IndividualClaims (claims for individuals)
20+
UNUSED_CG, // YieldTokenIncidents (claims for groups) - removed
21+
RA, // Ramm
22+
ST, // SafeTracker
23+
CP, // CoverProducts
24+
LO // Limit Orders
25+
}
26+
27+
28+
29+
}

contracts/mocks/disposables/DisposableGovernance.sol

Lines changed: 0 additions & 37 deletions
This file was deleted.

0 commit comments

Comments
 (0)