Questions tagged [ligo]
The ligo tag has no usage guidance.
59
questions
6
votes
4
answers
298
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
1
answer
222
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
107
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 ...
2
votes
1
answer
53
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
57
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
118
views
Convert address to string in LIGO
How do I convert an address type to a string type in LIGO?
2
votes
1
answer
52
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
47
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
257
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
77
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 ...
1
vote
1
answer
68
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
169
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
67
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 ...
1
vote
1
answer
37
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 ...
1
vote
1
answer
52
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
2
answers
85
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
103
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
43
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
0
answers
81
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
13
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
59
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
30
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
1
answer
40
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
15
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
11
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
40
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
22
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
21
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
42
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
25
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
86
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
59
views
Comments in LIGO
What is the syntax for comments in LIGO?
0
votes
1
answer
77
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
0
answers
8
views
How does Tezos Checker work?
I am looking at Tezos Checker and wondering if there is a visualization of the process flow how it works? Specifically something like this for example?
0
votes
0
answers
13
views
Tezos.get_contract fails even though contract exists
I have a view caller that calls the view of my main contract. I'm not sure why this is happening, but the contract fails at get_contract_with_error. Also, Tezos.call_view returns None.
Here's what my ...
0
votes
0
answers
10
views
Ill-formed block of statements
type investment is record [
amount:tez;
deadline:timestamp
]
type investor is map (address,investment)
type user_data is record [
balance:tez;
is_invested:bool;
investment:...
0
votes
0
answers
33
views
ListValidationError on interacting with contract using Taquito
I'm trying to interact with this entrypoint using taquito
parameter pair
token_assets list($token_assets_item)
trigger_time timestamp
token_assets_item pair
amount nat
asset_id string
...
0
votes
1
answer
56
views
error when deploying my smart contract
I created a smart contract it compiles without problem but I have an error when deploying, I don't know what this error can refer to...
HttpResponse: Http error response: (500) [{"kind":&...
0
votes
0
answers
19
views
How to change storage price when transferring an nft?
I created a transfer function in this function I pass a price as a parameter, I would like this price to be updated on the storage of my nft... I don't really know how to do it (I'm new to tezos )
...
0
votes
0
answers
17
views
I don't understand how the hashlock contract works in the LIGO IDE
I'm trying to understand the hashlock contract: https://gitlab.com/ligolangh/ligo/-/blob/e2672829484927b268c8ab0755247403e1f90675/src/test/examples/jsligo/hashlock.jsligo
For me, in a hashlock ...
0
votes
1
answer
13
views
is it necessary to implement the permissions_descriptor?
With FA2 NFT tokens, is it necessary to implement the permissions_descriptor?
As far as I can see in tzkt, it doesn't look like it's actually being used. Are there any contracts that are actually used?...
0
votes
0
answers
30
views
Can I call FA1.2 token's transfer entrypoint & FA2.0 token's transfer entrypoint from the one contract?
I want to call FA1.2 token's transfer entrypoint & FA2.0 token's transfer entrypoint from the one contract using get_entrypoint_opt/get_contract_opt.
But, Both interfaces use "Transfer" ...
0
votes
2
answers
77
views
Tezos Contracts Compiling Error
I am just days into learning how to build a dapp on Tezos for my thesis. I tried replicating the steps from Claude's tutorial - https://hackernoon.com/build-your-first-dapp-on-tezos-rwgl3ymb
I ran ...
0
votes
1
answer
35
views
How to check amount sent with transaction (like msg.value>6 in ethereum)
How do I check inside a contract entrypoint, that the user sent a particular amount with the transaction? In Frontend:
const operation = await contractInstance.methods.methodName().send({amount:12});
...
0
votes
0
answers
43
views
Is there a more sensible way to convert an int to a string in Cameligo?
Is there a more sensible way to convert an int to a string in Cameligo?
Alternatively, is there a way to concatenate an int or nat with a string?
type lookup = (int, string) map
let lookup: lookup = ...
0
votes
0
answers
12
views
Difference between := (colon equals) and = (equals) in LIGO?
I'm working through https://tezosacademy.io/pascal/chapter-variables
And it's walking me through how to assign values to const and var types. However, there's a note that says:
Notice the assignment ...
0
votes
0
answers
47
views
Can't run ligo on Windows
I just followed the steps provided in the guide, but it doesn't work.
Docker version is v20.10.7
>cat ligo
#!/bin/sh
docker run --user=`id -u` -v $PWD:$PWD -w $PWD ligolang/ligo:next "$@" ...
0
votes
1
answer
30
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 ...