> For the complete documentation index, see [llms.txt](https://comboox.gitbook.io/whitepaper-en/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://comboox.gitbook.io/whitepaper-en/technical-brochure/behaviors-and-process/share-transaction.md).

# Share Transaction

The action flow by various stakeholders to promote share transactions through legal behaviors is shown in the table below:

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

The detailed flow of algorithmic instruction interactions between system smart contracts at each step of the action is as follows:

<details>

<summary>(0) Query the caller's user number</summary>

* As the pre-defined process for identity verification, almost each **legal behavior** in the system starts with querying caller's user number.
* **Logical flow**: as follow.

<img src="/files/hulfXLV9m4r75zKTHICz" alt="" data-size="original">

</details>

### A. Draft Investment Agreement

<details>

<summary>(1)  <strong>Create Investment Agreement</strong></summary>

* **Actor**: it is generally triggered by the share transferor (in share transaction) or the actual controller (in a capital increase transaction)
* **Calling API**: (to be added)
* **Action Consequences**:

1. Create and deploy a new clone contract based on the **investment agreement** contract template;
2. Initialize access control settings for the new **investment agreement** contract;
3. Registering the address of the new **investment agreement** contract in the **investment agreement** registry.

* **Logical flow**: as follows.

<img src="/files/Q9UV8mM4R8cl2BQMEi8V" alt="" data-size="original">

</details>

<details>

<summary>(2) Appoint General Counsel</summary>

* **Actor**: the creator of **investment agreement**s
* **Calling API**: (to be added)
* **Action Consequences**: Set the **general counsel** role in **investment agreement** to a specific account address;
* **Logical flow**: as follows.

<img src="/files/B30nMBwLAgH2RbpgxrbE" alt="" data-size="original">

</details>

<details>

<summary>(3) Draft the Contract</summary>

* **Actor:** the **general counsel** of **investment agreement**s
* **Calling API:** (to be added)
* **Action Consequences:** Set the order objects in **investment agreement**;
* **Logical flow:** as follows.

<img src="/files/IW9wkHzo3yrUrznyVpyJ" alt="" data-size="original">

</details>

<details>

<summary>(4) Set the Signature and Closing Deadline</summary>

* **Actor**: the **general counsel** of **investment agreements**
* **Calling API**: (to be added)
* **Action Consequences**: Set the signature and delivery deadline in **investment agreement**;
* **Logical flow**: as follows.

<img src="/files/9XV4DIZTrxI11YwjItiJ" alt="" data-size="original">

</details>

<details>

<summary>(5) Set the Parties</summary>

* **Actor:** the **general counsel** of **investment agreement**s
* **Calling API**: (to be added)
* **Action Consequences**: Add or delete a signature for the parties to the contract on the **SigPage** of the **investment agreement**;
* **Logical flow**: as follows.

<img src="/files/UXDNzwvlUjnmfeI30twh" alt="" data-size="original">

<img src="/files/aeKjWaitIiYwzPC0LQQJ" alt="" data-size="original">

</details>

<details>

<summary>(6) Finalize the Contract</summary>

* **Actor:** need to be triggered by the shareholder who creates the contract after reviewing the content;
* **Calling API**: (to be added)
* **Action Consequences:** Revoke the "**Attorney**" in contracts and transfer of the "**Owner**" to a zero address, revoking the right to modify the contract;
* **Logical flow:** as follows.

<img src="/files/GqgEO92NELtuviKK3COE" alt="" data-size="original">

</details>

### B. Sign Investment Agreement

<details>

<summary>(7) Circulate the Contract</summary>

* **Actor:** triggered by the **contractual parties**
* **Calling API**: (to be added)
* **Action Consequences:** Write the period of enforcement into the data objects of **investment agreement**s, in accordance with the voting rules in the **investment agreement**;
* **Logical flow**: as follows.

<img src="/files/VQ932j039xASJiau2jdk" alt="" data-size="original">

</details>

<details>

<summary>(8) <strong>Sign the Investment Agreement</strong></summary>

* **Actor:** triggered by the **contractual parties**
* **Calling API**: (to be added)
* **Action Consequences:** Lock the transactions related to the **investment agreement** and record the caller's signature on the first signature page;
* **Logical flow**: as follows.

<img src="/files/7DBEa495Hum6MxUbepcn" alt="" data-size="original">

</details>

### C. **Review and Vote for Investment Agreement**

<details>

<summary>(9) Submit to General Meeting</summary>

* **Actor:** triggered by an account that process both **signature** and **shareholder** identity;
* **Calling API**: (to be added)
* **Action Consequences:** Lock the transactions related to the **investment agreement** and record the caller's signature on the first signature page;
* **Logical flow**: as follows.

<img src="/files/IEo69qD4hcASTnTp3fUo" alt="" data-size="original">

</details>

<details>

<summary>(10) Delegate </summary>

* **Actor**: triggered by the **shareholders** who have never given delegate;
* **Input parameters:** motion number, the user number of the designated user;
* **Action Consequences**: Vest the number of shareholders giving delegate and the weight of their votes to the designated user;
* **Logical flow**: as follows.

<img src="/files/XGe1U8nSZbPXZPIfM13B" alt="" data-size="original">

</details>

<details>

<summary>(11) Vote</summary>

* **Actor**: triggered by the **shareholders** who have never voted or delegated to vote;
* **Input parameters**: motion number, voting attitude, Signature File Hash(selectable);
* **Action Consequences:** Add the votes to ballots case;
* **Logical flow**: as follows.

<img src="/files/ZmFMgKvuQtXILYNFtctE" alt="" data-size="original">

</details>

<details>

<summary>(12) Ballots</summary>

* **Actor**: triggered any accounts (to avoid the delayed voting calculation by the losing party);
* **Input parameters**: motion number;
* **Action Consequences:** Vest the number of shareholders giving delegate and the weight of their votes to the designated user;
* **Logical flow**: as follows.

<img src="/files/in9bLHzBMWzVBoo00jaA" alt="" data-size="original">

</details>

### D. Execution of Investment Agreement

<details>

<summary>(13) Deliver the Shares directly</summary>

* **Actor**: The **seller** in the share transfer transaction;
* **Input parameters**: the contract address of **investment agreement** and the deal number;
* **Action Consequences:** **Cancel** the underlying shares of deals and issue new shares with the same class, amount and weight to the **buye**r;
* **Logical flow**: as follows.

<img src="/files/Hbc9NPdDuAy98wEz83Tg" alt="" data-size="original">

</details>
