πRule and RulesParser
Function and Usage
The Rules Parser library defined several Rules that are extensively covering almost all kinds of activities that a company may encounter during its daily operation, which can be categorized into the following types as per their governing matters: General Governance Rule, Voting Rules, Position Allocation Rules, First Refusal Rules, Grouping Orders and Listing Rules. All these rules are stored in the "World States" in form of bytes32 and can be retrieved from a "key-value" mapping with the structure of "sequence number (uint) -> rule object (bytes32) " in the smart contract of Shareholders Agreement. During the runtime, the Book Keepers can call the Rules Parser to parse the said Rules from the original form of bytes32 into their specific structured objects, from the attributes of which the intended value will be obtained ultimately. Except the General Governance Rule, the beginning 16-bit of the other Rules are defined as their sequence number. However, these sequence numbers are not consecutive, instead, they are segmented with 256 as a group for a specific type of Rules, so as to reserve enough numbers for adding new Rules in future.
0
General Governance Rule
1
Voting Rules (Capital Increase)
2
Voting Rules (External Transfer)
3
Voting Rules (Internal Transfer)
4
Voting Rules (Capital Increase + Internal Transfer)
5
Voting Rules (External Transfer + Internal Transfer)
6
Voting Rules (Capital Increase + Internal Transfer + External Transfer)
7
Voting Rules (Capital Increase + External Transfer)
8
Voting Rules (Update of Shareholders Agreement)
9
Voting Rules (Simple Majority of General Meeting of Shareholders)
10
Voting Rules (Special Majority of General Meeting of Shareholders)
11
Voting Rules (Simple Majority of Board Meeting)
12
Voting Rules (Special Majority of Board of Meeting)
13 ~ 255
Voting Rules (Other Matters)
256 ~ 511
Position Allocation Rules
512
First Refusal Rule (Capital Increase)
513
First Refusal Rule (External Transfers)
514 ~ 767
Other First Refusal Rules
768 ~ 1023
Grouping Orders
1024 ~ 1279
Listing Rules
Members and Attributes
The Rules Parser library comprehensively defined the data structure, coding method and parsing method for the General Governance Rule, Voting Rules, Position Allocation Rules, First Refusal Rules, Grouping Orders, as well as Listing Rules.
General Governance Rule
fundApprovalThreshold
The minimum amount to be paid by the company to be submitted to the general meeting for review.
basedOnPar
Whether shareholders exercise voting rights in accordance with the subscribed contribution.
proposeWeightRatioOfGM
Minimum voting weights ratio for shareholders to submit motions to the shareholders meeting (in basis points).
proposeHeadRatioOfMembers
Minimum number ratio of shareholders to submit motions to the shareholders meeting (in basis points).
proposeHeadRatioOfDirectorsInGM
Minimum number ratio of directors to submit motions to the shareholders meeting (in basis points).
proposeHeadRatioOfDirectorsInBoard
Minimum number ratio of directors to submit motions to the board meeting (in basis points).
maxQtyOfMembers
Maximum number of shareholders.
quorumOfGM
Minimum percentage of voting weights for valid shareholders meeting resolution (in basis points).
maxNumOfDirectors
Maximum number of directors.
tenureMonOfBoard
Number of months of directors' tenure.
quorumOfBoardMeeting
Minimum ratio of the number of votes for valid resolutions of the Board of Directors (in basis points).
establishedDate
Established date of the company.
businessTermInYears
Number of years of the company's operation period.
typeOfComp
Category of the company.
minVoteRatioOnChain
Minimum ratio of voting weights of shareholders (in basis points).
Voting Rule
seqOfRule
The sequence number of rules.
qtyOfSubRule
The total number of rules in the secondary category.
seqOfSubRule
Rule number in the secondary category.
authority
Decision-making authority to apply the rules. 1 - Shareholders Meeting, 2 - Board of Directors Meeting.
headRatio
Minimum ratio of number of voting approval (unit: basis points).
amountRatio
Minimum ratio of voting weights for voting approval (unit: basis points).
onlyAttendance
Whether only the attitude of voters can be counted in the voting result.
impliedConsent
Whether the non-voters imply approval to the motion.
partyAsConsent
Whether the parties who review the document imply approval to the motion.
againstShallBuy
Whether the shareholders who voted against the motion are obliged to purchase the underlying shares on equal terms.
frExecDays
The number of days for the exercise period of the right of first refusal.
dtExecDays
The number of days for the exercise period of the drag-along and tag-along rights.
dtConfirmDays
Number of days for the buyer's acceptance period for the drag-along and tag-along rights.
invExitDays
Number of days for the shareholder withdrawal from investment after proposal.
votePrepareDays
Number of days of voting preparation period.
votingDays
Number of days in the voting period.
execDaysForPutOpt
Number of days in the exercise period for the share transferor to request the shareholders who vote against to purchase the underlying shares on equal terms.
vetoers[0]
First user number of whom vote against.
vetoers[1]
Second user number of whom vote against
Position Allocation Rule
seqOfRule
Rule number.
qtyOfSubRule
The total number of rules in the secondary category.
seqOfSubRule
Rule number in the secondary category.
removePos
Whether to remove the position information.
seqOfPos
The number of the position.
titleOfPos
The title of the position.
nominator
The nominee user number.
titleOfNominator
The nominee's title number.
seqOfVR
Voting rule number.
endDate
Tenure deadline for the position.
First Refusal Rule
seqOfRule
Rule number.
qtyOfSubRule
The total number of rules in the secondary category.
seqOfSubRule
Rule number in the secondary category.
typeOfDeal
Transaction category number.
membersEqual
Whether all shareholders have equal right of first refusal.
proRata
Whether right of first refusal is given in proportion to voting weights.
basedOnPar
Whether right of first refusal is given in proportion to the amount of subscribed contribution.
rightholders[0]
1st right holder.
rightholders[1]
2nd right holder.
rightholders[2]
3rd right holder.
rightholders[3]
4th right holder.
Grouping Update Order
seqOfRule
Number of rule.
qtyOfSubRule
The total number of rules in the secondary category.
seqOfSubRule
Rule number in the secondary category.
addMember
Whether or not to add the member to the concert party.
groupRep
User number of the representative shareholder of the group of concert party.
members[0]
1st member.
members[1]
2nd member.
members[2]
3rd member.
members[3]
4th member.
Listing Rule
seqOfRule
Rule number.
titleOfIssuer
(Additional Issue) Issuer Title.
classOfShare
Class of shares.
maxTotalPar
(Additional Issue) Maximum Total Contribution.
titleOfVerifier
(Investor Identification) Verifier's User Number.
maxQtyOfInvestors
Maximum number of investors. (0 for no upper limit)
ceilingPrice
(Additional Issue) Maximum Issue Price.
floorPrice
(Additional Issue) Lower limit of issue price.
lockupDays
Number of days of lock-up period.
offPrice
Minimum price of listing transaction
votingWeight
(Additional Issue) Voting weights of equity shares.
Linking Rule
triggerDate
Trigger date.
effectiveDays
Number of effective days.
triggerType
Trigger condition categories. 0-unconditional trigger, 1-transfer of control, 2-transfer of control and the price above threshold, 3-transfer of control and ROE above threshold.
shareRatioThreshold
Shareholding ratio threshold for company control (unit: basis points).
rate
Rate. 2-refers to the transfer price; 3-refers to the annualized ROE.
proRata
Whether or not to exercise the right at the voting ratio if the right holder claims a conflict.
Source Code
Last updated