# 7. 股权交易与公司治理场景

在公司日常运营及融资活动中，所有法律行为大致可归纳为<mark style="color:blue;">**12**</mark>个代表性场景。这些场景广泛涵盖了发行新股、转让存量股份、修订股东协议合约、股权融资、选举董事及高管、以决议方式批准法律文件、对外支付以及执行法律协议等。本节通过逻辑流程图（泳道图）展示这些场景，说明公司各利害关系方如何以其各自权利人的身份，利用 ComBoox 系统提供的外部接口，在 ComBoox 平台内严谨、有序地完成上述法律行为。这些场景包括：

<details>

<summary>7.1 申请合格投资人资格</summary>

欲投资于在 <mark style="color:blue;">**ComBoox**</mark> 平台注册的公司，个人须首先申请“合格投资人”资格。该资格需经过白名单审核与验证程序。公司股东协议合约项下的“挂牌交易规则”明确规定了哪些用户角色拥有批准合格投资人申请的权限。这些批准人被称为“核验人”，可包括公司股东、高级管理人员、关联股权交易场所乃至监管机构。

只有被列入白名单的用户才被允许买卖公司股份。一旦核验人撤销某用户的合格投资人资格，该用户持有的全部股权将被有效冻结，在合格投资人资格恢复之前不得转让。

获得合格投资人资格的申请与审批流程通常包括以下步骤：

1. 申请人调用<mark style="color:blue;">**注册中心合约**</mark>的regUser( )接口，注册成为 <mark style="color:blue;">**ComBoox**</mark> 平台用户；
2. 申请人调用<mark style="color:blue;">**注册中心合约**</mark>的setBackupKey( )接口，将 *bKey* 设置为其备用钥匙；
3. 申请人调用regInvestor( )（No.72接口），输入其备用钥匙 *bKey*、其一致行动人小组代表的用户编号 *groupRep*，以及其身份信息的哈希值 *idHash*，将其自身注册为投资人；
4. 核验人调用approveInvestor( )（No.73接口），根据编号为 *seqOfLR* 的<mark style="color:blue;">**挂牌交易规则**</mark>，批准用户编号为 *userNo* 的投资人的申请。

<figure><img src="/files/7FATAhxab9Vd51Q1G2Yx" alt=""><figcaption></figcaption></figure>

</details>

<details>

<summary>7.2 更新股东协议合约</summary>

股东协议合约或公司章程是公司的宪法性文件。它们规定了公司治理规则（Governance Rules）、表决程序（Voting Rules）、高管职位分配规则（Position Allocation Rules）、优先购买权规则（First Refusal Rules）、挂牌交易规则（Listing Rules），以及特殊的投资人保护条款（Terms），如股份锁定期、反稀释、拖售权及随售权、强买权及强卖权。

在<mark style="color:blue;">**ComBoox**</mark>系统中，股东可依照规定的表决规则提交提案、投票并激活新版本的<mark style="color:blue;">**股东协议合约**</mark>，以设立或修订前述<mark style="color:blue;">**规则**</mark>及<mark style="color:blue;">**条款**</mark>。<mark style="color:blue;">**股东协议合约**</mark>一经激活，将自动实时响应其他<mark style="color:blue;">**分项管理人合约**</mark>及<mark style="color:blue;">**登记簿合约**</mark>的查询请求，提供相关<mark style="color:blue;">**规则**</mark>及<mark style="color:blue;">**条款**</mark>。这确保了公司所有法律行为均严格按照<mark style="color:blue;">**股东协议合约**</mark>约定的条件和程序执行。

创建、提案、表决及激活<mark style="color:blue;">**股东协议合约**</mark>的具体流程包括以下步骤：

1. 股东调用 createSHA()（No.01 接口），通过克隆特定版本的模版创建新的股东协议合约。
2. 草案所有者调用 circulateSHA()（No.02 接口），将部署在地址 *body* 的定稿草案传阅给合同当事方签署，并附带文档的 URL 信息 *docUrl* 及哈希值 *docHash*。
3. 股东调用 signSHA()（No.03 接口），签署部署在地址 *sha* 的定稿草案，并附带签名的哈希值 *sigHash*。
4. 草案所有者调用 proposeDocOfGM()（No.29 接口），创建并提交一份动议草案，提请<mark style="color:blue;">**股东会**</mark>按照编号为 *seqOfVR* 的表决规则批准部署在地址 *doc* 的文档，并由编号为 *executor* 的用户负责执行。
5. 股东调用 castVoteOfGM()（No.35 接口），对编号为 *seqOfMotion* 的动议进行投票，并附上签名消息的哈希值 *sigHash*。
6. 任意用户调用 voteCountingOfGM()（No.36 接口），统计<mark style="color:blue;">**股东会**</mark>上编号为 *seqOfMotion* 的动议的表决结果。
7. 任意股东可调用 activateSHA()（No.04 接口），激活部署在地址 *body* 的股东协议草案。
8. 投资人可调用 acceptSHA()（No.05 接口），接受生效中的股东协议合约的条款和条件，并附上哈希值 *sigHash*。

