Kasey White
5d0c5d2a5b
remove a redundant type replacement in build_ir
2023-02-05 23:56:44 -05:00
rvcas
3ff927d30a
feat: reset the generator when generate finishes
2023-02-05 20:35:39 -05:00
rvcas
501d667532
chore: fix tests
2023-02-05 20:35:39 -05:00
Kasey White
f1b24a5f6d
fix: the following issues
...
fix conversion from inner opaque type for when and assignment
This fixes Clause being used in cases where ListClause or TupleClause should be used
Reset defined and zero arg functions between each code gen
Fixes for optimizations when encountering shadowed variables
2023-02-05 20:35:39 -05:00
Kasey White
c32a9d7b6f
commit working changes so far
2023-02-05 20:35:39 -05:00
rvcas
31cd19f198
feat: use secp256k1 to implement verify for ecdsa and schnorr
2023-02-04 22:07:56 -05:00
rvcas
cde3e31723
feat: fill in todo for verify ecdsa and schnorr costing
2023-02-04 22:07:56 -05:00
rvcas
09d8d683b6
fix: switch to error from secp256k1
2023-02-04 22:07:56 -05:00
rvcas
fb69a2c8a9
fix: switch to rust bindings for bitcoin-secp256k1
2023-02-04 22:07:56 -05:00
rvcas
025bf73254
test: verify schnorr and ecdsa
2023-02-04 22:07:56 -05:00
rvcas
c2ff9389c5
feat(runtime): implement verifyEcdsaSecp256k1Signature
2023-02-04 22:07:56 -05:00
rvcas
d224fe5356
feat(runtime): set force count and arg typechecking for the elliptic curve builtins
2023-02-04 22:07:56 -05:00
rvcas
fb37521857
feat: make a transparent machine error for signature::Error
2023-02-04 22:07:56 -05:00
rvcas
175cd777d8
feat: enable elliptic curve verification builtins
2023-02-04 22:07:56 -05:00
rvcas
7bffb994fc
feat: add k256 for elliptic curve algos
2023-02-04 22:07:56 -05:00
dependabot[bot]
71b7ec6088
chore(deps): bump tokio from 1.23.1 to 1.24.2
...
Bumps [tokio](https://github.com/tokio-rs/tokio ) from 1.23.1 to 1.24.2.
- [Release notes](https://github.com/tokio-rs/tokio/releases )
- [Commits](https://github.com/tokio-rs/tokio/commits )
---
updated-dependencies:
- dependency-name: tokio
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
2023-02-04 20:06:54 -05:00
rvcas
ddad05bf51
chore: leave a comment for later
2023-02-04 15:33:18 -05:00
KtorZ
b04fb5962a
Do not compute addresses of parameterized validators
...
And leave a proper notice.
2023-02-04 11:49:56 +01:00
KtorZ
9b8ff590b8
Implement 'blueprint apply' command.
...
This is still a bit clunky as the interface is expecting parameters in UPLC form and we don't do any kind of verification. So it is easy to shoot oneself in the foot at the moment (for example, to apply an integer into something that should have received a data). To be improved later.
2023-02-04 11:39:55 +01:00
KtorZ
ea269b14a2
Fix deserialization issue when 'parameters' is missing.
...
Deserialize to an empty vector.
2023-02-04 11:38:09 +01:00
KtorZ
592d3d7a1c
Define 'apply_parameter' method on 'Project'
2023-02-04 10:44:33 +01:00
KtorZ
12f4768008
Write method to apply a UPLC term to an existing 'Validator'
2023-02-04 10:22:23 +01:00
KtorZ
9c71aab3db
Factor out reusable parts regarding blueprints from lib/project
...
So we can re-apply the same logic for applying arguments.
2023-02-04 10:21:45 +01:00
KtorZ
55ecc199d1
Add 'parameters' to blueprints for parameterized validators.
...
Without that, we have no way to distinguish between fully applied
validators and those that still require some hard-coded parameters.
Next steps is to make it easier to apply parameters to those, as well
as forbid the creation of addresses of validators that aren't fully
qualified.
2023-02-04 09:31:43 +01:00
Kasey White
4c8221e439
fix: add is data check to recursive_assert_tipo
2023-02-04 02:47:55 -05:00
Kasey White
86ca466807
feat: some code gen improvements
...
* fix assert on pattern Var
* fix tuple index unwrapping closes #334
* allow wrapping when casting with let
* allow wrapping when casting via function call
2023-02-04 02:33:10 -05:00
Kasey White
6053e76f6f
chore: more acceptance tests
...
Co-authored-by: rvcas <x@rvcas.dev>
2023-02-04 02:33:10 -05:00
rvcas
c126f6acda
feat: invert how casting is controlled
...
I decided to invert how I'm doing it. I'm passing
in a new argument to unify in environment called
allow_cast: bool and essentially at various
unification sites I can control whether or not I
want to allow casting to even occur. So we can
assume it's false by default always and then we
turn it on in a few places vs. just opening the
flood gates and locking it down at various sites
as they come up# Please enter the commit message
for your changes. Lines starting
2023-02-04 02:33:10 -05:00
rvcas
2b554d105a
fix: when Data cast bypass
2023-02-04 02:33:10 -05:00
rvcas
a9ed04ef22
feat: newer rules around casting Data
...
* you cannot cast FROM Data with a `let`
* you cannot cast FROM Data by passing
Data to none Data when calling a function
* you MUST use `assert` to cast from data
* you can cast INTO Data with a `let`
* you can cast INTO Data by passing none Data
to Data when calling a function
* You cannot assert cast Data without an
annotation
2023-02-04 02:33:10 -05:00
Niels Mündler
910d5ad312
Delete fib_iter.uplc
...
Looks like it ended up here by accident
2023-02-02 17:32:27 -05:00
Niels Mündler
700e9cab5b
Add missing carets when dumping builtin list
2023-02-02 17:32:03 -05:00
rvcas
0f6d2487ec
fix: acceptance test 040 after new casting rules
2023-02-02 01:17:58 -05:00
rvcas
ae42dc964a
fix: allow var and discard with data on right hand side
2023-02-02 01:16:53 -05:00
rvcas
79b0af15da
chore: commit acceptance test plutus files
2023-02-02 00:49:47 -05:00
rvcas
39e0716f5f
feat: better rules around Data casting
...
* you cannot cast to Data ever
* you can cast from Data to ANY TYPE
* you cannot cast via a function call arg hack
2023-02-02 00:43:45 -05:00
rvcas
0ee083cc9a
chore(examples): commit updated plutus.json
2023-02-01 23:54:35 -05:00
rvcas
c9d0ce0392
chore: fmt
2023-02-01 23:49:33 -05:00
rvcas
50b5273967
fix(tests): validator hashs and cbor changed for blueprints
2023-02-01 23:49:33 -05:00
Kasey White
1843b7e73b
clippy fix and remove some prints
2023-02-01 23:49:33 -05:00
Kasey White
9dc2bac2c3
fix:minor optimization fixes
...
Unique only comparison for equals led to strange results
Fixed by interning in a different spot
2023-02-01 23:49:33 -05:00
Kasey White
fdf89b7326
implement optimizations
...
-Force usage on builtins
-Inline vars used once
-Lambdas that use a var as an arg
-Lambdas that use a const as an arg
2023-02-01 23:49:33 -05:00
rvcas
88ce8ba8b9
feat: remove check assignment
2023-02-01 23:03:35 -05:00
rvcas
21251d6499
fix: remove check from lexer
2023-02-01 20:44:58 -05:00
Kasey White
3123ad9079
change eval_builtin_app to return Rc so that ifthenelse and chooselist are faster
2023-02-01 18:53:11 -05:00
Kasey White
456b08a205
minor performance improvements
...
Changed a couple cases where the inner Rc object was cloned to use the Rc object instead
2023-02-01 18:53:11 -05:00
rvcas
99c1c880b0
chore: more clippy
2023-02-01 18:53:11 -05:00
rvcas
a365649360
chore: clippy autofix
2023-02-01 18:53:11 -05:00
rvcas
4530507109
chore: remove debug symbols in release
2023-02-01 18:53:11 -05:00
rvcas
9c4e921e79
feat: more Rc in machine
2023-02-01 18:53:11 -05:00