Como especificar o ponto de entrada do contrato inteligente na chamada EZTZ?
1 responda
- votos
Michelsonnão suporta váriospontos deentrada agora.A liquidez usa uniões (ou variáveis detipo)para compensarisso.Uma uniãotem um ladoesquerdoe direito,mastambémpode ser aninhado.
Vamos analisar oparâmetro do scriptfornecido:
parameter
(or :_entries
(int %_Liq_entry_create) <-- Left Side
(int %_Liq_entry_main)) <-- Right Side
;
Então,para chamar oprimeiroponto deentrada,você usaria o seguinteem EZTZ:
eztz.contract.send(contract,from, keys, amoun, "(Left 1)", gasLimit,storageLimit)
Para acessar o segundoponto deentrada,você usaria:
eztz.contract.send(contract,from, keys, amoun, "(Right 1)", gasLimit,storageLimit)
Issonão éespecíficopara EZTZ,mas aplica-se a chamar contratosinteligentes detodas as carteirase atémesmo o Tezos-Client.
Michelson doesn't support multiple entry points right now. Liquidity uses unions (or type variables) to make up for this. A union has a Left and Right side, but can also be nested.
Let's analyse the parameter of the script provided:
parameter
(or :_entries
(int %_Liq_entry_create) <-- Left Side
(int %_Liq_entry_main)) <-- Right Side
;
So, to call the first entry point, you would use the following in eztz:
eztz.contract.send(contract,from, keys, amoun, "(Left 1)", gasLimit,storageLimit)
To access the second entry point, you would use:
eztz.contract.send(contract,from, keys, amoun, "(Right 1)", gasLimit,storageLimit)
This is not specific to eztz, but applies to calling smart contracts from all wallets and even the tezos-client.
Eu quero chamar um contratointeligente com EZTZ:
Comoespecificar oponto deentrada,meu contratointeligentetem váriospontos deentrada: