From 375297e256877cc47b4134f1ae6badfad272a97c Mon Sep 17 00:00:00 2001 From: Alex Palmer <24211477+ThatAlexPalmer@users.noreply.github.com> Date: Sun, 11 Feb 2024 20:28:17 -0500 Subject: [PATCH] Add a description of the factory and beacon --- src/pages/protocol/tap-cap-table.mdx | 23 ++++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/src/pages/protocol/tap-cap-table.mdx b/src/pages/protocol/tap-cap-table.mdx index a2e6a53..5d20ce1 100644 --- a/src/pages/protocol/tap-cap-table.mdx +++ b/src/pages/protocol/tap-cap-table.mdx @@ -1 +1,22 @@ -# Onchain Cap Table \ No newline at end of file + +import { Card, Cards, Callout } from 'nextra/components' + +# Onchain Cap Table Overview +This documentation is currently in public preview + +Let's go over smart contract and what it does. We're going to start with the Cap Table Factory. + +## Cap Table Factory + +The [CapTableFactory](https://github.com/transfer-agent-protocol/tap-cap-table/blob/main/chain/src/CapTableFactory.sol) smart contract uses OpenZeppelin's upgradeable beacon pattern to create and manage upgradeable instances of cap tables for tokenized assets, leveraging proxy contracts for modularity and upgradability. + +It lets the contract owner to create new cap table instances with specific initial parameters (ID, name, and initial shares authorized) and update the underlying cap table implementation for all instances via the beacon. + +The contract tracks each cap table proxy created, offering a function to count the total number of cap tables managed. The contract also provides a function to retrieve the address of a cap table proxy by its index. + + + + \ No newline at end of file