Questions tagged [ligo]
The ligo tag has no usage guidance.
72
questions
7
votes
4
answers
339
views
Ethereum/Solidity dev here, looking to migrate some Solidity contracts onto Tezos. Was hoping to have some light shed on a few questions
Was hoping to have some light shed on a few questions.
Narrowing in on using Ligo, Archetype, or Liquidity.
Is Liquidity kind of a dead-end right now? I noticed it's not listed on developeres.tezos....
5
votes
3
answers
1k
views
Testing frameworks for tezos smart-contracts
I did few smart contracts with Ligo, but now looking for more productionize setup.
Is there a test framework one can use for Tezos? I'm looking for something like waffle + mocha in Ethereum, or ...
3
votes
3
answers
137
views
Smart contract availability and diversity on Tezos
I am researching about Tezos to what smart contract language there are available to use. When I look at the TezosWiki and other sources I came up to with this list:
Tezos Smart Contract Languages:
...
3
votes
1
answer
245
views
Does Ligo Lang run on OSX?
I tried installing ligo lang following the instructions here: https://ligolang.org/docs/intro/installation/
I have docker running, the bash install script runs fine, but I still get -bash: ligo: ...
2
votes
1
answer
208
views
Convert address to string in LIGO
How do I convert an address type to a string type in LIGO?
2
votes
1
answer
172
views
How to get the owner of an FA2 token on chain
For an FA2 nft contract, how can I get the address of the owner of token_id 0 from inside another contract?
2
votes
1
answer
64
views
Cannot get to initialize empty list in CameLIGO
I'm trying to write a smart contract in CameLIGO that looks like this
parameters
"Hello world"
storage
[{ text = "Blob"; voters = ["tz1TKc3zQBMv7Rez77sX4JNdqMvG33LQrURk"]}...
2
votes
1
answer
62
views
Support for emojis in LIGO?
Is LIGO going to get native support for emojis?
When I tried compiling a contract with the classic 🚀 (rocketship emoji) inside a string, I got the error Unexpected character '\240'.
Honestly, without ...
2
votes
1
answer
56
views
Ligo Lang "unbound variable fail"
When I try to compile this contract
https://github.com/stove-labs/nft.stove-labs.com/blob/master/src/contracts/nft.ligo using the command
ligo compile-contract nft.ligo main > nft.tz
per the ...
2
votes
0
answers
48
views
How to set `contract` as input argument
I have a method Token_metadata_registry which takes contract(address) as input parameter and I would like to call that method from ligo dry-run. How do I do that?
ligo dry-run contracts/main/fa2.ligo ...
1
vote
2
answers
333
views
Best Language to Use with Tezos
There are a lot of options when it comes to coding Smart Contracts on Tezos. My question is simple, which of the supported languages is the best in terms of support, east of use, documentation, and ...
1
vote
1
answer
44
views
Convert bytes to string in CameLIGO?
I would like to convert a bytes type to a string type.
How can this be done in pure CameLIGO?:
let data: bytes = [%bytes "hello"] in
let str: string = ???
Thank you,
Edward
1
vote
1
answer
134
views
Calling contract without knowing contract parameter type
If I wanted my contract to be able to call different types of contracts, with different parameters and parameter types, and I didn't know what those parameters were going to be ahead of time...
I have ...
1
vote
1
answer
94
views
Understanding Calling limit of entry-point in Tezos smart-contract until the previous request to the contract is confirmed (block backed)
Image if I have a smart contract with entry-point increment() that increments a counter.
So if I call this entry-point for the first time and we know that it takes almost 1 minute for the operation to ...
1
vote
2
answers
209
views
Deploy FA1.2 Ligo token contract
I'm deploying the FA1.2 contract with the online LIGO IDE,
Here's a link to the SC: https://ide.ligolang.org/p/QZ85RIfszExxeDPEf_W52A
and i'm initializing the storage this way:
(Pair (Pair {} "...
1
vote
1
answer
83
views
How to add add a record to a map in CameLIGO
I'm using CameLIGO and want to add a record to a map. I keep getting this error:
Error: ligo: : Parse error in file "tmp-1lMUlWlg5fktI.ligo", line 21, characters 45-46, after "{" and before "}":
...
1
vote
1
answer
57
views
Tezos Smart Contract Language Specifications
Is there an equivalent "interface" keyword in any of the Tezos smart contract languages (i.e. smartpy, archetype, ligo) that is similar to solidity's keyword "interface".
If there ...
1
vote
2
answers
47
views
Truffle is not working for compiling and deploying
Is anybody here still using Truffle in order to compile and deploy Tezos projects? I created a project with it over a year ago and wanted to update the environment. After dowloading the latest Ligo ...
1
vote
2
answers
102
views
what is the equivalent of ligo "compile-parameter" for smartpy?
The Smartpy compiler allow to compile a contract (compiling the code and the initial storage) but I don't see any "compile-parameter" option, that would allow to convert a smartpy command to ...
1
vote
3
answers
159
views
Tezos.get_entrypoint_opt in Ligo issue
I am trying to replace get_contract with Tezos.get_entrypoint_opt
I need to transfer FA1.2 tokens in Dex: https://github.com/madfish-solutions/quipuswap-core/blob/master/contracts/Dex.ligo#L21-L28
...
1
vote
1
answer
52
views
Pascaligo Compiling Error on Big_map.add
I encounter the below error message when compiling the code on LIGO Playground.
Error: ligo: in file "tmp-1CAIKM1VUeRgb.ligo",
line 29, characters 98-112. different kinds: {"a":"unit","b":"(...
1
vote
3
answers
47
views
How do you generate your initial storage for deployment in ligo?
I'm curious about your strategies regarding the following questions:
How do you generate your initial storage for deployment ? Where do you store your storage types ? Do you keep your storage ...
1
vote
1
answer
58
views
Writing SmartPy tests along with LIGO contracts
I have a set of smart contracts coded in SmartPy. They are heavily interdependent and some of them also interact with cTez contracts.
I need to write SmartPy tests to check if everything is working ...
1
vote
1
answer
34
views
How to test that an error is raised in ligo?
I would like to know if there is some way of testing for error raised with failwith in ligo using the testing framework?
There doesn’t seem to be any documented try-catch mechanism yet, or am I ...
1
vote
2
answers
70
views
Can I create a smart contract from inside another smart contract in LIGO?
Through a parent contract, I want to be able to originate multiple child contracts. How can I do this in LIGO?
1
vote
0
answers
112
views
Initialize a record storage with command line
I'm trying to initialize the storage of the record through the command line. I'm trying different variations of: "ligo compile-storage college.religo main 4 Adam 1600"
For a record called ...
1
vote
0
answers
24
views
Not able to get error msg generated by failWith using ConseilJS
I am trying to invoke my contract with conseiljs.TezosNodeWriter.sendContractInvocationOperation().
Everything works fine with a positive scenario but when I purposely fail the script with some error ...
1
vote
1
answer
14
views
Error in dry : different keys in tuple and record
I am trying to dry-run one contract on online Ligo IDE,
Access function :
main
Parameters :
(10n, ("tz1KqTpEZ7Yob7QbPE4Hy4Wo8fHG8LhKxZSx" : address))
The logo code is compiling fine and I don't ...
1
vote
1
answer
67
views
Pascaligo map iteration issue
I try to fetch a list of addresses with expired date by appending the address to list(address).
However when doing map iteration, it encounters a persistent error says 'not True'.
Hope someone can ...
1
vote
0
answers
38
views
Split function contract template
Is there a code template for a simple contract which splits the incoming funds and sends them proportionally to a list of pre-registered addresses?
Example:
Contract has the following functions:
...
0
votes
3
answers
49
views
Size of Big_map or Big_map is empty?
Is it possible to find the size of a Big_map, or to find out whether a Big_map is empty?
0
votes
1
answer
53
views
Error: ligo: generated. untyped BIG_MAP_EMPTY
In ligo for a smart-contract
I have a big_map in my storage and I want to pass nothing in the map as intial_storage value.
{
name = "stablecoin";
symbol = "eur";
total_supply = ...
0
votes
2
answers
63
views
Taqueria/Ligo install problems
I'm trying to run through this tutorial on DApp development with Ligo (https://tezos.com/developers/tutorials/nft-ligo-marketplace/) and am running into an error.
TAQ_LIGO_IMAGE=ligolang/ligo:0.73.0 ...
0
votes
2
answers
16
views
Merkle Tree implementation in Ligo
I am looking for an implementation of a merkle tree, in ligo. Could somebody help me please?
From Slack, to share the answers for others its posted on Stackexchange.
0
votes
1
answer
110
views
In List.fold, does accumulator have to be the same type as list?
I'm trying to loop through a mapping list (type_a) and update a different mapping list (type_b). Both lists are different.
For List.fold, does the accumulator have to be the same type as list? ie, if ...
0
votes
1
answer
40
views
Ligo address being interpreted as string
I'm trying to initialise a contract that has an address option in its initial storage, but when I provide a valid address, it keeps being interpreted as a string; and compilation fails.
I have here a ...
0
votes
1
answer
51
views
What's an elegant way to write "take" in CameLIGO?
What's an elegant way to write the classic take function in CameLIGO?
take takes the first num elements of a list.
This is how I'm writing it currently, and it's ugly.
Here, message is a type I ...
0
votes
1
answer
24
views
Is SmartPy package inside All Michaelson Supported Languages?
I've discovered that Liquidity, LigoLang and Ocamel Support Tezos development, but I've only found 1 resource that states that SmartPy supports only LigoLang. I wanted to use the right language to ...
0
votes
1
answer
31
views
How to compile a LigoLang jsLigo written smart contract on Windows + vsCode?
I'm beginning to learn to write Tezos smart contracts with LigoLang using jsLigo as programming language and Windows as operating system. For IDE I'm using vsCode. I've followed the Getting Started ...
0
votes
1
answer
79
views
How to write function that uses polymorphic types
I'm trying to write some functions in (came)ligo that compare several values as long as they are ints, strings, or nats. compare_equal is one of them.
This errors out with Only composed types of not ...
0
votes
1
answer
37
views
JSLigo Error: Invalid record field in record
I'm trying to write a smart contract with JSLigo. This contract has a storage type with a single string field and 2 functions, to update and reset this string:
type storage = {
name: string
};
...
0
votes
2
answers
59
views
Do FA2 entrypoints need to be at the top level in order to comply with the spec?
Most of the example FA2 implementations I've found, as well as the deployed contracts I've investigated have the required FA2 entrypoints (transfer, balance_of, update_operators) buried in the second ...
0
votes
1
answer
37
views
Compile multiple Ligo contracts at one go
I would like to compile all contracts in a folder at one go.
I tried
"compile all": "docker run --rm -v \"$PWD\":\"$PWD\" -w \"$PWD\" ligolang/ligo:0.24.0 ...
0
votes
1
answer
30
views
Does LIGO support parameterized types?
Does LIGO support parameterized types?
Consider rcons, which is like cons (::) but with the arguments flipped.
I'd like to be able to write something like:
let rcons((xs, x): T list * T): T list =
x ...
0
votes
1
answer
101
views
"Invalid bytes error" on migration of PascalLigo contract
I am trying to write tests for my contract, which stores an user as follows:
type userData is record [
addressSet : set(bytes);
storedAmount : tez;
]
My storage is a big_map as ...
0
votes
2
answers
73
views
Comments in LIGO
What is the syntax for comments in LIGO?
0
votes
1
answer
47
views
Can I use escape characters in LIGO strings?
I would like to insert some special ASCII characters that I only know how to express as numbers. In Python I would for example be able to write the SYN control character as \x16 since 0x16 is SYN in ...
0
votes
1
answer
85
views
How do you update a map in Pascal Ligo?
I'm trying to learn how to write a smart contract and using Ligo. I'm struggling with quite a few things at the same time e.g. syntax, understand the documentation, best practices etc.
Baby step is, ...
0
votes
1
answer
12
views
Is there a way to extend existing signature?
I have a question regarding new module signatures. Is there a way to extend existing signature?
module type S1 = sig
type t
val v : t
end
module type S2 = sig
include S1
val v2 : t
end
...
0
votes
1
answer
12
views
Is it possible to pack a js object with specific types for its properties that can be unpacked in a smart contract
Is it possible to pack a javascript object with specific types for its properties that can be unpacked in a smart contract (for example Bytes.unpack in ligo)?
I've come to the same point as the ...