damlforge 0.0.13__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- damlforge-0.0.13.data/data/damlforge_git_commithash.txt +1 -0
- damlforge-0.0.13.dist-info/METADATA +336 -0
- damlforge-0.0.13.dist-info/RECORD +219 -0
- damlforge-0.0.13.dist-info/WHEEL +5 -0
- damlforge-0.0.13.dist-info/entry_points.txt +2 -0
- damlforge-0.0.13.dist-info/licenses/LICENSE +201 -0
- damlforge-0.0.13.dist-info/top_level.txt +1 -0
- forge/__init__.py +39 -0
- forge/__main__.py +21 -0
- forge/ast/README.md +122 -0
- forge/ast/__init__.py +31 -0
- forge/ast/__init__.pyi +7 -0
- forge/ast/grammar.lark +334 -0
- forge/ast/grammar.py +52 -0
- forge/ast/identifiers.py +91 -0
- forge/ast/metadata.py +98 -0
- forge/ast/nodes.py +1585 -0
- forge/ast/nodes.pyi +318 -0
- forge/ast/parse.py +568 -0
- forge/ast/pre_parser.py +411 -0
- forge/ast/utils.py +91 -0
- forge/builtin_stubs.py +281 -0
- forge/builtins/DA/Action/State/Class.vy +14 -0
- forge/builtins/DA/Action/State.vy +17 -0
- forge/builtins/DA/Assert.vy +36 -0
- forge/builtins/DA/Crypto/Text.vy +178 -0
- forge/builtins/DA/Date/Types.vy +31 -0
- forge/builtins/DA/Date.vy +67 -0
- forge/builtins/DA/Either.vy +61 -0
- forge/builtins/DA/Exception/ArithmeticError.vy +6 -0
- forge/builtins/DA/Exception/AssertionFailed.vy +6 -0
- forge/builtins/DA/Exception/GeneralError.vy +6 -0
- forge/builtins/DA/Exception/PreconditionFailed.vy +6 -0
- forge/builtins/DA/Internal/Assert.vy +23 -0
- forge/builtins/DA/Internal/Compatible.vy +57 -0
- forge/builtins/DA/Internal/Date.vy +13 -0
- forge/builtins/DA/Internal/Down.vy +10 -0
- forge/builtins/DA/Internal/Erased.vy +8 -0
- forge/builtins/DA/Internal/Exception.vy +12 -0
- forge/builtins/DA/Internal/Fail.vy +11 -0
- forge/builtins/DA/Internal/Interface/AnyView.vy +18 -0
- forge/builtins/DA/Internal/Interface.vy +54 -0
- forge/builtins/DA/Internal/LF.vy +28 -0
- forge/builtins/DA/Internal/NatSyn.vy +12 -0
- forge/builtins/DA/Internal/Prelude.vy +186 -0
- forge/builtins/DA/Internal/PromotedText.vy +12 -0
- forge/builtins/DA/Internal/Record.vy +16 -0
- forge/builtins/DA/Internal/Template/Functions.vy +130 -0
- forge/builtins/DA/Internal/Template.vy +6 -0
- forge/builtins/DA/Internal/Time.vy +22 -0
- forge/builtins/DA/List/BuiltinOrder.vy +22 -0
- forge/builtins/DA/List/Total.vy +21 -0
- forge/builtins/DA/List.vy +135 -0
- forge/builtins/DA/Logic/Types.vy +35 -0
- forge/builtins/DA/Logic.vy +57 -0
- forge/builtins/DA/Map.vy +61 -0
- forge/builtins/DA/Math.vy +66 -0
- forge/builtins/DA/Maybe.vy +46 -0
- forge/builtins/DA/Monoid/Types.vy +25 -0
- forge/builtins/DA/NonEmpty/Types.vy +11 -0
- forge/builtins/DA/NonEmpty.vy +37 -0
- forge/builtins/DA/Numeric.vy +113 -0
- forge/builtins/DA/Optional.vy +46 -0
- forge/builtins/DA/Random/Types.vy +13 -0
- forge/builtins/DA/Random.vy +19 -0
- forge/builtins/DA/Semigroup/Types.vy +15 -0
- forge/builtins/DA/Set/Types.vy +11 -0
- forge/builtins/DA/Set.vy +81 -0
- forge/builtins/DA/Stack/Types.vy +14 -0
- forge/builtins/DA/Stack.vy +33 -0
- forge/builtins/DA/Text.vy +192 -0
- forge/builtins/DA/TextMap.vy +53 -0
- forge/builtins/DA/Time/Types.vy +6 -0
- forge/builtins/DA/Time.vy +72 -0
- forge/builtins/DA/Tuple.vy +26 -0
- forge/builtins/DA/Types.vy +329 -0
- forge/builtins/DA/Validation/Types.vy +25 -0
- forge/builtins/DA/Validation.vy +34 -0
- forge/builtins/GHC/Base.vy +13 -0
- forge/builtins/GHC/Classes.vy +43 -0
- forge/builtins/GHC/Enum.vy +86 -0
- forge/builtins/GHC/Err.vy +10 -0
- forge/builtins/GHC/Num.vy +32 -0
- forge/builtins/GHC/Show/Text.vy +72 -0
- forge/builtins/GHC/Show.vy +38 -0
- forge/builtins/GHC/Stack/Types.vy +53 -0
- forge/builtins/GHC/Tuple.vy +10 -0
- forge/builtins/GHC/Types.vy +10 -0
- forge/builtins/Splice/Amulet/CryptoHash.vy +59 -0
- forge/builtins/Splice/Amulet/RewardAccountingV2.vy +67 -0
- forge/builtins/Splice/Amulet/TokenApiUtils.vy +217 -0
- forge/builtins/Splice/Amulet/TwoStepTransfer.vy +43 -0
- forge/builtins/Splice/Amulet.vy +442 -0
- forge/builtins/Splice/AmuletAllocation.vy +54 -0
- forge/builtins/Splice/AmuletAllocationV2.vy +53 -0
- forge/builtins/Splice/AmuletConfig.vy +147 -0
- forge/builtins/Splice/AmuletEventLog.vy +8 -0
- forge/builtins/Splice/AmuletRules.vy +901 -0
- forge/builtins/Splice/AmuletTransferInstruction.vy +37 -0
- forge/builtins/Splice/Ans/AmuletConversionRateFeed.vy +42 -0
- forge/builtins/Splice/Ans.vy +173 -0
- forge/builtins/Splice/Api/FeaturedAppRightV1.vy +41 -0
- forge/builtins/Splice/Api/FeaturedAppRightV2.vy +41 -0
- forge/builtins/Splice/Api/RewardAssignmentV1.vy +36 -0
- forge/builtins/Splice/Api/Token/AllocationInstructionV1.vy +92 -0
- forge/builtins/Splice/Api/Token/AllocationInstructionV2.vy +132 -0
- forge/builtins/Splice/Api/Token/AllocationRequestV1.vy +32 -0
- forge/builtins/Splice/Api/Token/AllocationRequestV2.vy +96 -0
- forge/builtins/Splice/Api/Token/AllocationV1.vy +91 -0
- forge/builtins/Splice/Api/Token/AllocationV2.vy +210 -0
- forge/builtins/Splice/Api/Token/BurnMintV1.vy +41 -0
- forge/builtins/Splice/Api/Token/HoldingV1.vy +30 -0
- forge/builtins/Splice/Api/Token/HoldingV2.vy +36 -0
- forge/builtins/Splice/Api/Token/MetadataV1.vy +113 -0
- forge/builtins/Splice/Api/Token/Test/DummyHolding.vy +10 -0
- forge/builtins/Splice/Api/Token/Test/DummyTwoInterfaces.vy +13 -0
- forge/builtins/Splice/Api/Token/TransferEventsV2.vy +42 -0
- forge/builtins/Splice/Api/Token/TransferInstructionV1.vy +135 -0
- forge/builtins/Splice/Api/Token/TransferInstructionV2.vy +159 -0
- forge/builtins/Splice/AppManager/Store.vy +52 -0
- forge/builtins/Splice/CometBft.vy +56 -0
- forge/builtins/Splice/DSO/AmuletPrice.vy +24 -0
- forge/builtins/Splice/DSO/DecentralizedSynchronizer.vy +100 -0
- forge/builtins/Splice/DSO/SvState.vy +67 -0
- forge/builtins/Splice/DecentralizedSynchronizer.vy +54 -0
- forge/builtins/Splice/DsoBootstrap.vy +40 -0
- forge/builtins/Splice/DsoRules.vy +1077 -0
- forge/builtins/Splice/Expiry.vy +92 -0
- forge/builtins/Splice/ExternalPartyAmuletRules.vy +146 -0
- forge/builtins/Splice/ExternalPartyConfigState.vy +20 -0
- forge/builtins/Splice/Fees.vy +125 -0
- forge/builtins/Splice/Issuance.vy +79 -0
- forge/builtins/Splice/RelRound.vy +16 -0
- forge/builtins/Splice/Round.vy +80 -0
- forge/builtins/Splice/Schedule.vy +54 -0
- forge/builtins/Splice/Splitwell.vy +238 -0
- forge/builtins/Splice/SvOnboarding.vy +53 -0
- forge/builtins/Splice/Testing/Apps/TradingApp.vy +78 -0
- forge/builtins/Splice/Testing/Apps/TradingAppV2.vy +159 -0
- forge/builtins/Splice/Testing/Tokens/TestTokenV1.vy +50 -0
- forge/builtins/Splice/Testing/Tokens/TestTokenV2/AccountConfig.vy +212 -0
- forge/builtins/Splice/Testing/Tokens/TestTokenV2/Allocation.vy +140 -0
- forge/builtins/Splice/Testing/Tokens/TestTokenV2/Holding.vy +20 -0
- forge/builtins/Splice/Testing/Tokens/TestTokenV2/Transfer.vy +60 -0
- forge/builtins/Splice/Testing/Tokens/TestTokenV2/Util.vy +47 -0
- forge/builtins/Splice/Testing/Tokens/TestTokenV2.vy +40 -0
- forge/builtins/Splice/TokenStandard/Utils/Internal/Allocations.vy +251 -0
- forge/builtins/Splice/TokenStandard/Utils/Internal/Choices.vy +71 -0
- forge/builtins/Splice/TokenStandard/Utils/Internal/Conversions.vy +229 -0
- forge/builtins/Splice/TokenStandard/Utils/Internal/Events.vy +77 -0
- forge/builtins/Splice/TokenStandard/Utils/Internal/Transfers.vy +50 -0
- forge/builtins/Splice/TokenStandard/Utils.vy +5 -0
- forge/builtins/Splice/Types.vy +25 -0
- forge/builtins/Splice/Util/FeaturedApp/BatchedMarkersProxy.vy +47 -0
- forge/builtins/Splice/Util/FeaturedApp/DelegateProxy.vy +68 -0
- forge/builtins/Splice/Util/FeaturedApp/WalletUserProxy.vy +127 -0
- forge/builtins/Splice/Util/Token/Wallet/BatchingUtilityV2.vy +270 -0
- forge/builtins/Splice/Util/Token/Wallet/MergeDelegation.vy +130 -0
- forge/builtins/Splice/Util.vy +116 -0
- forge/builtins/Splice/ValidatorLicense.vy +164 -0
- forge/builtins/Splice/ValidatorOnboarding.vy +42 -0
- forge/builtins/Splice/Wallet/BuyTrafficRequest.vy +56 -0
- forge/builtins/Splice/Wallet/Install.vy +469 -0
- forge/builtins/Splice/Wallet/MintingDelegation.vy +83 -0
- forge/builtins/Splice/Wallet/Payment.vy +160 -0
- forge/builtins/Splice/Wallet/Subscriptions.vy +233 -0
- forge/builtins/Splice/Wallet/TopUpState.vy +22 -0
- forge/builtins/Splice/Wallet/TransferOffer.vy +114 -0
- forge/builtins/Splice/Wallet/TransferPreapproval.vy +27 -0
- forge/builtins/__init__.py +618 -0
- forge/builtins/daml_lang.py +161 -0
- forge/builtins/maps.py +78 -0
- forge/cli/__init__.py +14 -0
- forge/cli/forge_daml.py +95 -0
- forge/cli/forge_dar.py +189 -0
- forge/cli/forge_json.py +26 -0
- forge/cli/main.py +207 -0
- forge/codegen/__init__.py +19 -0
- forge/codegen/doc.py +78 -0
- forge/codegen/emit.py +1384 -0
- forge/codegen/loops.py +24 -0
- forge/codegen/maps.py +76 -0
- forge/codegen/optional.py +54 -0
- forge/codegen/self_mutation.py +358 -0
- forge/codegen/sets.py +55 -0
- forge/codegen/source_map.py +263 -0
- forge/compiler/__init__.py +14 -0
- forge/compiler/settings.py +92 -0
- forge/daml_versions.py +112 -0
- forge/exceptions.py +459 -0
- forge/ir/__init__.py +18 -0
- forge/ir/fields.py +84 -0
- forge/ir/imports.py +217 -0
- forge/ir/lower.py +904 -0
- forge/ir/nodes.py +399 -0
- forge/ir/normalize.py +853 -0
- forge/models/__init__.py +53 -0
- forge/models/decorators.py +48 -0
- forge/models/error_codes.py +53 -0
- forge/models/types.py +30 -0
- forge/semantics/__init__.py +40 -0
- forge/semantics/analysis/__init__.py +14 -0
- forge/semantics/analysis/imports.py +453 -0
- forge/semantics/analysis/intrinsics.py +480 -0
- forge/semantics/analysis/module.py +360 -0
- forge/semantics/analysis/primitive_values.py +320 -0
- forge/semantics/analysis/structure.py +767 -0
- forge/semantics/analysis/typecheck.py +947 -0
- forge/semantics/analysis/types.py +1234 -0
- forge/semantics/primitive_specs.py +277 -0
- forge/stubgen/__init__.py +78 -0
- forge/stubgen/dar.py +86 -0
- forge/stubgen/exports.py +46 -0
- forge/stubgen/lf2.py +88 -0
- forge/stubgen/parties.py +128 -0
- forge/stubgen/render.py +571 -0
- forge/utils.py +713 -0
- forge/version.py +4 -0
- forge/warnings.py +75 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
58201b2
|
|
@@ -0,0 +1,336 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: damlforge
|
|
3
|
+
Version: 0.0.13
|
|
4
|
+
Summary: DamlForge: a Pythonic contract-authoring language for Daml/Canton
|
|
5
|
+
Home-page: https://github.com/noders-team/damlforge
|
|
6
|
+
Author: Artem Bogomaz
|
|
7
|
+
Author-email: artembogomaz@gmail.com
|
|
8
|
+
Maintainer: Noders Team
|
|
9
|
+
License: Apache License 2.0
|
|
10
|
+
Keywords: daml canton smart contract language
|
|
11
|
+
Classifier: Intended Audience :: Developers
|
|
12
|
+
Classifier: License :: OSI Approved :: Apache Software License
|
|
13
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
14
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
15
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
16
|
+
Classifier: Programming Language :: Python :: 3.14
|
|
17
|
+
Requires-Python: >=3.11,<4
|
|
18
|
+
Description-Content-Type: text/markdown
|
|
19
|
+
License-File: LICENSE
|
|
20
|
+
Requires-Dist: cbor2<6,>=5.4.6
|
|
21
|
+
Requires-Dist: pycryptodome<4,>=3.5.1
|
|
22
|
+
Requires-Dist: packaging>=23.1
|
|
23
|
+
Requires-Dist: lark<2,>=1.0.0
|
|
24
|
+
Requires-Dist: wheel
|
|
25
|
+
Requires-Dist: immutables
|
|
26
|
+
Requires-Dist: loguru
|
|
27
|
+
Requires-Dist: pyyaml
|
|
28
|
+
Requires-Dist: click<9,>=8.1
|
|
29
|
+
Provides-Extra: stubgen
|
|
30
|
+
Requires-Dist: dazl>=8.9; extra == "stubgen"
|
|
31
|
+
Dynamic: author
|
|
32
|
+
Dynamic: author-email
|
|
33
|
+
Dynamic: classifier
|
|
34
|
+
Dynamic: description
|
|
35
|
+
Dynamic: description-content-type
|
|
36
|
+
Dynamic: home-page
|
|
37
|
+
Dynamic: keywords
|
|
38
|
+
Dynamic: license
|
|
39
|
+
Dynamic: license-file
|
|
40
|
+
Dynamic: maintainer
|
|
41
|
+
Dynamic: requires-python
|
|
42
|
+
Dynamic: summary
|
|
43
|
+
|
|
44
|
+
# DamlForge
|
|
45
|
+
|
|
46
|
+
DamlForge compiles `.vy` files (Python syntax, Vyper-flavored keywords) into real Daml/Canton `.daml` source. See [`.claude/skills/damlforge-vy-lang/`](.claude/skills/damlforge-vy-lang/SKILL.md) for the full language reference.
|
|
47
|
+
|
|
48
|
+
## User guide
|
|
49
|
+
|
|
50
|
+
The guide in [`docs/guide/`](docs/guide) walks through DamlForge from setup to
|
|
51
|
+
packaging. Every example in it compiles with `forge dar` and is covered by a
|
|
52
|
+
passing Daml Script test.
|
|
53
|
+
|
|
54
|
+
| # | Page | Covers |
|
|
55
|
+
|---|---|---|
|
|
56
|
+
| 1 | [Development Environment Setup](docs/guide/01-dev-environment.md) | Installing DPM and DamlForge, creating a project, editor setup, day-to-day commands |
|
|
57
|
+
| 2 | [Language Fundamentals](docs/guide/02-language-fundamentals.md) | Types, structs, enums, variants, `Optional`, functions, control flow, dates, imports |
|
|
58
|
+
| 3 | [Compiler Errors](docs/guide/03-compiler-errors.md) | Every `DF` error code, with the message, cause, and fix |
|
|
59
|
+
| 4 | [Contract Templates](docs/guide/04-contract-templates.md) | Templates, signatories, observers, `ensure`, testing with Daml Script |
|
|
60
|
+
| 5 | [Choices](docs/guide/05-choices.md) | Choices as methods and as delegation, updating a contract in place, consuming and non-consuming choices, a simple cash model |
|
|
61
|
+
| 6 | [Design Patterns](docs/guide/06-design-patterns.md) | Propose-accept, delegation, authorization, locking, multi-party agreements |
|
|
62
|
+
| 7 | [Working with Time](docs/guide/07-working-with-time.md) | `datetime` support, ledger time, deadlines and time windows, `setTime`/`passTime` |
|
|
63
|
+
| 8 | [Contract Keys](docs/guide/08-contract-keys.md) | `key` and `maintainer`, by-key lookups, Daml 3.5 requirements |
|
|
64
|
+
| 9 | [Interfaces](docs/guide/09-interfaces.md) | Declaring and implementing interfaces, views, converting contract IDs |
|
|
65
|
+
| 10 | [Building and Packaging](docs/guide/10-building-packaging.md) | `forge dar`, `daml.yaml` settings, multi-package projects, DAR contents |
|
|
66
|
+
| 11 | [Variants](docs/guide/11-variants.md) | Constructor styles, recursive and generic variants, current limitations |
|
|
67
|
+
|
|
68
|
+
## Installing
|
|
69
|
+
|
|
70
|
+
DamlForge is published on PyPI as `damlforge`. It installs the `forge` command and the `forge` Python package:
|
|
71
|
+
|
|
72
|
+
```bash
|
|
73
|
+
python -m venv .venv
|
|
74
|
+
source .venv/bin/activate # .venv\Scripts\activate on Windows
|
|
75
|
+
pip install damlforge
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
### Using DamlForge in another project
|
|
79
|
+
|
|
80
|
+
Add DamlForge as a dependency of the project that holds your `.vy` contracts.
|
|
81
|
+
|
|
82
|
+
With pip, pin it in `requirements.txt`:
|
|
83
|
+
|
|
84
|
+
```text
|
|
85
|
+
damlforge==<version>
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
Use `damlforge[stubgen]==<version>` instead if you also run `forge stubs`. Then install and build:
|
|
89
|
+
|
|
90
|
+
```bash
|
|
91
|
+
pip install -r requirements.txt
|
|
92
|
+
forge dar path/to/daml_project -o out.dar
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
With Poetry, add it to a dev group, since it's only needed at build time:
|
|
96
|
+
|
|
97
|
+
```bash
|
|
98
|
+
poetry add --group dev damlforge@<version>
|
|
99
|
+
poetry add --group dev 'damlforge[stubgen]@<version>' # if you also run forge stubs
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
This records it in your `pyproject.toml`:
|
|
103
|
+
|
|
104
|
+
```toml
|
|
105
|
+
[tool.poetry.group.dev.dependencies]
|
|
106
|
+
damlforge = { version = "<version>", extras = ["stubgen"] }
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
Leave out `extras` if you don't need `forge stubs`. Run the compiler through Poetry's environment:
|
|
110
|
+
|
|
111
|
+
```bash
|
|
112
|
+
poetry install
|
|
113
|
+
poetry run forge dar path/to/daml_project -o out.dar
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
The stubs for the Daml standard library (`DA.*`, `GHC.*`), Splice (`Splice.*`), `forge.models`, and `forge.builtins` ship inside the package. Once it's installed, `.vy` files import them directly, with no extra path setup:
|
|
117
|
+
|
|
118
|
+
```python
|
|
119
|
+
from DA.List import sort
|
|
120
|
+
from forge.builtins.daml_lang import create
|
|
121
|
+
from forge.models import Party, choice, template
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
Splice stubs also need the matching Splice DAR in `data-dependencies` in `daml.yaml`. See [Development Environment Setup](docs/guide/01-dev-environment.md#as-a-dependency-of-your-own-project) and [Building and Packaging](docs/guide/10-building-packaging.md#using-other-packages-from-vy).
|
|
125
|
+
|
|
126
|
+
### Installing from GitHub Releases
|
|
127
|
+
|
|
128
|
+
Releases are also built by CI on every `v*.*.*` tag and attached to the corresponding [GitHub Release](https://github.com/noders-team/damlforge/releases) as `damlforge-<version>-py3-none-any.whl`, which installs with `pip install damlforge-<version>-py3-none-any.whl`.
|
|
129
|
+
|
|
130
|
+
### Publishing to PyPI
|
|
131
|
+
|
|
132
|
+
`.github/workflows/publish-pypi.yml` is started by hand from the Actions tab (**Run workflow**) with the version to publish. It builds the sdist and wheel with that version and uploads them through PyPI trusted publishing, so no API token is stored in the repository.
|
|
133
|
+
|
|
134
|
+
## Using it
|
|
135
|
+
|
|
136
|
+
Installing the wheel puts a `forge` command on your `PATH`. It's a [Click](https://click.palletsprojects.com/) CLI with a subcommand per compile target:
|
|
137
|
+
|
|
138
|
+
```bash
|
|
139
|
+
forge --help # top-level usage and subcommand list
|
|
140
|
+
forge --version # installed forge version
|
|
141
|
+
forge daml --help # per-subcommand usage (also: forge dar, forge json, forge stubs)
|
|
142
|
+
```
|
|
143
|
+
|
|
144
|
+
```bash
|
|
145
|
+
forge daml path/to/file.vy -o out/ # .vy -> out/<Module>.daml + out/<Module>.map.json
|
|
146
|
+
forge daml path/to/vy_source_dir -o out/ # compiles top-level .vy files in the directory
|
|
147
|
+
forge dar path/to/vy_project -o out.dar # compile the project and build a real .dar
|
|
148
|
+
forge json path/to/file.vy --pretty-json # .vy -> JSON AST, printed to stdout
|
|
149
|
+
forge stubs input.dar -o generated/ # .dar -> generated .vy stubs
|
|
150
|
+
```
|
|
151
|
+
|
|
152
|
+
`forge <path> [options]` (no subcommand) is shorthand for `forge daml <path> [options]`.
|
|
153
|
+
|
|
154
|
+
`forge daml` writes a JSON source map next to each `.daml` file. Directory input is
|
|
155
|
+
intentionally non-recursive; `forge dar` recursively compiles every `.vy` below the
|
|
156
|
+
project's configured `source` directory. Use `--no-i` with `forge daml` to stop at the
|
|
157
|
+
first compile error; the default is to continue with the remaining files. Add
|
|
158
|
+
`--traceback` to any subcommand for a Python traceback instead of a short error message.
|
|
159
|
+
|
|
160
|
+
## Daml projects and DARs
|
|
161
|
+
|
|
162
|
+
`forge dar` compiles into an existing Daml project. The project must contain a
|
|
163
|
+
`daml.yaml` with `name`, `source`, `version`, and a non-empty `dependencies` list.
|
|
164
|
+
`data-dependencies` are supported and are checked before invoking DPM. Generated
|
|
165
|
+
`.daml` files are written under the configured source directory, then DamlForge runs
|
|
166
|
+
`dpm build` to produce the DAR.
|
|
167
|
+
|
|
168
|
+
By default DPM is searched for on `PATH`, then at `~/.dpm/bin/dpm`; use `--dpm PATH`
|
|
169
|
+
when it is installed elsewhere. For example:
|
|
170
|
+
|
|
171
|
+
```bash
|
|
172
|
+
forge dar examples/splice-util-batched-markers \
|
|
173
|
+
-o examples/splice-util-batched-markers/splice-util-batched-markers-current.dar
|
|
174
|
+
```
|
|
175
|
+
|
|
176
|
+
When validating tests that exercise templates from data dependencies, use the Daml
|
|
177
|
+
test runner's all-packages mode:
|
|
178
|
+
|
|
179
|
+
```bash
|
|
180
|
+
daml test --all
|
|
181
|
+
```
|
|
182
|
+
|
|
183
|
+
## Generating `.vy` stubs
|
|
184
|
+
|
|
185
|
+
The optional stub generator reconstructs supported Daml-LF declarations from a DAR.
|
|
186
|
+
Install its extra dependency with `pip install 'damlforge[stubgen]'`. It accepts either a
|
|
187
|
+
DAR file or a Daml project directory (the latter is built with DPM first):
|
|
188
|
+
|
|
189
|
+
```bash
|
|
190
|
+
forge stubs path/to/package.dar -o generated/
|
|
191
|
+
forge stubs path/to/daml_project -o generated/ --dpm /path/to/dpm
|
|
192
|
+
forge stubs path/to/package.dar --module Some.Module --module Other.Module
|
|
193
|
+
```
|
|
194
|
+
|
|
195
|
+
The `--module` option may be repeated and selects modules from the main package or
|
|
196
|
+
its dependencies. Unsupported declarations are skipped and reported by the command.
|
|
197
|
+
|
|
198
|
+
## Variants
|
|
199
|
+
|
|
200
|
+
Use `@variant` on a class to define a Daml variant. Each method declares one
|
|
201
|
+
constructor; its parameters are the constructor payload:
|
|
202
|
+
|
|
203
|
+
```python
|
|
204
|
+
from datetime import datetime
|
|
205
|
+
|
|
206
|
+
from forge.models import Party, variant_record
|
|
207
|
+
|
|
208
|
+
@variant
|
|
209
|
+
class Result:
|
|
210
|
+
def Accepted(value: Party): pass
|
|
211
|
+
def Cancelled(): pass
|
|
212
|
+
|
|
213
|
+
@variant_record
|
|
214
|
+
def Deferred(reason: str, retry_at: datetime): pass
|
|
215
|
+
```
|
|
216
|
+
|
|
217
|
+
This generates positional constructors for ordinary methods and a named-field
|
|
218
|
+
constructor for the method marked `@variant_record`:
|
|
219
|
+
|
|
220
|
+
```daml
|
|
221
|
+
data Result
|
|
222
|
+
= Accepted Party
|
|
223
|
+
| Cancelled
|
|
224
|
+
| Deferred with
|
|
225
|
+
reason : Text
|
|
226
|
+
retry_at : Time
|
|
227
|
+
deriving (Eq, Show)
|
|
228
|
+
```
|
|
229
|
+
|
|
230
|
+
`@variant` is a DamlForge class marker, like `@template`, and does not need an
|
|
231
|
+
import. `@variant_record` is an ordinary method decorator and must be imported.
|
|
232
|
+
Use it only when the Daml constructor must use `with` fields; otherwise the
|
|
233
|
+
parameter names are not part of the generated Daml API.
|
|
234
|
+
|
|
235
|
+
Generated derivations follow `daml.yaml`: Daml 3.4 uses inferred serializability;
|
|
236
|
+
Daml 3.5 adds `Serializable` only when `--explicit-serializable=yes` is enabled.
|
|
237
|
+
|
|
238
|
+
See [Variants](docs/guide/11-variants.md) for constructing and comparing values,
|
|
239
|
+
recursive and generic variants, and what isn't supported yet.
|
|
240
|
+
|
|
241
|
+
## Enums
|
|
242
|
+
|
|
243
|
+
Use Python's `Enum` syntax. Members must be bare names or use `auto()`; explicit
|
|
244
|
+
values are rejected. Only member names become Daml constructors:
|
|
245
|
+
|
|
246
|
+
```python
|
|
247
|
+
from enum import Enum, auto
|
|
248
|
+
|
|
249
|
+
class Status(Enum):
|
|
250
|
+
PENDING = auto()
|
|
251
|
+
COMPLETE = auto()
|
|
252
|
+
```
|
|
253
|
+
|
|
254
|
+
This generates `data Status = PENDING | COMPLETE` in Daml.
|
|
255
|
+
|
|
256
|
+
## Dates and time
|
|
257
|
+
|
|
258
|
+
Use Python's standard `datetime` types directly in `.vy` contracts; do not
|
|
259
|
+
import `Date`, `Timestamp`, or `RelTime` from `forge.models`:
|
|
260
|
+
|
|
261
|
+
```python
|
|
262
|
+
from datetime import date, datetime, time, timedelta, timezone
|
|
263
|
+
|
|
264
|
+
def epoch() -> date:
|
|
265
|
+
return date(1970, 1, 1)
|
|
266
|
+
|
|
267
|
+
def next_week(start: datetime) -> datetime:
|
|
268
|
+
return start + timedelta(days=7)
|
|
269
|
+
|
|
270
|
+
def midnight(value: date) -> datetime:
|
|
271
|
+
return datetime.combine(value, time())
|
|
272
|
+
|
|
273
|
+
def from_seconds(seconds: int) -> datetime:
|
|
274
|
+
return datetime.fromtimestamp(seconds, timezone.utc)
|
|
275
|
+
```
|
|
276
|
+
|
|
277
|
+
`date`, `datetime`, and `timedelta` compile to Daml `Date`, `Time`, and
|
|
278
|
+
`RelTime`. `datetime.now()` compiles to the Daml update operation `getTime`; DamlForge
|
|
279
|
+
infers the enclosing function's `Update` return type automatically.
|
|
280
|
+
|
|
281
|
+
Only these constructs are translated, not the whole `datetime` module. See
|
|
282
|
+
[Working with Time](docs/guide/07-working-with-time.md) for the full list of
|
|
283
|
+
supported forms, the `DA.Date` helpers to use instead of the rest, and ledger time.
|
|
284
|
+
|
|
285
|
+
## Upgrading
|
|
286
|
+
|
|
287
|
+
Upgrade in place:
|
|
288
|
+
|
|
289
|
+
```bash
|
|
290
|
+
pip install -U damlforge==<new-version>
|
|
291
|
+
```
|
|
292
|
+
|
|
293
|
+
If you installed the old `forge` wheel from GitHub Releases, run `pip uninstall forge` first, since the distribution was renamed to `damlforge`.
|
|
294
|
+
|
|
295
|
+
## Building the wheel yourself
|
|
296
|
+
|
|
297
|
+
If you have the source checked out:
|
|
298
|
+
|
|
299
|
+
```bash
|
|
300
|
+
pip install build
|
|
301
|
+
python -m build # or: make build
|
|
302
|
+
```
|
|
303
|
+
|
|
304
|
+
produces `dist/damlforge-<version>-py3-none-any.whl`, versioned from the nearest git tag (see `Makefile`'s `build`/`release` targets and `.github/workflows/build-wheel.yml`).
|
|
305
|
+
|
|
306
|
+
## Local development
|
|
307
|
+
|
|
308
|
+
```bash
|
|
309
|
+
python -m venv .venv
|
|
310
|
+
source .venv/bin/activate
|
|
311
|
+
pip install -e . # installs forge + runtime deps (click, etc.) in editable mode
|
|
312
|
+
pip install --group test # pytest + friends
|
|
313
|
+
pip install --group lint # black/flake8/isort/mypy
|
|
314
|
+
```
|
|
315
|
+
|
|
316
|
+
`--group` needs `pip>=25.1` (`pip install -U pip` first if needed); otherwise install the pinned packages listed under `[dependency-groups]` in `pyproject.toml` directly.
|
|
317
|
+
|
|
318
|
+
With an editable install, `forge`/`python -m forge` picks up changes under `forge/` immediately - no reinstall needed:
|
|
319
|
+
|
|
320
|
+
```bash
|
|
321
|
+
forge --help
|
|
322
|
+
forge daml examples/basic/simple.vy -o /tmp/out && cat /tmp/out/Simple*.daml
|
|
323
|
+
```
|
|
324
|
+
|
|
325
|
+
Run the test suite and linters:
|
|
326
|
+
|
|
327
|
+
```bash
|
|
328
|
+
pytest -q # or: make test
|
|
329
|
+
make lint # mypy, black, flake8, isort in sequence
|
|
330
|
+
```
|
|
331
|
+
|
|
332
|
+
## License
|
|
333
|
+
|
|
334
|
+
DamlForge is licensed under the [Apache License, Version 2.0](LICENSE).
|
|
335
|
+
|
|
336
|
+
Copyright 2026 Noders Team. Author: Artem Bogomaz <artembogomaz@gmail.com>.
|
|
@@ -0,0 +1,219 @@
|
|
|
1
|
+
damlforge-0.0.13.data/data/damlforge_git_commithash.txt,sha256=3D_1pvg_8E-LAdKgCoZznISTjhgUJEqicXv0eDK6r9I,7
|
|
2
|
+
damlforge-0.0.13.dist-info/licenses/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
|
|
3
|
+
forge/__init__.py,sha256=lnCYVe7J83JdAY8_eOK1vCYBXD6rQMWTJihUJgLJkBE,1265
|
|
4
|
+
forge/__main__.py,sha256=1P65S1JCHYyEZeI09JsvE_AEpH5HJX8cHXwK4R4dka0,741
|
|
5
|
+
forge/builtin_stubs.py,sha256=wSDtDs__T3cMSW8cxVCdz9QG1BGg7o9CuJgxsXP65DA,10542
|
|
6
|
+
forge/daml_versions.py,sha256=CtzLgTTNgWXBU1OkRvvcuPvsh7lYH6T7fY4AahD6Vys,4287
|
|
7
|
+
forge/exceptions.py,sha256=AH0ai856oA8Ff5iHZh1xRl01anPJtTTWlXm8M7QRVvA,13935
|
|
8
|
+
forge/utils.py,sha256=fG3bMqoOIQ9L7xVw9z09Yp6eHnjdFaxrGU1dnZ-lLDY,20520
|
|
9
|
+
forge/version.py,sha256=hFF7tqYJ7eYZR_Ae6XErILfdXmw4giGBpShfPqnr5tg,162
|
|
10
|
+
forge/warnings.py,sha256=0Aym_UFc-335jqFfQFSGcCS-yVI6sN3O4dSnJVyJtKg,2191
|
|
11
|
+
forge/ast/README.md,sha256=oTMSpMNEQQqyho26XUMHWGDyLGI1jbbb5UL8jR25Dsw,4401
|
|
12
|
+
forge/ast/__init__.py,sha256=COtHvQ6bS6fH71yOACfdaiawVMdRARxm0Id_y0lQ-h4,996
|
|
13
|
+
forge/ast/__init__.pyi,sha256=cAFzouOY5gJwsnTorWpDfUkkZy3mDoiwk9sFqGrlSX8,201
|
|
14
|
+
forge/ast/grammar.lark,sha256=VUdCJok3sw_jC6b-mfsSE8XMmSDa0CyiB_LGCT1bUXw,10363
|
|
15
|
+
forge/ast/grammar.py,sha256=1rIf9-6WvaoggHwcJL4ov4b3_X-RlaXvLRTezSv1xs8,1452
|
|
16
|
+
forge/ast/identifiers.py,sha256=wWdnwnGED16Api7bRmGcNato38r0DWzcxboTZOpe4Tc,2184
|
|
17
|
+
forge/ast/metadata.py,sha256=szQD4eVggu-xFQQoPrI0SwNvbw80nFlprgtFAU512sI,3171
|
|
18
|
+
forge/ast/nodes.py,sha256=8zpGtf2ykd7dDqBd5EDnJR-yEvOs-BkKXQnNDJX4wDk,45095
|
|
19
|
+
forge/ast/nodes.pyi,sha256=adu98cCQ9KliOhxOsDYzMc6dnTmwkXqb_F5tQcDnwUA,7156
|
|
20
|
+
forge/ast/parse.py,sha256=oLN4P5nbkqsOIJbCmUHp4S-MTD_UF7HCJcuzQC1z31w,19832
|
|
21
|
+
forge/ast/pre_parser.py,sha256=CMMsdzGPjNOYf_TWTDvRcqM-LA83c0MmXJkcvExFjGI,16008
|
|
22
|
+
forge/ast/utils.py,sha256=mYuMpIjRrJXirlXXhKD1txjz-augPHOAd6DEYgJ3Qf0,3192
|
|
23
|
+
forge/builtins/__init__.py,sha256=Wd8kI8J0hN31BskUr3d__W6g6kJT0NRBdh9lZz9sL18,22326
|
|
24
|
+
forge/builtins/daml_lang.py,sha256=O07T0-SzxMMi9dDok6o6W3hV-NZxF0q13MqNnDpuFQ4,5721
|
|
25
|
+
forge/builtins/maps.py,sha256=w3iq2sahWWJ-1uay_6a1ruUwlIvFhcu5_-LkuGuXi08,2038
|
|
26
|
+
forge/builtins/DA/Assert.vy,sha256=Xg3fDgAACvKgxUhEO4sagBXVLaA8rziOJDN2rTtOWUA,871
|
|
27
|
+
forge/builtins/DA/Date.vy,sha256=OS8i040XiBCZfqi5TMhetx-AwZT9EoGQqbtOUqMVJ50,1155
|
|
28
|
+
forge/builtins/DA/Either.vy,sha256=DNfQcO0QmGIHqvM6G9IpcMTBHLiQYv3RFXkac53IHd4,1123
|
|
29
|
+
forge/builtins/DA/List.vy,sha256=qW5thF4FTtvxK1oo6EBW3RAT4-RmMh67xA_msJlOzEQ,2357
|
|
30
|
+
forge/builtins/DA/Logic.vy,sha256=QA3cdyLrAG4wSjOLVLAE0EypLcli-5VuvltyD_zF5hw,898
|
|
31
|
+
forge/builtins/DA/Map.vy,sha256=0mWeKnABdVCYoxMDVoHZRuzeRQGKdCENMMoDngNeceY,960
|
|
32
|
+
forge/builtins/DA/Math.vy,sha256=68SAIjfMZ6FMAiBr1ZzgojstnlsqpURAU55Gec2ZuDY,1063
|
|
33
|
+
forge/builtins/DA/Maybe.vy,sha256=ORVWBrcsRoGhF6QZ4tjqWNpIJaACVzBp0V63EWIDcbM,805
|
|
34
|
+
forge/builtins/DA/NonEmpty.vy,sha256=qToLOjIaHTmYBoYAIi2QPVGfwp9VLAZ8UqiE9cK99jA,627
|
|
35
|
+
forge/builtins/DA/Numeric.vy,sha256=NkVvEIXKZzbKkx0MMCAFiQFGybvnyPzoG2u59-FM4VQ,1879
|
|
36
|
+
forge/builtins/DA/Optional.vy,sha256=pcR7vIzS-OOCB5VD4W6iPGkqsZxKeSOP9nq6dCR5dow,816
|
|
37
|
+
forge/builtins/DA/Random.vy,sha256=VjZ-seeQN5lO-fO36qRPaL4gd2sNVoUgb6yEVE89cUA,345
|
|
38
|
+
forge/builtins/DA/Set.vy,sha256=R10NV2KlvoayDjBfEFU3u_Xv9iywcmu4Sy1NEjrycn4,1237
|
|
39
|
+
forge/builtins/DA/Stack.vy,sha256=EDUBCEDi-DzOmLyeRwVUuKcPRuZbouNSxcJKf2J26uo,647
|
|
40
|
+
forge/builtins/DA/Text.vy,sha256=BUkxsJIvll2a34wQAQP9G-CSIQtQgUAj7pqZubSatrA,2955
|
|
41
|
+
forge/builtins/DA/TextMap.vy,sha256=Acu7uiETs82NCGX6QPDG_G2Ar6RSiaeWJZ4aJ3A02IY,866
|
|
42
|
+
forge/builtins/DA/Time.vy,sha256=Pdho7Uoi5j-AGtI12YIJn5XLRXg9Sy6xz100qs3Uo7o,1280
|
|
43
|
+
forge/builtins/DA/Tuple.vy,sha256=SQwHT-J6HzmyooH7_G4RtdLtK4ErNilZUo9158tW5x8,349
|
|
44
|
+
forge/builtins/DA/Types.vy,sha256=07wJh60V8ho5WIicJGuVAd88p4BoLo5qOaQmPkkZsE0,4897
|
|
45
|
+
forge/builtins/DA/Validation.vy,sha256=AlX8wjsek1LE6GVsCloo0M0Fhpqe7CmNQMJ2uwEQ9Ow,644
|
|
46
|
+
forge/builtins/DA/Action/State.vy,sha256=OuG7nVVW7VaoBl5HVFt4adrzsOIwdacL1VNS42g7F7I,296
|
|
47
|
+
forge/builtins/DA/Action/State/Class.vy,sha256=OslAtm-jE-hSZlUNfViQo4RxSLqapStAnyrkSNnQZO8,187
|
|
48
|
+
forge/builtins/DA/Crypto/Text.vy,sha256=cXdnJjYvzWUvMcrbQpn9C1AcBcav0RrvdQdx6bkScLI,2827
|
|
49
|
+
forge/builtins/DA/Date/Types.vy,sha256=RvwaXMbW04yW76bd_SJJI6yogUNKvNB2cNsW7SiQM64,553
|
|
50
|
+
forge/builtins/DA/Exception/ArithmeticError.vy,sha256=F643S8gWDVei3AZRoDJA6NGvsmzT2g2S5aehwofi-FU,91
|
|
51
|
+
forge/builtins/DA/Exception/AssertionFailed.vy,sha256=0ESEh92Vg-GaOOIFRY0WEGO1kRq_N58GNreNSYOFIw4,91
|
|
52
|
+
forge/builtins/DA/Exception/GeneralError.vy,sha256=Ca2_USTvMZL6KNgHw-zr2Vsh-4ShqcZ7HtdTuCzoec4,88
|
|
53
|
+
forge/builtins/DA/Exception/PreconditionFailed.vy,sha256=7j6zINFSL-o3MCHT8ld4YWeAmJtHCilRZeYcfKy1Qsg,94
|
|
54
|
+
forge/builtins/DA/Internal/Assert.vy,sha256=Qw8QbAZl2AkEI360aqTsl8K5M6xgSubxgNkcBs1bvIc,499
|
|
55
|
+
forge/builtins/DA/Internal/Compatible.vy,sha256=ZCEhJ0zgrlBtiQY9ddwBDs_feDaCcE_mPS5ZRwF8fNk,715
|
|
56
|
+
forge/builtins/DA/Internal/Date.vy,sha256=T4IIXo07795fJQF81zxD7pZi06y484cDAoRIB0Oy0ck,262
|
|
57
|
+
forge/builtins/DA/Internal/Down.vy,sha256=YAai2ABufTrsuDuGgp21IxFkLBCFTib5gLiUEZtySSg,144
|
|
58
|
+
forge/builtins/DA/Internal/Erased.vy,sha256=5dIYPpZWdD1Jw_7VA8JbL0sL85AejAY7XdRM5ymvvO4,115
|
|
59
|
+
forge/builtins/DA/Internal/Exception.vy,sha256=RoBbt-47BepBgvSTpOF6lOWkWgD1Z-IzzQO4i8WAw6s,142
|
|
60
|
+
forge/builtins/DA/Internal/Fail.vy,sha256=ZgGRxJ0L4noze84aBWLSnv-yNpVpwmd-gW-ic1t-QZI,237
|
|
61
|
+
forge/builtins/DA/Internal/Interface.vy,sha256=0q8GYmux5gmWJ9b2XkcuWxbdIXaB2YtxdE77klA-50M,1123
|
|
62
|
+
forge/builtins/DA/Internal/LF.vy,sha256=4ZyWfGk8-XjbK8ZeDvE1BSShgmPZ7MO962r_3g1I_yQ,545
|
|
63
|
+
forge/builtins/DA/Internal/NatSyn.vy,sha256=vTrKfcSMg8I10Jge5_y3esIAKpw9kqK0bfJyTtDKgZA,182
|
|
64
|
+
forge/builtins/DA/Internal/Prelude.vy,sha256=gfnSs8er515fOhTiGag1roZtRVzvPzOs_A0pahS2O3E,2827
|
|
65
|
+
forge/builtins/DA/Internal/PromotedText.vy,sha256=SLnKLOYSqWqGS0-VMxFuQKE9bE_BhlXkcrSMyr6HKcE,188
|
|
66
|
+
forge/builtins/DA/Internal/Record.vy,sha256=kF1x3U9B_XWC0e-ni0lbjVJTxYzegv4sLPLUtkDVqRo,223
|
|
67
|
+
forge/builtins/DA/Internal/Template.vy,sha256=UE9e3D-rP5jMF14F8RJ5l0fbWHsZpvyeRWAdSoA44eg,75
|
|
68
|
+
forge/builtins/DA/Internal/Time.vy,sha256=gYyBiUn152MqHjQkIy7TVh8jdzdMvT_Gk-oOdT6exXA,460
|
|
69
|
+
forge/builtins/DA/Internal/Interface/AnyView.vy,sha256=6hlsFxEBi4NBMR1buLQZa3dzPuxtCTHsEBQTkA_cZKI,451
|
|
70
|
+
forge/builtins/DA/Internal/Template/Functions.vy,sha256=DZ021dGbBJxqyM6HofVPZXdXBRS0HiB05LcqdenDDLQ,2449
|
|
71
|
+
forge/builtins/DA/List/BuiltinOrder.vy,sha256=iLas6MmpDnbcR4oUcIdWMjeTfgjeQFmAkiVY5fIZIa0,323
|
|
72
|
+
forge/builtins/DA/List/Total.vy,sha256=0lLha4rR5o3kS0gy7hfwjyNkO6WmAh8s_SuvZpaO_AY,320
|
|
73
|
+
forge/builtins/DA/Logic/Types.vy,sha256=79W_7_JMRy8jX1ryPBpkXkiZuqAJ8MuFRwrHuMn2RI4,795
|
|
74
|
+
forge/builtins/DA/Monoid/Types.vy,sha256=_XR9kpsIIWBYAKp6WlddrcoD70pK_QJIyt8lVOKY8Qg,367
|
|
75
|
+
forge/builtins/DA/NonEmpty/Types.vy,sha256=wUsun7wVlZFViy8g5_4nssSlNzZRhB7D0FOmqY9F9D4,160
|
|
76
|
+
forge/builtins/DA/Random/Types.vy,sha256=6edCd5mrUcsjfCyiD3DJUJnbMp5ATOh2B86XgA_tms0,250
|
|
77
|
+
forge/builtins/DA/Semigroup/Types.vy,sha256=mkajUzXZGPhsaxFQaH2I8MZ0YfCckxODynKhVAkU5qg,194
|
|
78
|
+
forge/builtins/DA/Set/Types.vy,sha256=v8KKFRIRpCaVnkgZma7BXzZ4qj-FVXYrSBgzijGFlE8,186
|
|
79
|
+
forge/builtins/DA/Stack/Types.vy,sha256=PupRxYm4gqOYPaHSZ9E9wh01BIQ1z98-aBMzIboi1So,546
|
|
80
|
+
forge/builtins/DA/Time/Types.vy,sha256=_YLCGPPMnlRaQC0GmAukMb7IrJeyM5u2UMK2HOOzv-w,88
|
|
81
|
+
forge/builtins/DA/Validation/Types.vy,sha256=-XKDgaG2AoDRvAAuq3sb3hLkd__v9nL03maZLlYocE0,552
|
|
82
|
+
forge/builtins/GHC/Base.vy,sha256=LYLC0R3_pqa-x640rcjXp8gyZNQZni3SirprIeZ_6Ds,138
|
|
83
|
+
forge/builtins/GHC/Classes.vy,sha256=Gl4lL0gCR6L_dfnZQ2jFwM56JyhCOB0L-gY1umKaPqo,558
|
|
84
|
+
forge/builtins/GHC/Enum.vy,sha256=hsmJDWwdadBOc4qAJ8XVyqExxAWuxiboE_ifSXyfbfo,1257
|
|
85
|
+
forge/builtins/GHC/Err.vy,sha256=Xv_rfpzvceYRzpCw8UH4lHqEbjNgTk9o1Was21b8hH8,139
|
|
86
|
+
forge/builtins/GHC/Num.vy,sha256=qW521gqmSoyrB68uMZ_s9N4keaCZRfL7KopRqRzTwEU,278
|
|
87
|
+
forge/builtins/GHC/Show.vy,sha256=lwZGYhTgEVvSU6Ukow-qdtmZGlFjTF8EQC0LYVAWah8,604
|
|
88
|
+
forge/builtins/GHC/Tuple.vy,sha256=rGpZtfyiuQz1VPDw_ZXrZCXMeq8qblmx4lXcaN_CvV8,140
|
|
89
|
+
forge/builtins/GHC/Types.vy,sha256=oZ4K183avtt3FclpuFkvh7-cj8nZWPOpMDypWv2S-t4,165
|
|
90
|
+
forge/builtins/GHC/Show/Text.vy,sha256=x8ALFNSoeebDm9QSGIQI-0CqL10vH06pRqVv2DhSEJM,1210
|
|
91
|
+
forge/builtins/GHC/Stack/Types.vy,sha256=Yh9_gFIb67Ituwz0lgoDEqbO8kNHv23FSVLFMN7B348,1428
|
|
92
|
+
forge/builtins/Splice/Amulet.vy,sha256=2PyrzDhrolU75Hr8GR6pFGO89qs21H0_8i3oPrVBpg4,13547
|
|
93
|
+
forge/builtins/Splice/AmuletAllocation.vy,sha256=Co7A9rvNTEZGLW-4m9TsxRJfLJPx9V1GKlmF9CGg4ms,2042
|
|
94
|
+
forge/builtins/Splice/AmuletAllocationV2.vy,sha256=vsfWOLQNofZVxhlw2oVYVltu10oBYT_bsLLoxdJLTE8,2088
|
|
95
|
+
forge/builtins/Splice/AmuletConfig.vy,sha256=XlS3P3xrf97nDnnTpEePynyDJ38eu3Z8BUA0Guc2wSQ,5571
|
|
96
|
+
forge/builtins/Splice/AmuletEventLog.vy,sha256=9IHrZ2tcTpoLYdBsFOju66EJy-MohXm4ZZe8mn-Gu5k,126
|
|
97
|
+
forge/builtins/Splice/AmuletRules.vy,sha256=0RADWpUPPRjR34aHHGB5CEGNhoq9HTEFDrCMt96Gnng,41001
|
|
98
|
+
forge/builtins/Splice/AmuletTransferInstruction.vy,sha256=3mMHHOpM2jR4fdJMMOVMEG0srqalRHGvzwf-L7diA0s,1386
|
|
99
|
+
forge/builtins/Splice/Ans.vy,sha256=X_3qphlzSiNqnzPlSioBcXChW6wxjKKrZfiDiyBhaXo,7167
|
|
100
|
+
forge/builtins/Splice/CometBft.vy,sha256=BB0doa40JxtMgto-htlQNUY5xGRLqoFNXi6sl_CJzv0,1649
|
|
101
|
+
forge/builtins/Splice/DecentralizedSynchronizer.vy,sha256=fcOLAKK63deAVEZCGspr_QUwW9d3IvE8rz3JXU0wcUw,1946
|
|
102
|
+
forge/builtins/Splice/DsoBootstrap.vy,sha256=YqyI5I34I1Dr5TqnORi2zvBmimFh0FskF0H8d1Je1Ec,1643
|
|
103
|
+
forge/builtins/Splice/DsoRules.vy,sha256=LXit3ESG_n_bUOYvbbePIAm0zPpYhjG8mMEayAXZ-Bg,50099
|
|
104
|
+
forge/builtins/Splice/Expiry.vy,sha256=OaI8MX4cnFabugGrikt3n3bautJlkptJcLj3SkYZRPU,1978
|
|
105
|
+
forge/builtins/Splice/ExternalPartyAmuletRules.vy,sha256=HGqDw321bmT33sgk-mkrCLSKRmeaV2E8wOHyxWSpIag,6069
|
|
106
|
+
forge/builtins/Splice/ExternalPartyConfigState.vy,sha256=iHAg4fCEPcwFoy2A5a9DmJapVFhHMmJDZpcFo6h9C9I,884
|
|
107
|
+
forge/builtins/Splice/Fees.vy,sha256=-n7HPbqGd-FL2GXCuod6ANqOD2EREM26hniRwZClEF8,2702
|
|
108
|
+
forge/builtins/Splice/Issuance.vy,sha256=2Bh9DgVTE6XiXfVHrnV91NTsMtL7YADMvUvizvSDDxE,3702
|
|
109
|
+
forge/builtins/Splice/RelRound.vy,sha256=cCcrFqgus-35L4MtnVfDg9S0Pp41f_Lt9TN-mytGQe8,281
|
|
110
|
+
forge/builtins/Splice/Round.vy,sha256=EEVtyAnvtz1DGHvBhq6TwRq0AmuT_nHSyPgNorAamMw,3479
|
|
111
|
+
forge/builtins/Splice/Schedule.vy,sha256=Yk93bRQ3LVjncpRRf69KlD2uj-EwjzHH-THd7hdTw0A,1276
|
|
112
|
+
forge/builtins/Splice/Splitwell.vy,sha256=Vy6tSJlmwqK0gdfHUmwAWDrGs3CKWe00aslVbk_3ILs,7514
|
|
113
|
+
forge/builtins/Splice/SvOnboarding.vy,sha256=PG4eoViFVeuiobr5im_E7SdkeMF2MbZI1b9x6nwmpF0,1543
|
|
114
|
+
forge/builtins/Splice/Types.vy,sha256=eJc6s67OVnRoNCPVGN3n7mfG4nuNWk7_zjJv9qXraDo,316
|
|
115
|
+
forge/builtins/Splice/Util.vy,sha256=dlLOJQmafg4eEPdRlZEFwq61nMeCm-RW8XD8fNY1yvg,2919
|
|
116
|
+
forge/builtins/Splice/ValidatorLicense.vy,sha256=gwf_y25LpYLLbOfP7xmt_5fwKFCazj-Bk1Dt_rFQVlY,5050
|
|
117
|
+
forge/builtins/Splice/ValidatorOnboarding.vy,sha256=Id5ORWTXkP5E4aR21FnFbqxbJb00ePHEDABM1LGqDKw,1092
|
|
118
|
+
forge/builtins/Splice/Amulet/CryptoHash.vy,sha256=KIxpj9cECYE-_EgpYuUs328U6H8bPGWyH5m-1XuDhuE,1187
|
|
119
|
+
forge/builtins/Splice/Amulet/RewardAccountingV2.vy,sha256=puXzn0_i5K9lDBzGkFb1pp30JwbSCJ6eFDJqipGI1d8,1887
|
|
120
|
+
forge/builtins/Splice/Amulet/TokenApiUtils.vy,sha256=2RDdgLoPLLKG0AECR_tIq_Fs8mpaAmGyFxctzIvdI40,4549
|
|
121
|
+
forge/builtins/Splice/Amulet/TwoStepTransfer.vy,sha256=jMvNjlU3Nz3qfTdrk5AOZJ-xmEhYddz_1GZV00x0--w,1854
|
|
122
|
+
forge/builtins/Splice/Ans/AmuletConversionRateFeed.vy,sha256=dyUM7vwXj-7x_D0n7oNHVxBx8W2RwFBPS5jIozjZi8M,1689
|
|
123
|
+
forge/builtins/Splice/Api/FeaturedAppRightV1.vy,sha256=T-n5olQmzGKuUQri_rkupb0zuuPxpLoFxINivgM6QuY,1268
|
|
124
|
+
forge/builtins/Splice/Api/FeaturedAppRightV2.vy,sha256=sAyKQW2NMixFQrGMae_WXiYwg20Gq3AA2DXvqFn4e1g,1331
|
|
125
|
+
forge/builtins/Splice/Api/RewardAssignmentV1.vy,sha256=H3Fo6Mg-NMDQoV3vaqEw7szBuZH9VsjdEZRtHKJYcfQ,1501
|
|
126
|
+
forge/builtins/Splice/Api/Token/AllocationInstructionV1.vy,sha256=6nbYr1xrU_PXs_etCeipZzzMgMlwf0JZD4o_CoDCTUo,4592
|
|
127
|
+
forge/builtins/Splice/Api/Token/AllocationInstructionV2.vy,sha256=D_PjE34j1MskEsIdZguim2ozFjoi184BKuihzPEq3E4,5768
|
|
128
|
+
forge/builtins/Splice/Api/Token/AllocationRequestV1.vy,sha256=kBJuO9yOwMCtELtc7hDhM9ywZgxKO6MuX8Zm_-JM70E,1425
|
|
129
|
+
forge/builtins/Splice/Api/Token/AllocationRequestV2.vy,sha256=tqMKuFl_phx2x0ZKUufWpFN40BqAoJgvCq3VixDfyzs,3653
|
|
130
|
+
forge/builtins/Splice/Api/Token/AllocationV1.vy,sha256=gSrd0fFZy1X4x6H7di7BPkLS4HUw_FVey0ovoK9yinY,3440
|
|
131
|
+
forge/builtins/Splice/Api/Token/AllocationV2.vy,sha256=3Xt33dLZf64ChhxafULHxq7j3pFxky8QZ7rgKHQOPjU,7769
|
|
132
|
+
forge/builtins/Splice/Api/Token/BurnMintV1.vy,sha256=wTnBwLQaLQ0F2TCPqOppQDWf2I5Ch8BNyGUkenRw8g8,1864
|
|
133
|
+
forge/builtins/Splice/Api/Token/HoldingV1.vy,sha256=OxM8dXOPGa7_-kCnooaoG-oX4b9G668bKyW_sxDsx4I,690
|
|
134
|
+
forge/builtins/Splice/Api/Token/HoldingV2.vy,sha256=cHJz8J-RfrVgkF6-x5JMA4EA6FZVy4xD2NUoFywkVNg,781
|
|
135
|
+
forge/builtins/Splice/Api/Token/MetadataV1.vy,sha256=YRwWXj89akX5gL1e4tW0xXbSeU2DPR3cWApvJCbbvtw,2235
|
|
136
|
+
forge/builtins/Splice/Api/Token/TransferEventsV2.vy,sha256=aJ_UWzfb-gWip2UuUQAOyOpY1Nnrhtt3uF1eC4otWZk,1523
|
|
137
|
+
forge/builtins/Splice/Api/Token/TransferInstructionV1.vy,sha256=4z4f5m_f_NCCy8EsQLUTsRsyiqytOhPeBuUHjZBDFks,5925
|
|
138
|
+
forge/builtins/Splice/Api/Token/TransferInstructionV2.vy,sha256=4kt1iMWh17tHlg7EV-p9EyWeerEasc71xDXeYI7Jn5k,6379
|
|
139
|
+
forge/builtins/Splice/Api/Token/Test/DummyHolding.vy,sha256=A_-GOZMT_zVnypgMx1PJX029N4bVD_Hl-pWEHVka0bc,183
|
|
140
|
+
forge/builtins/Splice/Api/Token/Test/DummyTwoInterfaces.vy,sha256=U2v2afZ73Ceyu0bPvRv1OAY0Va1pJJ9iCEXfN7iwGJE,239
|
|
141
|
+
forge/builtins/Splice/AppManager/Store.vy,sha256=xDpRFgVeODV7CXWdhb3295NgvsCf3aBmCv20PEFZ83c,1253
|
|
142
|
+
forge/builtins/Splice/DSO/AmuletPrice.vy,sha256=odLMHku-hX2bhR3vdIQRg6Wrg61hzsKDvV8YR6FV4Zg,659
|
|
143
|
+
forge/builtins/Splice/DSO/DecentralizedSynchronizer.vy,sha256=G2vPATNOmmFrYtjgOvDB5Fxn3AqIWhg_iEtp7u1Ec_I,3074
|
|
144
|
+
forge/builtins/Splice/DSO/SvState.vy,sha256=F8kbjVmmOx2qmzlaN_X2hakWuPS7Fr6PjPygpI9eVzY,1774
|
|
145
|
+
forge/builtins/Splice/Testing/Apps/TradingApp.vy,sha256=r7YfSGziEG3LGntbn-Cqgn0JPj-RgghISQLYuDgrZKk,2868
|
|
146
|
+
forge/builtins/Splice/Testing/Apps/TradingAppV2.vy,sha256=4iTRMZd8YfqC2fs5pUEXVhSVX95o50oXiws28yfW-aE,8023
|
|
147
|
+
forge/builtins/Splice/Testing/Tokens/TestTokenV1.vy,sha256=7k-mgYvpYeWZvTHhgrZUsnRyf0fVwDs4TlM50NE3LsU,1425
|
|
148
|
+
forge/builtins/Splice/Testing/Tokens/TestTokenV2.vy,sha256=X7AvWFckJnD0FunLDOYTzt-fh-TvcS8kspkW7TMelcM,3663
|
|
149
|
+
forge/builtins/Splice/Testing/Tokens/TestTokenV2/AccountConfig.vy,sha256=wxpOffTFXoFIdvXWbKp6M4y0K43s9K6jYaU1XomemTg,8052
|
|
150
|
+
forge/builtins/Splice/Testing/Tokens/TestTokenV2/Allocation.vy,sha256=Q4g4ihONSPNAJT4xqWo_wmBelL51DQzVVJOoEcExGJU,7354
|
|
151
|
+
forge/builtins/Splice/Testing/Tokens/TestTokenV2/Holding.vy,sha256=3XGTSQC99HXrw0DrnzKtTS8zhBmWXDAQTPP_Mzh7us0,701
|
|
152
|
+
forge/builtins/Splice/Testing/Tokens/TestTokenV2/Transfer.vy,sha256=ONHhQ7Wa9QQTL3PvdVu83MHgik6NQwUkUl5exrOuPXE,3302
|
|
153
|
+
forge/builtins/Splice/Testing/Tokens/TestTokenV2/Util.vy,sha256=GgudqGUTsf4McGN1nZS03k-UuvnkVaJoORkN3NJvfOM,1183
|
|
154
|
+
forge/builtins/Splice/TokenStandard/Utils.vy,sha256=hRYtc9ARkhbfYIBof9tGDOwzl1H4aFm-f2DwXB4mzRI,3404
|
|
155
|
+
forge/builtins/Splice/TokenStandard/Utils/Internal/Allocations.vy,sha256=w67Ld-MF8Q5brEJ-TxjkV3Ja_lmfGWQvnv1HE0S-hgE,11563
|
|
156
|
+
forge/builtins/Splice/TokenStandard/Utils/Internal/Choices.vy,sha256=a7AaEtzpGbJtYtHSlmmodiam6GA40EsHDxaGy8Oh6ik,1791
|
|
157
|
+
forge/builtins/Splice/TokenStandard/Utils/Internal/Conversions.vy,sha256=R5xfvqvoGfS23-zCCZkrInefNgzQ_o22FHpYMblAgQ4,4468
|
|
158
|
+
forge/builtins/Splice/TokenStandard/Utils/Internal/Events.vy,sha256=qZN1fINNT-YekRbIeK5dTMz7_0LAe1ug1MauvkXGIOc,2952
|
|
159
|
+
forge/builtins/Splice/TokenStandard/Utils/Internal/Transfers.vy,sha256=qUQD5SCbcxH8kZVvQ0usTjOqOFf4jYlkU1xl294QKW4,2688
|
|
160
|
+
forge/builtins/Splice/Util/FeaturedApp/BatchedMarkersProxy.vy,sha256=xpj4gQ3asaPD6xxMvtZPC4FRyPGdJK08lcrHJaHbFwo,1741
|
|
161
|
+
forge/builtins/Splice/Util/FeaturedApp/DelegateProxy.vy,sha256=hzwc5vuOavd9cNhC-9ZWb_4EMRDfEFzmm9pX4THEMPE,3404
|
|
162
|
+
forge/builtins/Splice/Util/FeaturedApp/WalletUserProxy.vy,sha256=QdFTdi4PFlt-DvpyiKLMEkd51wN8SqEmWfktyYxN958,6052
|
|
163
|
+
forge/builtins/Splice/Util/Token/Wallet/BatchingUtilityV2.vy,sha256=Ry0DZQ-t0PIXq8CPMA1wmSPpBE6bKpVWq3J896FO_PA,12005
|
|
164
|
+
forge/builtins/Splice/Util/Token/Wallet/MergeDelegation.vy,sha256=pHlw3S-cSVLIwEInSkuENgaiQt6Xxhc2MOD93QlYV10,4419
|
|
165
|
+
forge/builtins/Splice/Wallet/BuyTrafficRequest.vy,sha256=01Gfg5PdsawXNSyx7ziOFy93c2w6ZOSB4dxJ0FZXslE,2205
|
|
166
|
+
forge/builtins/Splice/Wallet/Install.vy,sha256=LFG6QWsCjkvqHh0KqcYSsCM0z-JIM9ULq94EAKckO-w,24758
|
|
167
|
+
forge/builtins/Splice/Wallet/MintingDelegation.vy,sha256=L6MNlJlVx_u7JQCN5g3HMArg8r0FhGAfAqXyo4RHDvM,3038
|
|
168
|
+
forge/builtins/Splice/Wallet/Payment.vy,sha256=gGezYj44z-eU0Y1HJ_LyF83wkDEg8gkLLdyd76dyfrE,4958
|
|
169
|
+
forge/builtins/Splice/Wallet/Subscriptions.vy,sha256=3j2iQWw0sNqmcHcx5qXoTmqbpmFNQzV8-jJ36IIOisQ,9902
|
|
170
|
+
forge/builtins/Splice/Wallet/TopUpState.vy,sha256=ddo3xRu3SvBESctAegB9T6T06ERnptsR-z7jjnIpdzk,680
|
|
171
|
+
forge/builtins/Splice/Wallet/TransferOffer.vy,sha256=h5ld9Ml4KPf-3m8WmNXKaxB_1RdQKIfSC-Fe6FcBaso,3715
|
|
172
|
+
forge/builtins/Splice/Wallet/TransferPreapproval.vy,sha256=gae7LEaJg81FeamtQ58vCzZVkMv5852x8y5_pfYyuqM,1111
|
|
173
|
+
forge/cli/__init__.py,sha256=fFGH3J9U7jbLvfxPnsSS9be-7F0b735HrZ2UgWgVBI4,624
|
|
174
|
+
forge/cli/forge_daml.py,sha256=ciuygdRVfTMsW6yGTtAna-21Bc2mvOv-Z7H6II9l78A,3511
|
|
175
|
+
forge/cli/forge_dar.py,sha256=n8acZtms1m337HzN07o9v5xwACTtFXqcY8SJY5a-Kjw,7159
|
|
176
|
+
forge/cli/forge_json.py,sha256=7bV72X0mZzXHCm_BU-LF939TfyohwLUpNmDIkUD0GY8,913
|
|
177
|
+
forge/cli/main.py,sha256=-WVn68fzn50pzbq4V1qgR3urgj0EBa1claFlWG8uEd0,6426
|
|
178
|
+
forge/codegen/__init__.py,sha256=1hTffC8wznZIO-kjll_5eySbZN0Qp0ab2780vWt73PU,760
|
|
179
|
+
forge/codegen/doc.py,sha256=LHbOrkhXmJ9wj1pUmNh-Jd56Qd0YL3hkR1dNZIE0qgk,1797
|
|
180
|
+
forge/codegen/emit.py,sha256=Dzd6fFLrt_-yFaMS8oYp9oInf6JNg4UuX6ahR3tsR1s,56008
|
|
181
|
+
forge/codegen/loops.py,sha256=_NdN43trkNFfkPOeOW0XAEpZz_NR3ba4spJQ3tE-PHg,981
|
|
182
|
+
forge/codegen/maps.py,sha256=x7EAYgcE6d_lfysxYw2aLDo-5l8B6FYdWSZNJXQ0uh8,2679
|
|
183
|
+
forge/codegen/optional.py,sha256=C8DcKBbF-W78L_odcyoOrHy0rpS_snqueHMDTATxdi0,1646
|
|
184
|
+
forge/codegen/self_mutation.py,sha256=-n21lTX-7JNisLcKWowzYEd9RMJv_-BC1_83Cd4R0ao,15272
|
|
185
|
+
forge/codegen/sets.py,sha256=guD7xBWDWQU00R7H16Jeib_nP34E098h71XfqYQgwS8,1656
|
|
186
|
+
forge/codegen/source_map.py,sha256=E4LSEey0lvkwJHqugAu_N8t25g_nU4vmiED5ubEdc7k,9136
|
|
187
|
+
forge/compiler/__init__.py,sha256=fFGH3J9U7jbLvfxPnsSS9be-7F0b735HrZ2UgWgVBI4,624
|
|
188
|
+
forge/compiler/settings.py,sha256=ofIAqz4YHMyhEa_wqu6VH6osMEcyMA0DYWzcOMNGOJU,2819
|
|
189
|
+
forge/ir/__init__.py,sha256=lBqsY6s6qxZTxakWSTB2MQeVd6H6E32ZCpP33Ep_eyw,693
|
|
190
|
+
forge/ir/fields.py,sha256=tpkoHEzdPLTKQ8E4PhDKCDFSDnJfeob-yten-J3rTBw,3130
|
|
191
|
+
forge/ir/imports.py,sha256=82uQ6qKWEGocYIx0S2HJjxLTOJvCFCD7bZQA0_AWxK8,8623
|
|
192
|
+
forge/ir/lower.py,sha256=U7JgCzZIJBD2kR9OCf052caKzG4SsZ8Tmg94faKbrV4,32215
|
|
193
|
+
forge/ir/nodes.py,sha256=xcL1RgD1ibsbEw_hNLRLZuaKl0NSjIqAuH6FZGzBPRg,9067
|
|
194
|
+
forge/ir/normalize.py,sha256=Tj8surnd97cPD9IW-jn7XEMCJrFXF8Gf44PW_dqsZeQ,34658
|
|
195
|
+
forge/models/__init__.py,sha256=DOuQqOPMF96bkVJagLjF_CxWDVHOvJD_IgDGZpF6wng,1268
|
|
196
|
+
forge/models/decorators.py,sha256=ST4c6H-llrKExC6OlJt9NMF-QR0F8wCbQkqNy9m7cK0,1218
|
|
197
|
+
forge/models/error_codes.py,sha256=uTzUgb7UANAhwbn8FhYzqo0nglhJZVImzulz0sv4qbE,1427
|
|
198
|
+
forge/models/types.py,sha256=agINNJ3YtTPtGO_oxP8CUvgAMnniQN_azJsAnhhEHTU,934
|
|
199
|
+
forge/semantics/__init__.py,sha256=3zE74pc369IXQnILpCATRXi4Ec-BbJT19hTXv4Hxf8s,1482
|
|
200
|
+
forge/semantics/primitive_specs.py,sha256=cmmqispjgDxIMx0NgqMrRZSDHC31XTid5dm5-0RaCas,8991
|
|
201
|
+
forge/semantics/analysis/__init__.py,sha256=fFGH3J9U7jbLvfxPnsSS9be-7F0b735HrZ2UgWgVBI4,624
|
|
202
|
+
forge/semantics/analysis/imports.py,sha256=AUWVYr-NYjpquXDJ8MV8gguV-hxXGejx-diNa1-2CNs,17337
|
|
203
|
+
forge/semantics/analysis/intrinsics.py,sha256=fglW5zDNQEzXOJW0bK-n_JOUxR21aRNPYilqoNyugVE,19832
|
|
204
|
+
forge/semantics/analysis/module.py,sha256=t-1DCmj33NfozEtujhrJXmPtNaUgiU58gcuUP7ONKVE,14823
|
|
205
|
+
forge/semantics/analysis/primitive_values.py,sha256=cgbsRggnDGHpKyd4Mojm9glMxsTYG-P7YH21ixetchU,13036
|
|
206
|
+
forge/semantics/analysis/structure.py,sha256=zYK_PXrA8MWBSveBYr-UKz5I23P6PsPaQxxPd2k8WcI,29622
|
|
207
|
+
forge/semantics/analysis/typecheck.py,sha256=f_GQxPwtzvEoeGCNlDsg7N4M9lEJ3xvEnVbbRdz07o8,41039
|
|
208
|
+
forge/semantics/analysis/types.py,sha256=hAv7SpHTlikHT2vPW1nFNyre3Lh3fkX4zYiY2-RJyrU,47277
|
|
209
|
+
forge/stubgen/__init__.py,sha256=eUU7H-CNupiD_ixMuZY9yWSJ2Jk5vgEv20X4Ze7XLLc,3303
|
|
210
|
+
forge/stubgen/dar.py,sha256=60quoigdwPIzqd-tJKsIn6jE_bIhJWoH4UtJUDe42aE,2924
|
|
211
|
+
forge/stubgen/exports.py,sha256=XwrjcxOJO4FUdLqY6QqFLTgQbPqMJi2hd8nGXmdM2EI,1653
|
|
212
|
+
forge/stubgen/lf2.py,sha256=VR6g76GdktRjcLIZKrj2IsqZxrDa3kSXJdpwTx0rWEQ,3382
|
|
213
|
+
forge/stubgen/parties.py,sha256=G5CHU6ZZaTgZYQPJBYTiX0Pc8Vw-4ItIugE27Anxy28,4477
|
|
214
|
+
forge/stubgen/render.py,sha256=hYknZtw-ugPN47EjlSqOV9MeI3UqQwyEW6w46FAJKW0,23553
|
|
215
|
+
damlforge-0.0.13.dist-info/METADATA,sha256=faacpX-EIbApBPcTHcbv5xCs0uoeRm0R1KtOHph99rM,12680
|
|
216
|
+
damlforge-0.0.13.dist-info/WHEEL,sha256=mOdXR9C3wMVov7cSY8PY-XCzo3SmmWCHvGQr5csJoao,91
|
|
217
|
+
damlforge-0.0.13.dist-info/entry_points.txt,sha256=YI2pl_NJh08DDhZl3Z-urH5nJO_aFWVJ2jheDGzdRcs,45
|
|
218
|
+
damlforge-0.0.13.dist-info/top_level.txt,sha256=sDbe4KjRUBYyB4IABQOjHzoomNKH_4KwOv5fPPrv4ME,6
|
|
219
|
+
damlforge-0.0.13.dist-info/RECORD,,
|