diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 75e80a2a..b53c7541 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,5 +1,9 @@ include: - template: Code-Quality.gitlab-ci.yml + - template: Dependency-Scanning.gitlab-ci.yml + - template: License-Scanning.gitlab-ci.yml + - template: SAST.gitlab-ci.yml + - template: Secret-Detection.gitlab-ci.yml stages: - build diff --git a/Dockerfile b/Dockerfile index 8a970e39..c20b4bea 100644 --- a/Dockerfile +++ b/Dockerfile @@ -50,6 +50,7 @@ WORKDIR /peerplays-core # Compile Peerplays RUN \ BOOST_ROOT=$HOME/boost_1_67_0 && \ + git submodule sync --recursive && \ git submodule update --init --recursive && \ mkdir build && \ mkdir build/release && \ diff --git a/libraries/chain/custom_account_authority_evaluator.cpp b/libraries/chain/custom_account_authority_evaluator.cpp index f3a1af18..bbf29c2c 100644 --- a/libraries/chain/custom_account_authority_evaluator.cpp +++ b/libraries/chain/custom_account_authority_evaluator.cpp @@ -125,4 +125,4 @@ void_result delete_custom_account_authority_evaluator::do_apply(const custom_acc } } // namespace chain -} // namespace graphene \ No newline at end of file +} // namespace graphene diff --git a/libraries/chain/hardfork.d/5050-1.hf b/libraries/chain/hardfork.d/5050-1.hf index 4b5fa382..eb9aa74d 100644 --- a/libraries/chain/hardfork.d/5050-1.hf +++ b/libraries/chain/hardfork.d/5050-1.hf @@ -1,4 +1,4 @@ -// 5050_1 HARDFORK Thursday, 16 April 2020 19:00:00 GMT +// 5050_1 HARDFORK Thursday, 15 April 2020 20:00:00 GMT #ifndef HARDFORK_5050_1_TIME -#define HARDFORK_5050_1_TIME (fc::time_point_sec( 1587063600 )) +#define HARDFORK_5050_1_TIME (fc::time_point_sec( 1586980800 )) #endif diff --git a/libraries/chain/hardfork.d/NFT.hf b/libraries/chain/hardfork.d/NFT.hf index 22866e27..2c4b541d 100644 --- a/libraries/chain/hardfork.d/NFT.hf +++ b/libraries/chain/hardfork.d/NFT.hf @@ -1,4 +1,4 @@ -// NFT HARDFORK Wednesday, 20-May-20 00:00:00 UTC +// NFT HARDFORK Sat, 15-Aug-20 00:00:00 UTC #ifndef HARDFORK_NFT_TIME -#define HARDFORK_NFT_TIME (fc::time_point_sec( 1589932800 )) +#define HARDFORK_NFT_TIME (fc::time_point_sec( 1597449600 )) #endif diff --git a/libraries/chain/include/graphene/chain/config.hpp b/libraries/chain/include/graphene/chain/config.hpp index a166aad1..0afa6c0c 100644 --- a/libraries/chain/include/graphene/chain/config.hpp +++ b/libraries/chain/include/graphene/chain/config.hpp @@ -246,4 +246,4 @@ #define NFT_URI_MAX_LENGTH GRAPHENE_MAX_URL_LENGTH #define ACCOUNT_ROLES_MAX_PER_ACCOUNT 20 // Max 20 roles can be created by a resource owner -#define ACCOUNT_ROLES_MAX_LIFETIME 365*24*60*60 // 1 Year \ No newline at end of file +#define ACCOUNT_ROLES_MAX_LIFETIME 365*24*60*60 // 1 Year diff --git a/libraries/chain/include/graphene/chain/protocol/custom_account_authority.hpp b/libraries/chain/include/graphene/chain/protocol/custom_account_authority.hpp index db3c9a78..b3fe2903 100644 --- a/libraries/chain/include/graphene/chain/protocol/custom_account_authority.hpp +++ b/libraries/chain/include/graphene/chain/protocol/custom_account_authority.hpp @@ -73,4 +73,4 @@ FC_REFLECT(graphene::chain::custom_account_authority_update_operation::fee_param FC_REFLECT(graphene::chain::custom_account_authority_update_operation, (fee)(auth_id)(new_valid_from)(new_valid_to)(owner_account)(extensions)) FC_REFLECT(graphene::chain::custom_account_authority_delete_operation::fee_parameters_type, (fee)) -FC_REFLECT(graphene::chain::custom_account_authority_delete_operation, (fee)(auth_id)(owner_account)(extensions)) \ No newline at end of file +FC_REFLECT(graphene::chain::custom_account_authority_delete_operation, (fee)(auth_id)(owner_account)(extensions)) diff --git a/libraries/chain/include/graphene/chain/protocol/custom_permission.hpp b/libraries/chain/include/graphene/chain/protocol/custom_permission.hpp index 611904bd..d61384c2 100644 --- a/libraries/chain/include/graphene/chain/protocol/custom_permission.hpp +++ b/libraries/chain/include/graphene/chain/protocol/custom_permission.hpp @@ -70,4 +70,4 @@ FC_REFLECT(graphene::chain::custom_permission_update_operation::fee_parameters_t FC_REFLECT(graphene::chain::custom_permission_update_operation, (fee)(permission_id)(new_auth)(owner_account)(extensions)) FC_REFLECT(graphene::chain::custom_permission_delete_operation::fee_parameters_type, (fee)) -FC_REFLECT(graphene::chain::custom_permission_delete_operation, (fee)(permission_id)(owner_account)(extensions)) \ No newline at end of file +FC_REFLECT(graphene::chain::custom_permission_delete_operation, (fee)(permission_id)(owner_account)(extensions)) diff --git a/libraries/chain/include/graphene/chain/protocol/nft_ops.hpp b/libraries/chain/include/graphene/chain/protocol/nft_ops.hpp index 843df403..4facf51a 100644 --- a/libraries/chain/include/graphene/chain/protocol/nft_ops.hpp +++ b/libraries/chain/include/graphene/chain/protocol/nft_ops.hpp @@ -146,4 +146,3 @@ FC_REFLECT( graphene::chain::nft_mint_operation, (fee) (payer) (nft_metadata_id) FC_REFLECT( graphene::chain::nft_safe_transfer_from_operation, (fee) (operator_) (from) (to) (token_id) (data) (extensions) ) FC_REFLECT( graphene::chain::nft_approve_operation, (fee) (operator_) (approved) (token_id) (extensions) ) FC_REFLECT( graphene::chain::nft_set_approval_for_all_operation, (fee) (owner) (operator_) (approved) (extensions) ) - diff --git a/libraries/chain/offer_evaluator.cpp b/libraries/chain/offer_evaluator.cpp index bdb26382..1b887466 100644 --- a/libraries/chain/offer_evaluator.cpp +++ b/libraries/chain/offer_evaluator.cpp @@ -358,4 +358,4 @@ namespace graphene FC_CAPTURE_AND_RETHROW((op)) } } // namespace chain -} // namespace graphene \ No newline at end of file +} // namespace graphene diff --git a/libraries/chain/protocol/nft.cpp b/libraries/chain/protocol/nft.cpp index 4a66f330..fae9a6d9 100644 --- a/libraries/chain/protocol/nft.cpp +++ b/libraries/chain/protocol/nft.cpp @@ -45,6 +45,7 @@ void nft_metadata_create_operation::validate() const FC_ASSERT(fee.amount >= 0, "Fee must not be negative"); FC_ASSERT(is_valid_nft_token_name(name), "Invalid NFT name provided"); FC_ASSERT(is_valid_nft_token_name(symbol), "Invalid NFT symbol provided"); + FC_ASSERT(base_uri.length() <= NFT_URI_MAX_LENGTH, "Invalid NFT Base URI"); } void nft_metadata_update_operation::validate() const @@ -54,11 +55,14 @@ void nft_metadata_update_operation::validate() const FC_ASSERT(is_valid_nft_token_name(*name), "Invalid NFT name provided"); if(symbol) FC_ASSERT(is_valid_nft_token_name(*symbol), "Invalid NFT symbol provided"); + if(base_uri) + FC_ASSERT((*base_uri).length() <= NFT_URI_MAX_LENGTH, "Invalid NFT Base URI"); } void nft_mint_operation::validate() const { FC_ASSERT(fee.amount >= 0, "Fee must not be negative"); + FC_ASSERT(token_uri.length() <= NFT_URI_MAX_LENGTH, "Invalid NFT Token URI"); } share_type nft_metadata_create_operation::calculate_fee(const fee_parameters_type &k) const