<figure><img src="/files/POgNe6BT2hKCaj5LVNFu" alt=""><figcaption></figcaption></figure>

</details>

<details>

<summary>7.3 通过协议方式进行股权交易</summary>

通过协议方式进行股权认购或转让，是<mark style="color:blue;">**ComBoox**</mark>为绝大多数非上市公司设计的股权交易机制。在这种基于协议的方式下，既可以是新股发行，也可以是存量股份的转让。结算可以通过哈希时间锁以链下法定货币作为支付对价进行，也可以通过原子交付对付（DVP）以USDC进行。

股东会决议是基于协议方式进行股权交易的必要步骤，以确保锁定期、优先购买权、拖售权及随售权等特殊投资人权利得以适当行使。若<mark style="color:blue;">**股东协议合约**</mark>规定，股权交易相关表决规则（Voting Rules No. 1–7）的批准表决比例设为“0”，则提案可跳过表决阶段。在此情况下，相关股权转让或认购协议可在触发 calculateVoteResult() 接口时被视为已获股东会批准，从而立即进入结算阶段。

通过协议方式进行股权交易的流程包括以下步骤：

1. 任意股东可调用 createIA()（No.38 接口），通过克隆编号为 *version* 的版本模版，在投资协议登记簿上创建一份投资协议草案。
2. 投资协议草案所有者调用 circulateIA()（No.39 接口），将部署在地址 *body* 的定稿草案传阅给各当事方签署，并附带文档的 URL 信息 *docUrl* 及草案的哈希值 *docHash*。
3. 投资协议草案的当事方调用 signIA()（No.40 接口），签署部署在地址 *ia* 的投资协议，并附上签名消息的哈希值 *sigHash*。
4. 草案所有者调用 proposeDocOfGM()（No.29 接口），创建并提交一份动议草案，提请<mark style="color:blue;">**股东会**</mark>按照编号为 *seqOfVR* 的表决规则批准部署在地址 *doc* 的文档，并由编号为 *executor* 的用户负责执行。
5. 股东调用 castVoteOfGM()（No.35 接口），对编号为 *seqOfMotion* 的动议进行投票，并附上签名消息的哈希值 *sigHash*。
6. 任意用户可调用 voteCountingOfGM()（No.36 接口），统计股东会上编号为 *seqOfMotion* 的动议的表决结果。
7. 卖方（或发行人）可调用 pushToCoffer()（No.41 接口），确认所有先决条件均已满足并准备交割，针对投资协议（部署在地址 ia）下编号为 *seqOfDeal* 的特定交易，输入哈希锁值 *hashLock* 并设定交割截止日期 *closingDeadline*。
8. 买方调用 closeDeal()（No.42 接口），在链下支付对价后，通过输入哈希钥匙字符串 *hashKey*，完成投资协议（部署在地址 *ia*）下编号为 *seqOfDeal* 的交易的交割。
9. 公司控制人可调用 issueNewShare()（No.43 接口），针对投资协议（部署在地址 *ia*）下编号为 *seqOfDeal* 的增资交易，直接将新股发行给买方。
10. 卖方（或发行人）可调用 transferTargetShare()（No.44 接口），针对投资协议（部署在地址 *ia*）下编号为 *seqOfDeal* 的特定股权转让交易，将标的股权直接转让给买方。
11. 买方可通过调用 payOffApprovedDeal()（No.46 接口），根据链下签署的授权 *auth*，向卖方/发行人地址支付一定数量的 USDC，以结清部署在地址 *ia* 的投资协议中编号为 *seqOfDeal* 的特定交易。
12. 交易期限届满后，卖方（或发行人）可调用 terminateDeal()（No.45 接口），终止投资协议（部署在地址 *ia*）下编号为 *seqOfDeal* 的交易。

