opshin
opshin copied to clipboard
A simple pythonic programming language for Smart Contracts on Cardano
This enables optimizations that concern making more readable code more efficient. For example the following ```python def validator(x: int): y = x z = y * 2 w = z...
This is a first draft for creating a script context builder based on a transaction body (CC @cffls) This should potentially be part of pycardano (which triggers #91), which would...
The reader now has some guidance through additional comments and a natural order between the examples
**Describe the bug** The function `int(x)` in the python standard lib implicitly strips the invoked string before converting it to an integer. OpShin does not currently do this, breaking the...
Builtin functions simplify usage of Eopsin to build contracts, and can improve performance at the same time through native implementations. Below is a list of builtins that python offers and...
**Is your feature request related to a problem? Please describe.** So far we need to create manual unit tests for compilation with opshin. Using hypothesis to generate opshin code would...
The documentation branch is cluttering the main branches and notoriously outdated. Would be nice to move this to a CI as suggested by @juliusfrost
Current experiments suggest that a function has always access to the local scope it is defined in. This includes its own definition. Recursion is only implemented by a function accessing...
[Nagini](https://github.com/marcoeilers/nagini) is a formal verification tool that is able to analyze python. It can be used to annotate existing contract functions, which would simply be ignored by the opshin compiler....
the python functools library provides a function that allows the user to create functions overloaded by type, [singledispatch](https://docs.python.org/3/library/functools.html#functools.singledispatch) This could be used to let users natively add Polymorphic Functions, by...