交易及交易库
功能与用途
交易库是定义交易对象及其增、删、改、查系列操作方法的公共库合约。作为变更股份簿记的批处理操作指令脚本,交易库还定义了诸如锁定交易标的、交割股份、终止交易等与投资协议履行相关的API。
交易对象是投资协议正文的核心内容,在起草时协议时由协议律师设定,经审议通过后,在管理人合约的调度下可能会根据股东协议约定的特殊投资者权益条款而动态变更,并在协议履行过程中提供所有必备参数进而推动股权簿记的变更操作。
成员与属性
交易库的成员包括以交易编号为检索键、以交易对象为检索值的交易映射表,以及用于实现期权而设计的互换对象及互换映射表。
交易对象
交易对象定义了所有变更股权簿记所需的输入参数,同时特意定义了一个32字节长度的哈希时间锁,供交易双方链下或跨链支付股权对价时使用。
哈希时间锁的基本交易逻辑和常见流程为:
卖方设定哈希函数值作为股权密码锁,锁定标的股权,同时设定交割截止时点,超期则股权自动回转、交割安排撤销;
买方在链下或跨链设置相同哈希函数值的对价密码锁,锁定股转对价(加密货币、央行数字货币或其他可编程电子货币),同时设定支付截止时点,超期则款项回转、支付安排撤销;
卖方调用对价密码锁的解锁接口,输入生成哈希函数值的源数据,解开密码锁,提取股转对价;
买方利用对价密码锁解锁过程中获取的源数据,解开股权密码锁,触发股权自动变更登记流程以获得标的股权。
哈希时间锁安排要注意几处关键性设置:
卖方在股权密码锁有效期内,不应掌握撤销交割安排的权限;
买方在支付密码锁有效期内,不应掌握撤销支付安排的权限;
交割截止时点应当晚于支付截止时点,给买方提取股权预留充分的行动时间;以及
建议在哈希锁合约中将股权转让和对价支付的相对方,设定为特定买受人、特定收款人,避免第三方破译或截获秘钥而取得锁定权益。
交易对象的属性列表
typeOfDeal
交易类别。1-增资, 2-对外股转,3-内部股转,4-优先认购,5-随售,6-拖售,7-优先购买,8-反稀释赠与。
seqOfDeal
交易编号。
preSeq
引发自动创设交易的前序交易编号。
classOfShare
标的股份类别编号。
seqOfShare
标的股份编号。
seller
交易卖方用户编号。
priceOfPaid
标的股份的实缴出资价格。
priceOfPar
标的股份的认缴未实缴出资价格。
closingDeadline
交割截止时点。
votingWeight
标的股份的表决权重。(增资交易时用作创设新股。)
buyer
交易买方。
groupOfBuyer
买方一致行动人集团的代表人用户编号。
paid
交易的实缴出资额。
par
交易的认缴出资额。
state
交易状态。
hashLock
交易哈希锁。用于链下支付对价时,锁定、定向释放交易标的股份。
互换合约及互换合约库
交易库
查询接口
查询接口最能体现动议库在整个系统中的功能和用途,具体请见下表。
getTypeOfIA
查询投资协议类别。
counterOfDeal
查询交易编号计数器的当前值。
counterOfClosedDeal
查询已交割的交易数量。
isDeal
查询特定交易是否存在。
getDeal
获取特定编号交易对象。
getSeqList
获取交易编号列表。
counterOfSwaps
获取互换交易编号计数器当前值。
sumPaidOfTarget
获取特定编号交易对应的互换交易标的股份的实缴出资总额。
isSwap
查询特定编号交易是否存在特定编号的互换安排。
getSwap
获取特定编号交易的特定编号互换安排。
getAllSwaps
获取特定编号交易所对应的所有互换安排。
allSwapsClosed
查询是否所有互换交易均已交割
checkValueOfSwap
按特定法币价格查询计算特定编号交易特定编号互换的交易价值。
checkValueOfDeal
按特定法币价格查询计算特定编号交易的交易价值。
源代码
Last updated