From fbd2874ed23f1b373624690b8bd9f819384a00de Mon Sep 17 00:00:00 2001 From: Novus Nota <68142933+novusnota@users.noreply.github.com> Date: Sun, 19 Jan 2025 22:54:32 +0100 Subject: [PATCH 1/3] docs: show examples of Mermaid diagrams as images And correct the description of the contract dependency diagram --- CHANGELOG.md | 2 +- .../assets/contract-dependency-diagram-2.png | Bin 0 -> 5171 bytes .../assets/contract-dependency-diagram.png | Bin 0 -> 4308 bytes docs/src/assets/trait-inheritance-diagram.png | Bin 0 -> 11701 bytes docs/src/content/docs/book/compile.mdx | 20 +++++++++++++++--- 5 files changed, 18 insertions(+), 4 deletions(-) create mode 100644 docs/src/assets/contract-dependency-diagram-2.png create mode 100644 docs/src/assets/contract-dependency-diagram.png create mode 100644 docs/src/assets/trait-inheritance-diagram.png diff --git a/CHANGELOG.md b/CHANGELOG.md index 4b081f7f4..83b20f64e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -81,7 +81,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Added onchain metadata creation for NFTs and Jettons to the cookbook: PR [#1236](https://github.com/tact-lang/tact/pull/1236) - Document that identifiers cannot start with `__gen` or `__tact`, and cannot contain Unicode characters apart from the small subset `a-zA-Z0-9_`: PR [#1312](https://github.com/tact-lang/tact/pull/1312) - Added signatures for map methods, such as `.get()`, `.exists()`, `.set()`, `.replace()`, `.replaceGet()`, `.del()`, `.isEmpty()`, `.deepEquals()`, `.asCell()`: PR [#1352](https://github.com/tact-lang/tact/pull/1352) -- Added a compilation-related page with the description of the compilation report: PR [#1309](https://github.com/tact-lang/tact/pull/1309) +- Added a compilation-related page with the description of the compilation report: PR [#1309](https://github.com/tact-lang/tact/pull/1309), PR [#1387](https://github.com/tact-lang/tact/pull/1387) ### Release contributors diff --git a/docs/src/assets/contract-dependency-diagram-2.png b/docs/src/assets/contract-dependency-diagram-2.png new file mode 100644 index 0000000000000000000000000000000000000000..9eedf5cc88a1e55322bba796df7767863192392c GIT binary patch literal 5171 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 JanJ7Ae*k;5>9zm> literal 0 HcmV?d00001 diff --git a/docs/src/assets/contract-dependency-diagram.png b/docs/src/assets/contract-dependency-diagram.png new file mode 100644 index 0000000000000000000000000000000000000000..ff5552931c3a3b6d9df933aa47ef50857e267458 GIT binary patch literal 4308 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 literal 0 HcmV?d00001 diff --git a/docs/src/assets/trait-inheritance-diagram.png b/docs/src/assets/trait-inheritance-diagram.png new file mode 100644 index 0000000000000000000000000000000000000000..1f919c86bf6ba20a98cd0a74c1e242f080c4c93c GIT binary patch literal 11701 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 Date: Mon, 20 Jan 2025 09:25:14 +0100 Subject: [PATCH 2/3] fix a typo and use the `JettonWallet` over `SampleTactContract` --- .../assets/contract-dependency-diagram.png | Bin 4308 -> 15193 bytes docs/src/content/docs/book/compile.mdx | 2 +- docs/src/content/docs/book/contracts.mdx | 2 +- 3 files changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/src/assets/contract-dependency-diagram.png b/docs/src/assets/contract-dependency-diagram.png index ff5552931c3a3b6d9df933aa47ef50857e267458..46975ba4915d53834bb898331e30fe3621175777 100644 GIT binary patch literal 15193 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 literal 4308 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 diff --git a/docs/src/content/docs/book/compile.mdx b/docs/src/content/docs/book/compile.mdx index ea0b52534..5520e8fca 100644 --- a/docs/src/content/docs/book/compile.mdx +++ b/docs/src/content/docs/book/compile.mdx @@ -118,7 +118,7 @@ For example: ![Trait inheritance diagram](/src/assets/trait-inheritance-diagram.png) -There, `SampleTactContract` inherits the [`Deployable{:tact}`](/ref/stdlib-deploy#deployable) trait, and both inherit the [`BaseTrait{:tact}`](/ref/core-base). +There, [`JettonWallet`](https://github.com/tact-lang/jetton/blob/ef802f95c967f2fd37e80893845c3c3ed7c34c78/sources/jetton_wallet.tact) inherits the `WalletExitcodes` and `GasConstant` traits, and all inherit the [`BaseTrait{:tact}`](/ref/core-base). #### Contract dependency diagram {#contract-diagram} diff --git a/docs/src/content/docs/book/contracts.mdx b/docs/src/content/docs/book/contracts.mdx index cacab40c2..7aae8237b 100644 --- a/docs/src/content/docs/book/contracts.mdx +++ b/docs/src/content/docs/book/contracts.mdx @@ -33,7 +33,7 @@ Each contract can contain: * [Receiver functions](#receiver-functions) * [Internal functions](#internal-functions) -### Inherited traits, `with{:tact}` {#traits} +### Inherited traits, `with` {#traits} Contracts can inherit all the declarations and definitions from [traits][trait] and override some of their default behaviours. In addition to that, every contract and trait implicitly inherits the special [`BaseTrait{:tact}` trait](/ref/core-base). From bb9b5040adda2ac8737360d0b8c8fb50e0f6feba Mon Sep 17 00:00:00 2001 From: Novus Nota <68142933+novusnota@users.noreply.github.com> Date: Mon, 20 Jan 2025 10:06:31 +0100 Subject: [PATCH 3/3] real-world example for the contract dependency diagram --- .../assets/contract-dependency-diagram-3.png | Bin 0 -> 5916 bytes .../assets/contract-dependency-diagram.png | Bin 15193 -> 4308 bytes docs/src/assets/trait-inheritance-diagram.png | Bin 11701 -> 15193 bytes docs/src/content/docs/book/compile.mdx | 17 ++++++++++++++++- 4 files changed, 16 insertions(+), 1 deletion(-) create mode 100644 docs/src/assets/contract-dependency-diagram-3.png diff --git a/docs/src/assets/contract-dependency-diagram-3.png b/docs/src/assets/contract-dependency-diagram-3.png new file mode 100644 index 0000000000000000000000000000000000000000..cb523b3d9ce3e6c2ab57cec01b2fa07154c816fd GIT binary patch literal 5916 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 li$<3snWdkj)q7R5mDfRAT9KcKdJ_R@ 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 literal 15193 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 diff --git a/docs/src/assets/trait-inheritance-diagram.png b/docs/src/assets/trait-inheritance-diagram.png index 1f919c86bf6ba20a98cd0a74c1e242f080c4c93c..46975ba4915d53834bb898331e30fe3621175777 100644 GIT binary patch literal 15193 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 literal 11701 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