diff --git a/resources/images/wallets/internal_message_dark.svg b/resources/images/wallets/internal_message_dark.svg
new file mode 100644
index 000000000..b5acd9d71
--- /dev/null
+++ b/resources/images/wallets/internal_message_dark.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/resources/images/wallets/internal_message_light.svg b/resources/images/wallets/internal_message_light.svg
new file mode 100644
index 000000000..b5acd9d71
--- /dev/null
+++ b/resources/images/wallets/internal_message_light.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/resources/images/wallets/simple_opcode_dark.svg b/resources/images/wallets/simple_opcode_dark.svg
new file mode 100644
index 000000000..4c2683478
--- /dev/null
+++ b/resources/images/wallets/simple_opcode_dark.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/resources/images/wallets/simple_opcode_light.svg b/resources/images/wallets/simple_opcode_light.svg
new file mode 100644
index 000000000..4c2683478
--- /dev/null
+++ b/resources/images/wallets/simple_opcode_light.svg
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/standard/wallets/v4.mdx b/standard/wallets/v4.mdx
index 9ffc03672..4941363fd 100644
--- a/standard/wallets/v4.mdx
+++ b/standard/wallets/v4.mdx
@@ -4,6 +4,7 @@ sidebarTitle: "V4"
---
import { Aside } from '/snippets/aside.jsx';
+import { Image } from '/snippets/image.jsx';
This version retains all the functionality of the previous versions and introduces plugins.
@@ -105,28 +106,11 @@ Next, let's explore the types of messages:
The simple send operation processes a chain of messages, where each message contains a mode and a reference to the actual message cell:
-```mermaid
-graph TB
- A["External Message Body"] --> B["opcode = 0x0"]
- B --> C["Message Chain Processing"]
-
- C --> D["Message 1"]
- D --> E["mode: 8 bits"]
- D --> F["^Cell: Message 1"]
-
- C --> G["Message 2"]
- G --> H["mode: 8 bits"]
- G --> I["^Cell: Message 2"]
-
- C --> J["..."]
- J --> K["Up to 4 messages total"]
-
- style A fill:#e1f5fe
- style E fill:#fff3e0
- style F fill:#f3e5f5
- style H fill:#fff3e0
- style I fill:#f3e5f5
-```
+
**Processing logic:**
diff --git a/standard/wallets/v5-api.mdx b/standard/wallets/v5-api.mdx
index 317f4acaf..dc9f55c84 100644
--- a/standard/wallets/v5-api.mdx
+++ b/standard/wallets/v5-api.mdx
@@ -4,6 +4,7 @@ sidebarTitle: "How to interact"
---
import { Aside } from "/snippets/aside.jsx";
+import { Image } from '/snippets/image.jsx';
This article provides overview of wallet V5 public interfaces, how to interact with them and serialize used data structures.
@@ -461,24 +462,11 @@ You can send this BoC to the network in any convenient way, e.g. with API provid
These two types of messages are internal messages, meaning that they need to come from another contract. However strange that may sound, the easiest way to send internal message from another contract is to ask another wallet contract to send internal message to our wallet contract with body that will contain our constructed message.
-```mermaid
-graph LR
- A["👤 User"] --> B["📱 V4 Wallet Contract (Sender)"]
-
- B -->|"Internal message with body: 🔐 internal_signed (#73696e74) or 🔧 internal_extension (#6578746e)"| C["🏦 V5 Wallet Contract (Receiver)"]
-
- C --> D["⚡ Execute Actions on V5 wallet"]
-
- classDef user fill:#e3f2fd,stroke:#1976d2,stroke-width:2px
- classDef v4wallet fill:#fff3e0,stroke:#f57c00,stroke-width:2px
- classDef v5wallet fill:#e8f5e8,stroke:#388e3c,stroke-width:2px
- classDef action fill:#ffebee,stroke:#d32f2f,stroke-width:2px
-
- class A user
- class B v4wallet
- class C v5wallet
- class D action
-```
+
For simplicity, we will use wallet V4 contract with existing client serialization library that will take care of all low level stuff.