# Dappier Database information ## Deployer Service The `deployerService` returns: ```typescript= export interface DeployedContractData { network: string; deployer: string; // the address of the deployer contractAddress: string; // the address of the deployed contract variantId: number // saleId or collectionId variant } ``` We can store all of the `DeployedContractData` specifying the contract type (collection, sale or marketplace contract). Roles ## Contracts ABIs We can store the contract ABIs we support associating the `variantId` and the contract type. This can be used at our contract-services initializations. ## Customer Info We can store customer-related info and associate each customer with his deployed contracts. ## Blockchain Info We could store all the blockchain-related info such as the name of the EVM blockchain, the network, the chainId, the provider. ## Upgradeable Deployer Service The upgradeable deployer service will return additionally to `deployerService` the `proxyAdmin` contract address and the `transparentProxy` contract address. We should store this info too. Note that this is for future use. ## Tables ### Customer ```typescript= { customer id; (PK) customer name; xanadu id; } ``` ### Network ```typescript= { network id; (PK) network name; chain id; currency symbol; description; http provider; websocket provider; } ``` ### Vouchers ```typescript= { domainName; domainVersion; contractAddress; (FK) signer; (address) message; (data to be signed) } ``` ### Deployment Transaction ```typescript= { deployer; contractAddress; txHash; blockTimestamp; gas price; gas used; total cost; Network; (FK) Customer; (FK) } ``` ### Contracts ```typescript= { contract id; bytecode; generatedABI; (optional) Deployment Transaction; (FK) } ``` ### Upgradeables ```typescript= { proxyAdmin; (address) proxyContract; (Contracts) implementationContract; (Contracts) kind; (tranparent or uups) } ``` ### Collection Variants ```typescript= { variant id; variant name; (contract name) description; ABI; standard; (ERC721 or ERC1155) } ``` ### Collections ```typescript= { collection id; Collection Variants (FK variant id); name; symbol; Contracts; upgradeable; } ``` ### Sales ```typescript= { sale id; variant id; } ``` ### Sale Variants ```typescript= { variant id; variant name; (contract name) description; ABI; standard; (first-hand-sale/dutch-auction) } ```