diff --git a/bindings/erlang/src/vanillae.erl b/bindings/erlang/src/vanillae.erl
index 2ed9c4f..93aec74 100644
--- a/bindings/erlang/src/vanillae.erl
+++ b/bindings/erlang/src/vanillae.erl
@@ -65,6 +65,8 @@
min_gas/0,
min_gas_price/0,
min_fee/0,
+ contract_create/3,
+ contract_create/8,
prepare_contract/1,
contract_call/5,
contract_call/10]).
@@ -745,7 +747,7 @@ result(Received) -> Received.
when CreatorID :: binary(),
Path :: file:filename(),
InitArgs :: [string()],
- Result :: {ok, CallTX} | {error, Reason},
+ Result :: {ok, CreateTX} | {error, Reason},
CreateTX :: binary(),
Reason :: file:posix() | term().
%% @doc
@@ -756,27 +758,23 @@ result(Received) -> Received.
contract_create(CreatorID, Path, InitArgs) ->
case next_nonce(CreatorID) of
{ok, Nonce} ->
- Deposit = 0,
Amount = 0,
Gas = 100000,
GasPrice = min_gas_price(),
- Fee = fee(),
+ Fee = min_fee(),
contract_create(CreatorID, Nonce,
- Deposit, Amount,
- Gas, GasPrice, Fee,
+ Amount, Gas, GasPrice, Fee,
Path, InitArgs);
Error ->
Error
end.
--spec create_contract(CreatorID, Nonce,
- Deposit, Amount,
- Gas, GasPrice, Fee,
+-spec contract_create(CreatorID, Nonce,
+ Amount, Gas, GasPrice, Fee,
Path, InitArgs) -> Result
when CreatorID :: binary(),
Nonce :: pos_integer(),
- Deposit :: non_neg_integer(),
Amount :: non_neg_integer(),
Gas :: pos_integer(),
GasPrice :: pos_integer(),
@@ -813,11 +811,6 @@ contract_create(CreatorID, Path, InitArgs) ->
%% querying your Aeternity node (via `vanillae:next_nonce(CallerID)', for example).
%%
%%
-%% Deposit:
-%% I'm still not sure how to define this, so leave it at 0 for now.
-%% Note to self: FIXME
-%%
-%%
%% Amount:
%% All Aeternity transactions can carry an "amount" spent from the origin account
%% (in this case the `CallerID') to the destination. In a "Spend" transaction this
@@ -900,69 +893,64 @@ contract_create(CreatorID, Path, InitArgs) ->
%% if you do not already have a copy, and can check the spec of a function before
%% trying to form a contract call.
-create_contract(CreatorID, Nonce,
- Deposit, Amount,
- Gas, GasPrice, Fee,
+contract_create(CreatorID, Nonce,
+ Amount, Gas, GasPrice, Fee,
Path, InitArgs) ->
case aeso_compiler:file(Path, [{aci, json}]) of
{ok, Compiled} ->
contract_create2(CreatorID, Nonce,
- Deposit, Amount,
- Gas, GasPrice, Fee,
+ Amount, Gas, GasPrice, Fee,
Compiled, InitArgs);
Error ->
Error
end.
-contract_create2(CratorID, Nonce,
- Deposit, Amount,
- Gas, GasPrice, Fee,
+contract_create2(CreatorID, Nonce,
+ Amount, Gas, GasPrice, Fee,
Compiled, InitArgs) ->
AACI = prepare_aaci(maps:get(aci, Compiled)),
case encode_call_data(AACI, "init", InitArgs) of
{ok, CallData} ->
contract_create3(CreatorID, Nonce,
- Deposit, Amount,
- Gas, GasPrice, Fee,
- Compiled, CallData, InitArgs);
+ Amount, Gas, GasPrice, Fee,
+ Compiled, CallData);
Error ->
Error
end.
contract_create3(CreatorID, Nonce,
- Deposit, Amount,
- Gas, GasPrice, Fee,
- Compiled, CallData, InitArgs) ->
- SophiaContractVersion = 3,
- Code = aeser_contract_code:serialize(Compiled, SophiaContractVersion),
+ Amount, Gas, GasPrice, Fee,
+ Compiled, CallData) ->
+ Code = aeser_contract_code:serialize(Compiled),
CTVersion = 2,
+ ContractCreateVersion = 1,
TTL = 0,
Type = contract_create_tx,
Fields =
- [{owner_id, aeser_id:create(account, Owner)},
+ [{owner_id, aeser_id:create(account, CreatorID)},
{nonce, Nonce},
{code, Code},
{ct_version, CTVersion},
{fee, Fee},
{ttl, TTL},
- {deposit, Deposit},
+ {deposit, 0},
{amount, Amount},
{gas, Gas},
{gas_price, GasPrice},
{call_data, CallData}],
Template =
- [{owner_id, id}
- {nonce, int}
- {code, binary}
- {ct_version, int}
- {fee, int}
- {ttl, int}
- {deposit, int}
- {amount, int}
- {gas, int}
- {gas_price, int}
+ [{owner_id, id},
+ {nonce, int},
+ {code, binary},
+ {ct_version, int},
+ {fee, int},
+ {ttl, int},
+ {deposit, int},
+ {amount, int},
+ {gas, int},
+ {gas_price, int},
{call_data, binary}],
- TXB = aeser_chain_objects:serialize(Type, CallVersion, Template, Fields),
+ TXB = aeser_chain_objects:serialize(Type, ContractCreateVersion, Template, Fields),
try
{ok, aeser_api_encoder:encode(transaction, TXB)}
catch