<figure><img src="/files/J80KJAfB917z6TwFTb2y" alt=""><figcaption></figcaption></figure>

</details>

<details>

<summary>7.4 通过挂牌方式进行股权交易（以 USDC 结算）</summary>

基于挂牌的交易机制是<mark style="color:blue;">**ComBoox**</mark>为上市公司设计的。<mark style="color:blue;">**合格投资人**</mark>可通过基于区块链的智能合约，以USDC作为结算货币认购或转让公司股份。该机制既可支持新股认购，也可支持存量股份的二级市场交易。

以<mark style="color:blue;">**挂牌交易登记簿管理人**</mark>(LOO Keeper)及<mark style="color:blue;">**挂牌交易登记簿**</mark>(LOO smart contracts)为核心的智能合约系统，按照“时间优先、价格优先”的原则自动匹配并执行订单，并以交付对付（DVP）模式进行结算。

公司可通过其股东协议合约项下的“挂牌交易规则（Listing Rules）”规定其股份挂牌发行的具体规则。此类规则可包括，例如，股份的最低及最高发行价格、股份转让的最低间隔时间，或允许的最低交易价格。

最重要的是，挂牌交易规则定义了<mark style="color:blue;">**核验人**</mark>(Verifier)的角色（可为一个指定用户组或特定个人），该角色拥有批准或撤销“<mark style="color:blue;">**合格投资人**</mark>”资格的权限。这一白名单机制确保所有参与公司股份交易的投资人均遵守适用的 KYC/AML 要求及其他监管义务。

<mark style="color:blue;">**核验人**</mark>可以是公司董事或高管、指定的账簿管理人或登记机构、交易所运营商、KYC/AML 服务提供商，甚至是特定司法管辖区的主管监管机构。

公司<mark style="color:blue;">**股东会**</mark>可通过更新<mark style="color:blue;">**股东协议合约**</mark>的方式修订<mark style="color:blue;">**挂牌交易规则**</mark>，从而确保公司股份的发行与交易持续符合特定司法管辖区或交易场所的要求。

{% hint style="info" %}
公司股份的公开募集或交易须遵守有关证券登记、证券交易、KYC、AML 及相关要求的适用法律法规。因此，在从事股份挂牌或交易活动之前，强烈建议寻求相关司法管辖区合格法律顾问的专业意见。
{% endhint %}

在挂牌机制下交易公司股份的具体流程如下：

1. 控制人或董事可调用 placeInitialOffer()（No.78 接口），根据编号为 *seqOfLR* 的挂牌交易规则，以 *paid* 作为发行价格，发行数量为 *paid*，有效小时数为 *execHours*，挂牌 *classOfShare* 类别的首次发行要约。
2. 股东可调用 placeSellOrder()（No.80 接口），根据编号为 *seqOfLR* 的挂牌交易规则，就编号为 *classOfShare* 的类别提交卖单，卖出数量为 *paid*，卖出价格为 *price*，有效时间为 *execHours* 小时。
3. 合格投资人可调用 placeBuyOrder()（No.82 接口），就 *classOfShare* 类别提交买单，买入数量为 *paid*，买入价格为 *price*，有效时间为 *execHours* 小时，并根据链下签署的授权 *auth* 支付一定数量的 USDC。
4. 合格投资人可调用 placeMarketBuyOrder()（No.83 接口），就 *classOfShare* 类别提交市价买单，买入数量为 paid，有效时间为 *execHours* 小时，并根据链下签署的授权 *auth* 支付一定数量的 USDC。
5. 控制人或董事可调用 withdrawInitialOffer()（No.79 接口），根据编号为 *seqOfLR* 的挂牌交易规则，撤销 *classOfShare* 类别下编号为 *seqOfOrder* 的首次发行要约。
6. 卖方（或发行人）可调用 withdrawSellOrder()（No.81 接口），撤销 *classOfShare* 类别下编号为 *seqOfOrder* 的卖单。
7. 买方（或投资人）可调用 withdrawBuyOrder()（No.84 接口），撤销 *classOfShare* 类别下编号为 *seqOfOrder* 的买单。

<figure><img src="/files/EOS5iHcuZK6grA7D1GnR" alt=""><figcaption></figcaption></figure>

</details>

<details>

<summary>7.5 选举或罢免董事</summary>

任命和罢免董事或高级管理人员的权力是公司治理的一个基本方面。在 ComBoox 系统中，<mark style="color:blue;">**股东协议合约**</mark>中定义的职位分配规则（Position Allocation Rules）可规定公司高管及管理人员的任命方式及其任期。例如，此类规则可规定股东提名一定数量董事会席位或特定职位（如董事长）的权利，或规定某些董事或高管提名、任命或罢免其他公司管理人员的权限。

拥有提名权或任命/罢免权的用户可通过触发指定接口行使该等权力。公司管理人员的选举可在股东会或董事会会议上进行。拥有提名权的用户也可发起动议，罢免（弹劾）其提名的董事或高管。

获选候选人必须触发就职接口（Appointment API）方可就任；同样，辞职需触发辞职接口（Resignation API）。

股东可通过修订<mark style="color:blue;">**股东协议合约**</mark>来修改<mark style="color:blue;">**职位分配规则**</mark>，从而变更特定职位的任命方式或任期。

选举或任命董事的程序如下：

1. 权利人调用 nominateDirector()（No.27 接口），提名编号为 *candidate* 的用户担任编号为 *seqOfPos* 的董事职位。
2. 权利人调用 createMotionToRemoveDirector()（No.28 接口），创建一份罢免编号为 *seqOfPos* 职位的管理人员的动议草案。
3. 权利人调用 proposeMotionToGeneralMeeting()（No.34 接口），将编号为 *seqOfMotion* 的动议提交至股东会。
4. 股东调用 castVoteOfGM()（No.35 接口），对编号为 *seqOfMotion* 的动议进行投票，并附上签名消息的哈希值 *sigHash*。
5. 任意用户可调用 voteCountingOfGM()（No.36 接口），统计股东会上编号为 *seqOfMotion* 的动议的表决结果。
6. 获选候选人调用 takeSeat()（No.06 接口），根据编号为 *seqOfMotion* 的动议所授予的授权，就任编号为 *seqOfPos* 的董事席位。
7. 执行人调用 removeDirector()（No.07 接口），根据编号为 *seqOfMotion* 的罢免动议，罢免编号为 *seqOfPos* 职位的董事。
8. 董事调用 quitPosition()（No.10 接口），自愿辞去编号为 *seqOfPos* 的职位。

<figure><img src="/files/PmNFfhDZemVwERTVv2wl" alt=""><figcaption></figcaption></figure>

</details>

<details>

<summary>7.6 选举或罢免高管</summary>

选举或任命管理人员的程序如下：

1. 权利人调用 nominateOfficer()（No.11 接口），提名编号为 *candidate* 的用户担任编号为 *seqOfPos* 的管理人员职位。
2. 权利人调用 createMotionToRemoveOfficer()（No.12 接口），创建一份罢免编号为 *seqOfPos* 职位的管理人员的动议草案。
3. 权利人调用 proposeMotionToBoard()（No.17 接口），将编号为 *seqOfMotion* 的动议提交至董事会会议。
4. 董事调用 castVote()（No.18 接口），对编号为 *seqOfMotion* 的动议进行投票，并附上签名消息的哈希值 *sigHash*。
5. 任意用户可调用 voteCounting()（No.19 接口），统计<mark style="color:blue;">**董事会**</mark>上编号为 *seqOfMotion* 的动议的表决结果。
6. 获选候选人调用 takePosition()（No.08 接口），根据编号为 *seqOfMotion* 的动议所授予的授权，就任编号为 *seqOfPos* 的职位。
7. 执行人调用 removeOfficer()（No.09 接口），根据编号为 *seqOfMotion* 的罢免动议，罢免编号为 *seqOfPos* 职位的管理人员。
8. 管理人员调用 quitPosition()（No.10 接口），自愿辞去编号为 *seqOfPos* 的职位。

<figure><img src="/files/XyJDQqJJ6f4XKBsM0K1X" alt=""><figcaption></figcaption></figure>

</details>

<details>

<summary>7.7 划转资金</summary>

对外支付构成公司最重要的资产处置形式和公司治理行为之一。在 ComBoox 系统中，公司进行的任何对外支付必须经股东会或董事会批准。董事会可授权的最高支付金额可在<mark style="color:blue;">**股东协议合约**</mark>中设定的<mark style="color:blue;">**治理规则**</mark>中明确规定。若任何关于对外支付的董事会动议超过该限额，系统将自动返回错误并禁止该动议进入投票程序。

ComBoox 系统允许公司以三种代币类型进行对外支付：ETH、USDC 及 CBP。前两者代表公司资产，而就 ComBoox DAO 而言，CBP 代表一类被归类为“递延收入”的长期负债。对于其他公司，CBP 作为一种特殊的实用代币，可在使用 ComBoox 系统时消耗。

ComBoox 系统提供了以 CBP 或 USDC 进行支付的专用接口。但对于 ETH，支付必须通过触发总管理人合约调用外部智能合约的通用接口来执行，该接口进而调用总管理人合约的 execActionOfGM() 或 execAction() 函数以完成对外支付。

实施对外支付的过程包括以下步骤：

1. 任何股东或董事可调用 proposeToTransferFundWithBoard()（No.14 接口）向董事会提议，或调用 proposeToTransferFundWithGM()（No.31 接口）向股东会提议，按照编号为 *seqOfVR* 的表决规则，在 *expireDate* 时间戳之前，向账户地址 *to* 划转一定数量的 CBP（*isCBP* 为 true）或 USDC（*isCBP* 为 false），金额为 *amt*，并由编号为 *executor* 的用户执行相关动议。
2. 任何股东可调用 createAction()（No.15 接口）或 createActionOfGM()（No.32 接口），为<mark style="color:blue;">**董事会**</mark>或<mark style="color:blue;">**股东会**</mark>创建一份动议草案，按照编号为 *seqOfVR* 的表决规则，对部署在地址 *targets* 的合约执行一系列调用，支付相应的 ETH 金额 *values*，输入参数 *params*，并附上描述消息的哈希值 *desHash*，由编号为 *executor* 的用户负责调用。
3. 董事调用 castVote()（No.18 接口），在<mark style="color:blue;">**董事会**</mark>上对编号为 *seqOfMotion* 的动议进行投票，并附上签名消息的哈希值 *sigHash*。
4. 股东调用 castVoteOfGM()（No.35 接口），在<mark style="color:blue;">**股东会**</mark>上对编号为 *seqOfMotion* 的动议进行投票，并附上签名消息的哈希值 *sigHash*。
5. 任意用户调用 voteCounting()（No.19 接口），统计董事会会议上编号为 *seqOfMotion* 的动议的表决结果。
6. 任意用户可调用 voteCountingOfGM()（No.36 接口），统计股东会上编号为 *seqOfMotion* 的动议的表决结果。
7. 指定执行人调用 transferFund()（No.69 接口），根据董事会（*toBMM* 为 true）或股东会（*toBMM* 为 false）通过的编号为 *seqOfMotion* 的动议，在 *expireDate* 时间戳之前，向账户地址 *to* 划转金额为 *amt* 的 CBP（*isCBP* 为 true）或 USDC（*isCBP* 为 false）。
8. 指定执行人调用 execAction()（No.20 接口）或 execActionOfGM()（No.37 接口），执行编号为 *seqOfMotion*、类别为 *typeOfAction* 的动议，触发对部署在地址 *targets* 的合约的一系列调用，支付相应的 ETH 金额 *values*，输入参数 *params*，并附上描述消息的哈希值 *desHash*。

<figure><img src="/files/JMSZWN8Mr7pVx72emZYL" alt=""><figcaption></figcaption></figure>

</details>

<details>

<summary>7.8 分配利润或收益</summary>

<mark style="color:blue;">**ComBoox**</mark> 使公司能够以 USDC 分配利润或收益。任何分配必须经公司股东会决议批准。以 USDC 进行分配需要触发<mark style="color:blue;">**收银台合约**</mark>的 distrProfits() 或 distrIncome() 函数以完成该过程。

公司利润的分配程序包括以下步骤：

1. 任何股东可调用 proposeToDistributeUsd()（No.30 接口），向<mark style="color:blue;">**股东会**</mark>提议按照编号为 *seqOfVR* 的表决规则及编号为 *seqOfDR* 的分配规则，在 *expireDate* 到期日之前，以 USDC 分配公司的利润或收益，金额为 *amt*，并由编号为 *executor* 的用户负责执行。
2. 股东调用 castVoteOfGM()（No.35 接口），对编号为 *seqOfMotion* 的动议进行投票，并附上签名消息的哈希值 *sigHash*。
3. 任意用户可调用 voteCountingOfGM()（No.36 接口），统计股东会上编号为 *seqOfMotion* 的动议的表决结果。
4. 指定执行人调用 distrProfits()（No.67 接口）或 distrIncome()（No.68 接口），根据编号为 *seqOfMotion* 的动议及编号为 *seqOfDR* 的分配规则，在 *expireDate* 到期日之前，以 USDC 分配公司的利润或收益，金额为 *amt*。

