diff --git a/generated/include/mmx/NodeAsyncClient.hxx b/generated/include/mmx/NodeAsyncClient.hxx index 82171fe84..3a5654588 100644 --- a/generated/include/mmx/NodeAsyncClient.hxx +++ b/generated/include/mmx/NodeAsyncClient.hxx @@ -286,7 +286,7 @@ public: const std::function&)>& _callback = std::function&)>(), const std::function& _error_callback = std::function()); - uint64_t get_swap_trade_estimate(const ::mmx::addr_t& address = ::mmx::addr_t(), const uint32_t& i = 0, const uint64_t& amount = 0, + uint64_t get_swap_trade_estimate(const ::mmx::addr_t& address = ::mmx::addr_t(), const uint32_t& i = 0, const uint64_t& amount = 0, const int32_t& num_iter = 20, const std::function&)>& _callback = std::function&)>(), const std::function& _error_callback = std::function()); diff --git a/generated/include/mmx/NodeBase.hxx b/generated/include/mmx/NodeBase.hxx index d6d5be329..1ec5d891c 100644 --- a/generated/include/mmx/NodeBase.hxx +++ b/generated/include/mmx/NodeBase.hxx @@ -179,7 +179,7 @@ protected: virtual ::mmx::swap_info_t get_swap_info(const ::mmx::addr_t& address) const = 0; virtual ::mmx::swap_user_info_t get_swap_user_info(const ::mmx::addr_t& address, const ::mmx::addr_t& user) const = 0; virtual std::vector<::mmx::swap_entry_t> get_swap_history(const ::mmx::addr_t& address, const int32_t& limit) const = 0; - virtual std::array<::mmx::uint128, 2> get_swap_trade_estimate(const ::mmx::addr_t& address, const uint32_t& i, const uint64_t& amount) const = 0; + virtual std::array<::mmx::uint128, 2> get_swap_trade_estimate(const ::mmx::addr_t& address, const uint32_t& i, const uint64_t& amount, const int32_t& num_iter) const = 0; virtual std::array<::mmx::uint128, 2> get_swap_fees_earned(const ::mmx::addr_t& address, const ::mmx::addr_t& user) const = 0; virtual std::array<::mmx::uint128, 2> get_swap_equivalent_liquidity(const ::mmx::addr_t& address, const ::mmx::addr_t& user) const = 0; virtual std::map<::mmx::addr_t, std::array, 2>> get_swap_liquidity_by(const std::vector<::mmx::addr_t>& addresses) const = 0; diff --git a/generated/include/mmx/NodeClient.hxx b/generated/include/mmx/NodeClient.hxx index bb154dca6..f71d4f1a5 100644 --- a/generated/include/mmx/NodeClient.hxx +++ b/generated/include/mmx/NodeClient.hxx @@ -170,7 +170,7 @@ public: std::vector<::mmx::swap_entry_t> get_swap_history(const ::mmx::addr_t& address = ::mmx::addr_t(), const int32_t& limit = 100); - std::array<::mmx::uint128, 2> get_swap_trade_estimate(const ::mmx::addr_t& address = ::mmx::addr_t(), const uint32_t& i = 0, const uint64_t& amount = 0); + std::array<::mmx::uint128, 2> get_swap_trade_estimate(const ::mmx::addr_t& address = ::mmx::addr_t(), const uint32_t& i = 0, const uint64_t& amount = 0, const int32_t& num_iter = 20); std::array<::mmx::uint128, 2> get_swap_fees_earned(const ::mmx::addr_t& address = ::mmx::addr_t(), const ::mmx::addr_t& user = ::mmx::addr_t()); diff --git a/generated/include/mmx/Node_get_swap_trade_estimate.hxx b/generated/include/mmx/Node_get_swap_trade_estimate.hxx index f09946fdb..8b804b6ed 100644 --- a/generated/include/mmx/Node_get_swap_trade_estimate.hxx +++ b/generated/include/mmx/Node_get_swap_trade_estimate.hxx @@ -17,6 +17,7 @@ public: ::mmx::addr_t address; uint32_t i = 0; uint64_t amount = 0; + int32_t num_iter = 20; typedef ::vnx::Value Super; @@ -60,11 +61,12 @@ public: template void Node_get_swap_trade_estimate::accept_generic(T& _visitor) const { - _visitor.template type_begin(3); + _visitor.template type_begin(4); _visitor.type_field("address", 0); _visitor.accept(address); _visitor.type_field("i", 1); _visitor.accept(i); _visitor.type_field("amount", 2); _visitor.accept(amount); - _visitor.template type_end(3); + _visitor.type_field("num_iter", 3); _visitor.accept(num_iter); + _visitor.template type_end(4); } diff --git a/generated/include/mmx/WalletAsyncClient.hxx b/generated/include/mmx/WalletAsyncClient.hxx index 3fbef9255..b565bc695 100644 --- a/generated/include/mmx/WalletAsyncClient.hxx +++ b/generated/include/mmx/WalletAsyncClient.hxx @@ -81,7 +81,7 @@ public: const std::function)>& _callback = std::function)>(), const std::function& _error_callback = std::function()); - uint64_t swap_trade(const uint32_t& index = 0, const ::mmx::addr_t& address = ::mmx::addr_t(), const uint64_t& amount = 0, const ::mmx::addr_t& currency = ::mmx::addr_t(), const vnx::optional& min_trade = nullptr, const ::mmx::spend_options_t& options = ::mmx::spend_options_t(), + uint64_t swap_trade(const uint32_t& index = 0, const ::mmx::addr_t& address = ::mmx::addr_t(), const uint64_t& amount = 0, const ::mmx::addr_t& currency = ::mmx::addr_t(), const vnx::optional& min_trade = nullptr, const int32_t& num_iter = 20, const ::mmx::spend_options_t& options = ::mmx::spend_options_t(), const std::function)>& _callback = std::function)>(), const std::function& _error_callback = std::function()); diff --git a/generated/include/mmx/WalletBase.hxx b/generated/include/mmx/WalletBase.hxx index f81ec44b5..3a0545ad1 100644 --- a/generated/include/mmx/WalletBase.hxx +++ b/generated/include/mmx/WalletBase.hxx @@ -93,7 +93,7 @@ protected: virtual std::shared_ptr offer_withdraw(const uint32_t& index, const ::mmx::addr_t& address, const ::mmx::spend_options_t& options) const = 0; virtual std::shared_ptr accept_offer(const uint32_t& index, const ::mmx::addr_t& address, const uint32_t& dst_addr, const ::mmx::spend_options_t& options) const = 0; virtual std::shared_ptr cancel_offer(const uint32_t& index, const ::mmx::addr_t& address, const ::mmx::spend_options_t& options) const = 0; - virtual std::shared_ptr swap_trade(const uint32_t& index, const ::mmx::addr_t& address, const uint64_t& amount, const ::mmx::addr_t& currency, const vnx::optional& min_trade, const ::mmx::spend_options_t& options) const = 0; + virtual std::shared_ptr swap_trade(const uint32_t& index, const ::mmx::addr_t& address, const uint64_t& amount, const ::mmx::addr_t& currency, const vnx::optional& min_trade, const int32_t& num_iter, const ::mmx::spend_options_t& options) const = 0; virtual std::shared_ptr swap_add_liquid(const uint32_t& index, const ::mmx::addr_t& address, const std::array& amount, const uint32_t& pool_idx, const ::mmx::spend_options_t& options) const = 0; virtual std::shared_ptr swap_rem_liquid(const uint32_t& index, const ::mmx::addr_t& address, const std::array& amount, const ::mmx::spend_options_t& options) const = 0; virtual std::shared_ptr complete(const uint32_t& index, std::shared_ptr tx, const ::mmx::spend_options_t& options) const = 0; diff --git a/generated/include/mmx/WalletClient.hxx b/generated/include/mmx/WalletClient.hxx index ef8a306b4..aac74ada9 100644 --- a/generated/include/mmx/WalletClient.hxx +++ b/generated/include/mmx/WalletClient.hxx @@ -59,7 +59,7 @@ public: std::shared_ptr cancel_offer(const uint32_t& index = 0, const ::mmx::addr_t& address = ::mmx::addr_t(), const ::mmx::spend_options_t& options = ::mmx::spend_options_t()); - std::shared_ptr swap_trade(const uint32_t& index = 0, const ::mmx::addr_t& address = ::mmx::addr_t(), const uint64_t& amount = 0, const ::mmx::addr_t& currency = ::mmx::addr_t(), const vnx::optional& min_trade = nullptr, const ::mmx::spend_options_t& options = ::mmx::spend_options_t()); + std::shared_ptr swap_trade(const uint32_t& index = 0, const ::mmx::addr_t& address = ::mmx::addr_t(), const uint64_t& amount = 0, const ::mmx::addr_t& currency = ::mmx::addr_t(), const vnx::optional& min_trade = nullptr, const int32_t& num_iter = 20, const ::mmx::spend_options_t& options = ::mmx::spend_options_t()); std::shared_ptr swap_add_liquid(const uint32_t& index = 0, const ::mmx::addr_t& address = ::mmx::addr_t(), const std::array& amount = {}, const uint32_t& pool_idx = 0, const ::mmx::spend_options_t& options = ::mmx::spend_options_t()); diff --git a/generated/include/mmx/Wallet_swap_trade.hxx b/generated/include/mmx/Wallet_swap_trade.hxx index cd0a7d745..71b0859c8 100644 --- a/generated/include/mmx/Wallet_swap_trade.hxx +++ b/generated/include/mmx/Wallet_swap_trade.hxx @@ -20,6 +20,7 @@ public: uint64_t amount = 0; ::mmx::addr_t currency; vnx::optional min_trade; + int32_t num_iter = 20; ::mmx::spend_options_t options; typedef ::vnx::Value Super; @@ -64,14 +65,15 @@ public: template void Wallet_swap_trade::accept_generic(T& _visitor) const { - _visitor.template type_begin(6); + _visitor.template type_begin(7); _visitor.type_field("index", 0); _visitor.accept(index); _visitor.type_field("address", 1); _visitor.accept(address); _visitor.type_field("amount", 2); _visitor.accept(amount); _visitor.type_field("currency", 3); _visitor.accept(currency); _visitor.type_field("min_trade", 4); _visitor.accept(min_trade); - _visitor.type_field("options", 5); _visitor.accept(options); - _visitor.template type_end(6); + _visitor.type_field("num_iter", 5); _visitor.accept(num_iter); + _visitor.type_field("options", 6); _visitor.accept(options); + _visitor.template type_end(7); } diff --git a/generated/include/mmx/swap_info_t.hxx b/generated/include/mmx/swap_info_t.hxx index a79c4a2f5..658ea1deb 100644 --- a/generated/include/mmx/swap_info_t.hxx +++ b/generated/include/mmx/swap_info_t.hxx @@ -43,8 +43,6 @@ struct MMX_EXPORT swap_info_t { std::string get_type_name() const; const vnx::TypeCode* get_type_code() const; - vnx::float64_t get_price() const; - static std::shared_ptr create(); std::shared_ptr clone() const; diff --git a/generated/src/NodeAsyncClient.cpp b/generated/src/NodeAsyncClient.cpp index 73b4698e3..4940b214e 100644 --- a/generated/src/NodeAsyncClient.cpp +++ b/generated/src/NodeAsyncClient.cpp @@ -1031,11 +1031,12 @@ uint64_t NodeAsyncClient::get_swap_history(const ::mmx::addr_t& address, const i return _request_id; } -uint64_t NodeAsyncClient::get_swap_trade_estimate(const ::mmx::addr_t& address, const uint32_t& i, const uint64_t& amount, const std::function&)>& _callback, const std::function& _error_callback) { +uint64_t NodeAsyncClient::get_swap_trade_estimate(const ::mmx::addr_t& address, const uint32_t& i, const uint64_t& amount, const int32_t& num_iter, const std::function&)>& _callback, const std::function& _error_callback) { auto _method = ::mmx::Node_get_swap_trade_estimate::create(); _method->address = address; _method->i = i; _method->amount = amount; + _method->num_iter = num_iter; const auto _request_id = ++vnx_next_id; { std::lock_guard _lock(vnx_mutex); diff --git a/generated/src/NodeBase.cpp b/generated/src/NodeBase.cpp index 85f56e420..9b2046a4e 100644 --- a/generated/src/NodeBase.cpp +++ b/generated/src/NodeBase.cpp @@ -1368,7 +1368,7 @@ std::shared_ptr NodeBase::vnx_call_switch(std::shared_ptr(_method); auto _return_value = ::mmx::Node_get_swap_trade_estimate_return::create(); - _return_value->_ret_0 = get_swap_trade_estimate(_args->address, _args->i, _args->amount); + _return_value->_ret_0 = get_swap_trade_estimate(_args->address, _args->i, _args->amount, _args->num_iter); return _return_value; } case 0xb92b8fb7df56ec0full: { diff --git a/generated/src/NodeClient.cpp b/generated/src/NodeClient.cpp index e34c685f8..d374b2c9b 100644 --- a/generated/src/NodeClient.cpp +++ b/generated/src/NodeClient.cpp @@ -1030,11 +1030,12 @@ std::vector<::mmx::swap_entry_t> NodeClient::get_swap_history(const ::mmx::addr_ } } -std::array<::mmx::uint128, 2> NodeClient::get_swap_trade_estimate(const ::mmx::addr_t& address, const uint32_t& i, const uint64_t& amount) { +std::array<::mmx::uint128, 2> NodeClient::get_swap_trade_estimate(const ::mmx::addr_t& address, const uint32_t& i, const uint64_t& amount, const int32_t& num_iter) { auto _method = ::mmx::Node_get_swap_trade_estimate::create(); _method->address = address; _method->i = i; _method->amount = amount; + _method->num_iter = num_iter; auto _return_value = vnx_request(_method, false); if(auto _result = std::dynamic_pointer_cast(_return_value)) { return _result->_ret_0; diff --git a/generated/src/Node_get_swap_trade_estimate.cpp b/generated/src/Node_get_swap_trade_estimate.cpp index dbd9fe49a..39f7cdf94 100644 --- a/generated/src/Node_get_swap_trade_estimate.cpp +++ b/generated/src/Node_get_swap_trade_estimate.cpp @@ -14,7 +14,7 @@ namespace mmx { const vnx::Hash64 Node_get_swap_trade_estimate::VNX_TYPE_HASH(0x1c3d2e0c3a431e9eull); -const vnx::Hash64 Node_get_swap_trade_estimate::VNX_CODE_HASH(0x1c484a488973128ull); +const vnx::Hash64 Node_get_swap_trade_estimate::VNX_CODE_HASH(0xa9f22ec5e5347624ull); vnx::Hash64 Node_get_swap_trade_estimate::get_type_hash() const { return VNX_TYPE_HASH; @@ -50,6 +50,7 @@ void Node_get_swap_trade_estimate::accept(vnx::Visitor& _visitor) const { _visitor.type_field(_type_code->fields[0], 0); vnx::accept(_visitor, address); _visitor.type_field(_type_code->fields[1], 1); vnx::accept(_visitor, i); _visitor.type_field(_type_code->fields[2], 2); vnx::accept(_visitor, amount); + _visitor.type_field(_type_code->fields[3], 3); vnx::accept(_visitor, num_iter); _visitor.type_end(*_type_code); } @@ -58,6 +59,7 @@ void Node_get_swap_trade_estimate::write(std::ostream& _out) const { _out << ", \"address\": "; vnx::write(_out, address); _out << ", \"i\": "; vnx::write(_out, i); _out << ", \"amount\": "; vnx::write(_out, amount); + _out << ", \"num_iter\": "; vnx::write(_out, num_iter); _out << "}"; } @@ -73,6 +75,7 @@ vnx::Object Node_get_swap_trade_estimate::to_object() const { _object["address"] = address; _object["i"] = i; _object["amount"] = amount; + _object["num_iter"] = num_iter; return _object; } @@ -84,6 +87,8 @@ void Node_get_swap_trade_estimate::from_object(const vnx::Object& _object) { _entry.second.to(amount); } else if(_entry.first == "i") { _entry.second.to(i); + } else if(_entry.first == "num_iter") { + _entry.second.to(num_iter); } } } @@ -98,6 +103,9 @@ vnx::Variant Node_get_swap_trade_estimate::get_field(const std::string& _name) c if(_name == "amount") { return vnx::Variant(amount); } + if(_name == "num_iter") { + return vnx::Variant(num_iter); + } return vnx::Variant(); } @@ -108,6 +116,8 @@ void Node_get_swap_trade_estimate::set_field(const std::string& _name, const vnx _value.to(i); } else if(_name == "amount") { _value.to(amount); + } else if(_name == "num_iter") { + _value.to(num_iter); } } @@ -135,7 +145,7 @@ std::shared_ptr Node_get_swap_trade_estimate::static_create_type_ auto type_code = std::make_shared(); type_code->name = "mmx.Node.get_swap_trade_estimate"; type_code->type_hash = vnx::Hash64(0x1c3d2e0c3a431e9eull); - type_code->code_hash = vnx::Hash64(0x1c484a488973128ull); + type_code->code_hash = vnx::Hash64(0xa9f22ec5e5347624ull); type_code->is_native = true; type_code->is_class = true; type_code->is_method = true; @@ -143,7 +153,7 @@ std::shared_ptr Node_get_swap_trade_estimate::static_create_type_ type_code->create_value = []() -> std::shared_ptr { return std::make_shared(); }; type_code->is_const = true; type_code->return_type = ::mmx::Node_get_swap_trade_estimate_return::static_get_type_code(); - type_code->fields.resize(3); + type_code->fields.resize(4); { auto& field = type_code->fields[0]; field.is_extended = true; @@ -162,6 +172,13 @@ std::shared_ptr Node_get_swap_trade_estimate::static_create_type_ field.name = "amount"; field.code = {4}; } + { + auto& field = type_code->fields[3]; + field.data_size = 4; + field.name = "num_iter"; + field.value = vnx::to_string(20); + field.code = {7}; + } type_code->permission = "mmx.permission_e.PUBLIC"; type_code->build(); return type_code; @@ -211,6 +228,9 @@ void read(TypeInput& in, ::mmx::Node_get_swap_trade_estimate& value, const TypeC if(const auto* const _field = type_code->field_map[2]) { vnx::read_value(_buf + _field->offset, value.amount, _field->code.data()); } + if(const auto* const _field = type_code->field_map[3]) { + vnx::read_value(_buf + _field->offset, value.num_iter, _field->code.data()); + } } for(const auto* _field : type_code->ext_fields) { switch(_field->native_index) { @@ -233,9 +253,10 @@ void write(TypeOutput& out, const ::mmx::Node_get_swap_trade_estimate& value, co else if(code && code[0] == CODE_STRUCT) { type_code = type_code->depends[code[1]]; } - char* const _buf = out.write(12); + char* const _buf = out.write(16); vnx::write_value(_buf + 0, value.i); vnx::write_value(_buf + 4, value.amount); + vnx::write_value(_buf + 12, value.num_iter); vnx::write(out, value.address, type_code, type_code->fields[0].code.data()); } diff --git a/generated/src/WalletAsyncClient.cpp b/generated/src/WalletAsyncClient.cpp index cbf3934a7..b0e36db54 100644 --- a/generated/src/WalletAsyncClient.cpp +++ b/generated/src/WalletAsyncClient.cpp @@ -361,13 +361,14 @@ uint64_t WalletAsyncClient::cancel_offer(const uint32_t& index, const ::mmx::add return _request_id; } -uint64_t WalletAsyncClient::swap_trade(const uint32_t& index, const ::mmx::addr_t& address, const uint64_t& amount, const ::mmx::addr_t& currency, const vnx::optional& min_trade, const ::mmx::spend_options_t& options, const std::function)>& _callback, const std::function& _error_callback) { +uint64_t WalletAsyncClient::swap_trade(const uint32_t& index, const ::mmx::addr_t& address, const uint64_t& amount, const ::mmx::addr_t& currency, const vnx::optional& min_trade, const int32_t& num_iter, const ::mmx::spend_options_t& options, const std::function)>& _callback, const std::function& _error_callback) { auto _method = ::mmx::Wallet_swap_trade::create(); _method->index = index; _method->address = address; _method->amount = amount; _method->currency = currency; _method->min_trade = min_trade; + _method->num_iter = num_iter; _method->options = options; const auto _request_id = ++vnx_next_id; { diff --git a/generated/src/WalletBase.cpp b/generated/src/WalletBase.cpp index 1440ad277..917c94100 100644 --- a/generated/src/WalletBase.cpp +++ b/generated/src/WalletBase.cpp @@ -871,7 +871,7 @@ std::shared_ptr WalletBase::vnx_call_switch(std::shared_ptr(_method); auto _return_value = ::mmx::Wallet_swap_trade_return::create(); - _return_value->_ret_0 = swap_trade(_args->index, _args->address, _args->amount, _args->currency, _args->min_trade, _args->options); + _return_value->_ret_0 = swap_trade(_args->index, _args->address, _args->amount, _args->currency, _args->min_trade, _args->num_iter, _args->options); return _return_value; } case 0x800deedf12a4df74ull: { diff --git a/generated/src/WalletClient.cpp b/generated/src/WalletClient.cpp index 1cbdfe14f..91063d082 100644 --- a/generated/src/WalletClient.cpp +++ b/generated/src/WalletClient.cpp @@ -361,13 +361,14 @@ std::shared_ptr WalletClient::cancel_offer(const uint3 } } -std::shared_ptr WalletClient::swap_trade(const uint32_t& index, const ::mmx::addr_t& address, const uint64_t& amount, const ::mmx::addr_t& currency, const vnx::optional& min_trade, const ::mmx::spend_options_t& options) { +std::shared_ptr WalletClient::swap_trade(const uint32_t& index, const ::mmx::addr_t& address, const uint64_t& amount, const ::mmx::addr_t& currency, const vnx::optional& min_trade, const int32_t& num_iter, const ::mmx::spend_options_t& options) { auto _method = ::mmx::Wallet_swap_trade::create(); _method->index = index; _method->address = address; _method->amount = amount; _method->currency = currency; _method->min_trade = min_trade; + _method->num_iter = num_iter; _method->options = options; auto _return_value = vnx_request(_method, false); if(auto _result = std::dynamic_pointer_cast(_return_value)) { diff --git a/generated/src/Wallet_swap_trade.cpp b/generated/src/Wallet_swap_trade.cpp index 92198e584..265f42781 100644 --- a/generated/src/Wallet_swap_trade.cpp +++ b/generated/src/Wallet_swap_trade.cpp @@ -15,7 +15,7 @@ namespace mmx { const vnx::Hash64 Wallet_swap_trade::VNX_TYPE_HASH(0x4b5a42cbf6657910ull); -const vnx::Hash64 Wallet_swap_trade::VNX_CODE_HASH(0xe53a42a88eab9249ull); +const vnx::Hash64 Wallet_swap_trade::VNX_CODE_HASH(0xd91433c12391be63ull); vnx::Hash64 Wallet_swap_trade::get_type_hash() const { return VNX_TYPE_HASH; @@ -53,7 +53,8 @@ void Wallet_swap_trade::accept(vnx::Visitor& _visitor) const { _visitor.type_field(_type_code->fields[2], 2); vnx::accept(_visitor, amount); _visitor.type_field(_type_code->fields[3], 3); vnx::accept(_visitor, currency); _visitor.type_field(_type_code->fields[4], 4); vnx::accept(_visitor, min_trade); - _visitor.type_field(_type_code->fields[5], 5); vnx::accept(_visitor, options); + _visitor.type_field(_type_code->fields[5], 5); vnx::accept(_visitor, num_iter); + _visitor.type_field(_type_code->fields[6], 6); vnx::accept(_visitor, options); _visitor.type_end(*_type_code); } @@ -64,6 +65,7 @@ void Wallet_swap_trade::write(std::ostream& _out) const { _out << ", \"amount\": "; vnx::write(_out, amount); _out << ", \"currency\": "; vnx::write(_out, currency); _out << ", \"min_trade\": "; vnx::write(_out, min_trade); + _out << ", \"num_iter\": "; vnx::write(_out, num_iter); _out << ", \"options\": "; vnx::write(_out, options); _out << "}"; } @@ -82,6 +84,7 @@ vnx::Object Wallet_swap_trade::to_object() const { _object["amount"] = amount; _object["currency"] = currency; _object["min_trade"] = min_trade; + _object["num_iter"] = num_iter; _object["options"] = options; return _object; } @@ -98,6 +101,8 @@ void Wallet_swap_trade::from_object(const vnx::Object& _object) { _entry.second.to(index); } else if(_entry.first == "min_trade") { _entry.second.to(min_trade); + } else if(_entry.first == "num_iter") { + _entry.second.to(num_iter); } else if(_entry.first == "options") { _entry.second.to(options); } @@ -120,6 +125,9 @@ vnx::Variant Wallet_swap_trade::get_field(const std::string& _name) const { if(_name == "min_trade") { return vnx::Variant(min_trade); } + if(_name == "num_iter") { + return vnx::Variant(num_iter); + } if(_name == "options") { return vnx::Variant(options); } @@ -137,6 +145,8 @@ void Wallet_swap_trade::set_field(const std::string& _name, const vnx::Variant& _value.to(currency); } else if(_name == "min_trade") { _value.to(min_trade); + } else if(_name == "num_iter") { + _value.to(num_iter); } else if(_name == "options") { _value.to(options); } @@ -166,7 +176,7 @@ std::shared_ptr Wallet_swap_trade::static_create_type_code() { auto type_code = std::make_shared(); type_code->name = "mmx.Wallet.swap_trade"; type_code->type_hash = vnx::Hash64(0x4b5a42cbf6657910ull); - type_code->code_hash = vnx::Hash64(0xe53a42a88eab9249ull); + type_code->code_hash = vnx::Hash64(0xd91433c12391be63ull); type_code->is_native = true; type_code->is_class = true; type_code->is_method = true; @@ -176,7 +186,7 @@ std::shared_ptr Wallet_swap_trade::static_create_type_code() { type_code->depends[0] = ::mmx::spend_options_t::static_get_type_code(); type_code->is_const = true; type_code->return_type = ::mmx::Wallet_swap_trade_return::static_get_type_code(); - type_code->fields.resize(6); + type_code->fields.resize(7); { auto& field = type_code->fields[0]; field.data_size = 4; @@ -209,6 +219,13 @@ std::shared_ptr Wallet_swap_trade::static_create_type_code() { } { auto& field = type_code->fields[5]; + field.data_size = 4; + field.name = "num_iter"; + field.value = vnx::to_string(20); + field.code = {7}; + } + { + auto& field = type_code->fields[6]; field.is_extended = true; field.name = "options"; field.code = {19, 0}; @@ -262,13 +279,16 @@ void read(TypeInput& in, ::mmx::Wallet_swap_trade& value, const TypeCode* type_c if(const auto* const _field = type_code->field_map[2]) { vnx::read_value(_buf + _field->offset, value.amount, _field->code.data()); } + if(const auto* const _field = type_code->field_map[5]) { + vnx::read_value(_buf + _field->offset, value.num_iter, _field->code.data()); + } } for(const auto* _field : type_code->ext_fields) { switch(_field->native_index) { case 1: vnx::read(in, value.address, type_code, _field->code.data()); break; case 3: vnx::read(in, value.currency, type_code, _field->code.data()); break; case 4: vnx::read(in, value.min_trade, type_code, _field->code.data()); break; - case 5: vnx::read(in, value.options, type_code, _field->code.data()); break; + case 6: vnx::read(in, value.options, type_code, _field->code.data()); break; default: vnx::skip(in, type_code, _field->code.data()); } } @@ -287,13 +307,14 @@ void write(TypeOutput& out, const ::mmx::Wallet_swap_trade& value, const TypeCod else if(code && code[0] == CODE_STRUCT) { type_code = type_code->depends[code[1]]; } - char* const _buf = out.write(12); + char* const _buf = out.write(16); vnx::write_value(_buf + 0, value.index); vnx::write_value(_buf + 4, value.amount); + vnx::write_value(_buf + 12, value.num_iter); vnx::write(out, value.address, type_code, type_code->fields[1].code.data()); vnx::write(out, value.currency, type_code, type_code->fields[3].code.data()); vnx::write(out, value.min_trade, type_code, type_code->fields[4].code.data()); - vnx::write(out, value.options, type_code, type_code->fields[5].code.data()); + vnx::write(out, value.options, type_code, type_code->fields[6].code.data()); } void read(std::istream& in, ::mmx::Wallet_swap_trade& value) {