文件及文件库
功能与用途
文件库是一个组件类智能合约,投资协议登记簿和股东协议登记簿通过继承获得其成员、属性和方法。
文件对象是跟踪记录投资协议、股东协议这两类系统中契约类智能合约的合约地址、法律效力状态、履行时间表的数据对象,也是文件库合约的核心数据对象。它的主要功能是确保相关智能合约能够严格按照股东协议规定的公司治理规则和流程在系统中流转,确保股东的审议权、表决权以及锁定期、反稀释、优先权、随售拖售权、强买强卖权等约定权利能严格在协议的签署、审议、执行的流程中获得严格的落实。
自创设时起,文件库就开始跟踪记录每一份股东协议、投资协议的合约地址和法律效力状态。
定稿时,管理人合约会根据当时有效的股东协议规则推算标的合约在签署、提案、特殊股东权利行权(若为投资协议)、股东会表决等法律程序的时间表并写入文件夹合约。
其后,管理人合约会在每步流程中查询该时间表并据以控制合同当事方的签约、表决、履约等法律行为时序,并在每步行为完成后更新标的合同在文件夹合约中记录的法律效力状态。
例如,当股东将投资协议提交股东会审议表决时,管理人合约会:
(1)调用投资协议文件夹合约查询标的合同的履行时间表,根据当前区块时间戳计算并审核标的合同是否处于“优先权”、“随售权”等特殊股东权利的行权期内;
(2)如果不存在此类特殊股东权利安排,或者行权期已经届满,则创设新的股东会动议将标的合同提交股东会审议;
(3)同时,将标的合同的法律效力状态从“已成立”修改为“已提交审议”;
(4)若仍处于行权期内,则终止标的合同的提交流程。
成员与属性
文件库合约的成员包括采用“合约地址->文件对象”结构设立的文件对象映射表,以及采用可枚举集合结构设置的合约地址列表,从而方便系统在运行时可依据合约地址快速检索并获取文件对象。
文件对象
文件对象的属性列表
circulateDate
文件传签时点。
signingDays
文件签署期限天数。
closingDays
文件交割期限天数。
seqOfVR
文件所适用的表决规则编号。
frExecDays
优先权行权期天数。
dtExecDays
随售拖售权行权期天数。
dtConfirmDays
随售拖售权买方确认期天数。
proposeDate
提交股东会审议的提案时点。
invExitDays
提案后(股东)退出投资期的天数。
votePrepareDays
表决准备期天数。
votingDays
表决期天数。
execDaysForPutOpt
(被否决后)请求反对股东同等条件购买标的股份的行权期天数。
seqOfMotion
以审议文件为内容的动议编号。
state
文件(法律效力)状态。
docUrl
自然语言合同的网络存储地址(推荐采用IPFS存储,则此处为文件的CID)。
docHash
自然语言合同的哈希值。
snOfDoc
Head属性的bytes32字节数组编码。
文件的法律状态
Created
文件已创建。
Circulated
文件已传签。
Proposed
文件已提案。
Approved
文件已被批准。
Rejected
文件已被否决。
Closed
文件已被执行交割。
Revoked
文件已被撤销。
文件库
文件库的成员包括采用“合约地址->文件对象”结构的文件对象映射表,以及采用可枚举集合结构的合约地址列表。一方面可方便的获取所有文件库所跟踪记录的智能合约的地址列表,另一方面也可以凭合约地址快速获取文件对象。
查询接口
查询接口最能体现文件库在整个系统中的功能和用途,具体请见下表。
signingDeadline
查询特定地址文件的签署期限截止时点。
closingDeadline
查询特定地址文件的交割期限截止时点。
frExecDeadline
查询特定地址文件的优先权行权期截止时点。
dtExecDeadline
查询特定地址文件的拖售随售权行权期截止时点。
terminateStartpoint
查询特定地址文件的解除期开始时点。
votingDeadline
查询特定地址文件的表决期截止时点。
isRegistered
查询特定地址文件是否已在文件库中注册(即是否为被跟踪对象)。
qtyOfFiles
查询获取文件库中跟踪记录的文件总数量。
getFilesList
查询获取文件库中所有文件地址列表。
getFile
查询获取特定地址的文件对象。
getHeadOfFile
查询获取特定地址的文件对象Head属性。
源代码
Last updated