<figure><img src="/files/1otEYVYeCTIAwykUqcGw" alt=""><figcaption></figcaption></figure>

</details>

<details>

<summary>7.9 调用外部智能合约</summary>

作为图灵完备的编程语言，Solidity 使得开发智能合约能够根据应用场景实现广泛的法律行为。在 ComBoox 系统中，<mark style="color:blue;">**总管理人合约**</mark>代表公司的链上法人实体。因此，当<mark style="color:blue;">**总管理人合约**</mark>调用外部智能合约时，该行为被视为公司以独立法人资格在外部民事或商事事务中实施法律行为。

为此，系统专门开发了两个通用接口——execAction() 及 execActionOfGM()。这些函数允许公司灵活调用外部智能合约，从而适应为各种商业目的而设计的未来合约。通过调用此类合约，公司可以实施具有法律约束力的行为并实现其预期的商业目标。前者接口对应需经董事会批准的法律行为，后者接口对应需经股东会批准的法律行为。

在调用外部合约接口时，目标合约地址及相应指令以数组形式结构化排列。这一设计允许在单次指令中调用多个智能合约函数，从而能够在单次操作中执行多个法律行为并实现复杂的商业目标。

通过<mark style="color:blue;">**总管理人合约**</mark>执行外部智能合约的过程包括以下步骤：

1. 任何股东可调用 createActionOfGM()（No.32 接口），为股东会创建一份动议草案，按照编号为 *seqOfVR* 的表决规则，对部署在地址 *targets* 的合约执行一系列调用，支付相应的 ETH 金额 *values*，输入参数 *params*，并附上描述消息的哈希值 *desHash*，由编号为 *executor* 的用户负责调用。
2. 任何董事可调用 createAction()（No.15 接口），为董事会会议创建一份动议草案，按照编号为 *seqOfVR* 的表决规则，对部署在地址 *targets* 的合约执行一系列调用，支付相应的 ETH 金额 *values*，输入参数 *params*，并附上描述消息的哈希值 *desHash*，由编号为 *executor* 的用户负责调用。
3. 创建动议的所有人可调用 proposeMotionToGeneralMeeting()（No.34 接口），将编号为 *seqOfMotion* 的动议提交至股东会。
4. 创建动议的所有人可调用 proposeMotionToBoard()（No.17 接口），将编号为 *seqOfMotion* 的动议提交至董事会会议。
5. 股东可调用 castVoteOfGM()（No.35 接口），对编号为 *seqOfMotion* 的动议进行投票，并附上签名消息的哈希值 *sigHash*。
6. 董事可调用 castVote()（No.18 接口），对编号为 *seqOfMotion* 的动议进行投票，并附上签名消息的哈希值 *sigHash*。
7. 任意用户可调用 voteCountingOfGM()（No.36 接口），统计股东会上编号为 *seqOfMotion* 的动议的表决结果。
8. 任意用户可调用 voteCounting()（No.19 接口），统计董事会会议上编号为 *seqOfMotion* 的动议的表决结果。
9. 指定执行人可调用 execActionOfGM()（No.37 接口），执行编号为 *seqOfMotion*、类别为 *typeOfAction* 的动议，触发对部署在地址 *targets* 的合约的一系列调用，支付相应的 ETH 金额 *values*，输入参数 *params*，并附上描述消息的哈希值 *desHash*。
10. 指定执行人可调用 execAction()（No.20 接口），执行编号为 *seqOfMotion*、类别为 *typeOfAction* 的动议，触发对部署在地址 *targets* 的合约的一系列调用，支付相应的 ETH 金额 *values*，输入参数 *params*，并附上描述消息的哈希值 *desHash*。

<figure><img src="/files/al9BZffYalPXxooCNzbZ" alt=""><figcaption></figcaption></figure>

</details>

<details>

<summary>7.10 以股权质押担保债务</summary>

系统维护一个专门的<mark style="color:blue;">**质权登记簿**</mark>智能合约，用以记录所有股权质押安排。股东可将其持有的股权作为质押物，为特定金额的担保债权提供担保，质押期限和质押价值以股份的实缴价值为限。质权人可将其质权连同主债务一并转让。质权人亦可确认部分本金的偿还，在此情况下，系统将按比例自动减少质押的股权。

