---
# System prepended metadata

title: HoloDeck Devtool Breakdown

---

# HoloDeck Devtool Breakdown
---

## Interact with Wallet
- Connect Kelpr wallet
- Send Msg (Execute)
    - StoreCode
    - Instantiate Contract
    - MsgExecuteContract
- Query Msg
- Get & Update User config (BackEnd)
    - Directory
    - History

## Interact with GraphQL (read)
- Codes
    - my stored
    - info
        - description
- Contract
    - only me
- Past Txs
    - hash
    - messages
    - timestamp
    - etc.

## Interact with Offchain Back-end (read/write)
- Instantiated contract
    - name
    - description
    - tags + color
    - list ไหน
    - owner
- Codes
    - description
    - saved code
    - info
        - description

## Routes
- `/` -> Overview
- `/upload` -> Upload Wasm
- `/instantiate?code-id` -> Instantiate Code
- `/codes` -> All Codes
- `/contracts` -> Contract Lists
- `/contracts/:list-name` -> Contract list
- `/query?contract-address`
- `/execute?contract-address`
- `/txs` -> Past transactions
- `/pubilc-contracts` -> Public Contracts



## Local State

userKey = chainName + address

### Codes

```jsonld

interface CodeInfo {
  description?: string;
}

```

#### Get data
- lastSavedCodes(userKey)

#### Action
- saveNewCode
- removeSavedCode
- updateCodeInfo


### Contract List


```typescript
interface ContractListInfo {
  name: string;
  slug: string;
  contracts: string[];
  lastUpdated: Date;
}

interface ContractInfo {
  name: string;
  address: string;
  description?: string;
  tags: string[];
  instantiator: string;
}
```

#### Get Data
- getContractList

#### Action
- createNewList
- renameList
- removeList
- addContractToList
- removeContractFromList
- updateContractInfo
- isContractListExist
