diff --git a/CHANGELOG.md b/CHANGELOG.md index 0f868b5c..494bf082 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,4 +1,5 @@ # Changelog + All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to @@ -6,44 +7,87 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), ## [Unreleased] +## [1.0.0.1005] - 2022-05-23 + +### Added + +- Added arguments and fields to `Transaction.gql` template file for getting the wallet address. +- Added arguments and fields to `Wallet.gql` template file for getting balances and transactions. +- Added `set_with_transaction_wallet_address` member-function to `TransactionFragmentArguments`. +- Added `set_wallet_balance_filter`, `set_with_wallet_balances`, and `set_with_wallet_transaction` member-functions + to `WalletFragmentArguments`. +- Added getters for balances and transactions to `Wallet` model. + +### Changed + +- Refactored `Balance`, `Player`, `Request`, and `Wallet` models to use pimpl idiom. +- Changed name of member-function `set_asset_id_format` in `TransactionFragmentArguments` + to `set_transaction_asset_id_format`. +- `WalletFragmentArguments` now implements `BalanceFragmentArguments` and `TransactionFragmentArguments`. + +### Fixed + +- Fixed issue with argument interfaces not serializing data from parent argument interfaces. +- Fixed missing equality operator in `ProjectTransactionRequestArguments`. + ## [1.0.0.1004] - 2022-04-25 + ### Changed + - Removed `set_project_uuid` and `set_project_uuid_in` member-functions from `BalanceFilter`. ## [1.0.0.1003] - 2022-04-11 + ### Changed + - `GetWallets` query in project schema no longer implements `PaginationArguments`. ### Fixed + - Fixed typo for `result` in `GetWallets.gql` template file for project schema. ## [1.0.0.1002] - 2022-03-01 + ### Changed + - Updated path to template generation command in root CMakeLists file. - Updated regular expression used by `TemplateLoader` to match a wider range of characters leading to the "schemas" folder. ### Fixed + - Fixed package installation procedure in root CMakeLists file. ## [1.0.0.1001] - 2021-11-09 + ### Added + - Added [Enjin Bridge mutations](https://docs.enjin.io/enjin-api/sending-and-receiving-requests/enjin-bridge) for project and player schemas. - Added `get_asset` member-function to `Request`. - Added `set_asset_id_format` method to `TransactionFragmentArguments`. ### Changed + - The asset for transactions is now included in returned `Request` models when using `set_with_asset_data()` in requests which inherit `TransactionFragmentArguments`. ## [1.0.0.1000] - 2021-09-27 + ### Added + - Initial alpha release. -[Unreleased]: https://github.com/enjin/enjin-cpp-sdk/compare/1.0.0.1004...HEAD +[Unreleased]: https://github.com/enjin/enjin-cpp-sdk/compare/1.0.0.1005...HEAD + +[1.0.0.1005]: https://github.com/enjin/enjin-cpp-sdk/compare/1.0.0.1004...1.0.0.1005 + [1.0.0.1004]: https://github.com/enjin/enjin-cpp-sdk/compare/1.0.0.1003...1.0.0.1004 + [1.0.0.1003]: https://github.com/enjin/enjin-cpp-sdk/compare/1.0.0.1002...1.0.0.1003 + [1.0.0.1002]: https://github.com/enjin/enjin-cpp-sdk/compare/1.0.0.1001...1.0.0.1002 + [1.0.0.1001]: https://github.com/enjin/enjin-cpp-sdk/compare/1.0.0.1000...1.0.0.1001 + [1.0.0.1000]: https://github.com/enjin/enjin-cpp-sdk/releases/tag/1.0.0.1000 \ No newline at end of file diff --git a/CMakeLists.txt b/CMakeLists.txt index 7d6c0377..e7b20f0d 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -7,7 +7,7 @@ include(GenerateExportHeader) ### Define project and set properties project(enjinsdk LANGUAGES CXX - VERSION 1.0.0.1004) + VERSION 1.0.0.1005) set(CMAKE_CXX_STANDARD 17) set(CMAKE_CXX_STANDARD_REQUIRED True) diff --git a/DOXYFILE b/DOXYFILE index 7b5b47b2..e5d8e8cb 100644 --- a/DOXYFILE +++ b/DOXYFILE @@ -5,7 +5,7 @@ #--------------------------------------------------------------------------- DOXYFILE_ENCODING = UTF-8 PROJECT_NAME = "Enjin C++ SDK" -PROJECT_NUMBER = 1.0.0.1004 +PROJECT_NUMBER = 1.0.0.1005 PROJECT_BRIEF = "A C++ SDK for creating games using the Enjin blockchain platform." PROJECT_LOGO = doxygenIcon.png OUTPUT_DIRECTORY = diff --git a/README.md b/README.md index 4e485919..7da4ee3c 100644 --- a/README.md +++ b/README.md @@ -19,6 +19,8 @@ Sign up to Enjin Cloud: [Kovan (Testnet)](https://kovan.cloud.enjin.io/), * [Compatibility](#compatibility) * [Installation](#installation) + * [Conan](#conan) + * [Manual](#manual) * [Tests](#tests) * [Quick Start](#quick-start) * [Contributing](#contributing) @@ -37,6 +39,13 @@ combinations tested are as follows: ## Installation +### Conan + +Recipes for this SDK are available on [Conan Center](https://conan.io/center/enjincppsdk) for installation and package +management. + +### Manual + The SDK may be built as a static or shared (dynamic) library. Use the `ENJINSDK_BUILD_SHARED` CMake argument to build as a shared library and set it to "on" (off by default). @@ -50,7 +59,7 @@ The following libraries are used by the SDK for some of its functionality and mu * [RapidJSON (1.1.0+)](https://github.com/Tencent/rapidjson) for processing JSON * [spdlog (1.8.0+)](https://github.com/gabime/spdlog) for the logger class * (optional) [cpp-httplib (0.8.5+)](https://github.com/yhirose/cpp-httplib) for a default HTTP client implementation - * [openssl (1.1.1)](https://github.com/openssl/openssl) for HTTPS support + * [openssl (1.1.1)](https://github.com/openssl/openssl) for HTTPS support * (optional) [IXWebSocket (11.0.4+)](https://github.com/machinezone/IXWebSocket) for a default websocket client implementation @@ -84,8 +93,9 @@ to your target. ### Tests -For running unit tests [Git (1.6.5+)](https://git-scm.com/) is required to run CMake's `ExternalProject_Add()` function -to acquire [Googletest (1.10.0+)](https://github.com/google/googletest) to be used as the testing framework. +For running unit tests in **manual** installations, [Git (1.6.5+)](https://git-scm.com/) is required to run +CMake's `ExternalProject_Add()` function to acquire [Googletest (1.10.0+)](https://github.com/google/googletest) for the +testing framework. To have the test executable built, set the CMake argument `ENJINSDK_BUILD_TESTS` to `ON` and leave the `BUILD_TESTING` option from CTest enabled. diff --git a/include/enjinsdk/internal/TransactionFragmentArgumentsImpl.hpp b/include/enjinsdk/internal/TransactionFragmentArgumentsImpl.hpp index 8ca5e552..90447abf 100644 --- a/include/enjinsdk/internal/TransactionFragmentArgumentsImpl.hpp +++ b/include/enjinsdk/internal/TransactionFragmentArgumentsImpl.hpp @@ -35,7 +35,7 @@ class ENJINSDK_EXPORT TransactionFragmentArgumentsImpl : public serialization::I /// \brief Sets the value for the associated field to the passed value. /// \param asset_id_format The ID format. - void set_asset_id_format(models::AssetIdFormat asset_id_format); + void set_transaction_asset_id_format(models::AssetIdFormat asset_id_format); /// \brief Sets the value for the associated field to true. void set_with_blockchain_data(); @@ -73,12 +73,15 @@ class ENJINSDK_EXPORT TransactionFragmentArgumentsImpl : public serialization::I /// \brief Sets the value for the associated field to true. void set_with_transaction_project_uuid(); + /// \brief Sets the value for the associated field to true. + void set_with_transaction_wallet_address(); + bool operator==(const TransactionFragmentArgumentsImpl& rhs) const; bool operator!=(const TransactionFragmentArgumentsImpl& rhs) const; private: - std::optional asset_id_format; + std::optional transaction_asset_id_format; std::optional with_blockchain_data; std::optional with_meta; std::optional with_encoded_data; @@ -91,6 +94,7 @@ class ENJINSDK_EXPORT TransactionFragmentArgumentsImpl : public serialization::I std::optional with_receipt_logs; std::optional with_log_event; std::optional with_transaction_project_uuid; + std::optional with_transaction_wallet_address; }; } diff --git a/include/enjinsdk/internal/WalletFragmentArgumentsImpl.hpp b/include/enjinsdk/internal/WalletFragmentArgumentsImpl.hpp index 7e8f26fb..dca08dbe 100644 --- a/include/enjinsdk/internal/WalletFragmentArgumentsImpl.hpp +++ b/include/enjinsdk/internal/WalletFragmentArgumentsImpl.hpp @@ -18,13 +18,18 @@ #include "enjinsdk_export.h" #include "enjinsdk/internal/AssetFragmentArgumentsImpl.hpp" +#include "enjinsdk/internal/BalanceFragmentArgumentsImpl.hpp" +#include "enjinsdk/internal/TransactionFragmentArgumentsImpl.hpp" +#include "enjinsdk/models/BalanceFilter.hpp" #include #include namespace enjin::sdk::shared { /// \brief Internal implementation class for storing values of a GraphQL Wallet fragment. -class ENJINSDK_EXPORT WalletFragmentArgumentsImpl : public AssetFragmentArgumentsImpl { +class ENJINSDK_EXPORT WalletFragmentArgumentsImpl : public AssetFragmentArgumentsImpl, + public BalanceFragmentArgumentsImpl, + public TransactionFragmentArgumentsImpl { public: /// \brief Default constructor. WalletFragmentArgumentsImpl() = default; @@ -33,15 +38,28 @@ class ENJINSDK_EXPORT WalletFragmentArgumentsImpl : public AssetFragmentArgument [[nodiscard]] std::string serialize() const override; + /// \brief Sets the value for the associated field to the passed value. + /// \param filter The filter. + void set_wallet_balance_filter(models::BalanceFilter filter); + /// \brief Sets the value for the associated field to true. void set_with_assets_created(); + /// \brief Sets the value for the associated field to true. + void set_with_wallet_balances(); + + /// \brief Sets the value for the associated field to true. + void set_with_wallet_transactions(); + bool operator==(const WalletFragmentArgumentsImpl& rhs) const; bool operator!=(const WalletFragmentArgumentsImpl& rhs) const; private: + std::optional wallet_balance_filter; std::optional with_assets_created; + std::optional with_wallet_balances; + std::optional with_wallet_transactions; }; } diff --git a/include/enjinsdk/models/Balance.hpp b/include/enjinsdk/models/Balance.hpp index ffa03c42..ec68548b 100644 --- a/include/enjinsdk/models/Balance.hpp +++ b/include/enjinsdk/models/Balance.hpp @@ -20,18 +20,30 @@ #include "enjinsdk/IDeserializable.hpp" #include "enjinsdk/models/Project.hpp" #include "enjinsdk/models/Wallet.hpp" +#include #include #include namespace enjin::sdk::models { +class Wallet; + /// \brief Models a asset balance. class ENJINSDK_EXPORT Balance : public serialization::IDeserializable { public: - /// \brief Default constructor. - Balance() = default; + /// \brief Constructs an instance of this class. + Balance(); + + /// \brief Constructs an instance as a copy of another. + /// \param other The other instance. + Balance(const Balance& other); + + /// \brief Constructs an instance via move. + /// \param other The other instance being moved. + Balance(Balance&& other) noexcept; - ~Balance() override = default; + /// \brief Deconstructs this instance. + ~Balance() override; void deserialize(const std::string& json) override; @@ -59,18 +71,12 @@ class ENJINSDK_EXPORT Balance : public serialization::IDeserializable { bool operator!=(const Balance& rhs) const; + Balance& operator=(const Balance& rhs); + private: - std::optional id; - std::optional index; - std::optional value; - std::optional project; - std::optional wallet; - - constexpr static char ID_KEY[] = "id"; - constexpr static char INDEX_KEY[] = "index"; - constexpr static char VALUE_KEY[] = "value"; - constexpr static char PROJECT_KEY[] = "project"; - constexpr static char WALLET_KEY[] = "wallet"; + class Impl; + + std::unique_ptr impl; }; } diff --git a/include/enjinsdk/models/Player.hpp b/include/enjinsdk/models/Player.hpp index e803ce5a..324132a1 100644 --- a/include/enjinsdk/models/Player.hpp +++ b/include/enjinsdk/models/Player.hpp @@ -20,6 +20,7 @@ #include "enjinsdk/IDeserializable.hpp" #include "enjinsdk/models/LinkingInfo.hpp" #include "enjinsdk/models/Wallet.hpp" +#include #include #include @@ -28,10 +29,19 @@ namespace enjin::sdk::models { /// \brief Models a player on the platform. class ENJINSDK_EXPORT Player : public serialization::IDeserializable { public: - /// \brief Default constructor. - Player() = default; + /// \brief Constructs an instance of this class. + Player(); - ~Player() override = default; + /// \brief Constructs an instance as a copy of another. + /// \param other The other instance. + Player(const Player& other); + + /// \brief Constructs an instance via move. + /// \param other The other instance being moved. + Player(Player&& other) noexcept; + + /// \brief Deconstructs this instance. + ~Player() override; void deserialize(const std::string& json) override; @@ -61,18 +71,12 @@ class ENJINSDK_EXPORT Player : public serialization::IDeserializable { bool operator!=(const Player& rhs) const; + Player& operator=(const Player& rhs); + private: - std::optional id; - std::optional linking_info; - std::optional wallet; - std::optional created_at; - std::optional updated_at; - - constexpr static char ID_KEY[] = "id"; - constexpr static char LINKING_INFO_KEY[] = "linkingInfo"; - constexpr static char WALLET_KEY[] = "wallet"; - constexpr static char CREATED_AT_KEY[] = "createdAt"; - constexpr static char UPDATED_AT_KEY[] = "updatedAt"; + class Impl; + + std::unique_ptr impl; }; } diff --git a/include/enjinsdk/models/Request.hpp b/include/enjinsdk/models/Request.hpp index aa469475..63fe935c 100644 --- a/include/enjinsdk/models/Request.hpp +++ b/include/enjinsdk/models/Request.hpp @@ -23,18 +23,31 @@ #include "enjinsdk/models/Project.hpp" #include "enjinsdk/models/RequestState.hpp" #include "enjinsdk/models/RequestType.hpp" +#include "enjinsdk/models/Wallet.hpp" +#include #include #include namespace enjin::sdk::models { +class Wallet; + /// \brief Models a request on the platform. class ENJINSDK_EXPORT Request : public serialization::IDeserializable { public: - /// \brief Default constructor. - Request() = default; + /// \brief Constructs an instance of this class. + Request(); + + /// \brief Constructs an instance as a copy of another. + /// \param other The other instance. + Request(const Request& other); + + /// \brief Constructs an instance via move. + /// \param other The other instance being moved. + Request(Request&& other) noexcept; - ~Request() override = default; + /// \brief Deconstructs this instance. + ~Request() override; void deserialize(const std::string& json) override; @@ -90,6 +103,10 @@ class ENJINSDK_EXPORT Request : public serialization::IDeserializable { /// \return The asset. [[nodiscard]] const std::optional& get_asset() const; + /// Returns the wallet for this request. + /// \return The wallet. + [[nodiscard]] const std::optional& get_wallet() const; + /// \brief Returns the datetime when this request was created. /// \return The datetime. /// \remarks The datetime is formatted using the ISO 8601 date format. @@ -104,38 +121,12 @@ class ENJINSDK_EXPORT Request : public serialization::IDeserializable { bool operator!=(const Request& rhs) const; + Request& operator=(const Request& rhs); + private: - std::optional id; - std::optional transaction_id; - std::optional title; - std::optional contract; - std::optional type; - std::optional value; - std::optional retry_state; - std::optional state; - std::optional accepted; - std::optional project_wallet; - std::optional blockchain_data; - std::optional project; - std::optional asset; - std::optional created_at; - std::optional updated_at; - - constexpr static char ID_KEY[] = "id"; - constexpr static char TRANSACTION_ID_KEY[] = "transactionId"; - constexpr static char TITLE_KEY[] = "title"; - constexpr static char CONTRACT_KEY[] = "contract"; - constexpr static char TYPE_KEY[] = "type"; - constexpr static char VALUE_KEY[] = "value"; - constexpr static char RETRY_STATE_KEY[] = "retryState"; - constexpr static char STATE_KEY[] = "state"; - constexpr static char ACCEPTED_KEY[] = "accepted"; - constexpr static char PROJECT_WALLET_KEY[] = "projectWallet"; - constexpr static char BLOCKCHAIN_DATA_KEY[] = "blockchainData"; - constexpr static char PROJECT_KEY[] = "project"; - constexpr static char ASSET_KEY[] = "asset"; - constexpr static char CREATED_AT_KEY[] = "createdAt"; - constexpr static char UPDATED_AT_KEY[] = "updatedAt"; + class Impl; + + std::unique_ptr impl; }; } diff --git a/include/enjinsdk/models/Wallet.hpp b/include/enjinsdk/models/Wallet.hpp index 816bb968..caf00fae 100644 --- a/include/enjinsdk/models/Wallet.hpp +++ b/include/enjinsdk/models/Wallet.hpp @@ -19,19 +19,35 @@ #include "enjinsdk_export.h" #include "enjinsdk/IDeserializable.hpp" #include "enjinsdk/models/Asset.hpp" +#include "enjinsdk/models/Balance.hpp" +#include "enjinsdk/models/Request.hpp" +#include #include #include #include namespace enjin::sdk::models { +class Balance; + +class Request; + /// \brief Models a wallet on the platform. class ENJINSDK_EXPORT Wallet : public serialization::IDeserializable { public: - /// \brief Default constructor. - Wallet() = default; + /// \brief Constructs an instance of this class. + Wallet(); + + /// \brief Constructs an instance as a copy of another. + /// \param other The other instance. + Wallet(const Wallet& other); + + /// \brief Constructs an instance via move. + /// \param other The other instance being moved. + Wallet(Wallet&& other) noexcept; - ~Wallet() override = default; + /// \brief Deconstructs this instance. + ~Wallet() override; void deserialize(const std::string& json) override; @@ -55,22 +71,24 @@ class ENJINSDK_EXPORT Wallet : public serialization::IDeserializable { /// \return The assets. [[nodiscard]] const std::optional>& get_assets_created() const; + /// \brief Returns the balances of this wallet. + /// \return The balances. + [[nodiscard]] const std::optional>& get_balances() const; + + /// \brief Returns the transactions this wallet has signed. + /// \return The transactions. + [[nodiscard]] const std::optional>& get_transactions() const; + bool operator==(const Wallet& rhs) const; bool operator!=(const Wallet& rhs) const; + Wallet& operator=(const Wallet& rhs); + private: - std::optional eth_address; - std::optional enj_allowance; - std::optional enj_balance; - std::optional eth_balance; - std::optional> assets_created; - - constexpr static char ETH_ADDRESS_KEY[] = "ethAddress"; - constexpr static char ENJ_ALLOWANCE_KEY[] = "enjAllowance"; - constexpr static char ENJ_BALANCE_KEY[] = "enjBalance"; - constexpr static char ETH_BALANCE_KEY[] = "ethBalance"; - constexpr static char ASSETS_CREATED_KEY[] = "assetsCreated"; + class Impl; + + std::unique_ptr impl; }; } diff --git a/include/enjinsdk/player/AdvancedSendAsset.hpp b/include/enjinsdk/player/AdvancedSendAsset.hpp index f4d03c03..49bae6e8 100644 --- a/include/enjinsdk/player/AdvancedSendAsset.hpp +++ b/include/enjinsdk/player/AdvancedSendAsset.hpp @@ -61,7 +61,7 @@ class ENJINSDK_EXPORT AdvancedSendAsset : public graphql::AbstractGraphqlRequest namespace enjin::sdk::shared { template ENJINSDK_EXPORT player::AdvancedSendAsset& -TransactionFragmentArguments::set_asset_id_format(models::AssetIdFormat asset_id_format); +TransactionFragmentArguments::set_transaction_asset_id_format(models::AssetIdFormat asset_id_format); template ENJINSDK_EXPORT player::AdvancedSendAsset& TransactionFragmentArguments::set_with_blockchain_data(); @@ -99,6 +99,9 @@ TransactionFragmentArguments::set_with_log_event(); template ENJINSDK_EXPORT player::AdvancedSendAsset& TransactionFragmentArguments::set_with_transaction_project_uuid(); +template ENJINSDK_EXPORT player::AdvancedSendAsset& +TransactionFragmentArguments::set_with_transaction_wallet_address(); + } #endif //ENJINCPPSDK_PLAYERADVANCEDSENDASSET_HPP diff --git a/include/enjinsdk/player/ApproveEnj.hpp b/include/enjinsdk/player/ApproveEnj.hpp index 0f7f041f..a1723910 100644 --- a/include/enjinsdk/player/ApproveEnj.hpp +++ b/include/enjinsdk/player/ApproveEnj.hpp @@ -54,7 +54,7 @@ class ENJINSDK_EXPORT ApproveEnj : public graphql::AbstractGraphqlRequest, namespace enjin::sdk::shared { template ENJINSDK_EXPORT player::ApproveEnj& -TransactionFragmentArguments::set_asset_id_format(models::AssetIdFormat asset_id_format); +TransactionFragmentArguments::set_transaction_asset_id_format(models::AssetIdFormat asset_id_format); template ENJINSDK_EXPORT player::ApproveEnj& TransactionFragmentArguments::set_with_blockchain_data(); @@ -92,6 +92,9 @@ TransactionFragmentArguments::set_with_log_event(); template ENJINSDK_EXPORT player::ApproveEnj& TransactionFragmentArguments::set_with_transaction_project_uuid(); +template ENJINSDK_EXPORT player::ApproveEnj& +TransactionFragmentArguments::set_with_transaction_wallet_address(); + } #endif //ENJINCPPSDK_PROJECTAPPROVEENJ_HPP diff --git a/include/enjinsdk/player/ApproveMaxEnj.hpp b/include/enjinsdk/player/ApproveMaxEnj.hpp index 900324eb..a12ab54a 100644 --- a/include/enjinsdk/player/ApproveMaxEnj.hpp +++ b/include/enjinsdk/player/ApproveMaxEnj.hpp @@ -43,7 +43,7 @@ class ENJINSDK_EXPORT ApproveMaxEnj : public graphql::AbstractGraphqlRequest, namespace enjin::sdk::shared { template ENJINSDK_EXPORT player::ApproveMaxEnj& -TransactionFragmentArguments::set_asset_id_format(models::AssetIdFormat asset_id_format); +TransactionFragmentArguments::set_transaction_asset_id_format(models::AssetIdFormat asset_id_format); template ENJINSDK_EXPORT player::ApproveMaxEnj& TransactionFragmentArguments::set_with_blockchain_data(); @@ -81,6 +81,9 @@ TransactionFragmentArguments::set_with_log_event(); template ENJINSDK_EXPORT player::ApproveMaxEnj& TransactionFragmentArguments::set_with_transaction_project_uuid(); +template ENJINSDK_EXPORT player::ApproveMaxEnj& +TransactionFragmentArguments::set_with_transaction_wallet_address(); + } #endif //ENJINCPPSDK_PLAYERAPPROVEMAXENJ_HPP diff --git a/include/enjinsdk/player/BridgeAsset.hpp b/include/enjinsdk/player/BridgeAsset.hpp index 799da755..4f05b700 100644 --- a/include/enjinsdk/player/BridgeAsset.hpp +++ b/include/enjinsdk/player/BridgeAsset.hpp @@ -65,7 +65,7 @@ class ENJINSDK_EXPORT BridgeAsset : public graphql::AbstractGraphqlRequest, namespace enjin::sdk::shared { template ENJINSDK_EXPORT player::BridgeAsset& -TransactionFragmentArguments::set_asset_id_format(models::AssetIdFormat asset_id_format); +TransactionFragmentArguments::set_transaction_asset_id_format(models::AssetIdFormat asset_id_format); template ENJINSDK_EXPORT player::BridgeAsset& TransactionFragmentArguments::set_with_blockchain_data(); @@ -103,6 +103,9 @@ TransactionFragmentArguments::set_with_log_event(); template ENJINSDK_EXPORT player::BridgeAsset& TransactionFragmentArguments::set_with_transaction_project_uuid(); +template ENJINSDK_EXPORT player::BridgeAsset& +TransactionFragmentArguments::set_with_transaction_wallet_address(); + } #endif //ENJINSDK_PLAYERBRIDGEASSET_HPP diff --git a/include/enjinsdk/player/BridgeAssets.hpp b/include/enjinsdk/player/BridgeAssets.hpp index 7d70f566..7bd59168 100644 --- a/include/enjinsdk/player/BridgeAssets.hpp +++ b/include/enjinsdk/player/BridgeAssets.hpp @@ -60,7 +60,7 @@ class ENJINSDK_EXPORT BridgeAssets : public graphql::AbstractGraphqlRequest, namespace enjin::sdk::shared { template ENJINSDK_EXPORT player::BridgeAssets& -TransactionFragmentArguments::set_asset_id_format(models::AssetIdFormat asset_id_format); +TransactionFragmentArguments::set_transaction_asset_id_format(models::AssetIdFormat asset_id_format); template ENJINSDK_EXPORT player::BridgeAssets& TransactionFragmentArguments::set_with_blockchain_data(); @@ -98,6 +98,9 @@ TransactionFragmentArguments::set_with_log_event(); template ENJINSDK_EXPORT player::BridgeAssets& TransactionFragmentArguments::set_with_transaction_project_uuid(); +template ENJINSDK_EXPORT player::BridgeAssets& +TransactionFragmentArguments::set_with_transaction_wallet_address(); + } #endif //ENJINSDK_PLAYERBRIDGEASSETS_HPP diff --git a/include/enjinsdk/player/BridgeClaimAsset.hpp b/include/enjinsdk/player/BridgeClaimAsset.hpp index b4c7b0be..2a505012 100644 --- a/include/enjinsdk/player/BridgeClaimAsset.hpp +++ b/include/enjinsdk/player/BridgeClaimAsset.hpp @@ -53,7 +53,7 @@ class ENJINSDK_EXPORT BridgeClaimAsset : public graphql::AbstractGraphqlRequest, namespace enjin::sdk::shared { template ENJINSDK_EXPORT player::BridgeClaimAsset& -TransactionFragmentArguments::set_asset_id_format(models::AssetIdFormat asset_id_format); +TransactionFragmentArguments::set_transaction_asset_id_format(models::AssetIdFormat asset_id_format); template ENJINSDK_EXPORT player::BridgeClaimAsset& TransactionFragmentArguments::set_with_blockchain_data(); @@ -91,6 +91,9 @@ TransactionFragmentArguments::set_with_log_event(); template ENJINSDK_EXPORT player::BridgeClaimAsset& TransactionFragmentArguments::set_with_transaction_project_uuid(); +template ENJINSDK_EXPORT player::BridgeClaimAsset& +TransactionFragmentArguments::set_with_transaction_wallet_address(); + } #endif //ENJINSDK_PLAYERBRIDGECLAIMASSET_HPP diff --git a/include/enjinsdk/player/GetPlayer.hpp b/include/enjinsdk/player/GetPlayer.hpp index dc225c52..303a606f 100644 --- a/include/enjinsdk/player/GetPlayer.hpp +++ b/include/enjinsdk/player/GetPlayer.hpp @@ -43,30 +43,34 @@ class ENJINSDK_EXPORT GetPlayer : public graphql::AbstractGraphqlRequest, namespace enjin::sdk::shared { +// AssetFragmentArguments functions + template ENJINSDK_EXPORT player::GetPlayer& -AssetFragmentArguments::set_asset_id_format(models::AssetIdFormat asset_id_format); +PlayerFragmentArguments::set_asset_id_format(models::AssetIdFormat asset_id_format); + +template ENJINSDK_EXPORT player::GetPlayer& PlayerFragmentArguments::set_with_state_data(); -template ENJINSDK_EXPORT player::GetPlayer& AssetFragmentArguments::set_with_state_data(); +template ENJINSDK_EXPORT player::GetPlayer& PlayerFragmentArguments::set_with_config_data(); -template ENJINSDK_EXPORT player::GetPlayer& AssetFragmentArguments::set_with_config_data(); +template ENJINSDK_EXPORT player::GetPlayer& PlayerFragmentArguments::set_with_asset_blocks(); -template ENJINSDK_EXPORT player::GetPlayer& AssetFragmentArguments::set_with_asset_blocks(); +template ENJINSDK_EXPORT player::GetPlayer& PlayerFragmentArguments::set_with_creator(); -template ENJINSDK_EXPORT player::GetPlayer& AssetFragmentArguments::set_with_creator(); +template ENJINSDK_EXPORT player::GetPlayer& PlayerFragmentArguments::set_with_melt_details(); -template ENJINSDK_EXPORT player::GetPlayer& AssetFragmentArguments::set_with_melt_details(); +template ENJINSDK_EXPORT player::GetPlayer& PlayerFragmentArguments::set_with_metadata_uri(); -template ENJINSDK_EXPORT player::GetPlayer& AssetFragmentArguments::set_with_metadata_uri(); +template ENJINSDK_EXPORT player::GetPlayer& PlayerFragmentArguments::set_with_supply_details(); -template ENJINSDK_EXPORT player::GetPlayer& AssetFragmentArguments::set_with_supply_details(); +template ENJINSDK_EXPORT player::GetPlayer& PlayerFragmentArguments::set_with_transfer_settings(); -template ENJINSDK_EXPORT player::GetPlayer& AssetFragmentArguments::set_with_transfer_settings(); +template ENJINSDK_EXPORT player::GetPlayer& PlayerFragmentArguments::set_with_asset_variant_mode(); -template ENJINSDK_EXPORT player::GetPlayer& AssetFragmentArguments::set_with_asset_variant_mode(); +template ENJINSDK_EXPORT player::GetPlayer& PlayerFragmentArguments::set_with_asset_variants(); -template ENJINSDK_EXPORT player::GetPlayer& AssetFragmentArguments::set_with_asset_variants(); +template ENJINSDK_EXPORT player::GetPlayer& PlayerFragmentArguments::set_with_variant_metadata(); -template ENJINSDK_EXPORT player::GetPlayer& AssetFragmentArguments::set_with_variant_metadata(); +// PlayerFragmentArguments functions template ENJINSDK_EXPORT player::GetPlayer& PlayerFragmentArguments::set_with_linking_info(); @@ -74,7 +78,49 @@ template ENJINSDK_EXPORT player::GetPlayer& PlayerFragmentArguments::set_with_wallet(); -template ENJINSDK_EXPORT player::GetPlayer& WalletFragmentArguments::set_with_assets_created(); +// TransactionFragmentArguments functions + +template ENJINSDK_EXPORT player::GetPlayer& +PlayerFragmentArguments::set_transaction_asset_id_format(models::AssetIdFormat asset_id_format); + +template ENJINSDK_EXPORT player::GetPlayer& PlayerFragmentArguments::set_with_blockchain_data(); + +template ENJINSDK_EXPORT player::GetPlayer& PlayerFragmentArguments::set_with_meta(); + +template ENJINSDK_EXPORT player::GetPlayer& PlayerFragmentArguments::set_with_encoded_data(); + +template ENJINSDK_EXPORT player::GetPlayer& PlayerFragmentArguments::set_with_asset_data(); + +template ENJINSDK_EXPORT player::GetPlayer& PlayerFragmentArguments::set_with_signed_txs(); + +template ENJINSDK_EXPORT player::GetPlayer& PlayerFragmentArguments::set_with_error(); + +template ENJINSDK_EXPORT player::GetPlayer& PlayerFragmentArguments::set_with_nonce(); + +template ENJINSDK_EXPORT player::GetPlayer& PlayerFragmentArguments::set_with_state(); + +template ENJINSDK_EXPORT player::GetPlayer& PlayerFragmentArguments::set_with_receipt(); + +template ENJINSDK_EXPORT player::GetPlayer& PlayerFragmentArguments::set_with_receipt_logs(); + +template ENJINSDK_EXPORT player::GetPlayer& PlayerFragmentArguments::set_with_log_event(); + +template ENJINSDK_EXPORT player::GetPlayer& +PlayerFragmentArguments::set_with_transaction_project_uuid(); + +template ENJINSDK_EXPORT player::GetPlayer& +PlayerFragmentArguments::set_with_transaction_wallet_address(); + +// WalletFragmentArguments functions + +template ENJINSDK_EXPORT player::GetPlayer& +PlayerFragmentArguments::set_wallet_balance_filter(models::BalanceFilter filter); + +template ENJINSDK_EXPORT player::GetPlayer& PlayerFragmentArguments::set_with_assets_created(); + +template ENJINSDK_EXPORT player::GetPlayer& PlayerFragmentArguments::set_with_wallet_balances(); + +template ENJINSDK_EXPORT player::GetPlayer& PlayerFragmentArguments::set_with_wallet_transactions(); } diff --git a/include/enjinsdk/player/GetWallet.hpp b/include/enjinsdk/player/GetWallet.hpp index a45c43d3..b9cf1cda 100644 --- a/include/enjinsdk/player/GetWallet.hpp +++ b/include/enjinsdk/player/GetWallet.hpp @@ -43,33 +43,77 @@ class ENJINSDK_EXPORT GetWallet : public graphql::AbstractGraphqlRequest, namespace enjin::sdk::shared { +// AssetFragmentArguments functions + +template ENJINSDK_EXPORT player::GetWallet& +WalletFragmentArguments::set_asset_id_format(models::AssetIdFormat asset_id_format); + +template ENJINSDK_EXPORT player::GetWallet& WalletFragmentArguments::set_with_state_data(); + +template ENJINSDK_EXPORT player::GetWallet& WalletFragmentArguments::set_with_config_data(); + +template ENJINSDK_EXPORT player::GetWallet& WalletFragmentArguments::set_with_asset_blocks(); + +template ENJINSDK_EXPORT player::GetWallet& WalletFragmentArguments::set_with_creator(); + +template ENJINSDK_EXPORT player::GetWallet& WalletFragmentArguments::set_with_melt_details(); + +template ENJINSDK_EXPORT player::GetWallet& WalletFragmentArguments::set_with_metadata_uri(); + +template ENJINSDK_EXPORT player::GetWallet& WalletFragmentArguments::set_with_supply_details(); + +template ENJINSDK_EXPORT player::GetWallet& WalletFragmentArguments::set_with_transfer_settings(); + +template ENJINSDK_EXPORT player::GetWallet& WalletFragmentArguments::set_with_asset_variant_mode(); + +template ENJINSDK_EXPORT player::GetWallet& WalletFragmentArguments::set_with_asset_variants(); + +template ENJINSDK_EXPORT player::GetWallet& WalletFragmentArguments::set_with_variant_metadata(); + +// TransactionFragmentArguments functions + template ENJINSDK_EXPORT player::GetWallet& -AssetFragmentArguments::set_asset_id_format(models::AssetIdFormat asset_id_format); +WalletFragmentArguments::set_transaction_asset_id_format(models::AssetIdFormat asset_id_format); + +template ENJINSDK_EXPORT player::GetWallet& WalletFragmentArguments::set_with_blockchain_data(); + +template ENJINSDK_EXPORT player::GetWallet& WalletFragmentArguments::set_with_meta(); + +template ENJINSDK_EXPORT player::GetWallet& WalletFragmentArguments::set_with_encoded_data(); -template ENJINSDK_EXPORT player::GetWallet& AssetFragmentArguments::set_with_state_data(); +template ENJINSDK_EXPORT player::GetWallet& WalletFragmentArguments::set_with_asset_data(); -template ENJINSDK_EXPORT player::GetWallet& AssetFragmentArguments::set_with_config_data(); +template ENJINSDK_EXPORT player::GetWallet& WalletFragmentArguments::set_with_signed_txs(); -template ENJINSDK_EXPORT player::GetWallet& AssetFragmentArguments::set_with_asset_blocks(); +template ENJINSDK_EXPORT player::GetWallet& WalletFragmentArguments::set_with_error(); -template ENJINSDK_EXPORT player::GetWallet& AssetFragmentArguments::set_with_creator(); +template ENJINSDK_EXPORT player::GetWallet& WalletFragmentArguments::set_with_nonce(); -template ENJINSDK_EXPORT player::GetWallet& AssetFragmentArguments::set_with_melt_details(); +template ENJINSDK_EXPORT player::GetWallet& WalletFragmentArguments::set_with_state(); -template ENJINSDK_EXPORT player::GetWallet& AssetFragmentArguments::set_with_metadata_uri(); +template ENJINSDK_EXPORT player::GetWallet& WalletFragmentArguments::set_with_receipt(); -template ENJINSDK_EXPORT player::GetWallet& AssetFragmentArguments::set_with_supply_details(); +template ENJINSDK_EXPORT player::GetWallet& WalletFragmentArguments::set_with_receipt_logs(); -template ENJINSDK_EXPORT player::GetWallet& AssetFragmentArguments::set_with_transfer_settings(); +template ENJINSDK_EXPORT player::GetWallet& WalletFragmentArguments::set_with_log_event(); -template ENJINSDK_EXPORT player::GetWallet& AssetFragmentArguments::set_with_asset_variant_mode(); +template ENJINSDK_EXPORT player::GetWallet& +WalletFragmentArguments::set_with_transaction_project_uuid(); + +template ENJINSDK_EXPORT player::GetWallet& +WalletFragmentArguments::set_with_transaction_wallet_address(); -template ENJINSDK_EXPORT player::GetWallet& AssetFragmentArguments::set_with_asset_variants(); +// WalletFragmentArguments functions -template ENJINSDK_EXPORT player::GetWallet& AssetFragmentArguments::set_with_variant_metadata(); +template ENJINSDK_EXPORT player::GetWallet& +WalletFragmentArguments::set_wallet_balance_filter(models::BalanceFilter filter); template ENJINSDK_EXPORT player::GetWallet& WalletFragmentArguments::set_with_assets_created(); +template ENJINSDK_EXPORT player::GetWallet& WalletFragmentArguments::set_with_wallet_balances(); + +template ENJINSDK_EXPORT player::GetWallet& WalletFragmentArguments::set_with_wallet_transactions(); + } #endif //ENJINCPPSDK_PLAYERGETWALLET_HPP diff --git a/include/enjinsdk/player/MeltAsset.hpp b/include/enjinsdk/player/MeltAsset.hpp index 878cd7c1..496d561c 100644 --- a/include/enjinsdk/player/MeltAsset.hpp +++ b/include/enjinsdk/player/MeltAsset.hpp @@ -54,7 +54,7 @@ class ENJINSDK_EXPORT MeltAsset : public graphql::AbstractGraphqlRequest, namespace enjin::sdk::shared { template ENJINSDK_EXPORT player::MeltAsset& -TransactionFragmentArguments::set_asset_id_format(models::AssetIdFormat asset_id_format); +TransactionFragmentArguments::set_transaction_asset_id_format(models::AssetIdFormat asset_id_format); template ENJINSDK_EXPORT player::MeltAsset& TransactionFragmentArguments::set_with_blockchain_data(); @@ -92,6 +92,9 @@ TransactionFragmentArguments::set_with_log_event(); template ENJINSDK_EXPORT player::MeltAsset& TransactionFragmentArguments::set_with_transaction_project_uuid(); +template ENJINSDK_EXPORT player::MeltAsset& +TransactionFragmentArguments::set_with_transaction_wallet_address(); + } #endif //ENJINCPPSDK_PLAYERMELTASSET_HPP diff --git a/include/enjinsdk/player/Message.hpp b/include/enjinsdk/player/Message.hpp index b61175f6..766ccb5e 100644 --- a/include/enjinsdk/player/Message.hpp +++ b/include/enjinsdk/player/Message.hpp @@ -53,7 +53,7 @@ class ENJINSDK_EXPORT Message : public graphql::AbstractGraphqlRequest, namespace enjin::sdk::shared { template ENJINSDK_EXPORT player::Message& -TransactionFragmentArguments::set_asset_id_format(models::AssetIdFormat asset_id_format); +TransactionFragmentArguments::set_transaction_asset_id_format(models::AssetIdFormat asset_id_format); template ENJINSDK_EXPORT player::Message& TransactionFragmentArguments::set_with_blockchain_data(); @@ -91,6 +91,9 @@ TransactionFragmentArguments::set_with_log_event(); template ENJINSDK_EXPORT player::Message& TransactionFragmentArguments::set_with_transaction_project_uuid(); +template ENJINSDK_EXPORT player::Message& +TransactionFragmentArguments::set_with_transaction_wallet_address(); + } #endif //ENJINCPPSDK_PLAYERMESSAGE_HPP diff --git a/include/enjinsdk/player/ResetEnjApproval.hpp b/include/enjinsdk/player/ResetEnjApproval.hpp index 058352d0..1fa9f8b7 100644 --- a/include/enjinsdk/player/ResetEnjApproval.hpp +++ b/include/enjinsdk/player/ResetEnjApproval.hpp @@ -44,7 +44,7 @@ class ENJINSDK_EXPORT ResetEnjApproval : public graphql::AbstractGraphqlRequest, namespace enjin::sdk::shared { template ENJINSDK_EXPORT player::ResetEnjApproval& -TransactionFragmentArguments::set_asset_id_format(models::AssetIdFormat asset_id_format); +TransactionFragmentArguments::set_transaction_asset_id_format(models::AssetIdFormat asset_id_format); template ENJINSDK_EXPORT player::ResetEnjApproval& TransactionFragmentArguments::set_with_blockchain_data(); @@ -82,6 +82,9 @@ TransactionFragmentArguments::set_with_log_event(); template ENJINSDK_EXPORT player::ResetEnjApproval& TransactionFragmentArguments::set_with_transaction_project_uuid(); +template ENJINSDK_EXPORT player::ResetEnjApproval& +TransactionFragmentArguments::set_with_transaction_wallet_address(); + } #endif //ENJINCPPSDK_PLAYERRESETENJAPPROVAL_HPP diff --git a/include/enjinsdk/player/SendAsset.hpp b/include/enjinsdk/player/SendAsset.hpp index aecd50bb..b52ffd9d 100644 --- a/include/enjinsdk/player/SendAsset.hpp +++ b/include/enjinsdk/player/SendAsset.hpp @@ -77,7 +77,7 @@ class ENJINSDK_EXPORT SendAsset : public graphql::AbstractGraphqlRequest, namespace enjin::sdk::shared { template ENJINSDK_EXPORT player::SendAsset& -TransactionFragmentArguments::set_asset_id_format(models::AssetIdFormat asset_id_format); +TransactionFragmentArguments::set_transaction_asset_id_format(models::AssetIdFormat asset_id_format); template ENJINSDK_EXPORT player::SendAsset& TransactionFragmentArguments::set_with_blockchain_data(); @@ -115,6 +115,9 @@ TransactionFragmentArguments::set_with_log_event(); template ENJINSDK_EXPORT player::SendAsset& TransactionFragmentArguments::set_with_transaction_project_uuid(); +template ENJINSDK_EXPORT player::SendAsset& +TransactionFragmentArguments::set_with_transaction_wallet_address(); + } #endif //ENJINCPPSDK_PLAYERSENDASSET_HPP diff --git a/include/enjinsdk/player/SendEnj.hpp b/include/enjinsdk/player/SendEnj.hpp index dd4e9f02..b2e3bbd4 100644 --- a/include/enjinsdk/player/SendEnj.hpp +++ b/include/enjinsdk/player/SendEnj.hpp @@ -60,7 +60,7 @@ class ENJINSDK_EXPORT SendEnj : public graphql::AbstractGraphqlRequest, namespace enjin::sdk::shared { template ENJINSDK_EXPORT player::SendEnj& -TransactionFragmentArguments::set_asset_id_format(models::AssetIdFormat asset_id_format); +TransactionFragmentArguments::set_transaction_asset_id_format(models::AssetIdFormat asset_id_format); template ENJINSDK_EXPORT player::SendEnj& TransactionFragmentArguments::set_with_blockchain_data(); @@ -98,6 +98,9 @@ TransactionFragmentArguments::set_with_log_event(); template ENJINSDK_EXPORT player::SendEnj& TransactionFragmentArguments::set_with_transaction_project_uuid(); +template ENJINSDK_EXPORT player::SendEnj& +TransactionFragmentArguments::set_with_transaction_wallet_address(); + } #endif //ENJINCPPSDK_PLAYERSENDENJ_HPP diff --git a/include/enjinsdk/player/SetApprovalForAll.hpp b/include/enjinsdk/player/SetApprovalForAll.hpp index e0691d06..d91f2f62 100644 --- a/include/enjinsdk/player/SetApprovalForAll.hpp +++ b/include/enjinsdk/player/SetApprovalForAll.hpp @@ -59,7 +59,7 @@ class ENJINSDK_EXPORT SetApprovalForAll : public graphql::AbstractGraphqlRequest namespace enjin::sdk::shared { template ENJINSDK_EXPORT player::SetApprovalForAll& -TransactionFragmentArguments::set_asset_id_format(models::AssetIdFormat asset_id_format); +TransactionFragmentArguments::set_transaction_asset_id_format(models::AssetIdFormat asset_id_format); template ENJINSDK_EXPORT player::SetApprovalForAll& TransactionFragmentArguments::set_with_blockchain_data(); @@ -97,6 +97,9 @@ TransactionFragmentArguments::set_with_log_event(); template ENJINSDK_EXPORT player::SetApprovalForAll& TransactionFragmentArguments::set_with_transaction_project_uuid(); +template ENJINSDK_EXPORT player::SetApprovalForAll& +TransactionFragmentArguments::set_with_transaction_wallet_address(); + } #endif //ENJINCPPSDK_PLAYERSETAPPROVALFORALL_HPP diff --git a/include/enjinsdk/project/AdvancedSendAsset.hpp b/include/enjinsdk/project/AdvancedSendAsset.hpp index b0b04ee3..b647aa4f 100644 --- a/include/enjinsdk/project/AdvancedSendAsset.hpp +++ b/include/enjinsdk/project/AdvancedSendAsset.hpp @@ -57,51 +57,50 @@ class ENJINSDK_EXPORT AdvancedSendAsset : public graphql::AbstractGraphqlRequest }; template ENJINSDK_EXPORT AdvancedSendAsset& -ProjectTransactionRequestArguments::set_eth_address(const std::string& address); - -} +ProjectTransactionRequestArguments::set_transaction_asset_id_format( + models::AssetIdFormat asset_id_format); -namespace enjin::sdk::shared { - -template ENJINSDK_EXPORT project::AdvancedSendAsset& -TransactionFragmentArguments::set_asset_id_format(models::AssetIdFormat asset_id_format); +template ENJINSDK_EXPORT AdvancedSendAsset& +ProjectTransactionRequestArguments::set_with_blockchain_data(); -template ENJINSDK_EXPORT project::AdvancedSendAsset& -TransactionFragmentArguments::set_with_blockchain_data(); +template ENJINSDK_EXPORT AdvancedSendAsset& +ProjectTransactionRequestArguments::set_with_meta(); -template ENJINSDK_EXPORT project::AdvancedSendAsset& -TransactionFragmentArguments::set_with_meta(); +template ENJINSDK_EXPORT AdvancedSendAsset& +ProjectTransactionRequestArguments::set_with_encoded_data(); -template ENJINSDK_EXPORT project::AdvancedSendAsset& -TransactionFragmentArguments::set_with_encoded_data(); +template ENJINSDK_EXPORT AdvancedSendAsset& +ProjectTransactionRequestArguments::set_with_asset_data(); -template ENJINSDK_EXPORT project::AdvancedSendAsset& -TransactionFragmentArguments::set_with_asset_data(); +template ENJINSDK_EXPORT AdvancedSendAsset& +ProjectTransactionRequestArguments::set_with_signed_txs(); -template ENJINSDK_EXPORT project::AdvancedSendAsset& -TransactionFragmentArguments::set_with_signed_txs(); +template ENJINSDK_EXPORT AdvancedSendAsset& +ProjectTransactionRequestArguments::set_with_error(); -template ENJINSDK_EXPORT project::AdvancedSendAsset& -TransactionFragmentArguments::set_with_error(); +template ENJINSDK_EXPORT AdvancedSendAsset& +ProjectTransactionRequestArguments::set_with_nonce(); -template ENJINSDK_EXPORT project::AdvancedSendAsset& -TransactionFragmentArguments::set_with_nonce(); +template ENJINSDK_EXPORT AdvancedSendAsset& +ProjectTransactionRequestArguments::set_with_state(); -template ENJINSDK_EXPORT project::AdvancedSendAsset& -TransactionFragmentArguments::set_with_state(); +template ENJINSDK_EXPORT AdvancedSendAsset& +ProjectTransactionRequestArguments::set_with_receipt(); -template ENJINSDK_EXPORT project::AdvancedSendAsset& -TransactionFragmentArguments::set_with_receipt(); +template ENJINSDK_EXPORT AdvancedSendAsset& +ProjectTransactionRequestArguments::set_with_receipt_logs(); -template ENJINSDK_EXPORT project::AdvancedSendAsset& -TransactionFragmentArguments::set_with_receipt_logs(); +template ENJINSDK_EXPORT AdvancedSendAsset& +ProjectTransactionRequestArguments::set_with_log_event(); -template ENJINSDK_EXPORT project::AdvancedSendAsset& -TransactionFragmentArguments::set_with_log_event(); +template ENJINSDK_EXPORT AdvancedSendAsset& +ProjectTransactionRequestArguments::set_with_transaction_project_uuid(); -template ENJINSDK_EXPORT project::AdvancedSendAsset& -TransactionFragmentArguments::set_with_transaction_project_uuid(); +template ENJINSDK_EXPORT AdvancedSendAsset& +ProjectTransactionRequestArguments::set_with_transaction_wallet_address(); +template ENJINSDK_EXPORT AdvancedSendAsset& +ProjectTransactionRequestArguments::set_eth_address(const std::string& address); } diff --git a/include/enjinsdk/project/ApproveEnj.hpp b/include/enjinsdk/project/ApproveEnj.hpp index bbc4a970..c8a73bf9 100644 --- a/include/enjinsdk/project/ApproveEnj.hpp +++ b/include/enjinsdk/project/ApproveEnj.hpp @@ -50,50 +50,49 @@ class ENJINSDK_EXPORT ApproveEnj : public graphql::AbstractGraphqlRequest, }; template ENJINSDK_EXPORT ApproveEnj& -ProjectTransactionRequestArguments::set_eth_address(const std::string& address); - -} +ProjectTransactionRequestArguments::set_transaction_asset_id_format(models::AssetIdFormat asset_id_format); -namespace enjin::sdk::shared { +template ENJINSDK_EXPORT ApproveEnj& +ProjectTransactionRequestArguments::set_with_blockchain_data(); -template ENJINSDK_EXPORT project::ApproveEnj& -TransactionFragmentArguments::set_asset_id_format(models::AssetIdFormat asset_id_format); +template ENJINSDK_EXPORT ApproveEnj& +ProjectTransactionRequestArguments::set_with_meta(); -template ENJINSDK_EXPORT project::ApproveEnj& -TransactionFragmentArguments::set_with_blockchain_data(); +template ENJINSDK_EXPORT ApproveEnj& +ProjectTransactionRequestArguments::set_with_encoded_data(); -template ENJINSDK_EXPORT project::ApproveEnj& -TransactionFragmentArguments::set_with_meta(); +template ENJINSDK_EXPORT ApproveEnj& +ProjectTransactionRequestArguments::set_with_asset_data(); -template ENJINSDK_EXPORT project::ApproveEnj& -TransactionFragmentArguments::set_with_encoded_data(); +template ENJINSDK_EXPORT ApproveEnj& +ProjectTransactionRequestArguments::set_with_signed_txs(); -template ENJINSDK_EXPORT project::ApproveEnj& -TransactionFragmentArguments::set_with_asset_data(); +template ENJINSDK_EXPORT ApproveEnj& +ProjectTransactionRequestArguments::set_with_error(); -template ENJINSDK_EXPORT project::ApproveEnj& -TransactionFragmentArguments::set_with_signed_txs(); +template ENJINSDK_EXPORT ApproveEnj& +ProjectTransactionRequestArguments::set_with_nonce(); -template ENJINSDK_EXPORT project::ApproveEnj& -TransactionFragmentArguments::set_with_error(); +template ENJINSDK_EXPORT ApproveEnj& +ProjectTransactionRequestArguments::set_with_state(); -template ENJINSDK_EXPORT project::ApproveEnj& -TransactionFragmentArguments::set_with_nonce(); +template ENJINSDK_EXPORT ApproveEnj& +ProjectTransactionRequestArguments::set_with_receipt(); -template ENJINSDK_EXPORT project::ApproveEnj& -TransactionFragmentArguments::set_with_state(); +template ENJINSDK_EXPORT ApproveEnj& +ProjectTransactionRequestArguments::set_with_receipt_logs(); -template ENJINSDK_EXPORT project::ApproveEnj& -TransactionFragmentArguments::set_with_receipt(); +template ENJINSDK_EXPORT ApproveEnj& +ProjectTransactionRequestArguments::set_with_log_event(); -template ENJINSDK_EXPORT project::ApproveEnj& -TransactionFragmentArguments::set_with_receipt_logs(); +template ENJINSDK_EXPORT ApproveEnj& +ProjectTransactionRequestArguments::set_with_transaction_project_uuid(); -template ENJINSDK_EXPORT project::ApproveEnj& -TransactionFragmentArguments::set_with_log_event(); +template ENJINSDK_EXPORT ApproveEnj& +ProjectTransactionRequestArguments::set_with_transaction_wallet_address(); -template ENJINSDK_EXPORT project::ApproveEnj& -TransactionFragmentArguments::set_with_transaction_project_uuid(); +template ENJINSDK_EXPORT ApproveEnj& +ProjectTransactionRequestArguments::set_eth_address(const std::string& address); } diff --git a/include/enjinsdk/project/ApproveMaxEnj.hpp b/include/enjinsdk/project/ApproveMaxEnj.hpp index 7e74f720..df856e91 100644 --- a/include/enjinsdk/project/ApproveMaxEnj.hpp +++ b/include/enjinsdk/project/ApproveMaxEnj.hpp @@ -39,50 +39,50 @@ class ENJINSDK_EXPORT ApproveMaxEnj : public graphql::AbstractGraphqlRequest, }; template ENJINSDK_EXPORT ApproveMaxEnj& -ProjectTransactionRequestArguments::set_eth_address(const std::string& address); - -} +ProjectTransactionRequestArguments::set_transaction_asset_id_format( + models::AssetIdFormat asset_id_format); -namespace enjin::sdk::shared { +template ENJINSDK_EXPORT ApproveMaxEnj& +ProjectTransactionRequestArguments::set_with_blockchain_data(); -template ENJINSDK_EXPORT project::ApproveMaxEnj& -TransactionFragmentArguments::set_asset_id_format(models::AssetIdFormat asset_id_format); +template ENJINSDK_EXPORT ApproveMaxEnj& +ProjectTransactionRequestArguments::set_with_meta(); -template ENJINSDK_EXPORT project::ApproveMaxEnj& -TransactionFragmentArguments::set_with_blockchain_data(); +template ENJINSDK_EXPORT ApproveMaxEnj& +ProjectTransactionRequestArguments::set_with_encoded_data(); -template ENJINSDK_EXPORT project::ApproveMaxEnj& -TransactionFragmentArguments::set_with_meta(); +template ENJINSDK_EXPORT ApproveMaxEnj& +ProjectTransactionRequestArguments::set_with_asset_data(); -template ENJINSDK_EXPORT project::ApproveMaxEnj& -TransactionFragmentArguments::set_with_encoded_data(); +template ENJINSDK_EXPORT ApproveMaxEnj& +ProjectTransactionRequestArguments::set_with_signed_txs(); -template ENJINSDK_EXPORT project::ApproveMaxEnj& -TransactionFragmentArguments::set_with_asset_data(); +template ENJINSDK_EXPORT ApproveMaxEnj& +ProjectTransactionRequestArguments::set_with_error(); -template ENJINSDK_EXPORT project::ApproveMaxEnj& -TransactionFragmentArguments::set_with_signed_txs(); +template ENJINSDK_EXPORT ApproveMaxEnj& +ProjectTransactionRequestArguments::set_with_nonce(); -template ENJINSDK_EXPORT project::ApproveMaxEnj& -TransactionFragmentArguments::set_with_error(); +template ENJINSDK_EXPORT ApproveMaxEnj& +ProjectTransactionRequestArguments::set_with_state(); -template ENJINSDK_EXPORT project::ApproveMaxEnj& -TransactionFragmentArguments::set_with_nonce(); +template ENJINSDK_EXPORT ApproveMaxEnj& +ProjectTransactionRequestArguments::set_with_receipt(); -template ENJINSDK_EXPORT project::ApproveMaxEnj& -TransactionFragmentArguments::set_with_state(); +template ENJINSDK_EXPORT ApproveMaxEnj& +ProjectTransactionRequestArguments::set_with_receipt_logs(); -template ENJINSDK_EXPORT project::ApproveMaxEnj& -TransactionFragmentArguments::set_with_receipt(); +template ENJINSDK_EXPORT ApproveMaxEnj& +ProjectTransactionRequestArguments::set_with_log_event(); -template ENJINSDK_EXPORT project::ApproveMaxEnj& -TransactionFragmentArguments::set_with_receipt_logs(); +template ENJINSDK_EXPORT ApproveMaxEnj& +ProjectTransactionRequestArguments::set_with_transaction_project_uuid(); -template ENJINSDK_EXPORT project::ApproveMaxEnj& -TransactionFragmentArguments::set_with_log_event(); +template ENJINSDK_EXPORT ApproveMaxEnj& +ProjectTransactionRequestArguments::set_with_transaction_wallet_address(); -template ENJINSDK_EXPORT project::ApproveMaxEnj& -TransactionFragmentArguments::set_with_transaction_project_uuid(); +template ENJINSDK_EXPORT ApproveMaxEnj& +ProjectTransactionRequestArguments::set_eth_address(const std::string& address); } diff --git a/include/enjinsdk/project/BridgeAsset.hpp b/include/enjinsdk/project/BridgeAsset.hpp index 61b4877c..baded5d7 100644 --- a/include/enjinsdk/project/BridgeAsset.hpp +++ b/include/enjinsdk/project/BridgeAsset.hpp @@ -61,50 +61,49 @@ class ENJINSDK_EXPORT BridgeAsset : public graphql::AbstractGraphqlRequest, }; template ENJINSDK_EXPORT BridgeAsset& -ProjectTransactionRequestArguments::set_eth_address(const std::string& address); - -} +ProjectTransactionRequestArguments::set_transaction_asset_id_format(models::AssetIdFormat asset_id_format); -namespace enjin::sdk::shared { +template ENJINSDK_EXPORT BridgeAsset& +ProjectTransactionRequestArguments::set_with_blockchain_data(); -template ENJINSDK_EXPORT project::BridgeAsset& -TransactionFragmentArguments::set_asset_id_format(models::AssetIdFormat asset_id_format); +template ENJINSDK_EXPORT BridgeAsset& +ProjectTransactionRequestArguments::set_with_meta(); -template ENJINSDK_EXPORT project::BridgeAsset& -TransactionFragmentArguments::set_with_blockchain_data(); +template ENJINSDK_EXPORT BridgeAsset& +ProjectTransactionRequestArguments::set_with_encoded_data(); -template ENJINSDK_EXPORT project::BridgeAsset& -TransactionFragmentArguments::set_with_meta(); +template ENJINSDK_EXPORT BridgeAsset& +ProjectTransactionRequestArguments::set_with_asset_data(); -template ENJINSDK_EXPORT project::BridgeAsset& -TransactionFragmentArguments::set_with_encoded_data(); +template ENJINSDK_EXPORT BridgeAsset& +ProjectTransactionRequestArguments::set_with_signed_txs(); -template ENJINSDK_EXPORT project::BridgeAsset& -TransactionFragmentArguments::set_with_asset_data(); +template ENJINSDK_EXPORT BridgeAsset& +ProjectTransactionRequestArguments::set_with_error(); -template ENJINSDK_EXPORT project::BridgeAsset& -TransactionFragmentArguments::set_with_signed_txs(); +template ENJINSDK_EXPORT BridgeAsset& +ProjectTransactionRequestArguments::set_with_nonce(); -template ENJINSDK_EXPORT project::BridgeAsset& -TransactionFragmentArguments::set_with_error(); +template ENJINSDK_EXPORT BridgeAsset& +ProjectTransactionRequestArguments::set_with_state(); -template ENJINSDK_EXPORT project::BridgeAsset& -TransactionFragmentArguments::set_with_nonce(); +template ENJINSDK_EXPORT BridgeAsset& +ProjectTransactionRequestArguments::set_with_receipt(); -template ENJINSDK_EXPORT project::BridgeAsset& -TransactionFragmentArguments::set_with_state(); +template ENJINSDK_EXPORT BridgeAsset& +ProjectTransactionRequestArguments::set_with_receipt_logs(); -template ENJINSDK_EXPORT project::BridgeAsset& -TransactionFragmentArguments::set_with_receipt(); +template ENJINSDK_EXPORT BridgeAsset& +ProjectTransactionRequestArguments::set_with_log_event(); -template ENJINSDK_EXPORT project::BridgeAsset& -TransactionFragmentArguments::set_with_receipt_logs(); +template ENJINSDK_EXPORT BridgeAsset& +ProjectTransactionRequestArguments::set_with_transaction_project_uuid(); -template ENJINSDK_EXPORT project::BridgeAsset& -TransactionFragmentArguments::set_with_log_event(); +template ENJINSDK_EXPORT BridgeAsset& +ProjectTransactionRequestArguments::set_with_transaction_wallet_address(); -template ENJINSDK_EXPORT project::BridgeAsset& -TransactionFragmentArguments::set_with_transaction_project_uuid(); +template ENJINSDK_EXPORT BridgeAsset& +ProjectTransactionRequestArguments::set_eth_address(const std::string& address); } diff --git a/include/enjinsdk/project/BridgeAssets.hpp b/include/enjinsdk/project/BridgeAssets.hpp index 505985d9..5d89b338 100644 --- a/include/enjinsdk/project/BridgeAssets.hpp +++ b/include/enjinsdk/project/BridgeAssets.hpp @@ -56,50 +56,39 @@ class ENJINSDK_EXPORT BridgeAssets : public graphql::AbstractGraphqlRequest, }; template ENJINSDK_EXPORT BridgeAssets& -ProjectTransactionRequestArguments::set_eth_address(const std::string& address); - -} +ProjectTransactionRequestArguments::set_transaction_asset_id_format( + models::AssetIdFormat asset_id_format); -namespace enjin::sdk::shared { +template ENJINSDK_EXPORT BridgeAssets& ProjectTransactionRequestArguments::set_with_blockchain_data(); -template ENJINSDK_EXPORT project::BridgeAssets& -TransactionFragmentArguments::set_asset_id_format(models::AssetIdFormat asset_id_format); +template ENJINSDK_EXPORT BridgeAssets& ProjectTransactionRequestArguments::set_with_meta(); -template ENJINSDK_EXPORT project::BridgeAssets& -TransactionFragmentArguments::set_with_blockchain_data(); +template ENJINSDK_EXPORT BridgeAssets& ProjectTransactionRequestArguments::set_with_encoded_data(); -template ENJINSDK_EXPORT project::BridgeAssets& -TransactionFragmentArguments::set_with_meta(); +template ENJINSDK_EXPORT BridgeAssets& ProjectTransactionRequestArguments::set_with_asset_data(); -template ENJINSDK_EXPORT project::BridgeAssets& -TransactionFragmentArguments::set_with_encoded_data(); +template ENJINSDK_EXPORT BridgeAssets& ProjectTransactionRequestArguments::set_with_signed_txs(); -template ENJINSDK_EXPORT project::BridgeAssets& -TransactionFragmentArguments::set_with_asset_data(); +template ENJINSDK_EXPORT BridgeAssets& ProjectTransactionRequestArguments::set_with_error(); -template ENJINSDK_EXPORT project::BridgeAssets& -TransactionFragmentArguments::set_with_signed_txs(); +template ENJINSDK_EXPORT BridgeAssets& ProjectTransactionRequestArguments::set_with_nonce(); -template ENJINSDK_EXPORT project::BridgeAssets& -TransactionFragmentArguments::set_with_error(); +template ENJINSDK_EXPORT BridgeAssets& ProjectTransactionRequestArguments::set_with_state(); -template ENJINSDK_EXPORT project::BridgeAssets& -TransactionFragmentArguments::set_with_nonce(); +template ENJINSDK_EXPORT BridgeAssets& ProjectTransactionRequestArguments::set_with_receipt(); -template ENJINSDK_EXPORT project::BridgeAssets& -TransactionFragmentArguments::set_with_state(); +template ENJINSDK_EXPORT BridgeAssets& ProjectTransactionRequestArguments::set_with_receipt_logs(); -template ENJINSDK_EXPORT project::BridgeAssets& -TransactionFragmentArguments::set_with_receipt(); +template ENJINSDK_EXPORT BridgeAssets& ProjectTransactionRequestArguments::set_with_log_event(); -template ENJINSDK_EXPORT project::BridgeAssets& -TransactionFragmentArguments::set_with_receipt_logs(); +template ENJINSDK_EXPORT BridgeAssets& +ProjectTransactionRequestArguments::set_with_transaction_project_uuid(); -template ENJINSDK_EXPORT project::BridgeAssets& -TransactionFragmentArguments::set_with_log_event(); +template ENJINSDK_EXPORT BridgeAssets& +ProjectTransactionRequestArguments::set_with_transaction_wallet_address(); -template ENJINSDK_EXPORT project::BridgeAssets& -TransactionFragmentArguments::set_with_transaction_project_uuid(); +template ENJINSDK_EXPORT BridgeAssets& +ProjectTransactionRequestArguments::set_eth_address(const std::string& address); } diff --git a/include/enjinsdk/project/BridgeClaimAsset.hpp b/include/enjinsdk/project/BridgeClaimAsset.hpp index d9c6f7a4..2ca5a379 100644 --- a/include/enjinsdk/project/BridgeClaimAsset.hpp +++ b/include/enjinsdk/project/BridgeClaimAsset.hpp @@ -49,50 +49,42 @@ class ENJINSDK_EXPORT BridgeClaimAsset : public graphql::AbstractGraphqlRequest, }; template ENJINSDK_EXPORT BridgeClaimAsset& -ProjectTransactionRequestArguments::set_eth_address(const std::string& address); - -} +ProjectTransactionRequestArguments::set_transaction_asset_id_format( + models::AssetIdFormat asset_id_format); -namespace enjin::sdk::shared { +template ENJINSDK_EXPORT BridgeClaimAsset& +ProjectTransactionRequestArguments::set_with_blockchain_data(); -template ENJINSDK_EXPORT project::BridgeClaimAsset& -TransactionFragmentArguments::set_asset_id_format(models::AssetIdFormat asset_id_format); +template ENJINSDK_EXPORT BridgeClaimAsset& ProjectTransactionRequestArguments::set_with_meta(); -template ENJINSDK_EXPORT project::BridgeClaimAsset& -TransactionFragmentArguments::set_with_blockchain_data(); +template ENJINSDK_EXPORT BridgeClaimAsset& +ProjectTransactionRequestArguments::set_with_encoded_data(); -template ENJINSDK_EXPORT project::BridgeClaimAsset& -TransactionFragmentArguments::set_with_meta(); +template ENJINSDK_EXPORT BridgeClaimAsset& ProjectTransactionRequestArguments::set_with_asset_data(); -template ENJINSDK_EXPORT project::BridgeClaimAsset& -TransactionFragmentArguments::set_with_encoded_data(); +template ENJINSDK_EXPORT BridgeClaimAsset& ProjectTransactionRequestArguments::set_with_signed_txs(); -template ENJINSDK_EXPORT project::BridgeClaimAsset& -TransactionFragmentArguments::set_with_asset_data(); +template ENJINSDK_EXPORT BridgeClaimAsset& ProjectTransactionRequestArguments::set_with_error(); -template ENJINSDK_EXPORT project::BridgeClaimAsset& -TransactionFragmentArguments::set_with_signed_txs(); +template ENJINSDK_EXPORT BridgeClaimAsset& ProjectTransactionRequestArguments::set_with_nonce(); -template ENJINSDK_EXPORT project::BridgeClaimAsset& -TransactionFragmentArguments::set_with_error(); +template ENJINSDK_EXPORT BridgeClaimAsset& ProjectTransactionRequestArguments::set_with_state(); -template ENJINSDK_EXPORT project::BridgeClaimAsset& -TransactionFragmentArguments::set_with_nonce(); +template ENJINSDK_EXPORT BridgeClaimAsset& ProjectTransactionRequestArguments::set_with_receipt(); -template ENJINSDK_EXPORT project::BridgeClaimAsset& -TransactionFragmentArguments::set_with_state(); +template ENJINSDK_EXPORT BridgeClaimAsset& +ProjectTransactionRequestArguments::set_with_receipt_logs(); -template ENJINSDK_EXPORT project::BridgeClaimAsset& -TransactionFragmentArguments::set_with_receipt(); +template ENJINSDK_EXPORT BridgeClaimAsset& ProjectTransactionRequestArguments::set_with_log_event(); -template ENJINSDK_EXPORT project::BridgeClaimAsset& -TransactionFragmentArguments::set_with_receipt_logs(); +template ENJINSDK_EXPORT BridgeClaimAsset& +ProjectTransactionRequestArguments::set_with_transaction_project_uuid(); -template ENJINSDK_EXPORT project::BridgeClaimAsset& -TransactionFragmentArguments::set_with_log_event(); +template ENJINSDK_EXPORT BridgeClaimAsset& +ProjectTransactionRequestArguments::set_with_transaction_wallet_address(); -template ENJINSDK_EXPORT project::BridgeClaimAsset& -TransactionFragmentArguments::set_with_transaction_project_uuid(); +template ENJINSDK_EXPORT BridgeClaimAsset& +ProjectTransactionRequestArguments::set_eth_address(const std::string& address); } diff --git a/include/enjinsdk/project/CompleteTrade.hpp b/include/enjinsdk/project/CompleteTrade.hpp index d05f8e7b..7219eee6 100644 --- a/include/enjinsdk/project/CompleteTrade.hpp +++ b/include/enjinsdk/project/CompleteTrade.hpp @@ -49,50 +49,39 @@ class ENJINSDK_EXPORT CompleteTrade : public graphql::AbstractGraphqlRequest, }; template ENJINSDK_EXPORT CompleteTrade& -ProjectTransactionRequestArguments::set_eth_address(const std::string& address); - -} +ProjectTransactionRequestArguments::set_transaction_asset_id_format( + models::AssetIdFormat asset_id_format); -namespace enjin::sdk::shared { +template ENJINSDK_EXPORT CompleteTrade& ProjectTransactionRequestArguments::set_with_blockchain_data(); -template ENJINSDK_EXPORT project::CompleteTrade& -TransactionFragmentArguments::set_asset_id_format(models::AssetIdFormat asset_id_format); +template ENJINSDK_EXPORT CompleteTrade& ProjectTransactionRequestArguments::set_with_meta(); -template ENJINSDK_EXPORT project::CompleteTrade& -TransactionFragmentArguments::set_with_blockchain_data(); +template ENJINSDK_EXPORT CompleteTrade& ProjectTransactionRequestArguments::set_with_encoded_data(); -template ENJINSDK_EXPORT project::CompleteTrade& -TransactionFragmentArguments::set_with_meta(); +template ENJINSDK_EXPORT CompleteTrade& ProjectTransactionRequestArguments::set_with_asset_data(); -template ENJINSDK_EXPORT project::CompleteTrade& -TransactionFragmentArguments::set_with_encoded_data(); +template ENJINSDK_EXPORT CompleteTrade& ProjectTransactionRequestArguments::set_with_signed_txs(); -template ENJINSDK_EXPORT project::CompleteTrade& -TransactionFragmentArguments::set_with_asset_data(); +template ENJINSDK_EXPORT CompleteTrade& ProjectTransactionRequestArguments::set_with_error(); -template ENJINSDK_EXPORT project::CompleteTrade& -TransactionFragmentArguments::set_with_signed_txs(); +template ENJINSDK_EXPORT CompleteTrade& ProjectTransactionRequestArguments::set_with_nonce(); -template ENJINSDK_EXPORT project::CompleteTrade& -TransactionFragmentArguments::set_with_error(); +template ENJINSDK_EXPORT CompleteTrade& ProjectTransactionRequestArguments::set_with_state(); -template ENJINSDK_EXPORT project::CompleteTrade& -TransactionFragmentArguments::set_with_nonce(); +template ENJINSDK_EXPORT CompleteTrade& ProjectTransactionRequestArguments::set_with_receipt(); -template ENJINSDK_EXPORT project::CompleteTrade& -TransactionFragmentArguments::set_with_state(); +template ENJINSDK_EXPORT CompleteTrade& ProjectTransactionRequestArguments::set_with_receipt_logs(); -template ENJINSDK_EXPORT project::CompleteTrade& -TransactionFragmentArguments::set_with_receipt(); +template ENJINSDK_EXPORT CompleteTrade& ProjectTransactionRequestArguments::set_with_log_event(); -template ENJINSDK_EXPORT project::CompleteTrade& -TransactionFragmentArguments::set_with_receipt_logs(); +template ENJINSDK_EXPORT CompleteTrade& +ProjectTransactionRequestArguments::set_with_transaction_project_uuid(); -template ENJINSDK_EXPORT project::CompleteTrade& -TransactionFragmentArguments::set_with_log_event(); +template ENJINSDK_EXPORT CompleteTrade& +ProjectTransactionRequestArguments::set_with_transaction_wallet_address(); -template ENJINSDK_EXPORT project::CompleteTrade& -TransactionFragmentArguments::set_with_transaction_project_uuid(); +template ENJINSDK_EXPORT CompleteTrade& +ProjectTransactionRequestArguments::set_eth_address(const std::string& address); } diff --git a/include/enjinsdk/project/CreateAsset.hpp b/include/enjinsdk/project/CreateAsset.hpp index e1873603..1b828faa 100644 --- a/include/enjinsdk/project/CreateAsset.hpp +++ b/include/enjinsdk/project/CreateAsset.hpp @@ -102,50 +102,38 @@ class ENJINSDK_EXPORT CreateAsset : public graphql::AbstractGraphqlRequest, }; template ENJINSDK_EXPORT CreateAsset& -ProjectTransactionRequestArguments::set_eth_address(const std::string& address); - -} +ProjectTransactionRequestArguments::set_transaction_asset_id_format(models::AssetIdFormat asset_id_format); -namespace enjin::sdk::shared { +template ENJINSDK_EXPORT CreateAsset& ProjectTransactionRequestArguments::set_with_blockchain_data(); -template ENJINSDK_EXPORT project::CreateAsset& -TransactionFragmentArguments::set_asset_id_format(models::AssetIdFormat asset_id_format); +template ENJINSDK_EXPORT CreateAsset& ProjectTransactionRequestArguments::set_with_meta(); -template ENJINSDK_EXPORT project::CreateAsset& -TransactionFragmentArguments::set_with_blockchain_data(); +template ENJINSDK_EXPORT CreateAsset& ProjectTransactionRequestArguments::set_with_encoded_data(); -template ENJINSDK_EXPORT project::CreateAsset& -TransactionFragmentArguments::set_with_meta(); +template ENJINSDK_EXPORT CreateAsset& ProjectTransactionRequestArguments::set_with_asset_data(); -template ENJINSDK_EXPORT project::CreateAsset& -TransactionFragmentArguments::set_with_encoded_data(); +template ENJINSDK_EXPORT CreateAsset& ProjectTransactionRequestArguments::set_with_signed_txs(); -template ENJINSDK_EXPORT project::CreateAsset& -TransactionFragmentArguments::set_with_asset_data(); +template ENJINSDK_EXPORT CreateAsset& ProjectTransactionRequestArguments::set_with_error(); -template ENJINSDK_EXPORT project::CreateAsset& -TransactionFragmentArguments::set_with_signed_txs(); +template ENJINSDK_EXPORT CreateAsset& ProjectTransactionRequestArguments::set_with_nonce(); -template ENJINSDK_EXPORT project::CreateAsset& -TransactionFragmentArguments::set_with_error(); +template ENJINSDK_EXPORT CreateAsset& ProjectTransactionRequestArguments::set_with_state(); -template ENJINSDK_EXPORT project::CreateAsset& -TransactionFragmentArguments::set_with_nonce(); +template ENJINSDK_EXPORT CreateAsset& ProjectTransactionRequestArguments::set_with_receipt(); -template ENJINSDK_EXPORT project::CreateAsset& -TransactionFragmentArguments::set_with_state(); +template ENJINSDK_EXPORT CreateAsset& ProjectTransactionRequestArguments::set_with_receipt_logs(); -template ENJINSDK_EXPORT project::CreateAsset& -TransactionFragmentArguments::set_with_receipt(); +template ENJINSDK_EXPORT CreateAsset& ProjectTransactionRequestArguments::set_with_log_event(); -template ENJINSDK_EXPORT project::CreateAsset& -TransactionFragmentArguments::set_with_receipt_logs(); +template ENJINSDK_EXPORT CreateAsset& +ProjectTransactionRequestArguments::set_with_transaction_project_uuid(); -template ENJINSDK_EXPORT project::CreateAsset& -TransactionFragmentArguments::set_with_log_event(); +template ENJINSDK_EXPORT CreateAsset& +ProjectTransactionRequestArguments::set_with_transaction_wallet_address(); -template ENJINSDK_EXPORT project::CreateAsset& -TransactionFragmentArguments::set_with_transaction_project_uuid(); +template ENJINSDK_EXPORT CreateAsset& +ProjectTransactionRequestArguments::set_eth_address(const std::string& address); } diff --git a/include/enjinsdk/project/CreateTrade.hpp b/include/enjinsdk/project/CreateTrade.hpp index 90fc5bc0..e2f53fe7 100644 --- a/include/enjinsdk/project/CreateTrade.hpp +++ b/include/enjinsdk/project/CreateTrade.hpp @@ -63,50 +63,38 @@ class ENJINSDK_EXPORT CreateTrade : public graphql::AbstractGraphqlRequest, }; template ENJINSDK_EXPORT CreateTrade& -ProjectTransactionRequestArguments::set_eth_address(const std::string& address); - -} +ProjectTransactionRequestArguments::set_transaction_asset_id_format(models::AssetIdFormat asset_id_format); -namespace enjin::sdk::shared { +template ENJINSDK_EXPORT CreateTrade& ProjectTransactionRequestArguments::set_with_blockchain_data(); -template ENJINSDK_EXPORT project::CreateTrade& -TransactionFragmentArguments::set_asset_id_format(models::AssetIdFormat asset_id_format); +template ENJINSDK_EXPORT CreateTrade& ProjectTransactionRequestArguments::set_with_meta(); -template ENJINSDK_EXPORT project::CreateTrade& -TransactionFragmentArguments::set_with_blockchain_data(); +template ENJINSDK_EXPORT CreateTrade& ProjectTransactionRequestArguments::set_with_encoded_data(); -template ENJINSDK_EXPORT project::CreateTrade& -TransactionFragmentArguments::set_with_meta(); +template ENJINSDK_EXPORT CreateTrade& ProjectTransactionRequestArguments::set_with_asset_data(); -template ENJINSDK_EXPORT project::CreateTrade& -TransactionFragmentArguments::set_with_encoded_data(); +template ENJINSDK_EXPORT CreateTrade& ProjectTransactionRequestArguments::set_with_signed_txs(); -template ENJINSDK_EXPORT project::CreateTrade& -TransactionFragmentArguments::set_with_asset_data(); +template ENJINSDK_EXPORT CreateTrade& ProjectTransactionRequestArguments::set_with_error(); -template ENJINSDK_EXPORT project::CreateTrade& -TransactionFragmentArguments::set_with_signed_txs(); +template ENJINSDK_EXPORT CreateTrade& ProjectTransactionRequestArguments::set_with_nonce(); -template ENJINSDK_EXPORT project::CreateTrade& -TransactionFragmentArguments::set_with_error(); +template ENJINSDK_EXPORT CreateTrade& ProjectTransactionRequestArguments::set_with_state(); -template ENJINSDK_EXPORT project::CreateTrade& -TransactionFragmentArguments::set_with_nonce(); +template ENJINSDK_EXPORT CreateTrade& ProjectTransactionRequestArguments::set_with_receipt(); -template ENJINSDK_EXPORT project::CreateTrade& -TransactionFragmentArguments::set_with_state(); +template ENJINSDK_EXPORT CreateTrade& ProjectTransactionRequestArguments::set_with_receipt_logs(); -template ENJINSDK_EXPORT project::CreateTrade& -TransactionFragmentArguments::set_with_receipt(); +template ENJINSDK_EXPORT CreateTrade& ProjectTransactionRequestArguments::set_with_log_event(); -template ENJINSDK_EXPORT project::CreateTrade& -TransactionFragmentArguments::set_with_receipt_logs(); +template ENJINSDK_EXPORT CreateTrade& +ProjectTransactionRequestArguments::set_with_transaction_project_uuid(); -template ENJINSDK_EXPORT project::CreateTrade& -TransactionFragmentArguments::set_with_log_event(); +template ENJINSDK_EXPORT CreateTrade& +ProjectTransactionRequestArguments::set_with_transaction_wallet_address(); -template ENJINSDK_EXPORT project::CreateTrade& -TransactionFragmentArguments::set_with_transaction_project_uuid(); +template ENJINSDK_EXPORT CreateTrade& +ProjectTransactionRequestArguments::set_eth_address(const std::string& address); } diff --git a/include/enjinsdk/project/DecreaseMaxMeltFee.hpp b/include/enjinsdk/project/DecreaseMaxMeltFee.hpp index edc28ae8..8bfdc6d5 100644 --- a/include/enjinsdk/project/DecreaseMaxMeltFee.hpp +++ b/include/enjinsdk/project/DecreaseMaxMeltFee.hpp @@ -56,50 +56,45 @@ class ENJINSDK_EXPORT DecreaseMaxMeltFee : public graphql::AbstractGraphqlReques }; template ENJINSDK_EXPORT DecreaseMaxMeltFee& -ProjectTransactionRequestArguments::set_eth_address(const std::string& address); - -} +ProjectTransactionRequestArguments::set_transaction_asset_id_format( + models::AssetIdFormat asset_id_format); -namespace enjin::sdk::shared { +template ENJINSDK_EXPORT DecreaseMaxMeltFee& +ProjectTransactionRequestArguments::set_with_blockchain_data(); -template ENJINSDK_EXPORT project::DecreaseMaxMeltFee& -TransactionFragmentArguments::set_asset_id_format(models::AssetIdFormat asset_id_format); +template ENJINSDK_EXPORT DecreaseMaxMeltFee& ProjectTransactionRequestArguments::set_with_meta(); -template ENJINSDK_EXPORT project::DecreaseMaxMeltFee& -TransactionFragmentArguments::set_with_blockchain_data(); +template ENJINSDK_EXPORT DecreaseMaxMeltFee& +ProjectTransactionRequestArguments::set_with_encoded_data(); -template ENJINSDK_EXPORT project::DecreaseMaxMeltFee& -TransactionFragmentArguments::set_with_meta(); +template ENJINSDK_EXPORT DecreaseMaxMeltFee& +ProjectTransactionRequestArguments::set_with_asset_data(); -template ENJINSDK_EXPORT project::DecreaseMaxMeltFee& -TransactionFragmentArguments::set_with_encoded_data(); +template ENJINSDK_EXPORT DecreaseMaxMeltFee& +ProjectTransactionRequestArguments::set_with_signed_txs(); -template ENJINSDK_EXPORT project::DecreaseMaxMeltFee& -TransactionFragmentArguments::set_with_asset_data(); +template ENJINSDK_EXPORT DecreaseMaxMeltFee& ProjectTransactionRequestArguments::set_with_error(); -template ENJINSDK_EXPORT project::DecreaseMaxMeltFee& -TransactionFragmentArguments::set_with_signed_txs(); +template ENJINSDK_EXPORT DecreaseMaxMeltFee& ProjectTransactionRequestArguments::set_with_nonce(); -template ENJINSDK_EXPORT project::DecreaseMaxMeltFee& -TransactionFragmentArguments::set_with_error(); +template ENJINSDK_EXPORT DecreaseMaxMeltFee& ProjectTransactionRequestArguments::set_with_state(); -template ENJINSDK_EXPORT project::DecreaseMaxMeltFee& -TransactionFragmentArguments::set_with_nonce(); +template ENJINSDK_EXPORT DecreaseMaxMeltFee& ProjectTransactionRequestArguments::set_with_receipt(); -template ENJINSDK_EXPORT project::DecreaseMaxMeltFee& -TransactionFragmentArguments::set_with_state(); +template ENJINSDK_EXPORT DecreaseMaxMeltFee& +ProjectTransactionRequestArguments::set_with_receipt_logs(); -template ENJINSDK_EXPORT project::DecreaseMaxMeltFee& -TransactionFragmentArguments::set_with_receipt(); +template ENJINSDK_EXPORT DecreaseMaxMeltFee& +ProjectTransactionRequestArguments::set_with_log_event(); -template ENJINSDK_EXPORT project::DecreaseMaxMeltFee& -TransactionFragmentArguments::set_with_receipt_logs(); +template ENJINSDK_EXPORT DecreaseMaxMeltFee& +ProjectTransactionRequestArguments::set_with_transaction_project_uuid(); -template ENJINSDK_EXPORT project::DecreaseMaxMeltFee& -TransactionFragmentArguments::set_with_log_event(); +template ENJINSDK_EXPORT DecreaseMaxMeltFee& +ProjectTransactionRequestArguments::set_with_transaction_wallet_address(); -template ENJINSDK_EXPORT project::DecreaseMaxMeltFee& -TransactionFragmentArguments::set_with_transaction_project_uuid(); +template ENJINSDK_EXPORT DecreaseMaxMeltFee& +ProjectTransactionRequestArguments::set_eth_address(const std::string& address); } diff --git a/include/enjinsdk/project/DecreaseMaxTransferFee.hpp b/include/enjinsdk/project/DecreaseMaxTransferFee.hpp index fa6c3bfb..ba35afc5 100644 --- a/include/enjinsdk/project/DecreaseMaxTransferFee.hpp +++ b/include/enjinsdk/project/DecreaseMaxTransferFee.hpp @@ -55,51 +55,50 @@ class ENJINSDK_EXPORT DecreaseMaxTransferFee : public graphql::AbstractGraphqlRe }; template ENJINSDK_EXPORT DecreaseMaxTransferFee& -ProjectTransactionRequestArguments::set_eth_address(const std::string& address); - -} +ProjectTransactionRequestArguments::set_transaction_asset_id_format( + models::AssetIdFormat asset_id_format); -namespace enjin::sdk::shared { +template ENJINSDK_EXPORT DecreaseMaxTransferFee& +ProjectTransactionRequestArguments::set_with_blockchain_data(); -template ENJINSDK_EXPORT project::DecreaseMaxTransferFee& -TransactionFragmentArguments::set_asset_id_format( - models::AssetIdFormat asset_id_format); +template ENJINSDK_EXPORT DecreaseMaxTransferFee& +ProjectTransactionRequestArguments::set_with_meta(); -template ENJINSDK_EXPORT project::DecreaseMaxTransferFee& -TransactionFragmentArguments::set_with_blockchain_data(); +template ENJINSDK_EXPORT DecreaseMaxTransferFee& +ProjectTransactionRequestArguments::set_with_encoded_data(); -template ENJINSDK_EXPORT project::DecreaseMaxTransferFee& -TransactionFragmentArguments::set_with_meta(); +template ENJINSDK_EXPORT DecreaseMaxTransferFee& +ProjectTransactionRequestArguments::set_with_asset_data(); -template ENJINSDK_EXPORT project::DecreaseMaxTransferFee& -TransactionFragmentArguments::set_with_encoded_data(); +template ENJINSDK_EXPORT DecreaseMaxTransferFee& +ProjectTransactionRequestArguments::set_with_signed_txs(); -template ENJINSDK_EXPORT project::DecreaseMaxTransferFee& -TransactionFragmentArguments::set_with_asset_data(); +template ENJINSDK_EXPORT DecreaseMaxTransferFee& +ProjectTransactionRequestArguments::set_with_error(); -template ENJINSDK_EXPORT project::DecreaseMaxTransferFee& -TransactionFragmentArguments::set_with_signed_txs(); +template ENJINSDK_EXPORT DecreaseMaxTransferFee& +ProjectTransactionRequestArguments::set_with_nonce(); -template ENJINSDK_EXPORT project::DecreaseMaxTransferFee& -TransactionFragmentArguments::set_with_error(); +template ENJINSDK_EXPORT DecreaseMaxTransferFee& +ProjectTransactionRequestArguments::set_with_state(); -template ENJINSDK_EXPORT project::DecreaseMaxTransferFee& -TransactionFragmentArguments::set_with_nonce(); +template ENJINSDK_EXPORT DecreaseMaxTransferFee& +ProjectTransactionRequestArguments::set_with_receipt(); -template ENJINSDK_EXPORT project::DecreaseMaxTransferFee& -TransactionFragmentArguments::set_with_state(); +template ENJINSDK_EXPORT DecreaseMaxTransferFee& +ProjectTransactionRequestArguments::set_with_receipt_logs(); -template ENJINSDK_EXPORT project::DecreaseMaxTransferFee& -TransactionFragmentArguments::set_with_receipt(); +template ENJINSDK_EXPORT DecreaseMaxTransferFee& +ProjectTransactionRequestArguments::set_with_log_event(); -template ENJINSDK_EXPORT project::DecreaseMaxTransferFee& -TransactionFragmentArguments::set_with_receipt_logs(); +template ENJINSDK_EXPORT DecreaseMaxTransferFee& +ProjectTransactionRequestArguments::set_with_transaction_project_uuid(); -template ENJINSDK_EXPORT project::DecreaseMaxTransferFee& -TransactionFragmentArguments::set_with_log_event(); +template ENJINSDK_EXPORT DecreaseMaxTransferFee& +ProjectTransactionRequestArguments::set_with_transaction_wallet_address(); -template ENJINSDK_EXPORT project::DecreaseMaxTransferFee& -TransactionFragmentArguments::set_with_transaction_project_uuid(); +template ENJINSDK_EXPORT DecreaseMaxTransferFee& +ProjectTransactionRequestArguments::set_eth_address(const std::string& address); } diff --git a/include/enjinsdk/project/GetPlayer.hpp b/include/enjinsdk/project/GetPlayer.hpp index ec750bdc..478bdc82 100644 --- a/include/enjinsdk/project/GetPlayer.hpp +++ b/include/enjinsdk/project/GetPlayer.hpp @@ -52,30 +52,34 @@ class ENJINSDK_EXPORT GetPlayer : public graphql::AbstractGraphqlRequest, namespace enjin::sdk::shared { +// AssetFragmentArguments functions + template ENJINSDK_EXPORT project::GetPlayer& -AssetFragmentArguments::set_asset_id_format(models::AssetIdFormat asset_id_format); +PlayerFragmentArguments::set_asset_id_format(models::AssetIdFormat asset_id_format); + +template ENJINSDK_EXPORT project::GetPlayer& PlayerFragmentArguments::set_with_state_data(); -template ENJINSDK_EXPORT project::GetPlayer& AssetFragmentArguments::set_with_state_data(); +template ENJINSDK_EXPORT project::GetPlayer& PlayerFragmentArguments::set_with_config_data(); -template ENJINSDK_EXPORT project::GetPlayer& AssetFragmentArguments::set_with_config_data(); +template ENJINSDK_EXPORT project::GetPlayer& PlayerFragmentArguments::set_with_asset_blocks(); -template ENJINSDK_EXPORT project::GetPlayer& AssetFragmentArguments::set_with_asset_blocks(); +template ENJINSDK_EXPORT project::GetPlayer& PlayerFragmentArguments::set_with_creator(); -template ENJINSDK_EXPORT project::GetPlayer& AssetFragmentArguments::set_with_creator(); +template ENJINSDK_EXPORT project::GetPlayer& PlayerFragmentArguments::set_with_melt_details(); -template ENJINSDK_EXPORT project::GetPlayer& AssetFragmentArguments::set_with_melt_details(); +template ENJINSDK_EXPORT project::GetPlayer& PlayerFragmentArguments::set_with_metadata_uri(); -template ENJINSDK_EXPORT project::GetPlayer& AssetFragmentArguments::set_with_metadata_uri(); +template ENJINSDK_EXPORT project::GetPlayer& PlayerFragmentArguments::set_with_supply_details(); -template ENJINSDK_EXPORT project::GetPlayer& AssetFragmentArguments::set_with_supply_details(); +template ENJINSDK_EXPORT project::GetPlayer& PlayerFragmentArguments::set_with_transfer_settings(); -template ENJINSDK_EXPORT project::GetPlayer& AssetFragmentArguments::set_with_transfer_settings(); +template ENJINSDK_EXPORT project::GetPlayer& PlayerFragmentArguments::set_with_asset_variant_mode(); -template ENJINSDK_EXPORT project::GetPlayer& AssetFragmentArguments::set_with_asset_variant_mode(); +template ENJINSDK_EXPORT project::GetPlayer& PlayerFragmentArguments::set_with_asset_variants(); -template ENJINSDK_EXPORT project::GetPlayer& AssetFragmentArguments::set_with_asset_variants(); +template ENJINSDK_EXPORT project::GetPlayer& PlayerFragmentArguments::set_with_variant_metadata(); -template ENJINSDK_EXPORT project::GetPlayer& AssetFragmentArguments::set_with_variant_metadata(); +// PlayerFragmentArguments functions template ENJINSDK_EXPORT project::GetPlayer& PlayerFragmentArguments::set_with_linking_info(); @@ -83,7 +87,50 @@ template ENJINSDK_EXPORT project::GetPlayer& PlayerFragmentArguments::set_with_wallet(); -template ENJINSDK_EXPORT project::GetPlayer& WalletFragmentArguments::set_with_assets_created(); +// TransactionFragmentArguments functions + +template ENJINSDK_EXPORT project::GetPlayer& +PlayerFragmentArguments::set_transaction_asset_id_format(models::AssetIdFormat asset_id_format); + +template ENJINSDK_EXPORT project::GetPlayer& PlayerFragmentArguments::set_with_blockchain_data(); + +template ENJINSDK_EXPORT project::GetPlayer& PlayerFragmentArguments::set_with_meta(); + +template ENJINSDK_EXPORT project::GetPlayer& PlayerFragmentArguments::set_with_encoded_data(); + +template ENJINSDK_EXPORT project::GetPlayer& PlayerFragmentArguments::set_with_asset_data(); + +template ENJINSDK_EXPORT project::GetPlayer& PlayerFragmentArguments::set_with_signed_txs(); + +template ENJINSDK_EXPORT project::GetPlayer& PlayerFragmentArguments::set_with_error(); + +template ENJINSDK_EXPORT project::GetPlayer& PlayerFragmentArguments::set_with_nonce(); + +template ENJINSDK_EXPORT project::GetPlayer& PlayerFragmentArguments::set_with_state(); + +template ENJINSDK_EXPORT project::GetPlayer& PlayerFragmentArguments::set_with_receipt(); + +template ENJINSDK_EXPORT project::GetPlayer& PlayerFragmentArguments::set_with_receipt_logs(); + +template ENJINSDK_EXPORT project::GetPlayer& PlayerFragmentArguments::set_with_log_event(); + +template ENJINSDK_EXPORT project::GetPlayer& +PlayerFragmentArguments::set_with_transaction_project_uuid(); + +template ENJINSDK_EXPORT project::GetPlayer& +PlayerFragmentArguments::set_with_transaction_wallet_address(); + +// WalletFragmentArguments functions + +template ENJINSDK_EXPORT project::GetPlayer& +PlayerFragmentArguments::set_wallet_balance_filter(models::BalanceFilter filter); + +template ENJINSDK_EXPORT project::GetPlayer& PlayerFragmentArguments::set_with_assets_created(); + +template ENJINSDK_EXPORT project::GetPlayer& PlayerFragmentArguments::set_with_wallet_balances(); + +template ENJINSDK_EXPORT project::GetPlayer& +PlayerFragmentArguments::set_with_wallet_transactions(); } diff --git a/include/enjinsdk/project/GetPlayers.hpp b/include/enjinsdk/project/GetPlayers.hpp index 19f98c20..4a2fa6e8 100644 --- a/include/enjinsdk/project/GetPlayers.hpp +++ b/include/enjinsdk/project/GetPlayers.hpp @@ -55,31 +55,36 @@ class ENJINSDK_EXPORT GetPlayers : public graphql::AbstractGraphqlRequest, namespace enjin::sdk::shared { +// AssetFragmentArguments functions + template ENJINSDK_EXPORT project::GetPlayers& -AssetFragmentArguments::set_asset_id_format(models::AssetIdFormat asset_id_format); +PlayerFragmentArguments::set_asset_id_format(models::AssetIdFormat asset_id_format); -template ENJINSDK_EXPORT project::GetPlayers& AssetFragmentArguments::set_with_state_data(); +template ENJINSDK_EXPORT project::GetPlayers& PlayerFragmentArguments::set_with_state_data(); -template ENJINSDK_EXPORT project::GetPlayers& AssetFragmentArguments::set_with_config_data(); +template ENJINSDK_EXPORT project::GetPlayers& PlayerFragmentArguments::set_with_config_data(); -template ENJINSDK_EXPORT project::GetPlayers& AssetFragmentArguments::set_with_asset_blocks(); +template ENJINSDK_EXPORT project::GetPlayers& PlayerFragmentArguments::set_with_asset_blocks(); -template ENJINSDK_EXPORT project::GetPlayers& AssetFragmentArguments::set_with_creator(); +template ENJINSDK_EXPORT project::GetPlayers& PlayerFragmentArguments::set_with_creator(); -template ENJINSDK_EXPORT project::GetPlayers& AssetFragmentArguments::set_with_melt_details(); +template ENJINSDK_EXPORT project::GetPlayers& PlayerFragmentArguments::set_with_melt_details(); -template ENJINSDK_EXPORT project::GetPlayers& AssetFragmentArguments::set_with_metadata_uri(); +template ENJINSDK_EXPORT project::GetPlayers& PlayerFragmentArguments::set_with_metadata_uri(); -template ENJINSDK_EXPORT project::GetPlayers& AssetFragmentArguments::set_with_supply_details(); +template ENJINSDK_EXPORT project::GetPlayers& PlayerFragmentArguments::set_with_supply_details(); -template ENJINSDK_EXPORT project::GetPlayers& AssetFragmentArguments::set_with_transfer_settings(); +template ENJINSDK_EXPORT project::GetPlayers& +PlayerFragmentArguments::set_with_transfer_settings(); template ENJINSDK_EXPORT project::GetPlayers& -AssetFragmentArguments::set_with_asset_variant_mode(); +PlayerFragmentArguments::set_with_asset_variant_mode(); -template ENJINSDK_EXPORT project::GetPlayers& AssetFragmentArguments::set_with_asset_variants(); +template ENJINSDK_EXPORT project::GetPlayers& PlayerFragmentArguments::set_with_asset_variants(); -template ENJINSDK_EXPORT project::GetPlayers& AssetFragmentArguments::set_with_variant_metadata(); +template ENJINSDK_EXPORT project::GetPlayers& PlayerFragmentArguments::set_with_variant_metadata(); + +// PlayerFragmentArguments functions template ENJINSDK_EXPORT project::GetPlayers& PlayerFragmentArguments::set_with_linking_info(); @@ -87,7 +92,52 @@ template ENJINSDK_EXPORT project::GetPlayers& PlayerFragmentArguments::set_with_wallet(); -template ENJINSDK_EXPORT project::GetPlayers& WalletFragmentArguments::set_with_assets_created(); +// TransactionFragmentArguments functions + +template ENJINSDK_EXPORT project::GetPlayers& +PlayerFragmentArguments::set_transaction_asset_id_format(models::AssetIdFormat asset_id_format); + +template ENJINSDK_EXPORT project::GetPlayers& PlayerFragmentArguments::set_with_blockchain_data(); + +template ENJINSDK_EXPORT project::GetPlayers& PlayerFragmentArguments::set_with_meta(); + +template ENJINSDK_EXPORT project::GetPlayers& PlayerFragmentArguments::set_with_encoded_data(); + +template ENJINSDK_EXPORT project::GetPlayers& PlayerFragmentArguments::set_with_asset_data(); + +template ENJINSDK_EXPORT project::GetPlayers& PlayerFragmentArguments::set_with_signed_txs(); + +template ENJINSDK_EXPORT project::GetPlayers& PlayerFragmentArguments::set_with_error(); + +template ENJINSDK_EXPORT project::GetPlayers& PlayerFragmentArguments::set_with_nonce(); + +template ENJINSDK_EXPORT project::GetPlayers& PlayerFragmentArguments::set_with_state(); + +template ENJINSDK_EXPORT project::GetPlayers& PlayerFragmentArguments::set_with_receipt(); + +template ENJINSDK_EXPORT project::GetPlayers& PlayerFragmentArguments::set_with_receipt_logs(); + +template ENJINSDK_EXPORT project::GetPlayers& PlayerFragmentArguments::set_with_log_event(); + +template ENJINSDK_EXPORT project::GetPlayers& +PlayerFragmentArguments::set_with_transaction_project_uuid(); + +template ENJINSDK_EXPORT project::GetPlayers& +PlayerFragmentArguments::set_with_transaction_wallet_address(); + +// WalletFragmentArguments functions + +template ENJINSDK_EXPORT project::GetPlayers& +PlayerFragmentArguments::set_wallet_balance_filter(models::BalanceFilter filter); + +template ENJINSDK_EXPORT project::GetPlayers& PlayerFragmentArguments::set_with_assets_created(); + +template ENJINSDK_EXPORT project::GetPlayers& PlayerFragmentArguments::set_with_wallet_balances(); + +template ENJINSDK_EXPORT project::GetPlayers& +PlayerFragmentArguments::set_with_wallet_transactions(); + +// PaginationArguments functions template ENJINSDK_EXPORT project::GetPlayers& PaginationArguments::set_pagination(models::PaginationOptions pagination); diff --git a/include/enjinsdk/project/GetWallet.hpp b/include/enjinsdk/project/GetWallet.hpp index fd78a252..5c439af3 100644 --- a/include/enjinsdk/project/GetWallet.hpp +++ b/include/enjinsdk/project/GetWallet.hpp @@ -58,33 +58,78 @@ class ENJINSDK_EXPORT GetWallet : public graphql::AbstractGraphqlRequest, namespace enjin::sdk::shared { +// AssetFragmentArguments functions + template ENJINSDK_EXPORT project::GetWallet& -AssetFragmentArguments::set_asset_id_format(models::AssetIdFormat asset_id_format); +WalletFragmentArguments::set_asset_id_format(models::AssetIdFormat asset_id_format); + +template ENJINSDK_EXPORT project::GetWallet& WalletFragmentArguments::set_with_state_data(); + +template ENJINSDK_EXPORT project::GetWallet& WalletFragmentArguments::set_with_config_data(); + +template ENJINSDK_EXPORT project::GetWallet& WalletFragmentArguments::set_with_asset_blocks(); + +template ENJINSDK_EXPORT project::GetWallet& WalletFragmentArguments::set_with_creator(); + +template ENJINSDK_EXPORT project::GetWallet& WalletFragmentArguments::set_with_melt_details(); + +template ENJINSDK_EXPORT project::GetWallet& WalletFragmentArguments::set_with_metadata_uri(); -template ENJINSDK_EXPORT project::GetWallet& AssetFragmentArguments::set_with_state_data(); +template ENJINSDK_EXPORT project::GetWallet& WalletFragmentArguments::set_with_supply_details(); -template ENJINSDK_EXPORT project::GetWallet& AssetFragmentArguments::set_with_config_data(); +template ENJINSDK_EXPORT project::GetWallet& WalletFragmentArguments::set_with_transfer_settings(); + +template ENJINSDK_EXPORT project::GetWallet& WalletFragmentArguments::set_with_asset_variant_mode(); + +template ENJINSDK_EXPORT project::GetWallet& WalletFragmentArguments::set_with_asset_variants(); + +template ENJINSDK_EXPORT project::GetWallet& WalletFragmentArguments::set_with_variant_metadata(); + +// TransactionFragmentArguments functions + +template ENJINSDK_EXPORT project::GetWallet& +WalletFragmentArguments::set_transaction_asset_id_format(models::AssetIdFormat asset_id_format); -template ENJINSDK_EXPORT project::GetWallet& AssetFragmentArguments::set_with_asset_blocks(); +template ENJINSDK_EXPORT project::GetWallet& WalletFragmentArguments::set_with_blockchain_data(); -template ENJINSDK_EXPORT project::GetWallet& AssetFragmentArguments::set_with_creator(); +template ENJINSDK_EXPORT project::GetWallet& WalletFragmentArguments::set_with_meta(); -template ENJINSDK_EXPORT project::GetWallet& AssetFragmentArguments::set_with_melt_details(); +template ENJINSDK_EXPORT project::GetWallet& WalletFragmentArguments::set_with_encoded_data(); -template ENJINSDK_EXPORT project::GetWallet& AssetFragmentArguments::set_with_metadata_uri(); +template ENJINSDK_EXPORT project::GetWallet& WalletFragmentArguments::set_with_asset_data(); -template ENJINSDK_EXPORT project::GetWallet& AssetFragmentArguments::set_with_supply_details(); +template ENJINSDK_EXPORT project::GetWallet& WalletFragmentArguments::set_with_signed_txs(); -template ENJINSDK_EXPORT project::GetWallet& AssetFragmentArguments::set_with_transfer_settings(); +template ENJINSDK_EXPORT project::GetWallet& WalletFragmentArguments::set_with_error(); -template ENJINSDK_EXPORT project::GetWallet& AssetFragmentArguments::set_with_asset_variant_mode(); +template ENJINSDK_EXPORT project::GetWallet& WalletFragmentArguments::set_with_nonce(); -template ENJINSDK_EXPORT project::GetWallet& AssetFragmentArguments::set_with_asset_variants(); +template ENJINSDK_EXPORT project::GetWallet& WalletFragmentArguments::set_with_state(); -template ENJINSDK_EXPORT project::GetWallet& AssetFragmentArguments::set_with_variant_metadata(); +template ENJINSDK_EXPORT project::GetWallet& WalletFragmentArguments::set_with_receipt(); + +template ENJINSDK_EXPORT project::GetWallet& WalletFragmentArguments::set_with_receipt_logs(); + +template ENJINSDK_EXPORT project::GetWallet& WalletFragmentArguments::set_with_log_event(); + +template ENJINSDK_EXPORT project::GetWallet& +WalletFragmentArguments::set_with_transaction_project_uuid(); + +template ENJINSDK_EXPORT project::GetWallet& +WalletFragmentArguments::set_with_transaction_wallet_address(); + +// WalletFragmentArguments functions + +template ENJINSDK_EXPORT project::GetWallet& +WalletFragmentArguments::set_wallet_balance_filter(models::BalanceFilter filter); template ENJINSDK_EXPORT project::GetWallet& WalletFragmentArguments::set_with_assets_created(); +template ENJINSDK_EXPORT project::GetWallet& WalletFragmentArguments::set_with_wallet_balances(); + +template ENJINSDK_EXPORT project::GetWallet& +WalletFragmentArguments::set_with_wallet_transactions(); + } #endif //ENJINCPPSDK_PROJECTGETWALLET_HPP diff --git a/include/enjinsdk/project/GetWallets.hpp b/include/enjinsdk/project/GetWallets.hpp index 05feb4cb..25c760e4 100644 --- a/include/enjinsdk/project/GetWallets.hpp +++ b/include/enjinsdk/project/GetWallets.hpp @@ -59,34 +59,80 @@ class ENJINSDK_EXPORT GetWallets : public graphql::AbstractGraphqlRequest, namespace enjin::sdk::shared { +// AssetFragmentArguments functions + +template ENJINSDK_EXPORT project::GetWallets& +WalletFragmentArguments::set_asset_id_format(models::AssetIdFormat asset_id_format); + +template ENJINSDK_EXPORT project::GetWallets& WalletFragmentArguments::set_with_state_data(); + +template ENJINSDK_EXPORT project::GetWallets& WalletFragmentArguments::set_with_config_data(); + +template ENJINSDK_EXPORT project::GetWallets& WalletFragmentArguments::set_with_asset_blocks(); + +template ENJINSDK_EXPORT project::GetWallets& WalletFragmentArguments::set_with_creator(); + +template ENJINSDK_EXPORT project::GetWallets& WalletFragmentArguments::set_with_melt_details(); + +template ENJINSDK_EXPORT project::GetWallets& WalletFragmentArguments::set_with_metadata_uri(); + +template ENJINSDK_EXPORT project::GetWallets& WalletFragmentArguments::set_with_supply_details(); + +template ENJINSDK_EXPORT project::GetWallets& +WalletFragmentArguments::set_with_transfer_settings(); + +template ENJINSDK_EXPORT project::GetWallets& +WalletFragmentArguments::set_with_asset_variant_mode(); + +template ENJINSDK_EXPORT project::GetWallets& WalletFragmentArguments::set_with_asset_variants(); + +template ENJINSDK_EXPORT project::GetWallets& WalletFragmentArguments::set_with_variant_metadata(); + +// TransactionFragmentArguments functions + template ENJINSDK_EXPORT project::GetWallets& -AssetFragmentArguments::set_asset_id_format(models::AssetIdFormat asset_id_format); +WalletFragmentArguments::set_transaction_asset_id_format(models::AssetIdFormat asset_id_format); + +template ENJINSDK_EXPORT project::GetWallets& WalletFragmentArguments::set_with_blockchain_data(); + +template ENJINSDK_EXPORT project::GetWallets& WalletFragmentArguments::set_with_meta(); + +template ENJINSDK_EXPORT project::GetWallets& WalletFragmentArguments::set_with_encoded_data(); -template ENJINSDK_EXPORT project::GetWallets& AssetFragmentArguments::set_with_state_data(); +template ENJINSDK_EXPORT project::GetWallets& WalletFragmentArguments::set_with_asset_data(); -template ENJINSDK_EXPORT project::GetWallets& AssetFragmentArguments::set_with_config_data(); +template ENJINSDK_EXPORT project::GetWallets& WalletFragmentArguments::set_with_signed_txs(); -template ENJINSDK_EXPORT project::GetWallets& AssetFragmentArguments::set_with_asset_blocks(); +template ENJINSDK_EXPORT project::GetWallets& WalletFragmentArguments::set_with_error(); -template ENJINSDK_EXPORT project::GetWallets& AssetFragmentArguments::set_with_creator(); +template ENJINSDK_EXPORT project::GetWallets& WalletFragmentArguments::set_with_nonce(); -template ENJINSDK_EXPORT project::GetWallets& AssetFragmentArguments::set_with_melt_details(); +template ENJINSDK_EXPORT project::GetWallets& WalletFragmentArguments::set_with_state(); -template ENJINSDK_EXPORT project::GetWallets& AssetFragmentArguments::set_with_metadata_uri(); +template ENJINSDK_EXPORT project::GetWallets& WalletFragmentArguments::set_with_receipt(); -template ENJINSDK_EXPORT project::GetWallets& AssetFragmentArguments::set_with_supply_details(); +template ENJINSDK_EXPORT project::GetWallets& WalletFragmentArguments::set_with_receipt_logs(); -template ENJINSDK_EXPORT project::GetWallets& AssetFragmentArguments::set_with_transfer_settings(); +template ENJINSDK_EXPORT project::GetWallets& WalletFragmentArguments::set_with_log_event(); template ENJINSDK_EXPORT project::GetWallets& -AssetFragmentArguments::set_with_asset_variant_mode(); +WalletFragmentArguments::set_with_transaction_project_uuid(); -template ENJINSDK_EXPORT project::GetWallets& AssetFragmentArguments::set_with_asset_variants(); +template ENJINSDK_EXPORT project::GetWallets& +WalletFragmentArguments::set_with_transaction_wallet_address(); + +// WalletFragmentArguments functions -template ENJINSDK_EXPORT project::GetWallets& AssetFragmentArguments::set_with_variant_metadata(); +template ENJINSDK_EXPORT project::GetWallets& +WalletFragmentArguments::set_wallet_balance_filter(models::BalanceFilter filter); template ENJINSDK_EXPORT project::GetWallets& WalletFragmentArguments::set_with_assets_created(); +template ENJINSDK_EXPORT project::GetWallets& WalletFragmentArguments::set_with_wallet_balances(); + +template ENJINSDK_EXPORT project::GetWallets& +WalletFragmentArguments::set_with_wallet_transactions(); + } #endif //ENJINCPPSDK_PROJECTGETWALLETS_HPP diff --git a/include/enjinsdk/project/MeltAsset.hpp b/include/enjinsdk/project/MeltAsset.hpp index c2f18d50..57b3f5e1 100644 --- a/include/enjinsdk/project/MeltAsset.hpp +++ b/include/enjinsdk/project/MeltAsset.hpp @@ -50,50 +50,37 @@ class ENJINSDK_EXPORT MeltAsset : public graphql::AbstractGraphqlRequest, }; template ENJINSDK_EXPORT MeltAsset& -ProjectTransactionRequestArguments::set_eth_address(const std::string& address); - -} +ProjectTransactionRequestArguments::set_transaction_asset_id_format(models::AssetIdFormat asset_id_format); -namespace enjin::sdk::shared { +template ENJINSDK_EXPORT MeltAsset& ProjectTransactionRequestArguments::set_with_blockchain_data(); -template ENJINSDK_EXPORT project::MeltAsset& -TransactionFragmentArguments::set_asset_id_format(models::AssetIdFormat asset_id_format); +template ENJINSDK_EXPORT MeltAsset& ProjectTransactionRequestArguments::set_with_meta(); -template ENJINSDK_EXPORT project::MeltAsset& -TransactionFragmentArguments::set_with_blockchain_data(); +template ENJINSDK_EXPORT MeltAsset& ProjectTransactionRequestArguments::set_with_encoded_data(); -template ENJINSDK_EXPORT project::MeltAsset& -TransactionFragmentArguments::set_with_meta(); +template ENJINSDK_EXPORT MeltAsset& ProjectTransactionRequestArguments::set_with_asset_data(); -template ENJINSDK_EXPORT project::MeltAsset& -TransactionFragmentArguments::set_with_encoded_data(); +template ENJINSDK_EXPORT MeltAsset& ProjectTransactionRequestArguments::set_with_signed_txs(); -template ENJINSDK_EXPORT project::MeltAsset& -TransactionFragmentArguments::set_with_asset_data(); +template ENJINSDK_EXPORT MeltAsset& ProjectTransactionRequestArguments::set_with_error(); -template ENJINSDK_EXPORT project::MeltAsset& -TransactionFragmentArguments::set_with_signed_txs(); +template ENJINSDK_EXPORT MeltAsset& ProjectTransactionRequestArguments::set_with_nonce(); -template ENJINSDK_EXPORT project::MeltAsset& -TransactionFragmentArguments::set_with_error(); +template ENJINSDK_EXPORT MeltAsset& ProjectTransactionRequestArguments::set_with_state(); -template ENJINSDK_EXPORT project::MeltAsset& -TransactionFragmentArguments::set_with_nonce(); +template ENJINSDK_EXPORT MeltAsset& ProjectTransactionRequestArguments::set_with_receipt(); -template ENJINSDK_EXPORT project::MeltAsset& -TransactionFragmentArguments::set_with_state(); +template ENJINSDK_EXPORT MeltAsset& ProjectTransactionRequestArguments::set_with_receipt_logs(); -template ENJINSDK_EXPORT project::MeltAsset& -TransactionFragmentArguments::set_with_receipt(); +template ENJINSDK_EXPORT MeltAsset& ProjectTransactionRequestArguments::set_with_log_event(); -template ENJINSDK_EXPORT project::MeltAsset& -TransactionFragmentArguments::set_with_receipt_logs(); +template ENJINSDK_EXPORT MeltAsset& ProjectTransactionRequestArguments::set_with_transaction_project_uuid(); -template ENJINSDK_EXPORT project::MeltAsset& -TransactionFragmentArguments::set_with_log_event(); +template ENJINSDK_EXPORT MeltAsset& +ProjectTransactionRequestArguments::set_with_transaction_wallet_address(); -template ENJINSDK_EXPORT project::MeltAsset& -TransactionFragmentArguments::set_with_transaction_project_uuid(); +template ENJINSDK_EXPORT MeltAsset& +ProjectTransactionRequestArguments::set_eth_address(const std::string& address); } diff --git a/include/enjinsdk/project/Message.hpp b/include/enjinsdk/project/Message.hpp index 69919a0f..74e95fea 100644 --- a/include/enjinsdk/project/Message.hpp +++ b/include/enjinsdk/project/Message.hpp @@ -49,50 +49,36 @@ class ENJINSDK_EXPORT Message : public graphql::AbstractGraphqlRequest, }; template ENJINSDK_EXPORT Message& -ProjectTransactionRequestArguments::set_eth_address(const std::string& address); - -} +ProjectTransactionRequestArguments::set_transaction_asset_id_format(models::AssetIdFormat asset_id_format); -namespace enjin::sdk::shared { +template ENJINSDK_EXPORT Message& ProjectTransactionRequestArguments::set_with_blockchain_data(); -template ENJINSDK_EXPORT project::Message& -TransactionFragmentArguments::set_asset_id_format(models::AssetIdFormat asset_id_format); +template ENJINSDK_EXPORT Message& ProjectTransactionRequestArguments::set_with_meta(); -template ENJINSDK_EXPORT project::Message& -TransactionFragmentArguments::set_with_blockchain_data(); +template ENJINSDK_EXPORT Message& ProjectTransactionRequestArguments::set_with_encoded_data(); -template ENJINSDK_EXPORT project::Message& -TransactionFragmentArguments::set_with_meta(); +template ENJINSDK_EXPORT Message& ProjectTransactionRequestArguments::set_with_asset_data(); -template ENJINSDK_EXPORT project::Message& -TransactionFragmentArguments::set_with_encoded_data(); +template ENJINSDK_EXPORT Message& ProjectTransactionRequestArguments::set_with_signed_txs(); -template ENJINSDK_EXPORT project::Message& -TransactionFragmentArguments::set_with_asset_data(); +template ENJINSDK_EXPORT Message& ProjectTransactionRequestArguments::set_with_error(); -template ENJINSDK_EXPORT project::Message& -TransactionFragmentArguments::set_with_signed_txs(); +template ENJINSDK_EXPORT Message& ProjectTransactionRequestArguments::set_with_nonce(); -template ENJINSDK_EXPORT project::Message& -TransactionFragmentArguments::set_with_error(); +template ENJINSDK_EXPORT Message& ProjectTransactionRequestArguments::set_with_state(); -template ENJINSDK_EXPORT project::Message& -TransactionFragmentArguments::set_with_nonce(); +template ENJINSDK_EXPORT Message& ProjectTransactionRequestArguments::set_with_receipt(); -template ENJINSDK_EXPORT project::Message& -TransactionFragmentArguments::set_with_state(); +template ENJINSDK_EXPORT Message& ProjectTransactionRequestArguments::set_with_receipt_logs(); -template ENJINSDK_EXPORT project::Message& -TransactionFragmentArguments::set_with_receipt(); +template ENJINSDK_EXPORT Message& ProjectTransactionRequestArguments::set_with_log_event(); -template ENJINSDK_EXPORT project::Message& -TransactionFragmentArguments::set_with_receipt_logs(); +template ENJINSDK_EXPORT Message& ProjectTransactionRequestArguments::set_with_transaction_project_uuid(); -template ENJINSDK_EXPORT project::Message& -TransactionFragmentArguments::set_with_log_event(); +template ENJINSDK_EXPORT Message& ProjectTransactionRequestArguments::set_with_transaction_wallet_address(); -template ENJINSDK_EXPORT project::Message& -TransactionFragmentArguments::set_with_transaction_project_uuid(); +template ENJINSDK_EXPORT Message& +ProjectTransactionRequestArguments::set_eth_address(const std::string& address); } diff --git a/include/enjinsdk/project/MintAsset.hpp b/include/enjinsdk/project/MintAsset.hpp index 96d67594..21bbf82d 100644 --- a/include/enjinsdk/project/MintAsset.hpp +++ b/include/enjinsdk/project/MintAsset.hpp @@ -57,40 +57,37 @@ class ENJINSDK_EXPORT MintAsset : public graphql::AbstractGraphqlRequest, }; template ENJINSDK_EXPORT MintAsset& -ProjectTransactionRequestArguments::set_eth_address(const std::string& address); - -} +ProjectTransactionRequestArguments::set_transaction_asset_id_format(models::AssetIdFormat asset_id_format); -namespace enjin::sdk::shared { +template ENJINSDK_EXPORT MintAsset& ProjectTransactionRequestArguments::set_with_blockchain_data(); -template ENJINSDK_EXPORT project::MintAsset& -TransactionFragmentArguments::set_asset_id_format(models::AssetIdFormat asset_id_format); +template ENJINSDK_EXPORT MintAsset& ProjectTransactionRequestArguments::set_with_meta(); -template ENJINSDK_EXPORT project::MintAsset& -TransactionFragmentArguments::set_with_blockchain_data(); +template ENJINSDK_EXPORT MintAsset& ProjectTransactionRequestArguments::set_with_encoded_data(); -template ENJINSDK_EXPORT project::MintAsset& TransactionFragmentArguments::set_with_meta(); +template ENJINSDK_EXPORT MintAsset& ProjectTransactionRequestArguments::set_with_asset_data(); -template ENJINSDK_EXPORT project::MintAsset& TransactionFragmentArguments::set_with_encoded_data(); +template ENJINSDK_EXPORT MintAsset& ProjectTransactionRequestArguments::set_with_signed_txs(); -template ENJINSDK_EXPORT project::MintAsset& TransactionFragmentArguments::set_with_asset_data(); +template ENJINSDK_EXPORT MintAsset& ProjectTransactionRequestArguments::set_with_error(); -template ENJINSDK_EXPORT project::MintAsset& TransactionFragmentArguments::set_with_signed_txs(); +template ENJINSDK_EXPORT MintAsset& ProjectTransactionRequestArguments::set_with_nonce(); -template ENJINSDK_EXPORT project::MintAsset& TransactionFragmentArguments::set_with_error(); +template ENJINSDK_EXPORT MintAsset& ProjectTransactionRequestArguments::set_with_state(); -template ENJINSDK_EXPORT project::MintAsset& TransactionFragmentArguments::set_with_nonce(); +template ENJINSDK_EXPORT MintAsset& ProjectTransactionRequestArguments::set_with_receipt(); -template ENJINSDK_EXPORT project::MintAsset& TransactionFragmentArguments::set_with_state(); +template ENJINSDK_EXPORT MintAsset& ProjectTransactionRequestArguments::set_with_receipt_logs(); -template ENJINSDK_EXPORT project::MintAsset& TransactionFragmentArguments::set_with_receipt(); +template ENJINSDK_EXPORT MintAsset& ProjectTransactionRequestArguments::set_with_log_event(); -template ENJINSDK_EXPORT project::MintAsset& TransactionFragmentArguments::set_with_receipt_logs(); +template ENJINSDK_EXPORT MintAsset& ProjectTransactionRequestArguments::set_with_transaction_project_uuid(); -template ENJINSDK_EXPORT project::MintAsset& TransactionFragmentArguments::set_with_log_event(); +template ENJINSDK_EXPORT MintAsset& +ProjectTransactionRequestArguments::set_with_transaction_wallet_address(); -template ENJINSDK_EXPORT project::MintAsset& -TransactionFragmentArguments::set_with_transaction_project_uuid(); +template ENJINSDK_EXPORT MintAsset& +ProjectTransactionRequestArguments::set_eth_address(const std::string& address); } diff --git a/include/enjinsdk/project/ProjectTransactionRequestArguments.hpp b/include/enjinsdk/project/ProjectTransactionRequestArguments.hpp index c182e528..bff79943 100644 --- a/include/enjinsdk/project/ProjectTransactionRequestArguments.hpp +++ b/include/enjinsdk/project/ProjectTransactionRequestArguments.hpp @@ -34,14 +34,96 @@ class ENJINSDK_EXPORT ProjectTransactionRequestArguments : public shared::Transa return impl.serialize(); } + // ProjectTransactionRequestArguments functions + /// \brief Sets the Ethereum address of the sender. /// \param address The address. /// \return This request for chaining. - T& set_eth_address(const std::string& address) { + virtual T& set_eth_address(const std::string& address) { impl.set_eth_address(address); return dynamic_cast(*this); } + // TransactionFragmentArguments functions + + virtual T& set_transaction_asset_id_format(models::AssetIdFormat asset_id_format) override { + impl.set_transaction_asset_id_format(asset_id_format); + return dynamic_cast(*this); + } + + virtual T& set_with_blockchain_data() override { + impl.set_with_blockchain_data(); + return dynamic_cast(*this); + } + + virtual T& set_with_meta() override { + impl.set_with_meta(); + return dynamic_cast(*this); + } + + virtual T& set_with_encoded_data() override { + impl.set_with_encoded_data(); + return dynamic_cast(*this); + } + + virtual T& set_with_asset_data() override { + impl.set_with_asset_data(); + return dynamic_cast(*this); + } + + virtual T& set_with_signed_txs() override { + impl.set_with_signed_txs(); + return dynamic_cast(*this); + } + + virtual T& set_with_error() override { + impl.set_with_error(); + return dynamic_cast(*this); + } + + virtual T& set_with_nonce() override { + impl.set_with_nonce(); + return dynamic_cast(*this); + } + + virtual T& set_with_state() override { + impl.set_with_state(); + return dynamic_cast(*this); + } + + virtual T& set_with_receipt() override { + impl.set_with_receipt(); + return dynamic_cast(*this); + } + + virtual T& set_with_receipt_logs() override { + impl.set_with_receipt_logs(); + return dynamic_cast(*this); + } + + virtual T& set_with_log_event() override { + impl.set_with_log_event(); + return dynamic_cast(*this); + } + + virtual T& set_with_transaction_project_uuid() override { + impl.set_with_transaction_project_uuid(); + return dynamic_cast(*this); + } + + virtual T& set_with_transaction_wallet_address() override { + impl.set_with_transaction_wallet_address(); + return dynamic_cast(*this); + } + + bool operator==(const ProjectTransactionRequestArguments& rhs) const { + return impl == rhs.impl; + } + + bool operator!=(const ProjectTransactionRequestArguments& rhs) const { + return impl != rhs.impl; + } + protected: /// \brief Default constructor. ProjectTransactionRequestArguments() = default; diff --git a/include/enjinsdk/project/ReleaseReserve.hpp b/include/enjinsdk/project/ReleaseReserve.hpp index 6b888121..5df0044e 100644 --- a/include/enjinsdk/project/ReleaseReserve.hpp +++ b/include/enjinsdk/project/ReleaseReserve.hpp @@ -55,50 +55,39 @@ class ENJINSDK_EXPORT ReleaseReserve : public graphql::AbstractGraphqlRequest, }; template ENJINSDK_EXPORT ReleaseReserve& -ProjectTransactionRequestArguments::set_eth_address(const std::string& address); - -} +ProjectTransactionRequestArguments::set_transaction_asset_id_format( + models::AssetIdFormat asset_id_format); -namespace enjin::sdk::shared { +template ENJINSDK_EXPORT ReleaseReserve& ProjectTransactionRequestArguments::set_with_blockchain_data(); -template ENJINSDK_EXPORT project::ReleaseReserve& -TransactionFragmentArguments::set_asset_id_format(models::AssetIdFormat asset_id_format); +template ENJINSDK_EXPORT ReleaseReserve& ProjectTransactionRequestArguments::set_with_meta(); -template ENJINSDK_EXPORT project::ReleaseReserve& -TransactionFragmentArguments::set_with_blockchain_data(); +template ENJINSDK_EXPORT ReleaseReserve& ProjectTransactionRequestArguments::set_with_encoded_data(); -template ENJINSDK_EXPORT project::ReleaseReserve& -TransactionFragmentArguments::set_with_meta(); +template ENJINSDK_EXPORT ReleaseReserve& ProjectTransactionRequestArguments::set_with_asset_data(); -template ENJINSDK_EXPORT project::ReleaseReserve& -TransactionFragmentArguments::set_with_encoded_data(); +template ENJINSDK_EXPORT ReleaseReserve& ProjectTransactionRequestArguments::set_with_signed_txs(); -template ENJINSDK_EXPORT project::ReleaseReserve& -TransactionFragmentArguments::set_with_asset_data(); +template ENJINSDK_EXPORT ReleaseReserve& ProjectTransactionRequestArguments::set_with_error(); -template ENJINSDK_EXPORT project::ReleaseReserve& -TransactionFragmentArguments::set_with_signed_txs(); +template ENJINSDK_EXPORT ReleaseReserve& ProjectTransactionRequestArguments::set_with_nonce(); -template ENJINSDK_EXPORT project::ReleaseReserve& -TransactionFragmentArguments::set_with_error(); +template ENJINSDK_EXPORT ReleaseReserve& ProjectTransactionRequestArguments::set_with_state(); -template ENJINSDK_EXPORT project::ReleaseReserve& -TransactionFragmentArguments::set_with_nonce(); +template ENJINSDK_EXPORT ReleaseReserve& ProjectTransactionRequestArguments::set_with_receipt(); -template ENJINSDK_EXPORT project::ReleaseReserve& -TransactionFragmentArguments::set_with_state(); +template ENJINSDK_EXPORT ReleaseReserve& ProjectTransactionRequestArguments::set_with_receipt_logs(); -template ENJINSDK_EXPORT project::ReleaseReserve& -TransactionFragmentArguments::set_with_receipt(); +template ENJINSDK_EXPORT ReleaseReserve& ProjectTransactionRequestArguments::set_with_log_event(); -template ENJINSDK_EXPORT project::ReleaseReserve& -TransactionFragmentArguments::set_with_receipt_logs(); +template ENJINSDK_EXPORT ReleaseReserve& +ProjectTransactionRequestArguments::set_with_transaction_project_uuid(); -template ENJINSDK_EXPORT project::ReleaseReserve& -TransactionFragmentArguments::set_with_log_event(); +template ENJINSDK_EXPORT ReleaseReserve& +ProjectTransactionRequestArguments::set_with_transaction_wallet_address(); -template ENJINSDK_EXPORT project::ReleaseReserve& -TransactionFragmentArguments::set_with_transaction_project_uuid(); +template ENJINSDK_EXPORT ReleaseReserve& +ProjectTransactionRequestArguments::set_eth_address(const std::string& address); } diff --git a/include/enjinsdk/project/ResetEnjApproval.hpp b/include/enjinsdk/project/ResetEnjApproval.hpp index b8f24182..9d757583 100644 --- a/include/enjinsdk/project/ResetEnjApproval.hpp +++ b/include/enjinsdk/project/ResetEnjApproval.hpp @@ -40,50 +40,42 @@ class ENJINSDK_EXPORT ResetEnjApproval : public graphql::AbstractGraphqlRequest, }; template ENJINSDK_EXPORT ResetEnjApproval& -ProjectTransactionRequestArguments::set_eth_address(const std::string& address); - -} +ProjectTransactionRequestArguments::set_transaction_asset_id_format( + models::AssetIdFormat asset_id_format); -namespace enjin::sdk::shared { +template ENJINSDK_EXPORT ResetEnjApproval& +ProjectTransactionRequestArguments::set_with_blockchain_data(); -template ENJINSDK_EXPORT project::ResetEnjApproval& -TransactionFragmentArguments::set_asset_id_format(models::AssetIdFormat asset_id_format); +template ENJINSDK_EXPORT ResetEnjApproval& ProjectTransactionRequestArguments::set_with_meta(); -template ENJINSDK_EXPORT project::ResetEnjApproval& -TransactionFragmentArguments::set_with_blockchain_data(); +template ENJINSDK_EXPORT ResetEnjApproval& +ProjectTransactionRequestArguments::set_with_encoded_data(); -template ENJINSDK_EXPORT project::ResetEnjApproval& -TransactionFragmentArguments::set_with_meta(); +template ENJINSDK_EXPORT ResetEnjApproval& ProjectTransactionRequestArguments::set_with_asset_data(); -template ENJINSDK_EXPORT project::ResetEnjApproval& -TransactionFragmentArguments::set_with_encoded_data(); +template ENJINSDK_EXPORT ResetEnjApproval& ProjectTransactionRequestArguments::set_with_signed_txs(); -template ENJINSDK_EXPORT project::ResetEnjApproval& -TransactionFragmentArguments::set_with_asset_data(); +template ENJINSDK_EXPORT ResetEnjApproval& ProjectTransactionRequestArguments::set_with_error(); -template ENJINSDK_EXPORT project::ResetEnjApproval& -TransactionFragmentArguments::set_with_signed_txs(); +template ENJINSDK_EXPORT ResetEnjApproval& ProjectTransactionRequestArguments::set_with_nonce(); -template ENJINSDK_EXPORT project::ResetEnjApproval& -TransactionFragmentArguments::set_with_error(); +template ENJINSDK_EXPORT ResetEnjApproval& ProjectTransactionRequestArguments::set_with_state(); -template ENJINSDK_EXPORT project::ResetEnjApproval& -TransactionFragmentArguments::set_with_nonce(); +template ENJINSDK_EXPORT ResetEnjApproval& ProjectTransactionRequestArguments::set_with_receipt(); -template ENJINSDK_EXPORT project::ResetEnjApproval& -TransactionFragmentArguments::set_with_state(); +template ENJINSDK_EXPORT ResetEnjApproval& +ProjectTransactionRequestArguments::set_with_receipt_logs(); -template ENJINSDK_EXPORT project::ResetEnjApproval& -TransactionFragmentArguments::set_with_receipt(); +template ENJINSDK_EXPORT ResetEnjApproval& ProjectTransactionRequestArguments::set_with_log_event(); -template ENJINSDK_EXPORT project::ResetEnjApproval& -TransactionFragmentArguments::set_with_receipt_logs(); +template ENJINSDK_EXPORT ResetEnjApproval& +ProjectTransactionRequestArguments::set_with_transaction_project_uuid(); -template ENJINSDK_EXPORT project::ResetEnjApproval& -TransactionFragmentArguments::set_with_log_event(); +template ENJINSDK_EXPORT ResetEnjApproval& +ProjectTransactionRequestArguments::set_with_transaction_wallet_address(); -template ENJINSDK_EXPORT project::ResetEnjApproval& -TransactionFragmentArguments::set_with_transaction_project_uuid(); +template ENJINSDK_EXPORT ResetEnjApproval& +ProjectTransactionRequestArguments::set_eth_address(const std::string& address); } diff --git a/include/enjinsdk/project/SendAsset.hpp b/include/enjinsdk/project/SendAsset.hpp index b5969a8e..a06eb17f 100644 --- a/include/enjinsdk/project/SendAsset.hpp +++ b/include/enjinsdk/project/SendAsset.hpp @@ -73,50 +73,37 @@ class ENJINSDK_EXPORT SendAsset : public graphql::AbstractGraphqlRequest, }; template ENJINSDK_EXPORT SendAsset& -ProjectTransactionRequestArguments::set_eth_address(const std::string& address); - -} +ProjectTransactionRequestArguments::set_transaction_asset_id_format(models::AssetIdFormat asset_id_format); -namespace enjin::sdk::shared { +template ENJINSDK_EXPORT SendAsset& ProjectTransactionRequestArguments::set_with_blockchain_data(); -template ENJINSDK_EXPORT project::SendAsset& -TransactionFragmentArguments::set_asset_id_format(models::AssetIdFormat asset_id_format); +template ENJINSDK_EXPORT SendAsset& ProjectTransactionRequestArguments::set_with_meta(); -template ENJINSDK_EXPORT project::SendAsset& -TransactionFragmentArguments::set_with_blockchain_data(); +template ENJINSDK_EXPORT SendAsset& ProjectTransactionRequestArguments::set_with_encoded_data(); -template ENJINSDK_EXPORT project::SendAsset& -TransactionFragmentArguments::set_with_meta(); +template ENJINSDK_EXPORT SendAsset& ProjectTransactionRequestArguments::set_with_asset_data(); -template ENJINSDK_EXPORT project::SendAsset& -TransactionFragmentArguments::set_with_encoded_data(); +template ENJINSDK_EXPORT SendAsset& ProjectTransactionRequestArguments::set_with_signed_txs(); -template ENJINSDK_EXPORT project::SendAsset& -TransactionFragmentArguments::set_with_asset_data(); +template ENJINSDK_EXPORT SendAsset& ProjectTransactionRequestArguments::set_with_error(); -template ENJINSDK_EXPORT project::SendAsset& -TransactionFragmentArguments::set_with_signed_txs(); +template ENJINSDK_EXPORT SendAsset& ProjectTransactionRequestArguments::set_with_nonce(); -template ENJINSDK_EXPORT project::SendAsset& -TransactionFragmentArguments::set_with_error(); +template ENJINSDK_EXPORT SendAsset& ProjectTransactionRequestArguments::set_with_state(); -template ENJINSDK_EXPORT project::SendAsset& -TransactionFragmentArguments::set_with_nonce(); +template ENJINSDK_EXPORT SendAsset& ProjectTransactionRequestArguments::set_with_receipt(); -template ENJINSDK_EXPORT project::SendAsset& -TransactionFragmentArguments::set_with_state(); +template ENJINSDK_EXPORT SendAsset& ProjectTransactionRequestArguments::set_with_receipt_logs(); -template ENJINSDK_EXPORT project::SendAsset& -TransactionFragmentArguments::set_with_receipt(); +template ENJINSDK_EXPORT SendAsset& ProjectTransactionRequestArguments::set_with_log_event(); -template ENJINSDK_EXPORT project::SendAsset& -TransactionFragmentArguments::set_with_receipt_logs(); +template ENJINSDK_EXPORT SendAsset& ProjectTransactionRequestArguments::set_with_transaction_project_uuid(); -template ENJINSDK_EXPORT project::SendAsset& -TransactionFragmentArguments::set_with_log_event(); +template ENJINSDK_EXPORT SendAsset& +ProjectTransactionRequestArguments::set_with_transaction_wallet_address(); -template ENJINSDK_EXPORT project::SendAsset& -TransactionFragmentArguments::set_with_transaction_project_uuid(); +template ENJINSDK_EXPORT SendAsset& +ProjectTransactionRequestArguments::set_eth_address(const std::string& address); } diff --git a/include/enjinsdk/project/SendEnj.hpp b/include/enjinsdk/project/SendEnj.hpp index 3477a485..2b108c32 100644 --- a/include/enjinsdk/project/SendEnj.hpp +++ b/include/enjinsdk/project/SendEnj.hpp @@ -56,50 +56,36 @@ class ENJINSDK_EXPORT SendEnj : public graphql::AbstractGraphqlRequest, }; template ENJINSDK_EXPORT SendEnj& -ProjectTransactionRequestArguments::set_eth_address(const std::string& address); - -} +ProjectTransactionRequestArguments::set_transaction_asset_id_format(models::AssetIdFormat asset_id_format); -namespace enjin::sdk::shared { +template ENJINSDK_EXPORT SendEnj& ProjectTransactionRequestArguments::set_with_blockchain_data(); -template ENJINSDK_EXPORT project::SendEnj& -TransactionFragmentArguments::set_asset_id_format(models::AssetIdFormat asset_id_format); +template ENJINSDK_EXPORT SendEnj& ProjectTransactionRequestArguments::set_with_meta(); -template ENJINSDK_EXPORT project::SendEnj& -TransactionFragmentArguments::set_with_blockchain_data(); +template ENJINSDK_EXPORT SendEnj& ProjectTransactionRequestArguments::set_with_encoded_data(); -template ENJINSDK_EXPORT project::SendEnj& -TransactionFragmentArguments::set_with_meta(); +template ENJINSDK_EXPORT SendEnj& ProjectTransactionRequestArguments::set_with_asset_data(); -template ENJINSDK_EXPORT project::SendEnj& -TransactionFragmentArguments::set_with_encoded_data(); +template ENJINSDK_EXPORT SendEnj& ProjectTransactionRequestArguments::set_with_signed_txs(); -template ENJINSDK_EXPORT project::SendEnj& -TransactionFragmentArguments::set_with_asset_data(); +template ENJINSDK_EXPORT SendEnj& ProjectTransactionRequestArguments::set_with_error(); -template ENJINSDK_EXPORT project::SendEnj& -TransactionFragmentArguments::set_with_signed_txs(); +template ENJINSDK_EXPORT SendEnj& ProjectTransactionRequestArguments::set_with_nonce(); -template ENJINSDK_EXPORT project::SendEnj& -TransactionFragmentArguments::set_with_error(); +template ENJINSDK_EXPORT SendEnj& ProjectTransactionRequestArguments::set_with_state(); -template ENJINSDK_EXPORT project::SendEnj& -TransactionFragmentArguments::set_with_nonce(); +template ENJINSDK_EXPORT SendEnj& ProjectTransactionRequestArguments::set_with_receipt(); -template ENJINSDK_EXPORT project::SendEnj& -TransactionFragmentArguments::set_with_state(); +template ENJINSDK_EXPORT SendEnj& ProjectTransactionRequestArguments::set_with_receipt_logs(); -template ENJINSDK_EXPORT project::SendEnj& -TransactionFragmentArguments::set_with_receipt(); +template ENJINSDK_EXPORT SendEnj& ProjectTransactionRequestArguments::set_with_log_event(); -template ENJINSDK_EXPORT project::SendEnj& -TransactionFragmentArguments::set_with_receipt_logs(); +template ENJINSDK_EXPORT SendEnj& ProjectTransactionRequestArguments::set_with_transaction_project_uuid(); -template ENJINSDK_EXPORT project::SendEnj& -TransactionFragmentArguments::set_with_log_event(); +template ENJINSDK_EXPORT SendEnj& ProjectTransactionRequestArguments::set_with_transaction_wallet_address(); -template ENJINSDK_EXPORT project::SendEnj& -TransactionFragmentArguments::set_with_transaction_project_uuid(); +template ENJINSDK_EXPORT SendEnj& +ProjectTransactionRequestArguments::set_eth_address(const std::string& address); } diff --git a/include/enjinsdk/project/SetApprovalForAll.hpp b/include/enjinsdk/project/SetApprovalForAll.hpp index d999a868..fe4088ef 100644 --- a/include/enjinsdk/project/SetApprovalForAll.hpp +++ b/include/enjinsdk/project/SetApprovalForAll.hpp @@ -55,50 +55,44 @@ class ENJINSDK_EXPORT SetApprovalForAll : public graphql::AbstractGraphqlRequest }; template ENJINSDK_EXPORT SetApprovalForAll& -ProjectTransactionRequestArguments::set_eth_address(const std::string& address); - -} +ProjectTransactionRequestArguments::set_transaction_asset_id_format( + models::AssetIdFormat asset_id_format); -namespace enjin::sdk::shared { +template ENJINSDK_EXPORT SetApprovalForAll& +ProjectTransactionRequestArguments::set_with_blockchain_data(); -template ENJINSDK_EXPORT project::SetApprovalForAll& -TransactionFragmentArguments::set_asset_id_format(models::AssetIdFormat asset_id_format); +template ENJINSDK_EXPORT SetApprovalForAll& ProjectTransactionRequestArguments::set_with_meta(); -template ENJINSDK_EXPORT project::SetApprovalForAll& -TransactionFragmentArguments::set_with_blockchain_data(); +template ENJINSDK_EXPORT SetApprovalForAll& +ProjectTransactionRequestArguments::set_with_encoded_data(); -template ENJINSDK_EXPORT project::SetApprovalForAll& -TransactionFragmentArguments::set_with_meta(); +template ENJINSDK_EXPORT SetApprovalForAll& +ProjectTransactionRequestArguments::set_with_asset_data(); -template ENJINSDK_EXPORT project::SetApprovalForAll& -TransactionFragmentArguments::set_with_encoded_data(); +template ENJINSDK_EXPORT SetApprovalForAll& +ProjectTransactionRequestArguments::set_with_signed_txs(); -template ENJINSDK_EXPORT project::SetApprovalForAll& -TransactionFragmentArguments::set_with_asset_data(); +template ENJINSDK_EXPORT SetApprovalForAll& ProjectTransactionRequestArguments::set_with_error(); -template ENJINSDK_EXPORT project::SetApprovalForAll& -TransactionFragmentArguments::set_with_signed_txs(); +template ENJINSDK_EXPORT SetApprovalForAll& ProjectTransactionRequestArguments::set_with_nonce(); -template ENJINSDK_EXPORT project::SetApprovalForAll& -TransactionFragmentArguments::set_with_error(); +template ENJINSDK_EXPORT SetApprovalForAll& ProjectTransactionRequestArguments::set_with_state(); -template ENJINSDK_EXPORT project::SetApprovalForAll& -TransactionFragmentArguments::set_with_nonce(); +template ENJINSDK_EXPORT SetApprovalForAll& ProjectTransactionRequestArguments::set_with_receipt(); -template ENJINSDK_EXPORT project::SetApprovalForAll& -TransactionFragmentArguments::set_with_state(); +template ENJINSDK_EXPORT SetApprovalForAll& +ProjectTransactionRequestArguments::set_with_receipt_logs(); -template ENJINSDK_EXPORT project::SetApprovalForAll& -TransactionFragmentArguments::set_with_receipt(); +template ENJINSDK_EXPORT SetApprovalForAll& ProjectTransactionRequestArguments::set_with_log_event(); -template ENJINSDK_EXPORT project::SetApprovalForAll& -TransactionFragmentArguments::set_with_receipt_logs(); +template ENJINSDK_EXPORT SetApprovalForAll& +ProjectTransactionRequestArguments::set_with_transaction_project_uuid(); -template ENJINSDK_EXPORT project::SetApprovalForAll& -TransactionFragmentArguments::set_with_log_event(); +template ENJINSDK_EXPORT SetApprovalForAll& +ProjectTransactionRequestArguments::set_with_transaction_wallet_address(); -template ENJINSDK_EXPORT project::SetApprovalForAll& -TransactionFragmentArguments::set_with_transaction_project_uuid(); +template ENJINSDK_EXPORT SetApprovalForAll& +ProjectTransactionRequestArguments::set_eth_address(const std::string& address); } diff --git a/include/enjinsdk/project/SetMeltFee.hpp b/include/enjinsdk/project/SetMeltFee.hpp index 4447af35..3d0d098b 100644 --- a/include/enjinsdk/project/SetMeltFee.hpp +++ b/include/enjinsdk/project/SetMeltFee.hpp @@ -56,42 +56,38 @@ class ENJINSDK_EXPORT SetMeltFee : public graphql::AbstractGraphqlRequest, }; template ENJINSDK_EXPORT SetMeltFee& -ProjectTransactionRequestArguments::set_eth_address(const std::string& address); - -} +ProjectTransactionRequestArguments::set_transaction_asset_id_format(models::AssetIdFormat asset_id_format); -namespace enjin::sdk::shared { +template ENJINSDK_EXPORT SetMeltFee& ProjectTransactionRequestArguments::set_with_blockchain_data(); -template ENJINSDK_EXPORT project::SetMeltFee& -TransactionFragmentArguments::set_asset_id_format(models::AssetIdFormat asset_id_format); +template ENJINSDK_EXPORT SetMeltFee& ProjectTransactionRequestArguments::set_with_meta(); -template ENJINSDK_EXPORT project::SetMeltFee& -TransactionFragmentArguments::set_with_blockchain_data(); +template ENJINSDK_EXPORT SetMeltFee& ProjectTransactionRequestArguments::set_with_encoded_data(); -template ENJINSDK_EXPORT project::SetMeltFee& TransactionFragmentArguments::set_with_meta(); +template ENJINSDK_EXPORT SetMeltFee& ProjectTransactionRequestArguments::set_with_asset_data(); -template ENJINSDK_EXPORT project::SetMeltFee& -TransactionFragmentArguments::set_with_encoded_data(); +template ENJINSDK_EXPORT SetMeltFee& ProjectTransactionRequestArguments::set_with_signed_txs(); -template ENJINSDK_EXPORT project::SetMeltFee& TransactionFragmentArguments::set_with_asset_data(); +template ENJINSDK_EXPORT SetMeltFee& ProjectTransactionRequestArguments::set_with_error(); -template ENJINSDK_EXPORT project::SetMeltFee& TransactionFragmentArguments::set_with_signed_txs(); +template ENJINSDK_EXPORT SetMeltFee& ProjectTransactionRequestArguments::set_with_nonce(); -template ENJINSDK_EXPORT project::SetMeltFee& TransactionFragmentArguments::set_with_error(); +template ENJINSDK_EXPORT SetMeltFee& ProjectTransactionRequestArguments::set_with_state(); -template ENJINSDK_EXPORT project::SetMeltFee& TransactionFragmentArguments::set_with_nonce(); +template ENJINSDK_EXPORT SetMeltFee& ProjectTransactionRequestArguments::set_with_receipt(); -template ENJINSDK_EXPORT project::SetMeltFee& TransactionFragmentArguments::set_with_state(); +template ENJINSDK_EXPORT SetMeltFee& ProjectTransactionRequestArguments::set_with_receipt_logs(); -template ENJINSDK_EXPORT project::SetMeltFee& TransactionFragmentArguments::set_with_receipt(); +template ENJINSDK_EXPORT SetMeltFee& ProjectTransactionRequestArguments::set_with_log_event(); -template ENJINSDK_EXPORT project::SetMeltFee& -TransactionFragmentArguments::set_with_receipt_logs(); +template ENJINSDK_EXPORT SetMeltFee& +ProjectTransactionRequestArguments::set_with_transaction_project_uuid(); -template ENJINSDK_EXPORT project::SetMeltFee& TransactionFragmentArguments::set_with_log_event(); +template ENJINSDK_EXPORT SetMeltFee& +ProjectTransactionRequestArguments::set_with_transaction_wallet_address(); -template ENJINSDK_EXPORT project::SetMeltFee& -TransactionFragmentArguments::set_with_transaction_project_uuid(); +template ENJINSDK_EXPORT SetMeltFee& +ProjectTransactionRequestArguments::set_eth_address(const std::string& address); } diff --git a/include/enjinsdk/project/SetTransferFee.hpp b/include/enjinsdk/project/SetTransferFee.hpp index 9daaa217..a24f3225 100644 --- a/include/enjinsdk/project/SetTransferFee.hpp +++ b/include/enjinsdk/project/SetTransferFee.hpp @@ -55,50 +55,39 @@ class ENJINSDK_EXPORT SetTransferFee : public graphql::AbstractGraphqlRequest, }; template ENJINSDK_EXPORT SetTransferFee& -ProjectTransactionRequestArguments::set_eth_address(const std::string& address); - -} +ProjectTransactionRequestArguments::set_transaction_asset_id_format( + models::AssetIdFormat asset_id_format); -namespace enjin::sdk::shared { +template ENJINSDK_EXPORT SetTransferFee& ProjectTransactionRequestArguments::set_with_blockchain_data(); -template ENJINSDK_EXPORT project::SetTransferFee& -TransactionFragmentArguments::set_asset_id_format(models::AssetIdFormat asset_id_format); +template ENJINSDK_EXPORT SetTransferFee& ProjectTransactionRequestArguments::set_with_meta(); -template ENJINSDK_EXPORT project::SetTransferFee& -TransactionFragmentArguments::set_with_blockchain_data(); +template ENJINSDK_EXPORT SetTransferFee& ProjectTransactionRequestArguments::set_with_encoded_data(); -template ENJINSDK_EXPORT project::SetTransferFee& -TransactionFragmentArguments::set_with_meta(); +template ENJINSDK_EXPORT SetTransferFee& ProjectTransactionRequestArguments::set_with_asset_data(); -template ENJINSDK_EXPORT project::SetTransferFee& -TransactionFragmentArguments::set_with_encoded_data(); +template ENJINSDK_EXPORT SetTransferFee& ProjectTransactionRequestArguments::set_with_signed_txs(); -template ENJINSDK_EXPORT project::SetTransferFee& -TransactionFragmentArguments::set_with_asset_data(); +template ENJINSDK_EXPORT SetTransferFee& ProjectTransactionRequestArguments::set_with_error(); -template ENJINSDK_EXPORT project::SetTransferFee& -TransactionFragmentArguments::set_with_signed_txs(); +template ENJINSDK_EXPORT SetTransferFee& ProjectTransactionRequestArguments::set_with_nonce(); -template ENJINSDK_EXPORT project::SetTransferFee& -TransactionFragmentArguments::set_with_error(); +template ENJINSDK_EXPORT SetTransferFee& ProjectTransactionRequestArguments::set_with_state(); -template ENJINSDK_EXPORT project::SetTransferFee& -TransactionFragmentArguments::set_with_nonce(); +template ENJINSDK_EXPORT SetTransferFee& ProjectTransactionRequestArguments::set_with_receipt(); -template ENJINSDK_EXPORT project::SetTransferFee& -TransactionFragmentArguments::set_with_state(); +template ENJINSDK_EXPORT SetTransferFee& ProjectTransactionRequestArguments::set_with_receipt_logs(); -template ENJINSDK_EXPORT project::SetTransferFee& -TransactionFragmentArguments::set_with_receipt(); +template ENJINSDK_EXPORT SetTransferFee& ProjectTransactionRequestArguments::set_with_log_event(); -template ENJINSDK_EXPORT project::SetTransferFee& -TransactionFragmentArguments::set_with_receipt_logs(); +template ENJINSDK_EXPORT SetTransferFee& +ProjectTransactionRequestArguments::set_with_transaction_project_uuid(); -template ENJINSDK_EXPORT project::SetTransferFee& -TransactionFragmentArguments::set_with_log_event(); +template ENJINSDK_EXPORT SetTransferFee& +ProjectTransactionRequestArguments::set_with_transaction_wallet_address(); -template ENJINSDK_EXPORT project::SetTransferFee& -TransactionFragmentArguments::set_with_transaction_project_uuid(); +template ENJINSDK_EXPORT SetTransferFee& +ProjectTransactionRequestArguments::set_eth_address(const std::string& address); } diff --git a/include/enjinsdk/project/SetTransferable.hpp b/include/enjinsdk/project/SetTransferable.hpp index e85f78f2..7fdba2c2 100644 --- a/include/enjinsdk/project/SetTransferable.hpp +++ b/include/enjinsdk/project/SetTransferable.hpp @@ -62,50 +62,40 @@ class ENJINSDK_EXPORT SetTransferable : public graphql::AbstractGraphqlRequest, }; template ENJINSDK_EXPORT SetTransferable& -ProjectTransactionRequestArguments::set_eth_address(const std::string& address); - -} +ProjectTransactionRequestArguments::set_transaction_asset_id_format( + models::AssetIdFormat asset_id_format); -namespace enjin::sdk::shared { +template ENJINSDK_EXPORT SetTransferable& +ProjectTransactionRequestArguments::set_with_blockchain_data(); -template ENJINSDK_EXPORT project::SetTransferable& -TransactionFragmentArguments::set_asset_id_format(models::AssetIdFormat asset_id_format); +template ENJINSDK_EXPORT SetTransferable& ProjectTransactionRequestArguments::set_with_meta(); -template ENJINSDK_EXPORT project::SetTransferable& -TransactionFragmentArguments::set_with_blockchain_data(); +template ENJINSDK_EXPORT SetTransferable& ProjectTransactionRequestArguments::set_with_encoded_data(); -template ENJINSDK_EXPORT project::SetTransferable& -TransactionFragmentArguments::set_with_meta(); +template ENJINSDK_EXPORT SetTransferable& ProjectTransactionRequestArguments::set_with_asset_data(); -template ENJINSDK_EXPORT project::SetTransferable& -TransactionFragmentArguments::set_with_encoded_data(); +template ENJINSDK_EXPORT SetTransferable& ProjectTransactionRequestArguments::set_with_signed_txs(); -template ENJINSDK_EXPORT project::SetTransferable& -TransactionFragmentArguments::set_with_asset_data(); +template ENJINSDK_EXPORT SetTransferable& ProjectTransactionRequestArguments::set_with_error(); -template ENJINSDK_EXPORT project::SetTransferable& -TransactionFragmentArguments::set_with_signed_txs(); +template ENJINSDK_EXPORT SetTransferable& ProjectTransactionRequestArguments::set_with_nonce(); -template ENJINSDK_EXPORT project::SetTransferable& -TransactionFragmentArguments::set_with_error(); +template ENJINSDK_EXPORT SetTransferable& ProjectTransactionRequestArguments::set_with_state(); -template ENJINSDK_EXPORT project::SetTransferable& -TransactionFragmentArguments::set_with_nonce(); +template ENJINSDK_EXPORT SetTransferable& ProjectTransactionRequestArguments::set_with_receipt(); -template ENJINSDK_EXPORT project::SetTransferable& -TransactionFragmentArguments::set_with_state(); +template ENJINSDK_EXPORT SetTransferable& ProjectTransactionRequestArguments::set_with_receipt_logs(); -template ENJINSDK_EXPORT project::SetTransferable& -TransactionFragmentArguments::set_with_receipt(); +template ENJINSDK_EXPORT SetTransferable& ProjectTransactionRequestArguments::set_with_log_event(); -template ENJINSDK_EXPORT project::SetTransferable& -TransactionFragmentArguments::set_with_receipt_logs(); +template ENJINSDK_EXPORT SetTransferable& +ProjectTransactionRequestArguments::set_with_transaction_project_uuid(); -template ENJINSDK_EXPORT project::SetTransferable& -TransactionFragmentArguments::set_with_log_event(); +template ENJINSDK_EXPORT SetTransferable& +ProjectTransactionRequestArguments::set_with_transaction_wallet_address(); -template ENJINSDK_EXPORT project::SetTransferable& -TransactionFragmentArguments::set_with_transaction_project_uuid(); +template ENJINSDK_EXPORT SetTransferable& +ProjectTransactionRequestArguments::set_eth_address(const std::string& address); } diff --git a/include/enjinsdk/project/SetUri.hpp b/include/enjinsdk/project/SetUri.hpp index 6369ed4e..ccbd032c 100644 --- a/include/enjinsdk/project/SetUri.hpp +++ b/include/enjinsdk/project/SetUri.hpp @@ -61,39 +61,38 @@ class ENJINSDK_EXPORT SetUri : public graphql::AbstractGraphqlRequest, }; template ENJINSDK_EXPORT SetUri& -ProjectTransactionRequestArguments::set_eth_address(const std::string& address); - -} +ProjectTransactionRequestArguments::set_transaction_asset_id_format( + models::AssetIdFormat asset_id_format); -namespace enjin::sdk::shared { +template ENJINSDK_EXPORT SetUri& ProjectTransactionRequestArguments::set_with_blockchain_data(); -template ENJINSDK_EXPORT project::SetUri& -TransactionFragmentArguments::set_asset_id_format(models::AssetIdFormat asset_id_format); +template ENJINSDK_EXPORT SetUri& ProjectTransactionRequestArguments::set_with_meta(); -template ENJINSDK_EXPORT project::SetUri& TransactionFragmentArguments::set_with_blockchain_data(); +template ENJINSDK_EXPORT SetUri& ProjectTransactionRequestArguments::set_with_encoded_data(); -template ENJINSDK_EXPORT project::SetUri& TransactionFragmentArguments::set_with_meta(); +template ENJINSDK_EXPORT SetUri& ProjectTransactionRequestArguments::set_with_asset_data(); -template ENJINSDK_EXPORT project::SetUri& TransactionFragmentArguments::set_with_encoded_data(); +template ENJINSDK_EXPORT SetUri& ProjectTransactionRequestArguments::set_with_signed_txs(); -template ENJINSDK_EXPORT project::SetUri& TransactionFragmentArguments::set_with_asset_data(); +template ENJINSDK_EXPORT SetUri& ProjectTransactionRequestArguments::set_with_error(); -template ENJINSDK_EXPORT project::SetUri& TransactionFragmentArguments::set_with_signed_txs(); +template ENJINSDK_EXPORT SetUri& ProjectTransactionRequestArguments::set_with_nonce(); -template ENJINSDK_EXPORT project::SetUri& TransactionFragmentArguments::set_with_error(); +template ENJINSDK_EXPORT SetUri& ProjectTransactionRequestArguments::set_with_state(); -template ENJINSDK_EXPORT project::SetUri& TransactionFragmentArguments::set_with_nonce(); +template ENJINSDK_EXPORT SetUri& ProjectTransactionRequestArguments::set_with_receipt(); -template ENJINSDK_EXPORT project::SetUri& TransactionFragmentArguments::set_with_state(); +template ENJINSDK_EXPORT SetUri& ProjectTransactionRequestArguments::set_with_receipt_logs(); -template ENJINSDK_EXPORT project::SetUri& TransactionFragmentArguments::set_with_receipt(); +template ENJINSDK_EXPORT SetUri& ProjectTransactionRequestArguments::set_with_log_event(); -template ENJINSDK_EXPORT project::SetUri& TransactionFragmentArguments::set_with_receipt_logs(); +template ENJINSDK_EXPORT SetUri& ProjectTransactionRequestArguments::set_with_transaction_project_uuid(); -template ENJINSDK_EXPORT project::SetUri& TransactionFragmentArguments::set_with_log_event(); +template ENJINSDK_EXPORT SetUri& +ProjectTransactionRequestArguments::set_with_transaction_wallet_address(); -template ENJINSDK_EXPORT project::SetUri& -TransactionFragmentArguments::set_with_transaction_project_uuid(); +template ENJINSDK_EXPORT SetUri& +ProjectTransactionRequestArguments::set_eth_address(const std::string& address); } diff --git a/include/enjinsdk/project/SetWhitelisted.hpp b/include/enjinsdk/project/SetWhitelisted.hpp index eba307cf..95f52f1b 100644 --- a/include/enjinsdk/project/SetWhitelisted.hpp +++ b/include/enjinsdk/project/SetWhitelisted.hpp @@ -73,51 +73,51 @@ class ENJINSDK_EXPORT SetWhitelisted : public graphql::AbstractGraphqlRequest, std::optional on; }; -template ENJINSDK_EXPORT SetWhitelisted& -ProjectTransactionRequestArguments::set_eth_address(const std::string& address); - -} - -namespace enjin::sdk::shared { - template ENJINSDK_EXPORT project::SetWhitelisted& -TransactionFragmentArguments::set_asset_id_format(models::AssetIdFormat asset_id_format); +ProjectTransactionRequestArguments::set_transaction_asset_id_format( + models::AssetIdFormat asset_id_format); template ENJINSDK_EXPORT project::SetWhitelisted& -TransactionFragmentArguments::set_with_blockchain_data(); +ProjectTransactionRequestArguments::set_with_blockchain_data(); template ENJINSDK_EXPORT project::SetWhitelisted& -TransactionFragmentArguments::set_with_meta(); +ProjectTransactionRequestArguments::set_with_meta(); template ENJINSDK_EXPORT project::SetWhitelisted& -TransactionFragmentArguments::set_with_encoded_data(); +ProjectTransactionRequestArguments::set_with_encoded_data(); template ENJINSDK_EXPORT project::SetWhitelisted& -TransactionFragmentArguments::set_with_asset_data(); +ProjectTransactionRequestArguments::set_with_asset_data(); template ENJINSDK_EXPORT project::SetWhitelisted& -TransactionFragmentArguments::set_with_signed_txs(); +ProjectTransactionRequestArguments::set_with_signed_txs(); -template ENJINSDK_EXPORT project::SetWhitelisted& -TransactionFragmentArguments::set_with_error(); +template ENJINSDK_EXPORT SetWhitelisted& +ProjectTransactionRequestArguments::set_with_error(); -template ENJINSDK_EXPORT project::SetWhitelisted& -TransactionFragmentArguments::set_with_nonce(); +template ENJINSDK_EXPORT SetWhitelisted& +ProjectTransactionRequestArguments::set_with_nonce(); -template ENJINSDK_EXPORT project::SetWhitelisted& -TransactionFragmentArguments::set_with_state(); +template ENJINSDK_EXPORT SetWhitelisted& +ProjectTransactionRequestArguments::set_with_state(); -template ENJINSDK_EXPORT project::SetWhitelisted& -TransactionFragmentArguments::set_with_receipt(); +template ENJINSDK_EXPORT SetWhitelisted& +ProjectTransactionRequestArguments::set_with_receipt(); -template ENJINSDK_EXPORT project::SetWhitelisted& -TransactionFragmentArguments::set_with_receipt_logs(); +template ENJINSDK_EXPORT SetWhitelisted& +ProjectTransactionRequestArguments::set_with_receipt_logs(); -template ENJINSDK_EXPORT project::SetWhitelisted& -TransactionFragmentArguments::set_with_log_event(); +template ENJINSDK_EXPORT SetWhitelisted& +ProjectTransactionRequestArguments::set_with_log_event(); -template ENJINSDK_EXPORT project::SetWhitelisted& -TransactionFragmentArguments::set_with_transaction_project_uuid(); +template ENJINSDK_EXPORT SetWhitelisted& +ProjectTransactionRequestArguments::set_with_transaction_project_uuid(); + +template ENJINSDK_EXPORT SetWhitelisted& +ProjectTransactionRequestArguments::set_with_transaction_wallet_address(); + +template ENJINSDK_EXPORT SetWhitelisted& +ProjectTransactionRequestArguments::set_eth_address(const std::string& address); } diff --git a/include/enjinsdk/shared/AssetFragmentArguments.hpp b/include/enjinsdk/shared/AssetFragmentArguments.hpp index 485b36a4..1b377490 100644 --- a/include/enjinsdk/shared/AssetFragmentArguments.hpp +++ b/include/enjinsdk/shared/AssetFragmentArguments.hpp @@ -37,49 +37,49 @@ class ENJINSDK_EXPORT AssetFragmentArguments : public serialization::ISerializab /// \brief Sets the desired asset ID format. /// \param asset_id_format The format. /// \return This request for chaining. - T& set_asset_id_format(models::AssetIdFormat asset_id_format) { + virtual T& set_asset_id_format(models::AssetIdFormat asset_id_format) { impl.set_asset_id_format(asset_id_format); return dynamic_cast(*this); } /// \brief Sets the request to include the state data with the asset. /// \return This request for chaining. - T& set_with_state_data() { + virtual T& set_with_state_data() { impl.set_with_state_data(); return dynamic_cast(*this); } /// \brief Sets the request to include the configuration data with the asset. /// \return This request for chaining. - T& set_with_config_data() { + virtual T& set_with_config_data() { impl.set_with_config_data(); return dynamic_cast(*this); } /// \brief Sets the request to include the block data with the asset when used with set_with_state_data(). /// \return This request for chaining. - T& set_with_asset_blocks() { + virtual T& set_with_asset_blocks() { impl.set_with_asset_blocks(); return dynamic_cast(*this); } /// \brief Sets the request to include the creator with the asset when used with set_with_state_data(). /// \return This request for chaining. - T& set_with_creator() { + virtual T& set_with_creator() { impl.set_with_creator(); return dynamic_cast(*this); } /// \brief Sets the request to include the melt details with the asset when used with set_with_config_data(). /// \return This request for chaining. - T& set_with_melt_details() { + virtual T& set_with_melt_details() { impl.set_with_melt_details(); return dynamic_cast(*this); } /// \brief Sets the request to include the metadata URI with the asset when used with set_with_config_data(). /// \return This request for chaining. - T& set_with_metadata_uri() { + virtual T& set_with_metadata_uri() { impl.set_with_metadata_uri(); return dynamic_cast(*this); } @@ -87,7 +87,7 @@ class ENJINSDK_EXPORT AssetFragmentArguments : public serialization::ISerializab /// \brief Sets the request to include the supply details with the asset when used with /// set_with_state_data(). /// \return This request for chaining. - T& set_with_supply_details() { + virtual T& set_with_supply_details() { impl.set_with_supply_details(); return dynamic_cast(*this); } @@ -95,21 +95,21 @@ class ENJINSDK_EXPORT AssetFragmentArguments : public serialization::ISerializab /// \brief Sets the request to include the transfer settings with the asset when used with /// set_with_config_data(). /// \return This request for chaining. - T& set_with_transfer_settings() { + virtual T& set_with_transfer_settings() { impl.set_with_transfer_settings(); return dynamic_cast(*this); } /// \brief Sets the request to include the variant mode with the asset. /// \return This request for chaining. - T& set_with_asset_variant_mode() { + virtual T& set_with_asset_variant_mode() { impl.set_with_asset_variant_mode(); return dynamic_cast(*this); } /// \brief Sets the request to include the variants with the asset. /// \return This request for chaining. - T& set_with_asset_variants() { + virtual T& set_with_asset_variants() { impl.set_with_asset_variants(); return dynamic_cast(*this); } @@ -117,7 +117,7 @@ class ENJINSDK_EXPORT AssetFragmentArguments : public serialization::ISerializab /// \brief Sets the request to include the metadata for the variants with the asset when used with /// set_with_asset_variants(). /// \return This request for chaining. - T& set_with_variant_metadata() { + virtual T& set_with_variant_metadata() { impl.set_with_variant_metadata(); return dynamic_cast(*this); } @@ -127,7 +127,7 @@ class ENJINSDK_EXPORT AssetFragmentArguments : public serialization::ISerializab } bool operator!=(const AssetFragmentArguments& rhs) const { - return rhs != *this; + return impl != rhs.impl; } protected: diff --git a/include/enjinsdk/shared/BalanceFragmentArguments.hpp b/include/enjinsdk/shared/BalanceFragmentArguments.hpp index 7911269c..e59fbfda 100644 --- a/include/enjinsdk/shared/BalanceFragmentArguments.hpp +++ b/include/enjinsdk/shared/BalanceFragmentArguments.hpp @@ -39,7 +39,7 @@ class ENJINSDK_EXPORT BalanceFragmentArguments : public serialization::ISerializ /// \brief Sets the desired asset ID format. /// \param bal_id_format The ID format. /// \return This request for chaining. - T& set_bal_id_format(models::AssetIdFormat bal_id_format) { + virtual T& set_bal_id_format(models::AssetIdFormat bal_id_format) { impl.set_bal_id_format(bal_id_format); return dynamic_cast(*this); } @@ -47,21 +47,21 @@ class ENJINSDK_EXPORT BalanceFragmentArguments : public serialization::ISerializ /// \brief Sets the desired index format for non-fungible assets. /// \param bal_index_format The index format. /// \return This request for chaining. - T& set_bal_index_format(models::AssetIndexFormat bal_index_format) { + virtual T& set_bal_index_format(models::AssetIndexFormat bal_index_format) { impl.set_bal_index_format(bal_index_format); return dynamic_cast(*this); } /// \brief Sets the request to include the project UUID with the balance. /// \return This request for chaining. - T& set_with_bal_project_uuid() { + virtual T& set_with_bal_project_uuid() { impl.set_with_bal_project_uuid(); return dynamic_cast(*this); } /// \brief Sets the request to include the wallet address with balance. /// \return This request for chaining. - T& set_with_bal_wallet_address() { + virtual T& set_with_bal_wallet_address() { impl.set_with_bal_wallet_address(); return dynamic_cast(*this); } @@ -71,7 +71,7 @@ class ENJINSDK_EXPORT BalanceFragmentArguments : public serialization::ISerializ } bool operator!=(const BalanceFragmentArguments& rhs) const { - return rhs != *this; + return impl != rhs.impl; } protected: diff --git a/include/enjinsdk/shared/GetRequest.hpp b/include/enjinsdk/shared/GetRequest.hpp index 6d0ac81b..71d3ec75 100644 --- a/include/enjinsdk/shared/GetRequest.hpp +++ b/include/enjinsdk/shared/GetRequest.hpp @@ -55,7 +55,7 @@ class ENJINSDK_EXPORT GetRequest : public graphql::AbstractGraphqlRequest, }; template ENJINSDK_EXPORT GetRequest& -TransactionFragmentArguments::set_asset_id_format(models::AssetIdFormat asset_id_format); +TransactionFragmentArguments::set_transaction_asset_id_format(models::AssetIdFormat asset_id_format); template ENJINSDK_EXPORT GetRequest& TransactionFragmentArguments::set_with_blockchain_data(); @@ -81,6 +81,8 @@ template ENJINSDK_EXPORT GetRequest& TransactionFragmentArguments::s template ENJINSDK_EXPORT GetRequest& TransactionFragmentArguments::set_with_transaction_project_uuid(); +template ENJINSDK_EXPORT GetRequest& TransactionFragmentArguments::set_with_transaction_wallet_address(); + } #endif //ENJINCPPSDK_SHAREDGETREQUEST_HPP diff --git a/include/enjinsdk/shared/GetRequests.hpp b/include/enjinsdk/shared/GetRequests.hpp index 4568b01a..d328bbaf 100644 --- a/include/enjinsdk/shared/GetRequests.hpp +++ b/include/enjinsdk/shared/GetRequests.hpp @@ -58,7 +58,7 @@ class ENJINSDK_EXPORT GetRequests : public graphql::AbstractGraphqlRequest, }; template ENJINSDK_EXPORT GetRequests& -TransactionFragmentArguments::set_asset_id_format(models::AssetIdFormat asset_id_format); +TransactionFragmentArguments::set_transaction_asset_id_format(models::AssetIdFormat asset_id_format); template ENJINSDK_EXPORT GetRequests& TransactionFragmentArguments::set_with_blockchain_data(); @@ -89,6 +89,8 @@ template ENJINSDK_EXPORT GetRequests& PaginationArguments::set_pagi template ENJINSDK_EXPORT GetRequests& TransactionFragmentArguments::set_with_transaction_project_uuid(); +template ENJINSDK_EXPORT GetRequests& TransactionFragmentArguments::set_with_transaction_wallet_address(); + } #endif //ENJINCPPSDK_SHAREDGETREQUESTS_HPP diff --git a/include/enjinsdk/shared/PaginationArguments.hpp b/include/enjinsdk/shared/PaginationArguments.hpp index 8b9ec6b9..0abafd33 100644 --- a/include/enjinsdk/shared/PaginationArguments.hpp +++ b/include/enjinsdk/shared/PaginationArguments.hpp @@ -38,7 +38,7 @@ class ENJINSDK_EXPORT PaginationArguments : public serialization::ISerializable /// \brief Sets the pagination options via a move. /// \param pagination The options to move. /// \return This request for chaining. - T& set_pagination(models::PaginationOptions pagination) { + virtual T& set_pagination(models::PaginationOptions pagination) { impl.set_pagination(std::move(pagination)); return dynamic_cast(*this); } @@ -47,7 +47,7 @@ class ENJINSDK_EXPORT PaginationArguments : public serialization::ISerializable /// \param page The page to start on. /// \param limit The number of items per page. /// \return This request for chaining. - T& set_pagination(int page, int limit) { + virtual T& set_pagination(int page, int limit) { impl.set_pagination(page, limit); return dynamic_cast(*this); } @@ -57,7 +57,7 @@ class ENJINSDK_EXPORT PaginationArguments : public serialization::ISerializable } bool operator!=(const PaginationArguments& rhs) const { - return rhs != *this; + return impl != rhs.impl; } protected: diff --git a/include/enjinsdk/shared/PlayerFragmentArguments.hpp b/include/enjinsdk/shared/PlayerFragmentArguments.hpp index b1db2015..82762f9c 100644 --- a/include/enjinsdk/shared/PlayerFragmentArguments.hpp +++ b/include/enjinsdk/shared/PlayerFragmentArguments.hpp @@ -34,9 +34,11 @@ class ENJINSDK_EXPORT PlayerFragmentArguments : public WalletFragmentArguments(*this); } @@ -44,24 +46,202 @@ class ENJINSDK_EXPORT PlayerFragmentArguments : public WalletFragmentArguments(*this); } /// \brief Sets the request to include the wallet with the player. /// \return This request for chaining. - T& set_with_wallet() { + virtual T& set_with_wallet() { impl.set_with_wallet(); return dynamic_cast(*this); } + // WalletFragmentArguments functions + + virtual T& set_wallet_balance_filter(models::BalanceFilter filter) override { + impl.set_wallet_balance_filter(std::move(filter)); + return dynamic_cast(*this); + } + + virtual T& set_with_assets_created() override { + impl.set_with_assets_created(); + return dynamic_cast(*this); + } + + virtual T& set_with_wallet_balances() override { + impl.set_with_wallet_balances(); + return dynamic_cast(*this); + } + + virtual T& set_with_wallet_transactions() override { + impl.set_with_wallet_transactions(); + return dynamic_cast(*this); + } + + // AssetFragmentArguments functions + + virtual T& set_asset_id_format(models::AssetIdFormat asset_id_format) override { + impl.set_asset_id_format(asset_id_format); + return dynamic_cast(*this); + } + + virtual T& set_with_state_data() override { + impl.set_with_state_data(); + return dynamic_cast(*this); + } + + virtual T& set_with_config_data() override { + impl.set_with_config_data(); + return dynamic_cast(*this); + } + + virtual T& set_with_asset_blocks() override { + impl.set_with_asset_blocks(); + return dynamic_cast(*this); + } + + virtual T& set_with_creator() override { + impl.set_with_creator(); + return dynamic_cast(*this); + } + + virtual T& set_with_melt_details() override { + impl.set_with_melt_details(); + return dynamic_cast(*this); + } + + virtual T& set_with_metadata_uri() override { + impl.set_with_metadata_uri(); + return dynamic_cast(*this); + } + + virtual T& set_with_supply_details() override { + impl.set_with_supply_details(); + return dynamic_cast(*this); + } + + virtual T& set_with_transfer_settings() override { + impl.set_with_transfer_settings(); + return dynamic_cast(*this); + } + + virtual T& set_with_asset_variant_mode() override { + impl.set_with_asset_variant_mode(); + return dynamic_cast(*this); + } + + virtual T& set_with_asset_variants() override { + impl.set_with_asset_variants(); + return dynamic_cast(*this); + } + + virtual T& set_with_variant_metadata() override { + impl.set_with_variant_metadata(); + return dynamic_cast(*this); + } + + // BalanceFragmentArguments functions + + virtual T& set_bal_id_format(models::AssetIdFormat bal_id_format) override { + impl.set_bal_id_format(bal_id_format); + return dynamic_cast(*this); + } + + virtual T& set_bal_index_format(models::AssetIndexFormat bal_index_format) override { + impl.set_bal_index_format(bal_index_format); + return dynamic_cast(*this); + } + + virtual T& set_with_bal_project_uuid() override { + impl.set_with_bal_project_uuid(); + return dynamic_cast(*this); + } + + virtual T& set_with_bal_wallet_address() override { + impl.set_with_bal_wallet_address(); + return dynamic_cast(*this); + } + + // TransactionFragmentArguments functions + + virtual T& set_transaction_asset_id_format(models::AssetIdFormat asset_id_format) override { + impl.set_transaction_asset_id_format(asset_id_format); + return dynamic_cast(*this); + } + + virtual T& set_with_blockchain_data() override { + impl.set_with_blockchain_data(); + return dynamic_cast(*this); + } + + virtual T& set_with_meta() override { + impl.set_with_meta(); + return dynamic_cast(*this); + } + + virtual T& set_with_encoded_data() override { + impl.set_with_encoded_data(); + return dynamic_cast(*this); + } + + virtual T& set_with_asset_data() override { + impl.set_with_asset_data(); + return dynamic_cast(*this); + } + + virtual T& set_with_signed_txs() override { + impl.set_with_signed_txs(); + return dynamic_cast(*this); + } + + virtual T& set_with_error() override { + impl.set_with_error(); + return dynamic_cast(*this); + } + + virtual T& set_with_nonce() override { + impl.set_with_nonce(); + return dynamic_cast(*this); + } + + virtual T& set_with_state() override { + impl.set_with_state(); + return dynamic_cast(*this); + } + + virtual T& set_with_receipt() override { + impl.set_with_receipt(); + return dynamic_cast(*this); + } + + virtual T& set_with_receipt_logs() override { + impl.set_with_receipt_logs(); + return dynamic_cast(*this); + } + + virtual T& set_with_log_event() override { + impl.set_with_log_event(); + return dynamic_cast(*this); + } + + virtual T& set_with_transaction_project_uuid() override { + impl.set_with_transaction_project_uuid(); + return dynamic_cast(*this); + } + + virtual T& set_with_transaction_wallet_address() override { + impl.set_with_transaction_wallet_address(); + return dynamic_cast(*this); + } + bool operator==(const PlayerFragmentArguments& rhs) const { return impl == rhs.impl; } bool operator!=(const PlayerFragmentArguments& rhs) const { - return rhs != *this; + return impl != rhs.impl; } protected: diff --git a/include/enjinsdk/shared/TransactionFragmentArguments.hpp b/include/enjinsdk/shared/TransactionFragmentArguments.hpp index 8f26344e..de176d38 100644 --- a/include/enjinsdk/shared/TransactionFragmentArguments.hpp +++ b/include/enjinsdk/shared/TransactionFragmentArguments.hpp @@ -36,21 +36,21 @@ class ENJINSDK_EXPORT TransactionFragmentArguments : public serialization::ISeri /// \brief Sets the desired asset ID format. /// \param asset_id_format The format. /// \return This request for chaining. - T& set_asset_id_format(models::AssetIdFormat asset_id_format) { - impl.set_asset_id_format(asset_id_format); + virtual T& set_transaction_asset_id_format(models::AssetIdFormat asset_id_format) { + impl.set_transaction_asset_id_format(asset_id_format); return dynamic_cast(*this); } /// \brief Sets the request to include the blockchain data with the transaction. /// \return This request for chaining. - T& set_with_blockchain_data() { + virtual T& set_with_blockchain_data() { impl.set_with_blockchain_data(); return dynamic_cast(*this); } /// \brief Sets the request to include the metadata with the transaction. /// \return This request for chaining. - T& set_with_meta() { + virtual T& set_with_meta() { impl.set_with_meta(); return dynamic_cast(*this); } @@ -58,14 +58,14 @@ class ENJINSDK_EXPORT TransactionFragmentArguments : public serialization::ISeri /// \brief Sets the request to include the encoded data with the transaction when used with /// set_with_blockchain_data(). /// \return This request for chaining. - T& set_with_encoded_data() { + virtual T& set_with_encoded_data() { impl.set_with_encoded_data(); return dynamic_cast(*this); } /// \brief Sets the request to include the asset data with the transaction. /// \return This request for chaining. - T& set_with_asset_data() { + virtual T& set_with_asset_data() { impl.set_with_asset_data(); return dynamic_cast(*this); } @@ -73,66 +73,73 @@ class ENJINSDK_EXPORT TransactionFragmentArguments : public serialization::ISeri /// \brief Sets the request to include the signed transactions with the transaction when used with /// set_with_blockchain_data(). /// \return This request for chaining. - T& set_with_signed_txs() { + virtual T& set_with_signed_txs() { impl.set_with_signed_txs(); return dynamic_cast(*this); } /// \brief Sets the request to include the error with the transaction when used with set_with_blockchain_data(). /// \return This request for chaining. - T& set_with_error() { + virtual T& set_with_error() { impl.set_with_error(); return dynamic_cast(*this); } /// \brief Sets the request to include the nonce with the transaction when used with set_with_blockchain_data(). /// \return This request for chaining. - T& set_with_nonce() { + virtual T& set_with_nonce() { impl.set_with_nonce(); return dynamic_cast(*this); } /// \brief Sets the request to include the state with the transaction when used with set_with_blockchain_data(). /// \return This request for chaining. - T& set_with_state() { + virtual T& set_with_state() { impl.set_with_state(); return dynamic_cast(*this); } /// \brief Sets the request to include the receipt with the transaction when used with set_with_blockchain_data(). /// \return This request for chaining. - T& set_with_receipt() { + virtual T& set_with_receipt() { impl.set_with_receipt(); return dynamic_cast(*this); } /// \brief Sets the request to include the logs in the receipt when used with set_with_receipt(). /// \return This request for chaining. - T& set_with_receipt_logs() { + virtual T& set_with_receipt_logs() { impl.set_with_receipt_logs(); return dynamic_cast(*this); } /// \brief Sets the request to include the event data in the receipt logs when used with set_with_receipt_logs(). /// \return This request for chaining. - T& set_with_log_event() { + virtual T& set_with_log_event() { impl.set_with_log_event(); return dynamic_cast(*this); } - /// \brief Sets the request to include the project with its UUID field that this belongs to. + /// \brief Sets the request to include the project with its UUID field that the transaction belongs to. /// \return This request for chaining. - T& set_with_transaction_project_uuid() { + virtual T& set_with_transaction_project_uuid() { impl.set_with_transaction_project_uuid(); return dynamic_cast(*this); } + /// \brief Sets the request to include the wallet with its Ethereum address that belongs to the transaction. + /// \return This request for chaining. + virtual T& set_with_transaction_wallet_address() { + impl.set_with_transaction_wallet_address(); + return dynamic_cast(*this); + } + bool operator==(const TransactionFragmentArguments& rhs) const { return impl == rhs.impl; } bool operator!=(const TransactionFragmentArguments& rhs) const { - return rhs != *this; + return impl != rhs.impl; } protected: diff --git a/include/enjinsdk/shared/WalletFragmentArguments.hpp b/include/enjinsdk/shared/WalletFragmentArguments.hpp index e310e45b..7020c1a5 100644 --- a/include/enjinsdk/shared/WalletFragmentArguments.hpp +++ b/include/enjinsdk/shared/WalletFragmentArguments.hpp @@ -18,15 +18,21 @@ #include "enjinsdk_export.h" #include "enjinsdk/internal/WalletFragmentArgumentsImpl.hpp" +#include "enjinsdk/models/BalanceFilter.hpp" #include "enjinsdk/shared/AssetFragmentArguments.hpp" +#include "enjinsdk/shared/BalanceFragmentArguments.hpp" +#include "enjinsdk/shared/TransactionFragmentArguments.hpp" #include +#include namespace enjin::sdk::shared { /// \brief Fragment interface used to request certain information from wallets returned by the platform. /// \tparam T The type of the implementing class. template -class ENJINSDK_EXPORT WalletFragmentArguments : public AssetFragmentArguments { +class ENJINSDK_EXPORT WalletFragmentArguments : public AssetFragmentArguments, + public BalanceFragmentArguments, + public TransactionFragmentArguments { public: ~WalletFragmentArguments() override = default; @@ -34,19 +40,199 @@ class ENJINSDK_EXPORT WalletFragmentArguments : public AssetFragmentArguments return impl.serialize(); } + // WalletFragmentArguments functions + + /// \brief Sets the balance filter when used with with_wallet_balances(). + /// \param filter The filter. + /// \return This request for chaining. + virtual T& set_wallet_balance_filter(models::BalanceFilter filter) { + impl.set_wallet_balance_filter(std::move(filter)); + return dynamic_cast(*this); + } + /// Sets the request to include the assets created by the wallet. /// \return This request for chaining. - T& set_with_assets_created() { + virtual T& set_with_assets_created() { impl.set_with_assets_created(); return dynamic_cast(*this); } + /// \brief Sets the request to include the asset balances of the wallet. + /// \return This request for chaining. + virtual T& set_with_wallet_balances() { + impl.set_with_wallet_balances(); + return dynamic_cast(*this); + } + + /// \brief Sets the request to include the transactions the wallet has signed. + /// \return This request for chaining. + virtual T& set_with_wallet_transactions() { + impl.set_with_wallet_transactions(); + return dynamic_cast(*this); + } + + // AssetFragmentArguments functions + + virtual T& set_asset_id_format(models::AssetIdFormat asset_id_format) override { + impl.set_asset_id_format(asset_id_format); + return dynamic_cast(*this); + } + + virtual T& set_with_state_data() override { + impl.set_with_state_data(); + return dynamic_cast(*this); + } + + virtual T& set_with_config_data() override { + impl.set_with_config_data(); + return dynamic_cast(*this); + } + + virtual T& set_with_asset_blocks() override { + impl.set_with_asset_blocks(); + return dynamic_cast(*this); + } + + virtual T& set_with_creator() override { + impl.set_with_creator(); + return dynamic_cast(*this); + } + + virtual T& set_with_melt_details() override { + impl.set_with_melt_details(); + return dynamic_cast(*this); + } + + virtual T& set_with_metadata_uri() override { + impl.set_with_metadata_uri(); + return dynamic_cast(*this); + } + + virtual T& set_with_supply_details() override { + impl.set_with_supply_details(); + return dynamic_cast(*this); + } + + virtual T& set_with_transfer_settings() override { + impl.set_with_transfer_settings(); + return dynamic_cast(*this); + } + + virtual T& set_with_asset_variant_mode() override { + impl.set_with_asset_variant_mode(); + return dynamic_cast(*this); + } + + virtual T& set_with_asset_variants() override { + impl.set_with_asset_variants(); + return dynamic_cast(*this); + } + + virtual T& set_with_variant_metadata() override { + impl.set_with_variant_metadata(); + return dynamic_cast(*this); + } + + // BalanceFragmentArguments functions + + virtual T& set_bal_id_format(models::AssetIdFormat bal_id_format) override { + impl.set_bal_id_format(bal_id_format); + return dynamic_cast(*this); + } + + virtual T& set_bal_index_format(models::AssetIndexFormat bal_index_format) override { + impl.set_bal_index_format(bal_index_format); + return dynamic_cast(*this); + } + + virtual T& set_with_bal_project_uuid() override { + impl.set_with_bal_project_uuid(); + return dynamic_cast(*this); + } + + virtual T& set_with_bal_wallet_address() override { + impl.set_with_bal_wallet_address(); + return dynamic_cast(*this); + } + + // TransactionFragmentArguments functions + + virtual T& set_transaction_asset_id_format(models::AssetIdFormat asset_id_format) override { + impl.set_transaction_asset_id_format(asset_id_format); + return dynamic_cast(*this); + } + + virtual T& set_with_blockchain_data() override { + impl.set_with_blockchain_data(); + return dynamic_cast(*this); + } + + virtual T& set_with_meta() override { + impl.set_with_meta(); + return dynamic_cast(*this); + } + + virtual T& set_with_encoded_data() override { + impl.set_with_encoded_data(); + return dynamic_cast(*this); + } + + virtual T& set_with_asset_data() override { + impl.set_with_asset_data(); + return dynamic_cast(*this); + } + + virtual T& set_with_signed_txs() override { + impl.set_with_signed_txs(); + return dynamic_cast(*this); + } + + virtual T& set_with_error() override { + impl.set_with_error(); + return dynamic_cast(*this); + } + + virtual T& set_with_nonce() override { + impl.set_with_nonce(); + return dynamic_cast(*this); + } + + virtual T& set_with_state() override { + impl.set_with_state(); + return dynamic_cast(*this); + } + + virtual T& set_with_receipt() override { + impl.set_with_receipt(); + return dynamic_cast(*this); + } + + virtual T& set_with_receipt_logs() override { + impl.set_with_receipt_logs(); + return dynamic_cast(*this); + } + + virtual T& set_with_log_event() override { + impl.set_with_log_event(); + return dynamic_cast(*this); + } + + virtual T& set_with_transaction_project_uuid() override { + impl.set_with_transaction_project_uuid(); + return dynamic_cast(*this); + } + + virtual T& set_with_transaction_wallet_address() override { + impl.set_with_transaction_wallet_address(); + return dynamic_cast(*this); + } + bool operator==(const WalletFragmentArguments& rhs) const { return impl == rhs.impl; } bool operator!=(const WalletFragmentArguments& rhs) const { - return rhs != *this; + return impl != rhs.impl; } protected: diff --git a/src/graphql/templates/enjin/schemas/shared/fragment/Transaction.gql b/src/graphql/templates/enjin/schemas/shared/fragment/Transaction.gql index c62341a6..de61cfdb 100644 --- a/src/graphql/templates/enjin/schemas/shared/fragment/Transaction.gql +++ b/src/graphql/templates/enjin/schemas/shared/fragment/Transaction.gql @@ -1,6 +1,6 @@ #namespace enjin.sdk.shared.Transaction -#arg assetIdFormat AssetIdFormat +#arg transactionAssetIdFormat AssetIdFormat #arg withMeta Boolean false #arg withBlockchainData Boolean false #arg withEncodedData Boolean false @@ -13,6 +13,7 @@ #arg withReceiptLogs Boolean false #arg withLogEvent Boolean false #arg withTransactionProjectUuid Boolean false +#arg withTransactionWalletAddress Boolean false fragment Transaction on Transaction { id @@ -63,7 +64,10 @@ fragment Transaction on Transaction { uuid } asset @include(if: $withAssetData) { - id(format: $assetIdFormat) + id(format: $transactionAssetIdFormat) + } + wallet @include(if: $withTransactionWalletAddress) { + ethAddress } createdAt updatedAt diff --git a/src/graphql/templates/enjin/schemas/shared/fragment/Wallet.gql b/src/graphql/templates/enjin/schemas/shared/fragment/Wallet.gql index 7162fa7f..2fa8a7c3 100644 --- a/src/graphql/templates/enjin/schemas/shared/fragment/Wallet.gql +++ b/src/graphql/templates/enjin/schemas/shared/fragment/Wallet.gql @@ -1,7 +1,12 @@ #namespace enjin.sdk.shared.Wallet #import enjin.sdk.shared.Asset +#import enjin.sdk.shared.Balance +#import enjin.sdk.shared.Transaction +#arg walletBalanceFilter BalanceFilter #arg withAssetsCreated Boolean false +#arg withWalletBalances Boolean false +#arg withWalletTransactions Boolean false fragment Wallet on Wallet { ethAddress @@ -11,4 +16,10 @@ fragment Wallet on Wallet { assetsCreated @include(if: $withAssetsCreated) { ...Asset } + balances(filter: $walletBalanceFilter) @include(if: $withWalletBalances) { + ...Balance + } + transactions @include(if: $withWalletTransactions) { + ...Transaction + } } diff --git a/src/models/Balance.cpp b/src/models/Balance.cpp index 54f54dd8..eb991e83 100644 --- a/src/models/Balance.cpp +++ b/src/models/Balance.cpp @@ -17,60 +17,135 @@ #include "RapidJsonUtils.hpp" -namespace enjin::sdk::models { +using namespace enjin::sdk::models; +using namespace enjin::sdk::serialization; +using namespace enjin::sdk::utils; + +class Balance::Impl : public IDeserializable { +public: + Impl() = default; + + ~Impl() override = default; + + void deserialize(const std::string& json) override { + rapidjson::Document document; + document.Parse(json.c_str()); + + if (!document.IsObject()) { + return; + } -void Balance::deserialize(const std::string& json) { - rapidjson::Document document; - document.Parse(json.c_str()); - if (document.IsObject()) { if (document.HasMember(ID_KEY) && document[ID_KEY].IsString()) { id.emplace(document[ID_KEY].GetString()); } + if (document.HasMember(INDEX_KEY) && document[INDEX_KEY].IsString()) { index.emplace(document[INDEX_KEY].GetString()); } + if (document.HasMember(VALUE_KEY) && document[VALUE_KEY].IsInt()) { value.emplace(document[VALUE_KEY].GetInt()); } + if (document.HasMember(PROJECT_KEY) && document[PROJECT_KEY].IsObject()) { - project.emplace(utils::get_object_as_type(document, PROJECT_KEY)); + project.emplace(get_object_as_type(document, PROJECT_KEY)); } + if (document.HasMember(WALLET_KEY) && document[WALLET_KEY].IsObject()) { - wallet.emplace(utils::get_object_as_type(document, WALLET_KEY)); + wallet.emplace(get_object_as_type(document, WALLET_KEY)); } } + + [[nodiscard]] const std::optional& get_id() const { + return id; + } + + [[nodiscard]] const std::optional& get_index() const { + return index; + } + + [[nodiscard]] const std::optional& get_value() const { + return value; + } + + [[nodiscard]] const std::optional& get_project() const { + return project; + } + + [[nodiscard]] const std::optional& get_wallet() const { + return wallet; + } + + bool operator==(const Impl& rhs) const { + return id == rhs.id + && index == rhs.index + && value == rhs.value + && project == rhs.project + && wallet == rhs.wallet; + } + + bool operator!=(const Impl& rhs) const { + return !(*this == rhs); + } + +private: + std::optional id; + std::optional index; + std::optional value; + std::optional project; + std::optional wallet; + + constexpr static char ID_KEY[] = "id"; + constexpr static char INDEX_KEY[] = "index"; + constexpr static char VALUE_KEY[] = "value"; + constexpr static char PROJECT_KEY[] = "project"; + constexpr static char WALLET_KEY[] = "wallet"; +}; + +Balance::Balance() : impl(std::make_unique()) { +} + +Balance::Balance(const Balance& other) { + impl = std::make_unique(*other.impl); +} + +Balance::Balance(Balance&& other) noexcept = default; + +Balance::~Balance() = default; + +void Balance::deserialize(const std::string& json) { + impl->deserialize(json); } const std::optional& Balance::get_id() const { - return id; + return impl->get_id(); } const std::optional& Balance::get_index() const { - return index; + return impl->get_index(); } const std::optional& Balance::get_value() const { - return value; + return impl->get_value(); } const std::optional& Balance::get_project() const { - return project; + return impl->get_project(); } const std::optional& Balance::get_wallet() const { - return wallet; + return impl->get_wallet(); } bool Balance::operator==(const Balance& rhs) const { - return id == rhs.id && - index == rhs.index && - value == rhs.value && - project == rhs.project && - wallet == rhs.wallet; + return *impl == *rhs.impl; } bool Balance::operator!=(const Balance& rhs) const { - return !(rhs == *this); + return !(*this == rhs); } +Balance& enjin::sdk::models::Balance::operator=(const Balance& rhs) { + impl = std::make_unique(*rhs.impl); + return *this; } diff --git a/src/models/Player.cpp b/src/models/Player.cpp index 0bf3ae39..0ced043a 100644 --- a/src/models/Player.cpp +++ b/src/models/Player.cpp @@ -17,60 +17,135 @@ #include "RapidJsonUtils.hpp" -namespace enjin::sdk::models { +using namespace enjin::sdk::models; +using namespace enjin::sdk::serialization; +using namespace enjin::sdk::utils; + +class Player::Impl : public IDeserializable { +public: + Impl() = default; + + ~Impl() override = default; + + void deserialize(const std::string& json) override { + rapidjson::Document document; + document.Parse(json.c_str()); + + if (!document.IsObject()) { + return; + } -void Player::deserialize(const std::string& json) { - rapidjson::Document document; - document.Parse(json.c_str()); - if (document.IsObject()) { if (document.HasMember(ID_KEY) && document[ID_KEY].IsString()) { id.emplace(document[ID_KEY].GetString()); } + if (document.HasMember(LINKING_INFO_KEY) && document[LINKING_INFO_KEY].IsObject()) { - linking_info.emplace(utils::get_object_as_type(document, LINKING_INFO_KEY)); + linking_info.emplace(get_object_as_type(document, LINKING_INFO_KEY)); } + if (document.HasMember(WALLET_KEY) && document[WALLET_KEY].IsObject()) { - wallet.emplace(utils::get_object_as_type(document, WALLET_KEY)); + wallet.emplace(get_object_as_type(document, WALLET_KEY)); } + if (document.HasMember(CREATED_AT_KEY) && document[CREATED_AT_KEY].IsString()) { created_at.emplace(document[CREATED_AT_KEY].GetString()); } + if (document.HasMember(UPDATED_AT_KEY) && document[UPDATED_AT_KEY].IsString()) { updated_at.emplace(document[UPDATED_AT_KEY].GetString()); } } + + [[nodiscard]] const std::optional& get_id() const { + return id; + } + + [[nodiscard]] const std::optional& get_linking_info() const { + return linking_info; + } + + [[nodiscard]] const std::optional& get_wallet() const { + return wallet; + } + + [[nodiscard]] const std::optional& get_created_at() const { + return created_at; + } + + [[nodiscard]] const std::optional& get_updated_at() const { + return updated_at; + } + + bool operator==(const Impl& rhs) const { + return id == rhs.id + && linking_info == rhs.linking_info + && wallet == rhs.wallet + && created_at == rhs.created_at + && updated_at == rhs.updated_at; + } + + bool operator!=(const Impl& rhs) const { + return !(*this == rhs); + } + +private: + std::optional id; + std::optional linking_info; + std::optional wallet; + std::optional created_at; + std::optional updated_at; + + constexpr static char ID_KEY[] = "id"; + constexpr static char LINKING_INFO_KEY[] = "linkingInfo"; + constexpr static char WALLET_KEY[] = "wallet"; + constexpr static char CREATED_AT_KEY[] = "createdAt"; + constexpr static char UPDATED_AT_KEY[] = "updatedAt"; +}; + +Player::Player() : impl(std::make_unique()) { +} + +Player::Player(const Player& other) { + impl = std::make_unique(*other.impl); +} + +Player::Player(Player&& other) noexcept = default; + +Player::~Player() = default; + +void Player::deserialize(const std::string& json) { + impl->deserialize(json); } const std::optional& Player::get_id() const { - return id; + return impl->get_id(); } const std::optional& Player::get_linking_info() const { - return linking_info; + return impl->get_linking_info(); } const std::optional& Player::get_wallet() const { - return wallet; + return impl->get_wallet(); } const std::optional& Player::get_created_at() const { - return created_at; + return impl->get_created_at(); } const std::optional& Player::get_updated_at() const { - return updated_at; + return impl->get_updated_at(); } bool Player::operator==(const Player& rhs) const { - return id == rhs.id && - linking_info == rhs.linking_info && - wallet == rhs.wallet && - created_at == rhs.created_at && - updated_at == rhs.updated_at; + return *impl == *rhs.impl; } bool Player::operator!=(const Player& rhs) const { - return !(rhs == *this); + return !(*this == rhs); } +Player& enjin::sdk::models::Player::operator=(const Player& rhs) { + impl = std::make_unique(*rhs.impl); + return *this; } diff --git a/src/models/Request.cpp b/src/models/Request.cpp index ffbc9b7d..b7900ab9 100644 --- a/src/models/Request.cpp +++ b/src/models/Request.cpp @@ -18,138 +18,299 @@ #include "EnumUtils.hpp" #include "RapidJsonUtils.hpp" -namespace enjin::sdk::models { +using namespace enjin::sdk::models; +using namespace enjin::sdk::serialization; +using namespace enjin::sdk::utils; + +class Request::Impl : public IDeserializable { +public: + Impl() = default; + + ~Impl() override = default; + + void deserialize(const std::string& json) override { + rapidjson::Document document; + document.Parse(json.c_str()); + + if (!document.IsObject()) { + return; + } -void Request::deserialize(const std::string& json) { - rapidjson::Document document; - document.Parse(json.c_str()); - if (document.IsObject()) { if (document.HasMember(ID_KEY) && document[ID_KEY].IsInt()) { id.emplace(document[ID_KEY].GetInt()); } + if (document.HasMember(TRANSACTION_ID_KEY) && document[TRANSACTION_ID_KEY].IsString()) { transaction_id.emplace(document[TRANSACTION_ID_KEY].GetString()); } + if (document.HasMember(TITLE_KEY) && document[TITLE_KEY].IsString()) { title.emplace(document[TITLE_KEY].GetString()); } + if (document.HasMember(CONTRACT_KEY) && document[CONTRACT_KEY].IsString()) { contract.emplace(document[CONTRACT_KEY].GetString()); } + if (document.HasMember(TYPE_KEY) && document[TYPE_KEY].IsString()) { type.emplace(utils::deserialize_request_type(document[TYPE_KEY].GetString())); } + if (document.HasMember(VALUE_KEY) && document[VALUE_KEY].IsString()) { value.emplace(document[VALUE_KEY].GetString()); } + if (document.HasMember(RETRY_STATE_KEY) && document[RETRY_STATE_KEY].IsString()) { retry_state.emplace(document[RETRY_STATE_KEY].GetString()); } + if (document.HasMember(STATE_KEY) && document[STATE_KEY].IsString()) { - state.emplace(utils::deserialize_request_state(document[STATE_KEY].GetString())); + state.emplace(deserialize_request_state(document[STATE_KEY].GetString())); } + if (document.HasMember(ACCEPTED_KEY) && document[ACCEPTED_KEY].IsBool()) { accepted.emplace(document[ACCEPTED_KEY].GetBool()); } + if (document.HasMember(PROJECT_WALLET_KEY) && document[PROJECT_WALLET_KEY].IsBool()) { project_wallet.emplace(document[PROJECT_WALLET_KEY].GetBool()); } + if (document.HasMember(BLOCKCHAIN_DATA_KEY) && document[BLOCKCHAIN_DATA_KEY].IsObject()) { - blockchain_data.emplace(utils::get_object_as_type(document, BLOCKCHAIN_DATA_KEY)); + blockchain_data.emplace(get_object_as_type(document, BLOCKCHAIN_DATA_KEY)); } + if (document.HasMember(PROJECT_KEY) && document[PROJECT_KEY].IsObject()) { - project.emplace(utils::get_object_as_type(document, PROJECT_KEY)); + project.emplace(get_object_as_type(document, PROJECT_KEY)); } + if (document.HasMember(ASSET_KEY) && document[ASSET_KEY].IsObject()) { - asset.emplace(utils::get_object_as_type(document, ASSET_KEY)); + asset.emplace(get_object_as_type(document, ASSET_KEY)); } + + if (document.HasMember(WALLET_KEY) && document[WALLET_KEY].IsObject()) { + wallet.emplace(get_object_as_type(document, WALLET_KEY)); + } + if (document.HasMember(CREATED_AT_KEY) && document[CREATED_AT_KEY].IsString()) { created_at.emplace(document[CREATED_AT_KEY].GetString()); } + if (document.HasMember(UPDATED_AT_KEY) && document[UPDATED_AT_KEY].IsString()) { updated_at.emplace(document[UPDATED_AT_KEY].GetString()); } } + + [[nodiscard]] const std::optional& get_id() const { + return id; + } + + [[nodiscard]] const std::optional& get_transaction_id() const { + return transaction_id; + } + + [[nodiscard]] const std::optional& get_title() const { + return title; + } + + [[nodiscard]] const std::optional& get_contract() const { + return contract; + } + + [[nodiscard]] const std::optional& get_type() const { + return type; + } + + [[nodiscard]] const std::optional& get_value() const { + return value; + } + + [[nodiscard]] const std::optional& get_retry_state() const { + return retry_state; + } + + [[nodiscard]] const std::optional& get_state() const { + return state; + } + + [[nodiscard]] const std::optional& get_accepted() const { + return accepted; + } + + [[nodiscard]] const std::optional& get_project_wallet() const { + return project_wallet; + } + + [[nodiscard]] const std::optional& get_blockchain_data() const { + return blockchain_data; + } + + [[nodiscard]] const std::optional& get_project() const { + return project; + } + + [[nodiscard]] const std::optional& get_asset() const { + return asset; + } + + [[nodiscard]] const std::optional& get_wallet() const { + return wallet; + } + + [[nodiscard]] const std::optional& get_created_at() const { + return created_at; + } + + [[nodiscard]] const std::optional& get_updated_at() const { + return updated_at; + } + + bool operator==(const Impl& rhs) const { + return id == rhs.id + && transaction_id == rhs.transaction_id + && title == rhs.title + && contract == rhs.contract + && type == rhs.type + && value == rhs.value + && retry_state == rhs.retry_state + && state == rhs.state + && accepted == rhs.accepted + && blockchain_data == rhs.blockchain_data + && project == rhs.project + && asset == rhs.asset + && wallet == rhs.wallet + && created_at == rhs.created_at + && updated_at == rhs.updated_at; + } + + bool operator!=(const Impl& rhs) const { + return !(*this == rhs); + } + +private: + std::optional id; + std::optional transaction_id; + std::optional title; + std::optional contract; + std::optional type; + std::optional value; + std::optional retry_state; + std::optional state; + std::optional accepted; + std::optional project_wallet; + std::optional blockchain_data; + std::optional project; + std::optional asset; + std::optional wallet; + std::optional created_at; + std::optional updated_at; + + constexpr static char ID_KEY[] = "id"; + constexpr static char TRANSACTION_ID_KEY[] = "transactionId"; + constexpr static char TITLE_KEY[] = "title"; + constexpr static char CONTRACT_KEY[] = "contract"; + constexpr static char TYPE_KEY[] = "type"; + constexpr static char VALUE_KEY[] = "value"; + constexpr static char RETRY_STATE_KEY[] = "retryState"; + constexpr static char STATE_KEY[] = "state"; + constexpr static char ACCEPTED_KEY[] = "accepted"; + constexpr static char PROJECT_WALLET_KEY[] = "projectWallet"; + constexpr static char BLOCKCHAIN_DATA_KEY[] = "blockchainData"; + constexpr static char PROJECT_KEY[] = "project"; + constexpr static char ASSET_KEY[] = "asset"; + constexpr static char WALLET_KEY[] = "wallet"; + constexpr static char CREATED_AT_KEY[] = "createdAt"; + constexpr static char UPDATED_AT_KEY[] = "updatedAt"; +}; + +Request::Request() : impl(std::make_unique()) { +} + +Request::Request(const Request& other) { + impl = std::make_unique(*other.impl); +} + +Request::Request(Request&& other) noexcept = default; + +Request::~Request() = default; + +void Request::deserialize(const std::string& json) { + impl->deserialize(json); } const std::optional& Request::get_id() const { - return id; + return impl->get_id(); } const std::optional& Request::get_transaction_id() const { - return transaction_id; + return impl->get_transaction_id(); } const std::optional& Request::get_title() const { - return title; + return impl->get_title(); } const std::optional& Request::get_contract() const { - return contract; + return impl->get_contract(); } const std::optional& Request::get_type() const { - return type; + return impl->get_type(); } const std::optional& Request::get_value() const { - return value; + return impl->get_value(); } const std::optional& Request::get_retry_state() const { - return retry_state; + return impl->get_retry_state(); } const std::optional& Request::get_state() const { - return state; + return impl->get_state(); } const std::optional& Request::get_accepted() const { - return accepted; + return impl->get_accepted(); } const std::optional& Request::get_project_wallet() const { - return project_wallet; + return impl->get_project_wallet(); } const std::optional& Request::get_blockchain_data() const { - return blockchain_data; + return impl->get_blockchain_data(); } const std::optional& Request::get_project() const { - return project; + return impl->get_project(); } const std::optional& Request::get_asset() const { - return asset; + return impl->get_asset(); +} + +const std::optional& Request::get_wallet() const { + return impl->get_wallet(); } const std::optional& Request::get_created_at() const { - return created_at; + return impl->get_created_at(); } const std::optional& Request::get_updated_at() const { - return updated_at; + return impl->get_updated_at(); } bool Request::operator==(const Request& rhs) const { - return id == rhs.id && - transaction_id == rhs.transaction_id && - title == rhs.title && - contract == rhs.contract && - type == rhs.type && - value == rhs.value && - retry_state == rhs.retry_state && - state == rhs.state && - accepted == rhs.accepted && - blockchain_data == rhs.blockchain_data && - project == rhs.project && - created_at == rhs.created_at && - updated_at == rhs.updated_at; + return *impl == *rhs.impl; } bool Request::operator!=(const Request& rhs) const { - return !(rhs == *this); + return !(*this == rhs); } +Request& Request::operator=(const Request& rhs) { + impl = std::make_unique(*rhs.impl); + return *this; } diff --git a/src/models/Wallet.cpp b/src/models/Wallet.cpp index 71840aad..286cc1fd 100644 --- a/src/models/Wallet.cpp +++ b/src/models/Wallet.cpp @@ -17,60 +17,165 @@ #include "RapidJsonUtils.hpp" -namespace enjin::sdk::models { +using namespace enjin::sdk::models; +using namespace enjin::sdk::serialization; +using namespace enjin::sdk::utils; + +class Wallet::Impl : public IDeserializable { +public: + Impl() = default; + + ~Impl() override = default; + + void deserialize(const std::string& json) override { + rapidjson::Document document; + document.Parse(json.c_str()); + + if (!document.IsObject()) { + return; + } -void Wallet::deserialize(const std::string& json) { - rapidjson::Document document; - document.Parse(json.c_str()); - if (document.IsObject()) { if (document.HasMember(ETH_ADDRESS_KEY) && document[ETH_ADDRESS_KEY].IsString()) { eth_address.emplace(document[ETH_ADDRESS_KEY].GetString()); } + if (document.HasMember(ENJ_ALLOWANCE_KEY) && document[ENJ_ALLOWANCE_KEY].IsFloat()) { enj_allowance.emplace(document[ENJ_ALLOWANCE_KEY].GetFloat()); } + if (document.HasMember(ENJ_BALANCE_KEY) && document[ENJ_BALANCE_KEY].IsFloat()) { enj_balance.emplace(document[ENJ_BALANCE_KEY].GetFloat()); } + if (document.HasMember(ETH_BALANCE_KEY) && document[ETH_BALANCE_KEY].IsFloat()) { eth_balance.emplace(document[ETH_BALANCE_KEY].GetFloat()); } + if (document.HasMember(ASSETS_CREATED_KEY) && document[ASSETS_CREATED_KEY].IsArray()) { - assets_created.emplace(utils::get_array_as_type_vector(document, ASSETS_CREATED_KEY)); + assets_created.emplace(get_array_as_type_vector(document, ASSETS_CREATED_KEY)); + } + + if (document.HasMember(BALANCES_KEY) && document[BALANCES_KEY].IsArray()) { + balances.emplace(get_array_as_type_vector(document, BALANCES_KEY)); } + + if (document.HasMember(TRANSACTIONS_KEY) && document[TRANSACTIONS_KEY].IsArray()) { + transactions.emplace(get_array_as_type_vector(document, TRANSACTIONS_KEY)); + } + } + + [[nodiscard]] const std::optional& get_eth_address() const { + return eth_address; + } + + [[nodiscard]] const std::optional& get_enj_allowance() const { + return enj_allowance; + } + + [[nodiscard]] const std::optional& get_enj_balance() const { + return enj_balance; + } + + [[nodiscard]] const std::optional& get_eth_balance() const { + return eth_balance; + } + + [[nodiscard]] const std::optional>& get_assets_created() const { + return assets_created; + } + + [[nodiscard]] const std::optional>& get_balances() const { + return balances; + } + + [[nodiscard]] const std::optional>& get_transactions() const { + return transactions; + } + + bool operator==(const Impl& rhs) const { + return eth_address == rhs.eth_address + && enj_allowance == rhs.enj_allowance + && enj_balance == rhs.enj_balance + && eth_balance == rhs.eth_balance + && assets_created == rhs.assets_created + && balances == rhs.balances + && transactions == rhs.transactions; + } + + bool operator!=(const Impl& rhs) const { + return !(*this == rhs); } + +private: + std::optional eth_address; + std::optional enj_allowance; + std::optional enj_balance; + std::optional eth_balance; + std::optional> assets_created; + std::optional> balances; + std::optional> transactions; + + constexpr static char ETH_ADDRESS_KEY[] = "ethAddress"; + constexpr static char ENJ_ALLOWANCE_KEY[] = "enjAllowance"; + constexpr static char ENJ_BALANCE_KEY[] = "enjBalance"; + constexpr static char ETH_BALANCE_KEY[] = "ethBalance"; + constexpr static char ASSETS_CREATED_KEY[] = "assetsCreated"; + constexpr static char BALANCES_KEY[] = "balances"; + constexpr static char TRANSACTIONS_KEY[] = "transactions"; +}; + +Wallet::Wallet() : impl(std::make_unique()) { +} + +Wallet::Wallet(const Wallet& other) { + impl = std::make_unique(*other.impl); +} + +Wallet::Wallet(Wallet&& other) noexcept = default; + +Wallet::~Wallet() = default; + +void Wallet::deserialize(const std::string& json) { + impl->deserialize(json); } const std::optional& Wallet::get_eth_address() const { - return eth_address; + return impl->get_eth_address(); } const std::optional& Wallet::get_enj_allowance() const { - return enj_allowance; + return impl->get_enj_allowance(); } const std::optional& Wallet::get_enj_balance() const { - return enj_balance; + return impl->get_enj_balance(); } const std::optional& Wallet::get_eth_balance() const { - return eth_balance; + return impl->get_eth_balance(); } const std::optional>& Wallet::get_assets_created() const { - return assets_created; + return impl->get_assets_created(); +} + +const std::optional>& Wallet::get_balances() const { + return impl->get_balances(); +} + +const std::optional>& Wallet::get_transactions() const { + return impl->get_transactions(); } bool Wallet::operator==(const Wallet& rhs) const { - return eth_address == rhs.eth_address && - enj_allowance == rhs.enj_allowance && - enj_balance == rhs.enj_balance && - eth_balance == rhs.eth_balance && - assets_created == rhs.assets_created; + return *impl == *rhs.impl; } bool Wallet::operator!=(const Wallet& rhs) const { - return !(rhs == *this); + return !(*this == rhs); } +Wallet& enjin::sdk::models::Wallet::operator=(const Wallet& rhs) { + impl = std::make_unique(*rhs.impl); + return *this; } diff --git a/src/schemas/shared/arguments/TransactionFragmentArgumentsImpl.cpp b/src/schemas/shared/arguments/TransactionFragmentArgumentsImpl.cpp index 60576b56..533b377f 100644 --- a/src/schemas/shared/arguments/TransactionFragmentArgumentsImpl.cpp +++ b/src/schemas/shared/arguments/TransactionFragmentArgumentsImpl.cpp @@ -23,10 +23,10 @@ namespace enjin::sdk::shared { std::string TransactionFragmentArgumentsImpl::serialize() const { rapidjson::Document document(rapidjson::kObjectType); - if (asset_id_format.has_value()) { + if (transaction_asset_id_format.has_value()) { utils::set_string_member(document, - "assetIdFormat", - utils::serialize_asset_id_format(asset_id_format.value())); + "transactionAssetIdFormat", + utils::serialize_asset_id_format(transaction_asset_id_format.value())); } if (with_blockchain_data.has_value()) { utils::set_boolean_member(document, "withBlockchainData", with_blockchain_data.value()); @@ -64,12 +64,15 @@ std::string TransactionFragmentArgumentsImpl::serialize() const { if (with_transaction_project_uuid.has_value()) { utils::set_boolean_member(document, "withTransactionProjectUuid", with_transaction_project_uuid.value()); } + if (with_transaction_wallet_address.has_value()) { + utils::set_boolean_member(document, "withTransactionWalletAddress", with_transaction_wallet_address.value()); + } return utils::document_to_string(document); } -void TransactionFragmentArgumentsImpl::set_asset_id_format(models::AssetIdFormat asset_id_format) { - TransactionFragmentArgumentsImpl::asset_id_format = asset_id_format; +void TransactionFragmentArgumentsImpl::set_transaction_asset_id_format(models::AssetIdFormat asset_id_format) { + transaction_asset_id_format = asset_id_format; } void TransactionFragmentArgumentsImpl::set_with_blockchain_data() { @@ -120,20 +123,25 @@ void TransactionFragmentArgumentsImpl::set_with_transaction_project_uuid() { with_transaction_project_uuid = true; } +void TransactionFragmentArgumentsImpl::set_with_transaction_wallet_address() { + with_transaction_wallet_address = true; +} + bool TransactionFragmentArgumentsImpl::operator==(const TransactionFragmentArgumentsImpl& rhs) const { - return asset_id_format == rhs.asset_id_format && - with_blockchain_data == rhs.with_blockchain_data && - with_meta == rhs.with_meta && - with_encoded_data == rhs.with_encoded_data && - with_asset_data == rhs.with_asset_data && - with_signed_txs == rhs.with_signed_txs && - with_error == rhs.with_error && - with_nonce == rhs.with_nonce && - with_state == rhs.with_state && - with_receipt == rhs.with_receipt && - with_receipt_logs == rhs.with_receipt_logs && - with_log_event == rhs.with_log_event && - with_transaction_project_uuid == rhs.with_transaction_project_uuid; + return transaction_asset_id_format == rhs.transaction_asset_id_format + && with_blockchain_data == rhs.with_blockchain_data + && with_meta == rhs.with_meta + && with_encoded_data == rhs.with_encoded_data + && with_asset_data == rhs.with_asset_data + && with_signed_txs == rhs.with_signed_txs + && with_error == rhs.with_error + && with_nonce == rhs.with_nonce + && with_state == rhs.with_state + && with_receipt == rhs.with_receipt + && with_receipt_logs == rhs.with_receipt_logs + && with_log_event == rhs.with_log_event + && with_transaction_project_uuid == rhs.with_transaction_project_uuid + && with_transaction_wallet_address == rhs.with_transaction_wallet_address; } bool TransactionFragmentArgumentsImpl::operator!=(const TransactionFragmentArgumentsImpl& rhs) const { diff --git a/src/schemas/shared/arguments/WalletFragmentArgumentsImpl.cpp b/src/schemas/shared/arguments/WalletFragmentArgumentsImpl.cpp index f2f08c3e..6cf621e5 100644 --- a/src/schemas/shared/arguments/WalletFragmentArgumentsImpl.cpp +++ b/src/schemas/shared/arguments/WalletFragmentArgumentsImpl.cpp @@ -16,32 +16,65 @@ #include "enjinsdk/internal/WalletFragmentArgumentsImpl.hpp" #include "RapidJsonUtils.hpp" +#include -namespace enjin::sdk::shared { +using namespace enjin::sdk::models; +using namespace enjin::sdk::shared; +using namespace enjin::sdk::utils; std::string WalletFragmentArgumentsImpl::serialize() const { rapidjson::Document document(rapidjson::kObjectType); - utils::join_serialized_object_to_document(document, AssetFragmentArgumentsImpl::serialize()); + join_serialized_objects_to_document(document, { + AssetFragmentArgumentsImpl::serialize(), + BalanceFragmentArgumentsImpl::serialize(), + TransactionFragmentArgumentsImpl::serialize(), + }); + + if (wallet_balance_filter.has_value()) { + set_object_member_from_type(document, "walletBalanceFilter", wallet_balance_filter.value()); + } if (with_assets_created.has_value()) { - utils::set_boolean_member(document, "withAssetsCreated", with_assets_created.value()); + set_boolean_member(document, "withAssetsCreated", with_assets_created.value()); + } + + if (with_wallet_balances.has_value()) { + set_boolean_member(document, "withWalletBalances", with_wallet_balances.value()); } - return utils::document_to_string(document); + if (with_wallet_transactions.has_value()) { + set_boolean_member(document, "withWalletTransactions", with_wallet_transactions.value()); + } + + return document_to_string(document); +} + +void WalletFragmentArgumentsImpl::set_wallet_balance_filter(BalanceFilter filter) { + wallet_balance_filter.emplace(std::move(filter)); } void WalletFragmentArgumentsImpl::set_with_assets_created() { with_assets_created = true; } +void WalletFragmentArgumentsImpl::set_with_wallet_balances() { + with_wallet_balances = true; +} + +void WalletFragmentArgumentsImpl::set_with_wallet_transactions() { + with_wallet_transactions = true; +} + bool WalletFragmentArgumentsImpl::operator==(const WalletFragmentArgumentsImpl& rhs) const { - return static_cast(*this) == - static_cast(rhs) && - with_assets_created == rhs.with_assets_created; + return static_cast(*this) == rhs + && static_cast(*this) == rhs + && static_cast(*this) == rhs + && wallet_balance_filter == rhs.wallet_balance_filter + && with_assets_created == rhs.with_assets_created + && with_wallet_balances == rhs.with_wallet_balances + && with_wallet_transactions == rhs.with_wallet_transactions; } bool WalletFragmentArgumentsImpl::operator!=(const WalletFragmentArgumentsImpl& rhs) const { return !(rhs == *this); } - -} diff --git a/test/include/AssetFragmentArgumentsTestSuite.hpp b/test/include/AssetFragmentArgumentsTestSuite.hpp index c0a04626..8d74ab65 100644 --- a/test/include/AssetFragmentArgumentsTestSuite.hpp +++ b/test/include/AssetFragmentArgumentsTestSuite.hpp @@ -27,6 +27,9 @@ class AssetFragmentArgumentsTestSuite { "Type T does not inherit from AssetFragmentArguments."); public: + static constexpr char AssetFragmentJson[] = + R"({"assetIdFormat":"hex64","withStateData":true,"withConfigData":true,"withAssetBlocks":true,"withCreator":true,"withMeltDetails":true,"withMetadataURI":true,"withSupplyDetails":true,"withTransferSettings":true,"withAssetVariantMode":true,"withAssetVariants":true,"withVariantMetadata":true})"; + static void set_asset_fragment_arguments(sdk::shared::AssetFragmentArguments& o) { o.set_asset_id_format(sdk::models::AssetIdFormat::HEX64) .set_with_state_data() diff --git a/test/include/BalanceFragmentArgumentsTestSuite.hpp b/test/include/BalanceFragmentArgumentsTestSuite.hpp index dc8effe8..4ac3e52c 100644 --- a/test/include/BalanceFragmentArgumentsTestSuite.hpp +++ b/test/include/BalanceFragmentArgumentsTestSuite.hpp @@ -27,6 +27,9 @@ class BalanceFragmentArgumentsTestSuite { "Type T does not inherit from BalanceFragmentArguments."); public: + static constexpr char BalanceFragmentJson[] = + R"({"balIdFormat":"hex64","balIndexFormat":"hex64","withBalProjectUuid":true,"withBalWalletAddress":true})"; + static void set_balance_fragment_arguments(sdk::shared::BalanceFragmentArguments& o) { o.set_bal_id_format(sdk::models::AssetIdFormat::HEX64) .set_bal_index_format(sdk::models::AssetIndexFormat::HEX64) diff --git a/test/include/PaginationArgumentsTestSuite.hpp b/test/include/PaginationArgumentsTestSuite.hpp index 4ccd22e7..c9048ffd 100644 --- a/test/include/PaginationArgumentsTestSuite.hpp +++ b/test/include/PaginationArgumentsTestSuite.hpp @@ -27,8 +27,11 @@ class PaginationArgumentsTestSuite { "Type T does not inherit from PaginationArguments."); public: + static constexpr char PaginationJson[] = + R"({"pagination":{"page":1,"limit":1}})"; + static void set_pagination_arguments(sdk::shared::PaginationArguments& o) { - o.set_pagination(0, 0); + o.set_pagination(1, 1); } }; diff --git a/test/include/PlayerFragmentArgumentsTestSuite.hpp b/test/include/PlayerFragmentArgumentsTestSuite.hpp index fa0486dd..0d9de0e5 100644 --- a/test/include/PlayerFragmentArgumentsTestSuite.hpp +++ b/test/include/PlayerFragmentArgumentsTestSuite.hpp @@ -28,10 +28,12 @@ class PlayerFragmentArgumentsTestSuite : public WalletFragmentArgumentsTestSuite "Type T does not inherit from PlayerFragmentArguments."); public: + static constexpr char PlayerFragmentJson[] = + R"({"withLinkingInfo":true,"linkingCodeQrSize":1,"withPlayerWallet":true})"; + static void set_player_fragment_arguments(sdk::shared::PlayerFragmentArguments& o) { - WalletFragmentArgumentsTestSuite::set_wallet_fragment_arguments(o); o.set_with_linking_info() - .set_qr_size(0) + .set_qr_size(1) .set_with_wallet(); } }; diff --git a/test/include/ProjectTransactionRequestArgumentsTestSuite.hpp b/test/include/ProjectTransactionRequestArgumentsTestSuite.hpp index 408d6bfb..315a528a 100644 --- a/test/include/ProjectTransactionRequestArgumentsTestSuite.hpp +++ b/test/include/ProjectTransactionRequestArgumentsTestSuite.hpp @@ -28,8 +28,10 @@ class ProjectTransactionRequestArgumentsTestSuite : public TransactionFragmentAr "Type T does not inherit from ProjectTransactionRequestArguments."); public: + static constexpr char ProjectTransactionRequestJson[] = + R"({"ethAddress":"1"})"; + static void set_project_transaction_request_arguments(sdk::project::ProjectTransactionRequestArguments& o) { - TransactionFragmentArgumentsTestSuite::set_transaction_fragment_arguments(o); o.set_eth_address("1"); } }; diff --git a/test/include/TestableProjectTransactionRequestArguments.hpp b/test/include/TestableProjectTransactionRequestArguments.hpp new file mode 100644 index 00000000..42d5b2b2 --- /dev/null +++ b/test/include/TestableProjectTransactionRequestArguments.hpp @@ -0,0 +1,89 @@ +/* Copyright 2021 Enjin Pte. Ltd. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef ENJINSDK_TESTABLEPROJECTTRANSACTIONREQUESTARGUMENTS_HPP +#define ENJINSDK_TESTABLEPROJECTTRANSACTIONREQUESTARGUMENTS_HPP + +#if(ENJINSDK_BUILD_SHARED == 0) + +#include "enjinsdk/project/ProjectTransactionRequestArguments.hpp" + +namespace enjin::test::utils { + +class TestableProjectTransactionRequestArguments + : public sdk::project::ProjectTransactionRequestArguments { +public: + TestableProjectTransactionRequestArguments() = default; + + ~TestableProjectTransactionRequestArguments() override = default; + + bool operator==(const TestableProjectTransactionRequestArguments& rhs) const; + + bool operator!=(const TestableProjectTransactionRequestArguments& rhs) const; +}; + +} + +namespace enjin::sdk::project { + +template test::utils::TestableProjectTransactionRequestArguments& +ProjectTransactionRequestArguments::set_transaction_asset_id_format( + models::AssetIdFormat asset_id_format); + +template test::utils::TestableProjectTransactionRequestArguments& +ProjectTransactionRequestArguments::set_with_blockchain_data(); + +template test::utils::TestableProjectTransactionRequestArguments& +ProjectTransactionRequestArguments::set_with_meta(); + +template test::utils::TestableProjectTransactionRequestArguments& +ProjectTransactionRequestArguments::set_with_encoded_data(); + +template test::utils::TestableProjectTransactionRequestArguments& +ProjectTransactionRequestArguments::set_with_asset_data(); + +template test::utils::TestableProjectTransactionRequestArguments& +ProjectTransactionRequestArguments::set_with_signed_txs(); + +template test::utils::TestableProjectTransactionRequestArguments& +ProjectTransactionRequestArguments::set_with_error(); + +template test::utils::TestableProjectTransactionRequestArguments& +ProjectTransactionRequestArguments::set_with_nonce(); + +template test::utils::TestableProjectTransactionRequestArguments& +ProjectTransactionRequestArguments::set_with_state(); + +template test::utils::TestableProjectTransactionRequestArguments& +ProjectTransactionRequestArguments::set_with_receipt(); + +template test::utils::TestableProjectTransactionRequestArguments& +ProjectTransactionRequestArguments::set_with_receipt_logs(); + +template test::utils::TestableProjectTransactionRequestArguments& +ProjectTransactionRequestArguments::set_with_log_event(); + +template test::utils::TestableProjectTransactionRequestArguments& +ProjectTransactionRequestArguments::set_with_transaction_project_uuid(); + +template test::utils::TestableProjectTransactionRequestArguments& +ProjectTransactionRequestArguments::set_eth_address( + const std::string& address); + +} + +#endif + +#endif //ENJINSDK_TESTABLEPROJECTTRANSACTIONREQUESTARGUMENTS_HPP diff --git a/test/include/TestableSharedAssetFragmentArguments.hpp b/test/include/TestableSharedAssetFragmentArguments.hpp new file mode 100644 index 00000000..d6f8874a --- /dev/null +++ b/test/include/TestableSharedAssetFragmentArguments.hpp @@ -0,0 +1,82 @@ +/* Copyright 2021 Enjin Pte. Ltd. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef ENJINSDK_TESTABLESHAREDASSETFRAGMENTARGUMENTS_HPP +#define ENJINSDK_TESTABLESHAREDASSETFRAGMENTARGUMENTS_HPP + +#if(ENJINSDK_BUILD_SHARED == 0) + +#include "enjinsdk/shared/AssetFragmentArguments.hpp" + +namespace enjin::test::utils { + +class TestableSharedAssetFragmentArguments + : public sdk::shared::AssetFragmentArguments { +public: + TestableSharedAssetFragmentArguments() = default; + + ~TestableSharedAssetFragmentArguments() override = default; + + bool operator==(const TestableSharedAssetFragmentArguments& rhs) const; + + bool operator!=(const TestableSharedAssetFragmentArguments& rhs) const; +}; + +} + +namespace enjin::sdk::shared { + +template test::utils::TestableSharedAssetFragmentArguments& +AssetFragmentArguments::set_asset_id_format( + models::AssetIdFormat asset_id_format); + +template test::utils::TestableSharedAssetFragmentArguments& +AssetFragmentArguments::set_with_state_data(); + +template test::utils::TestableSharedAssetFragmentArguments& +AssetFragmentArguments::set_with_config_data(); + +template test::utils::TestableSharedAssetFragmentArguments& +AssetFragmentArguments::set_with_asset_blocks(); + +template test::utils::TestableSharedAssetFragmentArguments& +AssetFragmentArguments::set_with_creator(); + +template test::utils::TestableSharedAssetFragmentArguments& +AssetFragmentArguments::set_with_melt_details(); + +template test::utils::TestableSharedAssetFragmentArguments& +AssetFragmentArguments::set_with_metadata_uri(); + +template test::utils::TestableSharedAssetFragmentArguments& +AssetFragmentArguments::set_with_supply_details(); + +template test::utils::TestableSharedAssetFragmentArguments& +AssetFragmentArguments::set_with_transfer_settings(); + +template test::utils::TestableSharedAssetFragmentArguments& +AssetFragmentArguments::set_with_asset_variant_mode(); + +template test::utils::TestableSharedAssetFragmentArguments& +AssetFragmentArguments::set_with_asset_variants(); + +template test::utils::TestableSharedAssetFragmentArguments& +AssetFragmentArguments::set_with_variant_metadata(); + +} + +#endif + +#endif //ENJINSDK_TESTABLESHAREDASSETFRAGMENTARGUMENTS_HPP diff --git a/test/include/TestableSharedBalanceFragmentArguments.hpp b/test/include/TestableSharedBalanceFragmentArguments.hpp new file mode 100644 index 00000000..4a048259 --- /dev/null +++ b/test/include/TestableSharedBalanceFragmentArguments.hpp @@ -0,0 +1,59 @@ +/* Copyright 2021 Enjin Pte. Ltd. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef ENJINSDK_TESTABLESHAREDBALANCEFRAGMENTARGUMENTS_HPP +#define ENJINSDK_TESTABLESHAREDBALANCEFRAGMENTARGUMENTS_HPP + +#if(ENJINSDK_BUILD_SHARED == 0) + +#include "enjinsdk/shared/BalanceFragmentArguments.hpp" + +namespace enjin::test::utils { + +class TestableSharedBalanceFragmentArguments + : public sdk::shared::BalanceFragmentArguments { +public: + TestableSharedBalanceFragmentArguments() = default; + + ~TestableSharedBalanceFragmentArguments() override = default; + + bool operator==(const TestableSharedBalanceFragmentArguments& rhs) const; + + bool operator!=(const TestableSharedBalanceFragmentArguments& rhs) const; +}; + +} + +namespace enjin::sdk::shared { + +template test::utils::TestableSharedBalanceFragmentArguments& +BalanceFragmentArguments::set_bal_id_format( + models::AssetIdFormat bal_id_format); + +template test::utils::TestableSharedBalanceFragmentArguments& +BalanceFragmentArguments::set_bal_index_format( + models::AssetIndexFormat bal_index_format); + +template test::utils::TestableSharedBalanceFragmentArguments& +BalanceFragmentArguments::set_with_bal_project_uuid(); + +template test::utils::TestableSharedBalanceFragmentArguments& +BalanceFragmentArguments::set_with_bal_wallet_address(); + +} + +#endif + +#endif //ENJINSDK_TESTABLESHAREDBALANCEFRAGMENTARGUMENTS_HPP diff --git a/test/include/TestableSharedPaginationArguments.hpp b/test/include/TestableSharedPaginationArguments.hpp new file mode 100644 index 00000000..c9f377d3 --- /dev/null +++ b/test/include/TestableSharedPaginationArguments.hpp @@ -0,0 +1,50 @@ +/* Copyright 2021 Enjin Pte. Ltd. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef ENJINSDK_TESTABLESHAREDPAGINATIONARGUMENTS_HPP +#define ENJINSDK_TESTABLESHAREDPAGINATIONARGUMENTS_HPP + +#if(ENJINSDK_BUILD_SHARED == 0) + +#include "enjinsdk/shared/PaginationArguments.hpp" + +namespace enjin::test::utils { + +class TestableSharedPaginationArguments : public sdk::shared::PaginationArguments { +public: + TestableSharedPaginationArguments() = default; + + ~TestableSharedPaginationArguments() override = default; + + bool operator==(const TestableSharedPaginationArguments& rhs) const; + + bool operator!=(const TestableSharedPaginationArguments& rhs) const; +}; + +} + +namespace enjin::sdk::shared { + +template test::utils::TestableSharedPaginationArguments& +PaginationArguments::set_pagination(models::PaginationOptions pagination); + +template test::utils::TestableSharedPaginationArguments& +PaginationArguments::set_pagination(int page, int limit); + +} + +#endif + +#endif //ENJINSDK_TESTABLESHAREDPAGINATIONARGUMENTS_HPP diff --git a/test/include/TestableSharedPlayerFragmentArguments.hpp b/test/include/TestableSharedPlayerFragmentArguments.hpp new file mode 100644 index 00000000..9a8242a4 --- /dev/null +++ b/test/include/TestableSharedPlayerFragmentArguments.hpp @@ -0,0 +1,94 @@ +/* Copyright 2021 Enjin Pte. Ltd. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef ENJINSDK_TESTABLESHAREDPLAYERFRAGMENTARGUMENTS_HPP +#define ENJINSDK_TESTABLESHAREDPLAYERFRAGMENTARGUMENTS_HPP + +#if(ENJINSDK_BUILD_SHARED == 0) + +#include "enjinsdk/shared/PlayerFragmentArguments.hpp" + +namespace enjin::test::utils { + +class TestableSharedPlayerFragmentArguments + : public sdk::shared::PlayerFragmentArguments { +public: + TestableSharedPlayerFragmentArguments() = default; + + ~TestableSharedPlayerFragmentArguments() override = default; + + bool operator==(const TestableSharedPlayerFragmentArguments& rhs) const; + + bool operator!=(const TestableSharedPlayerFragmentArguments& rhs) const; +}; + +} + +namespace enjin::sdk::shared { + +template test::utils::TestableSharedPlayerFragmentArguments& +PlayerFragmentArguments::set_asset_id_format( + models::AssetIdFormat asset_id_format); + +template test::utils::TestableSharedPlayerFragmentArguments& +PlayerFragmentArguments::set_with_state_data(); + +template test::utils::TestableSharedPlayerFragmentArguments& +PlayerFragmentArguments::set_with_config_data(); + +template test::utils::TestableSharedPlayerFragmentArguments& +PlayerFragmentArguments::set_with_asset_blocks(); + +template test::utils::TestableSharedPlayerFragmentArguments& +PlayerFragmentArguments::set_with_creator(); + +template test::utils::TestableSharedPlayerFragmentArguments& +PlayerFragmentArguments::set_with_melt_details(); + +template test::utils::TestableSharedPlayerFragmentArguments& +PlayerFragmentArguments::set_with_metadata_uri(); + +template test::utils::TestableSharedPlayerFragmentArguments& +PlayerFragmentArguments::set_with_supply_details(); + +template test::utils::TestableSharedPlayerFragmentArguments& +PlayerFragmentArguments::set_with_transfer_settings(); + +template test::utils::TestableSharedPlayerFragmentArguments& +PlayerFragmentArguments::set_with_asset_variant_mode(); + +template test::utils::TestableSharedPlayerFragmentArguments& +PlayerFragmentArguments::set_with_asset_variants(); + +template test::utils::TestableSharedPlayerFragmentArguments& +PlayerFragmentArguments::set_with_variant_metadata(); + +template test::utils::TestableSharedPlayerFragmentArguments& +PlayerFragmentArguments::set_with_linking_info(); + +template test::utils::TestableSharedPlayerFragmentArguments& +PlayerFragmentArguments::set_qr_size(int size); + +template test::utils::TestableSharedPlayerFragmentArguments& +PlayerFragmentArguments::set_with_wallet(); + +template test::utils::TestableSharedPlayerFragmentArguments& +PlayerFragmentArguments::set_with_assets_created(); + +} + +#endif + +#endif //ENJINSDK_TESTABLESHAREDPLAYERFRAGMENTARGUMENTS_HPP diff --git a/test/include/TestableSharedTransactionFragmentArguments.hpp b/test/include/TestableSharedTransactionFragmentArguments.hpp new file mode 100644 index 00000000..b3191c93 --- /dev/null +++ b/test/include/TestableSharedTransactionFragmentArguments.hpp @@ -0,0 +1,88 @@ +/* Copyright 2021 Enjin Pte. Ltd. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef ENJINSDK_TESTABLESHAREDTRANSACTIONFRAGMENTARGUMENTS_HPP +#define ENJINSDK_TESTABLESHAREDTRANSACTIONFRAGMENTARGUMENTS_HPP + +#if(ENJINSDK_BUILD_SHARED == 0) + +#include "enjinsdk/shared/TransactionFragmentArguments.hpp" + +namespace enjin::test::utils { + +class TestableSharedTransactionFragmentArguments + : public sdk::shared::TransactionFragmentArguments { +public: + TestableSharedTransactionFragmentArguments() = default; + + ~TestableSharedTransactionFragmentArguments() override = default; + + bool operator==(const TestableSharedTransactionFragmentArguments& rhs) const; + + bool operator!=(const TestableSharedTransactionFragmentArguments& rhs) const; +}; + +} + +namespace enjin::sdk::shared { + +template test::utils::TestableSharedTransactionFragmentArguments& +TransactionFragmentArguments::set_transaction_asset_id_format( + models::AssetIdFormat asset_id_format); + +template test::utils::TestableSharedTransactionFragmentArguments& +TransactionFragmentArguments::set_with_blockchain_data(); + +template test::utils::TestableSharedTransactionFragmentArguments& +TransactionFragmentArguments::set_with_meta(); + +template test::utils::TestableSharedTransactionFragmentArguments& +TransactionFragmentArguments::set_with_encoded_data(); + +template test::utils::TestableSharedTransactionFragmentArguments& +TransactionFragmentArguments::set_with_asset_data(); + +template test::utils::TestableSharedTransactionFragmentArguments& +TransactionFragmentArguments::set_with_signed_txs(); + +template test::utils::TestableSharedTransactionFragmentArguments& +TransactionFragmentArguments::set_with_error(); + +template test::utils::TestableSharedTransactionFragmentArguments& +TransactionFragmentArguments::set_with_nonce(); + +template test::utils::TestableSharedTransactionFragmentArguments& +TransactionFragmentArguments::set_with_state(); + +template test::utils::TestableSharedTransactionFragmentArguments& +TransactionFragmentArguments::set_with_receipt(); + +template test::utils::TestableSharedTransactionFragmentArguments& +TransactionFragmentArguments::set_with_receipt_logs(); + +template test::utils::TestableSharedTransactionFragmentArguments& +TransactionFragmentArguments::set_with_log_event(); + +template test::utils::TestableSharedTransactionFragmentArguments& +TransactionFragmentArguments::set_with_transaction_project_uuid(); + +template test::utils::TestableSharedTransactionFragmentArguments& +TransactionFragmentArguments::set_with_transaction_wallet_address(); + +} + +#endif + +#endif //ENJINSDK_TESTABLESHAREDTRANSACTIONFRAGMENTARGUMENTS_HPP diff --git a/test/include/TestableWalletFragmentArguments.hpp b/test/include/TestableWalletFragmentArguments.hpp new file mode 100644 index 00000000..1d751127 --- /dev/null +++ b/test/include/TestableWalletFragmentArguments.hpp @@ -0,0 +1,84 @@ +/* Copyright 2021 Enjin Pte. Ltd. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef ENJINSDK_TESTABLEWALLETFRAGMENTARGUMENTS_HPP +#define ENJINSDK_TESTABLEWALLETFRAGMENTARGUMENTS_HPP + +#if(ENJINSDK_BUILD_SHARED == 0) + +#include "enjinsdk/shared/WalletFragmentArguments.hpp" + +namespace enjin::test::utils { + +class TestableWalletFragmentArguments : public sdk::shared::WalletFragmentArguments { +public: + TestableWalletFragmentArguments() = default; + + ~TestableWalletFragmentArguments() override = default; + + bool operator==(const TestableWalletFragmentArguments& rhs) const; + + bool operator!=(const TestableWalletFragmentArguments& rhs) const; +}; + +} + +namespace enjin::sdk::shared { + +template test::utils::TestableWalletFragmentArguments& +WalletFragmentArguments::set_asset_id_format( + models::AssetIdFormat asset_id_format); + +template test::utils::TestableWalletFragmentArguments& +WalletFragmentArguments::set_with_state_data(); + +template test::utils::TestableWalletFragmentArguments& +WalletFragmentArguments::set_with_config_data(); + +template test::utils::TestableWalletFragmentArguments& +WalletFragmentArguments::set_with_asset_blocks(); + +template test::utils::TestableWalletFragmentArguments& +WalletFragmentArguments::set_with_creator(); + +template test::utils::TestableWalletFragmentArguments& +WalletFragmentArguments::set_with_melt_details(); + +template test::utils::TestableWalletFragmentArguments& +WalletFragmentArguments::set_with_metadata_uri(); + +template test::utils::TestableWalletFragmentArguments& +WalletFragmentArguments::set_with_supply_details(); + +template test::utils::TestableWalletFragmentArguments& +WalletFragmentArguments::set_with_transfer_settings(); + +template test::utils::TestableWalletFragmentArguments& +WalletFragmentArguments::set_with_asset_variant_mode(); + +template test::utils::TestableWalletFragmentArguments& +WalletFragmentArguments::set_with_asset_variants(); + +template test::utils::TestableWalletFragmentArguments& +WalletFragmentArguments::set_with_variant_metadata(); + +template test::utils::TestableWalletFragmentArguments& +WalletFragmentArguments::set_with_assets_created(); + +} + +#endif + +#endif //ENJINSDK_TESTABLEWALLETFRAGMENTARGUMENTS_HPP diff --git a/test/include/TransactionFragmentArgumentsTestSuite.hpp b/test/include/TransactionFragmentArgumentsTestSuite.hpp index 67da5adc..b2041fb6 100644 --- a/test/include/TransactionFragmentArgumentsTestSuite.hpp +++ b/test/include/TransactionFragmentArgumentsTestSuite.hpp @@ -27,8 +27,11 @@ class TransactionFragmentArgumentsTestSuite { "Type T does not inherit from TransactionFragmentArguments."); public: + static constexpr char TransactionFragmentJson[] = + R"({"transactionAssetIdFormat":"hex64","withBlockchainData":true,"withMeta":true,"withEncodedData":true,"withAssetData":true,"withSignedTxs":true,"withError":true,"withNonce":true,"withState":true,"withReceipt":true,"withReceiptLogs":true,"withLogEvent":true,"withTransactionProjectUuid":true,"withTransactionWalletAddress":true})"; + static void set_transaction_fragment_arguments(sdk::shared::TransactionFragmentArguments& o) { - o.set_asset_id_format(sdk::models::AssetIdFormat::HEX64) + o.set_transaction_asset_id_format(sdk::models::AssetIdFormat::HEX64) .set_with_blockchain_data() .set_with_meta() .set_with_encoded_data() @@ -40,7 +43,8 @@ class TransactionFragmentArgumentsTestSuite { .set_with_receipt() .set_with_receipt_logs() .set_with_log_event() - .set_with_transaction_project_uuid(); + .set_with_transaction_project_uuid() + .set_with_transaction_wallet_address(); } }; diff --git a/test/include/WalletFragmentArgumentsTestSuite.hpp b/test/include/WalletFragmentArgumentsTestSuite.hpp index e63de1a0..9e0a3568 100644 --- a/test/include/WalletFragmentArgumentsTestSuite.hpp +++ b/test/include/WalletFragmentArgumentsTestSuite.hpp @@ -17,20 +17,29 @@ #define ENJINSDK_WALLETFRAGMENTARGUMENTSTESTSUITE_HPP #include "AssetFragmentArgumentsTestSuite.hpp" +#include "BalanceFragmentArgumentsTestSuite.hpp" +#include "TransactionFragmentArgumentsTestSuite.hpp" #include "enjinsdk/shared/WalletFragmentArguments.hpp" #include namespace enjin::test::suites { template -class WalletFragmentArgumentsTestSuite : public AssetFragmentArgumentsTestSuite { +class WalletFragmentArgumentsTestSuite : public AssetFragmentArgumentsTestSuite, + public BalanceFragmentArgumentsTestSuite, + public TransactionFragmentArgumentsTestSuite { static_assert(std::is_base_of, T>::value, "Type T does not inherit from WalletFragmentArguments."); public: + static constexpr char WalletFragmentJson[] = + R"({"walletBalanceFilter":{},"withAssetsCreated":true,"withWalletBalances":true,"withWalletTransactions":true})"; + static void set_wallet_fragment_arguments(sdk::shared::WalletFragmentArguments& o) { - AssetFragmentArgumentsTestSuite::set_asset_fragment_arguments(o); - o.set_with_assets_created(); + o.set_wallet_balance_filter({}) + .set_with_assets_created() + .set_with_wallet_balances() + .set_with_wallet_transactions(); } }; diff --git a/test/unit/models/BalanceTest.cpp b/test/unit/models/BalanceTest.cpp index 390b9ddc..25d4cd83 100644 --- a/test/unit/models/BalanceTest.cpp +++ b/test/unit/models/BalanceTest.cpp @@ -130,3 +130,16 @@ TEST_F(BalanceTest, EqualityRightSideIsPopulatedReturnsFalse) { // Assert ASSERT_FALSE(actual); } + +TEST_F(BalanceTest, CopyOperatorCopyEqualsOriginal) { + // Arrange + Balance original; + Balance copy; + original.deserialize(POPULATED_JSON_OBJECT); + + // Act + copy = original; + + // Assert + ASSERT_EQ(original, copy); +} diff --git a/test/unit/models/PlayerTest.cpp b/test/unit/models/PlayerTest.cpp index 9e26e4e3..715f13c8 100644 --- a/test/unit/models/PlayerTest.cpp +++ b/test/unit/models/PlayerTest.cpp @@ -129,3 +129,16 @@ TEST_F(PlayerTest, EqualityRightSideIsPopulatedReturnsFalse) { // Assert ASSERT_FALSE(actual); } + +TEST_F(PlayerTest, CopyOperatorCopyEqualsOriginal) { + // Arrange + Player original; + Player copy; + original.deserialize(POPULATED_JSON_OBJECT); + + // Act + copy = original; + + // Assert + ASSERT_EQ(original, copy); +} diff --git a/test/unit/models/RequestTest.cpp b/test/unit/models/RequestTest.cpp index a65e08ee..65ed0e25 100644 --- a/test/unit/models/RequestTest.cpp +++ b/test/unit/models/RequestTest.cpp @@ -27,7 +27,7 @@ class RequestTest : public JsonTestSuite, Request class_under_test; constexpr static char POPULATED_JSON_OBJECT[] = - R"({"id":1,"transactionId":"1","title":"1","contract":"1","type":"APPROVE","value":"1","retryState":"1","state":"PENDING","accepted":true,"projectWallet":true,"blockchainData":{},"project":{},"asset":{},"createdAt":"1","updatedAt":"1"})"; + R"({"id":1,"transactionId":"1","title":"1","contract":"1","type":"APPROVE","value":"1","retryState":"1","state":"PENDING","accepted":true,"projectWallet":true,"blockchainData":{},"project":{},"asset":{},"wallet":{},"createdAt":"1","updatedAt":"1"})"; }; TEST_F(RequestTest, DeserializeEmptyStringFieldsDoNotHaveValues) { @@ -51,6 +51,7 @@ TEST_F(RequestTest, DeserializeEmptyStringFieldsDoNotHaveValues) { EXPECT_FALSE(class_under_test.get_blockchain_data().has_value()); EXPECT_FALSE(class_under_test.get_project().has_value()); EXPECT_FALSE(class_under_test.get_asset().has_value()); + EXPECT_FALSE(class_under_test.get_wallet().has_value()); EXPECT_FALSE(class_under_test.get_created_at().has_value()); EXPECT_FALSE(class_under_test.get_updated_at().has_value()); } @@ -76,6 +77,7 @@ TEST_F(RequestTest, DeserializeEmptyJsonObjectFieldsDoNotHaveValues) { EXPECT_FALSE(class_under_test.get_blockchain_data().has_value()); EXPECT_FALSE(class_under_test.get_project().has_value()); EXPECT_FALSE(class_under_test.get_asset().has_value()); + EXPECT_FALSE(class_under_test.get_wallet().has_value()); EXPECT_FALSE(class_under_test.get_created_at().has_value()); EXPECT_FALSE(class_under_test.get_updated_at().has_value()); } @@ -90,6 +92,7 @@ TEST_F(RequestTest, DeserializePopulatedJsonObjectFieldsHaveExpectedValues) { const BlockchainData expected_blockchain_data; const Project expected_project; const Asset expected_asset; + const Wallet expected_wallet; const std::string json(POPULATED_JSON_OBJECT); @@ -110,6 +113,7 @@ TEST_F(RequestTest, DeserializePopulatedJsonObjectFieldsHaveExpectedValues) { EXPECT_EQ(expected_blockchain_data, class_under_test.get_blockchain_data().value()); EXPECT_EQ(expected_project, class_under_test.get_project().value()); EXPECT_EQ(expected_asset, class_under_test.get_asset().value()); + EXPECT_EQ(expected_wallet, class_under_test.get_wallet().value()); EXPECT_EQ(expected_string, class_under_test.get_created_at().value()); EXPECT_EQ(expected_string, class_under_test.get_updated_at().value()); } @@ -165,3 +169,16 @@ TEST_F(RequestTest, EqualityRightSideIsPopulatedReturnsFalse) { // Assert ASSERT_FALSE(actual); } + +TEST_F(RequestTest, CopyOperatorCopyEqualsOriginal) { + // Arrange + Request original; + Request copy; + original.deserialize(POPULATED_JSON_OBJECT); + + // Act + copy = original; + + // Assert + ASSERT_EQ(original, copy); +} diff --git a/test/unit/models/WalletTest.cpp b/test/unit/models/WalletTest.cpp index 394060bb..eb879f4c 100644 --- a/test/unit/models/WalletTest.cpp +++ b/test/unit/models/WalletTest.cpp @@ -27,7 +27,7 @@ class WalletTest : public JsonTestSuite, Wallet class_under_test; constexpr static char POPULATED_JSON_OBJECT[] = - R"({"ethAddress":"1","enjAllowance":1.0,"enjBalance":1.0,"ethBalance":1.0,"assetsCreated":[]})"; + R"({"ethAddress":"1","enjAllowance":1.0,"enjBalance":1.0,"ethBalance":1.0,"assetsCreated":[],"balances":[],"transactions":[]})"; }; TEST_F(WalletTest, DeserializeEmptyStringFieldsDoNotHaveValues) { @@ -43,6 +43,8 @@ TEST_F(WalletTest, DeserializeEmptyStringFieldsDoNotHaveValues) { EXPECT_FALSE(class_under_test.get_enj_balance().has_value()); EXPECT_FALSE(class_under_test.get_eth_balance().has_value()); EXPECT_FALSE(class_under_test.get_assets_created().has_value()); + EXPECT_FALSE(class_under_test.get_balances().has_value()); + EXPECT_FALSE(class_under_test.get_transactions().has_value()); } TEST_F(WalletTest, DeserializeEmptyJsonObjectFieldsDoNotHaveValues) { @@ -58,6 +60,8 @@ TEST_F(WalletTest, DeserializeEmptyJsonObjectFieldsDoNotHaveValues) { EXPECT_FALSE(class_under_test.get_enj_balance().has_value()); EXPECT_FALSE(class_under_test.get_eth_balance().has_value()); EXPECT_FALSE(class_under_test.get_assets_created().has_value()); + EXPECT_FALSE(class_under_test.get_balances().has_value()); + EXPECT_FALSE(class_under_test.get_transactions().has_value()); } TEST_F(WalletTest, DeserializePopulatedJsonObjectFieldsHaveExpectedValues) { @@ -75,6 +79,8 @@ TEST_F(WalletTest, DeserializePopulatedJsonObjectFieldsHaveExpectedValues) { EXPECT_EQ(expected_float, class_under_test.get_enj_balance().value()); EXPECT_EQ(expected_float, class_under_test.get_eth_balance().value()); EXPECT_TRUE(class_under_test.get_assets_created().has_value()); + EXPECT_TRUE(class_under_test.get_balances().has_value()); + EXPECT_TRUE(class_under_test.get_transactions().has_value()); } TEST_F(WalletTest, EqualityNeitherSideIsPopulatedReturnsTrue) { @@ -128,3 +134,16 @@ TEST_F(WalletTest, EqualityRightSideIsPopulatedReturnsFalse) { // Assert ASSERT_FALSE(actual); } + +TEST_F(WalletTest, CopyOperatorCopyEqualsOriginal) { + // Arrange + Wallet original; + Wallet copy; + original.deserialize(POPULATED_JSON_OBJECT); + + // Act + copy = original; + + // Assert + ASSERT_EQ(original, copy); +} diff --git a/test/unit/schemas/project/arguments/CMakeLists.txt b/test/unit/schemas/project/arguments/CMakeLists.txt index ead13a6f..531d89b9 100644 --- a/test/unit/schemas/project/arguments/CMakeLists.txt +++ b/test/unit/schemas/project/arguments/CMakeLists.txt @@ -1,3 +1,9 @@ target_sources(${PROJECT_NAME}_tests PRIVATE ProjectTransactionRequestArgumentsImplTest.cpp) + +if (NOT ${ENJINSDK_BUILD_SHARED}) + target_sources(${PROJECT_NAME}_tests + PRIVATE + ProjectTransactionRequestArgumentsTest.cpp) +endif () diff --git a/test/unit/schemas/project/arguments/ProjectTransactionRequestArgumentsTest.cpp b/test/unit/schemas/project/arguments/ProjectTransactionRequestArgumentsTest.cpp new file mode 100644 index 00000000..0fe08df4 --- /dev/null +++ b/test/unit/schemas/project/arguments/ProjectTransactionRequestArgumentsTest.cpp @@ -0,0 +1,121 @@ +/* Copyright 2021 Enjin Pte. Ltd. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include "gtest/gtest.h" +#include "JsonTestSuite.hpp" +#include "ProjectTransactionRequestArgumentsTestSuite.hpp" +#include "TestableProjectTransactionRequestArguments.hpp" +#include + +using namespace enjin::test::suites; +using namespace enjin::test::utils; + +class ProjectTransactionRequestArgumentsTest + : public JsonTestSuite, + public ProjectTransactionRequestArgumentsTestSuite, + public testing::Test { +public: + TestableProjectTransactionRequestArguments class_under_test; + + static TestableProjectTransactionRequestArguments create_default_arguments() { + TestableProjectTransactionRequestArguments arguments; + set_project_transaction_request_arguments(arguments); + set_transaction_fragment_arguments(arguments); + return arguments; + } +}; + +TEST_F(ProjectTransactionRequestArgumentsTest, SerializeNoSetFieldsReturnsEmptyJson) { + // Arrange + const std::string expected(EMPTY_JSON_OBJECT); + + // Act + std::string actual = class_under_test.serialize(); + + // Assert + ASSERT_EQ(expected, actual); +} + +TEST_F(ProjectTransactionRequestArgumentsTest, SerializeSetProjectTransactionRequestFieldsReturnsExpectedJson) { + // Arrange + const std::string expected(ProjectTransactionRequestJson); + set_project_transaction_request_arguments(class_under_test); + + // Act + std::string actual = class_under_test.serialize(); + + // Assert + ASSERT_EQ(expected, actual); +} + +TEST_F(ProjectTransactionRequestArgumentsTest, SerializeSetTransactionFragmentFieldsReturnsExpectedJson) { + // Arrange + const std::string expected(TransactionFragmentJson); + set_transaction_fragment_arguments(class_under_test); + + // Act + std::string actual = class_under_test.serialize(); + + // Assert + ASSERT_EQ(expected, actual); +} + +TEST_F(ProjectTransactionRequestArgumentsTest, EqualityNeitherSideIsPopulatedReturnsTrue) { + // Arrange + TestableProjectTransactionRequestArguments lhs; + TestableProjectTransactionRequestArguments rhs; + + // Act + bool actual = lhs == rhs; + + // Assert + ASSERT_TRUE(actual); +} + +TEST_F(ProjectTransactionRequestArgumentsTest, EqualityBothSidesArePopulatedReturnsTrue) { + // Arrange + TestableProjectTransactionRequestArguments lhs = create_default_arguments(); + TestableProjectTransactionRequestArguments rhs = create_default_arguments(); + + // Act + bool actual = lhs == rhs; + + // Assert + ASSERT_TRUE(actual); +} + +TEST_F(ProjectTransactionRequestArgumentsTest, EqualityLeftSideIsPopulatedReturnsFalse) { + // Arrange + TestableProjectTransactionRequestArguments lhs = create_default_arguments(); + TestableProjectTransactionRequestArguments rhs; + + // Act + bool actual = lhs == rhs; + + // Assert + ASSERT_FALSE(actual); +} + +TEST_F(ProjectTransactionRequestArgumentsTest, EqualityRightSideIsPopulatedReturnsFalse) { + // Arrange + TestableProjectTransactionRequestArguments lhs; + TestableProjectTransactionRequestArguments rhs = create_default_arguments(); + + // Act + bool actual = lhs == rhs; + + // Assert + ASSERT_FALSE(actual); +} diff --git a/test/unit/schemas/shared/arguments/CMakeLists.txt b/test/unit/schemas/shared/arguments/CMakeLists.txt index 02ae0324..987f4e22 100644 --- a/test/unit/schemas/shared/arguments/CMakeLists.txt +++ b/test/unit/schemas/shared/arguments/CMakeLists.txt @@ -6,3 +6,14 @@ target_sources(${PROJECT_NAME}_tests SharedPlayerFragmentArgumentsImplTest.cpp SharedTransactionFragmentArgumentsImplTest.cpp SharedWalletFragmentArgumentsImplTest.cpp) + +if (NOT ${ENJINSDK_BUILD_SHARED}) + target_sources(${PROJECT_NAME}_tests + PRIVATE + SharedAssetFragmentArgumentsTest.cpp + SharedBalanceFragmentArgumentsTest.cpp + SharedPaginationArgumentsTest.cpp + SharedPlayerFragmentArgumentsTest.cpp + SharedTransactionFragmentArgumentsTest.cpp + SharedWalletFragmentArgumentsTest.cpp) +endif () diff --git a/test/unit/schemas/shared/arguments/SharedAssetFragmentArgumentsTest.cpp b/test/unit/schemas/shared/arguments/SharedAssetFragmentArgumentsTest.cpp new file mode 100644 index 00000000..a39f6d88 --- /dev/null +++ b/test/unit/schemas/shared/arguments/SharedAssetFragmentArgumentsTest.cpp @@ -0,0 +1,107 @@ +/* Copyright 2021 Enjin Pte. Ltd. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include "gtest/gtest.h" +#include "AssetFragmentArgumentsTestSuite.hpp" +#include "JsonTestSuite.hpp" +#include "TestableSharedAssetFragmentArguments.hpp" +#include + +using namespace enjin::test::suites; +using namespace enjin::test::utils; + +class SharedAssetFragmentArgumentsTest : public AssetFragmentArgumentsTestSuite, + public JsonTestSuite, + public testing::Test { +public: + TestableSharedAssetFragmentArguments class_under_test; + + static TestableSharedAssetFragmentArguments create_default_arguments() { + TestableSharedAssetFragmentArguments arguments; + set_asset_fragment_arguments(arguments); + return arguments; + } +}; + +TEST_F(SharedAssetFragmentArgumentsTest, SerializeNoSetFieldsReturnsEmptyJson) { + // Arrange + const std::string expected(EMPTY_JSON_OBJECT); + + // Act + std::string actual = class_under_test.serialize(); + + // Assert + ASSERT_EQ(expected, actual); +} + +TEST_F(SharedAssetFragmentArgumentsTest, SerializeSetAssetFragmentFieldsReturnsExpectedJson) { + // Arrange + const std::string expected(AssetFragmentJson); + set_asset_fragment_arguments(class_under_test); + + // Act + std::string actual = class_under_test.serialize(); + + // Assert + ASSERT_EQ(expected, actual); +} + +TEST_F(SharedAssetFragmentArgumentsTest, EqualityNeitherSideIsPopulatedReturnsTrue) { + // Arrange + TestableSharedAssetFragmentArguments lhs; + TestableSharedAssetFragmentArguments rhs; + + // Act + bool actual = lhs == rhs; + + // Assert + ASSERT_TRUE(actual); +} + +TEST_F(SharedAssetFragmentArgumentsTest, EqualityBothSidesArePopulatedReturnsTrue) { + // Arrange + TestableSharedAssetFragmentArguments lhs = create_default_arguments(); + TestableSharedAssetFragmentArguments rhs = create_default_arguments(); + + // Act + bool actual = lhs == rhs; + + // Assert + ASSERT_TRUE(actual); +} + +TEST_F(SharedAssetFragmentArgumentsTest, EqualityLeftSideIsPopulatedReturnsFalse) { + // Arrange + TestableSharedAssetFragmentArguments lhs = create_default_arguments(); + TestableSharedAssetFragmentArguments rhs; + + // Act + bool actual = lhs == rhs; + + // Assert + ASSERT_FALSE(actual); +} + +TEST_F(SharedAssetFragmentArgumentsTest, EqualityRightSideIsPopulatedReturnsFalse) { + // Arrange + TestableSharedAssetFragmentArguments lhs; + TestableSharedAssetFragmentArguments rhs = create_default_arguments(); + + // Act + bool actual = lhs == rhs; + + // Assert + ASSERT_FALSE(actual); +} diff --git a/test/unit/schemas/shared/arguments/SharedBalanceFragmentArgumentsTest.cpp b/test/unit/schemas/shared/arguments/SharedBalanceFragmentArgumentsTest.cpp new file mode 100644 index 00000000..a61bed72 --- /dev/null +++ b/test/unit/schemas/shared/arguments/SharedBalanceFragmentArgumentsTest.cpp @@ -0,0 +1,108 @@ +/* Copyright 2021 Enjin Pte. Ltd. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include "gtest/gtest.h" +#include "BalanceFragmentArgumentsTestSuite.hpp" +#include "JsonTestSuite.hpp" +#include "TestableSharedBalanceFragmentArguments.hpp" +#include + +using namespace enjin::test::suites; +using namespace enjin::test::utils; + +class SharedBalanceFragmentArgumentsTest + : public BalanceFragmentArgumentsTestSuite, + public JsonTestSuite, + public testing::Test { +public: + TestableSharedBalanceFragmentArguments class_under_test; + + static TestableSharedBalanceFragmentArguments create_default_arguments() { + TestableSharedBalanceFragmentArguments arguments; + set_balance_fragment_arguments(arguments); + return arguments; + } +}; + +TEST_F(SharedBalanceFragmentArgumentsTest, SerializeNoSetFieldsReturnsEmptyJson) { + // Arrange + const std::string expected(EMPTY_JSON_OBJECT); + + // Act + std::string actual = class_under_test.serialize(); + + // Assert + ASSERT_EQ(expected, actual); +} + +TEST_F(SharedBalanceFragmentArgumentsTest, SerializeSetBalanceFragmentFieldsReturnsExpectedJson) { + // Arrange + const std::string expected(BalanceFragmentJson); + set_balance_fragment_arguments(class_under_test); + + // Act + std::string actual = class_under_test.serialize(); + + // Assert + ASSERT_EQ(expected, actual); +} + +TEST_F(SharedBalanceFragmentArgumentsTest, EqualityNeitherSideIsPopulatedReturnsTrue) { + // Arrange + TestableSharedBalanceFragmentArguments lhs; + TestableSharedBalanceFragmentArguments rhs; + + // Act + bool actual = lhs == rhs; + + // Assert + ASSERT_TRUE(actual); +} + +TEST_F(SharedBalanceFragmentArgumentsTest, EqualityBothSidesArePopulatedReturnsTrue) { + // Arrange + TestableSharedBalanceFragmentArguments lhs = create_default_arguments(); + TestableSharedBalanceFragmentArguments rhs = create_default_arguments(); + + // Act + bool actual = lhs == rhs; + + // Assert + ASSERT_TRUE(actual); +} + +TEST_F(SharedBalanceFragmentArgumentsTest, EqualityLeftSideIsPopulatedReturnsFalse) { + // Arrange + TestableSharedBalanceFragmentArguments lhs = create_default_arguments(); + TestableSharedBalanceFragmentArguments rhs; + + // Act + bool actual = lhs == rhs; + + // Assert + ASSERT_FALSE(actual); +} + +TEST_F(SharedBalanceFragmentArgumentsTest, EqualityRightSideIsPopulatedReturnsFalse) { + // Arrange + TestableSharedBalanceFragmentArguments lhs; + TestableSharedBalanceFragmentArguments rhs = create_default_arguments(); + + // Act + bool actual = lhs == rhs; + + // Assert + ASSERT_FALSE(actual); +} diff --git a/test/unit/schemas/shared/arguments/SharedPaginationArgumentsTest.cpp b/test/unit/schemas/shared/arguments/SharedPaginationArgumentsTest.cpp new file mode 100644 index 00000000..f9d8d190 --- /dev/null +++ b/test/unit/schemas/shared/arguments/SharedPaginationArgumentsTest.cpp @@ -0,0 +1,108 @@ +/* Copyright 2021 Enjin Pte. Ltd. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include "gtest/gtest.h" +#include "JsonTestSuite.hpp" +#include "PaginationArgumentsTestSuite.hpp" +#include "TestableSharedPaginationArguments.hpp" +#include + +using namespace enjin::test::suites; +using namespace enjin::test::utils; + +class SharedPaginationArgumentsTest + : public JsonTestSuite, + public PaginationArgumentsTestSuite, + public testing::Test { +public: + TestableSharedPaginationArguments class_under_test; + + static TestableSharedPaginationArguments create_default_arguments() { + TestableSharedPaginationArguments arguments; + set_pagination_arguments(arguments); + return arguments; + } +}; + +TEST_F(SharedPaginationArgumentsTest, SerializeNoSetFieldsReturnsEmptyJson) { + // Arrange + const std::string expected(EMPTY_JSON_OBJECT); + + // Act + std::string actual = class_under_test.serialize(); + + // Assert + ASSERT_EQ(expected, actual); +} + +TEST_F(SharedPaginationArgumentsTest, SerializeSetPaginationFieldsReturnsExpectedJson) { + // Arrange + const std::string expected(PaginationJson); + set_pagination_arguments(class_under_test); + + // Act + std::string actual = class_under_test.serialize(); + + // Assert + ASSERT_EQ(expected, actual); +} + +TEST_F(SharedPaginationArgumentsTest, EqualityNeitherSideIsPopulatedReturnsTrue) { + // Arrange + TestableSharedPaginationArguments lhs; + TestableSharedPaginationArguments rhs; + + // Act + bool actual = lhs == rhs; + + // Assert + ASSERT_TRUE(actual); +} + +TEST_F(SharedPaginationArgumentsTest, EqualityBothSidesArePopulatedReturnsTrue) { + // Arrange + TestableSharedPaginationArguments lhs = create_default_arguments(); + TestableSharedPaginationArguments rhs = create_default_arguments(); + + // Act + bool actual = lhs == rhs; + + // Assert + ASSERT_TRUE(actual); +} + +TEST_F(SharedPaginationArgumentsTest, EqualityLeftSideIsPopulatedReturnsFalse) { + // Arrange + TestableSharedPaginationArguments lhs = create_default_arguments(); + TestableSharedPaginationArguments rhs; + + // Act + bool actual = lhs == rhs; + + // Assert + ASSERT_FALSE(actual); +} + +TEST_F(SharedPaginationArgumentsTest, EqualityRightSideIsPopulatedReturnsFalse) { + // Arrange + TestableSharedPaginationArguments lhs; + TestableSharedPaginationArguments rhs = create_default_arguments(); + + // Act + bool actual = lhs == rhs; + + // Assert + ASSERT_FALSE(actual); +} diff --git a/test/unit/schemas/shared/arguments/SharedPlayerFragmentArgumentsTest.cpp b/test/unit/schemas/shared/arguments/SharedPlayerFragmentArgumentsTest.cpp new file mode 100644 index 00000000..5859a0d5 --- /dev/null +++ b/test/unit/schemas/shared/arguments/SharedPlayerFragmentArgumentsTest.cpp @@ -0,0 +1,160 @@ +/* Copyright 2021 Enjin Pte. Ltd. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include "gtest/gtest.h" +#include "JsonTestSuite.hpp" +#include "PlayerFragmentArgumentsTestSuite.hpp" +#include "TestableSharedPlayerFragmentArguments.hpp" +#include + +using namespace enjin::test::suites; +using namespace enjin::test::utils; + +class SharedPlayerFragmentArgumentsTest + : public JsonTestSuite, + public PlayerFragmentArgumentsTestSuite, + public testing::Test { +public: + TestableSharedPlayerFragmentArguments class_under_test; + + static TestableSharedPlayerFragmentArguments create_default_arguments() { + TestableSharedPlayerFragmentArguments arguments; + set_asset_fragment_arguments(arguments); + set_balance_fragment_arguments(arguments); + set_player_fragment_arguments(arguments); + set_transaction_fragment_arguments(arguments); + set_wallet_fragment_arguments(arguments); + return arguments; + } +}; + +TEST_F(SharedPlayerFragmentArgumentsTest, SerializeNoSetFieldsReturnsEmptyJson) { + // Arrange + const std::string expected(EMPTY_JSON_OBJECT); + + // Act + std::string actual = class_under_test.serialize(); + + // Assert + ASSERT_EQ(expected, actual); +} + +TEST_F(SharedPlayerFragmentArgumentsTest, SerializeSetAssetFragmentFieldsReturnsExpectedJson) { + // Arrange + const std::string expected(AssetFragmentJson); + set_asset_fragment_arguments(class_under_test); + + // Act + std::string actual = class_under_test.serialize(); + + // Assert + ASSERT_EQ(expected, actual); +} + +TEST_F(SharedPlayerFragmentArgumentsTest, SerializeSetBalanceFragmentFieldsReturnsExpectedJson) { + // Arrange + const std::string expected(BalanceFragmentJson); + set_balance_fragment_arguments(class_under_test); + + // Act + std::string actual = class_under_test.serialize(); + + // Assert + ASSERT_EQ(expected, actual); +} + +TEST_F(SharedPlayerFragmentArgumentsTest, SerializeSetPlayerFragmentFieldsReturnsExpectedJson) { + // Arrange + const std::string expected(PlayerFragmentJson); + set_player_fragment_arguments(class_under_test); + + // Act + std::string actual = class_under_test.serialize(); + + // Assert + ASSERT_EQ(expected, actual); +} + +TEST_F(SharedPlayerFragmentArgumentsTest, SerializeSetTransactionFragmentFieldsReturnsExpectedJson) { + // Arrange + const std::string expected(TransactionFragmentJson); + set_transaction_fragment_arguments(class_under_test); + + // Act + std::string actual = class_under_test.serialize(); + + // Assert + ASSERT_EQ(expected, actual); +} + +TEST_F(SharedPlayerFragmentArgumentsTest, SerializeSetWalletFragmentFieldsReturnsExpectedJson) { + // Arrange + const std::string expected(WalletFragmentJson); + set_wallet_fragment_arguments(class_under_test); + + // Act + std::string actual = class_under_test.serialize(); + + // Assert + ASSERT_EQ(expected, actual); +} + +TEST_F(SharedPlayerFragmentArgumentsTest, EqualityNeitherSideIsPopulatedReturnsTrue) { + // Arrange + TestableSharedPlayerFragmentArguments lhs; + TestableSharedPlayerFragmentArguments rhs; + + // Act + bool actual = lhs == rhs; + + // Assert + ASSERT_TRUE(actual); +} + +TEST_F(SharedPlayerFragmentArgumentsTest, EqualityBothSidesArePopulatedReturnsTrue) { + // Arrange + TestableSharedPlayerFragmentArguments lhs = create_default_arguments(); + TestableSharedPlayerFragmentArguments rhs = create_default_arguments(); + + // Act + bool actual = lhs == rhs; + + // Assert + ASSERT_TRUE(actual); +} + +TEST_F(SharedPlayerFragmentArgumentsTest, EqualityLeftSideIsPopulatedReturnsFalse) { + // Arrange + TestableSharedPlayerFragmentArguments lhs = create_default_arguments(); + TestableSharedPlayerFragmentArguments rhs; + + // Act + bool actual = lhs == rhs; + + // Assert + ASSERT_FALSE(actual); +} + +TEST_F(SharedPlayerFragmentArgumentsTest, EqualityRightSideIsPopulatedReturnsFalse) { + // Arrange + TestableSharedPlayerFragmentArguments lhs; + TestableSharedPlayerFragmentArguments rhs = create_default_arguments(); + + // Act + bool actual = lhs == rhs; + + // Assert + ASSERT_FALSE(actual); +} diff --git a/test/unit/schemas/shared/arguments/SharedTransactionFragmentArgumentsImplTest.cpp b/test/unit/schemas/shared/arguments/SharedTransactionFragmentArgumentsImplTest.cpp index 3fcb3eb3..e1fb30ef 100644 --- a/test/unit/schemas/shared/arguments/SharedTransactionFragmentArgumentsImplTest.cpp +++ b/test/unit/schemas/shared/arguments/SharedTransactionFragmentArgumentsImplTest.cpp @@ -28,11 +28,11 @@ class SharedTransactionFragmentArgumentsImplTest : public JsonTestSuite, TransactionFragmentArgumentsImpl class_under_test; constexpr static char POPULATED_JSON_OBJECT[] = - R"({"assetIdFormat":"hex64","withBlockchainData":true,"withMeta":true,"withEncodedData":true,"withAssetData":true,"withSignedTxs":true,"withError":true,"withNonce":true,"withState":true,"withReceipt":true,"withReceiptLogs":true,"withLogEvent":true,"withTransactionProjectUuid":true})"; + R"({"transactionAssetIdFormat":"hex64","withBlockchainData":true,"withMeta":true,"withEncodedData":true,"withAssetData":true,"withSignedTxs":true,"withError":true,"withNonce":true,"withState":true,"withReceipt":true,"withReceiptLogs":true,"withLogEvent":true,"withTransactionProjectUuid":true,"withTransactionWalletAddress":true})"; static TransactionFragmentArgumentsImpl create_default_arguments() { TransactionFragmentArgumentsImpl arguments; - arguments.set_asset_id_format(AssetIdFormat::HEX64); + arguments.set_transaction_asset_id_format(AssetIdFormat::HEX64); arguments.set_with_blockchain_data(); arguments.set_with_meta(); arguments.set_with_encoded_data(); @@ -45,6 +45,7 @@ class SharedTransactionFragmentArgumentsImplTest : public JsonTestSuite, arguments.set_with_receipt_logs(); arguments.set_with_log_event(); arguments.set_with_transaction_project_uuid(); + arguments.set_with_transaction_wallet_address(); return arguments; } }; @@ -63,7 +64,7 @@ TEST_F(SharedTransactionFragmentArgumentsImplTest, SerializeNoSetFieldsReturnsEm TEST_F(SharedTransactionFragmentArgumentsImplTest, SerializeSetFieldsReturnsExpectedJsonObject) { // Arrange const std::string expected(POPULATED_JSON_OBJECT); - class_under_test.set_asset_id_format(AssetIdFormat::HEX64); + class_under_test.set_transaction_asset_id_format(AssetIdFormat::HEX64); class_under_test.set_with_blockchain_data(); class_under_test.set_with_meta(); class_under_test.set_with_encoded_data(); @@ -76,6 +77,7 @@ TEST_F(SharedTransactionFragmentArgumentsImplTest, SerializeSetFieldsReturnsExpe class_under_test.set_with_receipt_logs(); class_under_test.set_with_log_event(); class_under_test.set_with_transaction_project_uuid(); + class_under_test.set_with_transaction_wallet_address(); // Act std::string actual = class_under_test.serialize(); diff --git a/test/unit/schemas/shared/arguments/SharedTransactionFragmentArgumentsTest.cpp b/test/unit/schemas/shared/arguments/SharedTransactionFragmentArgumentsTest.cpp new file mode 100644 index 00000000..f4d3d3d7 --- /dev/null +++ b/test/unit/schemas/shared/arguments/SharedTransactionFragmentArgumentsTest.cpp @@ -0,0 +1,108 @@ +/* Copyright 2021 Enjin Pte. Ltd. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include "gtest/gtest.h" +#include "JsonTestSuite.hpp" +#include "TestableSharedTransactionFragmentArguments.hpp" +#include "TransactionFragmentArgumentsTestSuite.hpp" +#include + +using namespace enjin::test::suites; +using namespace enjin::test::utils; + +class SharedTransactionFragmentArgumentsTest + : public JsonTestSuite, + public TransactionFragmentArgumentsTestSuite, + public testing::Test { +public: + TestableSharedTransactionFragmentArguments class_under_test; + + static TestableSharedTransactionFragmentArguments create_default_arguments() { + TestableSharedTransactionFragmentArguments arguments; + set_transaction_fragment_arguments(arguments); + return arguments; + } +}; + +TEST_F(SharedTransactionFragmentArgumentsTest, SerializeNoSetFieldsReturnsEmptyJson) { + // Arrange + const std::string expected(EMPTY_JSON_OBJECT); + + // Act + std::string actual = class_under_test.serialize(); + + // Assert + ASSERT_EQ(expected, actual); +} + +TEST_F(SharedTransactionFragmentArgumentsTest, SerializeSetTransactionFragmentFieldsReturnsExpectedJson) { + // Arrange + const std::string expected(TransactionFragmentJson); + set_transaction_fragment_arguments(class_under_test); + + // Act + std::string actual = class_under_test.serialize(); + + // Assert + ASSERT_EQ(expected, actual); +} + +TEST_F(SharedTransactionFragmentArgumentsTest, EqualityNeitherSideIsPopulatedReturnsTrue) { + // Arrange + TestableSharedTransactionFragmentArguments lhs; + TestableSharedTransactionFragmentArguments rhs; + + // Act + bool actual = lhs == rhs; + + // Assert + ASSERT_TRUE(actual); +} + +TEST_F(SharedTransactionFragmentArgumentsTest, EqualityBothSidesArePopulatedReturnsTrue) { + // Arrange + TestableSharedTransactionFragmentArguments lhs = create_default_arguments(); + TestableSharedTransactionFragmentArguments rhs = create_default_arguments(); + + // Act + bool actual = lhs == rhs; + + // Assert + ASSERT_TRUE(actual); +} + +TEST_F(SharedTransactionFragmentArgumentsTest, EqualityLeftSideIsPopulatedReturnsFalse) { + // Arrange + TestableSharedTransactionFragmentArguments lhs = create_default_arguments(); + TestableSharedTransactionFragmentArguments rhs; + + // Act + bool actual = lhs == rhs; + + // Assert + ASSERT_FALSE(actual); +} + +TEST_F(SharedTransactionFragmentArgumentsTest, EqualityRightSideIsPopulatedReturnsFalse) { + // Arrange + TestableSharedTransactionFragmentArguments lhs; + TestableSharedTransactionFragmentArguments rhs = create_default_arguments(); + + // Act + bool actual = lhs == rhs; + + // Assert + ASSERT_FALSE(actual); +} diff --git a/test/unit/schemas/shared/arguments/SharedWalletFragmentArgumentsImplTest.cpp b/test/unit/schemas/shared/arguments/SharedWalletFragmentArgumentsImplTest.cpp index 88758166..f2c4b48e 100644 --- a/test/unit/schemas/shared/arguments/SharedWalletFragmentArgumentsImplTest.cpp +++ b/test/unit/schemas/shared/arguments/SharedWalletFragmentArgumentsImplTest.cpp @@ -27,11 +27,14 @@ class SharedWalletFragmentArgumentsImplTest : public JsonTestSuite, WalletFragmentArgumentsImpl class_under_test; constexpr static char POPULATED_JSON_OBJECT[] = - R"({"withAssetsCreated":true})"; + R"({"walletBalanceFilter":{},"withAssetsCreated":true,"withWalletBalances":true,"withWalletTransactions":true})"; static WalletFragmentArgumentsImpl create_default_arguments() { WalletFragmentArgumentsImpl arguments; + arguments.set_wallet_balance_filter({}); arguments.set_with_assets_created(); + arguments.set_with_wallet_balances(); + arguments.set_with_wallet_transactions(); return arguments; } }; @@ -50,7 +53,10 @@ TEST_F(SharedWalletFragmentArgumentsImplTest, SerializeNoSetFieldsReturnsEmptyJs TEST_F(SharedWalletFragmentArgumentsImplTest, SerializeSetFieldsReturnsExpectedJsonObject) { // Arrange const std::string expected(POPULATED_JSON_OBJECT); + class_under_test.set_wallet_balance_filter({}); class_under_test.set_with_assets_created(); + class_under_test.set_with_wallet_balances(); + class_under_test.set_with_wallet_transactions(); // Act std::string actual = class_under_test.serialize(); diff --git a/test/unit/schemas/shared/arguments/SharedWalletFragmentArgumentsTest.cpp b/test/unit/schemas/shared/arguments/SharedWalletFragmentArgumentsTest.cpp new file mode 100644 index 00000000..57260bc7 --- /dev/null +++ b/test/unit/schemas/shared/arguments/SharedWalletFragmentArgumentsTest.cpp @@ -0,0 +1,147 @@ +/* Copyright 2021 Enjin Pte. Ltd. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include "gtest/gtest.h" +#include "JsonTestSuite.hpp" +#include "TestableWalletFragmentArguments.hpp" +#include "WalletFragmentArgumentsTestSuite.hpp" +#include + +using namespace enjin::test::suites; +using namespace enjin::test::utils; + +class SharedWalletFragmentArgumentsTest + : public JsonTestSuite, + public WalletFragmentArgumentsTestSuite, + public testing::Test { +public: + TestableWalletFragmentArguments class_under_test; + + static TestableWalletFragmentArguments create_default_arguments() { + TestableWalletFragmentArguments arguments; + set_asset_fragment_arguments(arguments); + set_balance_fragment_arguments(arguments); + set_transaction_fragment_arguments(arguments); + set_wallet_fragment_arguments(arguments); + return arguments; + } +}; + +TEST_F(SharedWalletFragmentArgumentsTest, SerializeNoSetFieldsReturnsEmptyJson) { + // Arrange + const std::string expected(EMPTY_JSON_OBJECT); + + // Act + std::string actual = class_under_test.serialize(); + + // Assert + ASSERT_EQ(expected, actual); +} + +TEST_F(SharedWalletFragmentArgumentsTest, SerializeSetAssetFragmentFieldsReturnsExpectedJson) { + // Arrange + const std::string expected(AssetFragmentJson); + set_asset_fragment_arguments(class_under_test); + + // Act + std::string actual = class_under_test.serialize(); + + // Assert + ASSERT_EQ(expected, actual); +} + +TEST_F(SharedWalletFragmentArgumentsTest, SerializeSetBalanceFragmentFieldsReturnsExpectedJson) { + // Arrange + const std::string expected(BalanceFragmentJson); + set_balance_fragment_arguments(class_under_test); + + // Act + std::string actual = class_under_test.serialize(); + + // Assert + ASSERT_EQ(expected, actual); +} + +TEST_F(SharedWalletFragmentArgumentsTest, SerializeSetTransactionFragmentFieldsReturnsExpectedJson) { + // Arrange + const std::string expected(TransactionFragmentJson); + set_transaction_fragment_arguments(class_under_test); + + // Act + std::string actual = class_under_test.serialize(); + + // Assert + ASSERT_EQ(expected, actual); +} + +TEST_F(SharedWalletFragmentArgumentsTest, SerializeSetWalletFragmentFieldsReturnsExpectedJson) { + // Arrange + const std::string expected(WalletFragmentJson); + set_wallet_fragment_arguments(class_under_test); + + // Act + std::string actual = class_under_test.serialize(); + + // Assert + ASSERT_EQ(expected, actual); +} + +TEST_F(SharedWalletFragmentArgumentsTest, EqualityNeitherSideIsPopulatedReturnsTrue) { + // Arrange + TestableWalletFragmentArguments lhs; + TestableWalletFragmentArguments rhs; + + // Act + bool actual = lhs == rhs; + + // Assert + ASSERT_TRUE(actual); +} + +TEST_F(SharedWalletFragmentArgumentsTest, EqualityBothSidesArePopulatedReturnsTrue) { + // Arrange + TestableWalletFragmentArguments lhs = create_default_arguments(); + TestableWalletFragmentArguments rhs = create_default_arguments(); + + // Act + bool actual = lhs == rhs; + + // Assert + ASSERT_TRUE(actual); +} + +TEST_F(SharedWalletFragmentArgumentsTest, EqualityLeftSideIsPopulatedReturnsFalse) { + // Arrange + TestableWalletFragmentArguments lhs = create_default_arguments(); + TestableWalletFragmentArguments rhs; + + // Act + bool actual = lhs == rhs; + + // Assert + ASSERT_FALSE(actual); +} + +TEST_F(SharedWalletFragmentArgumentsTest, EqualityRightSideIsPopulatedReturnsFalse) { + // Arrange + TestableWalletFragmentArguments lhs; + TestableWalletFragmentArguments rhs = create_default_arguments(); + + // Act + bool actual = lhs == rhs; + + // Assert + ASSERT_FALSE(actual); +} diff --git a/test/utils/CMakeLists.txt b/test/utils/CMakeLists.txt index 04c98459..49efed51 100644 --- a/test/utils/CMakeLists.txt +++ b/test/utils/CMakeLists.txt @@ -2,3 +2,15 @@ target_sources(${PROJECT_NAME}_tests PRIVATE DummyObject.cpp TestableBaseSchema.cpp) + +if (NOT ${ENJINSDK_BUILD_SHARED}) + target_sources(${PROJECT_NAME}_tests + PRIVATE + TestableProjectTransactionRequestArguments.cpp + TestableSharedAssetFragmentArguments.cpp + TestableSharedBalanceFragmentArguments.cpp + TestableSharedPaginationArguments.cpp + TestableSharedPlayerFragmentArguments.cpp + TestableSharedTransactionFragmentArguments.cpp + TestableWalletFragmentArguments.cpp) +endif () diff --git a/test/utils/TestableProjectTransactionRequestArguments.cpp b/test/utils/TestableProjectTransactionRequestArguments.cpp new file mode 100644 index 00000000..9112ab69 --- /dev/null +++ b/test/utils/TestableProjectTransactionRequestArguments.cpp @@ -0,0 +1,31 @@ +/* Copyright 2021 Enjin Pte. Ltd. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include "TestableProjectTransactionRequestArguments.hpp" + +using namespace enjin::sdk::project; +using namespace enjin::test::utils; + +bool TestableProjectTransactionRequestArguments::operator==( + const TestableProjectTransactionRequestArguments& rhs) const { + return static_cast&>(*this) == + rhs; +} + +bool TestableProjectTransactionRequestArguments::operator!=( + const TestableProjectTransactionRequestArguments& rhs) const { + return static_cast&>(*this) != + rhs; +} diff --git a/test/utils/TestableSharedAssetFragmentArguments.cpp b/test/utils/TestableSharedAssetFragmentArguments.cpp new file mode 100644 index 00000000..3f6cc896 --- /dev/null +++ b/test/utils/TestableSharedAssetFragmentArguments.cpp @@ -0,0 +1,27 @@ +/* Copyright 2021 Enjin Pte. Ltd. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include "TestableSharedAssetFragmentArguments.hpp" + +using namespace enjin::sdk::shared; +using namespace enjin::test::utils; + +bool TestableSharedAssetFragmentArguments::operator==(const TestableSharedAssetFragmentArguments& rhs) const { + return static_cast&>(*this) == rhs; +} + +bool TestableSharedAssetFragmentArguments::operator!=(const TestableSharedAssetFragmentArguments& rhs) const { + return static_cast&>(*this) != rhs; +} diff --git a/test/utils/TestableSharedBalanceFragmentArguments.cpp b/test/utils/TestableSharedBalanceFragmentArguments.cpp new file mode 100644 index 00000000..aed06fb1 --- /dev/null +++ b/test/utils/TestableSharedBalanceFragmentArguments.cpp @@ -0,0 +1,27 @@ +/* Copyright 2021 Enjin Pte. Ltd. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include "TestableSharedBalanceFragmentArguments.hpp" + +using namespace enjin::sdk::shared; +using namespace enjin::test::utils; + +bool TestableSharedBalanceFragmentArguments::operator==(const TestableSharedBalanceFragmentArguments& rhs) const { + return static_cast&>(*this) == rhs; +} + +bool TestableSharedBalanceFragmentArguments::operator!=(const TestableSharedBalanceFragmentArguments& rhs) const { + return static_cast&>(*this) != rhs; +} diff --git a/test/utils/TestableSharedPaginationArguments.cpp b/test/utils/TestableSharedPaginationArguments.cpp new file mode 100644 index 00000000..ce38a6cd --- /dev/null +++ b/test/utils/TestableSharedPaginationArguments.cpp @@ -0,0 +1,27 @@ +/* Copyright 2021 Enjin Pte. Ltd. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include "TestableSharedPaginationArguments.hpp" + +using namespace enjin::sdk::shared; +using namespace enjin::test::utils; + +bool TestableSharedPaginationArguments::operator==(const TestableSharedPaginationArguments& rhs) const { + return static_cast&>(*this) == rhs; +} + +bool TestableSharedPaginationArguments::operator!=(const TestableSharedPaginationArguments& rhs) const { + return static_cast&>(*this) != rhs; +} diff --git a/test/utils/TestableSharedPlayerFragmentArguments.cpp b/test/utils/TestableSharedPlayerFragmentArguments.cpp new file mode 100644 index 00000000..9754ec32 --- /dev/null +++ b/test/utils/TestableSharedPlayerFragmentArguments.cpp @@ -0,0 +1,27 @@ +/* Copyright 2021 Enjin Pte. Ltd. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include "TestableSharedPlayerFragmentArguments.hpp" + +using namespace enjin::sdk::shared; +using namespace enjin::test::utils; + +bool TestableSharedPlayerFragmentArguments::operator==(const TestableSharedPlayerFragmentArguments& rhs) const { + return static_cast&>(*this) == rhs; +} + +bool TestableSharedPlayerFragmentArguments::operator!=(const TestableSharedPlayerFragmentArguments& rhs) const { + return static_cast&>(*this) != rhs; +} diff --git a/test/utils/TestableSharedTransactionFragmentArguments.cpp b/test/utils/TestableSharedTransactionFragmentArguments.cpp new file mode 100644 index 00000000..7c4636b6 --- /dev/null +++ b/test/utils/TestableSharedTransactionFragmentArguments.cpp @@ -0,0 +1,29 @@ +/* Copyright 2021 Enjin Pte. Ltd. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include "TestableSharedTransactionFragmentArguments.hpp" + +using namespace enjin::sdk::shared; +using namespace enjin::test::utils; + +bool TestableSharedTransactionFragmentArguments::operator==( + const TestableSharedTransactionFragmentArguments& rhs) const { + return static_cast&>(*this) == rhs; +} + +bool TestableSharedTransactionFragmentArguments::operator!=( + const TestableSharedTransactionFragmentArguments& rhs) const { + return static_cast&>(*this) != rhs; +} diff --git a/test/utils/TestableWalletFragmentArguments.cpp b/test/utils/TestableWalletFragmentArguments.cpp new file mode 100644 index 00000000..a6bb2c2b --- /dev/null +++ b/test/utils/TestableWalletFragmentArguments.cpp @@ -0,0 +1,27 @@ +/* Copyright 2021 Enjin Pte. Ltd. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include "TestableWalletFragmentArguments.hpp" + +using namespace enjin::sdk::shared; +using namespace enjin::test::utils; + +bool TestableWalletFragmentArguments::operator==(const TestableWalletFragmentArguments& rhs) const { + return static_cast&>(*this) == rhs; +} + +bool TestableWalletFragmentArguments::operator!=(const TestableWalletFragmentArguments& rhs) const { + return static_cast&>(*this) != rhs; +}