# Dojang Contracts

## Testnet (GIWA Sepolia)

### Attesters

| Attester Name  | Attester ID                                                          | Attester Address                                                                                                                    |
| -------------- | -------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------- |
| UPBIT KOREA    | `0xd99b42e778498aa3c9c1f6a012359130252780511687a35982e8e52735453034` | [`0x4097bF3Cb731AEB3E501b910B33B2aF9Fa68E38`](https://sepolia-explorer.giwa.io/address/0x4097bF3Cb731AEB3E501b910B33B2aF9Fa68E388)  |
| TESTNET FAUCET | `0xaa92f8c143657dde575de430aecaea6ca91f2e6072339b16932d426895d8d678` | [`0x63CCe2b569A7bC35895ee24306c1512fefc06121`](https://sepolia-explorer.giwa.io/address/0x63CCe2b569A7bC35895ee24306c1512fefc06121) |

### Schemas

<table data-full-width="false"><thead><tr><th>Schema Name</th><th>Description</th><th>Schema Content</th><th>Schema ID</th><th>Schema UID</th></tr></thead><tbody><tr><td>Verified Address</td><td>A wallet address that has been identity-verified by a trusted issuer.</td><td><code>bool isVerified</code></td><td><code>0x568eb581cdf80b03d3bdfa414f3203bfdcc4bba4e66355612bd0e879da812f06</code></td><td><code>0x072d75e18b2be4f89a13a7147240477481c4b526d5795802acba59046b426e08</code></td></tr><tr><td>Balance Root</td><td>A Merkle-tree summary of all users’ balances at a specific snapshot timestamp.</td><td><code>uint256 coinType,uint64 snapshotAt,uint192 leafCount,uint256 totalAmount,bytes32 root</code></td><td><code>0xf09c1384d860519bb4ea5bb2a45ab64b00a8d900d47fb79203663be6da21e06c</code></td><td><code>0x369faa9c2cd261c45be3db5e230b585f5f1abecf8e12be575bb543e917e6db52</code></td></tr><tr><td>Verified Balance</td><td>A user’s balance at a specific timestamp has been verified by a trusted issuer.</td><td><code>uint256 balance,bytes32 salt,bytes32[] proofs</code></td><td><code>0x06c3bd846f5ea60b0b6f5a835ef85fd8253b53f67917d6c690be628d032f841b</code></td><td><code>0x77bf88ca262cc63e1b185dccd870aacc5320b8987ef6c7169920f265fe6ab5e9</code></td></tr><tr><td>Verified Code</td><td>An off-chain authentication code issued to the user by the provider</td><td><code>bytes32 codeHash,string domain</code></td><td><code>0x68053e055c01ce9b3577f3162b36324bb195ebcb574c48e823480d205f06af9b</code></td><td><code>0x55ac1369dac97522d062b89ffdc4e752b48fbeba86915fdb956c7c2d0501d280</code></td></tr></tbody></table>

### Contracts

{% hint style="info" %}
Want to query Dojang data? Start with the `DojangScroll` contract from the list below.
{% endhint %}

<table><thead><tr><th>Name</th><th width="249.0869140625">Description</th><th>Address</th></tr></thead><tbody><tr><td>SchemaRegistry</td><td>Contract for querying and registering schemas</td><td> <a href="https://sepolia-explorer.giwa.io/address/0x4200000000000000000000000000000000000020"><code>0x420000000000000000000000000000000000002</code></a></td></tr><tr><td>EAS</td><td>Contract for querying, issuing, and revoking attestations</td><td><a href="https://sepolia-explorer.giwa.io/address/0x4200000000000000000000000000000000000021"><code>0x4200000000000000000000000000000000000021</code></a></td></tr><tr><td>SchemaBook</td><td>Contract that manages the list of schemas</td><td><a href="https://sepolia-explorer.giwa.io/address/0x78cBb3413FBb6aF05EF1D21e646440e56baE3AD6"><code>0x78cBb3413FBb6aF05EF1D21e646440e56baE3AD6</code></a></td></tr><tr><td>DojangAttesterBook</td><td>Contract that manages the list of attesters</td><td><a href="https://sepolia-explorer.giwa.io/address/0xDA282E89244424E297Ce8e78089B54D043FB28B6"><code>0xDA282E89244424E297Ce8e78089B54D043FB28B6</code></a></td></tr><tr><td>AttestationIndexer</td><td>Contract that indexes all Dojang attestations. Use this contract when querying.</td><td><a href="https://sepolia-explorer.giwa.io/address/0x9C9Bf29880448aB39795a11b669e22A0f1d790ec"><code>0x9C9Bf29880448aB39795a11b669e22A0f1d790e</code></a></td></tr><tr><td>AddressDojangResolver</td><td>Hook contract triggered when Verified Address attestations are issued or revoked</td><td><a href="https://sepolia-explorer.giwa.io/address/0x692009FE206C3F897867F6BF7B5B45506B747F9e"><code>0x692009FE206C3F897867F6BF7B5B45506B747F9e</code></a></td></tr><tr><td>BalanceRootDojangResolver</td><td>Hook contract triggered when Balance Root attestations are issued or revoked</td><td><a href="https://sepolia-explorer.giwa.io/address/0xD90a964aB65bc02397De1E7fcBd230803bC1bEd0"><code>0xD90a964aB65bc02397De1E7fcBd230803bC1bEd</code></a></td></tr><tr><td>BalanceDojangResolver</td><td>Hook contract triggered when Verified Balance attestations are issued or revoked</td><td><a href="https://sepolia-explorer.giwa.io/address/0x6FFa7ABc1E380Bb967C78D5E648EF804e1fE6dAd"><code>0x6FFa7ABc1E380Bb967C78D5E648EF804e1fE6dA</code></a></td></tr><tr><td>VerifyCodeDojangResolver</td><td>Hook contract triggered when Verified Code attestations are issued or revoked</td><td><a href="https://sepolia-explorer.giwa.io/address/0x843fF433f7657901118fF3E2Eca915abb9BC12Df"><code>0x843fF433f7657901118fF3E2Eca915abb9BC12D</code></a></td></tr><tr><td>DojangScroll</td><td>Contract for easily querying Dojang data</td><td><a href="https://sepolia-explorer.giwa.io/address/0xd5077b67dcb56caC8b270C7788FC3E6ee03F17B9"><code>0xd5077b67dcb56caC8b270C7788FC3E6ee03F17B9</code></a></td></tr></tbody></table>

## Learn more

You can find the Dojang contract code in <i class="fa-github">:github:</i> [**giwa-io/dojang**](https://github.com/giwa-io/dojang) repositor&#x79;**.**


---

# 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://docs.giwa.io/giwa-chain/en/giwa-ecosystem/dojang/contracts.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.
