diff --git a/docs/develop/dapps/telegram-apps/tips-and-tricks.mdx b/docs/develop/dapps/telegram-apps/tips-and-tricks.mdx
new file mode 100644
index 0000000000..5294c0fd5f
--- /dev/null
+++ b/docs/develop/dapps/telegram-apps/tips-and-tricks.mdx
@@ -0,0 +1,31 @@
+
+
+# Tips and Tricks
+
+
+:::danger
+Page is under development.
+:::
+
+
+On this page, you'll find a list of frequently asked questions related to issues in TMA.
+
+### How to solve the cache overflow issue in TMA?
+
+:::tip
+Only reinstalling the Telegram application could be helpful.
+:::
+
+
+### Are there any recommendations on caching headers for HTML files?
+
+:::tip
+It's preferable to switch off cache in the HTML. To ensure your cache switched off, specify headers in your request according the following:
+
+```curl
+Cache-Control: no-store, must-revalidate
+Pragma: no-cache
+Expires: 0
+```
+:::
+
diff --git a/docs/develop/overview.mdx b/docs/develop/overview.mdx
index 703b825253..75efd0b997 100644
--- a/docs/develop/overview.mdx
+++ b/docs/develop/overview.mdx
@@ -88,7 +88,7 @@ Take your first steps in DApps development with a comprehensive DApps building g
* [APIs](/develop/dapps/apis)
* [SDKs](/develop/dapps/apis/sdk)
-## TON Education Hub
+## TON Education
- [Education](https://github.com/ton-community/awesome-ton#-education) - Unveil the comprehensive list of various educational materials, meticulously crafted by the remarkable TON Community.
diff --git a/docs/develop/smart-contracts/testing/writing-test-examples.mdx b/docs/develop/smart-contracts/testing/writing-test-examples.mdx
index 03e414a067..d00827393a 100644
--- a/docs/develop/smart-contracts/testing/writing-test-examples.mdx
+++ b/docs/develop/smart-contracts/testing/writing-test-examples.mdx
@@ -46,18 +46,17 @@ blockchain.verbosity = {
## Direct Unit Tests
Fireworks demonstrate different operating with sending messages in the TON Blockchain.
-![](/img/docs/test-examples/fireworks_trace_tonviewer.png?=RAW)
+
+![](/img/docs/writing-test-examples/test-examples-schemes.svg)
Once you deploy this with message `set_first` with enough TON amount, it will be automatically executed with primary and usable combinations of send modes.
Fireworks redeployed itself, as result it will be created 3 entities of Fireworks entities, while each of entity has own ID(keep it in storage) and, as a result, different Smart Contract Address.
-For clearness define different by ID Fireworks entities with the following names:
+For clearness define different by ID Fireworks instances (different `state_init`) with the following names:
* 1 - Fireworks setter - The entity that spread different launch op codes. Could be extended up to four different opcodes.
-* 2 - Fireworks launcher 1 - The Fireworks instance, which launch first fireworks, means messages will be sent to the launcher.
-* 3 - Fireworks launcher 2 - The Fireworks instance, which launch second fireworks, means messages will be sent launcher.
-
-Each 'firework' - is a transaction which executed with unique message body and message sending mode.
+* 2 - Fireworks launcher-1 - The Fireworks instance, which launch first fireworks, means messages will be sent to the launcher.
+* 3 - Fireworks launcher-2 - The Fireworks instance, which launch second fireworks, means messages will be sent launcher.
@@ -77,6 +76,8 @@ index - is an ID of a transaction in the `launchResult` array.
+Each 'firework' - is outbound message with a unique message body appears in transactions with ID:3 and ID:4.
+
Bellow the list of test for each transaction expected successfully executed. Transaction[ID:0] External request to the treasury (the Launcher) that resulted with a outbound message `op::set_first` with 2.5 to fireworks. In case you will deploy Fireworks to the blockchain launcher is your wallet.
@@ -85,11 +86,14 @@ Bellow the list of test for each transaction expected successfully executed. Tra
[This test](https://github.com/ton-community/fireworks-func/blob/main/tests/Fireworks.spec.ts#L75) checks if the fireworks are successfully set by sending a transaction with a value of 2.5 TON.
This is the simplest case, the main purpose here to assert result of transaction success property to true.
+
To filter certain transaction from the `launhcResult.transactions` array, we can use the most convince fields.
With
`from` (contract sender address), `to` (contract destination address), `op` (Op code value) - we will retrieve only one transaction for this combination.
-The transaction[ID:1] in Fireworks Setter contract invoked with `op::set_first` and executed with two outbound messages to the Fireworks Launcher-1 and Fireworks Launcher-2
+![](/img/docs/writing-test-examples/test-examples-schemes_id1.svg)
+
+The transaction[ID:1] in Fireworks Setter contract invoked with `op::set_first` and executed with two outbound messages to the Fireworks launcher-1 and Fireworks launcher-2
```typescript
@@ -115,6 +119,8 @@ The transaction[ID:1] in Fireworks Setter contract invoked with `op::set_first`
[This test](https://github.com/ton-community/fireworks-func/blob/main/tests/Fireworks.spec.ts#L92) checks if the transaction[ID:2] executed successfully.
+![](/img/docs/writing-test-examples/test-examples-schemes_id2.svg)
+
The transaction in the Fireworks launcher 1 invoked with `op::launch_first`, and executed with four outbound messages to the Launcher.
```typescript
@@ -154,6 +160,8 @@ The full list of Account Status related fields:
[This test](https://github.com/ton-community/fireworks-func/blob/main/tests/Fireworks.spec.ts#L113) checks if the transaction[ID:3] executed successfully.
+![](/img/docs/writing-test-examples/test-examples-schemes_id3.svg)
+
The transaction[ID:3] carries out in the Fireworks launcher 1, invokes with `op::launch_first`, and executes with four outbound messages to the Launcher.
@@ -189,6 +197,8 @@ The transaction[ID:3] carries out in the Fireworks launcher 1, invokes with `op:
[This test](https://github.com/ton-community/fireworks-func/blob/main/tests/Fireworks.spec.ts#L133) checks if the transaction[ID:4] executed successfully.
+![](/img/docs/writing-test-examples/test-examples-schemes_id4.svg)
+
Transaction[ID:4] carries out in the Launcher(Deploy Wallet) with incoming message from the Fireworks launcher 1. This message sent with `send mode = 0` in the Transaction[ID:2].
```typescript
@@ -216,6 +226,8 @@ Transaction[ID:4] carries out in the Launcher(Deploy Wallet) with incoming messa
[This test](https://github.com/ton-community/fireworks-func/blob/main/tests/Fireworks.spec.ts#L152) checks if the transaction[ID:5] executed successfully.
+![](/img/docs/writing-test-examples/test-examples-schemes_id5.svg)
+
Transaction[ID:5] carries out in the Launcher with incoming message from the Fireworks launcher 1. This message sent with `send mode = 1`
```typescript
@@ -244,6 +256,8 @@ Transaction[ID:5] carries out in the Launcher with incoming message from the Fi
[This test](https://github.com/ton-community/fireworks-func/blob/main/tests/Fireworks.spec.ts#L170) checks if the transaction[ID:6] executed successfully.
+![](/img/docs/writing-test-examples/test-examples-schemes_id6.svg)
+
The transaction[ID:6] carries out in the Launcher with incoming message from the Fireworks launcher 1. This message sent with `send mode = 2`
@@ -271,6 +285,8 @@ The transaction[ID:6] carries out in the Launcher with incoming message from the
[This test](https://github.com/ton-community/fireworks-func/blob/main/tests/Fireworks.spec.ts#L188) checks if the transaction[ID:7] executed successfully.
+![](/img/docs/writing-test-examples/test-examples-schemes_id7.svg)
+
The transaction[ID:7] carries out in the Launcher with incoming message from the Fireworks launcher 1. This message sent with `send mode = 128 + 32`
```typescript
@@ -292,10 +308,12 @@ The transaction[ID:7] carries out in the Launcher with incoming message from the
})
```
-#### ### Transaction ID:8 Success Test
+### Transaction ID:8 Success Test
[This test](https://github.com/ton-community/fireworks-func/blob/main/tests/Fireworks.spec.ts#L188) checks if the transaction[ID:8] executed successfully.
+![](/img/docs/writing-test-examples/test-examples-schemes_id8.svg)
+
The transaction[ID:8] carries out in the Launcher with incoming message from the Fireworks launcher 2. This message sent with `send mode = 64`
```typescript
@@ -320,7 +338,7 @@ The transaction[ID:8] carries out in the Launcher with incoming message from the
```
-### Printing and Reading Transaction Fees
+## Printing and Reading Transaction Fees
During the test, reading the details about fees can be useful for optimizing the contract. The printTransactionFees function prints the entire transaction chain in a convenient manner."
```typescript
@@ -357,7 +375,7 @@ For instance, in case of `launchResult` the following table will be printed:
-![](/img/docs/test-examples/fireworks_trace_tonviewer.png?=RAW)
+![](/img/docs/writing-test-examples/fireworks_trace_tonviewer.png?=RAW)
index - is an ID of a transaction in the `launchResult` array.
* `0` - External request to the treasury (the Launcher) that resulted in a message `op::set_first` to Fireworks
@@ -371,7 +389,7 @@ index - is an ID of a transaction in the `launchResult` array.
* `8` - Transaction on Launcher with incoming message from the Launched Fireworks - 2, message sent with `send mode = 64`
-### Transaction Fees Tests
+## Transaction Fees Tests
This test verifies whether the transaction fees for launching the fireworks are as expected. It is possible to define custom assertions for different parts of commission fees.
diff --git a/sidebars.js b/sidebars.js
index c17305b85a..1130fdc654 100644
--- a/sidebars.js
+++ b/sidebars.js
@@ -250,6 +250,8 @@ const sidebars = {
'develop/dapps/telegram-apps/publishing',
'develop/dapps/telegram-apps/monetization',
'develop/dapps/telegram-apps/grants',
+ 'develop/dapps/telegram-apps/tips-and-tricks',
+
],
},
diff --git a/static/img/docs/test-examples/fireworks_trace_tonviewer.png b/static/img/docs/writing-test-examples/fireworks_trace_tonviewer.png
similarity index 100%
rename from static/img/docs/test-examples/fireworks_trace_tonviewer.png
rename to static/img/docs/writing-test-examples/fireworks_trace_tonviewer.png
diff --git a/static/img/docs/writing-test-examples/test-examples-schemes.svg b/static/img/docs/writing-test-examples/test-examples-schemes.svg
new file mode 100644
index 0000000000..7c2e3c9d5e
--- /dev/null
+++ b/static/img/docs/writing-test-examples/test-examples-schemes.svg
@@ -0,0 +1,369 @@
+
+
+
+
diff --git a/static/img/docs/writing-test-examples/test-examples-schemes_id0.svg b/static/img/docs/writing-test-examples/test-examples-schemes_id0.svg
new file mode 100644
index 0000000000..ef3cadb664
--- /dev/null
+++ b/static/img/docs/writing-test-examples/test-examples-schemes_id0.svg
@@ -0,0 +1,329 @@
+
+
+
+
diff --git a/static/img/docs/writing-test-examples/test-examples-schemes_id1.svg b/static/img/docs/writing-test-examples/test-examples-schemes_id1.svg
new file mode 100644
index 0000000000..6978432cb5
--- /dev/null
+++ b/static/img/docs/writing-test-examples/test-examples-schemes_id1.svg
@@ -0,0 +1,326 @@
+
+
+
+
diff --git a/static/img/docs/writing-test-examples/test-examples-schemes_id2.svg b/static/img/docs/writing-test-examples/test-examples-schemes_id2.svg
new file mode 100644
index 0000000000..08499056e2
--- /dev/null
+++ b/static/img/docs/writing-test-examples/test-examples-schemes_id2.svg
@@ -0,0 +1,327 @@
+
+
+
+
diff --git a/static/img/docs/writing-test-examples/test-examples-schemes_id3.svg b/static/img/docs/writing-test-examples/test-examples-schemes_id3.svg
new file mode 100644
index 0000000000..f5f5d80733
--- /dev/null
+++ b/static/img/docs/writing-test-examples/test-examples-schemes_id3.svg
@@ -0,0 +1,327 @@
+
+
+
+
diff --git a/static/img/docs/writing-test-examples/test-examples-schemes_id4.svg b/static/img/docs/writing-test-examples/test-examples-schemes_id4.svg
new file mode 100644
index 0000000000..d722c51fd9
--- /dev/null
+++ b/static/img/docs/writing-test-examples/test-examples-schemes_id4.svg
@@ -0,0 +1,327 @@
+
+
+
+
diff --git a/static/img/docs/writing-test-examples/test-examples-schemes_id5.svg b/static/img/docs/writing-test-examples/test-examples-schemes_id5.svg
new file mode 100644
index 0000000000..9a82b3a9d5
--- /dev/null
+++ b/static/img/docs/writing-test-examples/test-examples-schemes_id5.svg
@@ -0,0 +1,327 @@
+
+
+
+
diff --git a/static/img/docs/writing-test-examples/test-examples-schemes_id6.svg b/static/img/docs/writing-test-examples/test-examples-schemes_id6.svg
new file mode 100644
index 0000000000..482a49015a
--- /dev/null
+++ b/static/img/docs/writing-test-examples/test-examples-schemes_id6.svg
@@ -0,0 +1,327 @@
+
+
+
+
diff --git a/static/img/docs/writing-test-examples/test-examples-schemes_id7.svg b/static/img/docs/writing-test-examples/test-examples-schemes_id7.svg
new file mode 100644
index 0000000000..fdbc373b31
--- /dev/null
+++ b/static/img/docs/writing-test-examples/test-examples-schemes_id7.svg
@@ -0,0 +1,327 @@
+
+
+
+
diff --git a/static/img/docs/writing-test-examples/test-examples-schemes_id8.svg b/static/img/docs/writing-test-examples/test-examples-schemes_id8.svg
new file mode 100644
index 0000000000..8b29472390
--- /dev/null
+++ b/static/img/docs/writing-test-examples/test-examples-schemes_id8.svg
@@ -0,0 +1,327 @@
+
+
+
+
diff --git a/static/schemes-visio/test-examples-schemes.vsdx b/static/schemes-visio/test-examples-schemes.vsdx
new file mode 100644
index 0000000000..252ab3c29b
Binary files /dev/null and b/static/schemes-visio/test-examples-schemes.vsdx differ
diff --git "a/static/schemes-visio/~$$ton-connect \342\200\224 dark.~vsdx" "b/static/schemes-visio/~$$ton-connect \342\200\224 dark.~vsdx"
new file mode 100644
index 0000000000..666b9a6879
Binary files /dev/null and "b/static/schemes-visio/~$$ton-connect \342\200\224 dark.~vsdx" differ