Skip to content

Commit 3edfc39

Browse files
authored
fix(docs): replace excessive FunC references with Tact (#3168)
1 parent 28a45c2 commit 3edfc39

File tree

10 files changed

+54
-61
lines changed

10 files changed

+54
-61
lines changed

docs/src/content/docs/book/debug.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -275,7 +275,7 @@ it('should increase counter', async () => {
275275
:::note
276276

277277
See more test examples in the [Sandbox][sb] documentation:\
278-
[Testing flow (FunC)](https://github.com/ton-org/sandbox/blob/main/docs/testing-key-points.md)\
278+
[Testing flow](https://github.com/ton-org/sandbox/blob/main/docs/testing-key-points.md)\
279279
[Writing tests for Tact](https://github.com/ton-org/sandbox/blob/main/docs/tact-testing-examples.md)
280280

281281
:::

docs/src/content/docs/book/exit-codes.mdx

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ Each transaction on TON Blockchain consists of [multiple phases](https://docs.to
99

1010
Exit codes $0$ and $1$ indicate normal (successful) execution of the [compute phase](#compute). Exit (or [result](#action)) code $0$ indicates normal (successful) execution of the [action phase](#action). Any other exit code indicates that a certain exception has occurred and that the transaction was not successful in one way or another, i.e. the transaction was reverted or the inbound message has bounced back.
1111

12-
TON Blockchain reserves exit code values from $0$ to $127$, while Tact utilizes exit codes from $128$ to $255$. Note that exit codes used by Tact indicate contract errors, which can occur when using Tact-generated FunC code, and are therefore thrown in the transaction's [compute phase](#compute) and not during compilation.
12+
TON Blockchain reserves exit code values from $0$ to $127$, while Tact utilizes exit codes from $128$ to $255$. Note that exit codes used by Tact indicate contract errors, which can occur when using Tact-generated code, and are therefore thrown in the transaction's [compute phase](#compute) and not during compilation.
1313

1414
The range from $256$ to $65535$ is free for developer-defined exit codes.
1515

@@ -346,9 +346,9 @@ try {
346346

347347
### 10: Dictionary error {#10}
348348

349-
In Tact, the [`map<K, V>{:tact}`](/book/maps) type is an abstraction over the ["hash" map dictionaries of FunC](https://docs.ton.org/develop/func/dictionaries#hashmap) and the underlying [`HashmapE` type](https://docs.ton.org/develop/data-formats/tl-b-types#hashmap) of [TL-B][tlb] and [TVM][tvm].
349+
In Tact, the [`map<K, V>{:tact}`](/book/maps) type is an abstraction over the ["hash" map dictionaries of TVM](/book/maps#low-level-representation).
350350

351-
If there is incorrect manipulation of dictionaries, such as improper assumptions about their memory layout, an error with exit code $10$ is thrown: `Dictionary error`. Note that Tact prevents you from getting this error unless you perform [Fift and TVM assembly](https://docs.ton.org/develop/fift/fift-and-tvm-assembly) work yourself:
351+
If there is incorrect manipulation of dictionaries, such as improper assumptions about their memory layout, an error with exit code $10$ is thrown: `Dictionary error`. Note that Tact prevents you from getting this error unless you perform [TVM assembly](https://docs.ton.org/develop/fift/fift-and-tvm-assembly) work yourself:
352352

353353
```tact
354354
/// Pre-computed Int to Int dictionary with two entries — 0: 0 and 1: 1
@@ -540,7 +540,7 @@ If the configuration is absent, the default values are:
540540

541541
## Tact compiler
542542

543-
Tact utilizes exit codes from $128$ to $255$. Note that exit codes used by Tact indicate contract errors, which can occur when using Tact-generated FunC code and are therefore thrown in the transaction's [compute phase](#compute), not during compilation.
543+
Tact utilizes exit codes from $128$ to $255$. Note that exit codes used by Tact indicate contract errors, which can occur when using Tact-generated code and are therefore thrown in the transaction's [compute phase](#compute), not during compilation.
544544

545545
### 128: Null reference exception {#128}
546546

docs/src/content/docs/book/security-best-practices.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ For a deeper understanding, refer to the following resources:
1111

1212
* [Smart contracts guidelines in TON Docs](https://docs.ton.org/v3/guidelines/smart-contracts/guidelines)
1313
* [Secure Smart Contract Programming in TON Docs](https://docs.ton.org/v3/guidelines/smart-contracts/security/secure-programming)
14-
* [FunC Security Best Practices in GitHub repo](https://github.com/slowmist/Toncoin-Smart-Contract-Security-Best-Practices/blob/main/README.md)
14+
* [Curated list of awesome TON security resources](https://github.com/Polaristow/awesome-ton-security/blob/main/README.md)
1515

1616
In addition, consider reading the detailed article by CertiK, a Web3 smart contract auditor: [Secure Smart Contract Programming in Tact: Popular Mistakes in the TON Ecosystem](https://www.certik.com/resources/blog/secure-smart-contract-programming-in-tact-popular-mistakes-in-the-ton).
1717

docs/src/content/docs/book/send.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -117,7 +117,7 @@ deploy(DeployParameters {
117117

118118
## Outbound message processing
119119

120-
Each transaction on TON Blockchain consists of [multiple phases][phases]. Outbound messages are evaluated in the [compute phase][compute], but are **not** sent in that phase. Instead, they are queued for execution in the [action phase][phases] in the order of their appearance in the compute phase.
120+
Each transaction on TON Blockchain consists of [multiple phases][phases]. Outbound messages are evaluated in the [compute phase][compute], but are **not** sent in that phase. Instead, they are queued for execution in the [action phase][phases] in the order of their appearance in the compute phase. The queue is called an _output action list_, which contains other actions such as [reservations](/ref/core-contextstate#nativereserve).
121121

122122
Outgoing message sends may fail in the [action phase][phases] due to insufficient [action fees](https://docs.ton.org/develop/howto/fees-low-level#action-fee) or [forward fees][fwdfee], in which case they will not bounce and **will not revert** the transaction. This can happen because all values are calculated in the [compute phase][compute], all fees are computed by its end, and exceptions do not roll back the transaction during the action phase.
123123

docs/src/content/docs/book/structs-and-messages.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -144,7 +144,7 @@ contract OpcodeRecognition {
144144
}
145145
```
146146

147-
This is useful in cases where you want to handle certain opcodes of a given smart contract, such as the [Jetton standard](https://github.com/ton-blockchain/TEPs/blob/master/text/0074-jettons-standard.md). A shortlist of opcodes this contract can process is [provided here in FunC](https://github.com/ton-blockchain/token-contract/blob/main/ft/op-codes.fc). They serve as an interface to the smart contract.
147+
This is useful in cases where you want to handle certain opcodes of a given smart contract, such as the [Jetton standard](https://github.com/ton-blockchain/TEPs/blob/master/text/0074-jettons-standard.md). The messages and their respective opcodes that this contract can process are defined [here in the Tact's Jetton implementation](https://github.com/tact-lang/jetton/blob/3f02e1065b871cbab300e019f578c3fb0b19effa/src/contracts/base/messages.tact). They serve as an interface to the smart contract.
148148

149149
<Badge text="Available since Tact 1.6" variant="tip" size="small"/> A message opcode can be any [compile-time](/ref/core-comptime) expression that evaluates to a positive 32-bit integer, so the following is also valid:
150150

docs/src/content/docs/ref/core-contextstate.mdx

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -316,15 +316,11 @@ let gas: Int = gasConsumed();
316316
fun nativeReserve(amount: Int, mode: Int);
317317
```
318318

319-
Executes the native `RAWRESERVE` instruction with the specified amount and mode. The `RAWRESERVE` instruction creates an output action to reserve a specific amount of [nanoToncoin][nano] from the remaining balance of the account.
319+
Executes the [`RAWRESERVE`](https://docs.ton.org/v3/documentation/tvm/instructions#FB02) instruction with the specified `amount` and `mode`. It queues the reservation of the specific `amount` of [nanoToncoin][nano] from the remaining account balance per the given `mode`.
320320

321-
The `RAWRESERVE` instruction takes two arguments:
322-
* `amount`: The number of [nanoToncoin][nano] to reserve.
323-
* `mode`: Determines the reservation behavior.
321+
The reservation action is queued to the _output action list_, which contains other actions such as [message sends](/book/send#outbound-message-processing). In fact, the `RAWRESERVE` instruction is roughly equivalent to creating an outbound message carrying the specified `amount` of nanoToncoin or `b - amount` of nanoToncoin, where `b` is the remaining balance, to oneself. This ensures that subsequent output actions cannot spend more money than the remainder.
324322

325-
The `RAWRESERVE` instruction is roughly equivalent to creating an outbound message carrying the specified `amount` of [nanoToncoin][nano] (or `b - amount` [nanoToncoin][nano], where `b` is the remaining balance) to oneself. This ensures that subsequent output actions cannot spend more money than the remainder.
326-
327-
It is possible to use raw [`Int{:tact}`][int] values and manually provide them for the `mode`, but for your convenience, there's a set of constants you may use to construct the compound `mode` with ease. Take a look at the following tables for more information on base modes and optional flags.
323+
It is possible to use raw [`Int{:tact}`][int] values and manually provide them for the `mode`, but for your convenience, there is a set of constants you may use to construct the compound `mode` with ease. Take a look at the following tables for more information on [base modes](#nativereserve-base-modes), [optional flags](#nativereserve-optional-flags), and how you can [combine them together](#nativereserve-combining-modes-with-flags).
328324

329325
:::caution
330326

docs/src/content/docs/zh-cn/book/debug.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -261,7 +261,7 @@ it('should increase counter', async () => {
261261
:::note
262262

263263
请参阅 [Sandbox][sb] 文档中的更多测试示例:\
264-
[测试流程 (FunC)](https://github.com/ton-org/sandbox/blob/main/docs/testing-key-points.md)\
264+
[测试流程](https://github.com/ton-org/sandbox/blob/main/docs/testing-key-points.md)\
265265
[为 Tact 编写测试](https://github.com/ton-org/sandbox/blob/main/docs/tact-testing-examples.md)
266266

267267
:::

docs/src/content/docs/zh-cn/book/security-best-practices.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ Tact 智能合约开发者应该意识到一些反模式和潜在的攻击矢量
1111

1212
- [TON文档中的智能合约指南](https://docs.ton.org/v3/guidelines/smart-contracts/guidelines)
1313
- [TON Docs中的安全智能合约编程](https://docs.ton.org/v3/guidelines/smart-contracts/security/secure-programming)
14-
- [GitHub 仓库中的 FunC 安全最佳实践](https://github.com/slowmist/Toncoin-Smart-Contract-Security-Best-Practices/blob/main/README.md)
14+
* [令人惊叹的 TON 安全资源精选列表](https://github.com/Polaristow/awesome-ton-security/blob/main/README.md)
1515

1616
## 在链上发送敏感数据
1717

src/stdlib/stdlib.ts

Lines changed: 31 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -1647,37 +1647,37 @@ files["std/internal/primitives.tact"] =
16471647
"ZCBmb3IgZWZmaWNpZW50IHN0cmluZyBjb25jYXRlbmF0aW9uLgovLy8KLy8vIFNlZToKLy8vICogaHR0cHM6Ly9kb2NzLnRhY3QtbGFuZy5vcmcvYm9vay90eXBlcyNw" +
16481648
"cmltaXRpdmUtdHlwZXMKLy8vICogaHR0cHM6Ly9kb2NzLnRhY3QtbGFuZy5vcmcvcmVmL2NvcmUtc3RyaW5ncwovLy8KcHJpbWl0aXZlIFN0cmluZ0J1aWxkZXI7Cg==";
16491649
files["std/internal/reserve.tact"] =
1650-
"Ly8vIEV4ZWN1dGVzIHRoZSBuYXRpdmUgYFJBV1JFU0VSVkVgIGluc3RydWN0aW9uIHdpdGggdGhlIHNwZWNpZmllZCBhbW91bnQgYW5kIG1vZGUuCi8vLyBUaGUgYFJB" +
1651-
"V1JFU0VSVkVgIGluc3RydWN0aW9uIGNyZWF0ZXMgYW4gb3V0cHV0IGFjdGlvbiB0byByZXNlcnZlIGEgc3BlY2lmaWMgYW1vdW50IG9mCi8vLyBbbmFub1RvbmNvaW5d" +
1652-
"IGZyb20gdGhlIHJlbWFpbmluZyBiYWxhbmNlIG9mIHRoZSBhY2NvdW50LgovLy8KLy8vIFRoZSBgUkFXUkVTRVJWRWAgaW5zdHJ1Y3Rpb24gdGFrZXMgdHdvIGFyZ3Vt" +
1653-
"ZW50czoKLy8vICogYGFtb3VudGA6IFRoZSBudW1iZXIgb2YgW25hbm9Ub25jb2luXSB0byByZXNlcnZlLgovLy8gKiBgbW9kZWA6IERldGVybWluZXMgdGhlIHJlc2Vy" +
1654-
"dmF0aW9uIGJlaGF2aW9yLgovLy8KLy8vIFRoZSBgUkFXUkVTRVJWRWAgaW5zdHJ1Y3Rpb24gaXMgcm91Z2hseSBlcXVpdmFsZW50IHRvIGNyZWF0aW5nIGFuIG91dGJv" +
1655-
"dW5kIG1lc3NhZ2UKLy8vIGNhcnJ5aW5nIHRoZSBzcGVjaWZpZWQgYGFtb3VudGAgb2YgW25hbm9Ub25jb2luXSAob3IgYGIgLSBhbW91bnRgIFtuYW5vVG9uY29pbl0s" +
1656-
"Ci8vLyB3aGVyZSBgYmAgaXMgdGhlIHJlbWFpbmluZyBiYWxhbmNlKSB0byBvbmVzZWxmLgovLy8gVGhpcyBlbnN1cmVzIHRoYXQgc3Vic2VxdWVudCBvdXRwdXQgYWN0" +
1657-
"aW9ucyBjYW5ub3Qgc3BlbmQgbW9yZSBtb25leSB0aGFuIHRoZSByZW1haW5kZXIuCi8vLwovLy8gSXQgaXMgcG9zc2libGUgdG8gdXNlIHJhdyBgSW50YCB2YWx1ZXMg" +
1658-
"YW5kIG1hbnVhbGx5IHByb3ZpZGUgdGhlbSBmb3IgdGhlIGBtb2RlYCwKLy8vIGJ1dCBmb3IgeW91ciBjb252ZW5pZW5jZSwgdGhlcmUncyBhIHNldCBvZiBjb25zdGFu" +
1659-
"dHMgeW91IG1heSB1c2UgdG8gY29uc3RydWN0IHRoZQovLy8gY29tcG91bmQgYG1vZGVgIHdpdGggZWFzZS4KLy8vCi8vLyBOT1RFOiBDdXJyZW50bHksIGBhbW91bnRg" +
1660-
"IG11c3QgYmUgYSBub24tbmVnYXRpdmUgaW50ZWdlciwgYW5kIGBtb2RlYCBtdXN0IGJlIGluIHRoZQovLy8gcmFuZ2UgYDAuLjMxYCwgaW5jbHVzaXZlLgovLy8KLy8v" +
1661-
"IEFkZGl0aW9uYWxseSwgYXR0ZW1wdHMgdG8gcXVldWUgbW9yZSB0aGFuIDI1NSByZXNlcnZhdGlvbnMgaW4gb25lIHRyYW5zYWN0aW9uIHRocm93IGFuCi8vLyBleGNl" +
1662-
"cHRpb24gd2l0aCBbZXhpdCBjb2RlIDMzXTogYEFjdGlvbiBsaXN0IGlzIHRvbyBsb25nYC4KLy8vCi8vLyBOT1RFOiBUaGlzIGZ1bmN0aW9uIGlzIGdhcy1leHBlbnNp" +
1663-
"dmUgYW5kIHVzZXMgNTAwIGdhcyB1bml0cyBvciBtb3JlLgovLy8KLy8vIFNlZTogaHR0cHM6Ly9kb2NzLnRhY3QtbGFuZy5vcmcvcmVmL2NvcmUtY29udGV4dHN0YXRl" +
1664-
"I25hdGl2ZXJlc2VydmUKLy8vCi8vLyBbZXhpdCBjb2RlIDMzXTogaHR0cHM6Ly9kb2NzLnRhY3QtbGFuZy5vcmcvYm9vay9leGl0LWNvZGVzIzMzCi8vLyBbbmFub1Rv" +
1665-
"bmNvaW5dOiBodHRwczovL2RvY3MudGFjdC1sYW5nLm9yZy9ib29rL2ludGVnZXJzI25hbm90b25jb2luCmFzbSBmdW4gbmF0aXZlUmVzZXJ2ZShhbW91bnQ6IEludCwg" +
1666-
"bW9kZTogSW50KSB7IFJBV1JFU0VSVkUgfQoKLy8vIFJlc2VydmVzIGV4YWN0bHkgdGhlIHNwZWNpZmllZCBgYW1vdW50YCBvZgovLy8gW25hbm9Ub25jb2luXShodHRw" +
1667-
"czovL2RvY3MudGFjdC1sYW5nLm9yZy9ib29rL2ludGVnZXJzI25hbm90b25jb2luKS4KLy8vCi8vLyBTZWU6IGh0dHBzOi8vZG9jcy50YWN0LWxhbmcub3JnL3JlZi9j" +
1668-
"b3JlLWNvbnRleHRzdGF0ZSNuYXRpdmVyZXNlcnZlLWJhc2UtbW9kZXMKLy8vCmNvbnN0IFJlc2VydmVFeGFjdDogSW50ID0gMDsKCi8vLyBSZXNlcnZlcyBhbGwgYnV0" +
1669-
"IHRoZSBzcGVjaWZpZWQgYGFtb3VudGAgb2YKLy8vIFtuYW5vVG9uY29pbl0oaHR0cHM6Ly9kb2NzLnRhY3QtbGFuZy5vcmcvYm9vay9pbnRlZ2VycyNuYW5vdG9uY29p" +
1670-
"bikuCi8vLwovLy8gU2VlOiBodHRwczovL2RvY3MudGFjdC1sYW5nLm9yZy9yZWYvY29yZS1jb250ZXh0c3RhdGUjbmF0aXZlcmVzZXJ2ZS1iYXNlLW1vZGVzCi8vLwpj" +
1671-
"b25zdCBSZXNlcnZlQWxsRXhjZXB0OiBJbnQgPSAxOwoKLy8vIFJlc2VydmVzIGF0IG1vc3QgdGhlIHNwZWNpZmllZCBgYW1vdW50YCBvZgovLy8gW25hbm9Ub25jb2lu" +
1672-
"XShodHRwczovL2RvY3MudGFjdC1sYW5nLm9yZy9ib29rL2ludGVnZXJzI25hbm90b25jb2luKS4KLy8vCi8vLyBTZWU6IGh0dHBzOi8vZG9jcy50YWN0LWxhbmcub3Jn" +
1673-
"L3JlZi9jb3JlLWNvbnRleHRzdGF0ZSNuYXRpdmVyZXNlcnZlLWJhc2UtbW9kZXMKLy8vCmNvbnN0IFJlc2VydmVBdE1vc3Q6IEludCA9IDI7CgovLy8gSW5jcmVhc2Vz" +
1674-
"IHRoZSBgYW1vdW50YCBieSB0aGUgb3JpZ2luYWwgYmFsYW5jZSBvZiB0aGUgY3VycmVudCBhY2NvdW50Ci8vLyAoYmVmb3JlIHRoZSBjb21wdXRlIHBoYXNlKSwgaW5j" +
1675-
"bHVkaW5nIGFsbCBleHRyYSBjdXJyZW5jaWVzLgovLy8KLy8vIFNlZTogaHR0cHM6Ly9kb2NzLnRhY3QtbGFuZy5vcmcvcmVmL2NvcmUtY29udGV4dHN0YXRlI25hdGl2" +
1676-
"ZXJlc2VydmUtb3B0aW9uYWwtZmxhZ3MKLy8vCmNvbnN0IFJlc2VydmVBZGRPcmlnaW5hbEJhbGFuY2U6IEludCA9IDQ7CgovLy8gTmVnYXRlcyB0aGUgYGFtb3VudGAg" +
1677-
"dmFsdWUgYmVmb3JlIHBlcmZvcm1pbmcgdGhlIHJlc2VydmF0aW9uLgovLy8KLy8vIFNlZTogaHR0cHM6Ly9kb2NzLnRhY3QtbGFuZy5vcmcvcmVmL2NvcmUtY29udGV4" +
1678-
"dHN0YXRlI25hdGl2ZXJlc2VydmUtb3B0aW9uYWwtZmxhZ3MKLy8vCmNvbnN0IFJlc2VydmVJbnZlcnRTaWduOiBJbnQgPSA4OwoKLy8vIEJvdW5jZXMgdGhlIHRyYW5z" +
1679-
"YWN0aW9uIGlmIHRoZSByZXNlcnZhdGlvbiBmYWlscy4KLy8vCi8vLyBTZWU6IGh0dHBzOi8vZG9jcy50YWN0LWxhbmcub3JnL3JlZi9jb3JlLWNvbnRleHRzdGF0ZSNu" +
1680-
"YXRpdmVyZXNlcnZlLW9wdGlvbmFsLWZsYWdzCi8vLwpjb25zdCBSZXNlcnZlQm91bmNlSWZBY3Rpb25GYWlsOiBJbnQgPSAxNjsK";
1650+
"Ly8vIEV4ZWN1dGVzIHRoZSBgUkFXUkVTRVJWRWAgaW5zdHJ1Y3Rpb24gd2l0aCB0aGUgc3BlY2lmaWVkIGBhbW91bnRgIGFuZCBgbW9kZWAuCi8vLyBJdCBxdWV1ZXMg" +
1651+
"dGhlIHJlc2VydmF0aW9uIG9mIHRoZSBzcGVjaWZpYyBgYW1vdW50YCBvZiBbbmFub1RvbmNvaW5dIGZyb20gdGhlIHJlbWFpbmluZwovLy8gYWNjb3VudCBiYWxhbmNl" +
1652+
"IHBlciB0aGUgZ2l2ZW4gYG1vZGVgLgovLy8KLy8vIFRoZSByZXNlcnZhdGlvbiBhY3Rpb24gaXMgcXVldWVkIHRvIHRoZSBfb3V0cHV0IGFjdGlvbiBsaXN0Xywgd2hp" +
1653+
"Y2ggY29udGFpbnMgb3RoZXIgYWN0aW9ucwovLy8gc3VjaCBhcyBtZXNzYWdlIHNlbmRzLiBJbiBmYWN0LCB0aGUgYFJBV1JFU0VSVkVgIGluc3RydWN0aW9uIGlzIHJv" +
1654+
"dWdobHkgZXF1aXZhbGVudAovLy8gdG8gY3JlYXRpbmcgYW4gb3V0Ym91bmQgbWVzc2FnZSBjYXJyeWluZyB0aGUgc3BlY2lmaWVkIGBhbW91bnRgIG9mIG5hbm9Ub25j" +
1655+
"b2luCi8vLyBvciBgYiAtIGFtb3VudGAgb2YgbmFub1RvbmNvaW4sIHdoZXJlIGBiYCBpcyB0aGUgcmVtYWluaW5nIGJhbGFuY2UsIHRvIG9uZXNlbGYuIFRoaXMKLy8v" +
1656+
"IGVuc3VyZXMgdGhhdCBzdWJzZXF1ZW50IG91dHB1dCBhY3Rpb25zIGNhbm5vdCBzcGVuZCBtb3JlIG1vbmV5IHRoYW4gdGhlIHJlbWFpbmRlci4KLy8vCi8vLyBJdCBp" +
1657+
"cyBwb3NzaWJsZSB0byB1c2UgcmF3IGBJbnRgIHZhbHVlcyBhbmQgbWFudWFsbHkgcHJvdmlkZSB0aGVtIGZvciB0aGUgYG1vZGVgLAovLy8gYnV0IGZvciB5b3VyIGNv" +
1658+
"bnZlbmllbmNlLCB0aGVyZSBpcyBhIHNldCBvZiBjb25zdGFudHMgeW91IG1heSB1c2UgdG8gY29uc3RydWN0Ci8vLyB0aGUgY29tcG91bmQgYG1vZGVgIHdpdGggZWFz" +
1659+
"ZS4KLy8vCi8vLyBOT1RFOiBDdXJyZW50bHksIGBhbW91bnRgIG11c3QgYmUgYSBub24tbmVnYXRpdmUgaW50ZWdlciwgYW5kIGBtb2RlYCBtdXN0IGJlIGluIHRoZQov" +
1660+
"Ly8gcmFuZ2UgYDAuLjMxYCwgaW5jbHVzaXZlLgovLy8KLy8vIEFkZGl0aW9uYWxseSwgYXR0ZW1wdHMgdG8gcXVldWUgbW9yZSB0aGFuIDI1NSByZXNlcnZhdGlvbnMg" +
1661+
"aW4gb25lIHRyYW5zYWN0aW9uIHRocm93IGFuCi8vLyBleGNlcHRpb24gd2l0aCBbZXhpdCBjb2RlIDMzXTogYEFjdGlvbiBsaXN0IGlzIHRvbyBsb25nYC4KLy8vCi8v" +
1662+
"LyBOT1RFOiBUaGlzIGZ1bmN0aW9uIGlzIGdhcy1leHBlbnNpdmUgYW5kIHVzZXMgNTAwIGdhcyB1bml0cyBvciBtb3JlLgovLy8KLy8vIFNlZTogaHR0cHM6Ly9kb2Nz" +
1663+
"LnRhY3QtbGFuZy5vcmcvcmVmL2NvcmUtY29udGV4dHN0YXRlI25hdGl2ZXJlc2VydmUKLy8vCi8vLyBbZXhpdCBjb2RlIDMzXTogaHR0cHM6Ly9kb2NzLnRhY3QtbGFu" +
1664+
"Zy5vcmcvYm9vay9leGl0LWNvZGVzIzMzCi8vLyBbbmFub1RvbmNvaW5dOiBodHRwczovL2RvY3MudGFjdC1sYW5nLm9yZy9ib29rL2ludGVnZXJzI25hbm90b25jb2lu" +
1665+
"CmFzbSBmdW4gbmF0aXZlUmVzZXJ2ZShhbW91bnQ6IEludCwgbW9kZTogSW50KSB7IFJBV1JFU0VSVkUgfQoKLy8vIFJlc2VydmVzIGV4YWN0bHkgdGhlIHNwZWNpZmll" +
1666+
"ZCBgYW1vdW50YCBvZgovLy8gW25hbm9Ub25jb2luXShodHRwczovL2RvY3MudGFjdC1sYW5nLm9yZy9ib29rL2ludGVnZXJzI25hbm90b25jb2luKS4KLy8vCi8vLyBT" +
1667+
"ZWU6IGh0dHBzOi8vZG9jcy50YWN0LWxhbmcub3JnL3JlZi9jb3JlLWNvbnRleHRzdGF0ZSNuYXRpdmVyZXNlcnZlLWJhc2UtbW9kZXMKLy8vCmNvbnN0IFJlc2VydmVF" +
1668+
"eGFjdDogSW50ID0gMDsKCi8vLyBSZXNlcnZlcyBhbGwgYnV0IHRoZSBzcGVjaWZpZWQgYGFtb3VudGAgb2YKLy8vIFtuYW5vVG9uY29pbl0oaHR0cHM6Ly9kb2NzLnRh" +
1669+
"Y3QtbGFuZy5vcmcvYm9vay9pbnRlZ2VycyNuYW5vdG9uY29pbikuCi8vLwovLy8gU2VlOiBodHRwczovL2RvY3MudGFjdC1sYW5nLm9yZy9yZWYvY29yZS1jb250ZXh0" +
1670+
"c3RhdGUjbmF0aXZlcmVzZXJ2ZS1iYXNlLW1vZGVzCi8vLwpjb25zdCBSZXNlcnZlQWxsRXhjZXB0OiBJbnQgPSAxOwoKLy8vIFJlc2VydmVzIGF0IG1vc3QgdGhlIHNw" +
1671+
"ZWNpZmllZCBgYW1vdW50YCBvZgovLy8gW25hbm9Ub25jb2luXShodHRwczovL2RvY3MudGFjdC1sYW5nLm9yZy9ib29rL2ludGVnZXJzI25hbm90b25jb2luKS4KLy8v" +
1672+
"Ci8vLyBTZWU6IGh0dHBzOi8vZG9jcy50YWN0LWxhbmcub3JnL3JlZi9jb3JlLWNvbnRleHRzdGF0ZSNuYXRpdmVyZXNlcnZlLWJhc2UtbW9kZXMKLy8vCmNvbnN0IFJl" +
1673+
"c2VydmVBdE1vc3Q6IEludCA9IDI7CgovLy8gSW5jcmVhc2VzIHRoZSBgYW1vdW50YCBieSB0aGUgb3JpZ2luYWwgYmFsYW5jZSBvZiB0aGUgY3VycmVudCBhY2NvdW50" +
1674+
"Ci8vLyAoYmVmb3JlIHRoZSBjb21wdXRlIHBoYXNlKSwgaW5jbHVkaW5nIGFsbCBleHRyYSBjdXJyZW5jaWVzLgovLy8KLy8vIFNlZTogaHR0cHM6Ly9kb2NzLnRhY3Qt" +
1675+
"bGFuZy5vcmcvcmVmL2NvcmUtY29udGV4dHN0YXRlI25hdGl2ZXJlc2VydmUtb3B0aW9uYWwtZmxhZ3MKLy8vCmNvbnN0IFJlc2VydmVBZGRPcmlnaW5hbEJhbGFuY2U6" +
1676+
"IEludCA9IDQ7CgovLy8gTmVnYXRlcyB0aGUgYGFtb3VudGAgdmFsdWUgYmVmb3JlIHBlcmZvcm1pbmcgdGhlIHJlc2VydmF0aW9uLgovLy8KLy8vIFNlZTogaHR0cHM6" +
1677+
"Ly9kb2NzLnRhY3QtbGFuZy5vcmcvcmVmL2NvcmUtY29udGV4dHN0YXRlI25hdGl2ZXJlc2VydmUtb3B0aW9uYWwtZmxhZ3MKLy8vCmNvbnN0IFJlc2VydmVJbnZlcnRT" +
1678+
"aWduOiBJbnQgPSA4OwoKLy8vIEJvdW5jZXMgdGhlIHRyYW5zYWN0aW9uIGlmIHRoZSByZXNlcnZhdGlvbiBmYWlscy4KLy8vCi8vLyBTZWU6IGh0dHBzOi8vZG9jcy50" +
1679+
"YWN0LWxhbmcub3JnL3JlZi9jb3JlLWNvbnRleHRzdGF0ZSNuYXRpdmVyZXNlcnZlLW9wdGlvbmFsLWZsYWdzCi8vLwpjb25zdCBSZXNlcnZlQm91bmNlSWZBY3Rpb25G" +
1680+
"YWlsOiBJbnQgPSAxNjsK";
16811681
files["std/internal/send.tact"] =
16821682
"Ly8vIE9yZGluYXJ5IG1lc3NhZ2UgKGRlZmF1bHQpLgovLy8KLy8vIFRoaXMgY29uc3RhbnQgaXMgYXZhaWxhYmxlIHNpbmNlIFRhY3QgMS42LjAuCi8vLwovLy8gU2Vl" +
16831683
"OiBodHRwczovL2RvY3MudGFjdC1sYW5nLm9yZy9ib29rL21lc3NhZ2UtbW9kZSNiYXNlLW1vZGVzCi8vLwpjb25zdCBTZW5kRGVmYXVsdE1vZGU6IEludCA9IDA7Cgov" +

0 commit comments

Comments
 (0)