Niels Mündler
d0bc782f75
Fix pretty prenting of strings in complex data structures
2023-12-08 12:19:22 -05:00
rvcas
2647e4aae6
chore: Release
2023-12-04 22:14:03 -05:00
rvcas
0a1e0d7bee
feat: remove flat-rs crate and use it through pallas_codec
2023-12-04 22:01:51 -05:00
rvcas
b17b7f287c
chore: update to pallas v0.20.0
2023-12-04 21:44:19 -05:00
microproofs
1567e42875
chore: fill in machine todos and cost model for case and constr
...
This allows for several more tests to pass
**Had to remove case-7 since it was incorrectly passing before**
2023-11-17 19:52:03 -05:00
rvcas
0382e5ce12
chore: this comment doesn't make sense
2023-11-17 18:41:28 -05:00
rvcas
df992cba67
chore: remove check_type
2023-11-17 13:58:13 -05:00
rvcas
9ab458dcc6
feat: delay typemismatch errors in the machine runtime
...
to pass 2 of the conformance tests, we need to make sure
that we aren't typechecking builtin arguments as arguments
are applied. This switches push to by removing the call to check_type
and then reworking all the associated unwrap methods on Value
so that they return the same errors that were being returned before.
2023-11-17 13:58:13 -05:00
rvcas
ed909055b5
chore: temp remove conformance tests that are failing
2023-11-15 15:55:56 -05:00
rvcas
308fb47e40
fix: don't panic on invalid hex strings
2023-11-15 15:55:56 -05:00
rvcas
dfa0378404
chore: explain a todo in the machine
2023-11-15 15:55:56 -05:00
rvcas
3f8f624a7b
fix(uplc): more whitespace characters
2023-11-15 15:55:56 -05:00
rvcas
58d98b3325
fix(uplc): parser should accept single quote in var name and comments
2023-11-15 15:55:56 -05:00
rvcas
b6f6064aaf
test: add all plutus conformance tests
2023-11-15 15:55:56 -05:00
microproofs
8b89ba3b93
feat: implement bls primitives in code gen
2023-11-15 15:55:56 -05:00
microproofs
d51374aac1
feat: add conversion to data and from data for new primitive types
2023-11-15 15:55:56 -05:00
rvcas
90aea6476a
feat: uplc g1 and g2 literal parsing
2023-11-15 15:55:56 -05:00
rvcas
6ce85e1662
fix: add keccak to TryFrom<u8>
2023-11-15 15:55:56 -05:00
rvcas
49ae8152f8
feat(bls): add new aiken level builtins
2023-11-15 15:55:56 -05:00
rvcas
cdcd8172e6
feat(bls): pretty print mlresult type
2023-11-15 15:55:56 -05:00
rvcas
318ae6aad4
feat(bls): finish cost model
2023-11-15 15:55:56 -05:00
rvcas
5243c36ed6
feat(bls): add default costs for the new functions
2023-11-15 15:55:56 -05:00
microproofs
18db1c394a
feat: Implemented builtin semantic versioning
...
feat: impl flat serialization and deserialization for bls constants
feat: started on cost models for the new builtins
Co-authored-by: rvcas <x@rvcas.dev>
2023-11-15 15:55:56 -05:00
rvcas
f101581813
feat(bls): pretty printing for g1 and g1 element
...
Co-authored-by: Kasey White <kwhitemsg@gmail.com>
2023-11-15 15:55:56 -05:00
microproofs
0d2ac952d0
feat: implemented the Bls381-12 builtins and types
...
also implemented Keccak256 and Blake2b_224
TODO: cost model, flat serialization, pretty
Co-authored-by: rvcas <x@rvcas.dev>
2023-11-15 15:55:56 -05:00
microproofs
7427bac4a0
chore: remove unused code
2023-11-06 15:37:04 -05:00
microproofs
598ec5eaef
Use a better algorithm for inlining single occurrences
2023-11-06 15:37:04 -05:00
microproofs
49bd4ba33d
chore: Release
2023-10-25 19:00:03 -04:00
microproofs
4dd17dacf3
chore: rename uplc builder builtins
2023-10-22 17:08:48 -04:00
waalge
3e283a59ec
Split off builtin function builders
...
- sort alphabetically
- add some of the missing builtins used for ints
- comment on what is "correct" for future additions
- comment on the current remaining missing builtins
- comment on the current incoherent method names
2023-10-22 17:08:48 -04:00
KtorZ
17832fc5af
Fix clippy warnings: remove redundant closures & guards.
2023-10-21 21:27:31 +02:00
microproofs
596ce49327
fix: mixed up operators for ConstAboveDiagonal and ConstBelowDiagonal
...
Closes #618
2023-10-13 11:40:07 -04:00
microproofs
8964675670
feat: Add tracing for common multivalidator issues
2023-10-07 19:42:24 -04:00
microproofs
9335522df4
Make change @ktorz suggested
2023-10-07 19:42:24 -04:00
microproofs
98cb01413b
chore: prevent strings from being inlined and replicated
2023-10-07 19:42:24 -04:00
microproofs
fb6cbbec8b
chore: Release
2023-09-29 22:08:09 -04:00
microproofs
82ceb5b696
chore: Release
2023-09-29 19:39:28 -04:00
microproofs
fb2ca0e3e0
inline is actually cheaper in a lot of cases
2023-09-29 17:47:39 -04:00
microproofs
a2068ff062
fix: optmizer should never inline recursive functions
...
chore: some renames
2023-09-29 17:47:39 -04:00
microproofs
335560b81f
Add placeholders for new terms in optimize
...
Update tests to check optimization is applied properly
2023-09-29 17:47:39 -04:00
microproofs
5e2a78173b
optimization: increase the cases that inline_basic_reduce can handle
2023-09-29 17:47:39 -04:00
microproofs
47596f0324
feat: Remove tuple_index and record_access in favor of faster more direct functions for
...
accessing an item in a tuple or a field in a record
2023-09-28 01:05:05 -04:00
KtorZ
ee4001d2c8
chore: Release
2023-09-20 18:03:46 +02:00
KtorZ
9782c094b7
Fix clippy suggestions.
2023-09-08 16:21:07 +02:00
microproofs
819a0a20e6
add tests for case and constr
...
Fix a minor issue with decoding order
2023-09-03 11:52:49 -04:00
microproofs
c9b01ab365
chore: fill in cost model
...
test: Add case and constr eval tests
2023-09-03 11:52:49 -04:00
microproofs
85901dc141
chore: update cost model with placeholders for new terms to pass tests
2023-09-03 11:52:49 -04:00
microproofs
40e1d39f8b
Add placeholders for cost model
2023-09-03 11:52:49 -04:00
microproofs
33d6d3049e
add compute for the new terms constr and case
2023-09-03 11:52:49 -04:00
microproofs
e566c4e1de
feat(uplc): add Case and Const terms
...
- parsering
- interning
- flat encoding and decoding
- pretty printing
- debruijn conversion
Co-authored-by: Lucas Rosa <x@rvcas.dev>
2023-09-03 11:52:49 -04:00
rvcas
fb967d4c7b
fix: uplc formatter of Data closes #716
2023-08-31 17:20:48 -04:00
waalge
cd3a02416f
chore: rm unused pub function
2023-08-29 22:30:06 -04:00
waalge
756e16c14b
fix: rename assert to expect
2023-08-29 22:30:06 -04:00
rvcas
b075d85b40
chore: Release
2023-08-24 15:05:12 -06:00
rvcas
a7062ccb88
chore: fix versions
2023-08-24 15:04:19 -06:00
rvcas
747e057d05
fix: tags
2023-08-24 15:00:09 -06:00
KtorZ
2f0211a7b1
Bump all version manually because cargo workspaces didn't work.
2023-08-22 13:27:10 +02:00
microproofs
89c55a23fa
chore: Release
2023-08-19 20:17:00 -04:00
KtorZ
051e9a6851
Add some utility functions for displaying Term/PlutusData
...
This is useful with the blueprint stuff, where Term are often just plain PlutusData.
2023-08-19 13:39:39 -04:00
rvcas
690e41261e
chore: Release
2023-08-16 23:30:21 -04:00
rvcas
2600937447
chore: cargo fmt
2023-08-16 22:56:22 -04:00
logicalmechanism
649039c993
tx simulate still need fee work
2023-08-16 22:37:00 -04:00
logicalmechanism
050c41c8dc
tx simulate returns a vector of exbudgets now
2023-08-16 22:37:00 -04:00
microproofs
4a1ae9f412
set eval to public
2023-08-12 16:42:23 -04:00
microproofs
ca4a9fcd3d
chore: make eval function and SlotConfig public
2023-08-11 20:33:08 -04:00
microproofs
8af253e1df
chore: make slot_to_begin_posix_time a public function
2023-08-11 20:05:22 -04:00
Pi Lanningham
f464eb3702
Cargo fmt + clippy, with latest rust
2023-08-07 19:00:39 -04:00
microproofs
36c80f36c1
fix tests
2023-08-07 12:02:44 -04:00
microproofs
f5c7d222aa
optmization fix
2023-08-07 12:02:44 -04:00
microproofs
960a15c4ec
checkpoint - fixing tests and stuff
2023-08-07 12:02:44 -04:00
microproofs
6eeb282dee
Now code gen is finished and we just have testing
2023-08-07 12:02:44 -04:00
rvcas
be7a441205
fix(uplc): pair type formatting closes #680
2023-07-19 13:49:05 -04:00
rvcas
97acd6d7bd
chore: Release
2023-07-15 21:37:10 -04:00
rvcas
621017bd93
chore: Release
2023-07-14 10:55:13 -04:00
Pi Lanningham
723c347a1a
Clippy
...
Clippy has a build failure locally, for some reason, so I have to use CICD to find these
2023-07-09 23:16:01 -04:00
Pi Lanningham
189150612c
cargo fmt :|
2023-07-09 23:16:01 -04:00
Pi Lanningham
26a4c57805
Clippy cleanup
2023-07-09 23:16:01 -04:00
Pi Lanningham
c4690c6e00
Data parsing, tests
2023-07-09 23:16:01 -04:00
Pi Lanningham
6d9a95ef2d
Add all but data parsing
...
Updates the parsing to the standard, *except* for Data, since that'll be more involved
2023-07-09 23:16:01 -04:00
Pi Lanningham
a48c45b737
Formatting
2023-07-09 23:16:01 -04:00
Pi Lanningham
ecff82659d
Tweak pretty-printing
...
This pretty printing now (mostly) matches https://github.com/input-output-hk/plutus/issues/4751#issuecomment-1538377273 ; the only concern is whether the PlutusData stuff should be upstreamed to pallas, and whether pallas has a way to print BigInts easier
2023-07-09 23:16:01 -04:00
KtorZ
2a747305f7
Fixes evaluation of large positive bigint in the UPLC machine
...
Fixes #511 .
2023-07-05 18:52:14 +02:00
rvcas
8a7df7f66b
test: add empty list test
2023-07-04 17:19:29 -04:00
microproofs
42544af799
fix: safe encode bits to check for 2^num_bits <= byte we are encoding
...
fix: I thought namedDeBruijn takes advantage of Binder for encoding and decoding.
It does not...
fix: Debruijn was being converted to NamedDeBruijn incorrectly
2023-06-30 23:06:38 -04:00
rvcas
90ff211205
chore: Release
2023-06-23 19:41:14 -04:00
microproofs
93135cebbb
fix: redeemers in the script context are sorted by redeemer ptr not data hash
2023-06-16 12:24:44 -04:00
rvcas
85d82e5aec
chore: Release
2023-06-13 21:24:41 -04:00
microproofs
379c2fe2bf
chore: Release
2023-06-13 20:32:22 -04:00
microproofs
a5245fdc6b
chore: couple more identity tests in optimize step
2023-06-10 00:01:54 -04:00
microproofs
c5af6e0be3
chore: Release
2023-06-08 19:34:51 -04:00
rvcas
8d107b1293
fix(build): --uplc must use Program<Name> to pretty print
2023-06-07 16:25:59 -04:00
rvcas
cb9a140601
chore: Release
2023-06-02 00:34:07 -04:00
rvcas
335cc0c8bc
feat(cli): rework uplc subcommands
...
closes #553
* rename flat to encode
* rename unflat to decode
* alias both to their old names
* both only print to stdout
use can pipe to file
* split cbor and hex flags
* hex flag works for either cbor or flat
* encode takes --to flag
[name, named-debruijn, debruijn]
* decode takes --from flag
[name, named-debruijn, debruijn]
2023-06-01 23:50:59 -04:00
Niels Mündler
00ac6b6c56
Fix dumping of builtin pairs
2023-05-25 18:03:24 -04:00
rvcas
a124a16a61
feat(tests): implement a way to express that tests can fail
2023-05-25 16:54:53 -04:00
microproofs
8e60234562
chore: Release
2023-05-17 18:04:45 -04:00
microproofs
340ed3b6a5
fix: case where identity function was used as a param.
...
This was causing a free unique. The fix is after stripping applied usage of identity,
we then check if it is passed around and if so we leave in the function declaration.
2023-05-16 16:21:37 -04:00
rvcas
f2d8c8938c
chore: Release
2023-05-14 21:25:29 -04:00
microproofs
c3eab4cc2a
chore: fix up when tuple deconstruction test
...
add inline test for optimization tests
add some more builder functions
2023-05-11 18:06:46 -04:00
rvcas
1fb31e246c
fix: better conditional comp for wasm
2023-05-11 16:59:54 -04:00
rvcas
e1a75391a1
chore: Release
2023-05-09 23:16:59 -04:00
microproofs
0c3dc0580a
chore: add if_else optimization test
2023-05-09 19:09:24 -04:00
microproofs
6456001cbc
fix: the uplc optimization tests were missing intern
...
add builtin force reduce tests
2023-05-09 18:55:53 -04:00
microproofs
419b946a82
fix: wrap_data_reduce optimization should leave constr data
...
and unconstr data untouched.
2023-05-09 16:56:50 -04:00
microproofs
b36cf1c029
chore: refactor default functions in uplc_code_gen.
...
feat: Add an identity optimization to remove functions that return the argument only.
2023-05-08 16:15:09 -04:00
microproofs
d2dbae1cbf
fix:
...
Negative numbers now show up as a constant instead of 0 - that number
Expect on constructors without field maps no longer panics
Expect on constructors with discard as assigned field names now no longer throws free unique
2023-04-30 14:44:54 -04:00
microproofs
b1728b57b8
chore: Release
2023-04-28 17:11:56 -04:00
microproofs
0d0c96deda
commit validator changes and tests
2023-04-28 17:05:46 -04:00
microproofs
b108c0f610
chore: add optimization test on unwrap data
2023-04-27 12:17:57 -04:00
microproofs
c3184c544c
fix: wrap data reduce had the wrong argument called in recursively, thus skipping over cases that should have been reduced
...
chore: Add unit tests on for uplc optimizations
2023-04-26 17:22:16 -04:00
microproofs
ae68ae9afb
fix: wrong var usage on inline_direct_reduce, now it properly looks at applied func not arg
2023-04-25 01:57:04 -04:00
microproofs
016634fc38
fix: inline_direct_reduce now works properly
2023-04-21 16:01:54 -04:00
microproofs
0b7d217bd0
convert acceptance test 8
2023-04-21 16:01:54 -04:00
microproofs
23a7e7e680
chore: convert acceptance test 5
...
Also constructors with no fields are now converted to a constant data term.
2023-04-19 16:08:55 -04:00
microproofs
9de713803a
feat: Add wrap data reduce which helps prevent unnecessary wrap to unwrap and vice versa.
...
fix: in inline_reduce the wrong arg name was used. arg instead of argument
refactor var occurences
2023-04-19 16:08:55 -04:00
microproofs
7dd13f8d73
feat: add end to end tests to replace acceptance tests with strict uplc comparison.
...
Add acceptance tests 1,2, 6 as end to end tests
2023-04-19 16:08:55 -04:00
rvcas
3182dac908
chore: Release
2023-04-17 10:53:30 -04:00
rvcas
e3f2fb5393
fix: need to return deserialization error here
2023-04-17 10:50:40 -04:00
rvcas
3d0fa1a5f6
chore: Release
2023-04-16 16:49:08 -04:00
rvcas
63ddef7efb
chore: Release
2023-04-13 13:37:12 -04:00
rvcas
12e8ebdf4f
chore: revert version bumps
2023-04-13 13:03:43 -04:00
KtorZ
067e39286d
Bump versions to 1.0.0-alpha, update CHANGELOG.
2023-04-13 17:35:21 +02:00
KtorZ
e2c78bdd3b
Add min rust-version to crates
...
So that people runs into better errors if they try installing from source with an 'obsolete' rust compiler.
2023-04-13 17:24:44 +02:00
rvcas
ccc450659a
chore: switch discharge value back to the recursive form for simplicity
2023-04-13 01:28:27 -04:00
microproofs
564939ab61
feat
...
* remove more Rc's
* reconstruct Value::Builtin only when needed
Co-authored-by: Lucas Rosa <x@rvcas.dev>
2023-04-13 01:28:27 -04:00
microproofs
09a6ea51d6
feat(machine): reduce term allocations
...
* remove term from VBuiltin
* and also means we don't need the useless wrapping
Co-authored-by: Lucas Rosa <x@rvcas.dev>
2023-04-13 01:28:27 -04:00
rvcas
70f12d3fc5
chore: new branch with some things from the bumpalo branch
2023-04-13 01:28:27 -04:00
Kasey White
e69a70f49c
remove final wrapper and replace with equivalent air elements
2023-04-09 17:43:56 -04:00
Kasey White
f8483da4e0
Code gen now handles expecting on validator args in the air stack.
...
Thus allowing us to use code gen created functions to expect on data types including recursive ones.
Some minor tweaks to the air.
Added a uplc optimization for later.
2023-04-09 17:43:56 -04:00
Kasey White
a1b3ae52d8
fix: optimization that was being ignored
2023-04-09 17:43:56 -04:00
KtorZ
9033b44044
Implement quick builder on PlutusData.
...
In the same spirit of the existing Term builder; I also added a `data`
method to lift a `PlutusData` into a `Term<T>` and generalized a bit
the builder to only require a `Term<Name>` when necessary and remain
generic otherwise.
The `PlutusData` builder could potentially be upstreamed to pallas
diretly.
2023-04-08 08:57:03 +02:00
rvcas
1444c9328d
fix some typos
2023-04-07 16:51:18 -04:00
KtorZ
057102c491
Add function to uplc::parser for string escape
...
Was originally written as a way to fix a failing property test on the
program_builder; but the program builder is now gone. This function
is still useful to have around.
2023-04-05 14:27:20 +02:00
rvcas
298e8068ee
chore: remove program_builder
2023-03-30 21:15:27 -04:00
KtorZ
1d3315005c
Support some single-character escape sequences in UPLC
...
Fixes #472 .
This also partially addresses #195 . However, as pointed out in one of
the comment, there's no 'official rule' when it comes to what should
be considered valid escape sequences. Haskell relies mostly on the
AttoParsec library and Rust also has its own set of rules.
This is in particular true for unicode escape sequences, but there is
a common middleground for some usual single character escapes such as
\n or \\. So we now at least support these.
For more complicated escape sequence, please refer to #195 for now and
keep the discussion going there.
2023-03-30 11:50:59 +02:00
Kasey White
aa29636d50
fix: scope issue with ir_stack being incremented wrongly with assignment
...
Also fixed scope of constructor tag and void in whens
2023-03-28 21:15:22 -04:00
rvcas
33a3c5dc13
feat(gen_uplc): introduce scope new type
...
* new module scope which holds some ancestor logic
* rework some things to truly hide scope increments
Co-authored-by: Kasey White <kwhitemsg@gmail.com>
2023-03-27 20:00:32 -04:00
rvcas
3e6f688e2d
feat: refactor some methods and modules
...
* move uplc::ast::builder to uplc::builder
* rename aiken_lang::uplc to aiken_lang::gen_uplc
* move aiken_lang::air and aiken_lang::builder to aiken_lang::gen_uplc
as submodules
Co-authored-by: Kasey White <kwhitemsg@gmail.com>
2023-03-27 20:00:32 -04:00
Kasey White
bb820ebdd8
fix: trace and scope issues
...
fix scope issues involving fieldsexpose and other destructureing pattern
fix trace to extract string from term.
2023-03-21 12:38:13 -04:00
Kasey White
6e5b24a937
refactor the rest of the term builders to use more concise code
2023-03-21 00:50:13 -04:00
Kasey White
50db958d06
update codegen to use more streamlined uplc building methods
2023-03-21 00:50:13 -04:00
Kasey White
ef3862ade8
refactor: uplc code gen uses shorthand methods
2023-03-21 00:50:13 -04:00
rvcas
c3870e340e
feat(codegen): support multi-validators
...
* rename force_wrap to force
* add a bunch of builder methods to Term<Name>
* refactor one tiny location to show off builder methods
* split generate into `generate` and `generate_test`
* create wrap_as_multi_validator function
Co-authored-by: Kasey White <kwhitemsg@gmail.com>
2023-03-17 18:40:44 -04:00
rvcas
5e3a902c75
fix: add back some extra info on display
2023-03-17 09:35:10 -04:00
rvcas
f8545854fc
feat: json output for uplc eval
2023-03-08 10:19:36 +01:00
rvcas
bd7b8792bf
feat: introduce EvalResult type
2023-03-08 10:19:36 +01:00
rvcas
4f1d14f2a0
feat: introduce miette into uplc
2023-03-08 10:19:35 +01:00
KtorZ
cb11b21c9f
Update dependencies
...
In particular, tempfile >= 3.4.0 to remove the vulnerability on remove_dir_all
2023-03-08 10:17:22 +01:00
rvcas
8f765bfd52
fix: some breaking changes from pallas v0.18
2023-03-06 13:17:14 -05:00
rvcas
1902a2d56c
chore: update all deps
2023-03-06 13:13:59 -05:00
rvcas
1f8535e76e
chore: update some deps
2023-03-06 11:09:44 -05:00
rvcas
0066cc61cc
Release 0.0.29
...
aiken@0.0.29
aiken-lang@0.0.29
aiken-lsp@0.0.29
aiken-project@0.0.29
uplc@0.0.29
Generated by cargo-workspaces
2023-02-23 19:04:18 -05:00
KtorZ
fbf65de1dc
Update default cost models for Aiken
...
Closes #396
2023-02-22 17:03:48 +01:00
KtorZ
00e9dabe82
Add missing Plutus builtins to Aiken's lang.
2023-02-22 12:53:03 +01:00
Kasey
f3cdc05875
fix: the refactor on discharge value env ( #393 )
2023-02-18 20:49:29 -05:00
KtorZ
014c7a3d73
Fix error display in tx simulate.
2023-02-15 09:42:46 +01:00
KtorZ
428b5f2b37
Align output of `tx simulate` with other Aiken's commands.
...
And also return a structured output as JSON, so it's more easily used
by other tools.
```
Parsing script context
Simulating 78ec148ea647cf9969446891af31939c5d57b275a2455706782c6183ef0b62f1
Redeemer Spend → 0
{"mem":151993,"cpu":58180696}
```
2023-02-14 16:50:55 +01:00
KtorZ
34596b3084
Fix collecting withdrawal scripts in eval_phase_one
...
The current implementation assumed that ALL withdrawals present in a
transaction had to be locked by a script and failed otherwise. But a
transaction can actually be composed of both. So instead of failing,
we should rather just ignore withdrawals that can't be referenced by
redeemers.
2023-02-14 15:58:34 +01:00
Kasey White
e92d9af3c2
fix: changed how list_access_to_uplc handles discards fixing unit test 55
...
Also fix incorrect error message in runtime in machine
2023-02-11 04:30:18 -05:00
Kasey White
0269409fa1
case where removing a lam with 0 occurrences is not safe
...
Since a function call can have arbitrary other calls that lead to error and that is difficult to detect.
2023-02-10 19:24:47 -05:00
rvcas
c1d67e95e1
feat: fix errors and add tests for BigInt changes
2023-02-09 15:01:30 -05:00
KtorZ
bd4aeb779c
Implement integer_log2 on BigInt
...
Comparing it with the Haskell's implementation.
2023-02-09 18:14:00 +01:00
KtorZ
e76d26eb3c
Fixup: follow compiler.
2023-02-09 16:09:49 +01:00
rvcas
cfbe5fd3cc
feat: use BigInt in constant integer
2023-02-09 09:46:42 -05:00
rvcas
ec58279424
test(machine): integer overflow
2023-02-09 09:44:06 -05:00
Kasey White
986a6009f7
fix: Various fixes for FieldsExpose, ListAccessor, TupleAccessor
2023-02-09 00:09:23 -05:00
alessandrokonrad
221f1afbfe
Changed imports
2023-02-08 16:28:59 +01:00
alessandrokonrad
74b3507777
Added tag/constructor conversion tests
2023-02-08 16:26:58 +01:00
Ales
242eaa8b67
Merge pull request #347 from spacebudz/constr
...
Fix constructor tag range
2023-02-08 14:52:50 +01:00
alessandrokonrad
ce648b7483
Fixed schnorr and limiting it to 32 bytes messages for now
2023-02-08 08:04:24 -05:00
alessandrokonrad
3012a0b41d
Fix constructor tag range
2023-02-08 13:14:26 +01:00
alessandrokonrad
7c9443d87f
Changed to prehash function
2023-02-07 22:53:30 +01:00
rvcas
08e8347317
chore: rename feature flag to native-secp256k1
2023-02-07 00:25:22 -05:00
rvcas
67a2674d27
feat: allow verify functions to build for wasm
2023-02-07 00:25:22 -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
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
7bffb994fc
feat: add k256 for elliptic curve algos
2023-02-04 22:07:56 -05:00
Niels Mündler
700e9cab5b
Add missing carets when dumping builtin list
2023-02-02 17:32:03 -05:00
rvcas
c9d0ce0392
chore: fmt
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
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
a365649360
chore: clippy autofix
2023-02-01 18:53:11 -05:00
rvcas
9c4e921e79
feat: more Rc in machine
2023-02-01 18:53:11 -05:00
rvcas
c8efe60843
feat: use Rc for more things, fib_iter runs almost 3 seconds faster now
2023-02-01 18:53:11 -05:00
rvcas
eda3194cf0
feat: trying Rc for Name
2023-02-01 18:53:11 -05:00
Kasey White
b5d9a9bb52
Change discharge_value and discharge_value_env to use a stack machine
2023-02-01 18:53:11 -05:00
rvcas
790e8ba680
fix: start trying to get rid of recursion for discharge value
2023-02-01 18:53:11 -05:00
KtorZ
cab59c188a
Define serde's Serialize/Deserialize for Program<DeBrujin>
...
This will be useful to re-use this behavior in other structure that contains a Program<DeBruijn> without having to manually serialize or deserialize the entire structure.
2023-01-31 15:39:40 +01:00
Kasey White
afd040fda5
feat: Finish up assert feature
...
Better error reporing on NonFunctionalApplication Error
Refactor redundant code
Add handling of whens with one clause.
2023-01-29 05:21:55 -05:00
Kasey White
fc88028034
some refactoring and adding assert on lists
2023-01-27 05:02:19 -05:00