期权及期权库
Last updated
Last updated
期权库是定义期权对象及其增、删、改、查系列操作方法的公共库合约。
所谓“期权”仅指通过股东协议的期权条款定义的强买权和强卖权,它们在股东协议通过审议表决后,随着股东协议被激活而被自动安装在期权登记簿合约中,触发条件成就后权利人即可触发行权。
触发条件方面,既可以包括诸如行权期之类的时间因素,也可以通过条件对象将最多3组链外数据纳入触发条件。因此,当事方可以考虑将营业收入、净利润等外部数据作为强买权或强卖权的触发条件,从而实现“估值调整”或“优先清算权”之类的特殊投资者权益保障安排。
系统采用创建并执行互换合约的方式来履行强买权、强卖权。
具体而言,强卖权行权时,权利人可选择义务人持有的特定股份作为“质押股份”与自己持有的“标的股份”设立互换合约。义务人可选择按强卖权价格支付以太坊以获得标的股份,否则权利人可执行互换以获得质押股份作为(强卖权价格与标的股份发行价格之间的)“轧差”来终止互换。
强买权行权时,权利人可选择义务人持有的符合期权合约约定类别的股份作为“标的股份”设立互换,系统同时会自动锁定标的股份使得其无法转让期权合约实缴金额额度内的股份。之后,权利人可选择直接支付以太坊换取标的股份(即实现了强买权),否则一旦互换合约有效期届满,义务人可终止互换合约以释放对标的股权的锁定。
期权库的成员包括期权对象及其行权记录对象,以及由期权编号为检索键构建的期权映射表和行权记录映射表和期权编号列表。
期权对象包括Head和Body两个核心属性,分别定义了强买权、强卖权在设立、执行过程中所需的全部要素信息。同时,期权对象中还预留了一个条件对象属性,以便灵活插入各类链外数据作为期权触发条件。
seqOfOpt
期权编号。
typeOfOpt
期权类别。0-价格强买权,1-价格强卖权,2-ROE强买权,3-ROE强卖权,4-附条件的价格强买权,5-附条件的价格强卖权,6-附条件的ROE强买权,7-附条件的ROE强卖权。
classOfShare
股权类别。
rate
期权费率。价格期权中指标的股权交易价格(单位为分);ROE期权中指年化ROE比率(单位为“万分之一”,即,“基点”)。
issueDate
期权签发时点。
triggerDate
行权期开始时点。
execDays
行权期天数。
closingDays
(行权后)交割期天数。
obligor
义务人用户编号。
closingDeadline
交割截止时点。
rightholder
权利人用户编号。
paid
期权的实缴出资额。
par
期权的认缴出资额。
state
期权的状态。0-准备中,1-已签发,2-已执行,3-已交割。
cond
期权的触发条件。以结构化的“条件对象”定义,可引入最多3组比较计算和2 组布尔运算定义复杂的触发条件。
顾名思义,行权记录对象主要用途是记录期权的履行过程信息,它主要由采用了可枚举集合结构的义务人集合、互换合约库和采用了历史状态序列结构的外部触发数据构成。
obligors
义务人编号列表(可枚举集合)。
swaps
互换合约库。
oracles
外部触发条件数据的历史状态序列。
期权库主要包括以期权编号为检索键,分别以期权对象和行权记录对象为检索值的期权映射表和行权记录映射表,以及采用可枚举集合结构的期权编号列表。
查询接口最能体现期权库在整个系统中的功能和用途,具体请见下表。
counterOfOptions
获取期权编号计数器的当前值。
qtyOfOptions
获取期权对象的总数量。
isOption
查询特定编号的期权对象是否存在。
getOption
获取特定编号的期权对象。
getAllOptions
获取全部期权对象列表。
isRightholder
查询特定编号用户是否为特定编号期权的权利人。
isObligor
查询特定编号用户是否为特定编号期权的义务人。
getObligorsOfOption
获取特定编号期权的所有义务人编号列表。
getSeqList
获取期权库中所有期权的编号列表。
counterOfSwaps
获取特定编号期权的互换合约计数器当前值。
sumPaidOfTarget
获取特定编号期权项下所有互换合约标的股权的实缴出资总额。
isSwap
查询特定编号期权项下是否存在特定编号的互换合约。
getSwap
获取特定编号期权项下特定编号的互换合约对象。
getAllSwapsOfOption
获取特定编号期权项下所有互换合约对象列表。
allSwapsClosed
查询特定编号期权项下是否所有互换合约均已交割。
getOracleAtDate
获取特定编号期权项下特定日期的外部触发条件数据的状态观测点对象。
getLatestOracle
获取特定编号期权项下最近切的外部触发条件数据的状态观测点对象。
getAllOraclesOfOption
获取特定编号期权项下所有外部触发条件数据的历史状态序列。
checkValueOfSwap
按特定法币价格查询特定编号期权项下特定编号互换合约的价值(单位为Eth)。