Merge branch 'develop' into auth_impl
This commit is contained in:
commit
bb3b893bd3
5 changed files with 150 additions and 8 deletions
|
|
@ -3600,7 +3600,7 @@ bool wallet2::add_custom_asset_id(const crypto::public_key& asset_id, asset_desc
|
||||||
//----------------------------------------------------------------------------------------------------
|
//----------------------------------------------------------------------------------------------------
|
||||||
bool wallet2::delete_custom_asset_id(const crypto::public_key& asset_id)
|
bool wallet2::delete_custom_asset_id(const crypto::public_key& asset_id)
|
||||||
{
|
{
|
||||||
auto it = m_custom_assets.find(asset_id);
|
const auto it = m_custom_assets.find(asset_id);
|
||||||
if (it != m_custom_assets.end())
|
if (it != m_custom_assets.end())
|
||||||
{
|
{
|
||||||
m_custom_assets.erase(it);
|
m_custom_assets.erase(it);
|
||||||
|
|
@ -3609,6 +3609,17 @@ bool wallet2::delete_custom_asset_id(const crypto::public_key& asset_id)
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
//----------------------------------------------------------------------------------------------------
|
//----------------------------------------------------------------------------------------------------
|
||||||
|
bool wallet2::get_custom_assets(std::list<currency::asset_descriptor_with_id>& assets) const
|
||||||
|
{
|
||||||
|
for(const auto& pr : m_custom_assets)
|
||||||
|
{
|
||||||
|
assets.push_back(currency::asset_descriptor_with_id());
|
||||||
|
assets.back().asset_id = pr.first;
|
||||||
|
static_cast<currency::asset_descriptor_base>(assets.back()) = pr.second;
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
//----------------------------------------------------------------------------------------------------
|
||||||
bool wallet2::load_whitelisted_tokens() const
|
bool wallet2::load_whitelisted_tokens() const
|
||||||
{
|
{
|
||||||
if(!m_use_assets_whitelisting)
|
if(!m_use_assets_whitelisting)
|
||||||
|
|
|
||||||
|
|
@ -656,6 +656,7 @@ namespace tools
|
||||||
|
|
||||||
bool add_custom_asset_id(const crypto::public_key& asset_id, currency::asset_descriptor_base& asset_descriptor);
|
bool add_custom_asset_id(const crypto::public_key& asset_id, currency::asset_descriptor_base& asset_descriptor);
|
||||||
bool delete_custom_asset_id(const crypto::public_key& asset_id);
|
bool delete_custom_asset_id(const crypto::public_key& asset_id);
|
||||||
|
bool get_custom_assets(std::list<currency::asset_descriptor_with_id>& assets) const;
|
||||||
bool load_whitelisted_tokens_if_not_loaded() const;
|
bool load_whitelisted_tokens_if_not_loaded() const;
|
||||||
bool load_whitelisted_tokens() const;
|
bool load_whitelisted_tokens() const;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1736,5 +1736,87 @@ namespace wallet_public
|
||||||
return lhs.amount == rhs.amount && lhs.asset_id == rhs.asset_id;
|
return lhs.amount == rhs.amount && lhs.asset_id == rhs.asset_id;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
struct COMMAND_ASSETS_WHITELIST_GET
|
||||||
|
{
|
||||||
|
struct request
|
||||||
|
{
|
||||||
|
BEGIN_KV_SERIALIZE_MAP()
|
||||||
|
END_KV_SERIALIZE_MAP()
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
struct response
|
||||||
|
{
|
||||||
|
std::list<currency::asset_descriptor_with_id> assets;
|
||||||
|
|
||||||
|
BEGIN_KV_SERIALIZE_MAP()
|
||||||
|
KV_SERIALIZE(assets)
|
||||||
|
END_KV_SERIALIZE_MAP()
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
struct COMMAND_ASSETS_WHITELIST_ADD
|
||||||
|
{
|
||||||
|
struct request
|
||||||
|
{
|
||||||
|
crypto::public_key asset_id = currency::null_pkey;
|
||||||
|
|
||||||
|
BEGIN_KV_SERIALIZE_MAP()
|
||||||
|
KV_SERIALIZE_POD_AS_HEX_STRING(asset_id)
|
||||||
|
END_KV_SERIALIZE_MAP()
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
struct response
|
||||||
|
{
|
||||||
|
std::string status;
|
||||||
|
currency::asset_descriptor_base asset_descriptor;
|
||||||
|
|
||||||
|
BEGIN_KV_SERIALIZE_MAP()
|
||||||
|
KV_SERIALIZE(status)
|
||||||
|
KV_SERIALIZE(asset_descriptor)
|
||||||
|
END_KV_SERIALIZE_MAP()
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
struct COMMAND_ASSETS_WHITELIST_REMOVE
|
||||||
|
{
|
||||||
|
struct request
|
||||||
|
{
|
||||||
|
crypto::public_key asset_id = currency::null_pkey;
|
||||||
|
|
||||||
|
BEGIN_KV_SERIALIZE_MAP()
|
||||||
|
KV_SERIALIZE_POD_AS_HEX_STRING(asset_id)
|
||||||
|
END_KV_SERIALIZE_MAP()
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
struct response
|
||||||
|
{
|
||||||
|
std::string status;
|
||||||
|
|
||||||
|
BEGIN_KV_SERIALIZE_MAP()
|
||||||
|
KV_SERIALIZE(status)
|
||||||
|
END_KV_SERIALIZE_MAP()
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
} // namespace wallet_rpc
|
} // namespace wallet_rpc
|
||||||
} // namespace tools
|
} // namespace tools
|
||||||
|
|
|
||||||
|
|
@ -1051,6 +1051,44 @@ namespace tools
|
||||||
WALLET_RPC_CATCH_TRY_ENTRY();
|
WALLET_RPC_CATCH_TRY_ENTRY();
|
||||||
}
|
}
|
||||||
//------------------------------------------------------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------------------------------------------------------
|
||||||
|
bool wallet_rpc_server::on_assets_whitelist_get(const wallet_public::COMMAND_ASSETS_WHITELIST_GET::request& req, wallet_public::COMMAND_ASSETS_WHITELIST_GET::response& res, epee::json_rpc::error& er, connection_context& cntx)
|
||||||
|
{
|
||||||
|
WALLET_RPC_BEGIN_TRY_ENTRY();
|
||||||
|
w.get_wallet()->get_custom_assets(res.assets);
|
||||||
|
return true;
|
||||||
|
WALLET_RPC_CATCH_TRY_ENTRY();
|
||||||
|
}
|
||||||
|
//------------------------------------------------------------------------------------------------------------------------------
|
||||||
|
bool wallet_rpc_server::on_assets_whitelist_add(const wallet_public::COMMAND_ASSETS_WHITELIST_ADD::request& req, wallet_public::COMMAND_ASSETS_WHITELIST_ADD::response& res, epee::json_rpc::error& er, connection_context& cntx)
|
||||||
|
{
|
||||||
|
WALLET_RPC_BEGIN_TRY_ENTRY();
|
||||||
|
if(!w.get_wallet()->add_custom_asset_id(req.asset_id, res.asset_descriptor))
|
||||||
|
{
|
||||||
|
res.status = API_RETURN_CODE_NOT_FOUND;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
res.status = API_RETURN_CODE_OK;
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
WALLET_RPC_CATCH_TRY_ENTRY();
|
||||||
|
}
|
||||||
|
//------------------------------------------------------------------------------------------------------------------------------
|
||||||
|
bool wallet_rpc_server::on_assets_whitelist_remove(const wallet_public::COMMAND_ASSETS_WHITELIST_REMOVE::request& req, wallet_public::COMMAND_ASSETS_WHITELIST_REMOVE::response& res, epee::json_rpc::error& er, connection_context& cntx)
|
||||||
|
{
|
||||||
|
WALLET_RPC_BEGIN_TRY_ENTRY();
|
||||||
|
if(!w.get_wallet()->delete_custom_asset_id(req.asset_id))
|
||||||
|
{
|
||||||
|
res.status = API_RETURN_CODE_NOT_FOUND;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
res.status = API_RETURN_CODE_OK;
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
WALLET_RPC_CATCH_TRY_ENTRY();
|
||||||
|
}
|
||||||
|
//------------------------------------------------------------------------------------------------------------------------------
|
||||||
bool wallet_rpc_server::on_mw_get_wallets(const wallet_public::COMMAND_MW_GET_WALLETS::request& req, wallet_public::COMMAND_MW_GET_WALLETS::response& res, epee::json_rpc::error& er, connection_context& cntx)
|
bool wallet_rpc_server::on_mw_get_wallets(const wallet_public::COMMAND_MW_GET_WALLETS::request& req, wallet_public::COMMAND_MW_GET_WALLETS::response& res, epee::json_rpc::error& er, connection_context& cntx)
|
||||||
{
|
{
|
||||||
WALLET_RPC_BEGIN_TRY_ENTRY();
|
WALLET_RPC_BEGIN_TRY_ENTRY();
|
||||||
|
|
|
||||||
|
|
@ -124,15 +124,20 @@ namespace tools
|
||||||
MAP_JON_RPC_WE("marketplace_push_update_offer", on_marketplace_push_update_offer, wallet_public::COMMAND_MARKETPLACE_PUSH_UPDATE_OFFER)
|
MAP_JON_RPC_WE("marketplace_push_update_offer", on_marketplace_push_update_offer, wallet_public::COMMAND_MARKETPLACE_PUSH_UPDATE_OFFER)
|
||||||
MAP_JON_RPC_WE("marketplace_cancel_offer", on_marketplace_cancel_offer, wallet_public::COMMAND_MARKETPLACE_CANCEL_OFFER)
|
MAP_JON_RPC_WE("marketplace_cancel_offer", on_marketplace_cancel_offer, wallet_public::COMMAND_MARKETPLACE_CANCEL_OFFER)
|
||||||
//HTLC API
|
//HTLC API
|
||||||
MAP_JON_RPC_WE("atomics_create_htlc_proposal", on_create_htlc_proposal, wallet_public::COMMAND_CREATE_HTLC_PROPOSAL)
|
MAP_JON_RPC_WE("atomics_create_htlc_proposal", on_create_htlc_proposal, wallet_public::COMMAND_CREATE_HTLC_PROPOSAL)
|
||||||
MAP_JON_RPC_WE("atomics_get_list_of_active_htlc", on_get_list_of_active_htlc, wallet_public::COMMAND_GET_LIST_OF_ACTIVE_HTLC)
|
MAP_JON_RPC_WE("atomics_get_list_of_active_htlc", on_get_list_of_active_htlc, wallet_public::COMMAND_GET_LIST_OF_ACTIVE_HTLC)
|
||||||
MAP_JON_RPC_WE("atomics_redeem_htlc", on_redeem_htlc, wallet_public::COMMAND_REDEEM_HTLC)
|
MAP_JON_RPC_WE("atomics_redeem_htlc", on_redeem_htlc, wallet_public::COMMAND_REDEEM_HTLC)
|
||||||
MAP_JON_RPC_WE("atomics_check_htlc_redeemed", on_check_htlc_redeemed, wallet_public::COMMAND_CHECK_HTLC_REDEEMED)
|
MAP_JON_RPC_WE("atomics_check_htlc_redeemed", on_check_htlc_redeemed, wallet_public::COMMAND_CHECK_HTLC_REDEEMED)
|
||||||
|
|
||||||
//IONIC_SWAPS API
|
//IONIC_SWAPS API
|
||||||
MAP_JON_RPC_WE("ionic_swap_generate_proposal", on_ionic_swap_generate_proposal, wallet_public::COMMAND_IONIC_SWAP_GENERATE_PROPOSAL)
|
MAP_JON_RPC_WE("ionic_swap_generate_proposal", on_ionic_swap_generate_proposal, wallet_public::COMMAND_IONIC_SWAP_GENERATE_PROPOSAL)
|
||||||
MAP_JON_RPC_WE("ionic_swap_get_proposal_info", on_ionic_swap_get_proposal_info, wallet_public::COMMAND_IONIC_SWAP_GET_PROPOSAL_INFO)
|
MAP_JON_RPC_WE("ionic_swap_get_proposal_info", on_ionic_swap_get_proposal_info, wallet_public::COMMAND_IONIC_SWAP_GET_PROPOSAL_INFO)
|
||||||
MAP_JON_RPC_WE("ionic_swap_accept_proposal", on_ionic_swap_accept_proposal, wallet_public::COMMAND_IONIC_SWAP_ACCEPT_PROPOSAL)
|
MAP_JON_RPC_WE("ionic_swap_accept_proposal", on_ionic_swap_accept_proposal, wallet_public::COMMAND_IONIC_SWAP_ACCEPT_PROPOSAL)
|
||||||
|
|
||||||
|
// Assets API
|
||||||
|
MAP_JON_RPC_WE("assets_whitelist_get", on_assets_whitelist_get, wallet_public::COMMAND_ASSETS_WHITELIST_GET)
|
||||||
|
MAP_JON_RPC_WE("assets_whitelist_add", on_assets_whitelist_add, wallet_public::COMMAND_ASSETS_WHITELIST_ADD)
|
||||||
|
MAP_JON_RPC_WE("assets_whitelist_remove", on_assets_whitelist_remove, wallet_public::COMMAND_ASSETS_WHITELIST_REMOVE)
|
||||||
|
|
||||||
//MULTIWALLET APIs
|
//MULTIWALLET APIs
|
||||||
MAP_JON_RPC_WE("mw_get_wallets", on_mw_get_wallets, wallet_public::COMMAND_MW_GET_WALLETS)
|
MAP_JON_RPC_WE("mw_get_wallets", on_mw_get_wallets, wallet_public::COMMAND_MW_GET_WALLETS)
|
||||||
|
|
@ -190,6 +195,11 @@ namespace tools
|
||||||
bool on_ionic_swap_get_proposal_info(const wallet_public::COMMAND_IONIC_SWAP_GET_PROPOSAL_INFO::request& req, wallet_public::COMMAND_IONIC_SWAP_GET_PROPOSAL_INFO::response& res, epee::json_rpc::error& er, connection_context& cntx);
|
bool on_ionic_swap_get_proposal_info(const wallet_public::COMMAND_IONIC_SWAP_GET_PROPOSAL_INFO::request& req, wallet_public::COMMAND_IONIC_SWAP_GET_PROPOSAL_INFO::response& res, epee::json_rpc::error& er, connection_context& cntx);
|
||||||
bool on_ionic_swap_accept_proposal(const wallet_public::COMMAND_IONIC_SWAP_ACCEPT_PROPOSAL::request& req, wallet_public::COMMAND_IONIC_SWAP_ACCEPT_PROPOSAL::response& res, epee::json_rpc::error& er, connection_context& cntx);
|
bool on_ionic_swap_accept_proposal(const wallet_public::COMMAND_IONIC_SWAP_ACCEPT_PROPOSAL::request& req, wallet_public::COMMAND_IONIC_SWAP_ACCEPT_PROPOSAL::response& res, epee::json_rpc::error& er, connection_context& cntx);
|
||||||
|
|
||||||
|
bool on_assets_whitelist_get(const wallet_public::COMMAND_ASSETS_WHITELIST_GET::request& req, wallet_public::COMMAND_ASSETS_WHITELIST_GET::response& res, epee::json_rpc::error& er, connection_context& cntx);
|
||||||
|
bool on_assets_whitelist_add(const wallet_public::COMMAND_ASSETS_WHITELIST_ADD::request& req, wallet_public::COMMAND_ASSETS_WHITELIST_ADD::response& res, epee::json_rpc::error& er, connection_context& cntx);
|
||||||
|
bool on_assets_whitelist_remove(const wallet_public::COMMAND_ASSETS_WHITELIST_REMOVE::request& req, wallet_public::COMMAND_ASSETS_WHITELIST_REMOVE::response& res, epee::json_rpc::error& er, connection_context& cntx);
|
||||||
|
|
||||||
|
|
||||||
bool on_mw_get_wallets(const wallet_public::COMMAND_MW_GET_WALLETS::request& req, wallet_public::COMMAND_MW_GET_WALLETS::response& res, epee::json_rpc::error& er, connection_context& cntx);
|
bool on_mw_get_wallets(const wallet_public::COMMAND_MW_GET_WALLETS::request& req, wallet_public::COMMAND_MW_GET_WALLETS::response& res, epee::json_rpc::error& er, connection_context& cntx);
|
||||||
bool on_mw_select_wallet(const wallet_public::COMMAND_MW_SELECT_WALLET::request& req, wallet_public::COMMAND_MW_SELECT_WALLET::response& res, epee::json_rpc::error& er, connection_context& cntx);
|
bool on_mw_select_wallet(const wallet_public::COMMAND_MW_SELECT_WALLET::request& req, wallet_public::COMMAND_MW_SELECT_WALLET::response& res, epee::json_rpc::error& er, connection_context& cntx);
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue