> For the complete documentation index, see [llms.txt](https://suisec.gitbook.io/suisec/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://suisec.gitbook.io/suisec/dryrun-plus/ux-pattern.md).

# UX Pattern

This section introduces common design patterns for integrating dryRunPlus into wallet applications.

Return Data Structure

```typescript
export interface Response {
  dryRun: DryRunTransactionBlockResponse;
  pass: boolean;
  msg: String | undefined;
}
```

## Normal Transaction

When no transaction risks are identified, the `pass` value is `true`, and the wallet displays the `DryRunTransactionBlockResponse` information normally.

<figure><img src="https://1552852592-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FEWhRXkDUyVONNOl6ruTU%2Fuploads%2Fgit-blob-1129f132c6dbf23d03c190730976130ace6b954a%2Fnormal.png?alt=media" alt="" width="160"><figcaption><p>Normal Transaction</p></figcaption></figure>

## Risky Transaction

When transaction risks are identified, the `pass` value is `false`, and there are two patterns for intercepting user transaction signatures.

### Risk Pattern A

<figure><img src="https://1552852592-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FEWhRXkDUyVONNOl6ruTU%2Fuploads%2Fgit-blob-8e44be20f24d82c5ea454659700b9c8e4b1984b3%2FPattern1.png?alt=media" alt="" width="160"><figcaption><p>Pattern 1</p></figcaption></figure>

Display the risk information in the transaction, that is, `Response.msg`. Change the transaction signature button to a warning color, such as red.

### Risk Pattern B

<figure><img src="https://1552852592-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FEWhRXkDUyVONNOl6ruTU%2Fuploads%2Fgit-blob-1e12dea502513f96a90c0f6d9d9b033d36ce051a%2FPattern2.png?alt=media" alt="" width="160"><figcaption><p>Pattern 2</p></figcaption></figure>

Display the risk information in the transaction, that is, `Response.msg`. Change the transaction signature button to gray and make it unusable. If the user insists on trusting the transaction, they can first disable `dryRunPlus` by using the switch button.