质权人可设立哈希锁机制，一旦出质人通过链下方式偿还本金，质权人提交相应的哈希钥匙后，质押即可解除。债务到期后，质权人可通过将质押股权转让给指定买方的方式行使质权。反之，担保期限届满后，出质人可撤销质权以解除对质押股份的锁定。

需要强调的是，质权人及行权时指定的任何买方均须取得并维持合格投资人资格。否则，系统将返回错误信息，并阻止质权的设立及行使。

设立及管理股权质押的具体步骤如下：

1. 股东可调用 createPledge()（No.52 接口），以编号为 *snOfPld* 的质押，实缴金额为 *paid*，票面金额为 *par*，担保债务金额为 *guaranteedAmt*，担保期限为 *execDays* 天。
2. 质权人可调用 transferPledge()（No.53 接口），将在编号为 *seqOfShare* 的质押股份上设立的编号为 *seqOfPld* 的质权，转让给编号为 *buyer* 的用户，转让的债权金额为 amt。
3. 质权人调用 refundDebt()（No.54 接口），确认偿还由编号为 *seqOfShare* 的质押股份上设立的编号为 *seqOfPld* 的质权所担保的债务，偿还金额为 *amt*。
4. 出质人调用 extendPledge()（No.55 接口），将编号为 *seqOfShare* 的质押股份上设立的编号为 *seqOfPld* 的质权的担保期限延长 *extDays* 天。
5. 质权人调用 lockPledge()（No.56 接口），在编号为 *seqOfShare* 的质押股份上设立的编号为 *seqOfPld* 的质权上，设置哈希值为 *hashLock* 的哈希锁。
6. 在链下支付对价并获取哈希钥匙后，出质人调用 releasePledge()（No.57 接口），通过输入哈希钥匙字符串 *hashKey*，解除编号为 *seqOfShare* 的质押股份上设立的编号为 *seqOfPld* 的质权。
7. 债务到期后且担保期限届满前，质权人调用 execPledge()（No.58 接口），执行编号为 *seqOfShare* 的质押股份上设立的编号为 *seqOfPld* 的质权，将标的股份转让给编号为 *buyer* 的用户，该用户属于由编号为 *groupOfBuyer* 的用户代表的一致行动人小组。
8. 担保期限届满后，出质人调用 revokePledge()（No.59 接口），撤销编号为 *seqOfShare* 的质押股份上设立的编号为 *seqOfPld* 的质权。

<figure><img src="/files/fdPFs2X2BZ0H0rHE47i2" alt=""><figcaption></figcaption></figure>

</details>

<details>

<summary>7.11 行使股东协议权利的特殊投资人权利</summary>

优先购买权、拖售权、随售权及反稀释权是股权投资交易中的常见条款。尽管所有此类权利同时行使的可能性极低，但系统为其行使提供了明确的优先顺序。

一旦投资协议签署完毕，优先购买权的持有人可先行行权。在此情况下，系统将终止原投资协议项下的交易，并记录优先购买权的行使请求。优先购买权行使期届满后，卖方（或发行人）可触发相关接口计算优先购买权的行使结果。届时，系统将根据股东协议合约中规定的优先购买权规则，重新计算并生成反映更新后交易的新投资协议。

此后，拖售权或随售权的持有人可行使其权利。适用的行权期届满后，投资协议项下的买方（或认购方）可触发接口，确认接受因拖售权或随售权行权而产生的附加转让交易。

若增资交易中的发行价格低于股东协议合约中规定的反稀释条款，反稀释权的持有人可行使其权利。在此情况下，系统将自动生成转让交易，将指定实缴金额的股份从反稀释义务方的持股中无偿重新分配给权利人。在基础交易交割后，权利人可触发相关接口接收额外股份，从而将其持股的认购价格调整至与增资交易价格一致。

上述特殊投资人权利的行权程序如下：

1. 权利人调用 execFirstRefusal()（No.64 接口），根据编号为 *seqOfRule* 的规则，以 *seqOfRightholder* 作为权利人识别序号，请求购买部署在地址 ia 的投资协议中编号为 *seqOfDeal* 的交易项下的标的股份，并附上签名哈希值 *sigHash*。
2. 任何股东可调用 computeFirstRefusal()（No.65 接口），计算部署在地址 *ia* 的投资协议中编号为 *seqOfDeal* 的交易的优先购买权请求结果，从而获取自动更新的投资协议。
3. 权利人可调用 execAlongRight()（No.60 接口），针对部署在地址 ia 的投资协议中编号为 *seqOfDeal* 的拖售权交易，按照义务方编号为 *seqOfShare* 的股份的相同条件，出售其实缴价值为 *paid*、票面价值为 *par* 的股份，并附上签名哈希值 *sigHash*。
4. 权利人可调用 execAlongRight()（No.60 接口），针对部署在地址 *ia* 的投资协议中编号为 *seqOfDeal* 的随售权交易，按照其编号为 *seqOfShare* 的股份的相同条件，出售其实缴价值为 *paid*、票面价值为 *par* 的股份，并附上签名哈希值 *sigHash*。
5. 买方（或认购方）可调用 acceptAlongDeal()（No.61 接口），接受针对部署在地址 *ia* 的投资协议中编号为 *seqOfDeal* 的交易的拖售/随售请求，并附上签名哈希值 *sigHash*。
6. 权利人可调用 execAntiDilution()（No.62 接口），针对部署在地址 *ia* 的投资协议中编号为 *seqOfDeal* 的交易，就其编号为 *seqOfShare* 的股份行使反稀释权，并附上签名哈希值 *sigHash*。
7. 权利人可调用 takeGiftShares()（No.63 接口），根据股东协议合约的反稀释条款，领取针对部署在地址 *ia* 的投资协议中编号为 *seqOfDeal* 的交易产生的赠与股份。

<figure><img src="/files/eW9kmKHOwRZxo6ku6x9y" alt=""><figcaption></figcaption></figure>

</details>

<details>

<summary>7.12 执行强买权/强卖权</summary>

期权是股权融资安排中的常见条款，通常采取强买权或强卖权的形式。触发条件可以仅基于时间的推移或特定日期的到来，也可以取决于公司的收入或净利润低于或超过特定阈值等财务指标。对于公司收入等链下数据，触发条件的更新应由独立的第三方审计机构进行，或通过自动化的预言机服务提供商提供的实时数据馈送来完成。

在强卖权下，期权持有人可将义务方持有的股份指定为质押股份，并将其自身拟处置的股份指定为目标股份，从而创建互换交易。相反，在强买权下，期权持有人可将其拟收购的义务方股份指定为目标股份，并将其自身的股份指定为质押股份，同样创建互换交易。

在此结构中：

* 强卖权的义务方，或强买权的持有人，作为目标股份的买方，可通过支付 USDC 收购目标股份，从而解除互换交易项下的质押股份。
* 强卖权的持有人，或强买权的义务方，作为目标股份的卖方，可触发接口执行互换交易，转让目标股份，同时解除对质押股份的质押。

互换交易中目标股份的转让价格，根据股东协议合约中规定的强卖权/强买权条款确定。质押股份的质押实缴金额由系统自动计算，其公式为目标股份转让的总交易价值除以质押股份的收购价格。

执行期权的程序如下：

1. 总管理人合约的直接管理人调用 updateOracle()（No.47 接口），针对编号为 *seqOfOpt* 的特定期权，更新关键绩效指标 d1、d2 及 d3。
2. 期权持有人调用 execOption()（No.48 接口），执行编号为 *seqOfOpt* 的期权。
3. 期权持有人调用 createSwap()（No.49 接口），针对编号为 *seqOfTarget* 的目标股份，以实缴金额 *paidOfTarget*，并以编号为 *seqOfPledge* 的质押股份作为担保物，为执行编号为 *seqOfOpt* 的期权创建互换交易。
4. 目标股份的买方调用 payOffSwap()（No.50 接口），根据编号为 *seqOfOpt* 的期权下编号为 *seqOfSwap* 的互换交易，支付等值的一定数量的 USDC，以了结该互换交易。
5. 目标股份的股东调用 terminateSwap()（No.51 接口），通过转让目标股份并解除质押股份的质押，执行编号为 *seqOfOpt* 的期权下编号为 *seqOfSwap* 的互换交易。

<figure><img src="/files/MTtwT5aWYatmPRrkAj10" alt=""><figcaption></figcaption></figure>

</details>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://comboox.gitbook.io/whitepaper-cn/xi-tong-zong-shu/7.-gu-quan-jiao-yi-yu-gong-si-zhi-li-chang-jing.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
